/******/ (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 Buy Outdoor Flooring in Dubai | 100% Weather Resistant & UV Resistant

Shop Our Premium Outdoor Flooring for Dubai Spaces

Use our high-quality outdoor flooring in Dubai to add coziness and comfort to outdoor areas such as patios, gardens, and balconies. Our patio tile floors provide waterproof, non-slippery, and stunning-looking flooring solutions in Dubai households and business premises.

#1 Outdoor Flooring Dubai
#1 Outdoor Flooring Dubai

Dubai’s Most Trusted Supplier of Outdoor Flooring

Get the best quality outdooring flooring from our Dubai showroom. Our outdoor wood flooring in Dubai is perfect for all your outdoor spaces as it is crafted from resilient materials to bear harsh weather. You can choose your desired outdoor tiles Dubai from our huge collection for your Arabian Ranches and Al Quoz spaces.

Unveil the Benefits of Choosing Outdoor Flooring in Dubai

Outdoor flooring in Dubai adds beauty and value to your garden areas while staying weather-resistant. It retains its prestige for years and gives soft underfoot comfort. This flooring also offers high durability and longevity, which enhances the lifespan of these outdoor rubber tiles.

Our Comprehensive Range Of Outdoor Flooring Tiles & Slabs

Filter Products
Reset
Reset

Why Choose our Best Outdoor Flooring?

Parquet Dubai flooring is the best-rated flooring vendor in the UAE, offering quality flooring. Our experienced craftsmen craft these floors carefully to create the desired atmosphere. Our outdoor floors are very resilient and can bear extreme weather conditions and remain colorful over the years. Besides this, it adds charm to your outdoor setting while adding underfoot comfort. Contact us to avail the best outdoor flooring for your home.

Our Recently Installed Outdoor Flooring Projects in Dubai – 2025

Core Features of Our Outdoor Flooring

Weather Resistance
Our outdoor floor tiles can withstand harsh sunlight, rain, and severe temperature changes. It offers high durability without fading or tearing for years. It is perfect flooring for your outdoor environments.
Slip Protection
Outdoor floors need much safety compared to indoors. Our flooring offers excellent non-slip outdoor tiles while reducing the risk of falls. An ideal flooring for gardens, poolside areas in Dubai.
Design Variety
You have the option to choose your outdoor floors in wood-look tiles to concrete pavers from our diverse range of outdoor designs. Choose modern or rustic outdoor flooring to tackle Dubai’s weather.
Low Maintenance
These outdoor floor tiles require minimal upkeep or sealing. These floors are easy to mop and clean while providing you with resistance against stains. This maintains their look for years in Dubai conditions.

We Bring Our Showroom To You!

Get Started Today!

We offer free quotes and visits to our customers to help them choose floors confidently.
Laminate Flooring Dubai supplier

Avail Of Our Expert Outdoor Flooring Installation

We provide expert floor installation in Dubai to align things according to customer needs and preferences. Our team installs these floors with great precision to ensure a smooth and soft underfoot in your outdoor areas. We prioritize customer satisfaction while making these floor installations. Contact us to avail professional outdoor flooring installation for your outdoor areas.

Our customer testimonials speak louder than any claim. Read the reviews from our happy customers who have installed our outdoor flooring.

Fill out this field
Please enter a valid email address.
Fill out this field
Fill out this field
Fill out this field
Please enter a valid email address.
Fill out this field
Fill out this field

Frequently Asked Questions

Porcelain tiles, natural stone, composite decking, and concrete are the finest outdoor flooring options. These are weather-resistant materials, durable, have low maintenance requirements, and are suitable to be use outdoors.

Slip-resistant and weatherproof materials, such as textured porcelain tiles, natural stone, or concrete pavers, should be used in patios. These are materials that can provide strength, stylishness, and safety in the exterior conditions of Dubai.

The best outdoor flooring is porcelain, stone, and composite decking. They are long-lasting and resistant to water and UV. It also needs minor maintenance when subjected to the severe conditions of Dubai in the form of sunlight and exposure to temperature changes.

The price of outdoor floors is dependent on the material and size. Depending on the particular make, the prices would be anywhere between AED 45 to AED 250 per square meter, inclusive of basic installation. Customized designs or high-quality materials are expensive.

Our Blog Posts