{"version":3,"file":"js/shop.js","mappings":"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","sources":["webpack://the-butters/webpack/runtime/chunk loaded","webpack://the-butters/./f2e_lib/composable/api/apiCalls.js","webpack://the-butters/./f2e_lib/composable/api/useAxiosAPI.js","webpack://the-butters/./f2e_lib/composable/member/useFaPoint.js","webpack://the-butters/./f2e_lib/composable/useAlert.js","webpack://the-butters/./f2e_lib/composable/useSetEnv.js","webpack://the-butters/./f2e_lib/gtm/base.js","webpack://the-butters/./f2e_lib/stores/useModalStore.js","webpack://the-butters/./f2e_lib/stores/useMiniCartStore.js","webpack://the-butters/./f2e_lib/composable/useMessage.js","webpack://the-butters/./f2e_lib/composable/useTextProcessing.js","webpack://the-butters/./f2e_lib/composable/useImage.js","webpack://the-butters/./f2e_lib/components/common/Image/NewImage.vue","webpack://the-butters/./f2e_lib/components/common/Image/NewImage.vue?08b8","webpack://the-butters/./f2e_lib/components/common/alert/AlertLayout.vue?a31e","webpack://the-butters/./f2e_lib/components/common/alert/AlertLayout.vue","webpack://the-butters/./f2e_lib/components/common/alert/parts/AlertConfirm.vue?4322","webpack://the-butters/./f2e_lib/components/common/alert/parts/AlertConfirm.vue","webpack://the-butters/./f2e_lib/components/common/alert/parts/AlertInfo.vue?8358","webpack://the-butters/./f2e_lib/components/common/alert/parts/AlertInfo.vue","webpack://the-butters/./f2e_lib/components/common/alert/parts/AlertSpecial.vue?2de5","webpack://the-butters/./f2e_lib/components/common/alert/parts/AlertSpecial.vue","webpack://the-butters/./f2e_lib/components/common/alert/AlertDialog.vue","webpack://the-butters/./f2e_lib/components/common/message/Message.vue","webpack://the-butters/./f2e_lib/components/common/message/Message.vue?8c14","webpack://the-butters/./f2e_lib/components/addon/parts/AddonDetailPopup.vue?6c39","webpack://the-butters/./f2e_lib/components/addon/parts/AddonDetailPopup.vue","webpack://the-butters/./f2e_lib/composable/shop/useAdvancedSort.js","webpack://the-butters/./f2e_lib/components/shop/AdvancedPopup.vue","webpack://the-butters/./f2e_lib/components/shop/AdvancedPopup.vue?f092","webpack://the-butters/./f2e_lib/components/common/modal/Modal.vue","webpack://the-butters/./f2e_lib/components/common/modal/Modal.vue?7e74","webpack://the-butters/./f2e_lib/gtm/class/shopListClass.js","webpack://the-butters/./f2e_lib/gtm/search/index.js","webpack://the-butters/./src/pages/common/js/common.js","webpack://the-butters/./f2e_lib/gtm/shopList/shopListView.js","webpack://the-butters/./src/pages/shop/components/AdvancedPopup.vue","webpack://the-butters/./src/pages/shop/components/AdvancedPopup.vue?fc1b","webpack://the-butters/./src/pages/shop/components/AdvancedSort.vue?b3d8","webpack://the-butters/./src/pages/shop/components/AdvancedSort.vue","webpack://the-butters/./f2e_lib/composable/shop/useNormalSort.js","webpack://the-butters/./src/pages/shop/components/NormalSort.vue?935e","webpack://the-butters/./src/pages/shop/components/NormalSort.vue","webpack://the-butters/./src/pages/shop/components/SortApp.vue","webpack://the-butters/./f2e_lib/components/common/pagination/parts/PaginatorLessThanMaxCont.vue?d756","webpack://the-butters/./f2e_lib/components/common/pagination/parts/PaginatorLessThanMaxCont.vue","webpack://the-butters/./f2e_lib/components/common/pagination/parts/PaginatorFirstMaxCont.vue?9b94","webpack://the-butters/./f2e_lib/components/common/pagination/parts/PaginatorFirstMaxCont.vue","webpack://the-butters/./f2e_lib/components/common/pagination/parts/PaginatorLastMax.vue?e883","webpack://the-butters/./f2e_lib/components/common/pagination/parts/PaginatorLastMax.vue","webpack://the-butters/./f2e_lib/components/common/pagination/parts/PaginatorNormal.vue","webpack://the-butters/./f2e_lib/components/common/pagination/PaginationLayout.vue?0053","webpack://the-butters/./f2e_lib/components/common/pagination/PaginationLayout.vue","webpack://the-butters/./f2e_lib/gtm/class/clickClass.js","webpack://the-butters/./src/pages/shop/js/index.js","webpack://the-butters/./f2e_lib/gtm/shopList/clickList.js","webpack://the-butters/./f2e_lib/components/common/modal/Base.vue","webpack://the-butters/./src/components/modals/ArrivalNotice.vue?7cd2","webpack://the-butters/./src/components/modals/ArrivalNotice.vue","webpack://the-butters/./f2e_lib/composable/order/useAtmInfo.js","webpack://the-butters/./src/components/modals/AtmInfo.vue","webpack://the-butters/./src/components/modals/AtmInfo.vue?ab4f","webpack://the-butters/./f2e_lib/gtm/class/orderClass.js","webpack://the-butters/./f2e_lib/composable/order/useCancelOrder.js","webpack://the-butters/./f2e_lib/gtm/orderGTM/index.js","webpack://the-butters/./src/components/modals/CancelOrder.vue","webpack://the-butters/./src/components/modals/CancelOrder.vue?eeae","webpack://the-butters/./src/components/modals/Coupon.vue?3306","webpack://the-butters/./src/components/modals/Coupon.vue","webpack://the-butters/./src/components/modals/FaCancel.vue","webpack://the-butters/./src/components/modals/FaCancel.vue?6d49","webpack://the-butters/./src/components/modals/FaCheck.vue","webpack://the-butters/./src/components/modals/FaCheck.vue?b4fe","webpack://the-butters/./src/components/modals/PugModal.vue?546c","webpack://the-butters/./src/components/modals/PugModal.vue","webpack://the-butters/./f2e_lib/composable/order/useRefundDetail.js","webpack://the-butters/./src/components/modals/RefundDetail.vue","webpack://the-butters/./src/components/modals/RefundDetail.vue?ed0c","webpack://the-butters/./f2e_lib/composable/order/useRefundList.js","webpack://the-butters/./src/components/modals/RefundList.vue","webpack://the-butters/./src/components/modals/RefundList.vue?0f69","webpack://the-butters/./f2e_lib/composable/order/useShippingProgress.js","webpack://the-butters/./src/components/modals/ShippingProgress.vue","webpack://the-butters/./src/components/modals/ShippingProgress.vue?f6d0","webpack://the-butters/./src/components/modals/SizeModal.vue?54ab","webpack://the-butters/./src/components/modals/SizeModal.vue","webpack://the-butters/./src/components/modals/ sync \\.vue$","webpack://the-butters/webpack/bootstrap","webpack://the-butters/webpack/runtime/compat get default export","webpack://the-butters/webpack/runtime/define property getters","webpack://the-butters/webpack/runtime/global","webpack://the-butters/webpack/runtime/hasOwnProperty shorthand","webpack://the-butters/webpack/runtime/make namespace object","webpack://the-butters/webpack/runtime/runtimeId","webpack://the-butters/webpack/runtime/jsonp chunk loading","webpack://the-butters/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const generateHeaders = (otherObj) => {\r\n return {\r\n handleDefaultError: otherObj?.handleDefaultError || false,\r\n handle401: otherObj?.handle401 || false,\r\n handle500: otherObj?.handle500 || false,\r\n };\r\n};\r\n\r\nconst commonAPI = {\r\n getFavoriteAPI: (instance, getData) => instance.get(API_URL.FAVORITE, getData),\r\n postFavoriteAPI: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.FAVORITE, postData, { headers });\r\n },\r\n deleteFavoriteAPI: (instance, deleteData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.delete(API_URL.FAVORITE, { ...deleteData, headers });\r\n },\r\n getHotSearchAPI: (instance, getData) => instance.get(API_URL.HOT_SEARCH, getData),\r\n getCartInfoAPI: (instance) => instance.get(API_URL.CART_INFO),\r\n getShareAPI: (instance, id) => instance.get(`${API_URL.SHARE}/${id}`),\r\n postNewsletter: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.NEWSLETTER, postData, { headers });\r\n },\r\n};\r\n\r\nconst articleAPI = {\r\n getArticleListAPI: (instance, getData) => instance.get(API_URL.ARTICLE_LIST, getData),\r\n getArticleContentAPI: (instance, id, getData) =>\r\n instance.get(`${API_URL.ARTICLE_CONTENT}/${id}`, getData),\r\n getArticleCategoryAPI: (instance, id, getData) => instance.get(API_URL.ARTICLE_CATEGORY, getData),\r\n};\r\n\r\nconst addonAPI = {\r\n getAddonCartAPI: (instance, getData) => instance.get(API_URL.ADDON_CART, getData),\r\n getAddonEvent: (instance, getData) => instance.get(API_URL.ADDON_EVENT, getData),\r\n};\r\n\r\nconst brandAPI = {\r\n getBrandFollowAPI: (instance) => instance.get(API_URL.BRAND),\r\n postBrandFollowAPI: (instance, postData) => instance.post(API_URL.BRAND_FOLLOW, postData),\r\n deleteBrandFollowAPI: (instance, deleteData) => instance.delete(API_URL.BRAND_FOLLOW, deleteData),\r\n};\r\n\r\nconst cartAPI = {\r\n postCouponAPI: (instance, postData) => instance.post(API_URL.COUPON, postData),\r\n postCoupon2API: (instance, postData) => instance.post(API_URL.COUPON2, postData),\r\n getOrderAddressAPI: (instance, getData) => instance.get(API_URL.ORDER_ADDRESS, getData),\r\n postShoppingCartAPI: (instance, postData) => instance.post(API_URL.SHOPPING_CART, postData),\r\n getShoppingCartAPI: (instance, getData) => instance.get(API_URL.SHOPPING_CART, getData),\r\n putShoppingCartAPI: (instance, putData) => instance.put(API_URL.SHOPPING_CART, putData),\r\n getAddressBookAPI: (instance, getData) => instance.get(API_URL.ADDRESS_BOOK, getData),\r\n deleteAddressBookAPI: (instance, id) => instance.delete(`${API_URL.ADDRESS_BOOK}/${id}`),\r\n postAddressBookAPI: (instance, postData) => instance.post(API_URL.ADDRESS_BOOK, postData),\r\n getLastInvoiceAPI: (instance, getData) => instance.get(API_URL.LAST_INVOICE_SETTING, getData),\r\n getVerifyMobileCode: (instance, getData) => instance.get(API_URL.VERIFY_MOBILE_CODE, getData),\r\n getCartRecommendDataAPI: (instance, getData) => instance.get(API_URL.RECOMMEND_CART, getData),\r\n};\r\n\r\nconst shopAPI = {\r\n getSearchRecommendAPI: (instance, getData) => instance.get(API_URL.MARKET_NEW, getData),\r\n getSortConditionAPI: (instance) => instance.get(API_URL.SORT_POPUP),\r\n getDataAPI: (instance, getData) => instance.get(API_URL.MARKET_CONTENT, getData),\r\n getSeriesDataAPI: (instance, getData) => instance.get(API_URL.SERIES_MARKET_CONTENT, getData),\r\n getBrandRecommendDataAPI: (instance, getData) => instance.get(API_URL.MARKET_RECOMMEND, getData),\r\n getRecommendDataAPI: (instance, getData) => instance.get(API_URL.MARKET_RECOMMEND, getData),\r\n getMarketRecommendDataAPI: (instance, getData) => instance.get(API_URL.RECOMMEND_SHOP, getData),\r\n postNoticeAPI: (instance, postData) => instance.post(API_URL.IN_STOCK_EMAIL, postData),\r\n};\r\n\r\nconst loginAPI = {\r\n postForgetPS: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.FORGET_PS, postData, { headers });\r\n },\r\n getAccountExist: (instance, getData) => instance.get(API_URL.ACCOUNT_EXIST, getData),\r\n};\r\n\r\nconst orderAPI = {\r\n deleteOrderAPI: (instance, deleteData) => instance.delete(API_URL.ORDER, deleteData),\r\n getRefundDetailAPI: (instance, getData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.get(API_URL.REFUND_DETAIL, { ...getData, headers });\r\n },\r\n getOrderAPI: (instance, getData) => instance.get(API_URL.ORDER, getData),\r\n postRefundCalculateAPI: (instance, postData) => instance.post(API_URL.REFUND_CALCULATE, postData),\r\n getShippingFlowAPI: (instance, getData) => instance.get(API_URL.SHIPPING_FLOW, getData),\r\n getOrderAtmAPI: (instance, getData) => instance.get(API_URL.ORDER_ATM, getData),\r\n postCashInAPI: (instance, postData) => instance.post(API_URL.VC_CASH_IN, postData),\r\n};\r\n\r\nconst memberAPI = {\r\n // urliving 5%驗證\r\n getVerifyPhoneAPI: (instance, getData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.get(API_URL.VERIFY_PHONE, { ...getData, headers });\r\n },\r\n // 取回饋金歷程\r\n getBonusRecordAPI: (instance, getData) => instance.get(API_URL.BONUS_RECORDS, getData),\r\n // 提領回饋金\r\n postBonusWithDrawAPI: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.BONUS_WITHDRAW, postData, { headers });\r\n },\r\n // 上傳身分證\r\n postUserIdAPI: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.USER_IDENTIFICATION, postData, { headers });\r\n },\r\n // 回饋金-綁定銀行帳號\r\n postUserBankAccountAPI: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.USER_BANK_ACCOUNT, postData, { headers });\r\n },\r\n getDataAnalyzeAPI: (instance, getData) => instance.get(API_URL.DATA_ANALYZE, getData),\r\n};\r\n\r\nconst faPointAPI = {\r\n getVerifyFaPointAPI: (instance, getData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.get(API_URL.VERIFY_FA_POINTS, { ...getData, headers });\r\n },\r\n getFaPointAPI: (instance) => instance.get(API_URL.FA_POINTS),\r\n postUnbindFaPointAPI: (instance) => instance.post(API_URL.UNBIND_FA_POINTS),\r\n};\r\n\r\nconst apiCalls = {\r\n ...commonAPI,\r\n ...articleAPI,\r\n ...addonAPI,\r\n ...brandAPI,\r\n ...cartAPI,\r\n ...shopAPI,\r\n ...loginAPI,\r\n ...orderAPI,\r\n ...memberAPI,\r\n ...faPointAPI,\r\n};\r\n\r\nconst createApi = (instance) => {\r\n const api = {};\r\n for (const [key, func] of Object.entries(apiCalls)) {\r\n api[key] = (...args) => func(instance, ...args);\r\n }\r\n return api;\r\n};\r\n\r\nexport default createApi;\r\n","import axios from 'axios';\r\nimport useAlert from '@global/composable/useAlert';\r\nimport createApi from './apiCalls'; // 引入 createApi 函數\r\n\r\nconst { alertDialog } = useAlert();\r\n\r\n// 201 無剩餘的購物金,無法進行結清\r\n// 205 商品已售完 / 贈品被移除 (因贈品不能寄海外)\r\n// 206 贈品庫存異動\r\n// 400 特定錯誤訊息\r\n// 401 尚未登入\r\n// 403 系統忙線中\r\n// 500 URL: 此E-mail已綁定第三方登入帳號\r\n\r\nconst successHandle = (res, handleDefaultError, handle401, handle500) => {\r\n switch (res.data.Code) {\r\n case 200:\r\n case 201:\r\n case 205:\r\n case 206:\r\n break;\r\n case 400:\r\n alertDialog.alert(res.data.Message);\r\n break;\r\n case 401:\r\n if (!handle401) {\r\n alertDialog.alert('請先登入');\r\n } else {\r\n alertDialog.alert('我要登入/註冊', () => {\r\n window.location.href = `/login?redirecturl=${handle401}`;\r\n });\r\n }\r\n break;\r\n case 403:\r\n alertDialog.confirm('系統忙線中,是否跳轉至首頁', () => {\r\n window.location.href = '/';\r\n });\r\n break;\r\n case 500:\r\n if (!handle500) {\r\n alertDialog.confirm('系統忙線中,是否跳轉至首頁', () => {\r\n window.location.href = '/';\r\n });\r\n }\r\n break;\r\n default:\r\n if (!handleDefaultError) {\r\n alertDialog.confirm('系統忙線中,是否跳轉至首頁', () => {\r\n window.location.href = '/';\r\n });\r\n }\r\n break;\r\n }\r\n};\r\n\r\nconst errorHandle = () => {\r\n alertDialog.confirm('系統忙線中,是否跳轉至首頁', () => {\r\n window.location.href = '/';\r\n });\r\n};\r\n\r\nconst instance = axios.create({\r\n baseURL: '',\r\n});\r\n\r\n// request 攔截\r\ninstance.interceptors.request.use(\r\n (config) => {\r\n return config;\r\n },\r\n (error) => {\r\n return Promise.reject(error);\r\n },\r\n);\r\n\r\n// response 攔截\r\ninstance.interceptors.response.use(\r\n (res) => {\r\n const { handleDefaultError } = res.config.headers;\r\n const { handle401, handle500 } = res.config.headers;\r\n successHandle(res, handleDefaultError, handle401, handle500);\r\n // 這邊可以對回來的資料先進行驗證處理,再來決定要不要把資料給吐出去\r\n return Promise.resolve(res);\r\n },\r\n (error) => {\r\n errorHandle();\r\n return Promise.reject(error);\r\n },\r\n);\r\n\r\n// 使用 createApi 函數生成 API 調用函數\r\nconst api = createApi(instance);\r\n\r\nfunction useAPIHandler() {\r\n return api;\r\n}\r\n\r\nexport default useAPIHandler;\r\n","import { ref } from 'vue';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\nimport useModalStore from '@global/stores/useModalStore';\r\n\r\nconst { getFaPointAPI, postUnbindFaPointAPI } = useAxiosAPI();\r\n\r\nconst modalStore = useModalStore();\r\nconst { closeModal } = modalStore;\r\n\r\nconst dataIsLoad = ref(false);\r\nconst isBind = ref(false);\r\nconst faPoint = ref(null);\r\nconst faBindingTime = ref(null);\r\nconst faUrl = ref(null);\r\n\r\nfunction getFaPoint() {\r\n dataIsLoad.value = false;\r\n getFaPointAPI()\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n if (res.data.Response !== null) {\r\n isBind.value = true;\r\n faPoint.value = res.data.Response.Point;\r\n faBindingTime.value = res.data.Response.BindingTime;\r\n faUrl.value = res.data.Response.FasneyDetailUrl;\r\n }\r\n dataIsLoad.value = true;\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n}\r\n\r\nfunction cancelFaPoint() {\r\n postUnbindFaPointAPI()\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n isBind.value = false;\r\n window.location.href = '/user/account';\r\n } else {\r\n closeModal();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n}\r\n\r\nfunction useFaPoint() {\r\n return {\r\n dataIsLoad,\r\n isBind,\r\n faPoint,\r\n faBindingTime,\r\n faUrl,\r\n getFaPoint,\r\n cancelFaPoint,\r\n };\r\n}\r\n\r\nexport default useFaPoint;\r\n","import { ref } from 'vue';\r\nimport $ from 'jquery';\r\n\r\nconst alerts = ref([]);\r\n/**\r\n * @description 警示跳窗\r\n * @param {String} msg 回傳訊息\r\n * @param {String} type 樣式 alert、confirm\r\n * @param {Function} callback\r\n * @param {String} dataName 抓取特定跳窗時\r\n */\r\nfunction showAlert(msg, type, callback, dataName) {\r\n // 有時有多個警示視窗\r\n alerts.value.push({ msg, type, callback, dataName });\r\n\r\n const $body = $('body');\r\n $body.css({ overflow: 'hidden' });\r\n}\r\n\r\nfunction closeAlert(index) {\r\n alerts.value.splice(index, 1);\r\n const $body = $('body');\r\n $body.css({ overflow: '', 'padding-right': '' });\r\n}\r\n\r\n// 這是為不改變太多的寫法給前、後端用的\r\nconst allAlertFn = () => {\r\n const o = {};\r\n o.alert = (msg, callback, name) => {\r\n showAlert(msg, 'alert', callback, name);\r\n };\r\n\r\n o.confirm = (msg, callback, name) => {\r\n showAlert(msg, 'confirm', callback, name);\r\n };\r\n\r\n o.special = (msg, callback, name) => {\r\n showAlert(msg, 'special', callback, name);\r\n };\r\n return o;\r\n};\r\nconst alertDialog = allAlertFn();\r\n\r\nfunction useAlert() {\r\n return { alerts, alertDialog, showAlert, closeAlert };\r\n}\r\n\r\nexport default useAlert;\r\n","import $ from 'jquery';\r\n\r\nconst setEnv = {\r\n myEquipment() {\r\n return (\r\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ||\r\n window.innerWidth <= 1024\r\n );\r\n },\r\n\r\n smallScreen(breakpoint) {\r\n return window.innerWidth <= (breakpoint || 480);\r\n },\r\n\r\n isLogin() {\r\n return $('.secnav-right, .login-account').attr('islogin') === 'true';\r\n },\r\n\r\n myCookie() {\r\n return navigator.cookieEnabled;\r\n },\r\n\r\n myStorage() {\r\n // ios has bug in private mode\r\n // in private mode, set localStorage will cause error\r\n const testKey = 'test';\r\n const storage = window.localStorage;\r\n try {\r\n storage.setItem(testKey, '1');\r\n storage.removeItem(testKey);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n },\r\n\r\n pageDependReact() {\r\n // 檢查頁面是否有script標籤調用React libary\r\n return Boolean($('script[src*=\"react\"]').length);\r\n },\r\n\r\n windowReload() {\r\n const windowSizeDefault = window.innerWidth > 1024;\r\n let windowSizeNew;\r\n\r\n $(window).resize(() => {\r\n windowSizeNew = window.innerWidth > 1024;\r\n\r\n if (windowSizeDefault !== windowSizeNew) {\r\n $(window).off('resize');\r\n window.location.reload();\r\n }\r\n });\r\n },\r\n};\r\n\r\nfunction useSetEnv() {\r\n return { setEnv };\r\n}\r\n\r\nexport default useSetEnv;\r\n","export function getRegion() {\r\n const arr = JSON.parse(window.shippingRegion);\r\n const regions = [];\r\n const provinces = [];\r\n\r\n arr.forEach((element) => {\r\n let cName = '';\r\n let eName = '';\r\n\r\n switch (element.ChineseName) {\r\n case '台灣及離島':\r\n cName = '台灣本島及離島';\r\n eName = element.EnglishName;\r\n break;\r\n case '中國':\r\n cName = '中國大陸';\r\n eName = element.EnglishName;\r\n break;\r\n case '香港':\r\n cName = '香港SAR';\r\n eName = `${element.EnglishName} SAR`;\r\n break;\r\n case '澳門':\r\n cName = '澳門SAR';\r\n eName = `${element.EnglishName} SAR`;\r\n break;\r\n default:\r\n cName = element.ChineseName;\r\n eName = element.EnglishName;\r\n break;\r\n }\r\n\r\n regions.push({\r\n name: `${cName} ${eName}`,\r\n value: element.ID,\r\n eName,\r\n });\r\n });\r\n\r\n provinces.push({ name: '請選擇省份', value: '' });\r\n\r\n arr[1].Province.forEach((element) => {\r\n provinces.push({\r\n name: element.SimpleChineseName,\r\n value: element.ID,\r\n });\r\n });\r\n\r\n return { regions, provinces };\r\n}\r\n\r\nexport function getLocalStorageByKey(key, subKey) {\r\n const sfEcDataLayerNow = JSON.parse(localStorage.getItem('sfEcDataLayer'));\r\n\r\n if (sfEcDataLayerNow && sfEcDataLayerNow[key]) {\r\n if (subKey && sfEcDataLayerNow[key][subKey]) {\r\n return sfEcDataLayerNow[key][subKey];\r\n }\r\n return sfEcDataLayerNow[key];\r\n }\r\n return undefined;\r\n}\r\n\r\nexport const paymentOptions = {\r\n 1: '信用卡線上刷卡',\r\n 2: '貨到付款(宅配)',\r\n 3: '貨到付款(超商)',\r\n 4: '銀聯卡',\r\n 5: 'ATM',\r\n 6: '街口支付',\r\n 7: 'LinePay',\r\n 8: '實體門市付款',\r\n 9: 'Fasney',\r\n};\r\n\r\nexport const deliveryOptions = {\r\n 1: '宅配',\r\n 2: '7-11超商取貨',\r\n 3: '全家、萊爾富、OK超商取貨',\r\n 4: '海外配送',\r\n 5: '員購自取',\r\n 6: '門市取貨 (for Cody)',\r\n 7: '全家超商取貨',\r\n};\r\n\r\nexport function fireCartCheckoutGAEvent(parameters) {\r\n const { value, coupon, items } = parameters;\r\n\r\n if (value === undefined || items === undefined) return;\r\n\r\n const beginCheckoutDataLayer = {\r\n event: 'begin_checkout',\r\n currency: 'TWD',\r\n value,\r\n coupon,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(beginCheckoutDataLayer);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireAddPaymentInfoGAEvent(parameters) {\r\n const { coupon, items, payType, value } = parameters;\r\n\r\n if (items === undefined || payType === undefined || value === undefined) {\r\n return;\r\n }\r\n\r\n const addPaymentInfoDataLayer = {\r\n event: 'add_payment_info',\r\n currency: 'TWD',\r\n value,\r\n coupon,\r\n payment_type: payType,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(addPaymentInfoDataLayer);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireAddShippingInfoGAEvent(parameters) {\r\n const { coupon, items, shippingTier, value } = parameters;\r\n\r\n if (items === undefined || shippingTier === undefined || value === undefined) {\r\n return;\r\n }\r\n\r\n const addShippingInfoDataLayer = {\r\n event: 'add_shipping_info',\r\n currency: 'TWD',\r\n value,\r\n coupon,\r\n shippingTier,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(addShippingInfoDataLayer);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function firePurchaseEvent(parameters) {\r\n const { coupon, items, shipping, transactionID, value } = parameters;\r\n\r\n if (items === undefined || transactionID === undefined || value === undefined) return;\r\n\r\n const purchaseDataLayer = {\r\n event: 'purchase',\r\n currency: 'TWD',\r\n transaction_id: transactionID,\r\n value,\r\n coupon,\r\n shipping,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(purchaseDataLayer);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function deleteLocalStorageByKey(key) {\r\n if (localStorage.getItem(key)) {\r\n localStorage.removeItem(key);\r\n }\r\n}\r\n\r\nexport function fireEventAddToWishList(itemInfo) {\r\n const { value, items } = itemInfo;\r\n\r\n if (!value) return;\r\n\r\n const dataLayerObj = {\r\n event: 'add_to_wishlist',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireLoginGAEvent(loginInfo) {\r\n const { actionType, loginType } = loginInfo;\r\n\r\n const dataLayerObj = {\r\n event: 'login',\r\n method: loginType,\r\n Action_Type: actionType,\r\n Login_Type: loginType,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireRegisterGAEvent(registerInfo) {\r\n const { actionType, registerType } = registerInfo;\r\n\r\n const dataLayerObj = {\r\n event: 'sign_up',\r\n method: registerType,\r\n Action_Type: actionType,\r\n Register_Type: registerType,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireViewItemListGAEvent(parameters) {\r\n const { itemListName, items } = parameters;\r\n\r\n const dataLayerObj = {\r\n event: 'view_item_list',\r\n item_list_name: itemListName,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireAddToCartGAEvent(productInfo) {\r\n const { value, items } = productInfo;\r\n\r\n if (!value || !items) return;\r\n\r\n const dataLayerObj = {\r\n event: 'add_to_cart',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireSearchGAEvent(parameters) {\r\n const { searchType, searchContent } = parameters;\r\n\r\n if (!searchType || !searchType) return;\r\n\r\n const dataLayerObj = {\r\n event: 'search',\r\n search_term: searchContent, // GA4 文件中\r\n Search_Type: searchType, // 外部廠商自己傳的\r\n Search_Content: searchContent, // 外部廠商自己傳的\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireSelectItemGAEvent(parameters) {\r\n const { itemListName, items } = parameters;\r\n\r\n if (!itemListName || items.length === 0) return;\r\n\r\n const dataLayerObj = {\r\n event: 'select_item',\r\n item_list_name: itemListName,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireRemoveFromCartGAEvent(parameters) {\r\n const { value, items } = parameters;\r\n\r\n if (!value || items.length === 0) return;\r\n\r\n const dataLayerObj = {\r\n event: 'remove_from_cart',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireEventRecommendedGoods(parameters) {\r\n const dataLayerObj = {\r\n event: 'recommended_goods',\r\n ...parameters,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireRefundGAEvent(parameters) {\r\n const { transactionID, value, shipping, items } = parameters;\r\n\r\n const dataLayerObj = {\r\n event: 'refund',\r\n currency: 'TWD',\r\n transaction_id: transactionID,\r\n value,\r\n shipping,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireMemberFavoriteCartGAEvent(parameters) {\r\n const { productId, productName, addFavoriteItem } = parameters;\r\n\r\n const dataLayerObj = {\r\n event: 'member',\r\n Member_List: '會員收藏清單',\r\n hash_ID: window.Email || undefined,\r\n Product_Id: productId,\r\n Product_Name: productName,\r\n Favorite_Add_To_Cart: addFavoriteItem,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireRecommendViewItemListGAEvent(payload) {\r\n const { itemListName, items } = payload;\r\n\r\n const dataLayerObj = {\r\n event: 'view_item_list',\r\n item_list_name: itemListName,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireEventPromotionBanner(payload) {\r\n const { promotionTargetUrl, promotionItems, promotionCreativeName, promotionCreativeSlot } =\r\n payload;\r\n\r\n const dataLayerObj = {\r\n event: 'Promotion_Banner',\r\n promotionTargrtUrl: promotionTargetUrl,\r\n promotionItems,\r\n promotionCreativeName,\r\n promotionCreativeSlot,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireCustomProductViewEvent(payload) {\r\n const { itemCategory, itemCategory2, itemCategory3, itemID, itemName } = payload;\r\n\r\n const eventDataLayer = {\r\n event: 'Product_View',\r\n Head_Button: itemCategory,\r\n Category_Button: itemCategory2,\r\n SubCategory_Button: itemCategory3,\r\n Product_Id: itemID,\r\n Product_Name: itemName,\r\n hash_ID: window.Email,\r\n };\r\n\r\n window.dataLayer.push(eventDataLayer);\r\n}\r\n\r\nexport function fireProductViewGAEvent(payload) {\r\n const { items, value } = payload;\r\n\r\n if (!value) return;\r\n\r\n const dataLayerObj = {\r\n event: 'view_item',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireListCategoryPushEvent(payload) {\r\n window.dataLayer.push({\r\n category: payload,\r\n });\r\n}\r\n\r\nexport function fireSearchCategoryPushEvent(payload) {\r\n window.dataLayer.push({\r\n category: payload,\r\n });\r\n}\r\n\r\nexport function fireViewCartEvent(parameters) {\r\n const { value, items } = parameters;\r\n\r\n if (value === undefined || items === undefined) return;\r\n\r\n const dataLayerObj = {\r\n event: 'view_cart',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n","import { computed, ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\n\r\nconst useModalStore = defineStore('modal', () => {\r\n const isShow = ref(false);\r\n const modalName = ref('');\r\n const modalData = ref(null);\r\n\r\n function openModal(component, data) {\r\n isShow.value = true;\r\n modalName.value = component;\r\n modalData.value = data;\r\n document.body.classList.add('modal-open');\r\n }\r\n\r\n function closeModal() {\r\n isShow.value = false;\r\n\r\n setTimeout(() => {\r\n modalName.value = '';\r\n modalData.value = null;\r\n document.body.classList.remove('modal-open');\r\n }, 500);\r\n }\r\n\r\n return {\r\n modalData,\r\n modalName,\r\n isShow,\r\n\r\n openModal,\r\n closeModal,\r\n };\r\n});\r\n\r\nexport default useModalStore;\r\n","import { computed, ref } from 'vue';\r\n\r\nimport { defineStore } from 'pinia';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\n\r\nconst { getHotSearchAPI, getCartInfoAPI } = useAxiosAPI();\r\n\r\nconst useMiniCartStore = defineStore('miniCart', () => {\r\n const dataIsLoad = ref(false);\r\n const totalCount = ref(0); // 所有溫藏商品總數\r\n const generalCount = ref(0); // 常溫總數量\r\n const refrigerationCount = ref(0); // 冷藏總數量\r\n const freezingCount = ref(0); // 冷凍總數量\r\n const generalSpotGoodsCount = ref(0); // 一般常溫現貨數量\r\n const refrigerationSpotGoodsCount = ref(0); // 冷藏現貨數量\r\n const freezingSpotGoodsCount = ref(0); // 冷凍現貨數量\r\n const generalMarketProducts = ref([]);\r\n const refrigerationMarketProducts = ref([]);\r\n const freezingMarketProducts = ref([]);\r\n const temperaturesData = ref([]);\r\n const count = ref(0); // 所有商品總數(for 一頁式)\r\n const hotSearch = ref([]);\r\n const hotLoad = ref(false);\r\n\r\n const isOnlyOneTemp = computed(() => {\r\n let hasProductTempCount = 0;\r\n if (generalCount.value > 0) {\r\n hasProductTempCount += 1;\r\n }\r\n if (refrigerationCount.value > 0) {\r\n hasProductTempCount += 1;\r\n }\r\n if (freezingCount.value > 0) {\r\n hasProductTempCount += 1;\r\n }\r\n return hasProductTempCount === 1;\r\n });\r\n\r\n function changeCartTotalCount(itemArray) {\r\n totalCount.value = itemArray.data.Response.TotalCount;\r\n count.value = itemArray.data.Response.TotalCount;\r\n temperaturesData.value = itemArray.data.Response.Temperatures;\r\n // 溫層ID (0: 常溫,1: 冷藏,2: 常溫)\r\n itemArray.data.Response.Temperatures.forEach((item) => {\r\n if (item.ID === 0) {\r\n generalCount.value = item.Count;\r\n generalMarketProducts.value = item.Markets;\r\n generalSpotGoodsCount.value = item.InstockCount;\r\n } else if (item.ID === 1) {\r\n refrigerationCount.value = item.Count;\r\n refrigerationMarketProducts.value = item.Markets;\r\n refrigerationSpotGoodsCount.value = item.InstockCount;\r\n } else {\r\n freezingCount.value = item.Count;\r\n freezingMarketProducts.value = item.Markets;\r\n freezingSpotGoodsCount.value = item.InstockCount;\r\n }\r\n });\r\n dataIsLoad.value = true;\r\n }\r\n\r\n function getCartInfo() {\r\n dataIsLoad.value = false;\r\n getCartInfoAPI()\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n changeCartTotalCount(res);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n function getHotSearch() {\r\n hotLoad.value = false;\r\n\r\n getHotSearchAPI({\r\n params: {\r\n period: 'range',\r\n date: 'last3',\r\n limit: 10,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n const hotArray = [];\r\n for (let i = 0; i < res.data.Response.length; i++) {\r\n hotArray.push(res.data.Response[i]);\r\n }\r\n hotSearch.value = hotArray;\r\n hotLoad.value = true;\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n return {\r\n dataIsLoad,\r\n totalCount,\r\n generalCount,\r\n refrigerationCount,\r\n freezingCount,\r\n generalMarketProducts,\r\n refrigerationMarketProducts,\r\n freezingMarketProducts,\r\n temperaturesData,\r\n count,\r\n hotSearch,\r\n hotLoad,\r\n isOnlyOneTemp,\r\n changeCartTotalCount,\r\n getCartInfo,\r\n getHotSearch,\r\n };\r\n});\r\n\r\nexport default useMiniCartStore;\r\n","import { ref } from 'vue';\r\n\r\nconst messages = ref([]);\r\n\r\n/**\r\n * @description 警示訊息\r\n * @param {String} msg 回傳訊息\r\n * @param {String} cls icon樣式 (只有服飾公版有用到)\r\n * @param {Function} callback\r\n */\r\nfunction showMsg(msg, cls, callback) {\r\n messages.value.push({ msg, cls, callback });\r\n\r\n setTimeout(() => {\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n messages.value.splice(0, 1);\r\n }, 2000);\r\n}\r\n\r\n// 這是為不改變太多的寫法給前、後端用的\r\nconst allMsgFn = () => {\r\n const o = {};\r\n o.success = (msg, callback) => {\r\n showMsg(msg, 'icon-reminder-ok', callback);\r\n };\r\n\r\n o.cart = (msg, callback) => {\r\n showMsg(msg, 'icon-reminder-cart', callback);\r\n };\r\n return o;\r\n};\r\nconst messageBox = allMsgFn();\r\n\r\n// eslint-disable-next-line import/prefer-default-export\r\nfunction useMsg() {\r\n return { messages, messageBox, showMsg };\r\n}\r\n\r\nexport default useMsg;\r\n","/**\r\n * @description 自動補零\r\n */\r\nfunction useAutoSupplement(value) {\r\n if (value < 10) {\r\n return `0${value}`;\r\n }\r\n return value.toString();\r\n}\r\n\r\nfunction useTextProcessing() {\r\n return {\r\n useAutoSupplement,\r\n };\r\n}\r\n\r\nexport default useTextProcessing;\r\n","/**\r\n * @description 圖片轉換網址\r\n * @param {string} imgUrl 網址\r\n * @param {string} sizeStr 尺寸\r\n */\r\nfunction imgTransfer(imgUrl, sizeStr) {\r\n if (imgUrl == null || imgUrl.length === 0) return null;\r\n\r\n const imgName = imgUrl.substring(imgUrl.lastIndexOf('/') + 1, imgUrl.length - 4);\r\n const imgExtension = imgUrl.substring(imgUrl.length - 4, imgUrl.length);\r\n const splitArr = imgUrl.split('/');\r\n const folderName = splitArr[4];\r\n const pictureContainer = splitArr[3];\r\n\r\n // gif不近縮圖\r\n if (imgUrl.indexOf('gif') !== -1) {\r\n return `https://${window.StaticImgDomain}/${pictureContainer}/${folderName}s/${imgName}${imgExtension}`;\r\n }\r\n if (imgUrl.indexOf('.mp4') !== -1) {\r\n if (imgUrl.indexOf('pics') === -1 && imgUrl.indexOf('pic') !== -1) {\r\n return imgUrl.replace('pic', 'pics');\r\n }\r\n return imgUrl;\r\n }\r\n return `https://${window.StaticImgDomain}/${pictureContainer}/${folderName}s/${imgName}${sizeStr}${imgExtension}`;\r\n}\r\n\r\nfunction useImage() {\r\n return { imgTransfer };\r\n}\r\n\r\nexport default useImage;\r\n","\r\n\r\n\r\n","import script from \"./NewImage.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./NewImage.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./AlertLayout.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertLayout.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AlertConfirm.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertConfirm.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AlertInfo.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertInfo.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AlertSpecial.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertSpecial.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AlertDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertDialog.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./Message.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Message.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./AddonDetailPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AddonDetailPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { ref } from 'vue';\r\n\r\nfunction useAdvancedSort(props) {\r\n const selectedSizes = ref([]);\r\n const min = ref(props.condition.PriceLow);\r\n const max = ref(props.condition.PriceHigh);\r\n const range = ref([props.condition.PriceLow, props.condition.PriceHigh]);\r\n getInitArgs();\r\n\r\n function getInitArgs() {\r\n const initSize = getTargetArgValue('S=').split(',');\r\n if (initSize[0].length !== 0) selectedSizes.value = initSize;\r\n if (getTargetArgValue('PL') !== '') {\r\n range.value = [getTargetArgValue('PL'), getTargetArgValue('PH')];\r\n }\r\n }\r\n\r\n function getTargetArgValue(arg) {\r\n let targetArg = '';\r\n if (window.location.search.length !== 0 && window.location.search.indexOf(arg) !== -1) {\r\n const args = window.location.toString().split('?')[1].split('&');\r\n args.forEach((element, index) => {\r\n if (element.indexOf(arg) !== -1) {\r\n targetArg = element;\r\n }\r\n });\r\n }\r\n return targetArg.length !== 0\r\n ? targetArg.substring(targetArg.indexOf('=') + 1, targetArg.length)\r\n : '';\r\n }\r\n\r\n function clearCondition() {\r\n selectedSizes.value = [];\r\n range.value = [min.value, max.value];\r\n }\r\n\r\n function addSize(size) {\r\n const index = selectedSizes.value.findIndex((e) => {\r\n return e === size.toString();\r\n });\r\n\r\n if (index >= 0) {\r\n selectedSizes.value.splice(index, 1);\r\n } else {\r\n selectedSizes.value.push(size.toString());\r\n }\r\n }\r\n\r\n function toggleSize(size) {\r\n const isSelected = selectedSizes.value.includes(size.toString());\r\n return {\r\n active: isSelected,\r\n '': !isSelected,\r\n };\r\n }\r\n\r\n function getPriceRangeArg() {\r\n const pl = range.value[0];\r\n const ph = range.value[1];\r\n return range.value !== [min.value, max.value] ? `PL=${pl}&PH=${ph}` : '';\r\n }\r\n\r\n function getSizeArg() {\r\n return selectedSizes.value.length !== 0 ? `S=${selectedSizes.value.toString()}` : '';\r\n }\r\n\r\n function goResult() {\r\n let argsString = '';\r\n\r\n if (window.location.search.length !== 0) {\r\n const args = window.location.toString().split('?')[1].split('&');\r\n let i = 0;\r\n\r\n while (i < args.length) {\r\n if (args[i].indexOf('PH') !== -1) {\r\n args.splice(i, 1);\r\n } else if (args[i].indexOf('PL') !== -1) {\r\n args.splice(i, 1);\r\n } else if (args[i].indexOf('S=') !== -1) {\r\n args.splice(i, 1);\r\n } else if (args[i].indexOf('P=') !== -1) {\r\n args.splice(i, 1);\r\n } else {\r\n i += 1;\r\n }\r\n }\r\n\r\n if (args.length !== 0) {\r\n if (selectedSizes.value.length !== 0 || range.value !== [min.value, max.value]) {\r\n argsString = `${args.join('&')}&`;\r\n } else {\r\n argsString = `${args.join('&')}`;\r\n }\r\n }\r\n }\r\n\r\n if (selectedSizes.value.length !== 0 || range.value !== [min.value, max.value]) {\r\n window.location.href = `${window.location.pathname}?${argsString}${getPriceRangeArg()}${\r\n getPriceRangeArg().length !== 0 && getSizeArg().length !== 0 ? '&' : ''\r\n }${getSizeArg()}`;\r\n } else if (argsString.length === 0) {\r\n window.location.href = window.location.pathname;\r\n } else {\r\n window.location.href = `${window.location.pathname}?${argsString}`;\r\n }\r\n }\r\n\r\n return {\r\n min,\r\n max,\r\n range,\r\n\r\n clearCondition,\r\n addSize,\r\n toggleSize,\r\n goResult,\r\n };\r\n}\r\n\r\nexport default useAdvancedSort;\r\n","\r\n\r\n\r\n","import script from \"./AdvancedPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AdvancedPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./Modal.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export default class ShopListView {\r\n constructor() {\r\n const hasCategory = window.ItemCategories || [];\r\n\r\n this.category = {\r\n itemCategory: hasCategory[0] || '',\r\n itemCategory2: hasCategory[1] || '',\r\n itemCategory3: hasCategory[2] || '',\r\n itemCategory4: hasCategory[3] || '',\r\n itemCategory5: hasCategory[4] || '',\r\n url: window.location.href,\r\n };\r\n }\r\n\r\n getItemListName() {\r\n let combineCategory = '';\r\n\r\n for (const key in this.category) {\r\n if (key !== 'url' && this.category[key]) {\r\n if (combineCategory === '') {\r\n combineCategory = this.category[key];\r\n } else {\r\n combineCategory = `${combineCategory}--${this.category[key]}`;\r\n }\r\n }\r\n }\r\n\r\n const searchParams = new URLSearchParams(decodeURI(window.location.search));\r\n const page = searchParams.get('Page');\r\n\r\n combineCategory = page\r\n ? `${combineCategory} 產品列表 Page ${page}`\r\n : `${combineCategory} 產品列表`;\r\n\r\n return combineCategory;\r\n }\r\n\r\n getListInfo() {\r\n const allListItem = window.dataLayer.find((obj) => obj.ecommerce && obj.ecommerce.impressions);\r\n\r\n let items = [];\r\n\r\n if (allListItem) {\r\n items = allListItem.ecommerce.impressions.map((item, index) => {\r\n return {\r\n item_id: item.id,\r\n item_name: item.name,\r\n index,\r\n item_list_name: item.list,\r\n item_brand: '',\r\n item_category: this.category.itemCategory,\r\n item_category2: this.category.itemCategory2,\r\n item_category3: this.category.itemCategory3,\r\n item_category4: this.category.itemCategory4,\r\n item_category5: this.category.itemCategory5,\r\n price: parseInt(item.price),\r\n quantity: 1,\r\n affiliation: item.variant,\r\n };\r\n });\r\n }\r\n\r\n return items;\r\n }\r\n\r\n getRecommendListInfo(listName) {\r\n const allListItem = window.dataLayer.find((obj) => obj.ecommerce && obj.ecommerce.impressions);\r\n\r\n const items = [];\r\n\r\n if (allListItem) {\r\n allListItem.ecommerce.impressions.forEach((item, index) => {\r\n const impression = {\r\n item_id: item.id,\r\n item_name: item.name,\r\n index,\r\n item_list_name: listName,\r\n item_brand: '',\r\n item_category: this.category.itemCategory,\r\n item_category2: this.category.itemCategory2,\r\n item_category3: this.category.itemCategory3,\r\n item_category4: this.category.itemCategory4,\r\n item_category5: this.category.itemCategory5,\r\n price: parseInt(item.price),\r\n quantity: 1,\r\n affiliation: item.variant,\r\n };\r\n items.push(impression);\r\n });\r\n }\r\n\r\n return items;\r\n }\r\n\r\n getSearchRecommendListInfo(listName, recommendData) {\r\n const recommendItems = recommendData.map((data, index) => {\r\n return {\r\n item_id: data.Colors[0].CustomMarketID.split('SZ')[0],\r\n item_name: data.Name,\r\n index,\r\n item_list_name: listName,\r\n item_brand: '',\r\n item_category: this.category.itemCategory,\r\n item_category2: this.category.itemCategory2,\r\n item_category3: this.category.itemCategory3,\r\n item_category4: this.category.itemCategory4,\r\n item_category5: this.category.itemCategory5,\r\n price: parseInt(data.SellPrice),\r\n quantity: 1,\r\n affiliation: data.Colors[0].ColorName,\r\n };\r\n });\r\n\r\n return recommendItems;\r\n }\r\n\r\n static getSearchListInfo(payload, listName) {\r\n const allListItem = window.dataLayer.find((obj) => obj.ecommerce && obj.ecommerce.impressions);\r\n\r\n let items = [];\r\n\r\n if (allListItem) {\r\n items = allListItem.ecommerce.impressions.map((item, index) => {\r\n return {\r\n item_id: item.id,\r\n item_name: item.name,\r\n index,\r\n item_list_name: listName,\r\n item_brand: '',\r\n item_category: payload.isHotSearch ? '關鍵字熱搜' : '關鍵字搜尋',\r\n item_category2: payload.keyword,\r\n price: parseInt(item.price),\r\n quantity: 1,\r\n affiliation: item.variant,\r\n };\r\n });\r\n }\r\n\r\n return items;\r\n }\r\n\r\n static getPromotionInfo() {\r\n const promotionFromStorage = JSON.parse(localStorage.getItem('promotion'));\r\n\r\n return promotionFromStorage || null;\r\n }\r\n\r\n static checkIsHotSearch(hotList) {\r\n const params = new URL(window.location.href).searchParams;\r\n const keyword = params.get('keyword') || params.get('Keyword') || '';\r\n\r\n if (hotList.length === 0) return { isHotSearch: false, keyword };\r\n\r\n const isHotSearch = hotList.includes(keyword);\r\n\r\n return { isHotSearch, keyword };\r\n }\r\n}\r\n","import { fireSearchGAEvent, fireSearchCategoryPushEvent } from '@global/gtm/base';\r\n\r\nclass SearchGTMEvent {\r\n static getKeyword(isHotSearch, keyword) {\r\n const category = {\r\n itemCategory: isHotSearch ? '關鍵字熱搜' : '關鍵字搜尋',\r\n itemCategory2: keyword,\r\n url: window.location.pathname,\r\n };\r\n\r\n return category;\r\n }\r\n}\r\n\r\nexport default function fireSearchEvent(payload) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n window.ItemCategories = payload.isHotSearch\r\n ? ['搜尋結果頁', '熱字', payload.keyword]\r\n : ['搜尋結果頁', '關鍵字', payload.keyword];\r\n\r\n const category = SearchGTMEvent.getKeyword(payload.isHotSearch, payload.keyword);\r\n\r\n fireSearchCategoryPushEvent(category);\r\n\r\n if (payload.isHotSearch) {\r\n fireSearchGAEvent({\r\n searchType: '關鍵字熱字',\r\n searchContent: payload.keyword,\r\n });\r\n } else {\r\n fireSearchGAEvent({\r\n searchType: '關鍵字搜尋',\r\n searchContent: payload.keyword,\r\n });\r\n }\r\n}\r\n","import { createApp, ref, onMounted, watch, nextTick } from 'vue';\r\nimport { createPinia, storeToRefs } from 'pinia';\r\nimport layout from '@/style/layout.scss';\r\nimport $ from 'jquery';\r\nimport validate from '@global/vendors/jquery.validate.min';\r\n\r\nimport useMiniCartStore from '@global/stores/useMiniCartStore';\r\nimport useModalStore from '@global/stores/useModalStore';\r\n\r\nimport useAlert from '@global/composable/useAlert';\r\nimport useMsg from '@global/composable/useMessage';\r\nimport useTextProcessing from '@global/composable/useTextProcessing';\r\n\r\nimport NewImage from '@global/components/common/Image/NewImage.vue';\r\nimport AlertDialog from '@global/components/common/alert/AlertDialog.vue';\r\nimport Message from '@global/components/common/message/Message.vue';\r\nimport Modal from '@global/components/common/modal/Modal.vue';\r\n\r\nimport modal from 'bootstrap/js/dist/modal';\r\nimport collapse from 'bootstrap/js/dist/collapse';\r\n\r\nimport { fireSearchListEvent } from '@global/gtm/shopList/shopListView';\r\nimport fireSearchEvent from '@global/gtm/search';\r\n\r\nconst pinia = createPinia();\r\nconst { alertDialog } = useAlert();\r\nconst { messageBox } = useMsg();\r\nconst { useAutoSupplement } = useTextProcessing();\r\n\r\nwindow.nowBrand = {};\r\n\r\nglobal.$ = require('jquery');\r\n\r\nglobal.jQuery = global.$;\r\n\r\n/**\r\n * alert跳窗\r\n */\r\n// eslint-disable-next-line vue/one-component-per-file\r\nconst appAlert = createApp({\r\n components: {\r\n AlertDialog,\r\n Message,\r\n },\r\n});\r\n\r\nappAlert.mount('#app-common');\r\n\r\n/**\r\n * Header選單\r\n */\r\n\r\n// eslint-disable-next-line vue/one-component-per-file\r\nconst appHeader = createApp({\r\n components: {\r\n NewImage,\r\n Modal,\r\n },\r\n setup() {\r\n const miniCartStore = useMiniCartStore();\r\n const modalStore = useModalStore();\r\n\r\n const { modalName } = storeToRefs(modalStore);\r\n\r\n const {\r\n totalCount,\r\n generalCount,\r\n refrigerationCount,\r\n freezingCount,\r\n dataIsLoad,\r\n generalMarketProducts,\r\n hotSearch,\r\n hotLoad,\r\n isOnlyOneTemp,\r\n } = storeToRefs(miniCartStore);\r\n\r\n const { getCartInfo, getHotSearch } = miniCartStore;\r\n getCartInfo();\r\n getHotSearch();\r\n\r\n function lockBody(open) {\r\n if (open) {\r\n $('body').addClass('lock-page');\r\n } else {\r\n $('body').removeClass('lock-page');\r\n }\r\n }\r\n\r\n // miniCart 購物車\r\n const isCartVisible = ref(false);\r\n const cartMaskRef = ref(null);\r\n const cartMaskStyle = ref(null);\r\n function openCartPanel() {\r\n isCartVisible.value = true;\r\n cartMaskStyle.value = {\r\n right: '290px',\r\n zIndex: '1030',\r\n };\r\n lockBody(isCartVisible.value);\r\n }\r\n function closeCartPanel() {\r\n isCartVisible.value = false;\r\n lockBody(isCartVisible.value);\r\n }\r\n\r\n // hamburger 漢堡選單\r\n const isSidebarVisible = ref(false);\r\n const burgerMaskRef = ref(null);\r\n const burgerMaskStyle = ref(null);\r\n function openSidebar() {\r\n isSidebarVisible.value = true;\r\n\r\n burgerMaskStyle.value = {\r\n zIndex: '1030',\r\n };\r\n lockBody(isSidebarVisible.value);\r\n }\r\n function closeSidebar() {\r\n isSidebarVisible.value = false;\r\n lockBody(isSidebarVisible.value);\r\n }\r\n\r\n // search 搜尋展開\r\n const isSearchVisible = ref(false);\r\n const searchInputPcRef = ref(null);\r\n const searchInputMbRef = ref(null);\r\n const searchText = ref('');\r\n function openSearch() {\r\n isSearchVisible.value = true;\r\n nextTick(() => {\r\n if (searchInputPcRef.value) {\r\n searchInputPcRef.value.focus();\r\n }\r\n if (searchInputMbRef.value) {\r\n searchInputMbRef.value.focus();\r\n }\r\n });\r\n }\r\n function closeSearch() {\r\n isSearchVisible.value = false;\r\n }\r\n function goSearchText() {\r\n if (searchText.value.trim() === '') {\r\n alertDialog.alert('請輸入關鍵字');\r\n } else {\r\n window.location.href = `/search?Keyword=${searchText.value}`;\r\n fireSearchEvent({\r\n isHotSearch: false,\r\n keyword: searchText.value,\r\n });\r\n }\r\n }\r\n\r\n function goSearch(item) {\r\n window.location.href = `/search?Keyword=${item}`;\r\n fireSearchEvent({\r\n isHotSearch: true,\r\n keyword: item,\r\n });\r\n }\r\n\r\n // 手機板確認\r\n const isMobile = ref(false);\r\n function windowSize() {\r\n if ($(window).width() < 992) {\r\n isMobile.value = true;\r\n } else {\r\n isMobile.value = false;\r\n }\r\n }\r\n\r\n // GTM\r\n watch(hotLoad, (nV, oV) => {\r\n if (nV && window.location.pathname.includes('search')) {\r\n fireSearchListEvent(hotSearch.value);\r\n }\r\n });\r\n\r\n onMounted(() => {\r\n // 手機板確認\r\n windowSize();\r\n $(window).resize(() => {\r\n windowSize();\r\n });\r\n });\r\n\r\n return {\r\n isMobile,\r\n totalCount,\r\n generalCount,\r\n refrigerationCount,\r\n freezingCount,\r\n dataIsLoad,\r\n generalMarketProducts,\r\n hotSearch,\r\n hotLoad,\r\n isOnlyOneTemp,\r\n useAutoSupplement,\r\n searchInputPcRef,\r\n searchInputMbRef,\r\n searchText,\r\n isCartVisible,\r\n cartMaskRef,\r\n cartMaskStyle,\r\n isSidebarVisible,\r\n burgerMaskRef,\r\n burgerMaskStyle,\r\n isSearchVisible,\r\n modalName,\r\n openSearch,\r\n closeSearch,\r\n goSearchText,\r\n goSearch,\r\n openCartPanel,\r\n closeCartPanel,\r\n openSidebar,\r\n closeSidebar,\r\n };\r\n },\r\n});\r\n\r\nappHeader.use(pinia).mount('#app-mini-cart');\r\n\r\n// fix when mutiple inputs with same name always validate the first item.\r\n// eslint-disable-next-line func-names\r\n$.validator.prototype.checkForm = function () {\r\n // overriden in a specific page\r\n this.prepareForm();\r\n // eslint-disable-next-line no-multi-assign\r\n for (let i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++) {\r\n if (\r\n this.findByName(elements[i].name).length !== undefined &&\r\n this.findByName(elements[i].name).length > 1\r\n ) {\r\n for (let cnt = 0; cnt < this.findByName(elements[i].name).length; cnt++) {\r\n this.check(this.findByName(elements[i].name)[cnt]);\r\n }\r\n } else {\r\n this.check(elements[i]);\r\n }\r\n }\r\n return this.valid();\r\n};\r\n\r\n// 全域方法前後端使用\r\nwindow.messageBox = messageBox;\r\nwindow.AlertDialog = alertDialog;\r\n","import ShopListView from '@global/gtm/class/shopListClass';\r\nimport {\r\n fireViewItemListGAEvent,\r\n fireEventPromotionBanner,\r\n fireListCategoryPushEvent,\r\n} from '@global/gtm/base';\r\n\r\nexport default function fireShopListViewEvent() {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const shopListView = new ShopListView();\r\n\r\n fireListCategoryPushEvent(shopListView.category);\r\n\r\n fireViewItemListGAEvent({\r\n itemListName: shopListView.getItemListName(),\r\n items: shopListView.getListInfo(),\r\n });\r\n}\r\n\r\nexport function firePromotionEvent() {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const shopListView = new ShopListView();\r\n\r\n const listItems = shopListView.getListInfo();\r\n const promotion = ShopListView.getPromotionInfo();\r\n\r\n if (promotion) {\r\n fireEventPromotionBanner({\r\n promotionTargetUrl: `促銷活動--${window.PictureContainer}`,\r\n promotionItems: listItems,\r\n promotionCreativeName: promotion.imgLink,\r\n promotionCreativeSlot: promotion.clickName,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * URLiving 搜尋結果頁所使用的 GA 事件\r\n *\r\n * @param {Array} hotSearchList - 關鍵字列表\r\n */\r\nexport function fireShopListSearchEvent(hotSearchList) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const shopListView = new ShopListView();\r\n const isHotSearch = ShopListView.checkIsHotSearch(hotSearchList);\r\n\r\n let itemListName = '';\r\n\r\n if (window.TotalCount === 0) {\r\n itemListName = isHotSearch.isHotSearch\r\n ? `關鍵字熱字--${isHotSearch.keyword}推薦產品列表`\r\n : `關鍵字搜尋--${isHotSearch.keyword}推薦產品列表`;\r\n\r\n fireViewItemListGAEvent({\r\n itemListName,\r\n items: shopListView.getRecommendListInfo(itemListName),\r\n });\r\n } else {\r\n itemListName = isHotSearch.isHotSearch\r\n ? `關鍵字熱字--${isHotSearch.keyword}產品列表`\r\n : `關鍵字搜尋--${isHotSearch.keyword}產品列表`;\r\n\r\n fireViewItemListGAEvent({\r\n itemListName,\r\n items: ShopListView.getSearchListInfo(isHotSearch, itemListName),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * 其他客製品牌搜尋結果頁所使用的 GA 事件 for 商品列表\r\n *\r\n * @param {Array} hotSearchList - 關鍵字列表\r\n */\r\nexport function fireSearchListEvent(hotSearchList) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const isHotSearch = ShopListView.checkIsHotSearch(hotSearchList);\r\n\r\n if (window.TotalCount !== 0) {\r\n const itemListName = isHotSearch.isHotSearch\r\n ? `關鍵字熱字--${isHotSearch.keyword}產品列表`\r\n : `關鍵字搜尋--${isHotSearch.keyword}產品列表`;\r\n\r\n fireViewItemListGAEvent({\r\n itemListName,\r\n items: ShopListView.getSearchListInfo(isHotSearch, itemListName),\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * 其他客製品牌搜尋結果頁所使用的 GA 事件 for 推薦列表\r\n *\r\n * @param {Array} hotSearchList - 關鍵字列表\r\n */\r\nexport function fireSearchResultRecommendEvent(hotSearchList, recommendData) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const shopListView = new ShopListView();\r\n const isHotSearch = ShopListView.checkIsHotSearch(hotSearchList);\r\n\r\n const itemListName = isHotSearch.isHotSearch\r\n ? `關鍵字熱字--${isHotSearch.keyword}推薦產品列表`\r\n : `關鍵字搜尋--${isHotSearch.keyword}推薦產品列表`;\r\n\r\n fireViewItemListGAEvent({\r\n itemListName,\r\n items: shopListView.getSearchRecommendListInfo(itemListName, recommendData),\r\n });\r\n}\r\n","\r\n\r\n\r\n","import script from \"./AdvancedPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AdvancedPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./AdvancedSort.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AdvancedSort.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import { ref, computed, onMounted } from 'vue';\r\n\r\nfunction useNormalSort() {\r\n const searchLocation = window.location.search;\r\n const selectedMode = ref(null);\r\n\r\n const lowToHigh = computed(() => {\r\n return locationSearchFilter(4);\r\n });\r\n\r\n const highToLow = computed(() => {\r\n return locationSearchFilter(3);\r\n });\r\n\r\n const newToOld = computed(() => {\r\n return locationSearchFilter(1);\r\n });\r\n\r\n const hottest = computed(() => {\r\n return locationSearchFilter(5);\r\n });\r\n\r\n function getOrderMode() {\r\n const args = searchLocation.split('&');\r\n let ModeStr = '';\r\n\r\n for (let i = 0; i < args.length; i++) {\r\n if (args[i].indexOf('OM') !== -1) {\r\n ModeStr = args[i];\r\n }\r\n }\r\n\r\n let mode = null;\r\n\r\n if (window.location.pathname === '/recent' && ModeStr.length === 0) {\r\n mode = 1;\r\n } else if (window.location.pathname === '/hot' && ModeStr.length === 0) {\r\n mode = 5;\r\n } else if (window.location.pathname === '/favorite' && ModeStr.length === 0) {\r\n mode = null;\r\n } else if (ModeStr.length === 0) {\r\n mode = 1;\r\n } else {\r\n mode = parseInt(ModeStr.charAt(ModeStr.length - 1));\r\n }\r\n return mode;\r\n }\r\n\r\n function locationSearchFilter(orderNum) {\r\n let argsString = '';\r\n if (window.location.toString().indexOf('?') !== -1) {\r\n const args = window.location.toString().split('?')[1].split('&');\r\n\r\n let i = 0;\r\n while (i < args.length) {\r\n if (args[i].indexOf('OM') !== -1) {\r\n args.splice(i, 1);\r\n } else if (args[i].indexOf('P=') !== -1) {\r\n args.splice(i, 1);\r\n } else {\r\n i += 1;\r\n }\r\n }\r\n\r\n if (args.length !== 0) {\r\n // 存在其他條件參數\r\n argsString = `${args.join('&')}&`;\r\n } else {\r\n argsString = `${args.join('&')}`;\r\n }\r\n }\r\n\r\n return `?${argsString}OM=${orderNum}`;\r\n }\r\n\r\n onMounted(() => {\r\n selectedMode.value = getOrderMode();\r\n });\r\n\r\n return {\r\n selectedMode,\r\n lowToHigh,\r\n highToLow,\r\n newToOld,\r\n hottest,\r\n\r\n getOrderMode,\r\n locationSearchFilter,\r\n };\r\n}\r\n\r\nexport default useNormalSort;\r\n","import script from \"./NormalSort.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./NormalSort.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./SortApp.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SortApp.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./PaginatorLessThanMaxCont.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./PaginatorLessThanMaxCont.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","