/******/ (function() { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "@reduxjs/toolkit": /*!****************************************************!*\ !*** external ["elementorVendors","reduxToolkit"] ***! \****************************************************/ /***/ (function(module) { module.exports = window["elementorVendors"]["reduxToolkit"]; /***/ }), /***/ "react-redux": /*!**************************************************!*\ !*** external ["elementorVendors","reactRedux"] ***! \**************************************************/ /***/ (function(module) { module.exports = window["elementorVendors"]["reactRedux"]; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ !function() { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function() { return module['default']; } : /******/ function() { return module; }; /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ !function() { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = function(exports, definition) { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ !function() { /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } /******/ }(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ !function() { /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ }(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. !function() { /*!***************************************************!*\ !*** ./packages/packages/libs/store/src/index.ts ***! \***************************************************/ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __StoreProvider: function() { return /* reexport safe */ react_redux__WEBPACK_IMPORTED_MODULE_1__.Provider; }, /* harmony export */ __addMiddleware: function() { return /* binding */ addMiddleware; }, /* harmony export */ __createAction: function() { return /* reexport safe */ _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAction; }, /* harmony export */ __createAsyncThunk: function() { return /* reexport safe */ _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk; }, /* harmony export */ __createSelector: function() { return /* reexport safe */ _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector; }, /* harmony export */ __createSlice: function() { return /* reexport safe */ _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice; }, /* harmony export */ __createStore: function() { return /* binding */ createStore; }, /* harmony export */ __deleteStore: function() { return /* binding */ deleteStore; }, /* harmony export */ __dispatch: function() { return /* binding */ dispatch; }, /* harmony export */ __getState: function() { return /* binding */ getState; }, /* harmony export */ __getStore: function() { return /* binding */ getStore; }, /* harmony export */ __registerSlice: function() { return /* binding */ registerSlice; }, /* harmony export */ __subscribe: function() { return /* binding */ subscribe; }, /* harmony export */ __subscribeWithSelector: function() { return /* binding */ subscribeWithSelector; }, /* harmony export */ __useDispatch: function() { return /* reexport safe */ react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch; }, /* harmony export */ __useSelector: function() { return /* reexport safe */ react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector; } /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "@reduxjs/toolkit"); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__); /** * Usage: * * const mySlice = addSlice( ... ); * * type MySliceState = SliceState; * * const value = useSelector( ( state: MySliceState ) => state.mySlice.value ); */ // The `configureStore` function from Redux Toolkit infers its actions from the `reducers` // key of the initialization object. This is fine when creating the store statically, but // breaks in our case since we create the store dynamically, which means that TypeScript // can't infer the types. Therefore, we force the store to accept any actions using a // generic store type. // eslint-disable-next-line @typescript-eslint/no-explicit-any let instance = null; let slices = {}; const pendingActions = []; const middlewares = new Set(); const getReducers = () => { const reducers = Object.entries(slices).reduce((reducersData, [name, slice]) => { reducersData[name] = slice.reducer; return reducersData; }, {}); return (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.combineReducers)(reducers); }; function registerSlice(slice) { if (slices[slice.name]) { throw new Error(`Slice with name "${slice.name}" already exists.`); } slices[slice.name] = slice; } const addMiddleware = middleware => { middlewares.add(middleware); }; // eslint-disable-next-line @typescript-eslint/no-explicit-any -- See the comment above about `AnyStore` const dispatch = action => { if (!instance) { pendingActions.push(action); return; } return instance.dispatch(action); }; const getState = () => { if (!instance) { throw new Error('The store instance does not exist.'); } return instance.getState(); }; const subscribe = listener => { if (!instance) { throw new Error('The store instance does not exist.'); } return instance.subscribe(listener); }; // eslint-disable-next-line @typescript-eslint/no-explicit-any const subscribeWithSelector = (selector, listener) => { let prevState = selector(getState()); return subscribe(() => { const nextState = selector(getState()); if (prevState === nextState) { return; } prevState = nextState; listener(nextState); }); }; const createStore = () => { if (instance) { throw new Error('The store instance already exists.'); } instance = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.configureStore)({ reducer: getReducers(), middleware: getDefaultMiddleware => { return [...getDefaultMiddleware(), ...Array.from(middlewares)]; } }); if (pendingActions.length) { pendingActions.forEach(action => dispatch(action)); pendingActions.length = 0; } return instance; }; const getStore = () => { return instance; }; const deleteStore = () => { instance = null; slices = {}; pendingActions.length = 0; middlewares.clear(); }; }(); (window.elementorV2 = window.elementorV2 || {}).store = __webpack_exports__; /******/ })() ; window.elementorV2.store?.init?.(); //# sourceMappingURL=store.js.mapPremium How To Clean Laminate Flooring? A Step-by-Step Guide
No Comments

How To Clean Laminate Flooring?

Laminate flooring is a popular choice for many homes these days. It’s long-lasting, cheap, and simple to keep up. Laminate floors can look great for years if you take good care of them and clean them often. Learn how to clean laminate flooring the right way, step by step.

Supplies Needed

  • Microfiber mop
  • Soft broom
  • Vacuum cleaner
  • Laminate floor cleaner
  • Clean microfiber cloths
  • Bucket of clean water

Before cleaning, ensure you have all the necessary supplies ready. A microfiber mop, a soft broom, and a vacuum cleaner are needed to clean floors. Mix a little laminate floor cleanser with a pail of clean water. After mopping, microfiber towels dry the floors.

5 Steps to Clean Laminate Flooring

 

1. Sweep and Vacuum

parquet flooring dubai

The first step is to sweep the entire laminate flooring thoroughly. It helps remove any loose dirt, debris, and grit. Pay close attention to corners and along baseboards where dirt accumulates. After sweeping, vacuum the floor with a brush attachment. The vacuum lifts embedded dirt and dust from the laminate flooring grooves.

Vacuuming also helps reach areas where the broom cannot remove dirt, such as under furniture and appliances. Be sure to get under beds, sofas, desks, and other fixtures.

2. Mix the Cleaning Solution

parquet flooring dubai

Get the cleaning product ready. Half-fill a bucket with warm water. For a large bucket, add a small amount of laminate floor cleaner, about 1/4 cup. If you use too much cleaner, it can leave a sticky film behind.

Read the label to find out the exact amounts to dilute. Swish the water around a little to mix the solution. You can also use warm water and light dish soap. Cleansers and soaps that are too harsh may damage the laminate surface.

3. Damp Mop the Floor

parquet flooring dubai

Now, mop the floor with the cleaning solution. Dip a microfiber mop into the bucket and wring out excess water. The mop should be damp but not soaking wet. Working in sections, mop the floor using back-and-forth motions. Rinse the mop frequently as you go.

Be sure to reach along baseboards and into corners. Avoid excessive scrubbing or pressure, as this can scuff the laminate. Work methodically until the entire floor surface is mopped. Let the floor air dry for about 15-20 minutes.

4. Rinse and Dry

parquet flooring dubai

After that, give the floors one last rinse. It helps get rid of any cleaner residue that’s still there. Put clean water in another bucket. Put water on a clean cloth mop, squeeze out the extra water, and mop the floor again. Do small areas at a time and wash the mop often.

Use a few clean microfiber cloths to dry off any extra water after the last rinse. Do not leave puddles or wet spots behind. To dry things faster, open the windows or use a fan. While the floor dries, you should only walk on it in socks.

5. Address Tough Stains

For stubborn spots like food stains, mud, or greasy marks, use a cleaning paste. Mix a small amount of laminate cleaner with baking soda into a spreadable paste. Apply the paste onto the stain and let sit for 5 minutes.

Dishwashing liquid can be used to get rid of oily spots. Put a little on the spot and scrub it with a sponge that doesn’t scratch. Rinse well until there is no more soap left on the skin. It keeps filmy debris from building up.

Some Additional Laminate Floor Cleaning Tips

  • Always use a damp mop only. Too much water can damage laminate flooring over time.
  • Look for laminate floor cleaners specifically formulated to be gentle and pH-neutral. Avoid bleach, ammonia, acids, and abrasives.
  • Use a microfiber mop and pad to help grab dirt. Change mop heads frequently to prevent redepositing grime.
  • Work in sections and rinse the mop head often for best cleaning results.
  • Remove spills immediately to prevent stains and water damage.
  • Inspect laminate planks for excessive moisture or swelling, which indicates water damage.
  • Consider using protective mats at entryways and in high-traffic areas to reduce dirt and moisture.
  • Follow the manufacturer’s recommendations for what products are safe for your specific laminate floors.

Final Words

Keeping laminate floors clean and looking nice doesn’t take much work. Laminate floors can always look their best if they are swept, vacuumed, or mopped with the right cleaning solution on a regular basis and deep cleaned every once in a while for really tough spots. This step-by-step guide makes cleaning laminate floors easy for anyone. Cleaning your laminate floors will keep them looking good for years.

Read more: Differences Between SPC and Laminate Flooring

You might also like