{"version":3,"sources":["webpack:///./src/components/ProgressBar.vue?0d44","webpack:///./src/components/InfoBar.vue?0c2d","webpack:///./src/components/ProgressBar.vue","webpack:///./src/components/ProgressBar.vue?6a81","webpack:///./src/components/api_usage/EndpointListModal.vue","webpack:///./src/components/api_usage/EndpointListModal.vue?3164","webpack:///./src/components/InfoBar.vue","webpack:///./src/components/InfoBar.vue?72b2","webpack:///./src/views/dashboard/api_usage/MonthlyUsageTab.vue","webpack:///./src/views/dashboard/api_usage/MonthlyUsageTab.vue?0de0","webpack:///./src/components/api_usage/EndpointListModal.vue?4f3c","webpack:///./src/views/dashboard/api_usage/MonthlyUsageTab.vue?0dd0","webpack:///./src/assets/images/no_data_medium.png"],"names":["_hoisted_1","class","_hoisted_2","_defineComponent","__name","props","progress","setup","__props","color","computed","configuration","label","width","Math","floor","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","value","_normalizeClass","style","_normalizeStyle","__exports__","isModalOpen","type","Boolean","data","totalData","emits","emit","__emit","_createBlock","Modal","header","onClose","$event","body","_withCtx","_createVNode","InputBox","onChange","placeholder","TableSection","height","onChangeSize","onNext","onPrev","error","src","alt","_Fragment","_renderList","row","i","key","url","usedQuota","ProgressBar","quota","_","href","typeStyle","icon","_renderSlot","$slots","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","companySsoId","toast","useToast","isEndpointListModalOpen","ref","components","originComponents","totalComponents","totalSelectedComponents","selectedComponents","originSelectedComponents","selectedProducts","size","page","sizeModal","pageModal","sortBy","orderBy","statusCode","onSelectComponent","endpoints","map","apiUrl","length","refreshModalData","refreshData","async","keyword","getMonthlyUsage","filteredData","filter","product","includes","componentName","RegExp","test","sort","a","b","start","end","slice","err","match","message","ToastType","ERROR","toastClassName","hideProgressBar","closeButton","position","POSITION","TOP_CENTER","timeout","onSearch","onSearchModal","onBeforeMount","watch","onSort","DropdownCheck","modelValue","options","_unref","PRODUCTS","id","name","text","onClick","InfoBar","default","_createCommentVNode","newSize","newPage","_imports_0","_createTextVNode","Icon","productName","totalUsedQuota","totalQuota","EndpointListModal","module","exports"],"mappings":"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","file":"js/monthly-usage.713e9ad0.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ProgressBar.vue?vue&type=style&index=0&id=2a3cfac0&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./InfoBar.vue?vue&type=style&index=0&id=466b8bbf&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"_progress-bar\" }\nconst _hoisted_2 = { class: \"_loading\" }\n\nimport { computed } from 'vue';\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'ProgressBar',\n props: {\n progress: {}\n },\n setup(__props: any) {\n\nconst props = __props;\n\nconst color = computed(() => {\n return props.progress < 50\n ? \"_green\"\n : props.progress < 99\n ? \"_yellow\"\n : \"_red\";\n});\n\nconst configuration = computed(() => {\n return props.progress > 100\n ? {\n label: \"Unlimited\",\n width: \"0%\",\n }\n : {\n label: `${Math.floor(props.progress)}%`,\n width: props.progress + \"%\",\n };\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"p\", null, _toDisplayString(configuration.value.label), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(color.value),\n style: _normalizeStyle({ width: configuration.value.width })\n }, null, 6)\n ])\n ]))\n}\n}\n\n})","import script from \"./ProgressBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ProgressBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ProgressBar.vue?vue&type=style&index=0&id=2a3cfac0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2a3cfac0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"_head\" }\n\nimport InputBox from \"../InputBox.vue\";\nimport Modal from \"../Modal.vue\";\nimport ProgressBar from \"../ProgressBar.vue\";\nimport TableSection, { Events as TableEvents } from \"../TableSection.vue\";\n\nexport type Row = {\n url: string;\n usedQuota: number;\n quota: number;\n};\n\nexport type Events = TableEvents & {\n search: [value: string];\n close: [];\n};\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'EndpointListModal',\n props: {\n isModalOpen: { type: Boolean },\n data: {},\n totalData: {}\n },\n emits: [\"change-size\", \"next\", \"prev\", \"page\", \"search\", \"close\"],\n setup(__props: any, { emit: __emit }) {\n\nconst emit = __emit;\n\nconst props = __props;\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(Modal, {\n header: \"Endpoint URL\",\n \"is-modal-open\": props.isModalOpen,\n width: \"60vw\",\n onClose: _cache[4] || (_cache[4] = ($event: any) => (emit('close')))\n }, {\n body: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(InputBox, {\n \"left-icon\": \"magnifying-glass\",\n onChange: _cache[0] || (_cache[0] = (value) => emit('search', value)),\n placeholder: \"Search endpoint\",\n \"max-length\": 50\n })\n ]),\n _createVNode(TableSection, {\n height: \"60vh\",\n \"total-data\": props.totalData,\n onChangeSize: _cache[1] || (_cache[1] = (value) => emit('change-size', value)),\n onNext: _cache[2] || (_cache[2] = (value) => emit('next', value)),\n onPrev: _cache[3] || (_cache[3] = (value) => emit('prev', value))\n }, {\n error: _withCtx(() => _cache[5] || (_cache[5] = [\n _createElementVNode(\"div\", { class: \"_error\" }, [\n _createElementVNode(\"img\", {\n src: \"https://cdn.mekari.design/illustration/blank-slate/NotResultFound_PB_M_01.png\",\n alt: \"no-data\"\n }),\n _createElementVNode(\"h1\", null, \"No component found\"),\n _createElementVNode(\"p\", null, \"Recheck the keywords you have typed and try searching again.\")\n ], -1)\n ])),\n header: _withCtx(() => _cache[6] || (_cache[6] = [\n _createElementVNode(\"th\", null, \"Endpoint\", -1),\n _createElementVNode(\"th\", null, \"Used\", -1),\n _createElementVNode(\"th\", null, \"Used (%)\", -1),\n _createElementVNode(\"th\", null, \"Quota\", -1)\n ])),\n body: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(props.data, (row, i) => {\n return (_openBlock(), _createElementBlock(\"tr\", { key: i }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(row.url), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(row.usedQuota), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(ProgressBar, {\n progress: (row.usedQuota / row.quota) * 100\n }, null, 8, [\"progress\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(row.quota || \"Unlimited\"), 1)\n ])\n ]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"total-data\"]),\n _cache[7] || (_cache[7] = _createElementVNode(\"div\", { class: \"_footer\" }, [\n _createElementVNode(\"p\", null, \"Need guidance on your endpoint?\"),\n _createElementVNode(\"a\", {\n class: \"_link\",\n href: \"/docs/kb/product-api\"\n }, \"Visit API Docs\")\n ], -1))\n ]),\n _: 1\n }, 8, [\"is-modal-open\"]))\n}\n}\n\n})","import script from \"./EndpointListModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./EndpointListModal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./EndpointListModal.vue?vue&type=style&index=0&id=1459a91a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1459a91a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport { computed } from \"vue\";\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'InfoBar',\n props: {\n type: {}\n },\n setup(__props: any) {\n\nconst props = __props;\n\nconst typeStyle = computed(() => {\n switch (props.type) {\n case \"info\":\n return { class: \"_info\", icon: \"fa-circle-info\" };\n case \"warn\":\n return { class: \"_warn\", icon: \"fa-triangle-exclamation\" };\n default:\n return { class: \"_info\", icon: \"fa-circle-info\" };\n }\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(`_infobar ${typeStyle.value.class}`)\n }, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fas fa-solid ${typeStyle.value.icon}`)\n }, null, 2)\n ]),\n _createElementVNode(\"div\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ], 2))\n}\n}\n\n})","import script from \"./InfoBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./InfoBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./InfoBar.vue?vue&type=style&index=0&id=466b8bbf&lang=scss&scoped=true\"\n\nimport exportComponent from \"/frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-466b8bbf\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass } from \"vue\"\nimport _imports_0 from '@/assets/images/no_data_medium.png'\n\n\nconst _hoisted_1 = { class: \"_content\" }\nconst _hoisted_2 = { class: \"_header\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"_error\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"_error\"\n}\nconst _hoisted_5 = {\n key: 0,\n class: \"fas fa-sort-up sort-icon\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"fas fa-sort-down sort-icon\"\n}\nconst _hoisted_7 = {\n key: 2,\n class: \"fas fa-sort disabled sort-icon\"\n}\nconst _hoisted_8 = {\n key: 0,\n class: \"fas fa-sort-up sort-icon\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"fas fa-sort-down sort-icon\"\n}\nconst _hoisted_10 = {\n key: 2,\n class: \"fas fa-sort disabled sort-icon\"\n}\nconst _hoisted_11 = {\n key: 0,\n class: \"fas fa-sort-up sort-icon\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fas fa-sort-down sort-icon\"\n}\nconst _hoisted_13 = {\n key: 2,\n class: \"fas fa-sort disabled sort-icon\"\n}\nconst _hoisted_14 = {\n key: 0,\n class: \"fas fa-sort-up sort-icon\"\n}\nconst _hoisted_15 = {\n key: 1,\n class: \"fas fa-sort-down sort-icon\"\n}\nconst _hoisted_16 = {\n key: 2,\n class: \"fas fa-sort disabled sort-icon\"\n}\nconst _hoisted_17 = {\n key: 0,\n class: \"fas fa-sort-up sort-icon\"\n}\nconst _hoisted_18 = {\n key: 1,\n class: \"fas fa-sort-down sort-icon\"\n}\nconst _hoisted_19 = {\n key: 2,\n class: \"fas fa-sort disabled sort-icon\"\n}\nconst _hoisted_20 = { class: \"_product\" }\nconst _hoisted_21 = { class: \"_component\" }\nconst _hoisted_22 = [\"onClick\"]\n\nimport EndpointListModal, {\n Row,\n} from \"@/components/api_usage/EndpointListModal.vue\";\nimport Icon from \"@/components/Icon.vue\";\nimport InputBox from \"@/components/InputBox.vue\";\nimport ProgressBar from \"@/components/ProgressBar.vue\";\nimport TableSection from \"@/components/TableSection.vue\";\nimport { onBeforeMount, ref, watch } from \"vue\";\nimport {\n getMonthlyUsage,\n MonthlyUsage,\n MonthlyUsageEndpoint,\n} from \"@/api/api_usage\";\nimport { useToast, TYPE as ToastType, POSITION } from \"vue-toastification\";\nimport DropdownCheck from \"@/components/DropdownCheck.vue\";\nimport { PRODUCTS } from \"@/constants\";\nimport InfoBar from \"@/components/InfoBar.vue\";\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'MonthlyUsageTab',\n props: {\n companySsoId: {}\n },\n setup(__props: any) {\n\nconst props = __props;\n\nconst toast = useToast();\nconst isEndpointListModalOpen = ref(false);\nconst components = ref([]);\nconst originComponents = ref([]);\nconst totalComponents = ref(0);\nconst totalSelectedComponents = ref(0);\nconst selectedComponents = ref([]);\nconst originSelectedComponents = ref([]);\nconst selectedProducts = ref([]);\nconst size = ref(10);\nconst page = ref(1);\nconst sizeModal = ref(10);\nconst pageModal = ref(1);\nconst sortBy = ref(\"productName\");\nconst orderBy = ref(\"asc\");\nconst statusCode = ref(0);\n\nconst onSelectComponent = (endpoints: MonthlyUsageEndpoint[]) => {\n sizeModal.value = 10;\n pageModal.value = 1;\n isEndpointListModalOpen.value = true;\n selectedComponents.value = endpoints.map((data) => ({\n url: data.apiUrl,\n usedQuota: data.usedQuota,\n quota: data.quota,\n }));\n originSelectedComponents.value = [...selectedComponents.value];\n totalSelectedComponents.value = selectedComponents.value.length;\n refreshModalData();\n};\n\nconst refreshData = async (keyword = '') => {\n if (props.companySsoId === \"\") return;\n\n try {\n // Step 1: Fetch data\n components.value = await getMonthlyUsage(props.companySsoId);\n originComponents.value = [...components.value];\n totalComponents.value = components.value.length;\n\n // Step 2: Apply product filter\n let filteredData = originComponents.value;\n if (selectedProducts.value.length > 0) {\n filteredData = filteredData.filter(({ product }) =>\n selectedProducts.value.includes(product)\n );\n }\n\n // Step 3: Apply search filter (only if keyword length is 3 or more)\n if (keyword.length >= 3) {\n filteredData = filteredData.filter(({ componentName }) =>\n new RegExp(keyword, 'i').test(componentName)\n );\n }\n\n // Step 4: Apply sorting\n filteredData.sort((a, b) => {\n if (a[sortBy.value] < b[sortBy.value]) return orderBy.value === 'asc' ? -1 : 1;\n if (a[sortBy.value] > b[sortBy.value]) return orderBy.value === 'asc' ? 1 : -1;\n return 0;\n });\n\n // Step 5: Apply pagination\n const start = (page.value - 1) * size.value;\n const end = start + size.value;\n components.value = filteredData.slice(start, end);\n\n totalComponents.value = filteredData.length;\n statusCode.value = 200;\n } catch (err) {\n const match = err.message.match(/return (\\d+)/);\n statusCode.value = match[1];\n\n if (statusCode.value != 404) {\n toast(\n \"Failed to load the quota data. Please try again by refreshing the page\",\n {\n type: ToastType.ERROR,\n toastClassName: \"mdc-toast\",\n hideProgressBar: true,\n closeButton: false,\n position: POSITION.TOP_CENTER,\n timeout: 3000,\n }\n );\n }\n }\n};\n\nconst refreshModalData = async (keyword = '') => {\n let filteredData = originSelectedComponents.value;\n filteredData.sort((a, b) => {\n if (a['url'] < b['url']) return 1;\n return 0;\n });\n\n if (keyword.length >= 3) {\n filteredData = filteredData.filter(({ url }) =>\n new RegExp(keyword, 'i').test(url)\n );\n }\n\n const start = (pageModal.value - 1) * sizeModal.value;\n const end = start + sizeModal.value;\n selectedComponents.value = filteredData.slice(start, end);\n totalSelectedComponents.value = filteredData.length;\n};\n\nconst onSearch = (keyword: string) => {\n refreshData(keyword);\n};\n\nconst onSearchModal = (keyword: string) => {\n refreshModalData(keyword);\n};\n\nonBeforeMount(async () => {\n refreshData();\n});\n\nwatch([size, page, props], () => {\n refreshData();\n});\n\nwatch(selectedProducts, () => {\n refreshData(); \n});\n\nwatch([sizeModal, pageModal], () => {\n refreshModalData();\n});\n\nconst isAllEndpoint = (endpoints) => {\n return endpoints[0].apiUrl === \"*\";\n};\n\nconst onSort = (key) => {\n sortBy.value = key;\n orderBy.value = orderBy.value === 'asc' ? 'desc' : 'asc';\n refreshData();\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"section\", _hoisted_2, [\n _createElementVNode(\"div\", null, [\n _createVNode(DropdownCheck, {\n modelValue: selectedProducts.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((selectedProducts).value = $event)),\n placeholder: \"All products\",\n \"options-title\": \"P R O D U C T\",\n options: _unref(PRODUCTS).map(({ id, name }) => ({ id, text: name }))\n }, null, 8, [\"modelValue\", \"options\"]),\n _createElementVNode(\"button\", {\n class: \"_btn\",\n onClick: refreshData\n }, _cache[12] || (_cache[12] = [\n _createElementVNode(\"i\", { class: \"fa-solid fa-arrows-rotate\" }, null, -1),\n _createElementVNode(\"p\", null, \"Refresh\", -1)\n ]))\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(InputBox, {\n \"left-icon\": \"magnifying-glass\",\n onChange: onSearch,\n placeholder: \"Search component name\",\n \"max-length\": \"50\"\n })\n ])\n ]),\n (totalComponents.value > 0)\n ? (_openBlock(), _createBlock(InfoBar, {\n key: 0,\n type: \"info\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [\n _createElementVNode(\"p\", null, \" The data below displays the current month only and will be refreshed monthly. \", -1)\n ])),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(TableSection, {\n \"total-data\": totalComponents.value,\n onChangeSize: _cache[5] || (_cache[5] = (newSize) => (size.value = newSize)),\n onNext: _cache[6] || (_cache[6] = (newPage) => (page.value = newPage)),\n onPrev: _cache[7] || (_cache[7] = (newPage) => (page.value = newPage))\n }, {\n error: _withCtx(() => [\n (statusCode.value == 404)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _cache[14] || (_cache[14] = [\n _createElementVNode(\"img\", {\n src: _imports_0,\n alt: \"no-data\"\n }, null, -1),\n _createElementVNode(\"h1\", null, \"No API usage data yet\", -1),\n _createElementVNode(\"p\", null, \" Once you create an app from Applications menu, your API usage data will appear here. \", -1)\n ])))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _cache[15] || (_cache[15] = [\n _createElementVNode(\"img\", {\n src: \"https://cdn.mekari.design/illustration/blank-slate/NotResultFound_PB_M_01.png\",\n alt: \"no-data\"\n }, null, -1),\n _createElementVNode(\"h1\", null, \"No component found\", -1),\n _createElementVNode(\"p\", null, \"Recheck the keywords you have typed and try searching again.\", -1)\n ])))\n ]),\n header: _withCtx(() => [\n _createElementVNode(\"th\", {\n class: \"sortable-column\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (onSort('productName')))\n }, [\n _cache[16] || (_cache[16] = _createTextVNode(\" Product \")),\n _createElementVNode(\"span\", null, [\n (sortBy.value === 'productName' && orderBy.value === 'asc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_5))\n : (sortBy.value === 'productName' && orderBy.value === 'desc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_6))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_7))\n ])\n ]),\n _createElementVNode(\"th\", {\n class: \"sortable-column\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (onSort('componentName')))\n }, [\n _cache[17] || (_cache[17] = _createTextVNode(\" Component name \")),\n _createElementVNode(\"span\", null, [\n (sortBy.value === 'componentName' && orderBy.value === 'asc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_8))\n : (sortBy.value === 'componentName' && orderBy.value === 'desc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_9))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_10))\n ])\n ]),\n _createElementVNode(\"th\", {\n onClick: _cache[3] || (_cache[3] = ($event: any) => (onSort('totalUsedQuota')))\n }, [\n _cache[18] || (_cache[18] = _createTextVNode(\" Used \")),\n _createElementVNode(\"span\", null, [\n (sortBy.value === 'totalUsedQuota' && orderBy.value === 'asc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_11))\n : (sortBy.value === 'totalUsedQuota' && orderBy.value === 'desc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_13))\n ])\n ]),\n _createElementVNode(\"th\", null, [\n _cache[19] || (_cache[19] = _createTextVNode(\" Used (%) \")),\n _createElementVNode(\"span\", null, [\n (sortBy.value === 'totalUsedQuota' && orderBy.value === 'asc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_14))\n : (sortBy.value === 'totalUsedQuota' && orderBy.value === 'desc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_16))\n ])\n ]),\n _createElementVNode(\"th\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (onSort('totalQuota')))\n }, [\n _cache[20] || (_cache[20] = _createTextVNode(\" Quota \")),\n _createElementVNode(\"span\", null, [\n (sortBy.value === 'totalQuota' && orderBy.value === 'asc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_17))\n : (sortBy.value === 'totalQuota' && orderBy.value === 'desc')\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_18))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_19))\n ])\n ])\n ]),\n body: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(components.value, (row, i) => {\n return (_openBlock(), _createElementBlock(\"tr\", { key: i }, [\n _createElementVNode(\"td\", _hoisted_20, [\n _createElementVNode(\"div\", null, [\n _createVNode(Icon, {\n product: row.product,\n size: \"1.5rem\"\n }, null, 8, [\"product\"])\n ]),\n _createElementVNode(\"p\", null, _toDisplayString(row.productName), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"p\", null, _toDisplayString(row.componentName), 1),\n _createElementVNode(\"a\", {\n onClick: ($event: any) => (onSelectComponent(row.endpoints)),\n class: _normalizeClass(row.endpoints.length > 1 ? '_link' : '_non-link')\n }, _toDisplayString(row.endpoints.length > 1\n ? \"View endpoint URL\"\n : row.endpoints[0].apiUrl == \"*\"\n ? \"Applied to all endpoints\"\n : row.endpoints[0].apiUrl), 11, _hoisted_22)\n ])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(row.totalUsedQuota), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(ProgressBar, {\n progress: (row.totalQuota == 0) ? 101 : (row.totalUsedQuota / row.totalQuota) * 100\n }, null, 8, [\"progress\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"p\", null, _toDisplayString(row.totalQuota || \"Unlimited\"), 1)\n ])\n ]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"total-data\"]),\n _createVNode(EndpointListModal, {\n \"is-modal-open\": isEndpointListModalOpen.value,\n data: selectedComponents.value,\n \"total-data\": totalSelectedComponents.value,\n onSearch: onSearchModal,\n onClose: _cache[8] || (_cache[8] = ($event: any) => (isEndpointListModalOpen.value = false)),\n onChangeSize: _cache[9] || (_cache[9] = (newSize) => (sizeModal.value = newSize)),\n onNext: _cache[10] || (_cache[10] = (newPage) => (pageModal.value = newPage)),\n onPrev: _cache[11] || (_cache[11] = (newPage) => (pageModal.value = newPage))\n }, null, 8, [\"is-modal-open\", \"data\", \"total-data\"])\n ]))\n}\n}\n\n})","import script from \"./MonthlyUsageTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./MonthlyUsageTab.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./MonthlyUsageTab.vue?vue&type=style&index=0&id=68a323cc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-68a323cc\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./EndpointListModal.vue?vue&type=style&index=0&id=1459a91a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./MonthlyUsageTab.vue?vue&type=style&index=0&id=68a323cc&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/no_data_medium.11cd593d.png\";"],"sourceRoot":""}