{"version":3,"sources":["webpack:///./src/@core/comp-functions/ui/app.js","webpack:///./src/views/Shop/useShop.js","webpack:///./src/views/Shop/useCart.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/vue-ripple-directive/src/ripple.js"],"names":["useResponsiveAppLeftSidebarVisibility","mqShallShowLeftSidebar","ref","currentBreakPoint","computed","store","getters","watch","val","oldVal","value","useShopFiltersSortingAndPagination","filters","q","priceRangeDefined","priceRange","categories","brands","ratings","page","perPage","filterOptions","text","rating","count","sortBy","sortByOptions","useShopUi","itemView","itemViewOptions","icon","totalProducts","useShopRemoteData","products","initProducts","fetchProducts","_len","arguments","length","args","Array","_key","dispatch","apply","concat","fetchInitProducts","_len2","_key2","useEcommerce","addProductInCart","productId","removeProductFromCart","useEcommerceUi","_useRouter","useRouter","handleCartActionClick","router","product","_useEcommerce","isObject","obj","_typeof","isToday","date","today","Date","getDate","getMonth","getFullYear","vm","getCurrentInstance","proxy","state","reactive","route","$route","r","_objectSpread","toRefs","$router","props","textTag","BCardText","extend","name","functional","render","h","_ref","data","children","staticClass","Ripple","bind","el","binding","event","transition","setProps","Object","keys","modifiers","addEventListener","rippler","bg","color","zIndex","target","targetBorder","parseInt","getComputedStyle","replace","rect","getBoundingClientRect","left","top","width","offsetWidth","height","offsetHeight","dx","clientX","dy","clientY","maxX","Math","max","maxY","style","window","radius","sqrt","border","ripple","document","createElement","rippleContainer","className","marginTop","marginLeft","borderRadius","pointerEvents","position","backgroundColor","overflow","storedTargetPosition","clearRipple","setTimeout","parentNode","removeChild","removeEventListener","clearPosition","i","childNodes","appendChild","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","direction","type","forEach","item","isNaN","Number"],"mappings":"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","file":"js/chunk-4b2da052.bbe11b94.js","sourcesContent":["import store from \"@/store\";\nimport { ref, watch, computed } from \"@vue/composition-api\";\n\nexport const useResponsiveAppLeftSidebarVisibility = () => {\n const mqShallShowLeftSidebar = ref(false);\n // Close Active Sidebars and other stuff when going in large device\n const currentBreakPoint = computed(\n () => store.getters[\"app/currentBreakPoint\"]\n );\n watch(currentBreakPoint, (val, oldVal) => {\n // Reset chats & contacts left sidebar\n if (oldVal === \"md\" && val === \"lg\") mqShallShowLeftSidebar.value = false;\n });\n\n return {\n mqShallShowLeftSidebar,\n };\n};\n\nexport const _ = {};\n","import { ref } from \"@vue/composition-api\";\nimport store from \"@/store\";\n\nexport const useShopFiltersSortingAndPagination = () => {\n const filters = ref({\n q: \"\",\n priceRangeDefined: \"all\",\n priceRange: [0, 100],\n categories: [],\n brands: [],\n ratings: null,\n page: 1,\n perPage: 9,\n });\n\n const filterOptions = {\n priceRangeDefined: [\n { text: \"All\", value: \"all\" },\n { text: \"<= $10\", value: \"<=10\" },\n { text: \"$10 - $100\", value: \"10-100\" },\n { text: \"$100 - $500\", value: \"100-500\" },\n { text: \">= $500\", value: \">=500\" },\n ],\n categories: [\n \"Appliances\",\n \"Audio\",\n \"Cameras & Camcorders\",\n \"Car Electronics & GPS\",\n \"Cell Phones\",\n \"Computers & Tablets\",\n \"Health, Fitness & Beauty\",\n \"Office & School Supplies\",\n \"TV & Home Theater\",\n \"Video Games\",\n ],\n brands: [\n \"Insignia™\",\n \"Samsung\",\n \"Metra\",\n \"HP\",\n \"Apple\",\n \"GE\",\n \"Sony\",\n \"Incipio\",\n \"KitchenAid\",\n \"Whirlpool\",\n ],\n ratings: [\n { rating: 4, count: 160 },\n { rating: 3, count: 176 },\n { rating: 2, count: 291 },\n { rating: 1, count: 190 },\n ],\n };\n\n // Sorting\n const sortBy = ref({ text: \"Featured\", value: \"featured\" });\n const sortByOptions = [\n { text: \"Featured\", value: \"featured\" },\n { text: \"Lowest\", value: \"price-asc\" },\n { text: \"Highest\", value: \"price-desc\" },\n ];\n\n return {\n // Filter\n filters,\n filterOptions,\n\n // Sort\n sortBy,\n sortByOptions,\n };\n};\n\nexport const useShopUi = () => {\n const itemView = \"list-view\";\n const itemViewOptions = [\n { icon: \"GridIcon\", value: \"grid-view\" },\n { icon: \"ListIcon\", value: \"list-view\" },\n ];\n\n // Pagination count <= required by pagination component\n const totalProducts = ref(null);\n\n return {\n itemView,\n itemViewOptions,\n totalProducts,\n };\n};\n\nexport const useShopRemoteData = () => {\n const products = ref([]);\n const initProducts = ref([]);\n const fetchProducts = (...args) =>\n store.dispatch(\"purchaseModule/getUserSaleItems\", ...args);\n const fetchInitProducts = (...args) =>\n store.dispatch(\"purchaseModule/getSaleItems\", ...args);\n return {\n products,\n fetchProducts,\n fetchInitProducts,\n initProducts,\n };\n};\n","import store from \"@/store\";\nimport { useRouter } from \"@core/utils/utils\";\n\nexport const useEcommerce = () => {\n // eslint-disable-next-line arrow-body-style\n const addProductInCart = (productId) => {\n return store.dispatch(\"purchaseModule/addBasketItem\", productId);\n };\n\n // eslint-disable-next-line arrow-body-style\n const removeProductFromCart = (productId) => {\n return store.dispatch(\"purchaseModule/removeProductFromCart\", {\n productId,\n });\n };\n\n return {\n addProductInCart,\n removeProductFromCart,\n };\n};\n\nexport const useEcommerceUi = () => {\n const { router } = useRouter();\n\n const handleCartActionClick = (product) => {\n const { addProductInCart } = useEcommerce();\n addProductInCart(product);\n };\n\n return {\n handleCartActionClick,\n };\n};\n","import router from \"@/router\";\n// eslint-disable-next-line object-curly-newline\nimport {\n reactive,\n getCurrentInstance,\n watch,\n toRefs,\n} from \"@vue/composition-api\";\n\nexport const isObject = (obj) => typeof obj === \"object\" && obj !== null;\n\nexport const isToday = (date) => {\n const today = new Date();\n return (\n /* eslint-disable operator-linebreak */\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear()\n /* eslint-enable */\n );\n};\n\nconst getRandomFromArray = (array) =>\n array[Math.floor(Math.random() * array.length)];\n\n// ? Light and Dark variant is not included\n// prettier-ignore\nexport const getRandomBsVariant = () => getRandomFromArray(['primary', 'secondary', 'success', 'warning', 'danger', 'info'])\n\nexport const isDynamicRouteActive = (route) => {\n const { route: resolvedRoute } = router.resolve(route);\n return resolvedRoute.path === router.currentRoute.path;\n};\n\n// Thanks: https://medium.com/better-programming/reactive-vue-routes-with-the-composition-api-18c1abd878d1\nexport const useRouter = () => {\n const vm = getCurrentInstance().proxy;\n const state = reactive({\n route: vm.$route,\n });\n\n watch(\n () => vm.$route,\n (r) => {\n state.route = r;\n }\n );\n\n return { ...toRefs(state), router: vm.$router };\n};\n\n/**\n * This is just enhancement over Object.extend [Gives deep extend]\n * @param {target} a Object which contains values to be overridden\n * @param {source} b Object which contains values to override\n */\n// export const objectExtend = (a, b) => {\n// // Don't touch 'null' or 'undefined' objects.\n// if (a == null || b == null) {\n// return a\n// }\n\n// Object.keys(b).forEach(key => {\n// if (Object.prototype.toString.call(b[key]) === '[object Object]') {\n// if (Object.prototype.toString.call(a[key]) !== '[object Object]') {\n// // eslint-disable-next-line no-param-reassign\n// a[key] = b[key]\n// } else {\n// // eslint-disable-next-line no-param-reassign\n// a[key] = objectExtend(a[key], b[key])\n// }\n// } else {\n// // eslint-disable-next-line no-param-reassign\n// a[key] = b[key]\n// }\n// })\n\n// return a\n// }\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","var Ripple = {\n bind: function(el, binding){\n\n // Default values.\n var props = {\n event: 'mousedown',\n transition: 600\n };\n\n setProps(Object.keys(binding.modifiers),props);\n\n el.addEventListener(props.event, function(event) {\n rippler(event, el, binding.value);\n });\n\n var bg = binding.value || Ripple.color || 'rgba(0, 0, 0, 0.35)';\n var zIndex = Ripple.zIndex || '9999';\n\n function rippler(event, el) {\n var target = el;\n // Get border to avoid offsetting on ripple container position\n var targetBorder = parseInt((getComputedStyle(target).borderWidth).replace('px', ''));\n\n // Get necessary variables\n var rect = target.getBoundingClientRect(),\n left = rect.left,\n top = rect.top,\n width = target.offsetWidth,\n height = target.offsetHeight,\n dx = event.clientX - left,\n dy = event.clientY - top,\n maxX = Math.max(dx, width - dx),\n maxY = Math.max(dy, height - dy),\n style = window.getComputedStyle(target),\n radius = Math.sqrt((maxX * maxX) + (maxY * maxY)),\n border = (targetBorder > 0 ) ? targetBorder : 0;\n\n // Create the ripple and its container\n var ripple = document.createElement(\"div\"),\n rippleContainer = document.createElement(\"div\");\n rippleContainer.className = 'ripple-container';\n ripple.className = 'ripple';\n\n //Styles for ripple\n ripple.style.marginTop= '0px';\n ripple.style.marginLeft= '0px';\n ripple.style.width= '1px';\n ripple.style.height= '1px';\n ripple.style.transition= 'all ' + props.transition + 'ms cubic-bezier(0.4, 0, 0.2, 1)';\n ripple.style.borderRadius= '50%';\n ripple.style.pointerEvents= 'none';\n ripple.style.position= 'relative';\n ripple.style.zIndex= zIndex;\n ripple.style.backgroundColor = bg;\n\n //Styles for rippleContainer\n rippleContainer.style.position= 'absolute';\n rippleContainer.style.left = 0 - border + 'px';\n rippleContainer.style.top = 0 - border + 'px';\n rippleContainer.style.height = '0';\n rippleContainer.style.width = '0';\n rippleContainer.style.pointerEvents = 'none';\n rippleContainer.style.overflow = 'hidden';\n\n // Store target position to change it after\n var storedTargetPosition = ((target.style.position).length > 0) ? target.style.position : getComputedStyle(target).position;\n // Change target position to relative to guarantee ripples correct positioning\n if (storedTargetPosition !== 'relative') {\n target.style.position = 'relative';\n }\n\n rippleContainer.appendChild(ripple);\n target.appendChild(rippleContainer);\n\n ripple.style.marginLeft = dx + \"px\";\n ripple.style.marginTop = dy + \"px\";\n\n // No need to set positioning because ripple should be child of target and to it's relative position.\n // rippleContainer.style.left = left + (((window.pageXOffset || document.scrollLeft) - (document.clientLeft || 0)) || 0) + \"px\";\n // rippleContainer.style.top = top + (((window.pageYOffset || document.scrollTop) - (document.clientTop || 0)) || 0) + \"px\";\n rippleContainer.style.width = width + \"px\";\n rippleContainer.style.height = height + \"px\";\n rippleContainer.style.borderTopLeftRadius = style.borderTopLeftRadius;\n rippleContainer.style.borderTopRightRadius = style.borderTopRightRadius;\n rippleContainer.style.borderBottomLeftRadius = style.borderBottomLeftRadius;\n rippleContainer.style.borderBottomRightRadius = style.borderBottomRightRadius;\n\n rippleContainer.style.direction = 'ltr';\n\n setTimeout(function() {\n ripple.style.width = radius * 2 + \"px\";\n ripple.style.height = radius * 2 + \"px\";\n ripple.style.marginLeft = dx - radius + \"px\";\n ripple.style.marginTop = dy - radius + \"px\";\n }, 0);\n\n function clearRipple() {\n setTimeout(function() {\n ripple.style.backgroundColor = \"rgba(0, 0, 0, 0)\";\n }, 250);\n\n // Timeout set to get a smooth removal of the ripple\n setTimeout(function() {\n rippleContainer.parentNode.removeChild(rippleContainer);\n }, 850);\n\n el.removeEventListener('mouseup', clearRipple, false);\n\n // After removing event set position to target to it's original one\n // Timeout it's needed to avoid jerky effect of ripple jumping out parent target\n setTimeout(function () {\n\n var clearPosition = true;\n for(var i = 0; i < target.childNodes.length; i++) {\n if(target.childNodes[i].className === 'ripple-container') {\n clearPosition = false;\n }\n }\n\n if(clearPosition) {\n if(storedTargetPosition !== 'static') {\n target.style.position = storedTargetPosition;\n } else {\n target.style.position = '';\n }\n }\n\n }, props.transition + 250)\n }\n\n if(event.type === 'mousedown') {\n el.addEventListener('mouseup', clearRipple, false);\n } else {\n clearRipple();\n }\n }\n }\n};\n\nfunction setProps(modifiers,props) {\n modifiers.forEach(function(item) {\n if(isNaN(Number(item)))\n props.event = item;\n else\n props.transition = item;\n });\n}\n\nexport default Ripple;"],"sourceRoot":""}