@gkd-kit/inspect 0.0.1704576041276 → 0.0.1704610648580
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -1
- package/dist/404.html +4 -4
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-qwACpRks.js → ActionCard.vue_vue_type_script_setup_true_lang-KN8nHOJN.js} +2 -2
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-qwACpRks.js.map → ActionCard.vue_vue_type_script_setup_true_lang-KN8nHOJN.js.map} +1 -1
- package/dist/assets/{DevicePage-BcY77MNN.js → DevicePage-FguKyD38.js} +2 -2
- package/dist/assets/{DevicePage-BcY77MNN.js.map → DevicePage-FguKyD38.js.map} +1 -1
- package/dist/assets/{HomePage-AewPpa9f.js → HomePage-LJ6tJeIo.js} +2 -2
- package/dist/assets/{HomePage-AewPpa9f.js.map → HomePage-LJ6tJeIo.js.map} +1 -1
- package/dist/assets/{ImportPage-N5zOrFlg.js → ImportPage-d1skZRs5.js} +2 -2
- package/dist/assets/{ImportPage-N5zOrFlg.js.map → ImportPage-d1skZRs5.js.map} +1 -1
- package/dist/assets/{SnapshotPage-GIDAU0T_.js → SnapshotPage-gHkXHteH.js} +35 -35
- package/dist/assets/{SnapshotPage-GIDAU0T_.js.map → SnapshotPage-gHkXHteH.js.map} +1 -1
- package/dist/assets/{_404Page-yqalp27n.js → _404Page-6YJbsWNT.js} +2 -2
- package/dist/assets/{_404Page-yqalp27n.js.map → _404Page-6YJbsWNT.js.map} +1 -1
- package/dist/assets/{import-8dE-g0dA.js → import-IQtnVVY0.js} +2 -2
- package/dist/assets/{import-8dE-g0dA.js.map → import-IQtnVVY0.js.map} +1 -1
- package/dist/assets/{index-LcmqHjos.js → index-5uzhPM_d.js} +4 -4
- package/dist/assets/{index-LcmqHjos.js.map → index-5uzhPM_d.js.map} +1 -1
- package/dist/assets/{index-bkFpkLHU.js → index-Q4k6D0xZ.js} +2 -2
- package/dist/assets/{index-bkFpkLHU.js.map → index-Q4k6D0xZ.js.map} +1 -1
- package/dist/assets/{jszip.min-zGVuynBP.js → jszip.min-C51QoCTv.js} +2 -2
- package/dist/assets/{jszip.min-zGVuynBP.js.map → jszip.min-C51QoCTv.js.map} +1 -1
- package/dist/assets/{node-NR_j6ej3.js → node-glh1kN-y.js} +2 -2
- package/dist/assets/{node-NR_j6ej3.js.map → node-glh1kN-y.js.map} +1 -1
- package/dist/assets/{storage-eMnHZqY5.js → storage-vCQhADOS.js} +2 -2
- package/dist/assets/{storage-eMnHZqY5.js.map → storage-vCQhADOS.js.map} +1 -1
- package/dist/assets/{table-QBsS0iMA.js → table-9yAkUXqj.js} +2 -2
- package/dist/assets/{table-QBsS0iMA.js.map → table-9yAkUXqj.js.map} +1 -1
- package/dist/index.html +4 -4
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-QBsS0iMA.js","sources":["../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/naive/prop.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/naive/attribute.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/vue/create-ref-setter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/vue/merge-handlers.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/composable/use-deferred-true.js","../../node_modules/.pnpm/vooks@0.2.12_vue@3.4.5/node_modules/vooks/es/use-keyboard.js","../../node_modules/.pnpm/vueuc@0.4.58_vue@3.4.5/node_modules/vueuc/es/overflow/src/index.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/composable/use-resize.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/ArrowDown.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/Backward.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/Checkmark.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/FastBackward.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/FastForward.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/Filter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/Forward.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/More.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/focus-detector/src/FocusDetector.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/src/SelectOption.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/src/SelectGroupHeader.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/src/SelectMenu.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/src/common-props.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/src/Tag.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/selection/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/selection/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/selection/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/selection/src/Selection.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/select/src/utils.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/src/interface.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/src/PopselectPanel.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/src/Popselect.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/select/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/select/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/select/src/Select.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/src/utils.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/src/Pagination.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/ellipsis/src/PerformantEllipsis.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderSorter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/interface.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/SortButton.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderFilter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/utils.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterMenu.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterButton.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/ResizeButton.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownDivider.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/context.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/utils.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownOption.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownGroupHeader.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownGroup.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownRenderOption.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownMenu.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/Dropdown.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/SelectionMenu.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/Header.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/Cell.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/ExpandTrigger.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/BodyCheckbox.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/BodyRadio.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/Body.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/MainTable.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-check.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-sorter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-table-data.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-scroll.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-resizable.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-group-header.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-expand.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/DataTable.js","../../src/utils/directives.ts","../../src/utils/size.tsx","../../src/utils/table.tsx"],"sourcesContent":["export function largerSize(size) {\n switch (size) {\n case 'tiny':\n return 'small';\n case 'small':\n return 'medium';\n case 'medium':\n return 'large';\n case 'large':\n return 'huge';\n }\n}\nexport function smallerSize(size) {\n switch (size) {\n case 'tiny':\n return 'mini';\n case 'small':\n return 'tiny';\n case 'medium':\n return 'small';\n case 'large':\n return 'medium';\n case 'huge':\n return 'large';\n }\n throw Error(`${size} has no smaller size.`);\n}\n","export function getTitleAttribute(value) {\n switch (typeof value) {\n case 'string':\n // The empty string should also be reset to undefined.\n return value || undefined;\n case 'number':\n return String(value);\n default:\n return undefined;\n }\n}\n","export function createRefSetter(ref) {\n return (inst) => {\n if (inst) {\n ref.value = inst.$el;\n }\n else {\n ref.value = null;\n }\n };\n}\n","export function mergeEventHandlers(handlers) {\n const filteredHandlers = handlers.filter((handler) => handler !== undefined);\n if (filteredHandlers.length === 0)\n return undefined;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (filteredHandlers.length === 1)\n return filteredHandlers[0];\n return (e) => {\n handlers.forEach((handler) => {\n if (handler) {\n handler(e);\n }\n });\n };\n}\n","import { ref, watch } from 'vue';\nexport function useDeferredTrue(valueRef, delay, shouldDelayRef) {\n if (!delay)\n return valueRef;\n const delayedRef = ref(valueRef.value);\n let timerId = null;\n watch(valueRef, (value) => {\n if (timerId !== null)\n window.clearTimeout(timerId);\n if (value === true) {\n if (shouldDelayRef && !shouldDelayRef.value) {\n delayedRef.value = true;\n }\n else {\n timerId = window.setTimeout(() => {\n delayedRef.value = true;\n }, delay);\n }\n }\n else {\n delayedRef.value = false;\n }\n });\n return delayedRef;\n}\n","import { onBeforeMount, onBeforeUnmount, reactive, readonly, watch } from 'vue';\nimport { on, off } from 'evtd';\nimport { hasInstance } from './utils';\nexport default function useKeyboard(options = {}, enabledRef) {\n const state = reactive({\n ctrl: false,\n command: false,\n win: false,\n shift: false,\n tab: false\n });\n const { keydown, keyup } = options;\n const keydownHandler = (e) => {\n switch (e.key) {\n case 'Control':\n state.ctrl = true;\n break;\n case 'Meta':\n state.command = true;\n state.win = true;\n break;\n case 'Shift':\n state.shift = true;\n break;\n case 'Tab':\n state.tab = true;\n break;\n }\n if (keydown !== undefined) {\n Object.keys(keydown).forEach(key => {\n if (key !== e.key)\n return;\n const handler = keydown[key];\n if (typeof handler === 'function') {\n handler(e);\n }\n else {\n const { stop = false, prevent = false } = handler;\n if (stop)\n e.stopPropagation();\n if (prevent)\n e.preventDefault();\n handler.handler(e);\n }\n });\n }\n };\n const keyupHandler = (e) => {\n switch (e.key) {\n case 'Control':\n state.ctrl = false;\n break;\n case 'Meta':\n state.command = false;\n state.win = false;\n break;\n case 'Shift':\n state.shift = false;\n break;\n case 'Tab':\n state.tab = false;\n break;\n }\n if (keyup !== undefined) {\n Object.keys(keyup).forEach(key => {\n if (key !== e.key)\n return;\n const handler = keyup[key];\n if (typeof handler === 'function') {\n handler(e);\n }\n else {\n const { stop = false, prevent = false } = handler;\n if (stop)\n e.stopPropagation();\n if (prevent)\n e.preventDefault();\n handler.handler(e);\n }\n });\n }\n };\n const setup = () => {\n if (enabledRef === undefined || enabledRef.value) {\n on('keydown', document, keydownHandler);\n on('keyup', document, keyupHandler);\n }\n if (enabledRef !== undefined) {\n watch(enabledRef, value => {\n if (value) {\n on('keydown', document, keydownHandler);\n on('keyup', document, keyupHandler);\n }\n else {\n off('keydown', document, keydownHandler);\n off('keyup', document, keyupHandler);\n }\n });\n }\n };\n if (hasInstance()) {\n onBeforeMount(setup);\n onBeforeUnmount(() => {\n if (enabledRef === undefined || enabledRef.value) {\n off('keydown', document, keydownHandler);\n off('keyup', document, keyupHandler);\n }\n });\n }\n else {\n setup();\n }\n return readonly(state);\n}\n","/* eslint-disable @typescript-eslint/strict-boolean-expressions */\nimport { defineComponent, renderSlot, h, onMounted, ref, nextTick } from 'vue';\nimport { useSsrAdapter } from '@css-render/vue3-ssr';\nimport { c, cssrAnchorMetaName } from '../../shared';\nconst hiddenAttr = 'v-hidden';\nconst style = c('[v-hidden]', {\n display: 'none!important'\n});\nexport default defineComponent({\n name: 'Overflow',\n props: {\n getCounter: Function,\n getTail: Function,\n updateCounter: Function,\n onUpdateCount: Function,\n onUpdateOverflow: Function\n },\n setup(props, { slots }) {\n const selfRef = ref(null);\n const counterRef = ref(null);\n function deriveCounter(options) {\n const { value: self } = selfRef;\n const { getCounter, getTail } = props;\n let counter;\n if (getCounter !== undefined)\n counter = getCounter();\n else {\n counter = counterRef.value;\n }\n if (!self || !counter)\n return;\n if (counter.hasAttribute(hiddenAttr)) {\n counter.removeAttribute(hiddenAttr);\n }\n const { children } = self;\n if (options.showAllItemsBeforeCalculate) {\n for (const child of children) {\n if (child.hasAttribute(hiddenAttr)) {\n child.removeAttribute(hiddenAttr);\n }\n }\n }\n const containerWidth = self.offsetWidth;\n const childWidths = [];\n const tail = slots.tail ? getTail === null || getTail === void 0 ? void 0 : getTail() : null;\n let childWidthSum = tail ? tail.offsetWidth : 0;\n let overflow = false;\n const len = self.children.length - (slots.tail ? 1 : 0);\n for (let i = 0; i < len - 1; ++i) {\n if (i < 0)\n continue;\n const child = children[i];\n if (overflow) {\n if (!child.hasAttribute(hiddenAttr)) {\n child.setAttribute(hiddenAttr, '');\n }\n continue;\n }\n else if (child.hasAttribute(hiddenAttr)) {\n child.removeAttribute(hiddenAttr);\n }\n const childWidth = child.offsetWidth;\n childWidthSum += childWidth;\n childWidths[i] = childWidth;\n if (childWidthSum > containerWidth) {\n const { updateCounter } = props;\n for (let j = i; j >= 0; --j) {\n const restCount = len - 1 - j;\n if (updateCounter !== undefined) {\n updateCounter(restCount);\n }\n else {\n counter.textContent = `${restCount}`;\n }\n const counterWidth = counter.offsetWidth;\n childWidthSum -= childWidths[j];\n if (childWidthSum + counterWidth <= containerWidth || j === 0) {\n overflow = true;\n i = j - 1;\n if (tail) {\n // tail too long or 1st element too long\n // we only consider tail now\n if (i === -1) {\n tail.style.maxWidth = `${containerWidth - counterWidth}px`;\n tail.style.boxSizing = 'border-box';\n }\n else {\n tail.style.maxWidth = '';\n }\n }\n const { onUpdateCount } = props;\n if (onUpdateCount)\n onUpdateCount(restCount);\n break;\n }\n }\n }\n }\n const { onUpdateOverflow } = props;\n if (!overflow) {\n if (onUpdateOverflow !== undefined) {\n onUpdateOverflow(false);\n }\n counter.setAttribute(hiddenAttr, '');\n }\n else {\n if (onUpdateOverflow !== undefined) {\n onUpdateOverflow(true);\n }\n }\n }\n const ssrAdapter = useSsrAdapter();\n style.mount({\n id: 'vueuc/overflow',\n head: true,\n anchorMetaName: cssrAnchorMetaName,\n ssr: ssrAdapter\n });\n onMounted(() => deriveCounter({\n showAllItemsBeforeCalculate: false\n }));\n // besides onMounted, other case should be manually triggered, or we shoud watch items\n return {\n selfRef,\n counterRef,\n sync: deriveCounter\n };\n },\n render() {\n const { $slots } = this;\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n nextTick(() => this.sync({\n showAllItemsBeforeCalculate: false\n }));\n // It shouldn't have border\n return h('div', {\n class: 'v-overflow',\n ref: 'selfRef'\n }, [\n renderSlot($slots, 'default'),\n // $slots.counter should only has 1 element\n $slots.counter\n ? $slots.counter()\n : h('span', {\n style: {\n display: 'inline-block'\n },\n ref: 'counterRef'\n }),\n // $slots.tail should only has 1 element\n $slots.tail ? $slots.tail() : null\n ]);\n }\n});\n","import { onBeforeUnmount, onMounted } from 'vue';\nimport { resizeObserverManager } from 'vueuc';\nexport function useOnResize(elRef, onResize) {\n // it needn't be reactive since it's for internal usage\n if (onResize) {\n onMounted(() => {\n const { value: el } = elRef;\n if (el) {\n resizeObserverManager.registerHandler(el, onResize);\n }\n });\n onBeforeUnmount(() => {\n const { value: el } = elRef;\n if (el) {\n resizeObserverManager.unregisterHandler(el);\n }\n });\n }\n}\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'ArrowDown',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 28 28\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M23.7916,15.2664 C24.0788,14.9679 24.0696,14.4931 23.7711,14.206 C23.4726,13.9188 22.9978,13.928 22.7106,14.2265 L14.7511,22.5007 L14.7511,3.74792 C14.7511,3.33371 14.4153,2.99792 14.0011,2.99792 C13.5869,2.99792 13.2511,3.33371 13.2511,3.74793 L13.2511,22.4998 L5.29259,14.2265 C5.00543,13.928 4.53064,13.9188 4.23213,14.206 C3.93361,14.4931 3.9244,14.9679 4.21157,15.2664 L13.2809,24.6944 C13.6743,25.1034 14.3289,25.1034 14.7223,24.6944 L23.7916,15.2664 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Backward',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"path\", { d: \"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z\", fill: \"currentColor\" })));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Checkmark',\n render() {\n return (h(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 16 16\" },\n h(\"g\", { fill: \"none\" },\n h(\"path\", { d: \"M14.046 3.486a.75.75 0 0 1-.032 1.06l-7.93 7.474a.85.85 0 0 1-1.188-.022l-2.68-2.72a.75.75 0 1 1 1.068-1.053l2.234 2.267l7.468-7.038a.75.75 0 0 1 1.06.032z\", fill: \"currentColor\" }))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'FastBackward',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 20 20\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", fill: \"none\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { fill: \"currentColor\", \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'FastForward',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 20 20\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", fill: \"none\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { fill: \"currentColor\", \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Filter',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 28 28\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M17,19 C17.5522847,19 18,19.4477153 18,20 C18,20.5522847 17.5522847,21 17,21 L11,21 C10.4477153,21 10,20.5522847 10,20 C10,19.4477153 10.4477153,19 11,19 L17,19 Z M21,13 C21.5522847,13 22,13.4477153 22,14 C22,14.5522847 21.5522847,15 21,15 L7,15 C6.44771525,15 6,14.5522847 6,14 C6,13.4477153 6.44771525,13 7,13 L21,13 Z M24,7 C24.5522847,7 25,7.44771525 25,8 C25,8.55228475 24.5522847,9 24,9 L4,9 C3.44771525,9 3,8.55228475 3,8 C3,7.44771525 3.44771525,7 4,7 L24,7 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Forward',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"path\", { d: \"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z\", fill: \"currentColor\" })));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'More',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 16 16\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", fill: \"none\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { fill: \"currentColor\", \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M4,7 C4.55228,7 5,7.44772 5,8 C5,8.55229 4.55228,9 4,9 C3.44772,9 3,8.55229 3,8 C3,7.44772 3.44772,7 4,7 Z M8,7 C8.55229,7 9,7.44772 9,8 C9,8.55229 8.55229,9 8,9 C7.44772,9 7,8.55229 7,8 C7,7.44772 7.44772,7 8,7 Z M12,7 C12.5523,7 13,7.44772 13,8 C13,8.55229 12.5523,9 12,9 C11.4477,9 11,8.55229 11,8 C11,7.44772 11.4477,7 12,7 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n props: {\n onFocus: Function,\n onBlur: Function\n },\n setup(props) {\n return () => (h(\"div\", { style: \"width: 0; height: 0\", tabindex: 0, onFocus: props.onFocus, onBlur: props.onBlur }));\n }\n});\n","export default {\n height: 'calc(var(--n-option-height) * 7.6)',\n paddingSmall: '4px 0',\n paddingMedium: '4px 0',\n paddingLarge: '4px 0',\n paddingHuge: '4px 0',\n optionPaddingSmall: '0 12px',\n optionPaddingMedium: '0 12px',\n optionPaddingLarge: '0 12px',\n optionPaddingHuge: '0 12px',\n loadingSize: '18px'\n};\n","import { emptyLight } from '../../../empty/styles';\nimport { scrollbarLight } from '../../scrollbar/styles';\nimport { commonLight } from '../../../_styles/common';\nimport commonVariables from './_common';\nimport { createTheme } from '../../../_mixins';\nexport const self = (vars) => {\n const { borderRadius, popoverColor, textColor3, dividerColor, textColor2, primaryColorPressed, textColorDisabled, primaryColor, opacityDisabled, hoverColor, fontSizeSmall, fontSizeMedium, fontSizeLarge, fontSizeHuge, heightSmall, heightMedium, heightLarge, heightHuge } = vars;\n return Object.assign(Object.assign({}, commonVariables), { optionFontSizeSmall: fontSizeSmall, optionFontSizeMedium: fontSizeMedium, optionFontSizeLarge: fontSizeLarge, optionFontSizeHuge: fontSizeHuge, optionHeightSmall: heightSmall, optionHeightMedium: heightMedium, optionHeightLarge: heightLarge, optionHeightHuge: heightHuge, borderRadius, color: popoverColor, groupHeaderTextColor: textColor3, actionDividerColor: dividerColor, optionTextColor: textColor2, optionTextColorPressed: primaryColorPressed, optionTextColorDisabled: textColorDisabled, optionTextColorActive: primaryColor, optionOpacityDisabled: opacityDisabled, optionCheckColor: primaryColor, optionColorPending: hoverColor, optionColorActive: 'rgba(0, 0, 0, 0)', optionColorActivePending: hoverColor, actionTextColor: textColor2, loadingColor: primaryColor });\n};\nconst internalSelectMenuLight = createTheme({\n name: 'InternalSelectMenu',\n common: commonLight,\n peers: {\n Scrollbar: scrollbarLight,\n Empty: emptyLight\n },\n self\n});\nexport default internalSelectMenuLight;\n","import { h, inject, defineComponent, Transition } from 'vue';\nimport { useMemo } from 'vooks';\nimport { render, mergeEventHandlers } from '../../../_utils';\nimport { CheckmarkIcon } from '../../icons';\nimport { NBaseIcon } from '../../icon';\nimport { internalSelectionMenuInjectionKey } from './interface';\nfunction renderCheckMark(show, clsPrefix) {\n return (h(Transition, { name: \"fade-in-scale-up-transition\" }, {\n default: () => show ? (h(NBaseIcon, { clsPrefix: clsPrefix, class: `${clsPrefix}-base-select-option__check` }, {\n default: () => h(CheckmarkIcon)\n })) : null\n }));\n}\nexport default defineComponent({\n name: 'NBaseSelectOption',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup(props) {\n const { valueRef, pendingTmNodeRef, multipleRef, valueSetRef, renderLabelRef, renderOptionRef, labelFieldRef, valueFieldRef, showCheckmarkRef, nodePropsRef, handleOptionClick, handleOptionMouseEnter\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(internalSelectionMenuInjectionKey);\n const isPendingRef = useMemo(() => {\n const { value: pendingTmNode } = pendingTmNodeRef;\n if (!pendingTmNode)\n return false;\n return props.tmNode.key === pendingTmNode.key;\n });\n function handleClick(e) {\n const { tmNode } = props;\n if (tmNode.disabled)\n return;\n handleOptionClick(e, tmNode);\n }\n function handleMouseEnter(e) {\n const { tmNode } = props;\n if (tmNode.disabled)\n return;\n handleOptionMouseEnter(e, tmNode);\n }\n function handleMouseMove(e) {\n const { tmNode } = props;\n const { value: isPending } = isPendingRef;\n if (tmNode.disabled || isPending)\n return;\n handleOptionMouseEnter(e, tmNode);\n }\n return {\n multiple: multipleRef,\n isGrouped: useMemo(() => {\n const { tmNode } = props;\n const { parent } = tmNode;\n return parent && parent.rawNode.type === 'group';\n }),\n showCheckmark: showCheckmarkRef,\n nodeProps: nodePropsRef,\n isPending: isPendingRef,\n isSelected: useMemo(() => {\n const { value } = valueRef;\n const { value: multiple } = multipleRef;\n if (value === null)\n return false;\n const optionValue = props.tmNode.rawNode[valueFieldRef.value];\n if (multiple) {\n const { value: valueSet } = valueSetRef;\n return valueSet.has(optionValue);\n }\n else {\n return value === optionValue;\n }\n }),\n labelField: labelFieldRef,\n renderLabel: renderLabelRef,\n renderOption: renderOptionRef,\n handleMouseMove,\n handleMouseEnter,\n handleClick\n };\n },\n render() {\n const { clsPrefix, tmNode: { rawNode }, isSelected, isPending, isGrouped, showCheckmark, nodeProps, renderOption, renderLabel, handleClick, handleMouseEnter, handleMouseMove } = this;\n const checkmark = renderCheckMark(isSelected, clsPrefix);\n const children = renderLabel\n ? [renderLabel(rawNode, isSelected), showCheckmark && checkmark]\n : [\n render(rawNode[this.labelField], rawNode, isSelected),\n showCheckmark && checkmark\n ];\n const attrs = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const node = (h(\"div\", Object.assign({}, attrs, { class: [\n `${clsPrefix}-base-select-option`,\n rawNode.class,\n attrs === null || attrs === void 0 ? void 0 : attrs.class,\n {\n [`${clsPrefix}-base-select-option--disabled`]: rawNode.disabled,\n [`${clsPrefix}-base-select-option--selected`]: isSelected,\n [`${clsPrefix}-base-select-option--grouped`]: isGrouped,\n [`${clsPrefix}-base-select-option--pending`]: isPending,\n [`${clsPrefix}-base-select-option--show-checkmark`]: showCheckmark\n }\n ], style: [(attrs === null || attrs === void 0 ? void 0 : attrs.style) || '', rawNode.style || ''], onClick: mergeEventHandlers([handleClick, attrs === null || attrs === void 0 ? void 0 : attrs.onClick]), onMouseenter: mergeEventHandlers([\n handleMouseEnter,\n attrs === null || attrs === void 0 ? void 0 : attrs.onMouseenter\n ]), onMousemove: mergeEventHandlers([handleMouseMove, attrs === null || attrs === void 0 ? void 0 : attrs.onMousemove]) }),\n h(\"div\", { class: `${clsPrefix}-base-select-option__content` }, children)));\n return rawNode.render\n ? rawNode.render({ node, option: rawNode, selected: isSelected })\n : renderOption\n ? renderOption({ node, option: rawNode, selected: isSelected })\n : node;\n }\n});\n","import { h, defineComponent, inject } from 'vue';\nimport { render } from '../../../_utils';\nimport { internalSelectionMenuInjectionKey } from './interface';\nexport default defineComponent({\n name: 'NBaseSelectGroupHeader',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup() {\n const { renderLabelRef, renderOptionRef, labelFieldRef, nodePropsRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(internalSelectionMenuInjectionKey);\n return {\n labelField: labelFieldRef,\n nodeProps: nodePropsRef,\n renderLabel: renderLabelRef,\n renderOption: renderOptionRef\n };\n },\n render() {\n const { clsPrefix, renderLabel, renderOption, nodeProps, tmNode: { rawNode } } = this;\n const attrs = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const children = renderLabel\n ? renderLabel(rawNode, false)\n : render(rawNode[this.labelField], rawNode, false);\n const node = (h(\"div\", Object.assign({}, attrs, { class: [`${clsPrefix}-base-select-group-header`, attrs === null || attrs === void 0 ? void 0 : attrs.class] }), children));\n return rawNode.render\n ? rawNode.render({ node, option: rawNode })\n : renderOption\n ? renderOption({ node, option: rawNode, selected: false })\n : node;\n }\n});\n","import { c, cB, cE, cM, cNotM } from '../../../../_utils/cssr';\nimport { fadeInScaleUpTransition } from '../../../../_styles/transitions/fade-in-scale-up.cssr';\n// --n-loading-color\n// --n-loading-size\n// --n-option-padding-right\nexport default cB('base-select-menu', `\n line-height: 1.5;\n outline: none;\n z-index: 0;\n position: relative;\n border-radius: var(--n-border-radius);\n transition:\n background-color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier);\n background-color: var(--n-color);\n`, [cB('scrollbar', `\n max-height: var(--n-height);\n `), cB('virtual-list', `\n max-height: var(--n-height);\n `), cB('base-select-option', `\n min-height: var(--n-option-height);\n font-size: var(--n-option-font-size);\n display: flex;\n align-items: center;\n `, [cE('content', `\n z-index: 1;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n `)]), cB('base-select-group-header', `\n min-height: var(--n-option-height);\n font-size: .93em;\n display: flex;\n align-items: center;\n `), cB('base-select-menu-option-wrapper', `\n position: relative;\n width: 100%;\n `), cE('loading, empty', `\n display: flex;\n padding: 12px 32px;\n flex: 1;\n justify-content: center;\n `), cE('loading', `\n color: var(--n-loading-color);\n font-size: var(--n-loading-size);\n `), cE('header', `\n padding: 8px var(--n-option-padding-left);\n font-size: var(--n-option-font-size);\n transition: \n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n border-bottom: 1px solid var(--n-action-divider-color);\n color: var(--n-action-text-color);\n `), cE('action', `\n padding: 8px var(--n-option-padding-left);\n font-size: var(--n-option-font-size);\n transition: \n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n border-top: 1px solid var(--n-action-divider-color);\n color: var(--n-action-text-color);\n `), cB('base-select-group-header', `\n position: relative;\n cursor: default;\n padding: var(--n-option-padding);\n color: var(--n-group-header-text-color);\n `), cB('base-select-option', `\n cursor: pointer;\n position: relative;\n padding: var(--n-option-padding);\n transition:\n color .3s var(--n-bezier),\n opacity .3s var(--n-bezier);\n box-sizing: border-box;\n color: var(--n-option-text-color);\n opacity: 1;\n `, [cM('show-checkmark', `\n padding-right: calc(var(--n-option-padding-right) + 20px);\n `), c('&::before', `\n content: \"\";\n position: absolute;\n left: 4px;\n right: 4px;\n top: 0;\n bottom: 0;\n border-radius: var(--n-border-radius);\n transition: background-color .3s var(--n-bezier);\n `), c('&:active', `\n color: var(--n-option-text-color-pressed);\n `), cM('grouped', `\n padding-left: calc(var(--n-option-padding-left) * 1.5);\n `), cM('pending', [c('&::before', `\n background-color: var(--n-option-color-pending);\n `)]), cM('selected', `\n color: var(--n-option-text-color-active);\n `, [c('&::before', `\n background-color: var(--n-option-color-active);\n `), cM('pending', [c('&::before', `\n background-color: var(--n-option-color-active-pending);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n `, [cNotM('selected', `\n color: var(--n-option-text-color-disabled);\n `), cM('selected', `\n opacity: var(--n-option-opacity-disabled);\n `)]), cE('check', `\n font-size: 16px;\n position: absolute;\n right: calc(var(--n-option-padding-right) - 4px);\n top: calc(50% - 7px);\n color: var(--n-option-check-color);\n transition: color .3s var(--n-bezier);\n `, [fadeInScaleUpTransition({\n enterScale: '0.5'\n})])])]);","import { h, ref, onMounted, computed, defineComponent, toRef, provide, nextTick, watch, onBeforeUnmount } from 'vue';\nimport { createIndexGetter } from 'treemate';\nimport { VirtualList } from 'vueuc';\nimport { depx, getPadding, happensIn } from 'seemly';\nimport { NEmpty } from '../../../empty';\nimport { NScrollbar } from '../../scrollbar';\nimport { resolveSlot, resolveWrappedSlot, useOnResize } from '../../../_utils';\nimport { createKey } from '../../../_utils/cssr';\nimport { useThemeClass, useTheme } from '../../../_mixins';\nimport NInternalLoading from '../../loading';\nimport NFocusDetector from '../../focus-detector';\nimport { internalSelectMenuLight } from '../styles';\nimport NSelectOption from './SelectOption';\nimport NSelectGroupHeader from './SelectGroupHeader';\nimport { internalSelectionMenuInjectionKey, internalSelectionMenuBodyInjectionKey } from './interface';\nimport style from './styles/index.cssr';\nexport default defineComponent({\n name: 'InternalSelectMenu',\n props: Object.assign(Object.assign({}, useTheme.props), { clsPrefix: {\n type: String,\n required: true\n }, scrollable: {\n type: Boolean,\n default: true\n }, treeMate: {\n type: Object,\n required: true\n }, multiple: Boolean, size: {\n type: String,\n default: 'medium'\n }, value: {\n type: [String, Number, Array],\n default: null\n }, autoPending: Boolean, virtualScroll: {\n type: Boolean,\n default: true\n }, \n // show is used to toggle pending state initialization\n show: {\n type: Boolean,\n default: true\n }, labelField: {\n type: String,\n default: 'label'\n }, valueField: {\n type: String,\n default: 'value'\n }, loading: Boolean, focusable: Boolean, renderLabel: Function, renderOption: Function, nodeProps: Function, showCheckmark: { type: Boolean, default: true }, onMousedown: Function, onScroll: Function, onFocus: Function, onBlur: Function, onKeyup: Function, onKeydown: Function, onTabOut: Function, onMouseenter: Function, onMouseleave: Function, onResize: Function, resetMenuOnOptionsChange: {\n type: Boolean,\n default: true\n }, inlineThemeDisabled: Boolean, \n // deprecated\n onToggle: Function }),\n setup(props) {\n const themeRef = useTheme('InternalSelectMenu', '-internal-select-menu', style, internalSelectMenuLight, props, toRef(props, 'clsPrefix'));\n const selfRef = ref(null);\n const virtualListRef = ref(null);\n const scrollbarRef = ref(null);\n const flattenedNodesRef = computed(() => props.treeMate.getFlattenedNodes());\n const fIndexGetterRef = computed(() => createIndexGetter(flattenedNodesRef.value));\n const pendingNodeRef = ref(null);\n function initPendingNode() {\n const { treeMate } = props;\n let defaultPendingNode = null;\n const { value } = props;\n if (value === null) {\n defaultPendingNode = treeMate.getFirstAvailableNode();\n }\n else {\n if (props.multiple) {\n defaultPendingNode = treeMate.getNode((value || [])[(value || []).length - 1]);\n }\n else {\n defaultPendingNode = treeMate.getNode(value);\n }\n if (!defaultPendingNode || defaultPendingNode.disabled) {\n defaultPendingNode = treeMate.getFirstAvailableNode();\n }\n }\n if (defaultPendingNode) {\n setPendingTmNode(defaultPendingNode);\n }\n else {\n setPendingTmNode(null);\n }\n }\n function clearPendingNodeIfInvalid() {\n const { value: pendingNode } = pendingNodeRef;\n if (pendingNode && !props.treeMate.getNode(pendingNode.key)) {\n pendingNodeRef.value = null;\n }\n }\n let initPendingNodeWatchStopHandle;\n watch(() => props.show, (show) => {\n if (show) {\n initPendingNodeWatchStopHandle = watch(() => props.treeMate, () => {\n if (props.resetMenuOnOptionsChange) {\n if (props.autoPending) {\n initPendingNode();\n }\n else {\n clearPendingNodeIfInvalid();\n }\n void nextTick(scrollToPendingNode);\n }\n else {\n clearPendingNodeIfInvalid();\n }\n }, {\n immediate: true\n });\n }\n else {\n initPendingNodeWatchStopHandle === null || initPendingNodeWatchStopHandle === void 0 ? void 0 : initPendingNodeWatchStopHandle();\n }\n }, {\n immediate: true\n });\n onBeforeUnmount(() => {\n initPendingNodeWatchStopHandle === null || initPendingNodeWatchStopHandle === void 0 ? void 0 : initPendingNodeWatchStopHandle();\n });\n const itemSizeRef = computed(() => {\n return depx(themeRef.value.self[createKey('optionHeight', props.size)]);\n });\n const paddingRef = computed(() => {\n return getPadding(themeRef.value.self[createKey('padding', props.size)]);\n });\n const valueSetRef = computed(() => {\n if (props.multiple && Array.isArray(props.value)) {\n return new Set(props.value);\n }\n return new Set();\n });\n const emptyRef = computed(() => {\n const tmNodes = flattenedNodesRef.value;\n return tmNodes && tmNodes.length === 0;\n });\n function doToggle(tmNode) {\n const { onToggle } = props;\n if (onToggle)\n onToggle(tmNode);\n }\n function doScroll(e) {\n const { onScroll } = props;\n if (onScroll)\n onScroll(e);\n }\n // required, scroller sync need to be triggered manually\n function handleVirtualListScroll(e) {\n var _a;\n (_a = scrollbarRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n doScroll(e);\n }\n function handleVirtualListResize() {\n var _a;\n (_a = scrollbarRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n }\n function getPendingTmNode() {\n const { value: pendingTmNode } = pendingNodeRef;\n if (pendingTmNode)\n return pendingTmNode;\n return null;\n }\n function handleOptionMouseEnter(e, tmNode) {\n if (tmNode.disabled)\n return;\n setPendingTmNode(tmNode, false);\n }\n function handleOptionClick(e, tmNode) {\n if (tmNode.disabled)\n return;\n doToggle(tmNode);\n }\n // keyboard related methods\n function handleKeyUp(e) {\n var _a;\n if (happensIn(e, 'action'))\n return;\n (_a = props.onKeyup) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handleKeyDown(e) {\n var _a;\n if (happensIn(e, 'action'))\n return;\n (_a = props.onKeydown) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handleMouseDown(e) {\n var _a;\n (_a = props.onMousedown) === null || _a === void 0 ? void 0 : _a.call(props, e);\n if (props.focusable)\n return;\n e.preventDefault();\n }\n function next() {\n const { value: pendingTmNode } = pendingNodeRef;\n if (pendingTmNode) {\n setPendingTmNode(pendingTmNode.getNext({ loop: true }), true);\n }\n }\n function prev() {\n const { value: pendingTmNode } = pendingNodeRef;\n if (pendingTmNode) {\n setPendingTmNode(pendingTmNode.getPrev({ loop: true }), true);\n }\n }\n function setPendingTmNode(tmNode, doScroll = false) {\n pendingNodeRef.value = tmNode;\n if (doScroll)\n scrollToPendingNode();\n }\n function scrollToPendingNode() {\n var _a, _b;\n const tmNode = pendingNodeRef.value;\n if (!tmNode)\n return;\n const fIndex = fIndexGetterRef.value(tmNode.key);\n if (fIndex === null)\n return;\n if (props.virtualScroll) {\n (_a = virtualListRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo({ index: fIndex });\n }\n else {\n (_b = scrollbarRef.value) === null || _b === void 0 ? void 0 : _b.scrollTo({\n index: fIndex,\n elSize: itemSizeRef.value\n });\n }\n }\n function handleFocusin(e) {\n var _a, _b;\n if ((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {\n (_b = props.onFocus) === null || _b === void 0 ? void 0 : _b.call(props, e);\n }\n }\n function handleFocusout(e) {\n var _a, _b;\n if (!((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget))) {\n (_b = props.onBlur) === null || _b === void 0 ? void 0 : _b.call(props, e);\n }\n }\n provide(internalSelectionMenuInjectionKey, {\n handleOptionMouseEnter,\n handleOptionClick,\n valueSetRef,\n pendingTmNodeRef: pendingNodeRef,\n nodePropsRef: toRef(props, 'nodeProps'),\n showCheckmarkRef: toRef(props, 'showCheckmark'),\n multipleRef: toRef(props, 'multiple'),\n valueRef: toRef(props, 'value'),\n renderLabelRef: toRef(props, 'renderLabel'),\n renderOptionRef: toRef(props, 'renderOption'),\n labelFieldRef: toRef(props, 'labelField'),\n valueFieldRef: toRef(props, 'valueField')\n });\n provide(internalSelectionMenuBodyInjectionKey, selfRef);\n onMounted(() => {\n const { value } = scrollbarRef;\n if (value)\n value.sync();\n });\n const cssVarsRef = computed(() => {\n const { size } = props;\n const { common: { cubicBezierEaseInOut }, self: { height, borderRadius, color, groupHeaderTextColor, actionDividerColor, optionTextColorPressed, optionTextColor, optionTextColorDisabled, optionTextColorActive, optionOpacityDisabled, optionCheckColor, actionTextColor, optionColorPending, optionColorActive, loadingColor, loadingSize, optionColorActivePending, [createKey('optionFontSize', size)]: fontSize, [createKey('optionHeight', size)]: optionHeight, [createKey('optionPadding', size)]: optionPadding } } = themeRef.value;\n return {\n '--n-height': height,\n '--n-action-divider-color': actionDividerColor,\n '--n-action-text-color': actionTextColor,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border-radius': borderRadius,\n '--n-color': color,\n '--n-option-font-size': fontSize,\n '--n-group-header-text-color': groupHeaderTextColor,\n '--n-option-check-color': optionCheckColor,\n '--n-option-color-pending': optionColorPending,\n '--n-option-color-active': optionColorActive,\n '--n-option-color-active-pending': optionColorActivePending,\n '--n-option-height': optionHeight,\n '--n-option-opacity-disabled': optionOpacityDisabled,\n '--n-option-text-color': optionTextColor,\n '--n-option-text-color-active': optionTextColorActive,\n '--n-option-text-color-disabled': optionTextColorDisabled,\n '--n-option-text-color-pressed': optionTextColorPressed,\n '--n-option-padding': optionPadding,\n '--n-option-padding-left': getPadding(optionPadding, 'left'),\n '--n-option-padding-right': getPadding(optionPadding, 'right'),\n '--n-loading-color': loadingColor,\n '--n-loading-size': loadingSize\n };\n });\n const { inlineThemeDisabled } = props;\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('internal-select-menu', computed(() => props.size[0]), cssVarsRef, props)\n : undefined;\n const exposedProps = {\n selfRef,\n next,\n prev,\n getPendingTmNode\n };\n useOnResize(selfRef, props.onResize);\n return Object.assign({ mergedTheme: themeRef, virtualListRef,\n scrollbarRef, itemSize: itemSizeRef, padding: paddingRef, flattenedNodes: flattenedNodesRef, empty: emptyRef, virtualListContainer() {\n const { value } = virtualListRef;\n return value === null || value === void 0 ? void 0 : value.listElRef;\n },\n virtualListContent() {\n const { value } = virtualListRef;\n return value === null || value === void 0 ? void 0 : value.itemsElRef;\n },\n doScroll,\n handleFocusin,\n handleFocusout,\n handleKeyUp,\n handleKeyDown,\n handleMouseDown,\n handleVirtualListResize,\n handleVirtualListScroll, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender }, exposedProps);\n },\n render() {\n const { $slots, virtualScroll, clsPrefix, mergedTheme, themeClass, onRender } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n return (h(\"div\", { ref: \"selfRef\", tabindex: this.focusable ? 0 : -1, class: [\n `${clsPrefix}-base-select-menu`,\n themeClass,\n this.multiple && `${clsPrefix}-base-select-menu--multiple`\n ], style: this.cssVars, onFocusin: this.handleFocusin, onFocusout: this.handleFocusout, onKeyup: this.handleKeyUp, onKeydown: this.handleKeyDown, onMousedown: this.handleMouseDown, onMouseenter: this.onMouseenter, onMouseleave: this.onMouseleave },\n resolveWrappedSlot($slots.header, (children) => children && (h(\"div\", { class: `${clsPrefix}-base-select-menu__header`, \"data-header\": true, key: \"header\" }, children))),\n this.loading ? (h(\"div\", { class: `${clsPrefix}-base-select-menu__loading` },\n h(NInternalLoading, { clsPrefix: clsPrefix, strokeWidth: 20 }))) : !this.empty ? (h(NScrollbar, { ref: \"scrollbarRef\", theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar, scrollable: this.scrollable, container: virtualScroll ? this.virtualListContainer : undefined, content: virtualScroll ? this.virtualListContent : undefined, onScroll: virtualScroll ? undefined : this.doScroll }, {\n default: () => {\n return virtualScroll ? (h(VirtualList, { ref: \"virtualListRef\", class: `${clsPrefix}-virtual-list`, items: this.flattenedNodes, itemSize: this.itemSize, showScrollbar: false, paddingTop: this.padding.top, paddingBottom: this.padding.bottom, onResize: this.handleVirtualListResize, onScroll: this.handleVirtualListScroll, itemResizable: true }, {\n default: ({ item: tmNode }) => {\n return tmNode.isGroup ? (h(NSelectGroupHeader, { key: tmNode.key, clsPrefix: clsPrefix, tmNode: tmNode })) : tmNode.ignored ? null : (h(NSelectOption, { clsPrefix: clsPrefix, key: tmNode.key, tmNode: tmNode }));\n }\n })) : (h(\"div\", { class: `${clsPrefix}-base-select-menu-option-wrapper`, style: {\n paddingTop: this.padding.top,\n paddingBottom: this.padding.bottom\n } }, this.flattenedNodes.map((tmNode) => tmNode.isGroup ? (h(NSelectGroupHeader, { key: tmNode.key, clsPrefix: clsPrefix, tmNode: tmNode })) : (h(NSelectOption, { clsPrefix: clsPrefix, key: tmNode.key, tmNode: tmNode })))));\n }\n })) : (h(\"div\", { class: `${clsPrefix}-base-select-menu__empty`, \"data-empty\": true, \"data-action\": true }, resolveSlot($slots.empty, () => [\n h(NEmpty, { theme: mergedTheme.peers.Empty, themeOverrides: mergedTheme.peerOverrides.Empty })\n ]))),\n resolveWrappedSlot($slots.action, (children) => children && [\n h(\"div\", { class: `${clsPrefix}-base-select-menu__action`, \"data-action\": true, key: \"action\" }, children),\n h(NFocusDetector, { onFocus: this.onTabOut, key: \"focus-detector\" })\n ])));\n }\n});\n","export default {\n closeIconSizeTiny: '12px',\n closeIconSizeSmall: '12px',\n closeIconSizeMedium: '14px',\n closeIconSizeLarge: '14px',\n closeSizeTiny: '16px',\n closeSizeSmall: '16px',\n closeSizeMedium: '18px',\n closeSizeLarge: '18px',\n padding: '0 7px',\n closeMargin: '0 0 0 4px',\n closeMarginRtl: '0 4px 0 0'\n};\n","import commonVariables from './_common';\nimport { changeColor } from 'seemly';\nimport { commonLight } from '../../_styles/common';\nconst self = (vars) => {\n const { textColor2, primaryColorHover, primaryColorPressed, primaryColor, infoColor, successColor, warningColor, errorColor, baseColor, borderColor, opacityDisabled, tagColor, closeIconColor, closeIconColorHover, closeIconColorPressed, borderRadiusSmall: borderRadius, fontSizeMini, fontSizeTiny, fontSizeSmall, fontSizeMedium, heightMini, heightTiny, heightSmall, heightMedium, closeColorHover, closeColorPressed, buttonColor2Hover, buttonColor2Pressed, fontWeightStrong } = vars;\n return Object.assign(Object.assign({}, commonVariables), { closeBorderRadius: borderRadius, heightTiny: heightMini, heightSmall: heightTiny, heightMedium: heightSmall, heightLarge: heightMedium, borderRadius,\n opacityDisabled, fontSizeTiny: fontSizeMini, fontSizeSmall: fontSizeTiny, fontSizeMedium: fontSizeSmall, fontSizeLarge: fontSizeMedium, fontWeightStrong, \n // checked\n textColorCheckable: textColor2, textColorHoverCheckable: textColor2, textColorPressedCheckable: textColor2, textColorChecked: baseColor, colorCheckable: '#0000', colorHoverCheckable: buttonColor2Hover, colorPressedCheckable: buttonColor2Pressed, colorChecked: primaryColor, colorCheckedHover: primaryColorHover, colorCheckedPressed: primaryColorPressed, \n // default\n border: `1px solid ${borderColor}`, textColor: textColor2, color: tagColor, colorBordered: 'rgb(250, 250, 252)', closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n closeColorHover,\n closeColorPressed, borderPrimary: `1px solid ${changeColor(primaryColor, { alpha: 0.3 })}`, textColorPrimary: primaryColor, colorPrimary: changeColor(primaryColor, { alpha: 0.12 }), colorBorderedPrimary: changeColor(primaryColor, { alpha: 0.1 }), closeIconColorPrimary: primaryColor, closeIconColorHoverPrimary: primaryColor, closeIconColorPressedPrimary: primaryColor, closeColorHoverPrimary: changeColor(primaryColor, { alpha: 0.12 }), closeColorPressedPrimary: changeColor(primaryColor, { alpha: 0.18 }), borderInfo: `1px solid ${changeColor(infoColor, { alpha: 0.3 })}`, textColorInfo: infoColor, colorInfo: changeColor(infoColor, { alpha: 0.12 }), colorBorderedInfo: changeColor(infoColor, { alpha: 0.1 }), closeIconColorInfo: infoColor, closeIconColorHoverInfo: infoColor, closeIconColorPressedInfo: infoColor, closeColorHoverInfo: changeColor(infoColor, { alpha: 0.12 }), closeColorPressedInfo: changeColor(infoColor, { alpha: 0.18 }), borderSuccess: `1px solid ${changeColor(successColor, { alpha: 0.3 })}`, textColorSuccess: successColor, colorSuccess: changeColor(successColor, { alpha: 0.12 }), colorBorderedSuccess: changeColor(successColor, { alpha: 0.1 }), closeIconColorSuccess: successColor, closeIconColorHoverSuccess: successColor, closeIconColorPressedSuccess: successColor, closeColorHoverSuccess: changeColor(successColor, { alpha: 0.12 }), closeColorPressedSuccess: changeColor(successColor, { alpha: 0.18 }), borderWarning: `1px solid ${changeColor(warningColor, { alpha: 0.35 })}`, textColorWarning: warningColor, colorWarning: changeColor(warningColor, { alpha: 0.15 }), colorBorderedWarning: changeColor(warningColor, { alpha: 0.12 }), closeIconColorWarning: warningColor, closeIconColorHoverWarning: warningColor, closeIconColorPressedWarning: warningColor, closeColorHoverWarning: changeColor(warningColor, { alpha: 0.12 }), closeColorPressedWarning: changeColor(warningColor, { alpha: 0.18 }), borderError: `1px solid ${changeColor(errorColor, { alpha: 0.23 })}`, textColorError: errorColor, colorError: changeColor(errorColor, { alpha: 0.1 }), colorBorderedError: changeColor(errorColor, { alpha: 0.08 }), closeIconColorError: errorColor, closeIconColorHoverError: errorColor, closeIconColorPressedError: errorColor, closeColorHoverError: changeColor(errorColor, { alpha: 0.12 }), closeColorPressedError: changeColor(errorColor, { alpha: 0.18 }) });\n};\nconst tagLight = {\n name: 'Tag',\n common: commonLight,\n self\n};\nexport default tagLight;\n","export default {\n color: Object,\n type: {\n type: String,\n default: 'default'\n },\n round: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n closable: Boolean,\n disabled: {\n type: Boolean,\n default: undefined\n }\n};\n","import { c, cB, cE, cM, cNotM } from '../../../_utils/cssr';\n// vars:\n// --n-bezier\n// --n-border-radius\n// --n-border\n// --n-close-icon-color\n// --n-close-icon-color-hover\n// --n-close-icon-color-pressed\n// --n-close-margin\n// --n-close-size\n// --n-color\n// --n-color-checkable\n// --n-color-checked\n// --n-color-checked-hover\n// --n-color-checked-pressed\n// --n-color-hover-checkable\n// --n-color-pressed-checkable\n// --n-font-size\n// --n-height\n// --n-opacity-disabled\n// --n-padding\n// --n-text-color\n// --n-text-color-checkable\n// --n-text-color-checked\n// --n-text-color-hover-checkable\n// --n-text-color-pressed-checkable\n// --n-font-weight-strong\nexport default cB('tag', `\n white-space: nowrap;\n position: relative;\n box-sizing: border-box;\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex-wrap: nowrap;\n padding: var(--n-padding);\n border-radius: var(--n-border-radius);\n color: var(--n-text-color);\n background-color: var(--n-color);\n transition: \n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n opacity .3s var(--n-bezier);\n line-height: 1;\n height: var(--n-height);\n font-size: var(--n-font-size);\n`, [cM('strong', `\n font-weight: var(--n-font-weight-strong);\n `), cE('border', `\n pointer-events: none;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n border-radius: inherit;\n border: var(--n-border);\n transition: border-color .3s var(--n-bezier);\n `), cE('icon', `\n display: flex;\n margin: 0 4px 0 0;\n color: var(--n-text-color);\n transition: color .3s var(--n-bezier);\n font-size: var(--n-avatar-size-override);\n `), cE('avatar', `\n display: flex;\n margin: 0 6px 0 0;\n `), cE('close', `\n margin: var(--n-close-margin);\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n `), cM('round', `\n padding: 0 calc(var(--n-height) / 3);\n border-radius: calc(var(--n-height) / 2);\n `, [cE('icon', `\n margin: 0 4px 0 calc((var(--n-height) - 8px) / -2);\n `), cE('avatar', `\n margin: 0 6px 0 calc((var(--n-height) - 8px) / -2);\n `), cM('closable', `\n padding: 0 calc(var(--n-height) / 4) 0 calc(var(--n-height) / 3);\n `)]), cM('icon, avatar', [cM('round', `\n padding: 0 calc(var(--n-height) / 3) 0 calc(var(--n-height) / 2);\n `)]), cM('disabled', `\n cursor: not-allowed !important;\n opacity: var(--n-opacity-disabled);\n `), cM('checkable', `\n cursor: pointer;\n box-shadow: none;\n color: var(--n-text-color-checkable);\n background-color: var(--n-color-checkable);\n `, [cNotM('disabled', [c('&:hover', 'background-color: var(--n-color-hover-checkable);', [cNotM('checked', 'color: var(--n-text-color-hover-checkable);')]), c('&:active', 'background-color: var(--n-color-pressed-checkable);', [cNotM('checked', 'color: var(--n-text-color-pressed-checkable);')])]), cM('checked', `\n color: var(--n-text-color-checked);\n background-color: var(--n-color-checked);\n `, [cNotM('disabled', [c('&:hover', 'background-color: var(--n-color-checked-hover);'), c('&:active', 'background-color: var(--n-color-checked-pressed);')])])])]);","import { h, defineComponent, computed, ref, provide, toRef, watchEffect } from 'vue';\nimport { useRtl } from '../../_mixins/use-rtl';\nimport { NBaseClose } from '../../_internal/close';\nimport { useConfig, useThemeClass, useTheme } from '../../_mixins';\nimport { createKey, call, createInjectionKey, color2Class, resolveWrappedSlot, warnOnce } from '../../_utils';\nimport { tagLight } from '../styles';\nimport commonProps from './common-props';\nimport style from './styles/index.cssr';\nexport const tagProps = Object.assign(Object.assign(Object.assign({}, useTheme.props), commonProps), { bordered: {\n type: Boolean,\n default: undefined\n }, checked: Boolean, checkable: Boolean, strong: Boolean, triggerClickOnClose: Boolean, onClose: [Array, Function], onMouseenter: Function, onMouseleave: Function, 'onUpdate:checked': Function, onUpdateChecked: Function, \n // private\n internalCloseFocusable: {\n type: Boolean,\n default: true\n }, internalCloseIsButtonTag: {\n type: Boolean,\n default: true\n }, \n // deprecated\n onCheckedChange: Function });\nexport const tagInjectionKey = createInjectionKey('n-tag');\nexport default defineComponent({\n name: 'Tag',\n props: tagProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onCheckedChange !== undefined) {\n warnOnce('tag', '`on-checked-change` is deprecated, please use `on-update:checked` instead');\n }\n });\n }\n const contentRef = ref(null);\n const { mergedBorderedRef, mergedClsPrefixRef, inlineThemeDisabled, mergedRtlRef } = useConfig(props);\n const themeRef = useTheme('Tag', '-tag', style, tagLight, props, mergedClsPrefixRef);\n provide(tagInjectionKey, {\n roundRef: toRef(props, 'round')\n });\n function handleClick(e) {\n if (!props.disabled) {\n if (props.checkable) {\n const { checked, onCheckedChange, onUpdateChecked, 'onUpdate:checked': _onUpdateChecked } = props;\n if (onUpdateChecked)\n onUpdateChecked(!checked);\n if (_onUpdateChecked)\n _onUpdateChecked(!checked);\n // deprecated\n if (onCheckedChange)\n onCheckedChange(!checked);\n }\n }\n }\n function handleCloseClick(e) {\n if (!props.triggerClickOnClose) {\n e.stopPropagation();\n }\n if (!props.disabled) {\n const { onClose } = props;\n if (onClose)\n call(onClose, e);\n }\n }\n const tagPublicMethods = {\n setTextContent(textContent) {\n const { value } = contentRef;\n if (value)\n value.textContent = textContent;\n }\n };\n const rtlEnabledRef = useRtl('Tag', mergedRtlRef, mergedClsPrefixRef);\n const cssVarsRef = computed(() => {\n const { type, size, color: { color, textColor } = {} } = props;\n const { common: { cubicBezierEaseInOut }, self: { padding, closeMargin, closeMarginRtl, borderRadius, opacityDisabled, textColorCheckable, textColorHoverCheckable, textColorPressedCheckable, textColorChecked, colorCheckable, colorHoverCheckable, colorPressedCheckable, colorChecked, colorCheckedHover, colorCheckedPressed, closeBorderRadius, fontWeightStrong, [createKey('colorBordered', type)]: colorBordered, [createKey('closeSize', size)]: closeSize, [createKey('closeIconSize', size)]: closeIconSize, [createKey('fontSize', size)]: fontSize, [createKey('height', size)]: height, [createKey('color', type)]: typedColor, [createKey('textColor', type)]: typeTextColor, [createKey('border', type)]: border, [createKey('closeIconColor', type)]: closeIconColor, [createKey('closeIconColorHover', type)]: closeIconColorHover, [createKey('closeIconColorPressed', type)]: closeIconColorPressed, [createKey('closeColorHover', type)]: closeColorHover, [createKey('closeColorPressed', type)]: closeColorPressed } } = themeRef.value;\n return {\n '--n-font-weight-strong': fontWeightStrong,\n '--n-avatar-size-override': `calc(${height} - 8px)`,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border-radius': borderRadius,\n '--n-border': border,\n '--n-close-icon-size': closeIconSize,\n '--n-close-color-pressed': closeColorPressed,\n '--n-close-color-hover': closeColorHover,\n '--n-close-border-radius': closeBorderRadius,\n '--n-close-icon-color': closeIconColor,\n '--n-close-icon-color-hover': closeIconColorHover,\n '--n-close-icon-color-pressed': closeIconColorPressed,\n '--n-close-icon-color-disabled': closeIconColor,\n '--n-close-margin': closeMargin,\n '--n-close-margin-rtl': closeMarginRtl,\n '--n-close-size': closeSize,\n '--n-color': color || (mergedBorderedRef.value ? colorBordered : typedColor),\n '--n-color-checkable': colorCheckable,\n '--n-color-checked': colorChecked,\n '--n-color-checked-hover': colorCheckedHover,\n '--n-color-checked-pressed': colorCheckedPressed,\n '--n-color-hover-checkable': colorHoverCheckable,\n '--n-color-pressed-checkable': colorPressedCheckable,\n '--n-font-size': fontSize,\n '--n-height': height,\n '--n-opacity-disabled': opacityDisabled,\n '--n-padding': padding,\n '--n-text-color': textColor || typeTextColor,\n '--n-text-color-checkable': textColorCheckable,\n '--n-text-color-checked': textColorChecked,\n '--n-text-color-hover-checkable': textColorHoverCheckable,\n '--n-text-color-pressed-checkable': textColorPressedCheckable\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('tag', computed(() => {\n let hash = '';\n const { type, size, color: { color, textColor } = {} } = props;\n hash += type[0];\n hash += size[0];\n if (color) {\n hash += `a${color2Class(color)}`;\n }\n if (textColor) {\n hash += `b${color2Class(textColor)}`;\n }\n if (mergedBorderedRef.value) {\n hash += 'c';\n }\n return hash;\n }), cssVarsRef, props)\n : undefined;\n return Object.assign(Object.assign({}, tagPublicMethods), { rtlEnabled: rtlEnabledRef, mergedClsPrefix: mergedClsPrefixRef, contentRef, mergedBordered: mergedBorderedRef, handleClick,\n handleCloseClick, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender });\n },\n render() {\n var _a, _b;\n const { mergedClsPrefix, rtlEnabled, closable, color: { borderColor } = {}, round, onRender, $slots } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const avatarNode = resolveWrappedSlot($slots.avatar, (children) => children && (h(\"div\", { class: `${mergedClsPrefix}-tag__avatar` }, children)));\n const iconNode = resolveWrappedSlot($slots.icon, (children) => children && h(\"div\", { class: `${mergedClsPrefix}-tag__icon` }, children));\n return (h(\"div\", { class: [\n `${mergedClsPrefix}-tag`,\n this.themeClass,\n {\n [`${mergedClsPrefix}-tag--rtl`]: rtlEnabled,\n [`${mergedClsPrefix}-tag--strong`]: this.strong,\n [`${mergedClsPrefix}-tag--disabled`]: this.disabled,\n [`${mergedClsPrefix}-tag--checkable`]: this.checkable,\n [`${mergedClsPrefix}-tag--checked`]: this.checkable && this.checked,\n [`${mergedClsPrefix}-tag--round`]: round,\n [`${mergedClsPrefix}-tag--avatar`]: avatarNode,\n [`${mergedClsPrefix}-tag--icon`]: iconNode,\n [`${mergedClsPrefix}-tag--closable`]: closable\n }\n ], style: this.cssVars, onClick: this.handleClick, onMouseenter: this.onMouseenter, onMouseleave: this.onMouseleave },\n iconNode || avatarNode,\n h(\"span\", { class: `${mergedClsPrefix}-tag__content`, ref: \"contentRef\" }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)),\n !this.checkable && closable ? (h(NBaseClose, { clsPrefix: mergedClsPrefix, class: `${mergedClsPrefix}-tag__close`, disabled: this.disabled, onClick: this.handleCloseClick, focusable: this.internalCloseFocusable, round: round, isButtonTag: this.internalCloseIsButtonTag, absolute: true })) : null,\n !this.checkable && this.mergedBordered ? (h(\"div\", { class: `${mergedClsPrefix}-tag__border`, style: { borderColor } })) : null));\n }\n});\n","export default {\n paddingSingle: '0 26px 0 12px',\n paddingMultiple: '3px 26px 0 12px',\n clearSize: '16px',\n arrowSize: '16px'\n};\n","import { changeColor } from 'seemly';\nimport { commonLight } from '../../../_styles/common';\nimport { popoverLight } from '../../../popover/styles';\nimport commonVariables from './_common';\nimport { createTheme } from '../../../_mixins';\nconst self = (vars) => {\n const { borderRadius, textColor2, textColorDisabled, inputColor, inputColorDisabled, primaryColor, primaryColorHover, warningColor, warningColorHover, errorColor, errorColorHover, borderColor, iconColor, iconColorDisabled, clearColor, clearColorHover, clearColorPressed, placeholderColor, placeholderColorDisabled, fontSizeTiny, fontSizeSmall, fontSizeMedium, fontSizeLarge, heightTiny, heightSmall, heightMedium, heightLarge } = vars;\n return Object.assign(Object.assign({}, commonVariables), { fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n heightTiny,\n heightSmall,\n heightMedium,\n heightLarge,\n borderRadius, \n // default\n textColor: textColor2, textColorDisabled,\n placeholderColor,\n placeholderColorDisabled, color: inputColor, colorDisabled: inputColorDisabled, colorActive: inputColor, border: `1px solid ${borderColor}`, borderHover: `1px solid ${primaryColorHover}`, borderActive: `1px solid ${primaryColor}`, borderFocus: `1px solid ${primaryColorHover}`, boxShadowHover: 'none', boxShadowActive: `0 0 0 2px ${changeColor(primaryColor, {\n alpha: 0.2\n })}`, boxShadowFocus: `0 0 0 2px ${changeColor(primaryColor, {\n alpha: 0.2\n })}`, caretColor: primaryColor, arrowColor: iconColor, arrowColorDisabled: iconColorDisabled, loadingColor: primaryColor, \n // warning\n borderWarning: `1px solid ${warningColor}`, borderHoverWarning: `1px solid ${warningColorHover}`, borderActiveWarning: `1px solid ${warningColor}`, borderFocusWarning: `1px solid ${warningColorHover}`, boxShadowHoverWarning: 'none', boxShadowActiveWarning: `0 0 0 2px ${changeColor(warningColor, {\n alpha: 0.2\n })}`, boxShadowFocusWarning: `0 0 0 2px ${changeColor(warningColor, {\n alpha: 0.2\n })}`, colorActiveWarning: inputColor, caretColorWarning: warningColor, \n // error\n borderError: `1px solid ${errorColor}`, borderHoverError: `1px solid ${errorColorHover}`, borderActiveError: `1px solid ${errorColor}`, borderFocusError: `1px solid ${errorColorHover}`, boxShadowHoverError: 'none', boxShadowActiveError: `0 0 0 2px ${changeColor(errorColor, {\n alpha: 0.2\n })}`, boxShadowFocusError: `0 0 0 2px ${changeColor(errorColor, {\n alpha: 0.2\n })}`, colorActiveError: inputColor, caretColorError: errorColor, clearColor,\n clearColorHover,\n clearColorPressed });\n};\nconst internalSelectionLight = createTheme({\n name: 'InternalSelection',\n common: commonLight,\n peers: {\n Popover: popoverLight\n },\n self\n});\nexport default internalSelectionLight;\n","import { c, cB, cE, cM, cNotM } from '../../../../_utils/cssr';\n// vars:\n// --n-bezier\n// --n-border\n// --n-border-active\n// --n-border-focus\n// --n-border-hover\n// --n-border-radius\n// --n-box-shadow-active\n// --n-box-shadow-focus\n// --n-box-shadow-hover\n// --n-caret-color\n// --n-color\n// --n-color-active\n// --n-color-disabled\n// --n-font-size\n// --n-height\n// --n-padding-single\n// --n-padding-multiple\n// --n-placeholder-color\n// --n-placeholder-color-disabled\n// --n-text-color\n// --n-text-color-disabled\n// --n-arrow-color\n// --n-arrow-size\n// --n-loading-color\n// ...clear vars\n// ...form item vars\nexport default c([cB('base-selection', `\n position: relative;\n z-index: auto;\n box-shadow: none;\n width: 100%;\n max-width: 100%;\n display: inline-block;\n vertical-align: bottom;\n border-radius: var(--n-border-radius);\n min-height: var(--n-height);\n line-height: 1.5;\n font-size: var(--n-font-size);\n `, [cB('base-loading', `\n color: var(--n-loading-color);\n `), cB('base-selection-tags', 'min-height: var(--n-height);'), cE('border, state-border', `\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n border: var(--n-border);\n border-radius: inherit;\n transition:\n box-shadow .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n `), cE('state-border', `\n z-index: 1;\n border-color: #0000;\n `), cB('base-suffix', `\n cursor: pointer;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 10px;\n `, [cE('arrow', `\n font-size: var(--n-arrow-size);\n color: var(--n-arrow-color);\n transition: color .3s var(--n-bezier);\n `)]), cB('base-selection-overlay', `\n display: flex;\n align-items: center;\n white-space: nowrap;\n pointer-events: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--n-padding-single);\n transition: color .3s var(--n-bezier);\n `, [cE('wrapper', `\n flex-basis: 0;\n flex-grow: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n `)]), cB('base-selection-placeholder', `\n color: var(--n-placeholder-color);\n `, [cE('inner', `\n max-width: 100%;\n overflow: hidden;\n `)]), cB('base-selection-tags', `\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n position: relative;\n z-index: auto;\n display: flex;\n padding: var(--n-padding-multiple);\n flex-wrap: wrap;\n align-items: center;\n width: 100%;\n vertical-align: bottom;\n background-color: var(--n-color);\n border-radius: inherit;\n transition:\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n `), cB('base-selection-label', `\n height: var(--n-height);\n display: inline-flex;\n width: 100%;\n vertical-align: bottom;\n cursor: pointer;\n outline: none;\n z-index: auto;\n box-sizing: border-box;\n position: relative;\n transition:\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n border-radius: inherit;\n background-color: var(--n-color);\n align-items: center;\n `, [cB('base-selection-input', `\n font-size: inherit;\n line-height: inherit;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n border:none;\n width: 100%;\n padding: var(--n-padding-single);\n background-color: #0000;\n color: var(--n-text-color);\n transition: color .3s var(--n-bezier);\n caret-color: var(--n-caret-color);\n `, [cE('content', `\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap; \n `)]), cE('render-label', `\n color: var(--n-text-color);\n `)]), cNotM('disabled', [c('&:hover', [cE('state-border', `\n box-shadow: var(--n-box-shadow-hover);\n border: var(--n-border-hover);\n `)]), cM('focus', [cE('state-border', `\n box-shadow: var(--n-box-shadow-focus);\n border: var(--n-border-focus);\n `)]), cM('active', [cE('state-border', `\n box-shadow: var(--n-box-shadow-active);\n border: var(--n-border-active);\n `), cB('base-selection-label', 'background-color: var(--n-color-active);'), cB('base-selection-tags', 'background-color: var(--n-color-active);')])]), cM('disabled', 'cursor: not-allowed;', [cE('arrow', `\n color: var(--n-arrow-color-disabled);\n `), cB('base-selection-label', `\n cursor: not-allowed;\n background-color: var(--n-color-disabled);\n `, [cB('base-selection-input', `\n cursor: not-allowed;\n color: var(--n-text-color-disabled);\n `), cE('render-label', `\n color: var(--n-text-color-disabled);\n `)]), cB('base-selection-tags', `\n cursor: not-allowed;\n background-color: var(--n-color-disabled);\n `), cB('base-selection-placeholder', `\n cursor: not-allowed;\n color: var(--n-placeholder-color-disabled);\n `)]), cB('base-selection-input-tag', `\n height: calc(var(--n-height) - 6px);\n line-height: calc(var(--n-height) - 6px);\n outline: none;\n display: none;\n position: relative;\n margin-bottom: 3px;\n max-width: 100%;\n vertical-align: bottom;\n `, [cE('input', `\n font-size: inherit;\n font-family: inherit;\n min-width: 1px;\n padding: 0;\n background-color: #0000;\n outline: none;\n border: none;\n max-width: 100%;\n overflow: hidden;\n width: 1em;\n line-height: inherit;\n cursor: pointer;\n color: var(--n-text-color);\n caret-color: var(--n-caret-color);\n `), cE('mirror', `\n position: absolute;\n left: 0;\n top: 0;\n white-space: pre;\n visibility: hidden;\n user-select: none;\n -webkit-user-select: none;\n opacity: 0;\n `)]), ['warning', 'error'].map(status => cM(`${status}-status`, [cE('state-border', `border: var(--n-border-${status});`), cNotM('disabled', [c('&:hover', [cE('state-border', `\n box-shadow: var(--n-box-shadow-hover-${status});\n border: var(--n-border-hover-${status});\n `)]), cM('active', [cE('state-border', `\n box-shadow: var(--n-box-shadow-active-${status});\n border: var(--n-border-active-${status});\n `), cB('base-selection-label', `background-color: var(--n-color-active-${status});`), cB('base-selection-tags', `background-color: var(--n-color-active-${status});`)]), cM('focus', [cE('state-border', `\n box-shadow: var(--n-box-shadow-focus-${status});\n border: var(--n-border-focus-${status});\n `)])])]))]), cB('base-selection-popover', `\n margin-bottom: -3px;\n display: flex;\n flex-wrap: wrap;\n margin-right: -8px;\n `), cB('base-selection-tag-wrapper', `\n max-width: 100%;\n display: inline-flex;\n padding: 0 7px 3px 0;\n `, [c('&:last-child', 'padding-right: 0;'), cB('tag', `\n font-size: 14px;\n max-width: 100%;\n `, [cE('content', `\n line-height: 1.25;\n text-overflow: ellipsis;\n overflow: hidden;\n `)])])]);","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, defineComponent, Fragment, ref, computed, watch, toRef, nextTick, watchEffect, onMounted } from 'vue';\nimport { VOverflow } from 'vueuc';\nimport { NPopover } from '../../../popover';\nimport { NTag } from '../../../tag';\nimport { useThemeClass, useTheme } from '../../../_mixins';\nimport { createKey, getTitleAttribute, render, useOnResize, Wrapper } from '../../../_utils';\nimport Suffix from '../../suffix';\nimport { internalSelectionLight } from '../styles';\nimport style from './styles/index.cssr';\nexport default defineComponent({\n name: 'InternalSelection',\n props: Object.assign(Object.assign({}, useTheme.props), { clsPrefix: {\n type: String,\n required: true\n }, bordered: {\n type: Boolean,\n default: undefined\n }, active: Boolean, pattern: {\n type: String,\n default: ''\n }, placeholder: String, selectedOption: {\n type: Object,\n default: null\n }, selectedOptions: {\n type: Array,\n default: null\n }, labelField: { type: String, default: 'label' }, valueField: {\n type: String,\n default: 'value'\n }, multiple: Boolean, filterable: Boolean, clearable: Boolean, disabled: Boolean, size: {\n type: String,\n default: 'medium'\n }, loading: Boolean, autofocus: Boolean, showArrow: {\n type: Boolean,\n default: true\n }, inputProps: Object, focused: Boolean, renderTag: Function, onKeydown: Function, onClick: Function, onBlur: Function, onFocus: Function, onDeleteOption: Function, maxTagCount: [String, Number], onClear: Function, onPatternInput: Function, onPatternFocus: Function, onPatternBlur: Function, renderLabel: Function, status: String, inlineThemeDisabled: Boolean, ignoreComposition: { type: Boolean, default: true }, onResize: Function }),\n setup(props) {\n const patternInputMirrorRef = ref(null);\n const patternInputRef = ref(null);\n const selfRef = ref(null);\n const multipleElRef = ref(null);\n const singleElRef = ref(null);\n const patternInputWrapperRef = ref(null);\n const counterRef = ref(null);\n const counterWrapperRef = ref(null);\n const overflowRef = ref(null);\n const inputTagElRef = ref(null);\n const showTagsPopoverRef = ref(false);\n const patternInputFocusedRef = ref(false);\n const hoverRef = ref(false);\n const themeRef = useTheme('InternalSelection', '-internal-selection', style, internalSelectionLight, props, toRef(props, 'clsPrefix'));\n const mergedClearableRef = computed(() => {\n return (props.clearable && !props.disabled && (hoverRef.value || props.active));\n });\n const filterablePlaceholderRef = computed(() => {\n return props.selectedOption\n ? props.renderTag\n ? props.renderTag({\n option: props.selectedOption,\n handleClose: () => { }\n })\n : props.renderLabel\n ? props.renderLabel(props.selectedOption, true)\n : render(props.selectedOption[props.labelField], props.selectedOption, true)\n : props.placeholder;\n });\n const labelRef = computed(() => {\n const option = props.selectedOption;\n if (!option)\n return undefined;\n return option[props.labelField];\n });\n const selectedRef = computed(() => {\n if (props.multiple) {\n return !!(Array.isArray(props.selectedOptions) && props.selectedOptions.length);\n }\n else {\n return props.selectedOption !== null;\n }\n });\n function syncMirrorWidth() {\n var _a;\n const { value: patternInputMirrorEl } = patternInputMirrorRef;\n if (patternInputMirrorEl) {\n const { value: patternInputEl } = patternInputRef;\n if (patternInputEl) {\n patternInputEl.style.width = `${patternInputMirrorEl.offsetWidth}px`;\n if (props.maxTagCount !== 'responsive') {\n (_a = overflowRef.value) === null || _a === void 0 ? void 0 : _a.sync({\n showAllItemsBeforeCalculate: false\n });\n }\n }\n }\n }\n function hideInputTag() {\n const { value: inputTagEl } = inputTagElRef;\n if (inputTagEl)\n inputTagEl.style.display = 'none';\n }\n function showInputTag() {\n const { value: inputTagEl } = inputTagElRef;\n if (inputTagEl)\n inputTagEl.style.display = 'inline-block';\n }\n watch(toRef(props, 'active'), (value) => {\n if (!value)\n hideInputTag();\n });\n watch(toRef(props, 'pattern'), () => {\n if (props.multiple) {\n void nextTick(syncMirrorWidth);\n }\n });\n function doFocus(e) {\n const { onFocus } = props;\n if (onFocus)\n onFocus(e);\n }\n function doBlur(e) {\n const { onBlur } = props;\n if (onBlur)\n onBlur(e);\n }\n function doDeleteOption(value) {\n const { onDeleteOption } = props;\n if (onDeleteOption)\n onDeleteOption(value);\n }\n function doClear(e) {\n const { onClear } = props;\n if (onClear)\n onClear(e);\n }\n function doPatternInput(value) {\n const { onPatternInput } = props;\n if (onPatternInput)\n onPatternInput(value);\n }\n function handleFocusin(e) {\n var _a;\n if (!e.relatedTarget ||\n !((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget))) {\n doFocus(e);\n }\n }\n function handleFocusout(e) {\n var _a;\n if ((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget))\n return;\n doBlur(e);\n }\n function handleClear(e) {\n doClear(e);\n }\n function handleMouseEnter() {\n hoverRef.value = true;\n }\n function handleMouseLeave() {\n hoverRef.value = false;\n }\n function handleMouseDown(e) {\n if (!props.active || !props.filterable)\n return;\n if (e.target === patternInputRef.value)\n return;\n e.preventDefault();\n }\n function handleDeleteOption(option) {\n doDeleteOption(option);\n }\n function handlePatternKeyDown(e) {\n if (e.key === 'Backspace' && !isComposingRef.value) {\n if (!props.pattern.length) {\n const { selectedOptions } = props;\n if (selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.length) {\n handleDeleteOption(selectedOptions[selectedOptions.length - 1]);\n }\n }\n }\n }\n const isComposingRef = ref(false);\n // the composition end is later than its input so we can cached the event\n // and return the input event\n let cachedInputEvent = null;\n function handlePatternInputInput(e) {\n // we should sync mirror width here\n const { value: patternInputMirrorEl } = patternInputMirrorRef;\n if (patternInputMirrorEl) {\n const inputText = e.target.value;\n patternInputMirrorEl.textContent = inputText;\n syncMirrorWidth();\n }\n if (props.ignoreComposition) {\n if (!isComposingRef.value) {\n doPatternInput(e);\n }\n else {\n cachedInputEvent = e;\n }\n }\n else {\n doPatternInput(e);\n }\n }\n function handleCompositionStart() {\n isComposingRef.value = true;\n }\n function handleCompositionEnd() {\n isComposingRef.value = false;\n if (props.ignoreComposition) {\n doPatternInput(cachedInputEvent);\n }\n cachedInputEvent = null;\n }\n function handlePatternInputFocus(e) {\n var _a;\n patternInputFocusedRef.value = true;\n (_a = props.onPatternFocus) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handlePatternInputBlur(e) {\n var _a;\n patternInputFocusedRef.value = false;\n (_a = props.onPatternBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function blur() {\n var _a, _b;\n if (props.filterable) {\n patternInputFocusedRef.value = false;\n (_a = patternInputWrapperRef.value) === null || _a === void 0 ? void 0 : _a.blur();\n (_b = patternInputRef.value) === null || _b === void 0 ? void 0 : _b.blur();\n }\n else if (props.multiple) {\n const { value: multipleEl } = multipleElRef;\n multipleEl === null || multipleEl === void 0 ? void 0 : multipleEl.blur();\n }\n else {\n const { value: singleEl } = singleElRef;\n singleEl === null || singleEl === void 0 ? void 0 : singleEl.blur();\n }\n }\n function focus() {\n var _a, _b, _c;\n if (props.filterable) {\n patternInputFocusedRef.value = false;\n (_a = patternInputWrapperRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n }\n else if (props.multiple) {\n (_b = multipleElRef.value) === null || _b === void 0 ? void 0 : _b.focus();\n }\n else {\n (_c = singleElRef.value) === null || _c === void 0 ? void 0 : _c.focus();\n }\n }\n function focusInput() {\n const { value: patternInputEl } = patternInputRef;\n if (patternInputEl) {\n showInputTag();\n patternInputEl.focus();\n }\n }\n function blurInput() {\n const { value: patternInputEl } = patternInputRef;\n if (patternInputEl) {\n patternInputEl.blur();\n }\n }\n function updateCounter(count) {\n const { value } = counterRef;\n if (value) {\n value.setTextContent(`+${count}`);\n }\n }\n function getCounter() {\n const { value } = counterWrapperRef;\n return value;\n }\n function getTail() {\n return patternInputRef.value;\n }\n let enterTimerId = null;\n function clearEnterTimer() {\n if (enterTimerId !== null)\n window.clearTimeout(enterTimerId);\n }\n function handleMouseEnterCounter() {\n if (props.active)\n return;\n clearEnterTimer();\n enterTimerId = window.setTimeout(() => {\n if (selectedRef.value) {\n showTagsPopoverRef.value = true;\n }\n }, 100);\n }\n function handleMouseLeaveCounter() {\n clearEnterTimer();\n }\n function onPopoverUpdateShow(show) {\n if (!show) {\n clearEnterTimer();\n showTagsPopoverRef.value = false;\n }\n }\n watch(selectedRef, (value) => {\n if (!value) {\n showTagsPopoverRef.value = false;\n }\n });\n onMounted(() => {\n watchEffect(() => {\n const patternInputWrapperEl = patternInputWrapperRef.value;\n if (!patternInputWrapperEl)\n return;\n if (props.disabled) {\n patternInputWrapperEl.removeAttribute('tabindex');\n }\n else {\n patternInputWrapperEl.tabIndex = patternInputFocusedRef.value ? -1 : 0;\n }\n });\n });\n useOnResize(selfRef, props.onResize);\n const { inlineThemeDisabled } = props;\n const cssVarsRef = computed(() => {\n const { size } = props;\n const { common: { cubicBezierEaseInOut }, self: { borderRadius, color, placeholderColor, textColor, paddingSingle, paddingMultiple, caretColor, colorDisabled, textColorDisabled, placeholderColorDisabled, colorActive, boxShadowFocus, boxShadowActive, boxShadowHover, border, borderFocus, borderHover, borderActive, arrowColor, arrowColorDisabled, loadingColor, \n // form warning\n colorActiveWarning, boxShadowFocusWarning, boxShadowActiveWarning, boxShadowHoverWarning, borderWarning, borderFocusWarning, borderHoverWarning, borderActiveWarning, \n // form error\n colorActiveError, boxShadowFocusError, boxShadowActiveError, boxShadowHoverError, borderError, borderFocusError, borderHoverError, borderActiveError, \n // clear\n clearColor, clearColorHover, clearColorPressed, clearSize, \n // arrow\n arrowSize, [createKey('height', size)]: height, [createKey('fontSize', size)]: fontSize } } = themeRef.value;\n return {\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border': border,\n '--n-border-active': borderActive,\n '--n-border-focus': borderFocus,\n '--n-border-hover': borderHover,\n '--n-border-radius': borderRadius,\n '--n-box-shadow-active': boxShadowActive,\n '--n-box-shadow-focus': boxShadowFocus,\n '--n-box-shadow-hover': boxShadowHover,\n '--n-caret-color': caretColor,\n '--n-color': color,\n '--n-color-active': colorActive,\n '--n-color-disabled': colorDisabled,\n '--n-font-size': fontSize,\n '--n-height': height,\n '--n-padding-single': paddingSingle,\n '--n-padding-multiple': paddingMultiple,\n '--n-placeholder-color': placeholderColor,\n '--n-placeholder-color-disabled': placeholderColorDisabled,\n '--n-text-color': textColor,\n '--n-text-color-disabled': textColorDisabled,\n '--n-arrow-color': arrowColor,\n '--n-arrow-color-disabled': arrowColorDisabled,\n '--n-loading-color': loadingColor,\n // form warning\n '--n-color-active-warning': colorActiveWarning,\n '--n-box-shadow-focus-warning': boxShadowFocusWarning,\n '--n-box-shadow-active-warning': boxShadowActiveWarning,\n '--n-box-shadow-hover-warning': boxShadowHoverWarning,\n '--n-border-warning': borderWarning,\n '--n-border-focus-warning': borderFocusWarning,\n '--n-border-hover-warning': borderHoverWarning,\n '--n-border-active-warning': borderActiveWarning,\n // form error\n '--n-color-active-error': colorActiveError,\n '--n-box-shadow-focus-error': boxShadowFocusError,\n '--n-box-shadow-active-error': boxShadowActiveError,\n '--n-box-shadow-hover-error': boxShadowHoverError,\n '--n-border-error': borderError,\n '--n-border-focus-error': borderFocusError,\n '--n-border-hover-error': borderHoverError,\n '--n-border-active-error': borderActiveError,\n // clear\n '--n-clear-size': clearSize,\n '--n-clear-color': clearColor,\n '--n-clear-color-hover': clearColorHover,\n '--n-clear-color-pressed': clearColorPressed,\n // arrow-size\n '--n-arrow-size': arrowSize\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('internal-selection', computed(() => {\n return props.size[0];\n }), cssVarsRef, props)\n : undefined;\n return {\n mergedTheme: themeRef,\n mergedClearable: mergedClearableRef,\n patternInputFocused: patternInputFocusedRef,\n filterablePlaceholder: filterablePlaceholderRef,\n label: labelRef,\n selected: selectedRef,\n showTagsPanel: showTagsPopoverRef,\n isComposing: isComposingRef,\n // dom ref\n counterRef,\n counterWrapperRef,\n patternInputMirrorRef,\n patternInputRef,\n selfRef,\n multipleElRef,\n singleElRef,\n patternInputWrapperRef,\n overflowRef,\n inputTagElRef,\n handleMouseDown,\n handleFocusin,\n handleClear,\n handleMouseEnter,\n handleMouseLeave,\n handleDeleteOption,\n handlePatternKeyDown,\n handlePatternInputInput,\n handlePatternInputBlur,\n handlePatternInputFocus,\n handleMouseEnterCounter,\n handleMouseLeaveCounter,\n handleFocusout,\n handleCompositionEnd,\n handleCompositionStart,\n onPopoverUpdateShow,\n focus,\n focusInput,\n blur,\n blurInput,\n updateCounter,\n getCounter,\n getTail,\n renderLabel: props.renderLabel,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n const { status, multiple, size, disabled, filterable, maxTagCount, bordered, clsPrefix, onRender, renderTag, renderLabel } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const maxTagCountResponsive = maxTagCount === 'responsive';\n const maxTagCountNumeric = typeof maxTagCount === 'number';\n const useMaxTagCount = maxTagCountResponsive || maxTagCountNumeric;\n const suffix = (h(Wrapper, null, {\n default: () => (h(Suffix, { clsPrefix: clsPrefix, loading: this.loading, showArrow: this.showArrow, showClear: this.mergedClearable && this.selected, onClear: this.handleClear }, {\n default: () => { var _a, _b; return (_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a); }\n }))\n }));\n let body;\n if (multiple) {\n const { labelField } = this;\n const createTag = (option) => (h(\"div\", { class: `${clsPrefix}-base-selection-tag-wrapper`, key: option.value }, renderTag ? (renderTag({\n option,\n handleClose: () => {\n this.handleDeleteOption(option);\n }\n })) : (h(NTag, { size: size, closable: !option.disabled, disabled: disabled, onClose: () => {\n this.handleDeleteOption(option);\n }, internalCloseIsButtonTag: false, internalCloseFocusable: false }, {\n default: () => renderLabel\n ? renderLabel(option, true)\n : render(option[labelField], option, true)\n }))));\n const createOriginalTagNodes = () => (maxTagCountNumeric\n ? this.selectedOptions.slice(0, maxTagCount)\n : this.selectedOptions).map(createTag);\n const input = filterable ? (h(\"div\", { class: `${clsPrefix}-base-selection-input-tag`, ref: \"inputTagElRef\", key: \"__input-tag__\" },\n h(\"input\", Object.assign({}, this.inputProps, { ref: \"patternInputRef\", tabindex: -1, disabled: disabled, value: this.pattern, autofocus: this.autofocus, class: `${clsPrefix}-base-selection-input-tag__input`, onBlur: this.handlePatternInputBlur, onFocus: this.handlePatternInputFocus, onKeydown: this.handlePatternKeyDown, onInput: this.handlePatternInputInput, onCompositionstart: this.handleCompositionStart, onCompositionend: this.handleCompositionEnd })),\n h(\"span\", { ref: \"patternInputMirrorRef\", class: `${clsPrefix}-base-selection-input-tag__mirror` }, this.pattern))) : null;\n // May Overflow\n const renderCounter = maxTagCountResponsive\n ? () => (h(\"div\", { class: `${clsPrefix}-base-selection-tag-wrapper`, ref: \"counterWrapperRef\" },\n h(NTag, { size: size, ref: \"counterRef\", onMouseenter: this.handleMouseEnterCounter, onMouseleave: this.handleMouseLeaveCounter, disabled: disabled })))\n : undefined;\n let counter;\n if (maxTagCountNumeric) {\n const rest = this.selectedOptions.length - maxTagCount;\n if (rest > 0) {\n counter = (h(\"div\", { class: `${clsPrefix}-base-selection-tag-wrapper`, key: \"__counter__\" },\n h(NTag, { size: size, ref: \"counterRef\", onMouseenter: this.handleMouseEnterCounter, disabled: disabled }, {\n default: () => `+${rest}`\n })));\n }\n }\n const tags = maxTagCountResponsive ? (filterable ? (h(VOverflow, { ref: \"overflowRef\", updateCounter: this.updateCounter, getCounter: this.getCounter, getTail: this.getTail, style: {\n width: '100%',\n display: 'flex',\n overflow: 'hidden'\n } }, {\n default: createOriginalTagNodes,\n counter: renderCounter,\n tail: () => input\n })) : (h(VOverflow, { ref: \"overflowRef\", updateCounter: this.updateCounter, getCounter: this.getCounter, style: {\n width: '100%',\n display: 'flex',\n overflow: 'hidden'\n } }, {\n default: createOriginalTagNodes,\n counter: renderCounter\n }))) : maxTagCountNumeric && counter ? (createOriginalTagNodes().concat(counter)) : (createOriginalTagNodes());\n const renderPopover = useMaxTagCount\n ? () => (h(\"div\", { class: `${clsPrefix}-base-selection-popover` }, maxTagCountResponsive\n ? createOriginalTagNodes()\n : this.selectedOptions.map(createTag)))\n : undefined;\n const popoverProps = useMaxTagCount\n ? {\n show: this.showTagsPanel,\n trigger: 'hover',\n overlap: true,\n placement: 'top',\n width: 'trigger',\n onUpdateShow: this.onPopoverUpdateShow,\n theme: this.mergedTheme.peers.Popover,\n themeOverrides: this.mergedTheme.peerOverrides.Popover\n }\n : null;\n const showPlaceholder = this.selected\n ? false\n : this.active\n ? !this.pattern && !this.isComposing\n : true;\n const placeholder = showPlaceholder ? (h(\"div\", { class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay` },\n h(\"div\", { class: `${clsPrefix}-base-selection-placeholder__inner` }, this.placeholder))) : null;\n const popoverTrigger = filterable ? (h(\"div\", { ref: \"patternInputWrapperRef\", class: `${clsPrefix}-base-selection-tags` },\n tags,\n maxTagCountResponsive ? null : input,\n suffix)) : (h(\"div\", { ref: \"multipleElRef\", class: `${clsPrefix}-base-selection-tags`, tabindex: disabled ? undefined : 0 },\n tags,\n suffix));\n body = (h(Fragment, null,\n useMaxTagCount ? (h(NPopover, Object.assign({}, popoverProps, { scrollable: true, style: \"max-height: calc(var(--v-target-height) * 6.6);\" }), {\n trigger: () => popoverTrigger,\n default: renderPopover\n })) : (popoverTrigger),\n placeholder));\n }\n else {\n if (filterable) {\n const hasInput = this.pattern || this.isComposing;\n const showPlaceholder = this.active ? !hasInput : !this.selected;\n const showSelectedLabel = this.active ? false : this.selected;\n body = (h(\"div\", { ref: \"patternInputWrapperRef\", class: `${clsPrefix}-base-selection-label` },\n h(\"input\", Object.assign({}, this.inputProps, { ref: \"patternInputRef\", class: `${clsPrefix}-base-selection-input`, value: this.active ? this.pattern : '', placeholder: \"\", readonly: disabled, disabled: disabled, tabindex: -1, autofocus: this.autofocus, onFocus: this.handlePatternInputFocus, onBlur: this.handlePatternInputBlur, onInput: this.handlePatternInputInput, onCompositionstart: this.handleCompositionStart, onCompositionend: this.handleCompositionEnd })),\n showSelectedLabel ? (h(\"div\", { class: `${clsPrefix}-base-selection-label__render-label ${clsPrefix}-base-selection-overlay`, key: \"input\" },\n h(\"div\", { class: `${clsPrefix}-base-selection-overlay__wrapper` }, renderTag\n ? renderTag({\n option: this.selectedOption,\n handleClose: () => { }\n })\n : renderLabel\n ? renderLabel(this.selectedOption, true)\n : render(this.label, this.selectedOption, true)))) : null,\n showPlaceholder ? (h(\"div\", { class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`, key: \"placeholder\" },\n h(\"div\", { class: `${clsPrefix}-base-selection-overlay__wrapper` }, this.filterablePlaceholder))) : null,\n suffix));\n }\n else {\n body = (h(\"div\", { ref: \"singleElRef\", class: `${clsPrefix}-base-selection-label`, tabindex: this.disabled ? undefined : 0 },\n this.label !== undefined ? (h(\"div\", { class: `${clsPrefix}-base-selection-input`, title: getTitleAttribute(this.label), key: \"input\" },\n h(\"div\", { class: `${clsPrefix}-base-selection-input__content` }, renderTag\n ? renderTag({\n option: this.selectedOption,\n handleClose: () => { }\n })\n : renderLabel\n ? renderLabel(this.selectedOption, true)\n : render(this.label, this.selectedOption, true)))) : (h(\"div\", { class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`, key: \"placeholder\" },\n h(\"div\", { class: `${clsPrefix}-base-selection-placeholder__inner` }, this.placeholder))),\n suffix));\n }\n }\n return (h(\"div\", { ref: \"selfRef\", class: [\n `${clsPrefix}-base-selection`,\n this.themeClass,\n status && `${clsPrefix}-base-selection--${status}-status`,\n {\n [`${clsPrefix}-base-selection--active`]: this.active,\n [`${clsPrefix}-base-selection--selected`]: this.selected || (this.active && this.pattern),\n [`${clsPrefix}-base-selection--disabled`]: this.disabled,\n [`${clsPrefix}-base-selection--multiple`]: this.multiple,\n // focus is not controlled by selection itself since it always need\n // to be managed together with menu. provide :focus style will cause\n // many redundant codes.\n [`${clsPrefix}-base-selection--focus`]: this.focused\n }\n ], style: this.cssVars, onClick: this.onClick, onMouseenter: this.handleMouseEnter, onMouseleave: this.handleMouseLeave, onKeydown: this.onKeydown, onFocusin: this.handleFocusin, onFocusout: this.handleFocusout, onMousedown: this.handleMouseDown },\n body,\n bordered ? (h(\"div\", { class: `${clsPrefix}-base-selection__border` })) : null,\n bordered ? (h(\"div\", { class: `${clsPrefix}-base-selection__state-border` })) : null));\n }\n});\n","export function getIsGroup(option) {\n return option.type === 'group';\n}\nexport function getIgnored(option) {\n return option.type === 'ignored';\n}\nexport function patternMatched(pattern, value) {\n try {\n return !!(1 + value.toString().toLowerCase().indexOf(pattern.trim().toLowerCase()));\n }\n catch (err) {\n return false;\n }\n}\nexport function createTmOptions(valueField, childrenField) {\n const options = {\n getIsGroup,\n getIgnored,\n getKey(option) {\n if (getIsGroup(option)) {\n return (option.name ||\n option.key ||\n 'key-required');\n }\n // Required for non-custom label & value field\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return option[valueField];\n },\n getChildren(option) {\n return option[childrenField];\n }\n };\n return options;\n}\nexport function filterOptions(originalOpts, filter, pattern, childrenField) {\n if (!filter)\n return originalOpts;\n function traverse(options) {\n if (!Array.isArray(options))\n return [];\n const filteredOptions = [];\n for (const option of options) {\n if (getIsGroup(option)) {\n const children = traverse(option[childrenField]);\n if (children.length) {\n filteredOptions.push(Object.assign({}, option, {\n [childrenField]: children\n }));\n }\n }\n else if (getIgnored(option)) {\n continue;\n }\n else if (filter(pattern, option)) {\n filteredOptions.push(option);\n }\n }\n return filteredOptions;\n }\n return traverse(originalOpts);\n}\nexport function createValOptMap(options, valueField, childrenField) {\n const valOptMap = new Map();\n options.forEach((option) => {\n if (getIsGroup(option)) {\n ;\n option[childrenField].forEach((selectGroupOption) => {\n valOptMap.set(selectGroupOption[valueField], selectGroupOption);\n });\n }\n else {\n valOptMap.set(option[valueField], option);\n }\n });\n return valOptMap;\n}\n","import { internalSelectMenuLight } from '../../_internal/select-menu/styles';\nimport { commonLight } from '../../_styles/common';\nimport { popoverLight } from '../../popover/styles';\nimport { createTheme } from '../../_mixins';\nexport function self(vars) {\n const { boxShadow2 } = vars;\n return {\n menuBoxShadow: boxShadow2\n };\n}\nconst popselectLight = createTheme({\n name: 'Popselect',\n common: commonLight,\n peers: {\n Popover: popoverLight,\n InternalSelectMenu: internalSelectMenuLight\n },\n self\n});\nexport default popselectLight;\n","import { createInjectionKey } from '../../_utils';\nexport const popselectInjectionKey = createInjectionKey('n-popselect');\n","import { cB } from '../../../_utils/cssr';\n// --n-menu-box-shadow\nexport default cB('popselect-menu', `\n box-shadow: var(--n-menu-box-shadow);\n`);","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, computed, defineComponent, inject, toRef, watch, nextTick, watchEffect } from 'vue';\nimport { createTreeMate } from 'treemate';\nimport { happensIn } from 'seemly';\nimport { createTmOptions } from '../../select/src/utils';\nimport { useConfig, useTheme, useThemeClass } from '../../_mixins';\nimport { NInternalSelectMenu } from '../../_internal';\nimport { call, keysOf, warn } from '../../_utils';\nimport { popselectLight } from '../styles';\nimport { popselectInjectionKey } from './interface';\nimport style from './styles/index.cssr';\nexport const panelProps = {\n multiple: Boolean,\n value: {\n type: [String, Number, Array],\n default: null\n },\n cancelable: Boolean,\n options: {\n type: Array,\n default: () => []\n },\n size: {\n type: String,\n default: 'medium'\n },\n scrollable: Boolean,\n 'onUpdate:value': [Function, Array],\n onUpdateValue: [Function, Array],\n onMouseenter: Function,\n onMouseleave: Function,\n renderLabel: Function,\n showCheckmark: {\n type: Boolean,\n default: undefined\n },\n nodeProps: Function,\n virtualScroll: Boolean,\n // deprecated\n onChange: [Function, Array]\n};\nexport const panelPropKeys = keysOf(panelProps);\nexport default defineComponent({\n name: 'PopselectPanel',\n props: panelProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onChange !== undefined) {\n warn('popselect', '`on-change` is deprecated, please use `on-update:value` instead.');\n }\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NPopselect = inject(popselectInjectionKey);\n const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);\n const themeRef = useTheme('Popselect', '-pop-select', style, popselectLight, NPopselect.props, mergedClsPrefixRef);\n const treeMateRef = computed(() => {\n return createTreeMate(props.options, createTmOptions('value', 'children'));\n });\n function doUpdateValue(value, option) {\n const { onUpdateValue, 'onUpdate:value': _onUpdateValue, onChange } = props;\n if (onUpdateValue)\n call(onUpdateValue, value, option);\n if (_onUpdateValue) {\n call(_onUpdateValue, value, option);\n }\n if (onChange)\n call(onChange, value, option);\n }\n function handleToggle(tmNode) {\n toggle(tmNode.key);\n }\n function handleMenuMousedown(e) {\n if (!happensIn(e, 'action'))\n e.preventDefault();\n }\n function toggle(value) {\n const { value: { getNode } } = treeMateRef;\n if (props.multiple) {\n if (Array.isArray(props.value)) {\n const newValue = [];\n const newOptions = [];\n let shouldAddValue = true;\n props.value.forEach((v) => {\n if (v === value) {\n shouldAddValue = false;\n return;\n }\n const tmNode = getNode(v);\n if (tmNode) {\n newValue.push(tmNode.key);\n newOptions.push(tmNode.rawNode);\n }\n });\n if (shouldAddValue) {\n newValue.push(value);\n newOptions.push(getNode(value).rawNode);\n }\n doUpdateValue(newValue, newOptions);\n }\n else {\n const tmNode = getNode(value);\n if (tmNode) {\n doUpdateValue([value], [tmNode.rawNode]);\n }\n }\n }\n else {\n if (props.value === value && props.cancelable) {\n doUpdateValue(null, null);\n }\n else {\n const tmNode = getNode(value);\n if (tmNode) {\n doUpdateValue(value, tmNode.rawNode);\n }\n const { 'onUpdate:show': _onUpdateShow, onUpdateShow } = NPopselect.props;\n if (_onUpdateShow)\n call(_onUpdateShow, false);\n if (onUpdateShow)\n call(onUpdateShow, false);\n NPopselect.setShow(false);\n }\n }\n void nextTick(() => {\n NPopselect.syncPosition();\n });\n }\n watch(toRef(props, 'options'), () => {\n void nextTick(() => {\n NPopselect.syncPosition();\n });\n });\n const cssVarsRef = computed(() => {\n const { self: { menuBoxShadow } } = themeRef.value;\n return {\n '--n-menu-box-shadow': menuBoxShadow\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('select', undefined, cssVarsRef, NPopselect.props)\n : undefined;\n return {\n mergedTheme: NPopselect.mergedThemeRef,\n mergedClsPrefix: mergedClsPrefixRef,\n treeMate: treeMateRef,\n handleToggle,\n handleMenuMousedown,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n var _a;\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n return (h(NInternalSelectMenu, { clsPrefix: this.mergedClsPrefix, focusable: true, nodeProps: this.nodeProps, class: [`${this.mergedClsPrefix}-popselect-menu`, this.themeClass], style: this.cssVars, theme: this.mergedTheme.peers.InternalSelectMenu, themeOverrides: this.mergedTheme.peerOverrides.InternalSelectMenu, multiple: this.multiple, treeMate: this.treeMate, size: this.size, value: this.value, virtualScroll: this.virtualScroll, scrollable: this.scrollable, renderLabel: this.renderLabel, onToggle: this.handleToggle, onMouseenter: this.onMouseenter, onMouseleave: this.onMouseenter, onMousedown: this.handleMenuMousedown, showCheckmark: this.showCheckmark }, {\n header: () => { var _a, _b; return ((_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a)) || []; },\n action: () => { var _a, _b; return ((_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a)) || []; },\n empty: () => { var _a, _b; return ((_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a)) || []; }\n }));\n }\n});\n","import { h, ref, provide, defineComponent } from 'vue';\nimport { popoverBaseProps } from '../../popover/src/Popover';\nimport { NPopover } from '../../popover';\nimport NPopselectPanel, { panelPropKeys, panelProps } from './PopselectPanel';\nimport { omit, keep, createRefSetter, mergeEventHandlers } from '../../_utils';\nimport { useConfig, useTheme } from '../../_mixins';\nimport { popselectLight } from '../styles';\nimport { popselectInjectionKey } from './interface';\nexport const popselectProps = Object.assign(Object.assign(Object.assign(Object.assign({}, useTheme.props), omit(popoverBaseProps, ['showArrow', 'arrow'])), { placement: Object.assign(Object.assign({}, popoverBaseProps.placement), { default: 'bottom' }), trigger: {\n type: String,\n default: 'hover'\n } }), panelProps);\nexport default defineComponent({\n name: 'Popselect',\n props: popselectProps,\n inheritAttrs: false,\n __popover__: true,\n setup(props) {\n const { mergedClsPrefixRef } = useConfig(props);\n const themeRef = useTheme('Popselect', '-popselect', undefined, popselectLight, props, mergedClsPrefixRef);\n const popoverInstRef = ref(null);\n function syncPosition() {\n var _a;\n (_a = popoverInstRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition();\n }\n function setShow(value) {\n var _a;\n (_a = popoverInstRef.value) === null || _a === void 0 ? void 0 : _a.setShow(value);\n }\n provide(popselectInjectionKey, {\n props,\n mergedThemeRef: themeRef,\n syncPosition,\n setShow\n });\n const exposedMethods = {\n syncPosition,\n setShow\n };\n return Object.assign(Object.assign({}, exposedMethods), { popoverInstRef, mergedTheme: themeRef });\n },\n render() {\n const { mergedTheme } = this;\n const popoverProps = {\n theme: mergedTheme.peers.Popover,\n themeOverrides: mergedTheme.peerOverrides.Popover,\n builtinThemeOverrides: {\n padding: '0'\n },\n ref: 'popoverInstRef',\n internalRenderBody: (className, ref, style, onMouseenter, onMouseleave) => {\n const { $attrs } = this;\n return (h(NPopselectPanel, Object.assign({}, $attrs, { class: [$attrs.class, className], style: [$attrs.style, ...style] }, keep(this.$props, panelPropKeys), { ref: createRefSetter(ref), onMouseenter: mergeEventHandlers([\n onMouseenter,\n $attrs.onMouseenter\n ]), onMouseleave: mergeEventHandlers([\n onMouseleave,\n $attrs.onMouseleave\n ]) }), {\n header: () => { var _a, _b; return (_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a); },\n action: () => { var _a, _b; return (_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a); },\n empty: () => { var _a, _b; return (_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a); }\n }));\n }\n };\n return (h(NPopover, Object.assign({}, omit(this.$props, panelPropKeys), popoverProps, { internalDeactivateImmediately: true }), {\n trigger: () => { var _a, _b; return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a); }\n }));\n }\n});\n","import { internalSelectionLight } from '../../_internal/selection/styles';\nimport { internalSelectMenuLight } from '../../_internal/select-menu/styles';\nimport { commonLight } from '../../_styles/common';\nimport { createTheme } from '../../_mixins';\nexport function self(vars) {\n const { boxShadow2 } = vars;\n return {\n menuBoxShadow: boxShadow2\n };\n}\nconst selectLight = createTheme({\n name: 'Select',\n common: commonLight,\n peers: {\n InternalSelection: internalSelectionLight,\n InternalSelectMenu: internalSelectMenuLight\n },\n self\n});\nexport default selectLight;\n","import { cB, c } from '../../../_utils/cssr';\nimport { fadeInScaleUpTransition } from '../../../_styles/transitions/fade-in-scale-up.cssr';\n// --n-menu-box-shadow\nexport default c([cB('select', `\n z-index: auto;\n outline: none;\n width: 100%;\n position: relative;\n `), cB('select-menu', `\n margin: 4px 0;\n box-shadow: var(--n-menu-box-shadow);\n `, [fadeInScaleUpTransition({\n originalTransition: 'background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)'\n})])]);","import { h, ref, computed, toRef, defineComponent, watch, Transition, withDirectives, vShow, watchEffect } from 'vue';\nimport { getPreciseEventTarget, happensIn } from 'seemly';\nimport { createTreeMate } from 'treemate';\nimport { VBinder, VFollower, VTarget } from 'vueuc';\nimport { useIsMounted, useMergedState, useCompitable } from 'vooks';\nimport { clickoutside } from 'vdirs';\nimport { useTheme, useConfig, useLocale, useFormItem, useThemeClass } from '../../_mixins';\nimport { call, markEventEffectPerformed, useAdjustedTo, warnOnce } from '../../_utils';\nimport { NInternalSelectMenu, NInternalSelection } from '../../_internal';\nimport { selectLight } from '../styles';\nimport { createValOptMap, filterOptions, createTmOptions, patternMatched } from './utils';\nimport style from './styles/index.cssr';\nexport const selectProps = Object.assign(Object.assign({}, useTheme.props), { to: useAdjustedTo.propTo, bordered: {\n type: Boolean,\n default: undefined\n }, clearable: Boolean, clearFilterAfterSelect: {\n type: Boolean,\n default: true\n }, options: {\n type: Array,\n default: () => []\n }, defaultValue: {\n type: [String, Number, Array],\n default: null\n }, keyboard: {\n type: Boolean,\n default: true\n }, value: [String, Number, Array], placeholder: String, menuProps: Object, multiple: Boolean, size: String, filterable: Boolean, disabled: {\n type: Boolean,\n default: undefined\n }, remote: Boolean, loading: Boolean, filter: Function, placement: {\n type: String,\n default: 'bottom-start'\n }, widthMode: {\n type: String,\n default: 'trigger'\n }, tag: Boolean, onCreate: Function, fallbackOption: {\n type: [Function, Boolean],\n default: undefined\n }, show: {\n type: Boolean,\n default: undefined\n }, showArrow: {\n type: Boolean,\n default: true\n }, maxTagCount: [Number, String], consistentMenuWidth: {\n type: Boolean,\n default: true\n }, virtualScroll: {\n type: Boolean,\n default: true\n }, labelField: {\n type: String,\n default: 'label'\n }, valueField: {\n type: String,\n default: 'value'\n }, childrenField: {\n type: String,\n default: 'children'\n }, renderLabel: Function, renderOption: Function, renderTag: Function, 'onUpdate:value': [Function, Array], inputProps: Object, nodeProps: Function, ignoreComposition: { type: Boolean, default: true }, showOnFocus: Boolean, \n // for jsx\n onUpdateValue: [Function, Array], onBlur: [Function, Array], onClear: [Function, Array], onFocus: [Function, Array], onScroll: [Function, Array], onSearch: [Function, Array], onUpdateShow: [Function, Array], 'onUpdate:show': [Function, Array], displayDirective: {\n type: String,\n default: 'show'\n }, resetMenuOnOptionsChange: {\n type: Boolean,\n default: true\n }, status: String, showCheckmark: {\n type: Boolean,\n default: true\n }, \n /** deprecated */\n onChange: [Function, Array], items: Array });\nexport default defineComponent({\n name: 'Select',\n props: selectProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.items !== undefined) {\n warnOnce('select', '`items` is deprecated, please use `options` instead.');\n }\n if (props.onChange !== undefined) {\n warnOnce('select', '`on-change` is deprecated, please use `on-update:value` instead.');\n }\n });\n }\n const { mergedClsPrefixRef, mergedBorderedRef, namespaceRef, inlineThemeDisabled } = useConfig(props);\n const themeRef = useTheme('Select', '-select', style, selectLight, props, mergedClsPrefixRef);\n const uncontrolledValueRef = ref(props.defaultValue);\n const controlledValueRef = toRef(props, 'value');\n const mergedValueRef = useMergedState(controlledValueRef, uncontrolledValueRef);\n const focusedRef = ref(false);\n const patternRef = ref('');\n const treeMateRef = computed(() => {\n const { valueField, childrenField } = props;\n const options = createTmOptions(valueField, childrenField);\n return createTreeMate(filteredOptionsRef.value, options);\n });\n const valOptMapRef = computed(() => createValOptMap(localOptionsRef.value, props.valueField, props.childrenField));\n const uncontrolledShowRef = ref(false);\n const mergedShowRef = useMergedState(toRef(props, 'show'), uncontrolledShowRef);\n const triggerRef = ref(null);\n const followerRef = ref(null);\n const menuRef = ref(null);\n const { localeRef } = useLocale('Select');\n const localizedPlaceholderRef = computed(() => {\n var _a;\n return (_a = props.placeholder) !== null && _a !== void 0 ? _a : localeRef.value.placeholder;\n });\n const compitableOptionsRef = useCompitable(props, ['items', 'options']);\n const emptyArray = [];\n const createdOptionsRef = ref([]);\n const beingCreatedOptionsRef = ref([]);\n const memoValOptMapRef = ref(new Map());\n const wrappedFallbackOptionRef = computed(() => {\n const { fallbackOption } = props;\n if (fallbackOption === undefined) {\n const { labelField, valueField } = props;\n return (value) => ({\n [labelField]: String(value),\n [valueField]: value\n });\n }\n if (fallbackOption === false)\n return false;\n return (value) => {\n return Object.assign(fallbackOption(value), {\n value\n });\n };\n });\n const localOptionsRef = computed(() => {\n return beingCreatedOptionsRef.value.concat(createdOptionsRef.value).concat(compitableOptionsRef.value);\n });\n const resolvedFilterRef = computed(() => {\n const { filter } = props;\n if (filter)\n return filter;\n const { labelField, valueField } = props;\n return (pattern, option) => {\n if (!option)\n return false;\n const label = option[labelField];\n if (typeof label === 'string') {\n return patternMatched(pattern, label);\n }\n const value = option[valueField];\n if (typeof value === 'string') {\n return patternMatched(pattern, value);\n }\n if (typeof value === 'number') {\n return patternMatched(pattern, String(value));\n }\n return false;\n };\n });\n const filteredOptionsRef = computed(() => {\n if (props.remote) {\n return compitableOptionsRef.value;\n }\n else {\n const { value: localOptions } = localOptionsRef;\n const { value: pattern } = patternRef;\n if (!pattern.length || !props.filterable) {\n return localOptions;\n }\n else {\n return filterOptions(localOptions, resolvedFilterRef.value, pattern, props.childrenField);\n }\n }\n });\n function getMergedOptions(values) {\n const remote = props.remote;\n const { value: memoValOptMap } = memoValOptMapRef;\n const { value: valOptMap } = valOptMapRef;\n const { value: wrappedFallbackOption } = wrappedFallbackOptionRef;\n const options = [];\n values.forEach((value) => {\n if (valOptMap.has(value)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n options.push(valOptMap.get(value));\n }\n else if (remote && memoValOptMap.has(value)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n options.push(memoValOptMap.get(value));\n }\n else if (wrappedFallbackOption) {\n const option = wrappedFallbackOption(value);\n if (option) {\n options.push(option);\n }\n }\n });\n return options;\n }\n const selectedOptionsRef = computed(() => {\n if (props.multiple) {\n const { value: values } = mergedValueRef;\n if (!Array.isArray(values))\n return [];\n return getMergedOptions(values);\n }\n return null;\n });\n const selectedOptionRef = computed(() => {\n const { value: mergedValue } = mergedValueRef;\n if (!props.multiple && !Array.isArray(mergedValue)) {\n if (mergedValue === null)\n return null;\n return getMergedOptions([mergedValue])[0] || null;\n }\n return null;\n });\n const formItem = useFormItem(props);\n const { mergedSizeRef, mergedDisabledRef, mergedStatusRef } = formItem;\n function doUpdateValue(value, option) {\n const { onChange, 'onUpdate:value': _onUpdateValue, onUpdateValue } = props;\n const { nTriggerFormChange, nTriggerFormInput } = formItem;\n if (onChange)\n call(onChange, value, option);\n if (onUpdateValue)\n call(onUpdateValue, value, option);\n if (_onUpdateValue) {\n call(_onUpdateValue, value, option);\n }\n uncontrolledValueRef.value = value;\n nTriggerFormChange();\n nTriggerFormInput();\n }\n function doBlur(e) {\n const { onBlur } = props;\n const { nTriggerFormBlur } = formItem;\n if (onBlur)\n call(onBlur, e);\n nTriggerFormBlur();\n }\n function doClear() {\n const { onClear } = props;\n if (onClear)\n call(onClear);\n }\n function doFocus(e) {\n const { onFocus, showOnFocus } = props;\n const { nTriggerFormFocus } = formItem;\n if (onFocus)\n call(onFocus, e);\n nTriggerFormFocus();\n if (showOnFocus) {\n openMenu();\n }\n }\n function doSearch(value) {\n const { onSearch } = props;\n if (onSearch)\n call(onSearch, value);\n }\n function doScroll(e) {\n const { onScroll } = props;\n if (onScroll)\n call(onScroll, e);\n }\n // remote related methods\n function updateMemorizedOptions() {\n var _a;\n const { remote, multiple } = props;\n if (remote) {\n const { value: memoValOptMap } = memoValOptMapRef;\n if (multiple) {\n const { valueField } = props;\n (_a = selectedOptionsRef.value) === null || _a === void 0 ? void 0 : _a.forEach((option) => {\n memoValOptMap.set(option[valueField], option);\n });\n }\n else {\n const option = selectedOptionRef.value;\n if (option) {\n memoValOptMap.set(option[props.valueField], option);\n }\n }\n }\n }\n // menu related methods\n function doUpdateShow(value) {\n const { onUpdateShow, 'onUpdate:show': _onUpdateShow } = props;\n if (onUpdateShow)\n call(onUpdateShow, value);\n if (_onUpdateShow)\n call(_onUpdateShow, value);\n uncontrolledShowRef.value = value;\n }\n function openMenu() {\n if (!mergedDisabledRef.value) {\n doUpdateShow(true);\n uncontrolledShowRef.value = true;\n if (props.filterable) {\n focusSelectionInput();\n }\n }\n }\n function closeMenu() {\n doUpdateShow(false);\n }\n function handleMenuAfterLeave() {\n patternRef.value = '';\n beingCreatedOptionsRef.value = emptyArray;\n }\n const activeWithoutMenuOpenRef = ref(false);\n function onTriggerInputFocus() {\n if (props.filterable) {\n activeWithoutMenuOpenRef.value = true;\n }\n }\n function onTriggerInputBlur() {\n if (props.filterable) {\n activeWithoutMenuOpenRef.value = false;\n if (!mergedShowRef.value) {\n handleMenuAfterLeave();\n }\n }\n }\n function handleTriggerClick() {\n if (mergedDisabledRef.value)\n return;\n if (!mergedShowRef.value) {\n openMenu();\n }\n else {\n if (!props.filterable) {\n // already focused, don't need to return focus\n closeMenu();\n }\n else {\n focusSelectionInput();\n }\n }\n }\n function handleTriggerBlur(e) {\n var _a, _b;\n if ((_b = (_a = menuRef.value) === null || _a === void 0 ? void 0 : _a.selfRef) === null || _b === void 0 ? void 0 : _b.contains(e.relatedTarget)) {\n return;\n }\n focusedRef.value = false;\n doBlur(e);\n // outside select, don't need to return focus\n closeMenu();\n }\n function handleTriggerFocus(e) {\n doFocus(e);\n focusedRef.value = true;\n }\n function handleMenuFocus(e) {\n focusedRef.value = true;\n }\n function handleMenuBlur(e) {\n var _a;\n if ((_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.$el.contains(e.relatedTarget))\n return;\n focusedRef.value = false;\n doBlur(e);\n // outside select, don't need to return focus\n closeMenu();\n }\n function handleMenuTabOut() {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n closeMenu();\n }\n function handleMenuClickOutside(e) {\n var _a;\n if (mergedShowRef.value) {\n if (!((_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.$el.contains(getPreciseEventTarget(e)))) {\n // outside select, don't need to return focus\n closeMenu();\n }\n }\n }\n function createClearedMultipleSelectValue(value) {\n if (!Array.isArray(value))\n return [];\n if (wrappedFallbackOptionRef.value) {\n // if option has a fallback, I can't help user to clear some unknown value\n return Array.from(value);\n }\n else {\n // if there's no option fallback, unappeared options are treated as invalid\n const { remote } = props;\n const { value: valOptMap } = valOptMapRef;\n if (remote) {\n const { value: memoValOptMap } = memoValOptMapRef;\n return value.filter((v) => valOptMap.has(v) || memoValOptMap.has(v));\n }\n else {\n return value.filter((v) => valOptMap.has(v));\n }\n }\n }\n function handleToggleByTmNode(tmNode) {\n handleToggleByOption(tmNode.rawNode);\n }\n function handleToggleByOption(option) {\n if (mergedDisabledRef.value)\n return;\n const { tag, remote, clearFilterAfterSelect, valueField } = props;\n if (tag && !remote) {\n const { value: beingCreatedOptions } = beingCreatedOptionsRef;\n const beingCreatedOption = beingCreatedOptions[0] || null;\n if (beingCreatedOption) {\n const createdOptions = createdOptionsRef.value;\n if (!createdOptions.length) {\n createdOptionsRef.value = [beingCreatedOption];\n }\n else {\n createdOptions.push(beingCreatedOption);\n }\n beingCreatedOptionsRef.value = emptyArray;\n }\n }\n if (remote) {\n memoValOptMapRef.value.set(option[valueField], option);\n }\n if (props.multiple) {\n const changedValue = createClearedMultipleSelectValue(mergedValueRef.value);\n const index = changedValue.findIndex((value) => value === option[valueField]);\n if (~index) {\n changedValue.splice(index, 1);\n if (tag && !remote) {\n const createdOptionIndex = getCreatedOptionIndex(option[valueField]);\n if (~createdOptionIndex) {\n createdOptionsRef.value.splice(createdOptionIndex, 1);\n if (clearFilterAfterSelect)\n patternRef.value = '';\n }\n }\n }\n else {\n changedValue.push(option[valueField]);\n if (clearFilterAfterSelect)\n patternRef.value = '';\n }\n doUpdateValue(changedValue, getMergedOptions(changedValue));\n }\n else {\n if (tag && !remote) {\n const createdOptionIndex = getCreatedOptionIndex(option[valueField]);\n if (~createdOptionIndex) {\n createdOptionsRef.value = [\n createdOptionsRef.value[createdOptionIndex]\n ];\n }\n else {\n createdOptionsRef.value = emptyArray;\n }\n }\n focusSelection();\n closeMenu();\n doUpdateValue(option[valueField], option);\n }\n }\n function getCreatedOptionIndex(optionValue) {\n const createdOptions = createdOptionsRef.value;\n return createdOptions.findIndex((createdOption) => createdOption[props.valueField] === optionValue);\n }\n function handlePatternInput(e) {\n if (!mergedShowRef.value) {\n openMenu();\n }\n const { value } = e.target;\n patternRef.value = value;\n const { tag, remote } = props;\n doSearch(value);\n if (tag && !remote) {\n if (!value) {\n beingCreatedOptionsRef.value = emptyArray;\n return;\n }\n const { onCreate } = props;\n const optionBeingCreated = onCreate\n ? onCreate(value)\n : { [props.labelField]: value, [props.valueField]: value };\n const { valueField, labelField } = props;\n if (compitableOptionsRef.value.some((option) => {\n return (option[valueField] === optionBeingCreated[valueField] ||\n option[labelField] === optionBeingCreated[labelField]);\n }) ||\n createdOptionsRef.value.some((option) => {\n return (option[valueField] === optionBeingCreated[valueField] ||\n option[labelField] === optionBeingCreated[labelField]);\n })) {\n beingCreatedOptionsRef.value = emptyArray;\n }\n else {\n beingCreatedOptionsRef.value = [optionBeingCreated];\n }\n }\n }\n function handleClear(e) {\n e.stopPropagation();\n const { multiple } = props;\n if (!multiple && props.filterable) {\n closeMenu();\n }\n doClear();\n if (multiple) {\n doUpdateValue([], []);\n }\n else {\n doUpdateValue(null, null);\n }\n }\n function handleMenuMousedown(e) {\n if (!happensIn(e, 'action') && !happensIn(e, 'empty'))\n e.preventDefault();\n }\n // scroll events on menu\n function handleMenuScroll(e) {\n doScroll(e);\n }\n // keyboard events\n // also for menu keydown\n function handleKeydown(e) {\n var _a, _b, _c, _d, _e;\n if (!props.keyboard) {\n e.preventDefault();\n return;\n }\n switch (e.key) {\n case ' ':\n if (props.filterable)\n break;\n else {\n e.preventDefault();\n }\n // eslint-disable-next-line no-fallthrough\n case 'Enter':\n if (!((_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.isComposing)) {\n if (mergedShowRef.value) {\n const pendingTmNode = (_b = menuRef.value) === null || _b === void 0 ? void 0 : _b.getPendingTmNode();\n if (pendingTmNode) {\n handleToggleByTmNode(pendingTmNode);\n }\n else if (!props.filterable) {\n closeMenu();\n focusSelection();\n }\n }\n else {\n openMenu();\n if (props.tag && activeWithoutMenuOpenRef.value) {\n const beingCreatedOption = beingCreatedOptionsRef.value[0];\n if (beingCreatedOption) {\n const optionValue = beingCreatedOption[props.valueField];\n const { value: mergedValue } = mergedValueRef;\n if (props.multiple) {\n if (Array.isArray(mergedValue) &&\n mergedValue.some((value) => value === optionValue)) {\n // do nothing\n }\n else {\n handleToggleByOption(beingCreatedOption);\n }\n }\n else {\n handleToggleByOption(beingCreatedOption);\n }\n }\n }\n }\n }\n e.preventDefault();\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (props.loading)\n return;\n if (mergedShowRef.value) {\n (_c = menuRef.value) === null || _c === void 0 ? void 0 : _c.prev();\n }\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (props.loading)\n return;\n if (mergedShowRef.value) {\n (_d = menuRef.value) === null || _d === void 0 ? void 0 : _d.next();\n }\n else {\n openMenu();\n }\n break;\n case 'Escape':\n if (mergedShowRef.value) {\n markEventEffectPerformed(e);\n closeMenu();\n }\n (_e = triggerRef.value) === null || _e === void 0 ? void 0 : _e.focus();\n break;\n }\n }\n function focusSelection() {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n }\n function focusSelectionInput() {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focusInput();\n }\n function handleTriggerOrMenuResize() {\n var _a;\n if (!mergedShowRef.value)\n return;\n (_a = followerRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition();\n }\n updateMemorizedOptions();\n watch(toRef(props, 'options'), updateMemorizedOptions);\n const exposedMethods = {\n focus: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n },\n focusInput: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focusInput();\n },\n blur: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.blur();\n },\n blurInput: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.blurInput();\n }\n };\n const cssVarsRef = computed(() => {\n const { self: { menuBoxShadow } } = themeRef.value;\n return {\n '--n-menu-box-shadow': menuBoxShadow\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('select', undefined, cssVarsRef, props)\n : undefined;\n return Object.assign(Object.assign({}, exposedMethods), { mergedStatus: mergedStatusRef, mergedClsPrefix: mergedClsPrefixRef, mergedBordered: mergedBorderedRef, namespace: namespaceRef, treeMate: treeMateRef, isMounted: useIsMounted(), triggerRef,\n menuRef, pattern: patternRef, uncontrolledShow: uncontrolledShowRef, mergedShow: mergedShowRef, adjustedTo: useAdjustedTo(props), uncontrolledValue: uncontrolledValueRef, mergedValue: mergedValueRef, followerRef, localizedPlaceholder: localizedPlaceholderRef, selectedOption: selectedOptionRef, selectedOptions: selectedOptionsRef, mergedSize: mergedSizeRef, mergedDisabled: mergedDisabledRef, focused: focusedRef, activeWithoutMenuOpen: activeWithoutMenuOpenRef, inlineThemeDisabled,\n onTriggerInputFocus,\n onTriggerInputBlur,\n handleTriggerOrMenuResize,\n handleMenuFocus,\n handleMenuBlur,\n handleMenuTabOut,\n handleTriggerClick, handleToggle: handleToggleByTmNode, handleDeleteOption: handleToggleByOption, handlePatternInput,\n handleClear,\n handleTriggerBlur,\n handleTriggerFocus,\n handleKeydown,\n handleMenuAfterLeave,\n handleMenuClickOutside,\n handleMenuScroll, handleMenuKeydown: handleKeydown, handleMenuMousedown, mergedTheme: themeRef, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender });\n },\n render() {\n return (h(\"div\", { class: `${this.mergedClsPrefix}-select` },\n h(VBinder, null, {\n default: () => [\n h(VTarget, null, {\n default: () => (h(NInternalSelection, { ref: \"triggerRef\", inlineThemeDisabled: this.inlineThemeDisabled, status: this.mergedStatus, inputProps: this.inputProps, clsPrefix: this.mergedClsPrefix, showArrow: this.showArrow, maxTagCount: this.maxTagCount, bordered: this.mergedBordered, active: this.activeWithoutMenuOpen || this.mergedShow, pattern: this.pattern, placeholder: this.localizedPlaceholder, selectedOption: this.selectedOption, selectedOptions: this.selectedOptions, multiple: this.multiple, renderTag: this.renderTag, renderLabel: this.renderLabel, filterable: this.filterable, clearable: this.clearable, disabled: this.mergedDisabled, size: this.mergedSize, theme: this.mergedTheme.peers.InternalSelection, labelField: this.labelField, valueField: this.valueField, themeOverrides: this.mergedTheme.peerOverrides.InternalSelection, loading: this.loading, focused: this.focused, onClick: this.handleTriggerClick, onDeleteOption: this.handleDeleteOption, onPatternInput: this.handlePatternInput, onClear: this.handleClear, onBlur: this.handleTriggerBlur, onFocus: this.handleTriggerFocus, onKeydown: this.handleKeydown, onPatternBlur: this.onTriggerInputBlur, onPatternFocus: this.onTriggerInputFocus, onResize: this.handleTriggerOrMenuResize, ignoreComposition: this.ignoreComposition }, {\n arrow: () => { var _a, _b; return [(_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a)]; }\n }))\n }),\n h(VFollower, { ref: \"followerRef\", show: this.mergedShow, to: this.adjustedTo, teleportDisabled: this.adjustedTo === useAdjustedTo.tdkey, containerClass: this.namespace, width: this.consistentMenuWidth ? 'target' : undefined, minWidth: \"target\", placement: this.placement }, {\n default: () => (h(Transition, { name: \"fade-in-scale-up-transition\", appear: this.isMounted, onAfterLeave: this.handleMenuAfterLeave }, {\n default: () => {\n var _a, _b, _c;\n if (!(this.mergedShow ||\n this.displayDirective === 'show')) {\n return null;\n }\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n return withDirectives(h(NInternalSelectMenu, Object.assign({}, this.menuProps, { ref: \"menuRef\", onResize: this.handleTriggerOrMenuResize, inlineThemeDisabled: this.inlineThemeDisabled, virtualScroll: this.consistentMenuWidth && this.virtualScroll, class: [\n `${this.mergedClsPrefix}-select-menu`,\n this.themeClass,\n (_b = this.menuProps) === null || _b === void 0 ? void 0 : _b.class\n ], clsPrefix: this.mergedClsPrefix, focusable: true, labelField: this.labelField, valueField: this.valueField, autoPending: true, nodeProps: this.nodeProps, theme: this.mergedTheme.peers.InternalSelectMenu, themeOverrides: this.mergedTheme.peerOverrides\n .InternalSelectMenu, treeMate: this.treeMate, multiple: this.multiple, size: \"medium\", renderOption: this.renderOption, renderLabel: this.renderLabel, value: this.mergedValue, style: [(_c = this.menuProps) === null || _c === void 0 ? void 0 : _c.style, this.cssVars], onToggle: this.handleToggle, onScroll: this.handleMenuScroll, onFocus: this.handleMenuFocus, onBlur: this.handleMenuBlur, onKeydown: this.handleMenuKeydown, onTabOut: this.handleMenuTabOut, onMousedown: this.handleMenuMousedown, show: this.mergedShow, showCheckmark: this.showCheckmark, resetMenuOnOptionsChange: this.resetMenuOnOptionsChange }), {\n empty: () => { var _a, _b; return [(_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a)]; },\n action: () => { var _a, _b; return [(_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a)]; }\n }), this.displayDirective === 'show'\n ? [\n [vShow, this.mergedShow],\n [\n clickoutside,\n this.handleMenuClickOutside,\n undefined,\n { capture: true }\n ]\n ]\n : [\n [\n clickoutside,\n this.handleMenuClickOutside,\n undefined,\n { capture: true }\n ]\n ]);\n }\n }))\n })\n ]\n })));\n }\n});\n","export default {\n itemPaddingSmall: '0 4px',\n itemMarginSmall: '0 0 0 8px',\n itemMarginSmallRtl: '0 8px 0 0',\n itemPaddingMedium: '0 4px',\n itemMarginMedium: '0 0 0 8px',\n itemMarginMediumRtl: '0 8px 0 0',\n itemPaddingLarge: '0 4px',\n itemMarginLarge: '0 0 0 8px',\n itemMarginLargeRtl: '0 8px 0 0',\n buttonIconSizeSmall: '14px',\n buttonIconSizeMedium: '16px',\n buttonIconSizeLarge: '18px',\n inputWidthSmall: '60px',\n selectWidthSmall: 'unset',\n inputMarginSmall: '0 0 0 8px',\n inputMarginSmallRtl: '0 8px 0 0',\n selectMarginSmall: '0 0 0 8px',\n prefixMarginSmall: '0 8px 0 0',\n suffixMarginSmall: '0 0 0 8px',\n inputWidthMedium: '60px',\n selectWidthMedium: 'unset',\n inputMarginMedium: '0 0 0 8px',\n inputMarginMediumRtl: '0 8px 0 0',\n selectMarginMedium: '0 0 0 8px',\n prefixMarginMedium: '0 8px 0 0',\n suffixMarginMedium: '0 0 0 8px',\n inputWidthLarge: '60px',\n selectWidthLarge: 'unset',\n inputMarginLarge: '0 0 0 8px',\n inputMarginLargeRtl: '0 8px 0 0',\n selectMarginLarge: '0 0 0 8px',\n prefixMarginLarge: '0 8px 0 0',\n suffixMarginLarge: '0 0 0 8px'\n};\n","import { popselectLight } from '../../popselect/styles';\nimport { selectLight } from '../../select/styles';\nimport { inputLight } from '../../input/styles';\nimport { commonLight } from '../../_styles/common';\nimport commonVariables from './_common';\nimport { createTheme } from '../../_mixins';\nexport const self = (vars) => {\n const { textColor2, primaryColor, primaryColorHover, primaryColorPressed, inputColorDisabled, textColorDisabled, borderColor, borderRadius, \n // item font size\n fontSizeTiny, fontSizeSmall, fontSizeMedium, \n // item size\n heightTiny, heightSmall, heightMedium } = vars;\n return Object.assign(Object.assign({}, commonVariables), { buttonColor: '#0000', buttonColorHover: '#0000', buttonColorPressed: '#0000', buttonBorder: `1px solid ${borderColor}`, buttonBorderHover: `1px solid ${borderColor}`, buttonBorderPressed: `1px solid ${borderColor}`, buttonIconColor: textColor2, buttonIconColorHover: textColor2, buttonIconColorPressed: textColor2, itemTextColor: textColor2, itemTextColorHover: primaryColorHover, itemTextColorPressed: primaryColorPressed, itemTextColorActive: primaryColor, itemTextColorDisabled: textColorDisabled, itemColor: '#0000', itemColorHover: '#0000', itemColorPressed: '#0000', itemColorActive: '#0000', itemColorActiveHover: '#0000', itemColorDisabled: inputColorDisabled, itemBorder: '1px solid #0000', itemBorderHover: '1px solid #0000', itemBorderPressed: '1px solid #0000', itemBorderActive: `1px solid ${primaryColor}`, itemBorderDisabled: `1px solid ${borderColor}`, itemBorderRadius: borderRadius, itemSizeSmall: heightTiny, itemSizeMedium: heightSmall, itemSizeLarge: heightMedium, itemFontSizeSmall: fontSizeTiny, itemFontSizeMedium: fontSizeSmall, itemFontSizeLarge: fontSizeMedium, jumperFontSizeSmall: fontSizeTiny, jumperFontSizeMedium: fontSizeSmall, jumperFontSizeLarge: fontSizeMedium, jumperTextColor: textColor2, jumperTextColorDisabled: textColorDisabled });\n};\nconst paginationLight = createTheme({\n name: 'Pagination',\n common: commonLight,\n peers: {\n Select: selectLight,\n Input: inputLight,\n Popselect: popselectLight\n },\n self\n});\nexport default paginationLight;\n","function createPageItemsInfo(currentPage, pageCount, pageSlot) {\n let hasFastBackward = false;\n let hasFastForward = false;\n let fastBackwardTo = 1;\n let fastForwardTo = pageCount;\n if (pageCount === 1) {\n return {\n hasFastBackward: false,\n hasFastForward: false,\n fastForwardTo,\n fastBackwardTo,\n items: [\n {\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n }\n ]\n };\n }\n if (pageCount === 2) {\n return {\n hasFastBackward: false,\n hasFastForward: false,\n fastForwardTo,\n fastBackwardTo,\n items: [\n {\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n },\n {\n type: 'page',\n label: 2,\n active: currentPage === 2,\n mayBeFastBackward: true,\n mayBeFastForward: false\n }\n ]\n };\n }\n const firstPage = 1;\n const lastPage = pageCount;\n let middleStart = currentPage;\n let middleEnd = currentPage;\n const middleDelta = (pageSlot - 5) / 2;\n middleEnd += Math.ceil(middleDelta);\n middleEnd = Math.min(Math.max(middleEnd, firstPage + pageSlot - 3), lastPage - 2);\n middleStart -= Math.floor(middleDelta);\n middleStart = Math.max(Math.min(middleStart, lastPage - pageSlot + 3), firstPage + 2);\n let leftSplit = false;\n let rightSplit = false;\n if (middleStart > firstPage + 2)\n leftSplit = true;\n if (middleEnd < lastPage - 2)\n rightSplit = true;\n const items = [];\n items.push({\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n });\n if (leftSplit) {\n hasFastBackward = true;\n fastBackwardTo = middleStart - 1;\n items.push({\n type: 'fast-backward',\n active: false,\n label: undefined,\n options: createRange(firstPage + 1, middleStart - 1)\n });\n }\n else if (lastPage >= firstPage + 1) {\n items.push({\n type: 'page',\n label: firstPage + 1,\n mayBeFastBackward: true,\n mayBeFastForward: false,\n active: currentPage === firstPage + 1\n });\n }\n for (let i = middleStart; i <= middleEnd; ++i) {\n items.push({\n type: 'page',\n label: i,\n mayBeFastBackward: false,\n mayBeFastForward: false,\n active: currentPage === i\n });\n }\n if (rightSplit) {\n hasFastForward = true;\n fastForwardTo = middleEnd + 1;\n items.push({\n type: 'fast-forward',\n active: false,\n label: undefined,\n options: createRange(middleEnd + 1, lastPage - 1)\n });\n }\n else if (middleEnd === lastPage - 2 &&\n items[items.length - 1].label !== lastPage - 1) {\n items.push({\n type: 'page',\n mayBeFastForward: true,\n mayBeFastBackward: false,\n label: lastPage - 1,\n active: currentPage === lastPage - 1\n });\n }\n if (items[items.length - 1].label !== lastPage) {\n items.push({\n type: 'page',\n mayBeFastForward: false,\n mayBeFastBackward: false,\n label: lastPage,\n active: currentPage === lastPage\n });\n }\n return {\n hasFastBackward,\n hasFastForward,\n fastBackwardTo,\n fastForwardTo,\n items\n };\n}\nfunction createRange(from, to) {\n const range = [];\n for (let i = from; i <= to; ++i) {\n range.push({\n label: `${i}`,\n value: i\n });\n }\n return range;\n}\nexport { createPageItemsInfo };\n","import { cB, c, cM, cNotM } from '../../../_utils/cssr';\nconst hoverStyleProps = `\n background: var(--n-item-color-hover);\n color: var(--n-item-text-color-hover);\n border: var(--n-item-border-hover);\n`;\nconst hoverStyleChildren = [cM('button', `\n background: var(--n-button-color-hover);\n border: var(--n-button-border-hover);\n color: var(--n-button-icon-color-hover);\n `)];\n// vars:\n// --n-item-font-size\n// --n-select-width\n// --n-input-width\n// --n-input-margin\n// --n-item-size\n// --n-item-text-color\n// --n-item-text-color-disabled\n// --n-item-text-color-hover\n// --n-item-text-color-active\n// --n-item-color\n// --n-item-color-hover\n// --n-item-color-disabled\n// --n-item-color-active\n// --n-item-color-active-hover\n// --n-item-border\n// --n-item-border-hover\n// --n-item-border-disabled\n// --n-item-border-active\n// --n-item-padding\n// --n-item-font-size\n// --n-item-border-radius\n// --n-bezier\n// --n-jumper-font-size\n// --n-jumper-text-color\n// --n-jumper-text-color-disabled\n// --n-item-margin\n// --n-button-icon-size\n// --n-button-icon-color\n// --n-button-icon-color-hover\n// --n-button-icon-color-pressed\n// --n-prefix-margin\n// --n-suffix-margin\n// --n-button-color\n// --n-button-color-hover\n// --n-button-color-pressed\nexport default cB('pagination', `\n display: flex;\n vertical-align: middle;\n font-size: var(--n-item-font-size);\n flex-wrap: nowrap;\n`, [cB('pagination-prefix', `\n display: flex;\n align-items: center;\n margin: var(--n-prefix-margin);\n `), cB('pagination-suffix', `\n display: flex;\n align-items: center;\n margin: var(--n-suffix-margin);\n `), c('> *:not(:first-child)', `\n margin: var(--n-item-margin);\n `), cB('select', `\n width: var(--n-select-width);\n `), c('&.transition-disabled', [cB('pagination-item', 'transition: none!important;')]), cB('pagination-quick-jumper', `\n white-space: nowrap;\n display: flex;\n color: var(--n-jumper-text-color);\n transition: color .3s var(--n-bezier);\n align-items: center;\n font-size: var(--n-jumper-font-size);\n `, [cB('input', `\n margin: var(--n-input-margin);\n width: var(--n-input-width);\n `)]), cB('pagination-item', `\n position: relative;\n cursor: pointer;\n user-select: none;\n -webkit-user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: var(--n-item-size);\n height: var(--n-item-size);\n padding: var(--n-item-padding);\n background-color: var(--n-item-color);\n color: var(--n-item-text-color);\n border-radius: var(--n-item-border-radius);\n border: var(--n-item-border);\n fill: var(--n-button-icon-color);\n transition:\n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n fill .3s var(--n-bezier);\n `, [cM('button', `\n background: var(--n-button-color);\n color: var(--n-button-icon-color);\n border: var(--n-button-border);\n padding: 0;\n `, [cB('base-icon', `\n font-size: var(--n-button-icon-size);\n `)]), cNotM('disabled', [cM('hover', hoverStyleProps, hoverStyleChildren), c('&:hover', hoverStyleProps, hoverStyleChildren), c('&:active', `\n background: var(--n-item-color-pressed);\n color: var(--n-item-text-color-pressed);\n border: var(--n-item-border-pressed);\n `, [cM('button', `\n background: var(--n-button-color-pressed);\n border: var(--n-button-border-pressed);\n color: var(--n-button-icon-color-pressed);\n `)]), cM('active', `\n background: var(--n-item-color-active);\n color: var(--n-item-text-color-active);\n border: var(--n-item-border-active);\n `, [c('&:hover', `\n background: var(--n-item-color-active-hover);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n color: var(--n-item-text-color-disabled);\n `, [cM('active, button', `\n background-color: var(--n-item-color-disabled);\n border: var(--n-item-border-disabled);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n `, [cB('pagination-quick-jumper', `\n color: var(--n-jumper-text-color-disabled);\n `)]), cM('simple', `\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n `, [cB('pagination-quick-jumper', [cB('input', `\n margin: 0;\n `)])])]);","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { computed, defineComponent, Fragment, h, nextTick, ref, toRef, watchEffect } from 'vue';\nimport { useMergedState } from 'vooks';\nimport { NPopselect } from '../../popselect';\nimport { NSelect } from '../../select';\nimport { NInput } from '../../input';\nimport { NBaseIcon } from '../../_internal';\nimport { BackwardIcon, FastBackwardIcon, FastForwardIcon, ForwardIcon, MoreIcon } from '../../_internal/icons';\nimport { useConfig, useLocale, useTheme, useThemeClass } from '../../_mixins';\nimport { paginationLight } from '../styles';\nimport { createPageItemsInfo } from './utils';\nimport style from './styles/index.cssr';\nimport { useAdjustedTo, call, resolveSlot, warn, warnOnce, createKey, smallerSize } from '../../_utils';\nimport { useRtl } from '../../_mixins/use-rtl';\nexport const paginationProps = Object.assign(Object.assign({}, useTheme.props), { simple: Boolean, page: Number, defaultPage: {\n type: Number,\n default: 1\n }, itemCount: Number, pageCount: Number, defaultPageCount: {\n type: Number,\n default: 1\n }, showSizePicker: Boolean, pageSize: Number, defaultPageSize: Number, pageSizes: {\n type: Array,\n default() {\n return [10];\n }\n }, showQuickJumper: Boolean, size: {\n type: String,\n default: 'medium'\n }, disabled: Boolean, pageSlot: {\n type: Number,\n default: 9\n }, selectProps: Object, prev: Function, next: Function, goto: Function, prefix: Function, suffix: Function, label: Function, displayOrder: {\n type: Array,\n default: ['pages', 'size-picker', 'quick-jumper']\n }, to: useAdjustedTo.propTo, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array], \n /** @deprecated */\n onPageSizeChange: [Function, Array], \n /** @deprecated */\n onChange: [Function, Array] });\nexport default defineComponent({\n name: 'Pagination',\n props: paginationProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.pageCount !== undefined && props.itemCount !== undefined) {\n warn('pagination', \"`page-count` and `item-count` should't be specified together. Only `item-count` will take effect.\");\n }\n if (props.onPageSizeChange) {\n warnOnce('pagination', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');\n }\n if (props.onChange) {\n warnOnce('pagination', '`on-change` is deprecated, please use `on-update:page` instead.');\n }\n });\n }\n const { mergedComponentPropsRef, mergedClsPrefixRef, inlineThemeDisabled, mergedRtlRef } = useConfig(props);\n const themeRef = useTheme('Pagination', '-pagination', style, paginationLight, props, mergedClsPrefixRef);\n const { localeRef } = useLocale('Pagination');\n const selfRef = ref(null);\n const uncontrolledPageRef = ref(props.defaultPage);\n const getDefaultPageSize = () => {\n const { defaultPageSize } = props;\n if (defaultPageSize !== undefined)\n return defaultPageSize;\n const pageSizeOption = props.pageSizes[0];\n if (typeof pageSizeOption === 'number')\n return pageSizeOption;\n return pageSizeOption.value || 10;\n };\n const uncontrolledPageSizeRef = ref(getDefaultPageSize());\n const mergedPageRef = useMergedState(toRef(props, 'page'), uncontrolledPageRef);\n const mergedPageSizeRef = useMergedState(toRef(props, 'pageSize'), uncontrolledPageSizeRef);\n const mergedPageCountRef = computed(() => {\n // item count has high priority, for it can affect prefix slot rendering\n const { itemCount } = props;\n if (itemCount !== undefined) {\n return Math.max(1, Math.ceil(itemCount / mergedPageSizeRef.value));\n }\n const { pageCount } = props;\n if (pageCount !== undefined)\n return Math.max(pageCount, 1);\n return 1;\n });\n const jumperValueRef = ref('');\n watchEffect(() => {\n void props.simple;\n jumperValueRef.value = String(mergedPageRef.value);\n });\n const fastForwardActiveRef = ref(false);\n const fastBackwardActiveRef = ref(false);\n const showFastForwardMenuRef = ref(false);\n const showFastBackwardMenuRef = ref(false);\n const handleFastForwardMouseenter = () => {\n if (props.disabled)\n return;\n fastForwardActiveRef.value = true;\n disableTransitionOneTick();\n };\n const handleFastForwardMouseleave = () => {\n if (props.disabled)\n return;\n fastForwardActiveRef.value = false;\n disableTransitionOneTick();\n };\n const handleFastBackwardMouseenter = () => {\n fastBackwardActiveRef.value = true;\n disableTransitionOneTick();\n };\n const handleFastBackwardMouseleave = () => {\n fastBackwardActiveRef.value = false;\n disableTransitionOneTick();\n };\n const handleMenuSelect = (value) => {\n doUpdatePage(value);\n };\n const pageItemsInfo = computed(() => createPageItemsInfo(mergedPageRef.value, mergedPageCountRef.value, props.pageSlot));\n watchEffect(() => {\n if (!pageItemsInfo.value.hasFastBackward) {\n fastBackwardActiveRef.value = false;\n showFastBackwardMenuRef.value = false;\n }\n else if (!pageItemsInfo.value.hasFastForward) {\n fastForwardActiveRef.value = false;\n showFastForwardMenuRef.value = false;\n }\n });\n const pageSizeOptionsRef = computed(() => {\n const suffix = localeRef.value.selectionSuffix;\n return props.pageSizes.map((size) => {\n if (typeof size === 'number') {\n return {\n label: `${size} / ${suffix}`,\n value: size\n };\n }\n else {\n return size;\n }\n });\n });\n const inputSizeRef = computed(() => {\n var _a, _b;\n return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.Pagination) === null || _b === void 0 ? void 0 : _b.inputSize) ||\n smallerSize(props.size));\n });\n const selectSizeRef = computed(() => {\n var _a, _b;\n return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.Pagination) === null || _b === void 0 ? void 0 : _b.selectSize) ||\n smallerSize(props.size));\n });\n const startIndexRef = computed(() => {\n return (mergedPageRef.value - 1) * mergedPageSizeRef.value;\n });\n const endIndexRef = computed(() => {\n const endIndex = mergedPageRef.value * mergedPageSizeRef.value - 1;\n const { itemCount } = props;\n if (itemCount !== undefined) {\n return endIndex > itemCount - 1 ? itemCount - 1 : endIndex;\n }\n return endIndex;\n });\n const mergedItemCountRef = computed(() => {\n const { itemCount } = props;\n if (itemCount !== undefined)\n return itemCount;\n return (props.pageCount || 1) * mergedPageSizeRef.value;\n });\n const rtlEnabledRef = useRtl('Pagination', mergedRtlRef, mergedClsPrefixRef);\n const disableTransitionOneTick = () => {\n void nextTick(() => {\n var _a;\n const { value: selfEl } = selfRef;\n if (!selfEl)\n return;\n selfEl.classList.add('transition-disabled');\n void ((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.offsetWidth);\n selfEl.classList.remove('transition-disabled');\n });\n };\n function doUpdatePage(page) {\n if (page === mergedPageRef.value)\n return;\n const { 'onUpdate:page': _onUpdatePage, onUpdatePage, onChange, simple } = props;\n if (_onUpdatePage)\n call(_onUpdatePage, page);\n if (onUpdatePage)\n call(onUpdatePage, page);\n // deprecated\n if (onChange)\n call(onChange, page);\n uncontrolledPageRef.value = page;\n if (simple) {\n jumperValueRef.value = String(page);\n }\n }\n function doUpdatePageSize(pageSize) {\n if (pageSize === mergedPageSizeRef.value)\n return;\n const { 'onUpdate:pageSize': _onUpdatePageSize, onUpdatePageSize, onPageSizeChange } = props;\n if (_onUpdatePageSize)\n call(_onUpdatePageSize, pageSize);\n if (onUpdatePageSize)\n call(onUpdatePageSize, pageSize);\n // deprecated\n if (onPageSizeChange)\n call(onPageSizeChange, pageSize);\n uncontrolledPageSizeRef.value = pageSize;\n // update new page when overflows.\n // we may have different update strategy, but i've no time to impl it\n if (mergedPageCountRef.value < mergedPageRef.value) {\n doUpdatePage(mergedPageCountRef.value);\n }\n }\n function forward() {\n if (props.disabled)\n return;\n const page = Math.min(mergedPageRef.value + 1, mergedPageCountRef.value);\n doUpdatePage(page);\n }\n function backward() {\n if (props.disabled)\n return;\n const page = Math.max(mergedPageRef.value - 1, 1);\n doUpdatePage(page);\n }\n function fastForward() {\n if (props.disabled)\n return;\n const page = Math.min(pageItemsInfo.value.fastForwardTo, mergedPageCountRef.value);\n doUpdatePage(page);\n }\n function fastBackward() {\n if (props.disabled)\n return;\n const page = Math.max(pageItemsInfo.value.fastBackwardTo, 1);\n doUpdatePage(page);\n }\n function handleSizePickerChange(value) {\n doUpdatePageSize(value);\n }\n function doQuickJump() {\n const page = parseInt(jumperValueRef.value);\n if (Number.isNaN(page))\n return;\n doUpdatePage(Math.max(1, Math.min(page, mergedPageCountRef.value)));\n if (!props.simple) {\n jumperValueRef.value = '';\n }\n }\n function handleQuickJumperChange() {\n doQuickJump();\n }\n function handlePageItemClick(pageItem) {\n if (props.disabled)\n return;\n switch (pageItem.type) {\n case 'page':\n doUpdatePage(pageItem.label);\n break;\n case 'fast-backward':\n fastBackward();\n break;\n case 'fast-forward':\n fastForward();\n break;\n }\n }\n function handleJumperInput(value) {\n jumperValueRef.value = value.replace(/\\D+/g, '');\n }\n watchEffect(() => {\n void mergedPageRef.value;\n void mergedPageSizeRef.value;\n disableTransitionOneTick();\n });\n const cssVarsRef = computed(() => {\n const { size } = props;\n const { self: { buttonBorder, buttonBorderHover, buttonBorderPressed, buttonIconColor, buttonIconColorHover, buttonIconColorPressed, itemTextColor, itemTextColorHover, itemTextColorPressed, itemTextColorActive, itemTextColorDisabled, itemColor, itemColorHover, itemColorPressed, itemColorActive, itemColorActiveHover, itemColorDisabled, itemBorder, itemBorderHover, itemBorderPressed, itemBorderActive, itemBorderDisabled, itemBorderRadius, jumperTextColor, jumperTextColorDisabled, buttonColor, buttonColorHover, buttonColorPressed, [createKey('itemPadding', size)]: itemPadding, [createKey('itemMargin', size)]: itemMargin, [createKey('inputWidth', size)]: inputWidth, [createKey('selectWidth', size)]: selectWidth, [createKey('inputMargin', size)]: inputMargin, [createKey('selectMargin', size)]: selectMargin, [createKey('jumperFontSize', size)]: jumperFontSize, [createKey('prefixMargin', size)]: prefixMargin, [createKey('suffixMargin', size)]: suffixMargin, [createKey('itemSize', size)]: itemSize, [createKey('buttonIconSize', size)]: buttonIconSize, [createKey('itemFontSize', size)]: itemFontSize, [`${createKey('itemMargin', size)}Rtl`]: itemMarginRtl, [`${createKey('inputMargin', size)}Rtl`]: inputMarginRtl }, common: { cubicBezierEaseInOut } } = themeRef.value;\n return {\n '--n-prefix-margin': prefixMargin,\n '--n-suffix-margin': suffixMargin,\n '--n-item-font-size': itemFontSize,\n '--n-select-width': selectWidth,\n '--n-select-margin': selectMargin,\n '--n-input-width': inputWidth,\n '--n-input-margin': inputMargin,\n '--n-input-margin-rtl': inputMarginRtl,\n '--n-item-size': itemSize,\n '--n-item-text-color': itemTextColor,\n '--n-item-text-color-disabled': itemTextColorDisabled,\n '--n-item-text-color-hover': itemTextColorHover,\n '--n-item-text-color-active': itemTextColorActive,\n '--n-item-text-color-pressed': itemTextColorPressed,\n '--n-item-color': itemColor,\n '--n-item-color-hover': itemColorHover,\n '--n-item-color-disabled': itemColorDisabled,\n '--n-item-color-active': itemColorActive,\n '--n-item-color-active-hover': itemColorActiveHover,\n '--n-item-color-pressed': itemColorPressed,\n '--n-item-border': itemBorder,\n '--n-item-border-hover': itemBorderHover,\n '--n-item-border-disabled': itemBorderDisabled,\n '--n-item-border-active': itemBorderActive,\n '--n-item-border-pressed': itemBorderPressed,\n '--n-item-padding': itemPadding,\n '--n-item-border-radius': itemBorderRadius,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-jumper-font-size': jumperFontSize,\n '--n-jumper-text-color': jumperTextColor,\n '--n-jumper-text-color-disabled': jumperTextColorDisabled,\n '--n-item-margin': itemMargin,\n '--n-item-margin-rtl': itemMarginRtl,\n '--n-button-icon-size': buttonIconSize,\n '--n-button-icon-color': buttonIconColor,\n '--n-button-icon-color-hover': buttonIconColorHover,\n '--n-button-icon-color-pressed': buttonIconColorPressed,\n '--n-button-color-hover': buttonColorHover,\n '--n-button-color': buttonColor,\n '--n-button-color-pressed': buttonColorPressed,\n '--n-button-border': buttonBorder,\n '--n-button-border-hover': buttonBorderHover,\n '--n-button-border-pressed': buttonBorderPressed\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('pagination', computed(() => {\n let hash = '';\n const { size } = props;\n hash += size[0];\n return hash;\n }), cssVarsRef, props)\n : undefined;\n return {\n rtlEnabled: rtlEnabledRef,\n mergedClsPrefix: mergedClsPrefixRef,\n locale: localeRef,\n selfRef,\n mergedPage: mergedPageRef,\n pageItems: computed(() => {\n return pageItemsInfo.value.items;\n }),\n mergedItemCount: mergedItemCountRef,\n jumperValue: jumperValueRef,\n pageSizeOptions: pageSizeOptionsRef,\n mergedPageSize: mergedPageSizeRef,\n inputSize: inputSizeRef,\n selectSize: selectSizeRef,\n mergedTheme: themeRef,\n mergedPageCount: mergedPageCountRef,\n startIndex: startIndexRef,\n endIndex: endIndexRef,\n showFastForwardMenu: showFastForwardMenuRef,\n showFastBackwardMenu: showFastBackwardMenuRef,\n fastForwardActive: fastForwardActiveRef,\n fastBackwardActive: fastBackwardActiveRef,\n handleMenuSelect,\n handleFastForwardMouseenter,\n handleFastForwardMouseleave,\n handleFastBackwardMouseenter,\n handleFastBackwardMouseleave,\n handleJumperInput,\n handleBackwardClick: backward,\n handleForwardClick: forward,\n handlePageItemClick,\n handleSizePickerChange,\n handleQuickJumperChange,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n // it's ok to expand all prop here since no slots' deps\n const { $slots, mergedClsPrefix, disabled, cssVars, mergedPage, mergedPageCount, pageItems, showSizePicker, showQuickJumper, mergedTheme, locale, inputSize, selectSize, mergedPageSize, pageSizeOptions, jumperValue, simple, prev, next, prefix, suffix, label, goto, handleJumperInput, handleSizePickerChange, handleBackwardClick, handlePageItemClick, handleForwardClick, handleQuickJumperChange, onRender } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const renderPrefix = $slots.prefix || prefix;\n const renderSuffix = $slots.suffix || suffix;\n const renderPrev = prev || $slots.prev;\n const renderNext = next || $slots.next;\n const renderLabel = label || $slots.label;\n return (h(\"div\", { ref: \"selfRef\", class: [\n `${mergedClsPrefix}-pagination`,\n this.themeClass,\n this.rtlEnabled && `${mergedClsPrefix}-pagination--rtl`,\n disabled && `${mergedClsPrefix}-pagination--disabled`,\n simple && `${mergedClsPrefix}-pagination--simple`\n ], style: cssVars },\n renderPrefix ? (h(\"div\", { class: `${mergedClsPrefix}-pagination-prefix` }, renderPrefix({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n }))) : null,\n this.displayOrder.map((part) => {\n switch (part) {\n case 'pages':\n return (h(Fragment, null,\n h(\"div\", { class: [\n `${mergedClsPrefix}-pagination-item`,\n !renderPrev &&\n `${mergedClsPrefix}-pagination-item--button`,\n (mergedPage <= 1 ||\n mergedPage > mergedPageCount ||\n disabled) &&\n `${mergedClsPrefix}-pagination-item--disabled`\n ], onClick: handleBackwardClick }, renderPrev ? (renderPrev({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, {\n default: () => this.rtlEnabled ? h(ForwardIcon, null) : h(BackwardIcon, null)\n }))),\n simple ? (h(Fragment, null,\n h(\"div\", { class: `${mergedClsPrefix}-pagination-quick-jumper` },\n h(NInput, { value: jumperValue, onUpdateValue: handleJumperInput, size: inputSize, placeholder: \"\", disabled: disabled, theme: mergedTheme.peers.Input, themeOverrides: mergedTheme.peerOverrides.Input, onChange: handleQuickJumperChange })),\n \"\\u00A0/ \",\n mergedPageCount)) : (pageItems.map((pageItem, index) => {\n let contentNode;\n let onMouseenter;\n let onMouseleave;\n const { type } = pageItem;\n switch (type) {\n case 'page':\n // eslint-disable-next-line no-case-declarations\n const pageNode = pageItem.label;\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'page',\n node: pageNode,\n active: pageItem.active\n });\n }\n else {\n contentNode = pageNode;\n }\n break;\n case 'fast-forward':\n // eslint-disable-next-line no-case-declarations\n const fastForwardNode = this.fastForwardActive ? (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, {\n default: () => this.rtlEnabled ? (h(FastBackwardIcon, null)) : (h(FastForwardIcon, null))\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, null) }));\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'fast-forward',\n node: fastForwardNode,\n active: this.fastForwardActive ||\n this.showFastForwardMenu\n });\n }\n else {\n contentNode = fastForwardNode;\n }\n onMouseenter = this.handleFastForwardMouseenter;\n onMouseleave = this.handleFastForwardMouseleave;\n break;\n case 'fast-backward':\n // eslint-disable-next-line no-case-declarations\n const fastBackwardNode = this.fastBackwardActive ? (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, {\n default: () => this.rtlEnabled ? (h(FastForwardIcon, null)) : (h(FastBackwardIcon, null))\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, null) }));\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'fast-backward',\n node: fastBackwardNode,\n active: this.fastBackwardActive ||\n this.showFastBackwardMenu\n });\n }\n else {\n contentNode = fastBackwardNode;\n }\n onMouseenter = this.handleFastBackwardMouseenter;\n onMouseleave = this.handleFastBackwardMouseleave;\n break;\n }\n const itemNode = (h(\"div\", { key: index, class: [\n `${mergedClsPrefix}-pagination-item`,\n pageItem.active &&\n `${mergedClsPrefix}-pagination-item--active`,\n type !== 'page' &&\n ((type === 'fast-backward' &&\n this.showFastBackwardMenu) ||\n (type === 'fast-forward' &&\n this.showFastForwardMenu)) &&\n `${mergedClsPrefix}-pagination-item--hover`,\n disabled &&\n `${mergedClsPrefix}-pagination-item--disabled`,\n type === 'page' &&\n `${mergedClsPrefix}-pagination-item--clickable`\n ], onClick: () => {\n handlePageItemClick(pageItem);\n }, onMouseenter: onMouseenter, onMouseleave: onMouseleave }, contentNode));\n if (type === 'page' &&\n !pageItem.mayBeFastBackward &&\n !pageItem.mayBeFastForward) {\n return itemNode;\n }\n else {\n const key = pageItem.type === 'page'\n ? pageItem.mayBeFastBackward\n ? 'fast-backward'\n : 'fast-forward'\n : pageItem.type;\n return (h(NPopselect, { to: this.to, key: key, disabled: disabled, trigger: \"hover\", virtualScroll: true, style: { width: '60px' }, theme: mergedTheme.peers.Popselect, themeOverrides: mergedTheme.peerOverrides.Popselect, builtinThemeOverrides: {\n peers: {\n InternalSelectMenu: {\n height: 'calc(var(--n-option-height) * 4.6)'\n }\n }\n }, nodeProps: () => ({\n style: {\n justifyContent: 'center'\n }\n }), show: type === 'page'\n ? false\n : type === 'fast-backward'\n ? this.showFastBackwardMenu\n : this.showFastForwardMenu, onUpdateShow: (value) => {\n if (type === 'page')\n return;\n if (value) {\n if (type === 'fast-backward') {\n this.showFastBackwardMenu = value;\n }\n else {\n this.showFastForwardMenu = value;\n }\n }\n else {\n this.showFastBackwardMenu = false;\n this.showFastForwardMenu = false;\n }\n }, options: pageItem.type !== 'page' ? pageItem.options : [], onUpdateValue: this.handleMenuSelect, scrollable: true, showCheckmark: false }, { default: () => itemNode }));\n }\n })),\n h(\"div\", { class: [\n `${mergedClsPrefix}-pagination-item`,\n !renderNext &&\n `${mergedClsPrefix}-pagination-item--button`,\n {\n [`${mergedClsPrefix}-pagination-item--disabled`]: mergedPage < 1 ||\n mergedPage >= mergedPageCount ||\n disabled\n }\n ], onClick: handleForwardClick }, renderNext ? (renderNext({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n itemCount: this.mergedItemCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, {\n default: () => this.rtlEnabled ? h(BackwardIcon, null) : h(ForwardIcon, null)\n })))));\n case 'size-picker': {\n return !simple && showSizePicker ? (h(NSelect, Object.assign({ consistentMenuWidth: false, placeholder: \"\", showCheckmark: false, to: this.to }, this.selectProps, { size: selectSize, options: pageSizeOptions, value: mergedPageSize, disabled: disabled, theme: mergedTheme.peers.Select, themeOverrides: mergedTheme.peerOverrides.Select, onUpdateValue: handleSizePickerChange }))) : null;\n }\n case 'quick-jumper':\n return !simple && showQuickJumper ? (h(\"div\", { class: `${mergedClsPrefix}-pagination-quick-jumper` },\n goto\n ? goto()\n : resolveSlot(this.$slots.goto, () => [locale.goto]),\n h(NInput, { value: jumperValue, onUpdateValue: handleJumperInput, size: inputSize, placeholder: \"\", disabled: disabled, theme: mergedTheme.peers.Input, themeOverrides: mergedTheme.peerOverrides.Input, onChange: handleQuickJumperChange }))) : null;\n default:\n return null;\n }\n }),\n renderSuffix ? (h(\"div\", { class: `${mergedClsPrefix}-pagination-suffix` }, renderSuffix({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n }))) : null));\n }\n});\n","export default {\n padding: '4px 0',\n optionIconSizeSmall: '14px',\n optionIconSizeMedium: '16px',\n optionIconSizeLarge: '16px',\n optionIconSizeHuge: '18px',\n optionSuffixWidthSmall: '14px',\n optionSuffixWidthMedium: '14px',\n optionSuffixWidthLarge: '16px',\n optionSuffixWidthHuge: '16px',\n optionIconSuffixWidthSmall: '32px',\n optionIconSuffixWidthMedium: '32px',\n optionIconSuffixWidthLarge: '36px',\n optionIconSuffixWidthHuge: '36px',\n optionPrefixWidthSmall: '14px',\n optionPrefixWidthMedium: '14px',\n optionPrefixWidthLarge: '16px',\n optionPrefixWidthHuge: '16px',\n optionIconPrefixWidthSmall: '36px',\n optionIconPrefixWidthMedium: '36px',\n optionIconPrefixWidthLarge: '40px',\n optionIconPrefixWidthHuge: '40px'\n};\n","import { changeColor } from 'seemly';\nimport { commonLight } from '../../_styles/common';\nimport { createTheme } from '../../_mixins/use-theme';\nimport commonVariables from './_common';\nimport { popoverLight } from '../../popover/styles';\nexport const self = (vars) => {\n const { primaryColor, textColor2, dividerColor, hoverColor, popoverColor, invertedColor, borderRadius, fontSizeSmall, fontSizeMedium, fontSizeLarge, fontSizeHuge, heightSmall, heightMedium, heightLarge, heightHuge, textColor3, opacityDisabled } = vars;\n return Object.assign(Object.assign({}, commonVariables), { optionHeightSmall: heightSmall, optionHeightMedium: heightMedium, optionHeightLarge: heightLarge, optionHeightHuge: heightHuge, borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n fontSizeHuge, \n // non-inverted\n optionTextColor: textColor2, optionTextColorHover: textColor2, optionTextColorActive: primaryColor, optionTextColorChildActive: primaryColor, color: popoverColor, dividerColor, suffixColor: textColor2, prefixColor: textColor2, optionColorHover: hoverColor, optionColorActive: changeColor(primaryColor, { alpha: 0.1 }), groupHeaderTextColor: textColor3, \n // inverted\n optionTextColorInverted: '#BBB', optionTextColorHoverInverted: '#FFF', optionTextColorActiveInverted: '#FFF', optionTextColorChildActiveInverted: '#FFF', colorInverted: invertedColor, dividerColorInverted: '#BBB', suffixColorInverted: '#BBB', prefixColorInverted: '#BBB', optionColorHoverInverted: primaryColor, optionColorActiveInverted: primaryColor, groupHeaderTextColorInverted: '#AAA', optionOpacityDisabled: opacityDisabled });\n};\nconst dropdownLight = createTheme({\n name: 'Dropdown',\n common: commonLight,\n peers: {\n Popover: popoverLight\n },\n self\n});\nexport default dropdownLight;\n","export default {\n thPaddingSmall: '8px',\n thPaddingMedium: '12px',\n thPaddingLarge: '12px',\n tdPaddingSmall: '8px',\n tdPaddingMedium: '12px',\n tdPaddingLarge: '12px',\n sorterSize: '15px',\n resizableContainerSize: '8px',\n resizableSize: '2px',\n filterSize: '15px',\n paginationMargin: '12px 0 0 0',\n emptyPadding: '48px 0',\n actionPadding: '8px 12px',\n actionButtonMargin: '0 8px 0 0'\n};\n","import { composite } from 'seemly';\nimport commonVariables from './_common';\nimport { ellipsisLight } from '../../ellipsis/styles';\nimport { buttonLight } from '../../button/styles';\nimport { checkboxLight } from '../../checkbox/styles';\nimport { radioLight } from '../../radio/styles';\nimport { paginationLight } from '../../pagination/styles';\nimport { scrollbarLight } from '../../_internal/scrollbar/styles';\nimport { popoverLight } from '../../popover/styles';\nimport { emptyLight } from '../../empty/styles';\nimport { dropdownLight } from '../../dropdown/styles';\nimport { commonLight } from '../../_styles/common';\nimport { createTheme } from '../../_mixins';\nexport const self = (vars) => {\n const { cardColor, modalColor, popoverColor, textColor2, textColor1, tableHeaderColor, tableColorHover, iconColor, primaryColor, fontWeightStrong, borderRadius, lineHeight, fontSizeSmall, fontSizeMedium, fontSizeLarge, dividerColor, heightSmall, opacityDisabled, tableColorStriped } = vars;\n return Object.assign(Object.assign({}, commonVariables), { actionDividerColor: dividerColor, lineHeight,\n borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge, borderColor: composite(cardColor, dividerColor), tdColorHover: composite(cardColor, tableColorHover), tdColorStriped: composite(cardColor, tableColorStriped), thColor: composite(cardColor, tableHeaderColor), thColorHover: composite(composite(cardColor, tableHeaderColor), tableColorHover), tdColor: cardColor, tdTextColor: textColor2, thTextColor: textColor1, thFontWeight: fontWeightStrong, thButtonColorHover: tableColorHover, thIconColor: iconColor, thIconColorActive: primaryColor, \n // modal\n borderColorModal: composite(modalColor, dividerColor), tdColorHoverModal: composite(modalColor, tableColorHover), tdColorStripedModal: composite(modalColor, tableColorStriped), thColorModal: composite(modalColor, tableHeaderColor), thColorHoverModal: composite(composite(modalColor, tableHeaderColor), tableColorHover), tdColorModal: modalColor, \n // popover\n borderColorPopover: composite(popoverColor, dividerColor), tdColorHoverPopover: composite(popoverColor, tableColorHover), tdColorStripedPopover: composite(popoverColor, tableColorStriped), thColorPopover: composite(popoverColor, tableHeaderColor), thColorHoverPopover: composite(composite(popoverColor, tableHeaderColor), tableColorHover), tdColorPopover: popoverColor, boxShadowBefore: 'inset -12px 0 8px -12px rgba(0, 0, 0, .18)', boxShadowAfter: 'inset 12px 0 8px -12px rgba(0, 0, 0, .18)', \n // loading\n loadingColor: primaryColor, loadingSize: heightSmall, opacityLoading: opacityDisabled });\n};\nconst dataTableLight = createTheme({\n name: 'DataTable',\n common: commonLight,\n peers: {\n Button: buttonLight,\n Checkbox: checkboxLight,\n Radio: radioLight,\n Pagination: paginationLight,\n Scrollbar: scrollbarLight,\n Empty: emptyLight,\n Popover: popoverLight,\n Ellipsis: ellipsisLight,\n Dropdown: dropdownLight\n },\n self\n});\nexport default dataTableLight;\n","import { h, defineComponent, ref, mergeProps } from 'vue';\nimport { useMergedClsPrefix } from '../../_mixins/use-config';\nimport { useStyle } from '../../_mixins';\nimport Ellipsis, { createCursorClass, createLineClampClass, ellipsisProps } from './Ellipsis';\nimport style from './styles/index.cssr';\nexport const NPerformantEllipsis = defineComponent({\n name: 'PerformantEllipsis',\n props: ellipsisProps,\n inheritAttrs: false,\n setup(props, { attrs, slots }) {\n const mouseEnteredRef = ref(false);\n const mergedClsPrefixRef = useMergedClsPrefix();\n useStyle('-ellipsis', style, mergedClsPrefixRef);\n // Modified from Ellipsis.tsx\n const renderTrigger = () => {\n const { lineClamp } = props;\n const mergedClsPrefix = mergedClsPrefixRef.value;\n return (h(\"span\", Object.assign({}, mergeProps(attrs, {\n class: [\n `${mergedClsPrefix}-ellipsis`,\n lineClamp !== undefined\n ? createLineClampClass(mergedClsPrefix)\n : undefined,\n props.expandTrigger === 'click'\n ? createCursorClass(mergedClsPrefix, 'pointer')\n : undefined\n ],\n style: lineClamp === undefined\n ? {\n textOverflow: 'ellipsis'\n }\n : {\n '-webkit-line-clamp': lineClamp\n }\n }), { onMouseenter: () => {\n mouseEnteredRef.value = true;\n } }), lineClamp ? slots : h(\"span\", null, slots)));\n };\n return {\n mouseEntered: mouseEnteredRef,\n renderTrigger\n };\n },\n render() {\n if (this.mouseEntered) {\n return h(Ellipsis, mergeProps({}, this.$attrs, this.$props), this.$slots);\n }\n else {\n return this.renderTrigger();\n }\n }\n});\n","import { defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DataTableRenderSorter',\n props: {\n render: {\n type: Function,\n required: true\n },\n order: {\n // asc, desc\n type: [String, Boolean],\n default: false\n }\n },\n render() {\n const { render, order } = this;\n return render({\n order\n });\n }\n});\n","import { useTheme } from '../../_mixins';\nimport { createInjectionKey } from '../../_utils';\nexport const dataTableProps = Object.assign(Object.assign({}, useTheme.props), { onUnstableColumnResize: Function, pagination: {\n type: [Object, Boolean],\n default: false\n }, paginateSinglePage: {\n type: Boolean,\n default: true\n }, minHeight: [Number, String], maxHeight: [Number, String], \n // Use any type as row data to make prop data acceptable\n columns: {\n type: Array,\n default: () => []\n }, rowClassName: [String, Function], rowProps: Function, rowKey: Function, summary: [Function], data: {\n type: Array,\n default: () => []\n }, loading: Boolean, bordered: {\n type: Boolean,\n default: undefined\n }, bottomBordered: {\n type: Boolean,\n default: undefined\n }, striped: Boolean, scrollX: [Number, String], defaultCheckedRowKeys: {\n type: Array,\n default: () => []\n }, checkedRowKeys: Array, singleLine: {\n type: Boolean,\n default: true\n }, singleColumn: Boolean, size: {\n type: String,\n default: 'medium'\n }, remote: Boolean, defaultExpandedRowKeys: {\n type: Array,\n default: []\n }, defaultExpandAll: Boolean, expandedRowKeys: Array, stickyExpandedRows: Boolean, virtualScroll: Boolean, tableLayout: {\n type: String,\n default: 'auto'\n }, allowCheckingNotLoaded: Boolean, cascade: {\n type: Boolean,\n default: true\n }, childrenKey: {\n type: String,\n default: 'children'\n }, indent: {\n type: Number,\n default: 16\n }, flexHeight: Boolean, summaryPlacement: {\n type: String,\n default: 'bottom'\n }, paginationBehaviorOnFilter: {\n type: String,\n default: 'current'\n }, scrollbarProps: Object, renderCell: Function, renderExpandIcon: Function, spinProps: { type: Object, default: {} }, onLoad: Function, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array], 'onUpdate:sorter': [Function, Array], onUpdateSorter: [Function, Array], 'onUpdate:filters': [Function, Array], onUpdateFilters: [Function, Array], 'onUpdate:checkedRowKeys': [Function, Array], onUpdateCheckedRowKeys: [Function, Array], 'onUpdate:expandedRowKeys': [Function, Array], onUpdateExpandedRowKeys: [Function, Array], onScroll: Function, \n // deprecated\n onPageChange: [Function, Array], onPageSizeChange: [Function, Array], onSorterChange: [Function, Array], onFiltersChange: [Function, Array], onCheckedRowKeysChange: [Function, Array] });\nexport const dataTableInjectionKey = createInjectionKey('n-data-table');\n","import { defineComponent, h, computed, inject } from 'vue';\nimport { ArrowDownIcon } from '../../../_internal/icons';\nimport { NBaseIcon } from '../../../_internal';\nimport RenderSorter from './RenderSorter';\nimport { dataTableInjectionKey } from '../interface';\nimport { useConfig } from '../../../_mixins';\nexport default defineComponent({\n name: 'SortIcon',\n props: {\n column: {\n type: Object,\n required: true\n }\n },\n setup(props) {\n const { mergedComponentPropsRef } = useConfig();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { mergedSortStateRef, mergedClsPrefixRef } = inject(dataTableInjectionKey);\n const sortStateRef = computed(() => mergedSortStateRef.value.find((state) => state.columnKey === props.column.key));\n const activeRef = computed(() => {\n return sortStateRef.value !== undefined;\n });\n const mergedSortOrderRef = computed(() => {\n const { value: sortState } = sortStateRef;\n if (sortState && activeRef.value) {\n return sortState.order;\n }\n return false;\n });\n const mergedRenderSorterRef = computed(() => {\n var _a, _b;\n return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.DataTable) === null || _b === void 0 ? void 0 : _b.renderSorter) ||\n props.column.renderSorter);\n });\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n mergedSortOrder: mergedSortOrderRef,\n mergedRenderSorter: mergedRenderSorterRef\n };\n },\n render() {\n const { mergedRenderSorter, mergedSortOrder, mergedClsPrefix } = this;\n const { renderSorterIcon } = this.column;\n return mergedRenderSorter ? (h(RenderSorter, { render: mergedRenderSorter, order: mergedSortOrder })) : (h(\"span\", { class: [\n `${mergedClsPrefix}-data-table-sorter`,\n mergedSortOrder === 'ascend' &&\n `${mergedClsPrefix}-data-table-sorter--asc`,\n mergedSortOrder === 'descend' &&\n `${mergedClsPrefix}-data-table-sorter--desc`\n ] }, renderSorterIcon ? (renderSorterIcon({ order: mergedSortOrder })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(ArrowDownIcon, null) }))));\n }\n});\n","import { defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DataTableRenderFilter',\n props: {\n render: {\n type: Function,\n required: true\n },\n active: {\n type: Boolean,\n default: false\n },\n show: {\n type: Boolean,\n default: false\n }\n },\n render() {\n const { render, active, show } = this;\n return render({\n active,\n show\n });\n }\n});\n","import { depx } from 'seemly';\nimport { formatLength } from '../../_utils';\nexport const SELECTION_COL_WIDTH = 40;\nexport const EXPAND_COL_WIDTH = 40;\nexport function getNumberColWidth(col) {\n if (col.type === 'selection') {\n return col.width === undefined ? SELECTION_COL_WIDTH : depx(col.width);\n }\n if (col.type === 'expand') {\n return col.width === undefined ? EXPAND_COL_WIDTH : depx(col.width);\n }\n if ('children' in col)\n return undefined;\n if (typeof col.width === 'string') {\n return depx(col.width);\n }\n return col.width;\n}\nexport function getStringColWidth(col) {\n var _a, _b;\n if (col.type === 'selection') {\n return formatLength((_a = col.width) !== null && _a !== void 0 ? _a : SELECTION_COL_WIDTH);\n }\n if (col.type === 'expand') {\n return formatLength((_b = col.width) !== null && _b !== void 0 ? _b : EXPAND_COL_WIDTH);\n }\n if ('children' in col) {\n return undefined;\n }\n return formatLength(col.width);\n}\nexport function getColKey(col) {\n if (col.type === 'selection')\n return '__n_selection__';\n if (col.type === 'expand')\n return '__n_expand__';\n return col.key;\n}\nexport function createShallowClonedObject(object) {\n if (!object)\n return object;\n if (typeof object === 'object') {\n return Object.assign({}, object);\n }\n return object;\n}\nexport function getFlagOfOrder(order) {\n if (order === 'ascend')\n return 1;\n else if (order === 'descend')\n return -1;\n return 0;\n}\n// priority: min-width > max-width > width\nexport function clampValueFollowCSSRules(value, min, max) {\n if (max !== undefined) {\n value = Math.min(value, typeof max === 'number' ? max : parseFloat(max));\n }\n if (min !== undefined) {\n value = Math.max(value, typeof min === 'number' ? min : parseFloat(min));\n }\n return value;\n}\nexport function createCustomWidthStyle(column, resizedWidth) {\n if (resizedWidth !== undefined) {\n return {\n width: resizedWidth,\n minWidth: resizedWidth,\n maxWidth: resizedWidth\n };\n }\n const width = getStringColWidth(column);\n const { minWidth, maxWidth } = column;\n return {\n width,\n minWidth: formatLength(minWidth) || width,\n maxWidth: formatLength(maxWidth)\n };\n}\nexport function createRowClassName(row, index, rowClassName) {\n if (typeof rowClassName === 'function')\n return rowClassName(row, index);\n return rowClassName || '';\n}\n// for compatibility\n// If column.filterOptionValues or column.defaultFilterOptionValues is set, use\n// array value\nexport function shouldUseArrayInSingleMode(column) {\n return (column.filterOptionValues !== undefined ||\n (column.filterOptionValue === undefined &&\n column.defaultFilterOptionValues !== undefined));\n}\nexport function isColumnSortable(column) {\n if ('children' in column)\n return false;\n return !!column.sorter;\n}\nexport function isColumnResizable(column) {\n if ('children' in column && !!column.children.length)\n return false;\n return !!column.resizable;\n}\nexport function isColumnFilterable(column) {\n if ('children' in column)\n return false;\n return (!!column.filter && (!!column.filterOptions || !!column.renderFilterMenu));\n}\nfunction getNextOrderOf(order) {\n if (!order)\n return 'descend';\n else if (order === 'descend')\n return 'ascend';\n return false;\n}\nexport function createNextSorter(column, currentSortState) {\n if (column.sorter === undefined)\n return null;\n if (currentSortState === null || currentSortState.columnKey !== column.key) {\n return {\n columnKey: column.key,\n sorter: column.sorter,\n order: getNextOrderOf(false)\n };\n }\n else {\n return Object.assign(Object.assign({}, currentSortState), { order: getNextOrderOf(currentSortState.order) });\n }\n}\nexport function isColumnSorting(column, mergedSortState) {\n return (mergedSortState.find((state) => state.columnKey === column.key && state.order) !== undefined);\n}\n","import { h, defineComponent, ref, computed, inject } from 'vue';\nimport { NCheckbox, NCheckboxGroup } from '../../../checkbox';\nimport { NRadio, NRadioGroup } from '../../../radio';\nimport { NButton } from '../../../button';\nimport { NScrollbar } from '../../../_internal';\nimport { shouldUseArrayInSingleMode } from '../utils';\nimport { dataTableInjectionKey } from '../interface';\nexport default defineComponent({\n name: 'DataTableFilterMenu',\n props: {\n column: {\n type: Object,\n required: true\n },\n radioGroupName: {\n type: String,\n required: true\n },\n multiple: {\n type: Boolean,\n required: true\n },\n value: {\n type: [Array, String, Number],\n default: null\n },\n options: {\n type: Array,\n required: true\n },\n onConfirm: {\n type: Function,\n required: true\n },\n onClear: {\n type: Function,\n required: true\n },\n onChange: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n const { mergedClsPrefixRef, mergedThemeRef, localeRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n // to be compared with changed value\n // const initialValueRef = ref(props.value)\n const temporalValueRef = ref(props.value);\n const checkboxGroupValueRef = computed(() => {\n const { value: temporalValue } = temporalValueRef;\n if (!Array.isArray(temporalValue))\n return null;\n return temporalValue;\n });\n const radioGroupValueRef = computed(() => {\n const { value: temporalValue } = temporalValueRef;\n if (shouldUseArrayInSingleMode(props.column)) {\n return ((Array.isArray(temporalValue) &&\n temporalValue.length &&\n temporalValue[0]) ||\n null);\n }\n if (!Array.isArray(temporalValue))\n return temporalValue;\n return null;\n });\n function doChange(value) {\n // May need to check if equal\n ;\n props.onChange(value);\n }\n function handleChange(value) {\n if (props.multiple && Array.isArray(value)) {\n temporalValueRef.value = value;\n }\n else if (shouldUseArrayInSingleMode(props.column) &&\n !Array.isArray(value)) {\n /** this branch is for compatibility */\n temporalValueRef.value = [value];\n }\n else {\n temporalValueRef.value = value;\n }\n }\n function handleConfirmClick() {\n doChange(temporalValueRef.value);\n props.onConfirm();\n }\n function handleClearClick() {\n if (props.multiple || shouldUseArrayInSingleMode(props.column)) {\n doChange([]);\n }\n else {\n doChange(null);\n }\n props.onClear();\n }\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n mergedTheme: mergedThemeRef,\n locale: localeRef,\n checkboxGroupValue: checkboxGroupValueRef,\n radioGroupValue: radioGroupValueRef,\n handleChange,\n handleConfirmClick,\n handleClearClick\n };\n },\n render() {\n const { mergedTheme, locale, mergedClsPrefix } = this;\n return (h(\"div\", { class: `${mergedClsPrefix}-data-table-filter-menu` },\n h(NScrollbar, null, {\n default: () => {\n const { checkboxGroupValue, handleChange } = this;\n return this.multiple ? (h(NCheckboxGroup, { value: checkboxGroupValue, class: `${mergedClsPrefix}-data-table-filter-menu__group`, onUpdateValue: handleChange }, {\n default: () => this.options.map((option) => {\n return (h(NCheckbox, { key: option.value, theme: mergedTheme.peers.Checkbox, themeOverrides: mergedTheme.peerOverrides.Checkbox, value: option.value }, { default: () => option.label }));\n })\n })) : (h(NRadioGroup, { name: this.radioGroupName, class: `${mergedClsPrefix}-data-table-filter-menu__group`, value: this.radioGroupValue, onUpdateValue: this.handleChange }, {\n default: () => this.options.map((option) => (h(NRadio, { key: option.value, value: option.value, theme: mergedTheme.peers.Radio, themeOverrides: mergedTheme.peerOverrides.Radio }, { default: () => option.label })))\n }));\n }\n }),\n h(\"div\", { class: `${mergedClsPrefix}-data-table-filter-menu__action` },\n h(NButton, { size: \"tiny\", theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, onClick: this.handleClearClick }, { default: () => locale.clear }),\n h(NButton, { theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, type: \"primary\", size: \"tiny\", onClick: this.handleConfirmClick }, { default: () => locale.confirm }))));\n }\n});\n","import { h, defineComponent, ref, computed, inject } from 'vue';\nimport { FilterIcon } from '../../../_internal/icons';\nimport { NBaseIcon } from '../../../_internal';\nimport { NPopover } from '../../../popover';\nimport RenderFilter from './RenderFilter';\nimport NDataTableFilterMenu from './FilterMenu';\nimport { dataTableInjectionKey } from '../interface';\nimport { useConfig } from '../../../_mixins';\nfunction createFilterState(currentFilterState, columnKey, mergedFilterValue) {\n const nextFilterState = Object.assign({}, currentFilterState);\n nextFilterState[columnKey] = mergedFilterValue;\n return nextFilterState;\n}\nexport default defineComponent({\n name: 'DataTableFilterButton',\n props: {\n column: {\n type: Object,\n required: true\n },\n options: {\n type: Array,\n default: () => []\n }\n },\n setup(props) {\n const { mergedComponentPropsRef } = useConfig();\n const { mergedThemeRef, mergedClsPrefixRef, mergedFilterStateRef, filterMenuCssVarsRef, paginationBehaviorOnFilterRef, doUpdatePage, doUpdateFilters\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const showPopoverRef = ref(false);\n const filterStateRef = mergedFilterStateRef;\n const filterMultipleRef = computed(() => {\n return props.column.filterMultiple !== false;\n });\n const mergedFilterValueRef = computed(() => {\n const filterValue = filterStateRef.value[props.column.key];\n if (filterValue === undefined) {\n const { value: multiple } = filterMultipleRef;\n if (multiple)\n return [];\n else\n return null;\n }\n return filterValue;\n });\n const activeRef = computed(() => {\n const { value: filterValue } = mergedFilterValueRef;\n if (Array.isArray(filterValue)) {\n return filterValue.length > 0;\n }\n return filterValue !== null;\n });\n const mergedRenderFilterRef = computed(() => {\n var _a, _b;\n return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.DataTable) === null || _b === void 0 ? void 0 : _b.renderFilter) ||\n props.column.renderFilter);\n });\n function handleFilterChange(mergedFilterValue) {\n const nextFilterState = createFilterState(filterStateRef.value, props.column.key, mergedFilterValue);\n doUpdateFilters(nextFilterState, props.column);\n if (paginationBehaviorOnFilterRef.value === 'first') {\n doUpdatePage(1);\n }\n }\n function handleFilterMenuCancel() {\n showPopoverRef.value = false;\n }\n function handleFilterMenuConfirm() {\n showPopoverRef.value = false;\n }\n return {\n mergedTheme: mergedThemeRef,\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n showPopover: showPopoverRef,\n mergedRenderFilter: mergedRenderFilterRef,\n filterMultiple: filterMultipleRef,\n mergedFilterValue: mergedFilterValueRef,\n filterMenuCssVars: filterMenuCssVarsRef,\n handleFilterChange,\n handleFilterMenuConfirm,\n handleFilterMenuCancel\n };\n },\n render() {\n const { mergedTheme, mergedClsPrefix, handleFilterMenuCancel } = this;\n return (h(NPopover, { show: this.showPopover, onUpdateShow: (v) => (this.showPopover = v), trigger: \"click\", theme: mergedTheme.peers.Popover, themeOverrides: mergedTheme.peerOverrides.Popover, placement: \"bottom\", style: { padding: 0 } }, {\n trigger: () => {\n const { mergedRenderFilter } = this;\n if (mergedRenderFilter) {\n return (h(RenderFilter, { \"data-data-table-filter\": true, render: mergedRenderFilter, active: this.active, show: this.showPopover }));\n }\n const { renderFilterIcon } = this.column;\n return (h(\"div\", { \"data-data-table-filter\": true, class: [\n `${mergedClsPrefix}-data-table-filter`,\n {\n [`${mergedClsPrefix}-data-table-filter--active`]: this.active,\n [`${mergedClsPrefix}-data-table-filter--show`]: this.showPopover\n }\n ] }, renderFilterIcon ? (renderFilterIcon({\n active: this.active,\n show: this.showPopover\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(FilterIcon, null) }))));\n },\n default: () => {\n const { renderFilterMenu } = this.column;\n return renderFilterMenu ? (renderFilterMenu({ hide: handleFilterMenuCancel })) : (h(NDataTableFilterMenu, { style: this.filterMenuCssVars, radioGroupName: String(this.column.key), multiple: this.filterMultiple, value: this.mergedFilterValue, options: this.options, column: this.column, onChange: this.handleFilterChange, onClear: this.handleFilterMenuCancel, onConfirm: this.handleFilterMenuConfirm }));\n }\n }));\n }\n});\n","import { defineComponent, h, inject, ref, onBeforeUnmount } from 'vue';\nimport { off, on } from 'evtd';\nimport { dataTableInjectionKey } from '../interface';\nexport default defineComponent({\n name: 'ColumnResizeButton',\n props: {\n onResizeStart: Function,\n onResize: Function,\n onResizeEnd: Function\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { mergedClsPrefixRef } = inject(dataTableInjectionKey);\n const activeRef = ref(false);\n let startX = 0;\n function getMouseX(e) {\n return e.clientX;\n }\n function handleMousedown(e) {\n var _a;\n e.preventDefault();\n const alreadyStarted = activeRef.value;\n startX = getMouseX(e);\n activeRef.value = true;\n if (!alreadyStarted) {\n on('mousemove', window, handleMousemove);\n on('mouseup', window, handleMouseup);\n (_a = props.onResizeStart) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }\n function handleMousemove(e) {\n var _a;\n (_a = props.onResize) === null || _a === void 0 ? void 0 : _a.call(props, getMouseX(e) - startX);\n }\n function handleMouseup() {\n var _a;\n activeRef.value = false;\n (_a = props.onResizeEnd) === null || _a === void 0 ? void 0 : _a.call(props);\n off('mousemove', window, handleMousemove);\n off('mouseup', window, handleMouseup);\n }\n onBeforeUnmount(() => {\n off('mousemove', window, handleMousemove);\n off('mouseup', window, handleMouseup);\n });\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n handleMousedown\n };\n },\n render() {\n const { mergedClsPrefix } = this;\n return (h(\"span\", { \"data-data-table-resizable\": true, class: [\n `${mergedClsPrefix}-data-table-resize-button`,\n this.active && `${mergedClsPrefix}-data-table-resize-button--active`\n ], onMousedown: this.handleMousedown }));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DropdownDivider',\n props: {\n clsPrefix: {\n type: String,\n required: true\n }\n },\n render() {\n return h(\"div\", { class: `${this.clsPrefix}-dropdown-divider` });\n }\n});\n","import { createInjectionKey } from '../../_utils';\nexport const dropdownMenuInjectionKey = createInjectionKey('n-dropdown-menu');\nexport const dropdownInjectionKey = createInjectionKey('n-dropdown');\nexport const dropdownOptionInjectionKey = createInjectionKey('n-dropdown-option');\n","export function isSubmenuNode(rawNode, childrenField) {\n return (rawNode.type === 'submenu' ||\n (rawNode.type === undefined && rawNode[childrenField] !== undefined));\n}\nexport function isGroupNode(rawNode) {\n return rawNode.type === 'group';\n}\nexport function isDividerNode(rawNode) {\n return rawNode.type === 'divider';\n}\nexport function isRenderNode(rawNode) {\n return rawNode.type === 'render';\n}\n","import { h, computed, inject, ref, Transition, defineComponent, provide, mergeProps } from 'vue';\nimport { VBinder, VTarget, VFollower } from 'vueuc';\nimport { useMemo } from 'vooks';\nimport { happensIn } from 'seemly';\nimport { ChevronRightIcon } from '../../_internal/icons';\nimport { render, useDeferredTrue } from '../../_utils';\nimport { NIcon } from '../../icon';\n// eslint-disable-next-line import/no-cycle\nimport NDropdownMenu from './DropdownMenu';\nimport { dropdownMenuInjectionKey, dropdownInjectionKey, dropdownOptionInjectionKey } from './context';\nimport { popoverBodyInjectionKey } from '../../popover/src/interface';\nimport { isSubmenuNode } from './utils';\nexport default defineComponent({\n name: 'DropdownOption',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n },\n parentKey: {\n type: [String, Number],\n default: null\n },\n placement: {\n type: String,\n default: 'right-start'\n },\n props: Object,\n scrollable: Boolean\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NDropdown = inject(dropdownInjectionKey);\n const { hoverKeyRef, keyboardKeyRef, lastToggledSubmenuKeyRef, pendingKeyPathRef, activeKeyPathRef, animatedRef, mergedShowRef, renderLabelRef, renderIconRef, labelFieldRef, childrenFieldRef, renderOptionRef, nodePropsRef, menuPropsRef } = NDropdown;\n const NDropdownOption = inject(dropdownOptionInjectionKey, null);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NDropdownMenu = inject(dropdownMenuInjectionKey);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NPopoverBody = inject(popoverBodyInjectionKey);\n const rawNodeRef = computed(() => props.tmNode.rawNode);\n const hasSubmenuRef = computed(() => {\n const { value: childrenField } = childrenFieldRef;\n return isSubmenuNode(props.tmNode.rawNode, childrenField);\n });\n const mergedDisabledRef = computed(() => {\n const { disabled } = props.tmNode;\n return disabled;\n });\n const showSubmenuRef = computed(() => {\n if (!hasSubmenuRef.value)\n return false;\n const { key, disabled } = props.tmNode;\n if (disabled)\n return false;\n const { value: hoverKey } = hoverKeyRef;\n const { value: keyboardKey } = keyboardKeyRef;\n const { value: lastToggledSubmenuKey } = lastToggledSubmenuKeyRef;\n const { value: pendingKeyPath } = pendingKeyPathRef;\n if (hoverKey !== null)\n return pendingKeyPath.includes(key);\n if (keyboardKey !== null) {\n return (pendingKeyPath.includes(key) &&\n pendingKeyPath[pendingKeyPath.length - 1] !== key);\n }\n if (lastToggledSubmenuKey !== null)\n return pendingKeyPath.includes(key);\n return false;\n });\n const shouldDelayRef = computed(() => {\n return keyboardKeyRef.value === null && !animatedRef.value;\n });\n const deferredShowSubmenuRef = useDeferredTrue(showSubmenuRef, 300, shouldDelayRef);\n const parentEnteringSubmenuRef = computed(() => {\n return !!(NDropdownOption === null || NDropdownOption === void 0 ? void 0 : NDropdownOption.enteringSubmenuRef.value);\n });\n const enteringSubmenuRef = ref(false);\n provide(dropdownOptionInjectionKey, {\n enteringSubmenuRef\n });\n // methods\n function handleSubmenuBeforeEnter() {\n enteringSubmenuRef.value = true;\n }\n function handleSubmenuAfterEnter() {\n enteringSubmenuRef.value = false;\n }\n function handleMouseEnter() {\n const { parentKey, tmNode } = props;\n if (tmNode.disabled)\n return;\n if (!mergedShowRef.value)\n return;\n lastToggledSubmenuKeyRef.value = parentKey;\n keyboardKeyRef.value = null;\n hoverKeyRef.value = tmNode.key;\n }\n function handleMouseMove() {\n const { tmNode } = props;\n if (tmNode.disabled)\n return;\n if (!mergedShowRef.value)\n return;\n if (hoverKeyRef.value === tmNode.key)\n return;\n handleMouseEnter();\n }\n function handleMouseLeave(e) {\n if (props.tmNode.disabled)\n return;\n if (!mergedShowRef.value)\n return;\n const { relatedTarget } = e;\n if (relatedTarget &&\n !happensIn({ target: relatedTarget }, 'dropdownOption') &&\n !happensIn({ target: relatedTarget }, 'scrollbarRail')) {\n hoverKeyRef.value = null;\n }\n }\n function handleClick() {\n const { value: hasSubmenu } = hasSubmenuRef;\n const { tmNode } = props;\n if (!mergedShowRef.value)\n return;\n if (!hasSubmenu && !tmNode.disabled) {\n NDropdown.doSelect(tmNode.key, tmNode.rawNode);\n NDropdown.doUpdateShow(false);\n }\n }\n return {\n labelField: labelFieldRef,\n renderLabel: renderLabelRef,\n renderIcon: renderIconRef,\n siblingHasIcon: NDropdownMenu.showIconRef,\n siblingHasSubmenu: NDropdownMenu.hasSubmenuRef,\n menuProps: menuPropsRef,\n popoverBody: NPopoverBody,\n animated: animatedRef,\n mergedShowSubmenu: computed(() => {\n return deferredShowSubmenuRef.value && !parentEnteringSubmenuRef.value;\n }),\n rawNode: rawNodeRef,\n hasSubmenu: hasSubmenuRef,\n pending: useMemo(() => {\n const { value: pendingKeyPath } = pendingKeyPathRef;\n const { key } = props.tmNode;\n return pendingKeyPath.includes(key);\n }),\n childActive: useMemo(() => {\n const { value: activeKeyPath } = activeKeyPathRef;\n const { key } = props.tmNode;\n const index = activeKeyPath.findIndex((k) => key === k);\n if (index === -1)\n return false;\n return index < activeKeyPath.length - 1;\n }),\n active: useMemo(() => {\n const { value: activeKeyPath } = activeKeyPathRef;\n const { key } = props.tmNode;\n const index = activeKeyPath.findIndex((k) => key === k);\n if (index === -1)\n return false;\n return index === activeKeyPath.length - 1;\n }),\n mergedDisabled: mergedDisabledRef,\n renderOption: renderOptionRef,\n nodeProps: nodePropsRef,\n handleClick,\n handleMouseMove,\n handleMouseEnter,\n handleMouseLeave,\n handleSubmenuBeforeEnter,\n handleSubmenuAfterEnter\n };\n },\n render() {\n var _a, _b;\n const { animated, rawNode, mergedShowSubmenu, clsPrefix, siblingHasIcon, siblingHasSubmenu, renderLabel, renderIcon, renderOption, nodeProps, props, scrollable } = this;\n let submenuVNode = null;\n if (mergedShowSubmenu) {\n const submenuNodeProps = (_a = this.menuProps) === null || _a === void 0 ? void 0 : _a.call(this, rawNode, rawNode.children);\n submenuVNode = (h(NDropdownMenu, Object.assign({}, submenuNodeProps, { clsPrefix: clsPrefix, scrollable: this.scrollable, tmNodes: this.tmNode.children, parentKey: this.tmNode.key })));\n }\n const builtinProps = {\n class: [\n `${clsPrefix}-dropdown-option-body`,\n this.pending && `${clsPrefix}-dropdown-option-body--pending`,\n this.active && `${clsPrefix}-dropdown-option-body--active`,\n this.childActive && `${clsPrefix}-dropdown-option-body--child-active`,\n this.mergedDisabled && `${clsPrefix}-dropdown-option-body--disabled`\n ],\n onMousemove: this.handleMouseMove,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave,\n onClick: this.handleClick\n };\n const optionNodeProps = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const node = (h(\"div\", Object.assign({ class: [`${clsPrefix}-dropdown-option`, optionNodeProps === null || optionNodeProps === void 0 ? void 0 : optionNodeProps.class], \"data-dropdown-option\": true }, optionNodeProps),\n h('div', mergeProps(builtinProps, props), [\n h(\"div\", { class: [\n `${clsPrefix}-dropdown-option-body__prefix`,\n siblingHasIcon &&\n `${clsPrefix}-dropdown-option-body__prefix--show-icon`\n ] }, [renderIcon ? renderIcon(rawNode) : render(rawNode.icon)]),\n h(\"div\", { \"data-dropdown-option\": true, class: `${clsPrefix}-dropdown-option-body__label` }, renderLabel\n ? renderLabel(rawNode)\n : render((_b = rawNode[this.labelField]) !== null && _b !== void 0 ? _b : rawNode.title)),\n h(\"div\", { \"data-dropdown-option\": true, class: [\n `${clsPrefix}-dropdown-option-body__suffix`,\n siblingHasSubmenu &&\n `${clsPrefix}-dropdown-option-body__suffix--has-submenu`\n ] }, this.hasSubmenu ? (h(NIcon, null, {\n default: () => h(ChevronRightIcon, null)\n })) : null)\n ]),\n this.hasSubmenu ? (h(VBinder, null, {\n default: () => [\n h(VTarget, null, {\n default: () => (h(\"div\", { class: `${clsPrefix}-dropdown-offset-container` },\n h(VFollower, { show: this.mergedShowSubmenu, placement: this.placement, to: scrollable\n ? this.popoverBody || undefined\n : undefined, teleportDisabled: !scrollable }, {\n default: () => {\n return (h(\"div\", { class: `${clsPrefix}-dropdown-menu-wrapper` }, animated ? (h(Transition, { onBeforeEnter: this.handleSubmenuBeforeEnter, onAfterEnter: this.handleSubmenuAfterEnter, name: \"fade-in-scale-up-transition\", appear: true }, {\n default: () => submenuVNode\n })) : (submenuVNode)));\n }\n })))\n })\n ]\n })) : null));\n if (renderOption) {\n return renderOption({ node, option: rawNode });\n }\n return node;\n }\n});\n","import { defineComponent, h, inject } from 'vue';\nimport { render } from '../../_utils';\nimport { dropdownInjectionKey, dropdownMenuInjectionKey } from './context';\nexport default defineComponent({\n name: 'DropdownGroupHeader',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup() {\n const { showIconRef, hasSubmenuRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dropdownMenuInjectionKey);\n const { renderLabelRef, labelFieldRef, nodePropsRef, renderOptionRef } = \n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n inject(dropdownInjectionKey);\n return {\n labelField: labelFieldRef,\n showIcon: showIconRef,\n hasSubmenu: hasSubmenuRef,\n renderLabel: renderLabelRef,\n nodeProps: nodePropsRef,\n renderOption: renderOptionRef\n };\n },\n render() {\n var _a;\n const { clsPrefix, hasSubmenu, showIcon, nodeProps, renderLabel, renderOption } = this;\n const { rawNode } = this.tmNode;\n const node = (h(\"div\", Object.assign({ class: `${clsPrefix}-dropdown-option` }, nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode)),\n h(\"div\", { class: `${clsPrefix}-dropdown-option-body ${clsPrefix}-dropdown-option-body--group` },\n h(\"div\", { \"data-dropdown-option\": true, class: [\n `${clsPrefix}-dropdown-option-body__prefix`,\n showIcon && `${clsPrefix}-dropdown-option-body__prefix--show-icon`\n ] }, render(rawNode.icon)),\n h(\"div\", { class: `${clsPrefix}-dropdown-option-body__label`, \"data-dropdown-option\": true }, renderLabel\n ? renderLabel(rawNode)\n : render((_a = rawNode.title) !== null && _a !== void 0 ? _a : rawNode[this.labelField])),\n h(\"div\", { class: [\n `${clsPrefix}-dropdown-option-body__suffix`,\n hasSubmenu &&\n `${clsPrefix}-dropdown-option-body__suffix--has-submenu`\n ], \"data-dropdown-option\": true }))));\n if (renderOption) {\n return renderOption({ node, option: rawNode });\n }\n return node;\n }\n});\n","import { defineComponent, Fragment, h } from 'vue';\nimport { warn } from '../../_utils';\n// eslint-disable-next-line import/no-cycle\nimport NDropdownOption from './DropdownOption';\nimport NDropdownDivider from './DropdownDivider';\nimport NDropdownGroupHeader from './DropdownGroupHeader';\nimport { isDividerNode } from './utils';\nexport default defineComponent({\n name: 'NDropdownGroup',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n },\n parentKey: {\n type: [String, Number],\n default: null\n }\n },\n render() {\n const { tmNode, parentKey, clsPrefix } = this;\n const { children } = tmNode;\n return (h(Fragment, null,\n h(NDropdownGroupHeader, { clsPrefix: clsPrefix, tmNode: tmNode, key: tmNode.key }), children === null || children === void 0 ? void 0 :\n children.map((child) => {\n const { rawNode } = child;\n if (rawNode.show === false)\n return null;\n if (isDividerNode(rawNode)) {\n return h(NDropdownDivider, {\n clsPrefix,\n key: child.key\n });\n }\n if (child.isGroup) {\n warn('dropdown', '`group` node is not allowed to be put in `group` node.');\n return null;\n }\n return (h(NDropdownOption, { clsPrefix: clsPrefix, tmNode: child, parentKey: parentKey, key: child.key }));\n })));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DropdownRenderOption',\n props: {\n tmNode: {\n type: Object,\n required: true\n }\n },\n render() {\n const { rawNode: { render, props } } = this.tmNode;\n return h('div', props, [render === null || render === void 0 ? void 0 : render()]);\n }\n});\n","import { computed, defineComponent, h, inject, provide, ref } from 'vue';\nimport { renderArrow } from '../../popover/src/PopoverBody';\nimport { NxScrollbar } from '../../_internal/scrollbar';\nimport NDropdownDivider from './DropdownDivider';\n// eslint-disable-next-line import/no-cycle\nimport NDropdownGroup from './DropdownGroup';\n// eslint-disable-next-line import/no-cycle\nimport NDropdownOption from './DropdownOption';\nimport NDropdownRenderOption from './DropdownRenderOption';\nimport { isSubmenuNode, isGroupNode, isDividerNode, isRenderNode } from './utils';\nimport { dropdownInjectionKey, dropdownMenuInjectionKey } from './context';\nimport { modalBodyInjectionKey } from '../../modal/src/interface';\nimport { drawerBodyInjectionKey } from '../../drawer/src/interface';\nimport { popoverBodyInjectionKey } from '../../popover/src/interface';\nexport default defineComponent({\n name: 'DropdownMenu',\n props: {\n scrollable: Boolean,\n showArrow: Boolean,\n arrowStyle: [String, Object],\n clsPrefix: {\n type: String,\n required: true\n },\n tmNodes: {\n type: Array,\n default: () => []\n },\n parentKey: {\n type: [String, Number],\n default: null\n }\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { renderIconRef, childrenFieldRef } = inject(dropdownInjectionKey);\n provide(dropdownMenuInjectionKey, {\n showIconRef: computed(() => {\n const renderIcon = renderIconRef.value;\n return props.tmNodes.some((tmNode) => {\n var _a;\n if (tmNode.isGroup) {\n return (_a = tmNode.children) === null || _a === void 0 ? void 0 : _a.some(({ rawNode: rawChild }) => renderIcon ? renderIcon(rawChild) : rawChild.icon);\n }\n const { rawNode } = tmNode;\n return renderIcon ? renderIcon(rawNode) : rawNode.icon;\n });\n }),\n hasSubmenuRef: computed(() => {\n const { value: childrenField } = childrenFieldRef;\n return props.tmNodes.some((tmNode) => {\n var _a;\n if (tmNode.isGroup) {\n return (_a = tmNode.children) === null || _a === void 0 ? void 0 : _a.some(({ rawNode: rawChild }) => isSubmenuNode(rawChild, childrenField));\n }\n const { rawNode } = tmNode;\n return isSubmenuNode(rawNode, childrenField);\n });\n })\n });\n const bodyRef = ref(null);\n provide(modalBodyInjectionKey, null);\n provide(drawerBodyInjectionKey, null);\n provide(popoverBodyInjectionKey, bodyRef);\n return {\n bodyRef\n };\n },\n render() {\n const { parentKey, clsPrefix, scrollable } = this;\n const menuOptionsNode = this.tmNodes.map((tmNode) => {\n const { rawNode } = tmNode;\n if (rawNode.show === false)\n return null;\n if (isRenderNode(rawNode)) {\n return (h(NDropdownRenderOption, { tmNode: tmNode, key: tmNode.key }));\n }\n if (isDividerNode(rawNode)) {\n return h(NDropdownDivider, { clsPrefix: clsPrefix, key: tmNode.key });\n }\n if (isGroupNode(rawNode)) {\n return (h(NDropdownGroup, { clsPrefix: clsPrefix, tmNode: tmNode, parentKey: parentKey, key: tmNode.key }));\n }\n return (h(NDropdownOption, { clsPrefix: clsPrefix, tmNode: tmNode, parentKey: parentKey, key: tmNode.key, props: rawNode.props, scrollable: scrollable }));\n });\n return (h(\"div\", { class: [\n `${clsPrefix}-dropdown-menu`,\n scrollable && `${clsPrefix}-dropdown-menu--scrollable`\n ], ref: \"bodyRef\" },\n scrollable ? (h(NxScrollbar, { contentClass: `${clsPrefix}-dropdown-menu__content` }, {\n default: () => menuOptionsNode\n })) : (menuOptionsNode),\n this.showArrow\n ? renderArrow({\n clsPrefix,\n arrowStyle: this.arrowStyle,\n arrowClass: undefined,\n arrowWrapperClass: undefined,\n arrowWrapperStyle: undefined\n })\n : null));\n }\n});\n","import { c, cB, cM, cE, cNotM } from '../../../_utils/cssr';\nimport { fadeInScaleUpTransition } from '../../../_styles/transitions/fade-in-scale-up.cssr';\n// vars:\n// --n-bezier\n// --n-font-size\n// --n-padding\n// --n-border-radius\n// --n-option-height\n// --n-option-prefix-width\n// --n-option-icon-prefix-width\n// --n-option-suffix-width\n// --n-option-icon-suffix-width\n// --n-color\n// --n-option-color-hover\n// --n-option-color-active\n// --n-divider-color\n// --n-option-text-color\n// --n-option-text-color-hover\n// --n-option-text-color-active\n// --n-option-text-color-child-active\n// --n-prefix-color\n// --n-suffix-color\n// --n-option-icon-size\n// --n-option-opacity-disabled\n// shared with popover\n// --n-box-shadow\nexport default cB('dropdown-menu', `\n transform-origin: var(--v-transform-origin);\n background-color: var(--n-color);\n border-radius: var(--n-border-radius);\n box-shadow: var(--n-box-shadow);\n position: relative;\n transition:\n background-color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier);\n`, [fadeInScaleUpTransition(), cB('dropdown-option', `\n position: relative;\n `, [c('a', `\n text-decoration: none;\n color: inherit;\n outline: none;\n `, [c('&::before', `\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `)]), cB('dropdown-option-body', `\n display: flex;\n cursor: pointer;\n position: relative;\n height: var(--n-option-height);\n line-height: var(--n-option-height);\n font-size: var(--n-font-size);\n color: var(--n-option-text-color);\n transition: color .3s var(--n-bezier);\n `, [c('&::before', `\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 4px;\n right: 4px;\n transition: background-color .3s var(--n-bezier);\n border-radius: var(--n-border-radius);\n `), cNotM('disabled', [cM('pending', `\n color: var(--n-option-text-color-hover);\n `, [cE('prefix, suffix', `\n color: var(--n-option-text-color-hover);\n `), c('&::before', 'background-color: var(--n-option-color-hover);')]), cM('active', `\n color: var(--n-option-text-color-active);\n `, [cE('prefix, suffix', `\n color: var(--n-option-text-color-active);\n `), c('&::before', 'background-color: var(--n-option-color-active);')]), cM('child-active', `\n color: var(--n-option-text-color-child-active);\n `, [cE('prefix, suffix', `\n color: var(--n-option-text-color-child-active);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n opacity: var(--n-option-opacity-disabled);\n `), cM('group', `\n font-size: calc(var(--n-font-size) - 1px);\n color: var(--n-group-header-text-color);\n `, [cE('prefix', `\n width: calc(var(--n-option-prefix-width) / 2);\n `, [cM('show-icon', `\n width: calc(var(--n-option-icon-prefix-width) / 2);\n `)])]), cE('prefix', `\n width: var(--n-option-prefix-width);\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--n-prefix-color);\n transition: color .3s var(--n-bezier);\n z-index: 1;\n `, [cM('show-icon', `\n width: var(--n-option-icon-prefix-width);\n `), cB('icon', `\n font-size: var(--n-option-icon-size);\n `)]), cE('label', `\n white-space: nowrap;\n flex: 1;\n z-index: 1;\n `), cE('suffix', `\n box-sizing: border-box;\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n min-width: var(--n-option-suffix-width);\n padding: 0 8px;\n transition: color .3s var(--n-bezier);\n color: var(--n-suffix-color);\n z-index: 1;\n `, [cM('has-submenu', `\n width: var(--n-option-icon-suffix-width);\n `), cB('icon', `\n font-size: var(--n-option-icon-size);\n `)]), cB('dropdown-menu', 'pointer-events: all;')]), cB('dropdown-offset-container', `\n pointer-events: none;\n position: absolute;\n left: 0;\n right: 0;\n top: -4px;\n bottom: -4px;\n `)]), cB('dropdown-divider', `\n transition: background-color .3s var(--n-bezier);\n background-color: var(--n-divider-color);\n height: 1px;\n margin: 4px 0;\n `), cB('dropdown-menu-wrapper', `\n transform-origin: var(--v-transform-origin);\n width: fit-content;\n `), c('>', [cB('scrollbar', `\n height: inherit;\n max-height: inherit;\n `)]), cNotM('scrollable', `\n padding: var(--n-padding);\n `), cM('scrollable', [cE('content', `\n padding: var(--n-padding);\n `)])]);","import { defineComponent, h, computed, ref, toRef, watch, provide, mergeProps } from 'vue';\nimport { createTreeMate } from 'treemate';\nimport { useMergedState, useKeyboard, useMemo } from 'vooks';\nimport { popoverBaseProps } from '../../popover/src/Popover';\nimport { useConfig, useTheme, useThemeClass } from '../../_mixins';\nimport { NPopover } from '../../popover';\nimport { keep, call, createKey, createRefSetter } from '../../_utils';\nimport { dropdownLight } from '../styles';\nimport NDropdownMenu from './DropdownMenu';\nimport style from './styles/index.cssr';\nimport { dropdownInjectionKey } from './context';\nconst dropdownBaseProps = {\n animated: {\n type: Boolean,\n default: true\n },\n keyboard: {\n type: Boolean,\n default: true\n },\n size: {\n type: String,\n default: 'medium'\n },\n inverted: Boolean,\n placement: {\n type: String,\n default: 'bottom'\n },\n onSelect: [Function, Array],\n options: {\n type: Array,\n default: () => []\n },\n menuProps: Function,\n showArrow: Boolean,\n renderLabel: Function,\n renderIcon: Function,\n renderOption: Function,\n nodeProps: Function,\n labelField: {\n type: String,\n default: 'label'\n },\n keyField: {\n type: String,\n default: 'key'\n },\n childrenField: {\n type: String,\n default: 'children'\n },\n // for menu, not documented\n value: [String, Number]\n};\nconst popoverPropKeys = Object.keys(popoverBaseProps);\nexport const dropdownProps = Object.assign(Object.assign(Object.assign({}, popoverBaseProps), dropdownBaseProps), useTheme.props);\nexport default defineComponent({\n name: 'Dropdown',\n inheritAttrs: false,\n props: dropdownProps,\n setup(props) {\n const uncontrolledShowRef = ref(false);\n const mergedShowRef = useMergedState(toRef(props, 'show'), uncontrolledShowRef);\n const treemateRef = computed(() => {\n const { keyField, childrenField } = props;\n return createTreeMate(props.options, {\n getKey(node) {\n return node[keyField];\n },\n getDisabled(node) {\n return node.disabled === true;\n },\n getIgnored(node) {\n return node.type === 'divider' || node.type === 'render';\n },\n getChildren(node) {\n return node[childrenField];\n }\n });\n });\n const tmNodesRef = computed(() => {\n return treemateRef.value.treeNodes;\n });\n const hoverKeyRef = ref(null);\n const keyboardKeyRef = ref(null);\n const lastToggledSubmenuKeyRef = ref(null);\n const pendingKeyRef = computed(() => {\n var _a, _b, _c;\n return ((_c = (_b = (_a = hoverKeyRef.value) !== null && _a !== void 0 ? _a : keyboardKeyRef.value) !== null && _b !== void 0 ? _b : lastToggledSubmenuKeyRef.value) !== null && _c !== void 0 ? _c : null);\n });\n const pendingKeyPathRef = computed(() => treemateRef.value.getPath(pendingKeyRef.value).keyPath);\n const activeKeyPathRef = computed(() => treemateRef.value.getPath(props.value).keyPath);\n const keyboardEnabledRef = useMemo(() => {\n return props.keyboard && mergedShowRef.value;\n });\n useKeyboard({\n keydown: {\n ArrowUp: {\n prevent: true,\n handler: handleKeydownUp\n },\n ArrowRight: {\n prevent: true,\n handler: handleKeydownRight\n },\n ArrowDown: {\n prevent: true,\n handler: handleKeydownDown\n },\n ArrowLeft: {\n prevent: true,\n handler: handleKeydownLeft\n },\n Enter: {\n prevent: true,\n handler: handleKeydownEnter\n },\n Escape: handleKeydownEsc\n }\n }, keyboardEnabledRef);\n const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);\n const themeRef = useTheme('Dropdown', '-dropdown', style, dropdownLight, props, mergedClsPrefixRef);\n provide(dropdownInjectionKey, {\n labelFieldRef: toRef(props, 'labelField'),\n childrenFieldRef: toRef(props, 'childrenField'),\n renderLabelRef: toRef(props, 'renderLabel'),\n renderIconRef: toRef(props, 'renderIcon'),\n hoverKeyRef,\n keyboardKeyRef,\n lastToggledSubmenuKeyRef,\n pendingKeyPathRef,\n activeKeyPathRef,\n animatedRef: toRef(props, 'animated'),\n mergedShowRef,\n nodePropsRef: toRef(props, 'nodeProps'),\n renderOptionRef: toRef(props, 'renderOption'),\n menuPropsRef: toRef(props, 'menuProps'),\n doSelect,\n doUpdateShow\n });\n // watch\n watch(mergedShowRef, (value) => {\n if (!props.animated && !value) {\n clearPendingState();\n }\n });\n // methods\n function doSelect(key, node) {\n const { onSelect } = props;\n if (onSelect)\n call(onSelect, key, node);\n }\n function doUpdateShow(value) {\n const { 'onUpdate:show': _onUpdateShow, onUpdateShow } = props;\n if (_onUpdateShow)\n call(_onUpdateShow, value);\n if (onUpdateShow)\n call(onUpdateShow, value);\n uncontrolledShowRef.value = value;\n }\n function clearPendingState() {\n hoverKeyRef.value = null;\n keyboardKeyRef.value = null;\n lastToggledSubmenuKeyRef.value = null;\n }\n function handleKeydownEsc() {\n doUpdateShow(false);\n }\n function handleKeydownLeft() {\n handleKeydown('left');\n }\n function handleKeydownRight() {\n handleKeydown('right');\n }\n function handleKeydownUp() {\n handleKeydown('up');\n }\n function handleKeydownDown() {\n handleKeydown('down');\n }\n function handleKeydownEnter() {\n const pendingNode = getPendingNode();\n if ((pendingNode === null || pendingNode === void 0 ? void 0 : pendingNode.isLeaf) && mergedShowRef.value) {\n doSelect(pendingNode.key, pendingNode.rawNode);\n doUpdateShow(false);\n }\n }\n function getPendingNode() {\n var _a;\n const { value: treeMate } = treemateRef;\n const { value: pendingKey } = pendingKeyRef;\n if (!treeMate || pendingKey === null)\n return null;\n return (_a = treeMate.getNode(pendingKey)) !== null && _a !== void 0 ? _a : null;\n }\n function handleKeydown(direction) {\n const { value: pendingKey } = pendingKeyRef;\n const { value: { getFirstAvailableNode } } = treemateRef;\n let nextKeyboardKey = null;\n if (pendingKey === null) {\n const firstNode = getFirstAvailableNode();\n if (firstNode !== null) {\n nextKeyboardKey = firstNode.key;\n }\n }\n else {\n const currentNode = getPendingNode();\n if (currentNode) {\n let nextNode;\n switch (direction) {\n case 'down':\n nextNode = currentNode.getNext();\n break;\n case 'up':\n nextNode = currentNode.getPrev();\n break;\n case 'right':\n nextNode = currentNode.getChild();\n break;\n case 'left':\n nextNode = currentNode.getParent();\n break;\n }\n if (nextNode)\n nextKeyboardKey = nextNode.key;\n }\n }\n if (nextKeyboardKey !== null) {\n hoverKeyRef.value = null;\n keyboardKeyRef.value = nextKeyboardKey;\n }\n }\n const cssVarsRef = computed(() => {\n const { size, inverted } = props;\n const { common: { cubicBezierEaseInOut }, self } = themeRef.value;\n const { padding, dividerColor, borderRadius, optionOpacityDisabled, [createKey('optionIconSuffixWidth', size)]: optionIconSuffixWidth, [createKey('optionSuffixWidth', size)]: optionSuffixWidth, [createKey('optionIconPrefixWidth', size)]: optionIconPrefixWidth, [createKey('optionPrefixWidth', size)]: optionPrefixWidth, [createKey('fontSize', size)]: fontSize, [createKey('optionHeight', size)]: optionHeight, [createKey('optionIconSize', size)]: optionIconSize } = self;\n const vars = {\n '--n-bezier': cubicBezierEaseInOut,\n '--n-font-size': fontSize,\n '--n-padding': padding,\n '--n-border-radius': borderRadius,\n '--n-option-height': optionHeight,\n '--n-option-prefix-width': optionPrefixWidth,\n '--n-option-icon-prefix-width': optionIconPrefixWidth,\n '--n-option-suffix-width': optionSuffixWidth,\n '--n-option-icon-suffix-width': optionIconSuffixWidth,\n '--n-option-icon-size': optionIconSize,\n '--n-divider-color': dividerColor,\n '--n-option-opacity-disabled': optionOpacityDisabled\n };\n // writing like this is the fastest method\n if (inverted) {\n vars['--n-color'] = self.colorInverted;\n vars['--n-option-color-hover'] = self.optionColorHoverInverted;\n vars['--n-option-color-active'] = self.optionColorActiveInverted;\n vars['--n-option-text-color'] = self.optionTextColorInverted;\n vars['--n-option-text-color-hover'] = self.optionTextColorHoverInverted;\n vars['--n-option-text-color-active'] =\n self.optionTextColorActiveInverted;\n vars['--n-option-text-color-child-active'] =\n self.optionTextColorChildActiveInverted;\n vars['--n-prefix-color'] = self.prefixColorInverted;\n vars['--n-suffix-color'] = self.suffixColorInverted;\n vars['--n-group-header-text-color'] = self.groupHeaderTextColorInverted;\n }\n else {\n vars['--n-color'] = self.color;\n vars['--n-option-color-hover'] = self.optionColorHover;\n vars['--n-option-color-active'] = self.optionColorActive;\n vars['--n-option-text-color'] = self.optionTextColor;\n vars['--n-option-text-color-hover'] = self.optionTextColorHover;\n vars['--n-option-text-color-active'] = self.optionTextColorActive;\n vars['--n-option-text-color-child-active'] =\n self.optionTextColorChildActive;\n vars['--n-prefix-color'] = self.prefixColor;\n vars['--n-suffix-color'] = self.suffixColor;\n vars['--n-group-header-text-color'] = self.groupHeaderTextColor;\n }\n return vars;\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('dropdown', computed(() => `${props.size[0]}${props.inverted ? 'i' : ''}`), cssVarsRef, props)\n : undefined;\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n mergedTheme: themeRef,\n // data\n tmNodes: tmNodesRef,\n // show\n mergedShow: mergedShowRef,\n // methods\n handleAfterLeave: () => {\n if (!props.animated)\n return;\n clearPendingState();\n },\n doUpdateShow,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n const renderPopoverBody = (className, ref, style, onMouseenter, onMouseleave) => {\n var _a;\n const { mergedClsPrefix, menuProps } = this;\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n const menuNodeProps = (menuProps === null || menuProps === void 0 ? void 0 : menuProps(undefined, this.tmNodes.map((v) => v.rawNode))) || {};\n const dropdownProps = {\n ref: createRefSetter(ref),\n class: [className, `${mergedClsPrefix}-dropdown`, this.themeClass],\n clsPrefix: mergedClsPrefix,\n tmNodes: this.tmNodes,\n style: [...style, this.cssVars],\n showArrow: this.showArrow,\n arrowStyle: this.arrowStyle,\n scrollable: this.scrollable,\n onMouseenter,\n onMouseleave\n };\n return h(NDropdownMenu, mergeProps(this.$attrs, dropdownProps, menuNodeProps));\n };\n const { mergedTheme } = this;\n const popoverProps = {\n show: this.mergedShow,\n theme: mergedTheme.peers.Popover,\n themeOverrides: mergedTheme.peerOverrides.Popover,\n internalOnAfterLeave: this.handleAfterLeave,\n internalRenderBody: renderPopoverBody,\n onUpdateShow: this.doUpdateShow,\n 'onUpdate:show': undefined\n };\n return (h(NPopover, Object.assign({}, keep(this.$props, popoverPropKeys), popoverProps), {\n trigger: () => { var _a, _b; return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a); }\n }));\n }\n});\n","import { h, defineComponent, inject, computed } from 'vue';\nimport { NDropdown } from '../../../dropdown';\nimport { NBaseIcon } from '../../../_internal';\nimport { ChevronDownIcon } from '../../../_internal/icons';\nimport { dataTableInjectionKey } from '../interface';\nconst allKey = '_n_all__';\nconst noneKey = '_n_none__';\nfunction createSelectHandler(options, rawPaginatedDataRef, doCheckAll, doUncheckAll) {\n if (!options)\n return () => { };\n return (key) => {\n for (const option of options) {\n switch (key) {\n case allKey:\n doCheckAll(true);\n return;\n case noneKey:\n doUncheckAll(true);\n return;\n default:\n if (typeof option === 'object' && option.key === key) {\n option.onSelect(rawPaginatedDataRef.value);\n return;\n }\n }\n }\n };\n}\nfunction createDropdownOptions(options, localeRef) {\n if (!options)\n return [];\n return options.map((option) => {\n switch (option) {\n case 'all':\n return {\n label: localeRef.checkTableAll,\n key: allKey\n };\n case 'none':\n return {\n label: localeRef.uncheckTableAll,\n key: noneKey\n };\n default:\n return option;\n }\n });\n}\nexport default defineComponent({\n name: 'DataTableSelectionMenu',\n props: {\n clsPrefix: {\n type: String,\n required: true\n }\n },\n setup(props) {\n const { props: dataTableProps, localeRef, checkOptionsRef, rawPaginatedDataRef, doCheckAll, doUncheckAll\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const handleSelectRef = computed(() => createSelectHandler(checkOptionsRef.value, rawPaginatedDataRef, doCheckAll, doUncheckAll));\n const optionsRef = computed(() => createDropdownOptions(checkOptionsRef.value, localeRef.value));\n return () => {\n var _a, _b, _c, _d;\n const { clsPrefix } = props;\n return (h(NDropdown, { theme: (_b = (_a = dataTableProps.theme) === null || _a === void 0 ? void 0 : _a.peers) === null || _b === void 0 ? void 0 : _b.Dropdown, themeOverrides: (_d = (_c = dataTableProps.themeOverrides) === null || _c === void 0 ? void 0 : _c.peers) === null || _d === void 0 ? void 0 : _d.Dropdown, options: optionsRef.value, onSelect: handleSelectRef.value }, {\n default: () => (h(NBaseIcon, { clsPrefix: clsPrefix, class: `${clsPrefix}-data-table-check-extra` }, {\n default: () => h(ChevronDownIcon, null)\n }))\n }));\n };\n }\n});\n","import { h, defineComponent, inject, Fragment, ref } from 'vue';\nimport { happensIn, pxfy } from 'seemly';\nimport { formatLength } from '../../../_utils';\nimport { NCheckbox } from '../../../checkbox';\nimport { NEllipsis } from '../../../ellipsis';\nimport SortButton from '../HeaderButton/SortButton';\nimport FilterButton from '../HeaderButton/FilterButton';\nimport ResizeButton from '../HeaderButton/ResizeButton';\nimport { isColumnSortable, isColumnFilterable, createNextSorter, getColKey, isColumnSorting, isColumnResizable, clampValueFollowCSSRules } from '../utils';\nimport { dataTableInjectionKey } from '../interface';\nimport SelectionMenu from './SelectionMenu';\nfunction renderTitle(column) {\n return typeof column.title === 'function'\n ? column.title(column)\n : column.title;\n}\nexport default defineComponent({\n name: 'DataTableHeader',\n props: {\n discrete: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const { mergedClsPrefixRef, scrollXRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, allRowsCheckedRef, someRowsCheckedRef, rowsRef, colsRef, mergedThemeRef, checkOptionsRef, mergedSortStateRef, componentId, mergedTableLayoutRef, headerCheckboxDisabledRef, onUnstableColumnResize, doUpdateResizableWidth, handleTableHeaderScroll, deriveNextSorter, doUncheckAll, doCheckAll\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const cellElsRef = ref({});\n function getCellActualWidth(key) {\n const element = cellElsRef.value[key];\n return element === null || element === void 0 ? void 0 : element.getBoundingClientRect().width;\n }\n function handleCheckboxUpdateChecked() {\n if (allRowsCheckedRef.value) {\n doUncheckAll();\n }\n else {\n doCheckAll();\n }\n }\n function handleColHeaderClick(e, column) {\n if (happensIn(e, 'dataTableFilter') ||\n happensIn(e, 'dataTableResizable')) {\n return;\n }\n if (!isColumnSortable(column))\n return;\n const activeSorter = mergedSortStateRef.value.find((state) => state.columnKey === column.key) || null;\n const nextSorter = createNextSorter(column, activeSorter);\n deriveNextSorter(nextSorter);\n }\n const resizeStartWidthMap = new Map();\n function handleColumnResizeStart(column) {\n resizeStartWidthMap.set(column.key, getCellActualWidth(column.key));\n }\n function handleColumnResize(column, displacementX) {\n const startWidth = resizeStartWidthMap.get(column.key);\n if (startWidth === undefined) {\n return;\n }\n const widthAfterResize = startWidth + displacementX;\n const limitWidth = clampValueFollowCSSRules(widthAfterResize, column.minWidth, column.maxWidth);\n onUnstableColumnResize(widthAfterResize, limitWidth, column, getCellActualWidth);\n doUpdateResizableWidth(column, limitWidth);\n }\n return {\n cellElsRef,\n componentId,\n mergedSortState: mergedSortStateRef,\n mergedClsPrefix: mergedClsPrefixRef,\n scrollX: scrollXRef,\n fixedColumnLeftMap: fixedColumnLeftMapRef,\n fixedColumnRightMap: fixedColumnRightMapRef,\n currentPage: mergedCurrentPageRef,\n allRowsChecked: allRowsCheckedRef,\n someRowsChecked: someRowsCheckedRef,\n rows: rowsRef,\n cols: colsRef,\n mergedTheme: mergedThemeRef,\n checkOptions: checkOptionsRef,\n mergedTableLayout: mergedTableLayoutRef,\n headerCheckboxDisabled: headerCheckboxDisabledRef,\n handleCheckboxUpdateChecked,\n handleColHeaderClick,\n handleTableHeaderScroll,\n handleColumnResizeStart,\n handleColumnResize\n };\n },\n render() {\n const { cellElsRef, mergedClsPrefix, fixedColumnLeftMap, fixedColumnRightMap, currentPage, allRowsChecked, someRowsChecked, rows, cols, mergedTheme, checkOptions, componentId, discrete, mergedTableLayout, headerCheckboxDisabled, mergedSortState, handleColHeaderClick, handleCheckboxUpdateChecked, handleColumnResizeStart, handleColumnResize } = this;\n let hasEllipsis = false;\n const theadVNode = (h(\"thead\", { class: `${mergedClsPrefix}-data-table-thead`, \"data-n-id\": componentId }, rows.map((row) => {\n return (h(\"tr\", { class: `${mergedClsPrefix}-data-table-tr` }, row.map(({ column, colSpan, rowSpan, isLast }) => {\n var _a, _b;\n const key = getColKey(column);\n const { ellipsis } = column;\n if (!hasEllipsis && ellipsis)\n hasEllipsis = true;\n const createColumnVNode = () => {\n if (column.type === 'selection') {\n return column.multiple !== false ? (h(Fragment, null,\n h(NCheckbox, { key: currentPage, privateInsideTable: true, checked: allRowsChecked, indeterminate: someRowsChecked, disabled: headerCheckboxDisabled, onUpdateChecked: handleCheckboxUpdateChecked }),\n checkOptions ? (h(SelectionMenu, { clsPrefix: mergedClsPrefix })) : null)) : null;\n }\n return (h(Fragment, null,\n h(\"div\", { class: `${mergedClsPrefix}-data-table-th__title-wrapper` },\n h(\"div\", { class: `${mergedClsPrefix}-data-table-th__title` }, ellipsis === true ||\n (ellipsis && !ellipsis.tooltip) ? (h(\"div\", { class: `${mergedClsPrefix}-data-table-th__ellipsis` }, renderTitle(column))) // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n : ellipsis && typeof ellipsis === 'object' ? (h(NEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), {\n default: () => renderTitle(column)\n })) : (renderTitle(column))),\n isColumnSortable(column) ? (h(SortButton, { column: column })) : null),\n isColumnFilterable(column) ? (h(FilterButton, { column: column, options: column.filterOptions })) : null,\n isColumnResizable(column) ? (h(ResizeButton, { onResizeStart: () => {\n handleColumnResizeStart(column);\n }, onResize: (displacementX) => {\n handleColumnResize(column, displacementX);\n } })) : null));\n };\n const leftFixed = key in fixedColumnLeftMap;\n const rightFixed = key in fixedColumnRightMap;\n return (h(\"th\", { ref: (el) => (cellElsRef[key] = el), key: key, style: {\n textAlign: column.titleAlign || column.align,\n left: pxfy((_a = fixedColumnLeftMap[key]) === null || _a === void 0 ? void 0 : _a.start),\n right: pxfy((_b = fixedColumnRightMap[key]) === null || _b === void 0 ? void 0 : _b.start)\n }, colspan: colSpan, rowspan: rowSpan, \"data-col-key\": key, class: [\n `${mergedClsPrefix}-data-table-th`,\n (leftFixed || rightFixed) &&\n `${mergedClsPrefix}-data-table-th--fixed-${leftFixed ? 'left' : 'right'}`,\n {\n [`${mergedClsPrefix}-data-table-th--hover`]: isColumnSorting(column, mergedSortState),\n [`${mergedClsPrefix}-data-table-th--filterable`]: isColumnFilterable(column),\n [`${mergedClsPrefix}-data-table-th--sortable`]: isColumnSortable(column),\n [`${mergedClsPrefix}-data-table-th--selection`]: column.type === 'selection',\n [`${mergedClsPrefix}-data-table-th--last`]: isLast\n },\n column.className\n ], onClick: column.type !== 'selection' &&\n column.type !== 'expand' &&\n !('children' in column)\n ? (e) => {\n handleColHeaderClick(e, column);\n }\n : undefined }, createColumnVNode()));\n })));\n })));\n if (!discrete) {\n return theadVNode;\n }\n const { handleTableHeaderScroll, scrollX } = this;\n return (h(\"div\", { class: `${mergedClsPrefix}-data-table-base-table-header`, onScroll: handleTableHeaderScroll },\n h(\"table\", { ref: \"body\", class: `${mergedClsPrefix}-data-table-table`, style: {\n minWidth: formatLength(scrollX),\n tableLayout: mergedTableLayout\n } },\n h(\"colgroup\", null, cols.map((col) => (h(\"col\", { key: col.key, style: col.style })))),\n theadVNode)));\n }\n});\n","import { defineComponent, h } from 'vue';\nimport { get } from 'lodash-es';\nimport NEllipsis from '../../../ellipsis/src/Ellipsis';\nimport { NPerformantEllipsis } from '../../../ellipsis/src/PerformantEllipsis';\nexport default defineComponent({\n name: 'DataTableCell',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n row: {\n type: Object,\n required: true\n },\n index: {\n type: Number,\n required: true\n },\n column: {\n type: Object,\n required: true\n },\n isSummary: Boolean,\n mergedTheme: {\n type: Object,\n required: true\n },\n renderCell: Function\n },\n render() {\n const { isSummary, column, row, renderCell } = this;\n let cell;\n const { render, key, ellipsis } = column;\n if (render && !isSummary) {\n cell = render(row, this.index);\n }\n else {\n if (isSummary) {\n cell = row[key].value;\n }\n else {\n cell = renderCell\n ? renderCell(get(row, key), row, column)\n : get(row, key);\n }\n }\n if (ellipsis) {\n if (typeof ellipsis === 'object') {\n const { mergedTheme } = this;\n if (column.ellipsisComponent === 'performant-ellipsis') {\n return (h(NPerformantEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), { default: () => cell }));\n }\n return (h(NEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), { default: () => cell }));\n }\n else {\n return (h(\"span\", { class: `${this.clsPrefix}-data-table-td__ellipsis` }, cell));\n }\n }\n return cell;\n }\n});\n","import { h, defineComponent } from 'vue';\nimport { ChevronRightIcon } from '../../../_internal/icons';\nimport { NBaseIcon, NBaseLoading, NIconSwitchTransition } from '../../../_internal';\nexport default defineComponent({\n name: 'DataTableExpandTrigger',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n expanded: Boolean,\n loading: Boolean,\n onClick: {\n type: Function,\n required: true\n },\n renderExpandIcon: {\n type: Function\n }\n },\n render() {\n const { clsPrefix } = this;\n return (h(\"div\", { class: [\n `${clsPrefix}-data-table-expand-trigger`,\n this.expanded && `${clsPrefix}-data-table-expand-trigger--expanded`\n ], onClick: this.onClick, onMousedown: (e) => {\n e.preventDefault();\n } },\n h(NIconSwitchTransition, null, {\n default: () => {\n return this.loading ? (h(NBaseLoading, { key: \"loading\", clsPrefix: this.clsPrefix, radius: 85, strokeWidth: 15, scale: 0.88 })) : this.renderExpandIcon ? (this.renderExpandIcon({\n expanded: this.expanded\n })) : (h(NBaseIcon, { clsPrefix: clsPrefix, key: \"base-icon\" }, {\n default: () => h(ChevronRightIcon, null)\n }));\n }\n })));\n }\n});\n","import { defineComponent, h, inject } from 'vue';\nimport { NCheckbox } from '../../../checkbox';\nimport { dataTableInjectionKey } from '../interface';\n// Extract the checkbox to avoid useless rendering in table body\nexport default defineComponent({\n name: 'DataTableBodyCheckbox',\n props: {\n rowKey: {\n type: [String, Number],\n required: true\n },\n disabled: {\n type: Boolean,\n required: true\n },\n onUpdateChecked: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n const { mergedCheckedRowKeySetRef, mergedInderminateRowKeySetRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n return () => {\n const { rowKey } = props;\n return (h(NCheckbox, { privateInsideTable: true, disabled: props.disabled, indeterminate: mergedInderminateRowKeySetRef.value.has(rowKey), checked: mergedCheckedRowKeySetRef.value.has(rowKey), onUpdateChecked: props.onUpdateChecked }));\n };\n }\n});\n","import { defineComponent, h, inject } from 'vue';\nimport { NRadio } from '../../../radio';\nimport { dataTableInjectionKey } from '../interface';\n// Extract the radio to avoid useless rendering in table body\nexport default defineComponent({\n name: 'DataTableBodyRadio',\n props: {\n rowKey: {\n type: [String, Number],\n required: true\n },\n disabled: {\n type: Boolean,\n required: true\n },\n onUpdateChecked: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n const { mergedCheckedRowKeySetRef, componentId\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n return () => {\n const { rowKey } = props;\n return (h(NRadio, { name: componentId, disabled: props.disabled, checked: mergedCheckedRowKeySetRef.value.has(rowKey), onUpdateChecked: props.onUpdateChecked }));\n };\n }\n});\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, ref, defineComponent, inject, watchEffect, onUnmounted, computed, Fragment } from 'vue';\nimport { pxfy, repeat } from 'seemly';\nimport { VirtualList, VResizeObserver } from 'vueuc';\nimport { useMemo } from 'vooks';\nimport { cssrAnchorMetaName } from '../../../_mixins/common';\nimport { c } from '../../../_utils/cssr';\nimport { NScrollbar } from '../../../_internal';\nimport { formatLength, resolveSlot, warn } from '../../../_utils';\nimport { NEmpty } from '../../../empty';\nimport { dataTableInjectionKey } from '../interface';\nimport { createRowClassName, getColKey, isColumnSorting } from '../utils';\nimport Cell from './Cell';\nimport ExpandTrigger from './ExpandTrigger';\nimport RenderSafeCheckbox from './BodyCheckbox';\nimport RenderSafeRadio from './BodyRadio';\nimport TableHeader from './Header';\nfunction flatten(rowInfos, expandedRowKeys) {\n const fRows = [];\n function traverse(rs, rootIndex) {\n rs.forEach((r) => {\n if (r.children && expandedRowKeys.has(r.key)) {\n fRows.push({\n tmNode: r,\n striped: false,\n key: r.key,\n index: rootIndex\n });\n traverse(r.children, rootIndex);\n }\n else {\n fRows.push({\n key: r.key,\n tmNode: r,\n striped: false,\n index: rootIndex\n });\n }\n });\n }\n rowInfos.forEach((rowInfo) => {\n fRows.push(rowInfo);\n const { children } = rowInfo.tmNode;\n if (children && expandedRowKeys.has(rowInfo.key)) {\n traverse(children, rowInfo.index);\n }\n });\n return fRows;\n}\nconst VirtualListItemWrapper = defineComponent({\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n cols: {\n type: Array,\n required: true\n },\n onMouseenter: Function,\n onMouseleave: Function\n },\n render() {\n const { clsPrefix, id, cols, onMouseenter, onMouseleave } = this;\n return (h(\"table\", { style: { tableLayout: 'fixed' }, class: `${clsPrefix}-data-table-table`, onMouseenter: onMouseenter, onMouseleave: onMouseleave },\n h(\"colgroup\", null, cols.map((col) => (h(\"col\", { key: col.key, style: col.style })))),\n h(\"tbody\", { \"data-n-id\": id, class: `${clsPrefix}-data-table-tbody` }, this.$slots)));\n }\n});\nexport default defineComponent({\n name: 'DataTableBody',\n props: {\n onResize: Function,\n showHeader: Boolean,\n flexHeight: Boolean,\n bodyStyle: Object\n },\n setup(props) {\n const { slots: dataTableSlots, bodyWidthRef, mergedExpandedRowKeysRef, mergedClsPrefixRef, mergedThemeRef, scrollXRef, colsRef, paginatedDataRef, rawPaginatedDataRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, rowClassNameRef, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, renderExpandRef, hoverKeyRef, summaryRef, mergedSortStateRef, virtualScrollRef, componentId, mergedTableLayoutRef, childTriggerColIndexRef, indentRef, rowPropsRef, maxHeightRef, stripedRef, loadingRef, onLoadRef, loadingKeySetRef, expandableRef, stickyExpandedRowsRef, renderExpandIconRef, summaryPlacementRef, treeMateRef, scrollbarPropsRef, setHeaderScrollLeft, doUpdateExpandedRowKeys, handleTableBodyScroll, doCheck, doUncheck, renderCell\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const scrollbarInstRef = ref(null);\n const virtualListRef = ref(null);\n const emptyElRef = ref(null);\n const emptyRef = useMemo(() => paginatedDataRef.value.length === 0);\n // If header is not inside & empty is displayed, no table part would be\n // shown. So to collect a body width, we need to put a ref on empty element\n const shouldDisplaySomeTablePartRef = useMemo(() => props.showHeader || !emptyRef.value);\n // If no body is shown, we shouldn't show scrollbar\n const bodyShowHeaderOnlyRef = useMemo(() => {\n return props.showHeader || emptyRef.value;\n });\n let lastSelectedKey = '';\n const mergedExpandedRowKeySetRef = computed(() => {\n return new Set(mergedExpandedRowKeysRef.value);\n });\n function getRowInfo(key) {\n var _a;\n return (_a = treeMateRef.value.getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode;\n }\n function handleCheckboxUpdateChecked(tmNode, checked, shiftKey) {\n const rowInfo = getRowInfo(tmNode.key);\n if (!rowInfo) {\n warn('data-table', `fail to get row data with key ${tmNode.key}`);\n return;\n }\n if (shiftKey) {\n const lastIndex = paginatedDataRef.value.findIndex((item) => item.key === lastSelectedKey);\n if (lastIndex !== -1) {\n const currentIndex = paginatedDataRef.value.findIndex((item) => item.key === tmNode.key);\n const start = Math.min(lastIndex, currentIndex);\n const end = Math.max(lastIndex, currentIndex);\n const rowKeysToCheck = [];\n paginatedDataRef.value.slice(start, end + 1).forEach((r) => {\n if (!r.disabled) {\n rowKeysToCheck.push(r.key);\n }\n });\n if (checked) {\n doCheck(rowKeysToCheck, false, rowInfo);\n }\n else {\n doUncheck(rowKeysToCheck, rowInfo);\n }\n lastSelectedKey = tmNode.key;\n return;\n }\n }\n if (checked) {\n doCheck(tmNode.key, false, rowInfo);\n }\n else {\n doUncheck(tmNode.key, rowInfo);\n }\n lastSelectedKey = tmNode.key;\n }\n function handleRadioUpdateChecked(tmNode) {\n const rowInfo = getRowInfo(tmNode.key);\n if (!rowInfo) {\n warn('data-table', `fail to get row data with key ${tmNode.key}`);\n return;\n }\n doCheck(tmNode.key, true, rowInfo);\n }\n function getScrollContainer() {\n if (!shouldDisplaySomeTablePartRef.value) {\n const { value: emptyEl } = emptyElRef;\n if (emptyEl) {\n return emptyEl;\n }\n else {\n return null;\n }\n }\n if (virtualScrollRef.value) {\n return virtualListContainer();\n }\n const { value } = scrollbarInstRef;\n if (value)\n return value.containerRef;\n return null;\n }\n // For table row with children, tmNode is non-nullable\n // For table row is expandable but is not tree data, tmNode is null\n function handleUpdateExpanded(key, tmNode) {\n var _a;\n if (loadingKeySetRef.value.has(key))\n return;\n const { value: mergedExpandedRowKeys } = mergedExpandedRowKeysRef;\n const index = mergedExpandedRowKeys.indexOf(key);\n const nextExpandedKeys = Array.from(mergedExpandedRowKeys);\n if (~index) {\n nextExpandedKeys.splice(index, 1);\n doUpdateExpandedRowKeys(nextExpandedKeys);\n }\n else {\n if (tmNode && !tmNode.isLeaf && !tmNode.shallowLoaded) {\n loadingKeySetRef.value.add(key);\n void ((_a = onLoadRef\n .value) === null || _a === void 0 ? void 0 : _a.call(onLoadRef, tmNode.rawNode).then(() => {\n const { value: futureMergedExpandedRowKeys } = mergedExpandedRowKeysRef;\n const futureNextExpandedKeys = Array.from(futureMergedExpandedRowKeys);\n const index = futureNextExpandedKeys.indexOf(key);\n if (!~index) {\n futureNextExpandedKeys.push(key);\n }\n doUpdateExpandedRowKeys(futureNextExpandedKeys);\n }).finally(() => {\n loadingKeySetRef.value.delete(key);\n }));\n }\n else {\n nextExpandedKeys.push(key);\n doUpdateExpandedRowKeys(nextExpandedKeys);\n }\n }\n }\n function handleMouseleaveTable() {\n hoverKeyRef.value = null;\n }\n function virtualListContainer() {\n const { value } = virtualListRef;\n return (value === null || value === void 0 ? void 0 : value.listElRef) || null;\n }\n function virtualListContent() {\n const { value } = virtualListRef;\n return (value === null || value === void 0 ? void 0 : value.itemsElRef) || null;\n }\n function handleVirtualListScroll(e) {\n var _a;\n handleTableBodyScroll(e);\n (_a = scrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n }\n function handleVirtualListResize(e) {\n var _a;\n const { onResize } = props;\n if (onResize)\n onResize(e);\n (_a = scrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n }\n const exposedMethods = {\n getScrollContainer,\n scrollTo(arg0, arg1) {\n var _a, _b;\n if (virtualScrollRef.value) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_a = virtualListRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_b = scrollbarInstRef.value) === null || _b === void 0 ? void 0 : _b.scrollTo(arg0, arg1);\n }\n }\n };\n // manually control shadow style to avoid rerender\n const style = c([\n ({ props: cProps }) => {\n const createActiveLeftFixedStyle = (leftActiveFixedColKey) => {\n if (leftActiveFixedColKey === null)\n return null;\n return c(`[data-n-id=\"${cProps.componentId}\"] [data-col-key=\"${leftActiveFixedColKey}\"]::after`, { boxShadow: 'var(--n-box-shadow-after)' });\n };\n const createActiveRightFixedStyle = (rightActiveFixedColKey) => {\n if (rightActiveFixedColKey === null)\n return null;\n return c(`[data-n-id=\"${cProps.componentId}\"] [data-col-key=\"${rightActiveFixedColKey}\"]::before`, { boxShadow: 'var(--n-box-shadow-before)' });\n };\n return c([\n createActiveLeftFixedStyle(cProps.leftActiveFixedColKey),\n createActiveRightFixedStyle(cProps.rightActiveFixedColKey),\n cProps.leftActiveFixedChildrenColKeys.map((leftActiveFixedColKey) => createActiveLeftFixedStyle(leftActiveFixedColKey)),\n cProps.rightActiveFixedChildrenColKeys.map((rightActiveFixedColKey) => createActiveRightFixedStyle(rightActiveFixedColKey))\n ]);\n }\n ]);\n let fixedStyleMounted = false;\n watchEffect(() => {\n const { value: leftActiveFixedColKey } = leftActiveFixedColKeyRef;\n const { value: leftActiveFixedChildrenColKeys } = leftActiveFixedChildrenColKeysRef;\n const { value: rightActiveFixedColKey } = rightActiveFixedColKeyRef;\n const { value: rightActiveFixedChildrenColKeys } = rightActiveFixedChildrenColKeysRef;\n if (!fixedStyleMounted &&\n leftActiveFixedColKey === null &&\n rightActiveFixedColKey === null) {\n return;\n }\n const cProps = {\n leftActiveFixedColKey,\n leftActiveFixedChildrenColKeys,\n rightActiveFixedColKey,\n rightActiveFixedChildrenColKeys,\n componentId\n };\n style.mount({\n id: `n-${componentId}`,\n force: true,\n props: cProps,\n anchorMetaName: cssrAnchorMetaName\n });\n fixedStyleMounted = true;\n });\n onUnmounted(() => {\n style.unmount({\n id: `n-${componentId}`\n });\n });\n return Object.assign({ bodyWidth: bodyWidthRef, summaryPlacement: summaryPlacementRef, dataTableSlots,\n componentId,\n scrollbarInstRef,\n virtualListRef,\n emptyElRef, summary: summaryRef, mergedClsPrefix: mergedClsPrefixRef, mergedTheme: mergedThemeRef, scrollX: scrollXRef, cols: colsRef, loading: loadingRef, bodyShowHeaderOnly: bodyShowHeaderOnlyRef, shouldDisplaySomeTablePart: shouldDisplaySomeTablePartRef, empty: emptyRef, paginatedDataAndInfo: computed(() => {\n const { value: striped } = stripedRef;\n let hasChildren = false;\n const data = paginatedDataRef.value.map(striped\n ? (tmNode, index) => {\n if (!tmNode.isLeaf)\n hasChildren = true;\n return {\n tmNode,\n key: tmNode.key,\n striped: index % 2 === 1,\n index\n };\n }\n : (tmNode, index) => {\n if (!tmNode.isLeaf)\n hasChildren = true;\n return {\n tmNode,\n key: tmNode.key,\n striped: false,\n index\n };\n });\n return {\n data,\n hasChildren\n };\n }), rawPaginatedData: rawPaginatedDataRef, fixedColumnLeftMap: fixedColumnLeftMapRef, fixedColumnRightMap: fixedColumnRightMapRef, currentPage: mergedCurrentPageRef, rowClassName: rowClassNameRef, renderExpand: renderExpandRef, mergedExpandedRowKeySet: mergedExpandedRowKeySetRef, hoverKey: hoverKeyRef, mergedSortState: mergedSortStateRef, virtualScroll: virtualScrollRef, mergedTableLayout: mergedTableLayoutRef, childTriggerColIndex: childTriggerColIndexRef, indent: indentRef, rowProps: rowPropsRef, maxHeight: maxHeightRef, loadingKeySet: loadingKeySetRef, expandable: expandableRef, stickyExpandedRows: stickyExpandedRowsRef, renderExpandIcon: renderExpandIconRef, scrollbarProps: scrollbarPropsRef, setHeaderScrollLeft,\n handleVirtualListScroll,\n handleVirtualListResize,\n handleMouseleaveTable,\n virtualListContainer,\n virtualListContent,\n handleTableBodyScroll,\n handleCheckboxUpdateChecked,\n handleRadioUpdateChecked,\n handleUpdateExpanded,\n renderCell }, exposedMethods);\n },\n render() {\n const { mergedTheme, scrollX, mergedClsPrefix, virtualScroll, maxHeight, mergedTableLayout, flexHeight, loadingKeySet, onResize, setHeaderScrollLeft } = this;\n const scrollable = scrollX !== undefined || maxHeight !== undefined || flexHeight;\n // For a basic table with auto layout whose content may overflow we will\n // make it scrollable, which differs from browser's native behavior.\n // For native behavior, see\n // https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout\n const isBasicAutoLayout = !scrollable && mergedTableLayout === 'auto';\n const xScrollable = scrollX !== undefined || isBasicAutoLayout;\n const contentStyle = {\n minWidth: formatLength(scrollX) || '100%'\n };\n if (scrollX)\n contentStyle.width = '100%';\n const tableNode = (h(NScrollbar, Object.assign({}, this.scrollbarProps, { ref: \"scrollbarInstRef\", scrollable: scrollable || isBasicAutoLayout, class: `${mergedClsPrefix}-data-table-base-table-body`, style: this.bodyStyle, theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar, contentStyle: contentStyle, container: virtualScroll ? this.virtualListContainer : undefined, content: virtualScroll ? this.virtualListContent : undefined, horizontalRailStyle: { zIndex: 3 }, verticalRailStyle: { zIndex: 3 }, xScrollable: xScrollable, onScroll: virtualScroll ? undefined : this.handleTableBodyScroll, internalOnUpdateScrollLeft: setHeaderScrollLeft, onResize: onResize }), {\n default: () => {\n // coordinate to pass if there are cells that cross row & col\n const cordToPass = {};\n // coordinate to related hover keys\n const cordKey = {};\n const { cols, paginatedDataAndInfo, mergedTheme, fixedColumnLeftMap, fixedColumnRightMap, currentPage, rowClassName, mergedSortState, mergedExpandedRowKeySet, stickyExpandedRows, componentId, childTriggerColIndex, expandable, rowProps, handleMouseleaveTable, renderExpand, summary, handleCheckboxUpdateChecked, handleRadioUpdateChecked, handleUpdateExpanded } = this;\n const { length: colCount } = cols;\n let mergedData;\n // if there is children in data, we should expand mergedData first\n const { data: paginatedData, hasChildren } = paginatedDataAndInfo;\n const mergedPaginationData = hasChildren\n ? flatten(paginatedData, mergedExpandedRowKeySet)\n : paginatedData;\n if (summary) {\n const summaryRows = summary(this.rawPaginatedData);\n if (Array.isArray(summaryRows)) {\n const summaryRowData = summaryRows.map((row, i) => ({\n isSummaryRow: true,\n key: `__n_summary__${i}`,\n tmNode: {\n rawNode: row,\n disabled: true\n },\n index: -1\n }));\n mergedData =\n this.summaryPlacement === 'top'\n ? [...summaryRowData, ...mergedPaginationData]\n : [...mergedPaginationData, ...summaryRowData];\n }\n else {\n const summaryRowData = {\n isSummaryRow: true,\n key: '__n_summary__',\n tmNode: {\n rawNode: summaryRows,\n disabled: true\n },\n index: -1\n };\n mergedData =\n this.summaryPlacement === 'top'\n ? [summaryRowData, ...mergedPaginationData]\n : [...mergedPaginationData, summaryRowData];\n }\n }\n else {\n mergedData = mergedPaginationData;\n }\n const indentStyle = hasChildren\n ? { width: pxfy(this.indent) }\n : undefined;\n // Tile the data of the expanded row\n const displayedData = [];\n mergedData.forEach((rowInfo) => {\n if (renderExpand &&\n mergedExpandedRowKeySet.has(rowInfo.key) &&\n (!expandable || expandable(rowInfo.tmNode.rawNode))) {\n displayedData.push(rowInfo, {\n isExpandedRow: true,\n key: `${rowInfo.key}-expand`, // solve key repeat of the expanded row\n tmNode: rowInfo.tmNode,\n index: rowInfo.index\n });\n }\n else {\n displayedData.push(rowInfo);\n }\n });\n const { length: rowCount } = displayedData;\n const rowIndexToKey = {};\n paginatedData.forEach(({ tmNode }, rowIndex) => {\n rowIndexToKey[rowIndex] = tmNode.key;\n });\n const bodyWidth = stickyExpandedRows ? this.bodyWidth : null;\n const bodyWidthPx = bodyWidth === null ? undefined : `${bodyWidth}px`;\n const renderRow = (rowInfo, displayedRowIndex, isVirtual) => {\n const { index: actualRowIndex } = rowInfo;\n if ('isExpandedRow' in rowInfo) {\n const { tmNode: { key, rawNode } } = rowInfo;\n return (h(\"tr\", { class: `${mergedClsPrefix}-data-table-tr ${mergedClsPrefix}-data-table-tr--expanded`, key: `${key}__expand` },\n h(\"td\", { class: [\n `${mergedClsPrefix}-data-table-td`,\n `${mergedClsPrefix}-data-table-td--last-col`,\n displayedRowIndex + 1 === rowCount &&\n `${mergedClsPrefix}-data-table-td--last-row`\n ], colspan: colCount }, stickyExpandedRows ? (h(\"div\", { class: `${mergedClsPrefix}-data-table-expand`, style: {\n width: bodyWidthPx\n } }, renderExpand(rawNode, actualRowIndex))) : (renderExpand(rawNode, actualRowIndex)))));\n }\n const isSummary = 'isSummaryRow' in rowInfo;\n const striped = !isSummary && rowInfo.striped;\n const { tmNode, key: rowKey } = rowInfo;\n const { rawNode: rowData } = tmNode;\n const expanded = mergedExpandedRowKeySet.has(rowKey);\n const props = rowProps\n ? rowProps(rowData, actualRowIndex)\n : undefined;\n const mergedRowClassName = typeof rowClassName === 'string'\n ? rowClassName\n : createRowClassName(rowData, actualRowIndex, rowClassName);\n const row = (h(\"tr\", Object.assign({ onMouseenter: () => {\n this.hoverKey = rowKey;\n }, key: rowKey, class: [\n `${mergedClsPrefix}-data-table-tr`,\n isSummary && `${mergedClsPrefix}-data-table-tr--summary`,\n striped && `${mergedClsPrefix}-data-table-tr--striped`,\n expanded && `${mergedClsPrefix}-data-table-tr--expanded`,\n mergedRowClassName\n ] }, props), cols.map((col, colIndex) => {\n var _a, _b, _c, _d, _e;\n if (displayedRowIndex in cordToPass) {\n const cordOfRowToPass = cordToPass[displayedRowIndex];\n const indexInCordOfRowToPass = cordOfRowToPass.indexOf(colIndex);\n if (~indexInCordOfRowToPass) {\n cordOfRowToPass.splice(indexInCordOfRowToPass, 1);\n return null;\n }\n }\n // TODO: Simplify row calculation\n const { column } = col;\n const colKey = getColKey(col);\n const { rowSpan, colSpan } = column;\n const mergedColSpan = isSummary\n ? ((_a = rowInfo.tmNode.rawNode[colKey]) === null || _a === void 0 ? void 0 : _a.colSpan) || 1 // optional for #1276\n : colSpan\n ? colSpan(rowData, actualRowIndex)\n : 1;\n const mergedRowSpan = isSummary\n ? ((_b = rowInfo.tmNode.rawNode[colKey]) === null || _b === void 0 ? void 0 : _b.rowSpan) || 1 // optional for #1276\n : rowSpan\n ? rowSpan(rowData, actualRowIndex)\n : 1;\n const isLastCol = colIndex + mergedColSpan === colCount;\n const isLastRow = displayedRowIndex + mergedRowSpan === rowCount;\n const isCrossRowTd = mergedRowSpan > 1;\n if (isCrossRowTd) {\n cordKey[displayedRowIndex] = {\n [colIndex]: []\n };\n }\n if (mergedColSpan > 1 || isCrossRowTd) {\n for (let i = displayedRowIndex; i < displayedRowIndex + mergedRowSpan; ++i) {\n if (isCrossRowTd) {\n cordKey[displayedRowIndex][colIndex].push(rowIndexToKey[i]);\n }\n for (let j = colIndex; j < colIndex + mergedColSpan; ++j) {\n if (i === displayedRowIndex && j === colIndex) {\n continue;\n }\n if (!(i in cordToPass)) {\n cordToPass[i] = [j];\n }\n else {\n cordToPass[i].push(j);\n }\n }\n }\n }\n const hoverKey = isCrossRowTd ? this.hoverKey : null;\n const { cellProps } = column;\n const resolvedCellProps = cellProps === null || cellProps === void 0 ? void 0 : cellProps(rowData, actualRowIndex);\n const indentOffsetStyle = {\n '--indent-offset': ''\n };\n return (h(\"td\", Object.assign({}, resolvedCellProps, { key: colKey, style: [\n {\n textAlign: column.align || undefined,\n left: pxfy((_c = fixedColumnLeftMap[colKey]) === null || _c === void 0 ? void 0 : _c.start),\n right: pxfy((_d = fixedColumnRightMap[colKey]) === null || _d === void 0 ? void 0 : _d.start)\n },\n indentOffsetStyle,\n (resolvedCellProps === null || resolvedCellProps === void 0 ? void 0 : resolvedCellProps.style) || ''\n ], colspan: mergedColSpan, rowspan: isVirtual ? undefined : mergedRowSpan, \"data-col-key\": colKey, class: [\n `${mergedClsPrefix}-data-table-td`,\n column.className,\n resolvedCellProps === null || resolvedCellProps === void 0 ? void 0 : resolvedCellProps.class,\n isSummary &&\n `${mergedClsPrefix}-data-table-td--summary`,\n ((hoverKey !== null &&\n cordKey[displayedRowIndex][colIndex].includes(hoverKey)) ||\n isColumnSorting(column, mergedSortState)) &&\n `${mergedClsPrefix}-data-table-td--hover`,\n column.fixed &&\n `${mergedClsPrefix}-data-table-td--fixed-${column.fixed}`,\n column.align &&\n `${mergedClsPrefix}-data-table-td--${column.align}-align`,\n column.type === 'selection' &&\n `${mergedClsPrefix}-data-table-td--selection`,\n column.type === 'expand' &&\n `${mergedClsPrefix}-data-table-td--expand`,\n isLastCol &&\n `${mergedClsPrefix}-data-table-td--last-col`,\n isLastRow &&\n `${mergedClsPrefix}-data-table-td--last-row`\n ] }),\n hasChildren && colIndex === childTriggerColIndex\n ? [\n repeat((indentOffsetStyle['--indent-offset'] =\n isSummary ? 0 : rowInfo.tmNode.level), h(\"div\", { class: `${mergedClsPrefix}-data-table-indent`, style: indentStyle })),\n isSummary || rowInfo.tmNode.isLeaf ? (h(\"div\", { class: `${mergedClsPrefix}-data-table-expand-placeholder` })) : (h(ExpandTrigger, { class: `${mergedClsPrefix}-data-table-expand-trigger`, clsPrefix: mergedClsPrefix, expanded: expanded, renderExpandIcon: this.renderExpandIcon, loading: loadingKeySet.has(rowInfo.key), onClick: () => {\n handleUpdateExpanded(rowKey, rowInfo.tmNode);\n } }))\n ]\n : null,\n column.type === 'selection' ? (!isSummary ? (column.multiple === false ? (h(RenderSafeRadio, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: () => {\n handleRadioUpdateChecked(rowInfo.tmNode);\n } })) : (h(RenderSafeCheckbox, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: (checked, e) => {\n handleCheckboxUpdateChecked(rowInfo.tmNode, checked, e.shiftKey);\n } }))) : null) : column.type === 'expand' ? (!isSummary ? (!column.expandable ||\n ((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? (h(ExpandTrigger, { clsPrefix: mergedClsPrefix, expanded: expanded, renderExpandIcon: this.renderExpandIcon, onClick: () => {\n handleUpdateExpanded(rowKey, null);\n } })) : null) : null) : (h(Cell, { clsPrefix: mergedClsPrefix, index: actualRowIndex, row: rowData, column: column, isSummary: isSummary, mergedTheme: mergedTheme, renderCell: this.renderCell }))));\n })));\n return row;\n };\n if (!virtualScroll) {\n return (h(\"table\", { class: `${mergedClsPrefix}-data-table-table`, onMouseleave: handleMouseleaveTable, style: {\n tableLayout: this.mergedTableLayout\n } },\n h(\"colgroup\", null, cols.map((col) => (h(\"col\", { key: col.key, style: col.style })))),\n this.showHeader ? h(TableHeader, { discrete: false }) : null,\n !this.empty ? (h(\"tbody\", { \"data-n-id\": componentId, class: `${mergedClsPrefix}-data-table-tbody` }, displayedData.map((rowInfo, displayedRowIndex) => {\n return renderRow(rowInfo, displayedRowIndex, false);\n }))) : null));\n }\n else {\n return (h(VirtualList, { ref: \"virtualListRef\", items: displayedData, itemSize: 28, visibleItemsTag: VirtualListItemWrapper, visibleItemsProps: {\n clsPrefix: mergedClsPrefix,\n id: componentId,\n cols,\n onMouseleave: handleMouseleaveTable\n }, showScrollbar: false, onResize: this.handleVirtualListResize, onScroll: this.handleVirtualListScroll, itemsStyle: contentStyle, itemResizable: true }, {\n default: ({ item, index }) => renderRow(item, index, true)\n }));\n }\n }\n }));\n if (this.empty) {\n const createEmptyNode = () => (h(\"div\", { class: [\n `${mergedClsPrefix}-data-table-empty`,\n this.loading && `${mergedClsPrefix}-data-table-empty--hide`\n ], style: this.bodyStyle, ref: \"emptyElRef\" }, resolveSlot(this.dataTableSlots.empty, () => [\n h(NEmpty, { theme: this.mergedTheme.peers.Empty, themeOverrides: this.mergedTheme.peerOverrides.Empty })\n ])));\n if (this.shouldDisplaySomeTablePart) {\n return (h(Fragment, null,\n tableNode,\n createEmptyNode()));\n }\n else {\n return (h(VResizeObserver, { onResize: this.onResize }, { default: createEmptyNode }));\n }\n }\n return tableNode;\n }\n});\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, ref, defineComponent, inject, computed, watchEffect } from 'vue';\nimport { formatLength } from '../../_utils';\nimport TableHeader from './TableParts/Header';\nimport TableBody from './TableParts/Body';\nimport { dataTableInjectionKey } from './interface';\nexport default defineComponent({\n setup() {\n const { mergedClsPrefixRef, rightFixedColumnsRef, leftFixedColumnsRef, bodyWidthRef, maxHeightRef, minHeightRef, flexHeightRef, syncScrollState\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const headerInstRef = ref(null);\n const bodyInstRef = ref(null);\n const selfElRef = ref(null);\n const fixedStateInitializedRef = ref(!(leftFixedColumnsRef.value.length || rightFixedColumnsRef.value.length));\n const bodyStyleRef = computed(() => {\n return {\n maxHeight: formatLength(maxHeightRef.value),\n minHeight: formatLength(minHeightRef.value)\n };\n });\n function handleBodyResize(entry) {\n bodyWidthRef.value = entry.contentRect.width;\n syncScrollState();\n if (!fixedStateInitializedRef.value) {\n fixedStateInitializedRef.value = true;\n }\n }\n function getHeaderElement() {\n const { value } = headerInstRef;\n if (value) {\n return value.$el;\n }\n return null;\n }\n function getBodyElement() {\n const { value } = bodyInstRef;\n if (value) {\n return value.getScrollContainer();\n }\n return null;\n }\n const exposedMethods = {\n getBodyElement,\n getHeaderElement,\n scrollTo(arg0, arg1) {\n var _a;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_a = bodyInstRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n };\n watchEffect(() => {\n const { value: selfEl } = selfElRef;\n if (!selfEl)\n return;\n const transitionDisabledClass = `${mergedClsPrefixRef.value}-data-table-base-table--transition-disabled`;\n if (fixedStateInitializedRef.value) {\n setTimeout(() => {\n selfEl.classList.remove(transitionDisabledClass);\n }, 0);\n }\n else {\n selfEl.classList.add(transitionDisabledClass);\n }\n });\n return Object.assign({ maxHeight: maxHeightRef, mergedClsPrefix: mergedClsPrefixRef, selfElRef,\n headerInstRef,\n bodyInstRef, bodyStyle: bodyStyleRef, flexHeight: flexHeightRef, handleBodyResize }, exposedMethods);\n },\n render() {\n const { mergedClsPrefix, maxHeight, flexHeight } = this;\n const headerInBody = maxHeight === undefined && !flexHeight;\n return (h(\"div\", { class: `${mergedClsPrefix}-data-table-base-table`, ref: \"selfElRef\" },\n headerInBody ? null : h(TableHeader, { ref: \"headerInstRef\" }),\n h(TableBody, { ref: \"bodyInstRef\", bodyStyle: this.bodyStyle, showHeader: headerInBody, flexHeight: flexHeight, onResize: this.handleBodyResize })));\n }\n});\n","import { computed, ref } from 'vue';\nimport { call } from '../../_utils';\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useCheck(props, data) {\n const { paginatedDataRef, treeMateRef, selectionColumnRef } = data;\n const uncontrolledCheckedRowKeysRef = ref(props.defaultCheckedRowKeys);\n const mergedCheckState = computed(() => {\n var _a;\n const { checkedRowKeys } = props;\n const sourceKeys = checkedRowKeys === undefined\n ? uncontrolledCheckedRowKeysRef.value\n : checkedRowKeys;\n if (((_a = selectionColumnRef.value) === null || _a === void 0 ? void 0 : _a.multiple) === false) {\n return {\n checkedKeys: sourceKeys.slice(0, 1),\n indeterminateKeys: []\n };\n }\n return treeMateRef.value.getCheckedKeys(sourceKeys, {\n cascade: props.cascade,\n allowNotLoaded: props.allowCheckingNotLoaded\n });\n });\n const mergedCheckedRowKeysRef = computed(() => mergedCheckState.value.checkedKeys);\n const mergedInderminateRowKeysRef = computed(() => mergedCheckState.value.indeterminateKeys);\n const mergedCheckedRowKeySetRef = computed(() => {\n return new Set(mergedCheckedRowKeysRef.value);\n });\n const mergedInderminateRowKeySetRef = computed(() => {\n return new Set(mergedInderminateRowKeysRef.value);\n });\n const countOfCurrentPageCheckedRowsRef = computed(() => {\n const { value: mergedCheckedRowKeySet } = mergedCheckedRowKeySetRef;\n return paginatedDataRef.value.reduce((total, tmNode) => {\n const { key, disabled } = tmNode;\n return total + (!disabled && mergedCheckedRowKeySet.has(key) ? 1 : 0);\n }, 0);\n });\n const countOfCurrentPageDisabledRowsRef = computed(() => {\n return paginatedDataRef.value.filter((item) => item.disabled).length;\n });\n const someRowsCheckedRef = computed(() => {\n const { length } = paginatedDataRef.value;\n const { value: mergedInderminateRowKeySet } = mergedInderminateRowKeySetRef;\n return ((countOfCurrentPageCheckedRowsRef.value > 0 &&\n countOfCurrentPageCheckedRowsRef.value <\n length - countOfCurrentPageDisabledRowsRef.value) ||\n paginatedDataRef.value.some((rowData) => mergedInderminateRowKeySet.has(rowData.key)));\n });\n const allRowsCheckedRef = computed(() => {\n const { length } = paginatedDataRef.value;\n return (countOfCurrentPageCheckedRowsRef.value !== 0 &&\n countOfCurrentPageCheckedRowsRef.value ===\n length - countOfCurrentPageDisabledRowsRef.value);\n });\n const headerCheckboxDisabledRef = computed(() => {\n return paginatedDataRef.value.length === 0;\n });\n function doUpdateCheckedRowKeys(keys, row, action) {\n const { 'onUpdate:checkedRowKeys': _onUpdateCheckedRowKeys, onUpdateCheckedRowKeys, onCheckedRowKeysChange } = props;\n const rows = [];\n const { value: { getNode } } = treeMateRef;\n keys.forEach((key) => {\n var _a;\n const row = (_a = getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rows.push(row);\n });\n if (_onUpdateCheckedRowKeys) {\n call(_onUpdateCheckedRowKeys, keys, rows, { row, action });\n }\n if (onUpdateCheckedRowKeys) {\n call(onUpdateCheckedRowKeys, keys, rows, { row, action });\n }\n if (onCheckedRowKeysChange) {\n call(onCheckedRowKeysChange, keys, rows, { row, action });\n }\n uncontrolledCheckedRowKeysRef.value = keys;\n }\n function doCheck(rowKey, single = false, rowInfo) {\n if (props.loading)\n return;\n if (single) {\n doUpdateCheckedRowKeys(Array.isArray(rowKey) ? rowKey.slice(0, 1) : [rowKey], rowInfo, 'check');\n return;\n }\n doUpdateCheckedRowKeys(treeMateRef.value.check(rowKey, mergedCheckedRowKeysRef.value, {\n cascade: props.cascade,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, rowInfo, 'check');\n }\n function doUncheck(rowKey, rowInfo) {\n if (props.loading)\n return;\n doUpdateCheckedRowKeys(treeMateRef.value.uncheck(rowKey, mergedCheckedRowKeysRef.value, {\n cascade: props.cascade,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, rowInfo, 'uncheck');\n }\n function doCheckAll(checkWholeTable = false) {\n const { value: column } = selectionColumnRef;\n if (!column || props.loading)\n return;\n const rowKeysToCheck = [];\n (checkWholeTable\n ? treeMateRef.value.treeNodes\n : paginatedDataRef.value).forEach((tmNode) => {\n if (!tmNode.disabled) {\n rowKeysToCheck.push(tmNode.key);\n }\n });\n // alway cascade, to emit correct row keys\n doUpdateCheckedRowKeys(treeMateRef.value.check(rowKeysToCheck, mergedCheckedRowKeysRef.value, {\n cascade: true,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, undefined, 'checkAll');\n }\n function doUncheckAll(checkWholeTable = false) {\n const { value: column } = selectionColumnRef;\n if (!column || props.loading)\n return;\n const rowKeysToUncheck = [];\n (checkWholeTable\n ? treeMateRef.value.treeNodes\n : paginatedDataRef.value).forEach((tmNode) => {\n if (!tmNode.disabled) {\n rowKeysToUncheck.push(tmNode.key);\n }\n });\n // alway cascade, to emit correct row keys\n doUpdateCheckedRowKeys(treeMateRef.value.uncheck(rowKeysToUncheck, mergedCheckedRowKeysRef.value, {\n cascade: true,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, undefined, 'uncheckAll');\n }\n return {\n mergedCheckedRowKeySetRef,\n mergedCheckedRowKeysRef,\n mergedInderminateRowKeySetRef,\n someRowsCheckedRef,\n allRowsCheckedRef,\n headerCheckboxDisabledRef,\n doUpdateCheckedRowKeys,\n doCheckAll,\n doUncheckAll,\n doCheck,\n doUncheck\n };\n}\n","import { computed, ref } from 'vue';\nimport { call } from '../../_utils';\nimport { getFlagOfOrder } from './utils';\nfunction getMultiplePriority(sorter) {\n if (typeof sorter === 'object' && typeof sorter.multiple === 'number') {\n return sorter.multiple;\n }\n return false;\n}\nfunction getSortFunction(sorter, columnKey) {\n if (columnKey &&\n (sorter === undefined ||\n sorter === 'default' ||\n (typeof sorter === 'object' && sorter.compare === 'default'))) {\n return getDefaultSorterFn(columnKey);\n }\n if (typeof sorter === 'function') {\n return sorter;\n }\n if (sorter &&\n typeof sorter === 'object' &&\n sorter.compare &&\n sorter.compare !== 'default') {\n return sorter.compare;\n }\n return false;\n}\nfunction getDefaultSorterFn(columnKey) {\n return (row1, row2) => {\n const value1 = row1[columnKey];\n const value2 = row2[columnKey];\n if (typeof value1 === 'number' && typeof value2 === 'number') {\n return value1 - value2;\n }\n else if (typeof value1 === 'string' && typeof value2 === 'string') {\n return value1.localeCompare(value2);\n }\n return 0;\n };\n}\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useSorter(props, { dataRelatedColsRef, filteredDataRef }) {\n const defaultSortState = [];\n // initialize\n dataRelatedColsRef.value.forEach((column) => {\n var _a;\n if (column.sorter !== undefined) {\n updateSortStatesByNewSortState(defaultSortState, {\n columnKey: column.key,\n sorter: column.sorter,\n order: (_a = column.defaultSortOrder) !== null && _a !== void 0 ? _a : false\n });\n }\n });\n const uncontrolledSortStateRef = ref(defaultSortState);\n const mergedSortStateRef = computed(() => {\n // If one of the columns's sort order is false or 'ascend' or 'descend',\n // the table's controll functionality should work in controlled manner.\n const columnsWithControlledSortOrder = dataRelatedColsRef.value.filter((column) => column.type !== 'selection' &&\n column.sorter !== undefined &&\n (column.sortOrder === 'ascend' ||\n column.sortOrder === 'descend' ||\n column.sortOrder === false));\n // if multiple columns are controlled sortable, then we need to find columns with active sortOrder\n const columnToSort = columnsWithControlledSortOrder.filter((col) => col.sortOrder !== false);\n if (columnToSort.length) {\n return columnToSort.map((column) => {\n return {\n columnKey: column.key,\n // column to sort has controlled sorter\n // sorter && sort order won't be undefined\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n order: column.sortOrder,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n sorter: column.sorter\n };\n });\n }\n // If any column is in controlled mode, the sorting state of the table is\n // in controlled mode\n if (columnsWithControlledSortOrder.length)\n return [];\n const { value: uncontrolledSortState } = uncontrolledSortStateRef;\n if (Array.isArray(uncontrolledSortState)) {\n return uncontrolledSortState;\n }\n else if (uncontrolledSortState) {\n return [uncontrolledSortState];\n }\n else {\n return [];\n }\n });\n const sortedDataRef = computed(() => {\n const activeSorters = mergedSortStateRef.value.slice().sort((a, b) => {\n const item1Priority = getMultiplePriority(a.sorter) || 0;\n const item2Priority = getMultiplePriority(b.sorter) || 0;\n return item2Priority - item1Priority;\n });\n if (activeSorters.length) {\n const filteredData = filteredDataRef.value.slice();\n return filteredData.sort((tmNode1, tmNode2) => {\n let compareResult = 0;\n activeSorters.some((sorterState) => {\n const { columnKey, sorter, order } = sorterState;\n const compareFn = getSortFunction(sorter, columnKey);\n if (compareFn && order) {\n compareResult = compareFn(tmNode1.rawNode, tmNode2.rawNode);\n if (compareResult !== 0) {\n compareResult = compareResult * getFlagOfOrder(order);\n return true;\n }\n }\n return false;\n });\n return compareResult;\n });\n }\n return filteredDataRef.value;\n });\n function getUpdatedSorterState(sortState) {\n let currentSortState = mergedSortStateRef.value.slice();\n // Multiple sorter (if you clicked on a multiple sort column)\n if (sortState && getMultiplePriority(sortState.sorter) !== false) {\n // clear column is not multiple sort\n currentSortState = currentSortState.filter((sortState) => getMultiplePriority(sortState.sorter) !== false);\n updateSortStatesByNewSortState(currentSortState, sortState);\n return currentSortState;\n }\n else if (sortState) {\n // single sorter\n return sortState;\n }\n // no sorter\n return null;\n }\n function deriveNextSorter(sortState) {\n const nextSorterState = getUpdatedSorterState(sortState);\n doUpdateSorter(nextSorterState);\n }\n function doUpdateSorter(sortState) {\n const { 'onUpdate:sorter': _onUpdateSorter, onUpdateSorter, onSorterChange } = props;\n if (_onUpdateSorter) {\n call(_onUpdateSorter, sortState);\n }\n if (onUpdateSorter) {\n call(onUpdateSorter, sortState);\n }\n if (onSorterChange) {\n call(onSorterChange, sortState);\n }\n uncontrolledSortStateRef.value = sortState;\n }\n function sort(columnKey, order = 'ascend') {\n if (!columnKey) {\n clearSorter();\n }\n else {\n const columnToSort = dataRelatedColsRef.value.find((column) => column.type !== 'selection' &&\n column.type !== 'expand' &&\n column.key === columnKey);\n if (!(columnToSort === null || columnToSort === void 0 ? void 0 : columnToSort.sorter))\n return;\n const sorter = columnToSort.sorter;\n deriveNextSorter({\n columnKey,\n sorter,\n order\n });\n }\n }\n function clearSorter() {\n doUpdateSorter(null);\n }\n function updateSortStatesByNewSortState(sortStates, sortState) {\n const index = sortStates.findIndex((state) => (sortState === null || sortState === void 0 ? void 0 : sortState.columnKey) && state.columnKey === sortState.columnKey);\n if (index !== undefined && index >= 0) {\n sortStates[index] = sortState;\n }\n else {\n sortStates.push(sortState);\n }\n }\n return {\n clearSorter,\n sort,\n sortedDataRef,\n mergedSortStateRef,\n deriveNextSorter\n };\n}\n","import { computed, ref } from 'vue';\nimport { useMemo, useMergedState } from 'vooks';\nimport { createTreeMate } from 'treemate';\nimport { call, warn } from '../../_utils';\nimport { createShallowClonedObject } from './utils';\nimport { useSorter } from './use-sorter';\n// useTableData combines filter, sorter and pagination\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useTableData(props, { dataRelatedColsRef }) {\n const selectionColumnRef = computed(() => {\n const getSelectionColumn = (cols) => {\n for (let i = 0; i < cols.length; ++i) {\n const col = cols[i];\n if ('children' in col) {\n return getSelectionColumn(col.children);\n }\n else if (col.type === 'selection') {\n return col;\n }\n }\n return null;\n };\n return getSelectionColumn(props.columns);\n });\n const treeMateRef = computed(() => {\n const { childrenKey } = props;\n return createTreeMate(props.data, {\n ignoreEmptyChildren: true,\n getKey: props.rowKey,\n getChildren: (rowData) => rowData[childrenKey],\n getDisabled: (rowData) => {\n var _a, _b;\n if ((_b = (_a = selectionColumnRef.value) === null || _a === void 0 ? void 0 : _a.disabled) === null || _b === void 0 ? void 0 : _b.call(_a, rowData)) {\n return true;\n }\n return false;\n }\n });\n });\n const childTriggerColIndexRef = useMemo(() => {\n const { columns } = props;\n const { length } = columns;\n let firstContentfulColIndex = null;\n for (let i = 0; i < length; ++i) {\n const col = columns[i];\n if (!col.type && firstContentfulColIndex === null) {\n firstContentfulColIndex = i;\n }\n if ('tree' in col && col.tree) {\n return i;\n }\n }\n return firstContentfulColIndex || 0;\n });\n const uncontrolledFilterStateRef = ref({});\n const uncontrolledCurrentPageRef = ref(1);\n const uncontrolledPageSizeRef = ref(10);\n const mergedFilterStateRef = computed(() => {\n const columnsWithControlledFilter = dataRelatedColsRef.value.filter((column) => {\n return (column.filterOptionValues !== undefined ||\n column.filterOptionValue !== undefined);\n });\n const controlledFilterState = {};\n columnsWithControlledFilter.forEach((column) => {\n var _a;\n if (column.type === 'selection' || column.type === 'expand')\n return;\n if (column.filterOptionValues === undefined) {\n controlledFilterState[column.key] = (_a = column.filterOptionValue) !== null && _a !== void 0 ? _a : null;\n }\n else {\n controlledFilterState[column.key] = column.filterOptionValues;\n }\n });\n const activeFilters = Object.assign(createShallowClonedObject(uncontrolledFilterStateRef.value), controlledFilterState);\n return activeFilters;\n });\n const filteredDataRef = computed(() => {\n const mergedFilterState = mergedFilterStateRef.value;\n const { columns } = props;\n function createDefaultFilter(columnKey) {\n return (filterOptionValue, row) => !!~String(row[columnKey]).indexOf(String(filterOptionValue));\n }\n const { value: { treeNodes: data } } = treeMateRef;\n const columnEntries = [];\n columns.forEach((column) => {\n if (column.type === 'selection' ||\n column.type === 'expand' ||\n 'children' in column) {\n return;\n }\n columnEntries.push([column.key, column]);\n });\n return data\n ? data.filter((tmNode) => {\n const { rawNode: row } = tmNode;\n // traverse all filters\n for (const [columnKey, column] of columnEntries) {\n let activeFilterOptionValues = mergedFilterState[columnKey];\n if (activeFilterOptionValues == null)\n continue;\n if (!Array.isArray(activeFilterOptionValues)) {\n activeFilterOptionValues = [activeFilterOptionValues];\n }\n if (!activeFilterOptionValues.length)\n continue;\n // When async, filter won't be set, so data won't be filtered\n const filter = column.filter === 'default'\n ? createDefaultFilter(columnKey)\n : column.filter;\n if (column && typeof filter === 'function') {\n if (column.filterMode === 'and') {\n if (activeFilterOptionValues.some((filterOptionValue) => !filter(filterOptionValue, row))) {\n return false;\n }\n }\n else {\n if (activeFilterOptionValues.some((filterOptionValue) => filter(filterOptionValue, row))) {\n continue;\n }\n else {\n return false;\n }\n }\n }\n }\n return true;\n })\n : [];\n });\n const { sortedDataRef, deriveNextSorter, mergedSortStateRef, sort, clearSorter } = useSorter(props, {\n dataRelatedColsRef,\n filteredDataRef\n });\n // initialize\n dataRelatedColsRef.value.forEach((column) => {\n var _a;\n if (column.filter) {\n const defaultFilterOptionValues = column.defaultFilterOptionValues;\n if (column.filterMultiple) {\n uncontrolledFilterStateRef.value[column.key] =\n defaultFilterOptionValues || [];\n }\n else if (defaultFilterOptionValues !== undefined) {\n // this branch is for compatibility, someone may use `values` in single filter mode\n uncontrolledFilterStateRef.value[column.key] =\n defaultFilterOptionValues === null ? [] : defaultFilterOptionValues;\n }\n else {\n uncontrolledFilterStateRef.value[column.key] =\n (_a = column.defaultFilterOptionValue) !== null && _a !== void 0 ? _a : null;\n }\n }\n });\n const controlledCurrentPageRef = computed(() => {\n const { pagination } = props;\n if (pagination === false)\n return undefined;\n return pagination.page;\n });\n const controlledPageSizeRef = computed(() => {\n const { pagination } = props;\n if (pagination === false)\n return undefined;\n return pagination.pageSize;\n });\n const _mergedCurrentPageRef = useMergedState(controlledCurrentPageRef, uncontrolledCurrentPageRef);\n const mergedPageSizeRef = useMergedState(controlledPageSizeRef, uncontrolledPageSizeRef);\n const boundedMergedCurrentPageRef = useMemo(() => {\n const page = _mergedCurrentPageRef.value;\n return props.remote\n ? page\n : Math.max(1, Math.min(Math.ceil(filteredDataRef.value.length / mergedPageSizeRef.value), page));\n });\n const mergedPageCountRef = computed(() => {\n const { pagination } = props;\n if (pagination) {\n const { pageCount } = pagination;\n if (pageCount !== undefined)\n return pageCount;\n }\n return undefined;\n });\n const paginatedDataRef = computed(() => {\n if (props.remote)\n return treeMateRef.value.treeNodes;\n if (!props.pagination)\n return sortedDataRef.value;\n const pageSize = mergedPageSizeRef.value;\n const startIndex = (boundedMergedCurrentPageRef.value - 1) * pageSize;\n return sortedDataRef.value.slice(startIndex, startIndex + pageSize);\n });\n const rawPaginatedDataRef = computed(() => {\n return paginatedDataRef.value.map((tmNode) => tmNode.rawNode);\n });\n function mergedOnUpdatePage(page) {\n const { pagination } = props;\n if (pagination) {\n const { onChange, 'onUpdate:page': _onUpdatePage, onUpdatePage } = pagination;\n if (onChange)\n call(onChange, page);\n if (onUpdatePage)\n call(onUpdatePage, page);\n if (_onUpdatePage)\n call(_onUpdatePage, page);\n doUpdatePage(page);\n }\n }\n function mergedOnUpdatePageSize(pageSize) {\n const { pagination } = props;\n if (pagination) {\n const { onPageSizeChange, 'onUpdate:pageSize': _onUpdatePageSize, onUpdatePageSize } = pagination;\n if (onPageSizeChange)\n call(onPageSizeChange, pageSize);\n if (onUpdatePageSize)\n call(onUpdatePageSize, pageSize);\n if (_onUpdatePageSize)\n call(_onUpdatePageSize, pageSize);\n doUpdatePageSize(pageSize);\n }\n }\n const mergedItemCountRef = computed(() => {\n if (props.remote) {\n const { pagination } = props;\n if (pagination) {\n const { itemCount } = pagination;\n if (itemCount !== undefined)\n return itemCount;\n }\n return undefined;\n }\n return filteredDataRef.value.length;\n });\n const mergedPaginationRef = computed(() => {\n return Object.assign(Object.assign({}, props.pagination), { \n // reset deprecated methods\n onChange: undefined, onUpdatePage: undefined, onUpdatePageSize: undefined, onPageSizeChange: undefined, 'onUpdate:page': mergedOnUpdatePage, 'onUpdate:pageSize': mergedOnUpdatePageSize, \n // writing merged props after pagination to avoid\n // pagination[key] === undefined\n // key still exists but value is undefined\n page: boundedMergedCurrentPageRef.value, pageSize: mergedPageSizeRef.value, pageCount: mergedItemCountRef.value === undefined\n ? mergedPageCountRef.value\n : undefined, itemCount: mergedItemCountRef.value });\n });\n function doUpdatePage(page) {\n const { 'onUpdate:page': _onUpdatePage, onPageChange, onUpdatePage } = props;\n if (onUpdatePage)\n call(onUpdatePage, page);\n if (_onUpdatePage)\n call(_onUpdatePage, page);\n if (onPageChange)\n call(onPageChange, page);\n uncontrolledCurrentPageRef.value = page;\n }\n function doUpdatePageSize(pageSize) {\n const { 'onUpdate:pageSize': _onUpdatePageSize, onPageSizeChange, onUpdatePageSize } = props;\n if (onPageSizeChange)\n call(onPageSizeChange, pageSize);\n if (onUpdatePageSize)\n call(onUpdatePageSize, pageSize);\n if (_onUpdatePageSize)\n call(_onUpdatePageSize, pageSize);\n uncontrolledPageSizeRef.value = pageSize;\n }\n function doUpdateFilters(filters, sourceColumn) {\n const { onUpdateFilters, 'onUpdate:filters': _onUpdateFilters, onFiltersChange } = props;\n if (onUpdateFilters)\n call(onUpdateFilters, filters, sourceColumn);\n if (_onUpdateFilters)\n call(_onUpdateFilters, filters, sourceColumn);\n if (onFiltersChange)\n call(onFiltersChange, filters, sourceColumn);\n uncontrolledFilterStateRef.value = filters;\n }\n function onUnstableColumnResize(resizedWidth, limitedWidth, column, getColumnWidth) {\n var _a;\n (_a = props.onUnstableColumnResize) === null || _a === void 0 ? void 0 : _a.call(props, resizedWidth, limitedWidth, column, getColumnWidth);\n }\n function page(page) {\n doUpdatePage(page);\n }\n function clearFilter() {\n clearFilters();\n }\n function clearFilters() {\n filters({});\n }\n function filters(filters) {\n filter(filters);\n }\n function filter(filters) {\n if (!filters) {\n uncontrolledFilterStateRef.value = {};\n }\n else if (filters) {\n uncontrolledFilterStateRef.value = createShallowClonedObject(filters);\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn('data-table', '`filters` is not an object');\n }\n }\n return {\n treeMateRef,\n mergedCurrentPageRef: boundedMergedCurrentPageRef,\n mergedPaginationRef,\n paginatedDataRef,\n rawPaginatedDataRef,\n mergedFilterStateRef,\n mergedSortStateRef,\n hoverKeyRef: ref(null),\n selectionColumnRef,\n childTriggerColIndexRef,\n doUpdateFilters,\n deriveNextSorter,\n doUpdatePageSize,\n doUpdatePage,\n onUnstableColumnResize,\n // exported methods\n filter,\n filters,\n clearFilter,\n clearFilters,\n clearSorter,\n page,\n sort\n };\n}\n","import { beforeNextFrameOnce } from 'seemly';\nimport { computed, watch, ref } from 'vue';\nimport { formatLength } from '../../_utils';\nimport { getNumberColWidth, getColKey } from './utils';\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef }) {\n let lastScrollLeft = 0;\n const scrollPartRef = ref();\n const leftActiveFixedColKeyRef = ref(null);\n const leftActiveFixedChildrenColKeysRef = ref([]);\n const rightActiveFixedColKeyRef = ref(null);\n const rightActiveFixedChildrenColKeysRef = ref([]);\n const styleScrollXRef = computed(() => {\n return formatLength(props.scrollX);\n });\n const leftFixedColumnsRef = computed(() => {\n return props.columns.filter((column) => column.fixed === 'left');\n });\n const rightFixedColumnsRef = computed(() => {\n return props.columns.filter((column) => column.fixed === 'right');\n });\n const fixedColumnLeftMapRef = computed(() => {\n const columns = {};\n let left = 0;\n function traverse(cols) {\n cols.forEach((col) => {\n const positionInfo = { start: left, end: 0 };\n columns[getColKey(col)] = positionInfo;\n if ('children' in col) {\n traverse(col.children);\n positionInfo.end = left;\n }\n else {\n left += getNumberColWidth(col) || 0;\n positionInfo.end = left;\n }\n });\n }\n traverse(leftFixedColumnsRef.value);\n return columns;\n });\n const fixedColumnRightMapRef = computed(() => {\n const columns = {};\n let right = 0;\n function traverse(cols) {\n for (let i = cols.length - 1; i >= 0; --i) {\n const col = cols[i];\n const positionInfo = { start: right, end: 0 };\n columns[getColKey(col)] = positionInfo;\n if ('children' in col) {\n traverse(col.children);\n positionInfo.end = right;\n }\n else {\n right += getNumberColWidth(col) || 0;\n positionInfo.end = right;\n }\n }\n }\n traverse(rightFixedColumnsRef.value);\n return columns;\n });\n function deriveActiveLeftFixedColumn() {\n var _a, _b;\n // target is header element\n const { value: leftFixedColumns } = leftFixedColumnsRef;\n let leftWidth = 0;\n const { value: fixedColumnLeftMap } = fixedColumnLeftMapRef;\n let leftActiveFixedColKey = null;\n for (let i = 0; i < leftFixedColumns.length; ++i) {\n const key = getColKey(leftFixedColumns[i]);\n if (lastScrollLeft > (((_a = fixedColumnLeftMap[key]) === null || _a === void 0 ? void 0 : _a.start) || 0) - leftWidth) {\n leftActiveFixedColKey = key;\n leftWidth = ((_b = fixedColumnLeftMap[key]) === null || _b === void 0 ? void 0 : _b.end) || 0;\n }\n else {\n break;\n }\n }\n leftActiveFixedColKeyRef.value = leftActiveFixedColKey;\n }\n function deriveActiveLeftFixedChildrenColumns() {\n leftActiveFixedChildrenColKeysRef.value = [];\n let activeLeftFixedColumn = props.columns.find((col) => getColKey(col) === leftActiveFixedColKeyRef.value);\n while (activeLeftFixedColumn && 'children' in activeLeftFixedColumn) {\n const length = activeLeftFixedColumn.children.length;\n if (length === 0)\n break;\n const nextActiveLeftFixedColumn = activeLeftFixedColumn.children[length - 1];\n leftActiveFixedChildrenColKeysRef.value.push(getColKey(nextActiveLeftFixedColumn));\n activeLeftFixedColumn = nextActiveLeftFixedColumn;\n }\n }\n function deriveActiveRightFixedColumn() {\n var _a, _b;\n // target is header element\n const { value: rightFixedColumns } = rightFixedColumnsRef;\n const scrollWidth = Number(props.scrollX);\n const { value: tableWidth } = bodyWidthRef;\n if (tableWidth === null)\n return;\n let rightWidth = 0;\n let rightActiveFixedColKey = null;\n const { value: fixedColumnRightMap } = fixedColumnRightMapRef;\n for (let i = rightFixedColumns.length - 1; i >= 0; --i) {\n const key = getColKey(rightFixedColumns[i]);\n if (Math.round(lastScrollLeft +\n (((_a = fixedColumnRightMap[key]) === null || _a === void 0 ? void 0 : _a.start) || 0) +\n tableWidth -\n rightWidth) < scrollWidth) {\n rightActiveFixedColKey = key;\n rightWidth = ((_b = fixedColumnRightMap[key]) === null || _b === void 0 ? void 0 : _b.end) || 0;\n }\n else {\n break;\n }\n }\n rightActiveFixedColKeyRef.value = rightActiveFixedColKey;\n }\n function deriveActiveRightFixedChildrenColumns() {\n rightActiveFixedChildrenColKeysRef.value = [];\n let activeRightFixedColumn = props.columns.find((col) => getColKey(col) === rightActiveFixedColKeyRef.value);\n while (activeRightFixedColumn &&\n 'children' in activeRightFixedColumn &&\n activeRightFixedColumn.children.length) {\n const nextActiveRightFixedColumn = activeRightFixedColumn.children[0];\n rightActiveFixedChildrenColKeysRef.value.push(getColKey(nextActiveRightFixedColumn));\n activeRightFixedColumn = nextActiveRightFixedColumn;\n }\n }\n function getScrollElements() {\n const header = mainTableInstRef.value\n ? mainTableInstRef.value.getHeaderElement()\n : null;\n const body = mainTableInstRef.value\n ? mainTableInstRef.value.getBodyElement()\n : null;\n return {\n header,\n body\n };\n }\n function scrollMainTableBodyToTop() {\n const { body } = getScrollElements();\n if (body) {\n body.scrollTop = 0;\n }\n }\n function handleTableHeaderScroll() {\n if (scrollPartRef.value !== 'body') {\n beforeNextFrameOnce(syncScrollState);\n }\n else {\n scrollPartRef.value = undefined;\n }\n }\n function handleTableBodyScroll(e) {\n var _a;\n (_a = props.onScroll) === null || _a === void 0 ? void 0 : _a.call(props, e);\n if (scrollPartRef.value !== 'head') {\n beforeNextFrameOnce(syncScrollState);\n }\n else {\n scrollPartRef.value = undefined;\n }\n }\n function syncScrollState() {\n // We can't simply use props.scrollX to determine whether the table has\n // need to be sync since user may set column width for each column.\n // Just let it be, the scroll listener won't be triggered for a basic table.\n const { header, body } = getScrollElements();\n if (!body)\n return;\n const { value: tableWidth } = bodyWidthRef;\n if (tableWidth === null)\n return;\n if (props.maxHeight || props.flexHeight) {\n if (!header)\n return;\n // we need to deal with overscroll\n const directionHead = lastScrollLeft - header.scrollLeft;\n scrollPartRef.value = directionHead !== 0 ? 'head' : 'body';\n if (scrollPartRef.value === 'head') {\n lastScrollLeft = header.scrollLeft;\n body.scrollLeft = lastScrollLeft;\n }\n else {\n lastScrollLeft = body.scrollLeft;\n header.scrollLeft = lastScrollLeft;\n }\n }\n else {\n lastScrollLeft = body.scrollLeft;\n }\n deriveActiveLeftFixedColumn();\n deriveActiveLeftFixedChildrenColumns();\n deriveActiveRightFixedColumn();\n deriveActiveRightFixedChildrenColumns();\n }\n function setHeaderScrollLeft(left) {\n const { header } = getScrollElements();\n if (!header)\n return;\n header.scrollLeft = left;\n syncScrollState();\n }\n watch(mergedCurrentPageRef, () => {\n scrollMainTableBodyToTop();\n });\n return {\n styleScrollXRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n leftFixedColumnsRef,\n rightFixedColumnsRef,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n syncScrollState,\n handleTableBodyScroll,\n handleTableHeaderScroll,\n setHeaderScrollLeft\n };\n}\n","import { ref } from 'vue';\nimport { isColumnResizable } from './utils';\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useResizable() {\n const resizableWidthsRef = ref({});\n function getResizableWidth(key) {\n return resizableWidthsRef.value[key];\n }\n function doUpdateResizableWidth(column, width) {\n if (isColumnResizable(column) && 'key' in column) {\n resizableWidthsRef.value[column.key] = width;\n }\n }\n function clearResizableWidth() {\n resizableWidthsRef.value = {};\n }\n return {\n getResizableWidth,\n doUpdateResizableWidth,\n clearResizableWidth\n };\n}\n","import { computed } from 'vue';\nimport { formatLength } from '../../_utils';\nimport { getColKey, createCustomWidthStyle } from './utils';\nfunction getRowsAndCols(columns, getResizableWidth) {\n const rows = [];\n const cols = [];\n const dataRelatedCols = [];\n const rowItemMap = new WeakMap();\n let maxDepth = -1;\n let totalRowSpan = 0;\n let hasEllipsis = false;\n function ensureMaxDepth(columns, currentDepth) {\n if (currentDepth > maxDepth) {\n rows[currentDepth] = [];\n maxDepth = currentDepth;\n }\n for (const column of columns) {\n if ('children' in column) {\n ensureMaxDepth(column.children, currentDepth + 1);\n }\n else {\n const key = 'key' in column ? column.key : undefined;\n cols.push({\n key: getColKey(column),\n style: createCustomWidthStyle(column, key !== undefined ? formatLength(getResizableWidth(key)) : undefined),\n column\n });\n totalRowSpan += 1;\n if (!hasEllipsis) {\n hasEllipsis = !!column.ellipsis;\n }\n dataRelatedCols.push(column);\n }\n }\n }\n ensureMaxDepth(columns, 0);\n let currentLeafIndex = 0;\n function ensureColLayout(columns, currentDepth) {\n let hideUntilIndex = 0;\n columns.forEach((column, index) => {\n var _a;\n if ('children' in column) {\n // do not allow colSpan > 1 for non-leaf th\n // we will execute the calculation logic\n const cachedCurrentLeafIndex = currentLeafIndex;\n const rowItem = {\n column,\n colSpan: 0,\n rowSpan: 1,\n isLast: false\n };\n ensureColLayout(column.children, currentDepth + 1);\n column.children.forEach((childColumn) => {\n var _a, _b;\n rowItem.colSpan += (_b = (_a = rowItemMap.get(childColumn)) === null || _a === void 0 ? void 0 : _a.colSpan) !== null && _b !== void 0 ? _b : 0;\n });\n if (cachedCurrentLeafIndex + rowItem.colSpan === totalRowSpan) {\n rowItem.isLast = true;\n }\n rowItemMap.set(column, rowItem);\n rows[currentDepth].push(rowItem);\n }\n else {\n if (currentLeafIndex < hideUntilIndex) {\n currentLeafIndex += 1;\n return;\n }\n let colSpan = 1;\n if ('titleColSpan' in column) {\n colSpan = (_a = column.titleColSpan) !== null && _a !== void 0 ? _a : 1;\n }\n if (colSpan > 1) {\n hideUntilIndex = currentLeafIndex + colSpan;\n }\n const isLast = currentLeafIndex + colSpan === totalRowSpan;\n const rowItem = {\n column,\n colSpan,\n rowSpan: maxDepth - currentDepth + 1,\n isLast\n };\n rowItemMap.set(column, rowItem);\n rows[currentDepth].push(rowItem);\n currentLeafIndex += 1;\n }\n });\n }\n ensureColLayout(columns, 0);\n return {\n hasEllipsis,\n rows,\n cols,\n dataRelatedCols\n };\n}\nexport function useGroupHeader(props, getResizableWidth) {\n const rowsAndCols = computed(() => getRowsAndCols(props.columns, getResizableWidth));\n return {\n rowsRef: computed(() => rowsAndCols.value.rows),\n colsRef: computed(() => rowsAndCols.value.cols),\n hasEllipsisRef: computed(() => rowsAndCols.value.hasEllipsis),\n dataRelatedColsRef: computed(() => rowsAndCols.value.dataRelatedCols)\n };\n}\n","import { toRef, ref } from 'vue';\nimport { useMemo, useMergedState } from 'vooks';\nimport { call, warn } from '../../_utils';\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useExpand(props, treeMateRef) {\n const renderExpandRef = useMemo(() => {\n for (const col of props.columns) {\n if (col.type === 'expand') {\n if (process.env.NODE_ENV !== 'production' && !col.renderExpand) {\n warn('data-table', 'column with type `expand` has no `renderExpand` prop.');\n }\n return col.renderExpand;\n }\n }\n });\n const expandableRef = useMemo(() => {\n // It's not reactive\n let expandable;\n for (const col of props.columns) {\n if (col.type === 'expand') {\n expandable = col.expandable;\n break;\n }\n }\n return expandable;\n });\n const uncontrolledExpandedRowKeysRef = ref(props.defaultExpandAll\n ? (renderExpandRef === null || renderExpandRef === void 0 ? void 0 : renderExpandRef.value)\n ? (() => {\n const expandedKeys = [];\n treeMateRef.value.treeNodes.forEach((tmNode) => {\n var _a;\n if ((_a = expandableRef.value) === null || _a === void 0 ? void 0 : _a.call(expandableRef, tmNode.rawNode)) {\n expandedKeys.push(tmNode.key);\n }\n });\n return expandedKeys;\n })()\n : treeMateRef.value.getNonLeafKeys()\n : props.defaultExpandedRowKeys);\n const controlledExpandedRowKeysRef = toRef(props, 'expandedRowKeys');\n const stickyExpandedRowsRef = toRef(props, 'stickyExpandedRows');\n const mergedExpandedRowKeysRef = useMergedState(controlledExpandedRowKeysRef, uncontrolledExpandedRowKeysRef);\n function doUpdateExpandedRowKeys(expandedKeys) {\n const { onUpdateExpandedRowKeys, 'onUpdate:expandedRowKeys': _onUpdateExpandedRowKeys } = props;\n if (onUpdateExpandedRowKeys) {\n call(onUpdateExpandedRowKeys, expandedKeys);\n }\n if (_onUpdateExpandedRowKeys) {\n call(_onUpdateExpandedRowKeys, expandedKeys);\n }\n uncontrolledExpandedRowKeysRef.value = expandedKeys;\n }\n return {\n stickyExpandedRowsRef,\n mergedExpandedRowKeysRef,\n renderExpandRef,\n expandableRef,\n doUpdateExpandedRowKeys\n };\n}\n","import { fadeInScaleUpTransition } from '../../../_styles/transitions/fade-in-scale-up.cssr';\nimport { iconSwitchTransition } from '../../../_styles/transitions/icon-switch.cssr';\nimport { c, cB, cE, cM, cNotM, insideModal, insidePopover } from '../../../_utils/cssr';\nconst fixedColumnStyle = createFixedColumnStyle();\n// vars:\n// --n-font-size\n// --n-th-padding\n// --n-td-padding\n// --n-bezier\n// --n-border-radius\n// --n-line-height\n// --n-border-color\n// --n-border-color-modal\n// --n-border-color-popover\n// --n-th-color\n// --n-th-color-hover\n// --n-th-color-modal\n// --n-th-color-hover-modal\n// --n-th-color-popover\n// --n-th-color-hover-popover\n// --n-td-color\n// --n-td-color-hover\n// --n-td-color-modal\n// --n-td-color-hover-modal\n// --n-td-color-popover\n// --n-td-color-hover-popover\n// --n-th-text-color\n// --n-td-text-color\n// --n-th-font-weight\n// --n-th-button-color-hover\n// --n-th-icon-color\n// --n-th-icon-color-active\n// --n-filter-size\n// --n-action-divider-color\n// --n-action-padding\n// --n-action-button-margin\n// --n-pagination-margin\n// --n-empty-padding\n// --n-sorter-size\n// --n-resizable-container-size\n// --n-resizable-size\n// --n-loading-size\n// --n-loading-color\n// --n-opacity-loading\n// --n-box-shadow-before used in Body.tsx\n// --n-box-shadow-after used in Body.tsx\n// --indent-offset for ellipsis & expand trigger\nexport default c([cB('data-table', `\n width: 100%;\n font-size: var(--n-font-size);\n display: flex;\n flex-direction: column;\n position: relative;\n --n-merged-th-color: var(--n-th-color);\n --n-merged-td-color: var(--n-td-color);\n --n-merged-border-color: var(--n-border-color);\n --n-merged-th-color-hover: var(--n-th-color-hover);\n --n-merged-td-color-hover: var(--n-td-color-hover);\n --n-merged-td-color-striped: var(--n-td-color-striped);\n `, [cB('data-table-wrapper', `\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n `), cM('flex-height', [c('>', [cB('data-table-wrapper', [c('>', [cB('data-table-base-table', `\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n `, [c('>', [cB('data-table-base-table-body', 'flex-basis: 0;', [\n// last-child means there is no empty icon\n// body is a scrollbar, we need to override height 100%\nc('&:last-child', 'flex-grow: 1;')])])])])])])]), c('>', [cB('data-table-loading-wrapper', `\n color: var(--n-loading-color);\n font-size: var(--n-loading-size);\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n transition: color .3s var(--n-bezier);\n display: flex;\n align-items: center;\n justify-content: center;\n `, [fadeInScaleUpTransition({\n originalTransform: 'translateX(-50%) translateY(-50%)'\n})])]), cB('data-table-expand-placeholder', `\n margin-right: 8px;\n display: inline-block;\n width: 16px;\n height: 1px;\n `), cB('data-table-indent', `\n display: inline-block;\n height: 1px;\n `), cB('data-table-expand-trigger', `\n display: inline-flex;\n margin-right: 8px;\n cursor: pointer;\n font-size: 16px;\n vertical-align: -0.2em;\n position: relative;\n width: 16px;\n height: 16px;\n color: var(--n-td-text-color);\n transition: color .3s var(--n-bezier);\n `, [cM('expanded', [cB('icon', 'transform: rotate(90deg);', [iconSwitchTransition({\n originalTransform: 'rotate(90deg)'\n})]), cB('base-icon', 'transform: rotate(90deg);', [iconSwitchTransition({\n originalTransform: 'rotate(90deg)'\n})])]), cB('base-loading', `\n color: var(--n-loading-color);\n transition: color .3s var(--n-bezier);\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `, [iconSwitchTransition()]), cB('icon', `\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `, [iconSwitchTransition()]), cB('base-icon', `\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `, [iconSwitchTransition()])]), cB('data-table-thead', `\n transition: background-color .3s var(--n-bezier);\n background-color: var(--n-merged-th-color);\n `), cB('data-table-tr', `\n box-sizing: border-box;\n background-clip: padding-box;\n transition: background-color .3s var(--n-bezier);\n `, [cB('data-table-expand', `\n position: sticky;\n left: 0;\n overflow: hidden;\n margin: calc(var(--n-th-padding) * -1);\n padding: var(--n-th-padding);\n box-sizing: border-box;\n `), cM('striped', 'background-color: var(--n-merged-td-color-striped);', [cB('data-table-td', 'background-color: var(--n-merged-td-color-striped);')]), cNotM('summary', [c('&:hover', 'background-color: var(--n-merged-td-color-hover);', [c('>', [cB('data-table-td', 'background-color: var(--n-merged-td-color-hover);')])])])]), cB('data-table-th', `\n padding: var(--n-th-padding);\n position: relative;\n text-align: start;\n box-sizing: border-box;\n background-color: var(--n-merged-th-color);\n border-color: var(--n-merged-border-color);\n border-bottom: 1px solid var(--n-merged-border-color);\n color: var(--n-th-text-color);\n transition:\n border-color .3s var(--n-bezier),\n color .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n font-weight: var(--n-th-font-weight);\n `, [cM('filterable', `\n padding-right: 36px;\n `, [cM('sortable', `\n padding-right: calc(var(--n-th-padding) + 36px);\n `)]), fixedColumnStyle, cM('selection', `\n padding: 0;\n text-align: center;\n line-height: 0;\n z-index: 3;\n `), cE('title-wrapper', `\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n max-width: 100%;\n `, [cE('title', `\n flex: 1;\n min-width: 0;\n `)]), cE('ellipsis', `\n display: inline-block;\n vertical-align: bottom;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n `), cM('hover', `\n background-color: var(--n-merged-th-color-hover);\n `), cM('sortable', `\n cursor: pointer;\n `, [cE('ellipsis', `\n max-width: calc(100% - 18px);\n `), c('&:hover', `\n background-color: var(--n-merged-th-color-hover);\n `)]), cB('data-table-sorter', `\n height: var(--n-sorter-size);\n width: var(--n-sorter-size);\n margin-left: 4px;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: -0.2em;\n color: var(--n-th-icon-color);\n transition: color .3s var(--n-bezier);\n `, [cB('base-icon', 'transition: transform .3s var(--n-bezier)'), cM('desc', [cB('base-icon', `\n transform: rotate(0deg);\n `)]), cM('asc', [cB('base-icon', `\n transform: rotate(-180deg);\n `)]), cM('asc, desc', `\n color: var(--n-th-icon-color-active);\n `)]), cB('data-table-resize-button', `\n width: var(--n-resizable-container-size);\n position: absolute;\n top: 0;\n right: calc(var(--n-resizable-container-size) / 2);\n bottom: 0;\n cursor: col-resize;\n user-select: none;\n `, [c('&::after', `\n width: var(--n-resizable-size);\n height: 50%;\n position: absolute;\n top: 50%;\n left: calc(var(--n-resizable-container-size) / 2);\n bottom: 0;\n background-color: var(--n-merged-border-color);\n transform: translateY(-50%);\n transition: background-color .3s var(--n-bezier);\n z-index: 1;\n content: '';\n `), cM('active', [c('&::after', ` \n background-color: var(--n-th-icon-color-active);\n `)]), c('&:hover::after', `\n background-color: var(--n-th-icon-color-active);\n `)]), cB('data-table-filter', `\n position: absolute;\n z-index: auto;\n right: 0;\n width: 36px;\n top: 0;\n bottom: 0;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n font-size: var(--n-filter-size);\n color: var(--n-th-icon-color);\n `, [c('&:hover', `\n background-color: var(--n-th-button-color-hover);\n `), cM('show', `\n background-color: var(--n-th-button-color-hover);\n `), cM('active', `\n background-color: var(--n-th-button-color-hover);\n color: var(--n-th-icon-color-active);\n `)])]), cB('data-table-td', `\n padding: var(--n-td-padding);\n text-align: start;\n box-sizing: border-box;\n border: none;\n background-color: var(--n-merged-td-color);\n color: var(--n-td-text-color);\n border-bottom: 1px solid var(--n-merged-border-color);\n transition:\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n border-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n `, [cM('expand', [cB('data-table-expand-trigger', `\n margin-right: 0;\n `)]), cM('last-row', `\n border-bottom: 0 solid var(--n-merged-border-color);\n `, [\n// make sure there is no overlap between bottom border and\n// fixed column box shadow\nc('&::after', `\n bottom: 0 !important;\n `), c('&::before', `\n bottom: 0 !important;\n `)]), cM('summary', `\n background-color: var(--n-merged-th-color);\n `), cM('hover', `\n background-color: var(--n-merged-td-color-hover);\n `), cE('ellipsis', `\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n vertical-align: bottom;\n max-width: calc(100% - var(--indent-offset, -1.5) * 16px - 24px);\n `), cM('selection, expand', `\n text-align: center;\n padding: 0;\n line-height: 0;\n `), fixedColumnStyle]), cB('data-table-empty', `\n box-sizing: border-box;\n padding: var(--n-empty-padding);\n flex-grow: 1;\n flex-shrink: 0;\n opacity: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity .3s var(--n-bezier);\n `, [cM('hide', `\n opacity: 0;\n `)]), cE('pagination', `\n margin: var(--n-pagination-margin);\n display: flex;\n justify-content: flex-end;\n `), cB('data-table-wrapper', `\n position: relative;\n opacity: 1;\n transition: opacity .3s var(--n-bezier), border-color .3s var(--n-bezier);\n border-top-left-radius: var(--n-border-radius);\n border-top-right-radius: var(--n-border-radius);\n line-height: var(--n-line-height);\n `), cM('loading', [cB('data-table-wrapper', `\n opacity: var(--n-opacity-loading);\n pointer-events: none;\n `)]), cM('single-column', [cB('data-table-td', `\n border-bottom: 0 solid var(--n-merged-border-color);\n `, [c('&::after, &::before', `\n bottom: 0 !important;\n `)])]), cNotM('single-line', [cB('data-table-th', `\n border-right: 1px solid var(--n-merged-border-color);\n `, [cM('last', `\n border-right: 0 solid var(--n-merged-border-color);\n `)]), cB('data-table-td', `\n border-right: 1px solid var(--n-merged-border-color);\n `, [cM('last-col', `\n border-right: 0 solid var(--n-merged-border-color);\n `)])]), cM('bordered', [cB('data-table-wrapper', `\n border: 1px solid var(--n-merged-border-color);\n border-bottom-left-radius: var(--n-border-radius);\n border-bottom-right-radius: var(--n-border-radius);\n overflow: hidden;\n `)]), cB('data-table-base-table', [cM('transition-disabled', [cB('data-table-th', [c('&::after, &::before', 'transition: none;')]), cB('data-table-td', [c('&::after, &::before', 'transition: none;')])])]), cM('bottom-bordered', [cB('data-table-td', [cM('last-row', `\n border-bottom: 1px solid var(--n-merged-border-color);\n `)])]), cB('data-table-table', `\n font-variant-numeric: tabular-nums;\n width: 100%;\n word-break: break-word;\n transition: background-color .3s var(--n-bezier);\n border-collapse: separate;\n border-spacing: 0;\n background-color: var(--n-merged-td-color);\n `), cB('data-table-base-table-header', `\n border-top-left-radius: calc(var(--n-border-radius) - 1px);\n border-top-right-radius: calc(var(--n-border-radius) - 1px);\n z-index: 3;\n overflow: scroll;\n flex-shrink: 0;\n transition: border-color .3s var(--n-bezier);\n scrollbar-width: none;\n `, [c('&::-webkit-scrollbar', `\n width: 0;\n height: 0;\n `)]), cB('data-table-check-extra', `\n transition: color .3s var(--n-bezier);\n color: var(--n-th-icon-color);\n position: absolute;\n font-size: 14px;\n right: -4px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 1;\n `)]), cB('data-table-filter-menu', [cB('scrollbar', `\n max-height: 240px;\n `), cE('group', `\n display: flex;\n flex-direction: column;\n padding: 12px 12px 0 12px;\n `, [cB('checkbox', `\n margin-bottom: 12px;\n margin-right: 0;\n `), cB('radio', `\n margin-bottom: 12px;\n margin-right: 0;\n `)]), cE('action', `\n padding: var(--n-action-padding);\n display: flex;\n flex-wrap: nowrap;\n justify-content: space-evenly;\n border-top: 1px solid var(--n-action-divider-color);\n `, [cB('button', [c('&:not(:last-child)', `\n margin: var(--n-action-button-margin);\n `), c('&:last-child', `\n margin-right: 0;\n `)])]), cB('divider', `\n margin: 0 !important;\n `)]), insideModal(cB('data-table', `\n --n-merged-th-color: var(--n-th-color-modal);\n --n-merged-td-color: var(--n-td-color-modal);\n --n-merged-border-color: var(--n-border-color-modal);\n --n-merged-th-color-hover: var(--n-th-color-hover-modal);\n --n-merged-td-color-hover: var(--n-td-color-hover-modal);\n --n-merged-td-color-striped: var(--n-td-color-striped-modal);\n `)), insidePopover(cB('data-table', `\n --n-merged-th-color: var(--n-th-color-popover);\n --n-merged-td-color: var(--n-td-color-popover);\n --n-merged-border-color: var(--n-border-color-popover);\n --n-merged-th-color-hover: var(--n-th-color-hover-popover);\n --n-merged-td-color-hover: var(--n-td-color-hover-popover);\n --n-merged-td-color-striped: var(--n-td-color-striped-popover);\n `))]);\nfunction createFixedColumnStyle() {\n return [cM('fixed-left', `\n left: 0;\n position: sticky;\n z-index: 2;\n `, [c('&::after', `\n pointer-events: none;\n content: \"\";\n width: 36px;\n display: inline-block;\n position: absolute;\n top: 0;\n bottom: -1px;\n transition: box-shadow .2s var(--n-bezier);\n right: -36px;\n `)]), cM('fixed-right', `\n right: 0;\n position: sticky;\n z-index: 1;\n `, [c('&::before', `\n pointer-events: none;\n content: \"\";\n width: 36px;\n display: inline-block;\n position: absolute;\n top: 0;\n bottom: -1px;\n transition: box-shadow .2s var(--n-bezier);\n left: -36px;\n `)])];\n}","import { h, computed, defineComponent, ref, provide, toRef, Transition, watchEffect } from 'vue';\nimport { createId } from 'seemly';\nimport { useConfig, useLocale, useTheme, useThemeClass } from '../../_mixins';\nimport { NBaseLoading } from '../../_internal';\nimport { NPagination } from '../../pagination';\nimport { createKey, resolveSlot, warnOnce } from '../../_utils';\nimport { dataTableLight } from '../styles';\nimport MainTable from './MainTable';\nimport { useCheck } from './use-check';\nimport { useTableData } from './use-table-data';\nimport { useScroll } from './use-scroll';\nimport { useResizable } from './use-resizable';\nimport { dataTableInjectionKey, dataTableProps } from './interface';\nimport { useGroupHeader } from './use-group-header';\nimport { useExpand } from './use-expand';\nimport style from './styles/index.cssr';\nexport default defineComponent({\n name: 'DataTable',\n alias: ['AdvancedTable'],\n props: dataTableProps,\n setup(props, { slots }) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onPageChange !== undefined) {\n warnOnce('data-table', '`on-page-change` is deprecated, please use `on-update:page` instead.');\n }\n if (props.onPageSizeChange !== undefined) {\n warnOnce('data-table', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');\n }\n if (props.onSorterChange !== undefined) {\n warnOnce('data-table', '`on-sorter-change` is deprecated, please use `on-update:sorter` instead.');\n }\n if (props.onFiltersChange !== undefined) {\n warnOnce('data-table', '`on-filters-change` is deprecated, please use `on-update:filters` instead.');\n }\n if (props.onCheckedRowKeysChange !== undefined) {\n warnOnce('data-table', '`on-checked-row-keys-change` is deprecated, please use `on-update:checked-row-keys` instead.');\n }\n });\n }\n const { mergedBorderedRef, mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);\n const mergedBottomBorderedRef = computed(() => {\n const { bottomBordered } = props;\n // do not add bottom bordered class if bordered is true\n // since border is displayed on wrapper\n if (mergedBorderedRef.value)\n return false;\n if (bottomBordered !== undefined)\n return bottomBordered;\n return true;\n });\n const themeRef = useTheme('DataTable', '-data-table', style, dataTableLight, props, mergedClsPrefixRef);\n const bodyWidthRef = ref(null);\n const mainTableInstRef = ref(null);\n const { getResizableWidth, clearResizableWidth, doUpdateResizableWidth } = useResizable();\n const { rowsRef, colsRef, dataRelatedColsRef, hasEllipsisRef } = useGroupHeader(props, getResizableWidth);\n const { treeMateRef, mergedCurrentPageRef, paginatedDataRef, rawPaginatedDataRef, selectionColumnRef, hoverKeyRef, mergedPaginationRef, mergedFilterStateRef, mergedSortStateRef, childTriggerColIndexRef, doUpdatePage, doUpdateFilters, onUnstableColumnResize, deriveNextSorter, filter, filters, clearFilter, clearFilters, clearSorter, page, sort } = useTableData(props, { dataRelatedColsRef });\n const { doCheckAll, doUncheckAll, doCheck, doUncheck, headerCheckboxDisabledRef, someRowsCheckedRef, allRowsCheckedRef, mergedCheckedRowKeySetRef, mergedInderminateRowKeySetRef } = useCheck(props, {\n selectionColumnRef,\n treeMateRef,\n paginatedDataRef\n });\n const { stickyExpandedRowsRef, mergedExpandedRowKeysRef, renderExpandRef, expandableRef, doUpdateExpandedRowKeys } = useExpand(props, treeMateRef);\n const { handleTableBodyScroll, handleTableHeaderScroll, syncScrollState, setHeaderScrollLeft, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, leftFixedColumnsRef, rightFixedColumnsRef, fixedColumnLeftMapRef, fixedColumnRightMapRef } = useScroll(props, {\n bodyWidthRef,\n mainTableInstRef,\n mergedCurrentPageRef\n });\n const { localeRef } = useLocale('DataTable');\n const mergedTableLayoutRef = computed(() => {\n // Layout\n // virtual |descrete header | ellpisis => fixed\n // = virtual | maxHeight | ellpisis => fixed\n if (props.virtualScroll ||\n props.flexHeight ||\n props.maxHeight !== undefined ||\n hasEllipsisRef.value) {\n return 'fixed';\n }\n return props.tableLayout;\n });\n provide(dataTableInjectionKey, {\n props,\n treeMateRef,\n renderExpandIconRef: toRef(props, 'renderExpandIcon'),\n loadingKeySetRef: ref(new Set()),\n slots,\n indentRef: toRef(props, 'indent'),\n childTriggerColIndexRef,\n bodyWidthRef,\n componentId: createId(),\n hoverKeyRef,\n mergedClsPrefixRef,\n mergedThemeRef: themeRef,\n scrollXRef: computed(() => props.scrollX),\n rowsRef,\n colsRef,\n paginatedDataRef,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n leftFixedColumnsRef,\n rightFixedColumnsRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n mergedCurrentPageRef,\n someRowsCheckedRef,\n allRowsCheckedRef,\n mergedSortStateRef,\n mergedFilterStateRef,\n loadingRef: toRef(props, 'loading'),\n rowClassNameRef: toRef(props, 'rowClassName'),\n mergedCheckedRowKeySetRef,\n mergedExpandedRowKeysRef,\n mergedInderminateRowKeySetRef,\n localeRef,\n expandableRef,\n stickyExpandedRowsRef,\n rowKeyRef: toRef(props, 'rowKey'),\n renderExpandRef,\n summaryRef: toRef(props, 'summary'),\n virtualScrollRef: toRef(props, 'virtualScroll'),\n rowPropsRef: toRef(props, 'rowProps'),\n stripedRef: toRef(props, 'striped'),\n checkOptionsRef: computed(() => {\n const { value: selectionColumn } = selectionColumnRef;\n return selectionColumn === null || selectionColumn === void 0 ? void 0 : selectionColumn.options;\n }),\n rawPaginatedDataRef,\n filterMenuCssVarsRef: computed(() => {\n const { self: { actionDividerColor, actionPadding, actionButtonMargin } } = themeRef.value;\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n return {\n '--n-action-padding': actionPadding,\n '--n-action-button-margin': actionButtonMargin,\n '--n-action-divider-color': actionDividerColor\n };\n }),\n onLoadRef: toRef(props, 'onLoad'),\n mergedTableLayoutRef,\n maxHeightRef: toRef(props, 'maxHeight'),\n minHeightRef: toRef(props, 'minHeight'),\n flexHeightRef: toRef(props, 'flexHeight'),\n headerCheckboxDisabledRef,\n paginationBehaviorOnFilterRef: toRef(props, 'paginationBehaviorOnFilter'),\n summaryPlacementRef: toRef(props, 'summaryPlacement'),\n scrollbarPropsRef: toRef(props, 'scrollbarProps'),\n syncScrollState,\n doUpdatePage,\n doUpdateFilters,\n getResizableWidth,\n onUnstableColumnResize,\n clearResizableWidth,\n doUpdateResizableWidth,\n deriveNextSorter,\n doCheck,\n doUncheck,\n doCheckAll,\n doUncheckAll,\n doUpdateExpandedRowKeys,\n handleTableHeaderScroll,\n handleTableBodyScroll,\n setHeaderScrollLeft,\n renderCell: toRef(props, 'renderCell')\n });\n const exposedMethods = {\n filter,\n filters,\n clearFilters,\n clearSorter,\n page,\n sort,\n clearFilter,\n scrollTo: (arg0, arg1) => {\n var _a;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_a = mainTableInstRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n };\n const cssVarsRef = computed(() => {\n const { size } = props;\n const { common: { cubicBezierEaseInOut }, self: { borderColor, tdColorHover, thColor, thColorHover, tdColor, tdTextColor, thTextColor, thFontWeight, thButtonColorHover, thIconColor, thIconColorActive, filterSize, borderRadius, lineHeight, tdColorModal, thColorModal, borderColorModal, thColorHoverModal, tdColorHoverModal, borderColorPopover, thColorPopover, tdColorPopover, tdColorHoverPopover, thColorHoverPopover, paginationMargin, emptyPadding, boxShadowAfter, boxShadowBefore, sorterSize, resizableContainerSize, resizableSize, loadingColor, loadingSize, opacityLoading, tdColorStriped, tdColorStripedModal, tdColorStripedPopover, [createKey('fontSize', size)]: fontSize, [createKey('thPadding', size)]: thPadding, [createKey('tdPadding', size)]: tdPadding } } = themeRef.value;\n return {\n '--n-font-size': fontSize,\n '--n-th-padding': thPadding,\n '--n-td-padding': tdPadding,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border-radius': borderRadius,\n '--n-line-height': lineHeight,\n '--n-border-color': borderColor,\n '--n-border-color-modal': borderColorModal,\n '--n-border-color-popover': borderColorPopover,\n '--n-th-color': thColor,\n '--n-th-color-hover': thColorHover,\n '--n-th-color-modal': thColorModal,\n '--n-th-color-hover-modal': thColorHoverModal,\n '--n-th-color-popover': thColorPopover,\n '--n-th-color-hover-popover': thColorHoverPopover,\n '--n-td-color': tdColor,\n '--n-td-color-hover': tdColorHover,\n '--n-td-color-modal': tdColorModal,\n '--n-td-color-hover-modal': tdColorHoverModal,\n '--n-td-color-popover': tdColorPopover,\n '--n-td-color-hover-popover': tdColorHoverPopover,\n '--n-th-text-color': thTextColor,\n '--n-td-text-color': tdTextColor,\n '--n-th-font-weight': thFontWeight,\n '--n-th-button-color-hover': thButtonColorHover,\n '--n-th-icon-color': thIconColor,\n '--n-th-icon-color-active': thIconColorActive,\n '--n-filter-size': filterSize,\n '--n-pagination-margin': paginationMargin,\n '--n-empty-padding': emptyPadding,\n '--n-box-shadow-before': boxShadowBefore,\n '--n-box-shadow-after': boxShadowAfter,\n '--n-sorter-size': sorterSize,\n '--n-resizable-container-size': resizableContainerSize,\n '--n-resizable-size': resizableSize,\n '--n-loading-size': loadingSize,\n '--n-loading-color': loadingColor,\n '--n-opacity-loading': opacityLoading,\n '--n-td-color-striped': tdColorStriped,\n '--n-td-color-striped-modal': tdColorStripedModal,\n '--n-td-color-striped-popover': tdColorStripedPopover\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('data-table', computed(() => props.size[0]), cssVarsRef, props)\n : undefined;\n const mergedShowPaginationRef = computed(() => {\n if (!props.pagination)\n return false;\n if (props.paginateSinglePage)\n return true;\n const mergedPagination = mergedPaginationRef.value;\n const { pageCount } = mergedPagination;\n if (pageCount !== undefined)\n return pageCount > 1;\n return (mergedPagination.itemCount &&\n mergedPagination.pageSize &&\n mergedPagination.itemCount > mergedPagination.pageSize);\n });\n return Object.assign({ mainTableInstRef, mergedClsPrefix: mergedClsPrefixRef, mergedTheme: themeRef, paginatedData: paginatedDataRef, mergedBordered: mergedBorderedRef, mergedBottomBordered: mergedBottomBorderedRef, mergedPagination: mergedPaginationRef, mergedShowPagination: mergedShowPaginationRef, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender }, exposedMethods);\n },\n render() {\n const { mergedClsPrefix, themeClass, onRender, $slots, spinProps } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n return (h(\"div\", { class: [\n `${mergedClsPrefix}-data-table`,\n themeClass,\n {\n [`${mergedClsPrefix}-data-table--bordered`]: this.mergedBordered,\n [`${mergedClsPrefix}-data-table--bottom-bordered`]: this.mergedBottomBordered,\n [`${mergedClsPrefix}-data-table--single-line`]: this.singleLine,\n [`${mergedClsPrefix}-data-table--single-column`]: this.singleColumn,\n [`${mergedClsPrefix}-data-table--loading`]: this.loading,\n [`${mergedClsPrefix}-data-table--flex-height`]: this.flexHeight\n }\n ], style: this.cssVars },\n h(\"div\", { class: `${mergedClsPrefix}-data-table-wrapper` },\n h(MainTable, { ref: \"mainTableInstRef\" })),\n this.mergedShowPagination ? (h(\"div\", { class: `${mergedClsPrefix}-data-table__pagination` },\n h(NPagination, Object.assign({ theme: this.mergedTheme.peers.Pagination, themeOverrides: this.mergedTheme.peerOverrides.Pagination, disabled: this.loading }, this.mergedPagination)))) : null,\n h(Transition, { name: \"fade-in-scale-up-transition\" }, {\n default: () => {\n return this.loading ? (h(\"div\", { class: `${mergedClsPrefix}-data-table-loading-wrapper` }, resolveSlot($slots.loading, () => [\n h(NBaseLoading, Object.assign({ clsPrefix: mergedClsPrefix, strokeWidth: 20 }, spinProps))\n ]))) : null;\n }\n })));\n }\n});\n","import type { Directive } from 'vue';\nimport { nextTick } from 'vue';\n\nexport const rect: Directive<HTMLElement, (rect: DOMRect) => void> = {\n async mounted(el, binding) {\n await nextTick();\n binding.value(el.getClientRects()[0]);\n },\n async updated(el, binding) {\n await nextTick();\n binding.value(el.getClientRects()[0]);\n },\n};\n","import type { TableBaseColumn } from 'naive-ui/es/data-table/src/interface';\nimport { shallowReactive, withDirectives, defineCustomElement } from 'vue';\nimport { rect } from './directives';\n\nexport const useAutoWrapWidthColumn = <T,>(data: TableBaseColumn<T>) => {\n const currentCol = shallowReactive<TableBaseColumn<T>>({\n ...data,\n render(rowData, rowIndex) {\n return withDirectives(\n <span class=\"whitespace-nowrap\">\n {data.render?.(rowData, rowIndex)}\n </span>,\n [\n [\n rect,\n (size: DOMRect) => {\n currentCol.width = Math.max(\n Math.ceil(size.width + 16), // 16 是 n-data-table-td 的 左右内边距\n (currentCol.width as number) || 0,\n Number(currentCol.minWidth || 0),\n );\n },\n ],\n ],\n );\n },\n });\n return currentCol;\n};\n","import dayjs from 'dayjs';\nimport type { TableBaseColumn } from 'naive-ui/es/data-table/src/interface';\nimport { shallowReactive } from 'vue';\nimport { useAutoWrapWidthColumn } from './size';\nimport type { Snapshot } from './types';\nimport { getDevice } from './node';\n\nexport const renderDveice = (row: Snapshot) => {\n return `${getDevice(row).manufacturer} Android${\n getDevice(row).release || `13`\n }`;\n};\nexport const useSnapshotColumns = () => {\n const ctimeCol = shallowReactive<TableBaseColumn<Snapshot>>({\n key: `id`,\n title: `创建时间`,\n fixed: 'left',\n width: `130px`,\n sortOrder: false,\n sorter(rowA, rowB) {\n return rowA.id - rowB.id;\n },\n render(row) {\n return dayjs(row.id).format('MM-DD HH:mm:ss');\n },\n });\n\n const deviceCol = useAutoWrapWidthColumn<Snapshot>({\n key: `versionRelease`,\n title: `设备`,\n filterMultiple: true,\n minWidth: 100,\n filter(value, row) {\n return renderDveice(row).includes(value.toString());\n },\n render(row) {\n return renderDveice(row);\n },\n });\n const appNameCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appName`,\n minWidth: 100,\n title: `APP名称`,\n filterMultiple: true,\n filter(value, row) {\n return value.toString() == row.appName;\n },\n render(row) {\n return row.appName;\n },\n });\n const appIdCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appId`,\n title: `ID`,\n minWidth: 100,\n render(row) {\n return row.appId;\n },\n });\n const appVersionCodeCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appVersionCode`,\n title: `版本代码`,\n minWidth: 150,\n render(row) {\n return row.appVersionCode;\n },\n });\n const appVersionNameCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appVersionName`,\n title: `版本号`,\n minWidth: 150,\n render(row) {\n return row.appVersionName;\n },\n });\n\n const activityIdCol = shallowReactive<TableBaseColumn<Snapshot>>({\n key: `activityId`,\n title: `界面ID`,\n filterMultiple: true,\n filter(value, row) {\n return value.toString() == row.activityId;\n },\n render(row) {\n return row.activityId;\n },\n });\n\n const reseColWidth = () => {\n deviceCol.width = void 0;\n appNameCol.width = void 0;\n appIdCol.width = void 0;\n appVersionCodeCol.width = void 0;\n appVersionNameCol.width = void 0;\n };\n return {\n ctimeCol,\n deviceCol,\n appNameCol,\n appIdCol,\n appVersionCodeCol,\n appVersionNameCol,\n activityIdCol,\n reseColWidth,\n };\n};\n"],"names":["smallerSize","size","getTitleAttribute","value","createRefSetter","ref","inst","mergeEventHandlers","handlers","filteredHandlers","handler","e","useDeferredTrue","valueRef","delay","shouldDelayRef","delayedRef","timerId","watch","useKeyboard","options","enabledRef","state","reactive","keydown","keyup","keydownHandler","key","stop","prevent","keyupHandler","setup","on","off","hasInstance","onBeforeMount","onBeforeUnmount","readonly","hiddenAttr","style","c","VOverflow","defineComponent","props","slots","selfRef","counterRef","deriveCounter","self","getCounter","getTail","counter","children","child","containerWidth","childWidths","tail","childWidthSum","overflow","len","i","childWidth","updateCounter","j","restCount","counterWidth","onUpdateCount","onUpdateOverflow","ssrAdapter","useSsrAdapter","cssrAnchorMetaName","onMounted","$slots","nextTick","h","renderSlot","useOnResize","elRef","onResize","el","resizeObserverManager","ArrowDownIcon","BackwardIcon","FinishedIcon","FastBackwardIcon","FastForwardIcon","FilterIcon","ForwardIcon","MoreIcon","FocusDetector","commonVariables$4","vars","borderRadius","popoverColor","textColor3","dividerColor","textColor2","primaryColorPressed","textColorDisabled","primaryColor","opacityDisabled","hoverColor","fontSizeSmall","fontSizeMedium","fontSizeLarge","fontSizeHuge","heightSmall","heightMedium","heightLarge","heightHuge","commonVariables","internalSelectMenuLight","createTheme","commonLight","scrollbarLight","emptyLight","internalSelectMenuLight$1","renderCheckMark","show","clsPrefix","Transition","NBaseIcon","CheckmarkIcon","NSelectOption","pendingTmNodeRef","multipleRef","valueSetRef","renderLabelRef","renderOptionRef","labelFieldRef","valueFieldRef","showCheckmarkRef","nodePropsRef","handleOptionClick","handleOptionMouseEnter","inject","internalSelectionMenuInjectionKey","isPendingRef","useMemo","pendingTmNode","handleClick","tmNode","handleMouseEnter","handleMouseMove","isPending","parent","multiple","optionValue","valueSet","rawNode","isSelected","isGrouped","showCheckmark","nodeProps","renderOption","renderLabel","checkmark","render","attrs","node","NSelectGroupHeader","style$7","cB","cE","cM","cNotM","fadeInScaleUpTransition","NInternalSelectMenu","useTheme","themeRef","toRef","virtualListRef","scrollbarRef","flattenedNodesRef","computed","fIndexGetterRef","createIndexGetter","pendingNodeRef","initPendingNode","treeMate","defaultPendingNode","setPendingTmNode","clearPendingNodeIfInvalid","pendingNode","initPendingNodeWatchStopHandle","scrollToPendingNode","itemSizeRef","depx","createKey","paddingRef","getPadding","emptyRef","tmNodes","doToggle","onToggle","doScroll","onScroll","handleVirtualListScroll","_a","handleVirtualListResize","getPendingTmNode","handleKeyUp","happensIn","handleKeyDown","handleMouseDown","next","prev","_b","fIndex","handleFocusin","handleFocusout","provide","internalSelectionMenuBodyInjectionKey","cssVarsRef","cubicBezierEaseInOut","height","color","groupHeaderTextColor","actionDividerColor","optionTextColorPressed","optionTextColor","optionTextColorDisabled","optionTextColorActive","optionOpacityDisabled","optionCheckColor","actionTextColor","optionColorPending","optionColorActive","loadingColor","loadingSize","optionColorActivePending","fontSize","optionHeight","optionPadding","inlineThemeDisabled","themeClassHandle","useThemeClass","exposedProps","virtualScroll","mergedTheme","themeClass","onRender","resolveWrappedSlot","NInternalLoading","resolveSlot","NEmpty","NScrollbar","VirtualList","NFocusDetector","commonVariables$3","primaryColorHover","infoColor","successColor","warningColor","errorColor","baseColor","borderColor","tagColor","closeIconColor","closeIconColorHover","closeIconColorPressed","fontSizeMini","fontSizeTiny","heightMini","heightTiny","closeColorHover","closeColorPressed","buttonColor2Hover","buttonColor2Pressed","fontWeightStrong","changeColor","tagLight","tagLight$1","commonProps","style$6","tagProps","tagInjectionKey","createInjectionKey","NTag","contentRef","mergedBorderedRef","mergedClsPrefixRef","mergedRtlRef","useConfig","checked","onCheckedChange","onUpdateChecked","_onUpdateChecked","handleCloseClick","onClose","call","tagPublicMethods","textContent","rtlEnabledRef","useRtl","type","textColor","padding","closeMargin","closeMarginRtl","textColorCheckable","textColorHoverCheckable","textColorPressedCheckable","textColorChecked","colorCheckable","colorHoverCheckable","colorPressedCheckable","colorChecked","colorCheckedHover","colorCheckedPressed","closeBorderRadius","colorBordered","closeSize","closeIconSize","typedColor","typeTextColor","border","hash","color2Class","mergedClsPrefix","rtlEnabled","closable","round","avatarNode","iconNode","NBaseClose","commonVars","inputColor","inputColorDisabled","warningColorHover","errorColorHover","iconColor","iconColorDisabled","clearColor","clearColorHover","clearColorPressed","placeholderColor","placeholderColorDisabled","internalSelectionLight","popoverLight","internalSelectionLight$1","style$5","status","NInternalSelection","patternInputMirrorRef","patternInputRef","multipleElRef","singleElRef","patternInputWrapperRef","counterWrapperRef","overflowRef","inputTagElRef","showTagsPopoverRef","patternInputFocusedRef","hoverRef","mergedClearableRef","filterablePlaceholderRef","labelRef","option","selectedRef","syncMirrorWidth","patternInputMirrorEl","patternInputEl","hideInputTag","inputTagEl","showInputTag","doFocus","onFocus","doBlur","onBlur","doDeleteOption","onDeleteOption","doClear","onClear","doPatternInput","onPatternInput","handleClear","handleMouseLeave","handleDeleteOption","handlePatternKeyDown","isComposingRef","selectedOptions","cachedInputEvent","handlePatternInputInput","inputText","handleCompositionStart","handleCompositionEnd","handlePatternInputFocus","handlePatternInputBlur","blur","multipleEl","singleEl","focus","_c","focusInput","blurInput","count","enterTimerId","clearEnterTimer","handleMouseEnterCounter","handleMouseLeaveCounter","onPopoverUpdateShow","watchEffect","patternInputWrapperEl","paddingSingle","paddingMultiple","caretColor","colorDisabled","colorActive","boxShadowFocus","boxShadowActive","boxShadowHover","borderFocus","borderHover","borderActive","arrowColor","arrowColorDisabled","colorActiveWarning","boxShadowFocusWarning","boxShadowActiveWarning","boxShadowHoverWarning","borderWarning","borderFocusWarning","borderHoverWarning","borderActiveWarning","colorActiveError","boxShadowFocusError","boxShadowActiveError","boxShadowHoverError","borderError","borderFocusError","borderHoverError","borderActiveError","clearSize","arrowSize","disabled","filterable","maxTagCount","bordered","renderTag","maxTagCountResponsive","maxTagCountNumeric","useMaxTagCount","suffix","Wrapper","Suffix","body","labelField","createTag","createOriginalTagNodes","input","renderCounter","rest","tags","renderPopover","popoverProps","placeholder","popoverTrigger","Fragment","NPopover","hasInput","showPlaceholder","showSelectedLabel","getIsGroup","getIgnored","patternMatched","pattern","createTmOptions","valueField","childrenField","filterOptions","originalOpts","filter","traverse","filteredOptions","createValOptMap","valOptMap","selectGroupOption","boxShadow2","popselectLight","popselectLight$1","popselectInjectionKey","style$4","panelProps","panelPropKeys","keysOf","NPopselectPanel","NPopselect","treeMateRef","createTreeMate","doUpdateValue","onUpdateValue","_onUpdateValue","onChange","handleToggle","toggle","handleMenuMousedown","getNode","newValue","newOptions","shouldAddValue","v","_onUpdateShow","onUpdateShow","menuBoxShadow","popselectProps","omit","popoverBaseProps","popoverInstRef","syncPosition","setShow","className","onMouseenter","onMouseleave","$attrs","keep","selectLight","selectLight$1","style$3","selectProps","useAdjustedTo","NSelect","namespaceRef","uncontrolledValueRef","controlledValueRef","mergedValueRef","useMergedState","focusedRef","patternRef","filteredOptionsRef","valOptMapRef","localOptionsRef","uncontrolledShowRef","mergedShowRef","triggerRef","followerRef","menuRef","localeRef","useLocale","localizedPlaceholderRef","compitableOptionsRef","useCompitable","emptyArray","createdOptionsRef","beingCreatedOptionsRef","memoValOptMapRef","wrappedFallbackOptionRef","fallbackOption","resolvedFilterRef","label","localOptions","getMergedOptions","values","remote","memoValOptMap","wrappedFallbackOption","selectedOptionsRef","selectedOptionRef","mergedValue","formItem","useFormItem","mergedSizeRef","mergedDisabledRef","mergedStatusRef","nTriggerFormChange","nTriggerFormInput","nTriggerFormBlur","showOnFocus","nTriggerFormFocus","openMenu","doSearch","onSearch","updateMemorizedOptions","doUpdateShow","focusSelectionInput","closeMenu","handleMenuAfterLeave","activeWithoutMenuOpenRef","onTriggerInputFocus","onTriggerInputBlur","handleTriggerClick","handleTriggerBlur","handleTriggerFocus","handleMenuFocus","handleMenuBlur","handleMenuTabOut","handleMenuClickOutside","getPreciseEventTarget","createClearedMultipleSelectValue","handleToggleByTmNode","handleToggleByOption","tag","clearFilterAfterSelect","beingCreatedOptions","beingCreatedOption","createdOptions","changedValue","index","createdOptionIndex","getCreatedOptionIndex","focusSelection","createdOption","handlePatternInput","onCreate","optionBeingCreated","handleMenuScroll","handleKeydown","_d","_e","markEventEffectPerformed","handleTriggerOrMenuResize","exposedMethods","useIsMounted","VBinder","VTarget","VFollower","withDirectives","vShow","clickoutside","commonVariables$2","paginationLight","inputLight","paginationLight$1","createPageItemsInfo","currentPage","pageCount","pageSlot","hasFastBackward","hasFastForward","fastBackwardTo","fastForwardTo","firstPage","lastPage","middleStart","middleEnd","middleDelta","leftSplit","rightSplit","items","createRange","from","to","range","hoverStyleProps","hoverStyleChildren","style$2","paginationProps","NPagination","mergedComponentPropsRef","uncontrolledPageRef","uncontrolledPageSizeRef","defaultPageSize","pageSizeOption","mergedPageRef","mergedPageSizeRef","mergedPageCountRef","itemCount","jumperValueRef","fastForwardActiveRef","fastBackwardActiveRef","showFastForwardMenuRef","showFastBackwardMenuRef","handleFastForwardMouseenter","disableTransitionOneTick","handleFastForwardMouseleave","handleFastBackwardMouseenter","handleFastBackwardMouseleave","handleMenuSelect","doUpdatePage","pageItemsInfo","pageSizeOptionsRef","inputSizeRef","selectSizeRef","startIndexRef","endIndexRef","endIndex","mergedItemCountRef","selfEl","page","_onUpdatePage","onUpdatePage","simple","doUpdatePageSize","pageSize","_onUpdatePageSize","onUpdatePageSize","onPageSizeChange","forward","backward","fastForward","fastBackward","handleSizePickerChange","doQuickJump","handleQuickJumperChange","handlePageItemClick","pageItem","handleJumperInput","buttonBorder","buttonBorderHover","buttonBorderPressed","buttonIconColor","buttonIconColorHover","buttonIconColorPressed","itemTextColor","itemTextColorHover","itemTextColorPressed","itemTextColorActive","itemTextColorDisabled","itemColor","itemColorHover","itemColorPressed","itemColorActive","itemColorActiveHover","itemColorDisabled","itemBorder","itemBorderHover","itemBorderPressed","itemBorderActive","itemBorderDisabled","itemBorderRadius","jumperTextColor","jumperTextColorDisabled","buttonColor","buttonColorHover","buttonColorPressed","itemPadding","itemMargin","inputWidth","selectWidth","inputMargin","selectMargin","jumperFontSize","prefixMargin","suffixMargin","itemSize","buttonIconSize","itemFontSize","itemMarginRtl","inputMarginRtl","cssVars","mergedPage","mergedPageCount","pageItems","showSizePicker","showQuickJumper","locale","inputSize","selectSize","mergedPageSize","pageSizeOptions","jumperValue","prefix","goto","handleBackwardClick","handleForwardClick","renderPrefix","renderSuffix","renderPrev","renderNext","part","NInput","contentNode","pageNode","fastForwardNode","fastBackwardNode","itemNode","commonVariables$1","invertedColor","dropdownLight","dropdownLight$1","cardColor","modalColor","textColor1","tableHeaderColor","tableColorHover","lineHeight","tableColorStriped","composite","dataTableLight","buttonLight","checkboxLight","radioLight","ellipsisLight","dataTableLight$1","NPerformantEllipsis","ellipsisProps","mouseEnteredRef","useMergedClsPrefix","useStyle","lineClamp","mergeProps","createLineClampClass","createCursorClass","Ellipsis","RenderSorter","order","dataTableProps","dataTableInjectionKey","SortButton","mergedSortStateRef","sortStateRef","activeRef","mergedSortOrderRef","sortState","mergedRenderSorterRef","mergedRenderSorter","mergedSortOrder","renderSorterIcon","RenderFilter","active","SELECTION_COL_WIDTH","EXPAND_COL_WIDTH","getNumberColWidth","col","getStringColWidth","formatLength","getColKey","createShallowClonedObject","object","getFlagOfOrder","clampValueFollowCSSRules","min","max","createCustomWidthStyle","column","resizedWidth","width","minWidth","maxWidth","createRowClassName","row","rowClassName","shouldUseArrayInSingleMode","isColumnSortable","isColumnResizable","isColumnFilterable","getNextOrderOf","createNextSorter","currentSortState","isColumnSorting","mergedSortState","NDataTableFilterMenu","mergedThemeRef","temporalValueRef","checkboxGroupValueRef","temporalValue","radioGroupValueRef","doChange","handleChange","handleConfirmClick","handleClearClick","checkboxGroupValue","NCheckboxGroup","NCheckbox","NRadioGroup","NRadio","NButton","createFilterState","currentFilterState","columnKey","mergedFilterValue","nextFilterState","FilterButton","mergedFilterStateRef","filterMenuCssVarsRef","paginationBehaviorOnFilterRef","doUpdateFilters","showPopoverRef","filterStateRef","filterMultipleRef","mergedFilterValueRef","filterValue","mergedRenderFilterRef","handleFilterChange","handleFilterMenuCancel","handleFilterMenuConfirm","mergedRenderFilter","renderFilterIcon","renderFilterMenu","ResizeButton","startX","getMouseX","handleMousedown","alreadyStarted","handleMousemove","handleMouseup","NDropdownDivider","dropdownMenuInjectionKey","dropdownInjectionKey","dropdownOptionInjectionKey","isSubmenuNode","isGroupNode","isDividerNode","isRenderNode","NDropdownOption","NDropdown","hoverKeyRef","keyboardKeyRef","lastToggledSubmenuKeyRef","pendingKeyPathRef","activeKeyPathRef","animatedRef","renderIconRef","childrenFieldRef","menuPropsRef","NDropdownMenu","NPopoverBody","popoverBodyInjectionKey","rawNodeRef","hasSubmenuRef","showSubmenuRef","hoverKey","keyboardKey","lastToggledSubmenuKey","pendingKeyPath","deferredShowSubmenuRef","parentEnteringSubmenuRef","enteringSubmenuRef","handleSubmenuBeforeEnter","handleSubmenuAfterEnter","parentKey","relatedTarget","hasSubmenu","activeKeyPath","k","animated","mergedShowSubmenu","siblingHasIcon","siblingHasSubmenu","renderIcon","scrollable","submenuVNode","submenuNodeProps","builtinProps","optionNodeProps","NIcon","ChevronRightIcon","NDropdownGroupHeader","showIconRef","showIcon","NDropdownGroup","warn","NDropdownRenderOption","rawChild","bodyRef","modalBodyInjectionKey","drawerBodyInjectionKey","menuOptionsNode","NxScrollbar","renderArrow","style$1","dropdownBaseProps","popoverPropKeys","dropdownProps","treemateRef","keyField","tmNodesRef","pendingKeyRef","keyboardEnabledRef","handleKeydownUp","handleKeydownRight","handleKeydownDown","handleKeydownLeft","handleKeydownEnter","handleKeydownEsc","doSelect","clearPendingState","onSelect","getPendingNode","pendingKey","direction","getFirstAvailableNode","nextKeyboardKey","firstNode","currentNode","nextNode","inverted","optionIconSuffixWidth","optionSuffixWidth","optionIconPrefixWidth","optionPrefixWidth","optionIconSize","renderPopoverBody","menuProps","menuNodeProps","allKey","noneKey","createSelectHandler","rawPaginatedDataRef","doCheckAll","doUncheckAll","createDropdownOptions","SelectionMenu","checkOptionsRef","handleSelectRef","optionsRef","ChevronDownIcon","renderTitle","TableHeader","scrollXRef","fixedColumnLeftMapRef","fixedColumnRightMapRef","mergedCurrentPageRef","allRowsCheckedRef","someRowsCheckedRef","rowsRef","colsRef","componentId","mergedTableLayoutRef","headerCheckboxDisabledRef","onUnstableColumnResize","doUpdateResizableWidth","handleTableHeaderScroll","deriveNextSorter","cellElsRef","getCellActualWidth","element","handleCheckboxUpdateChecked","handleColHeaderClick","activeSorter","nextSorter","resizeStartWidthMap","handleColumnResizeStart","handleColumnResize","displacementX","startWidth","widthAfterResize","limitWidth","fixedColumnLeftMap","fixedColumnRightMap","allRowsChecked","someRowsChecked","rows","cols","checkOptions","discrete","mergedTableLayout","headerCheckboxDisabled","theadVNode","colSpan","rowSpan","isLast","ellipsis","createColumnVNode","NEllipsis","leftFixed","rightFixed","pxfy","scrollX","Cell","isSummary","renderCell","cell","get","ExpandTrigger","NIconSwitchTransition","NBaseLoading","RenderSafeCheckbox","mergedCheckedRowKeySetRef","mergedInderminateRowKeySetRef","rowKey","RenderSafeRadio","flatten","rowInfos","expandedRowKeys","fRows","rs","rootIndex","r","rowInfo","VirtualListItemWrapper","id","TableBody","dataTableSlots","bodyWidthRef","mergedExpandedRowKeysRef","paginatedDataRef","rowClassNameRef","leftActiveFixedColKeyRef","leftActiveFixedChildrenColKeysRef","rightActiveFixedColKeyRef","rightActiveFixedChildrenColKeysRef","renderExpandRef","summaryRef","virtualScrollRef","childTriggerColIndexRef","indentRef","rowPropsRef","maxHeightRef","stripedRef","loadingRef","onLoadRef","loadingKeySetRef","expandableRef","stickyExpandedRowsRef","renderExpandIconRef","summaryPlacementRef","scrollbarPropsRef","setHeaderScrollLeft","doUpdateExpandedRowKeys","handleTableBodyScroll","doCheck","doUncheck","scrollbarInstRef","emptyElRef","shouldDisplaySomeTablePartRef","bodyShowHeaderOnlyRef","lastSelectedKey","mergedExpandedRowKeySetRef","getRowInfo","shiftKey","lastIndex","item","currentIndex","start","end","rowKeysToCheck","handleRadioUpdateChecked","getScrollContainer","emptyEl","virtualListContainer","handleUpdateExpanded","mergedExpandedRowKeys","nextExpandedKeys","futureMergedExpandedRowKeys","futureNextExpandedKeys","handleMouseleaveTable","virtualListContent","arg0","arg1","cProps","createActiveLeftFixedStyle","leftActiveFixedColKey","createActiveRightFixedStyle","rightActiveFixedColKey","fixedStyleMounted","leftActiveFixedChildrenColKeys","rightActiveFixedChildrenColKeys","onUnmounted","striped","hasChildren","maxHeight","flexHeight","loadingKeySet","isBasicAutoLayout","xScrollable","contentStyle","tableNode","cordToPass","cordKey","paginatedDataAndInfo","mergedExpandedRowKeySet","stickyExpandedRows","childTriggerColIndex","expandable","rowProps","renderExpand","summary","colCount","mergedData","paginatedData","mergedPaginationData","summaryRows","summaryRowData","indentStyle","displayedData","rowCount","rowIndexToKey","rowIndex","bodyWidth","bodyWidthPx","renderRow","displayedRowIndex","isVirtual","actualRowIndex","rowData","expanded","mergedRowClassName","colIndex","cordOfRowToPass","indexInCordOfRowToPass","colKey","mergedColSpan","mergedRowSpan","isLastCol","isLastRow","isCrossRowTd","cellProps","resolvedCellProps","indentOffsetStyle","repeat","createEmptyNode","VResizeObserver","MainTable","rightFixedColumnsRef","leftFixedColumnsRef","minHeightRef","flexHeightRef","syncScrollState","headerInstRef","bodyInstRef","selfElRef","fixedStateInitializedRef","bodyStyleRef","handleBodyResize","entry","getHeaderElement","getBodyElement","transitionDisabledClass","headerInBody","useCheck","data","selectionColumnRef","uncontrolledCheckedRowKeysRef","mergedCheckState","checkedRowKeys","sourceKeys","mergedCheckedRowKeysRef","mergedInderminateRowKeysRef","countOfCurrentPageCheckedRowsRef","mergedCheckedRowKeySet","total","countOfCurrentPageDisabledRowsRef","length","mergedInderminateRowKeySet","doUpdateCheckedRowKeys","keys","action","_onUpdateCheckedRowKeys","onUpdateCheckedRowKeys","onCheckedRowKeysChange","single","checkWholeTable","rowKeysToUncheck","getMultiplePriority","sorter","getSortFunction","getDefaultSorterFn","row1","row2","value1","value2","useSorter","dataRelatedColsRef","filteredDataRef","defaultSortState","updateSortStatesByNewSortState","uncontrolledSortStateRef","columnsWithControlledSortOrder","columnToSort","uncontrolledSortState","sortedDataRef","activeSorters","a","b","item1Priority","tmNode1","tmNode2","compareResult","sorterState","compareFn","getUpdatedSorterState","nextSorterState","doUpdateSorter","_onUpdateSorter","onUpdateSorter","onSorterChange","sort","clearSorter","sortStates","useTableData","getSelectionColumn","childrenKey","columns","firstContentfulColIndex","uncontrolledFilterStateRef","uncontrolledCurrentPageRef","columnsWithControlledFilter","controlledFilterState","mergedFilterState","createDefaultFilter","filterOptionValue","columnEntries","activeFilterOptionValues","defaultFilterOptionValues","controlledCurrentPageRef","pagination","controlledPageSizeRef","_mergedCurrentPageRef","boundedMergedCurrentPageRef","startIndex","mergedOnUpdatePage","mergedOnUpdatePageSize","mergedPaginationRef","onPageChange","filters","sourceColumn","onUpdateFilters","_onUpdateFilters","onFiltersChange","limitedWidth","getColumnWidth","clearFilter","clearFilters","useScroll","mainTableInstRef","lastScrollLeft","scrollPartRef","styleScrollXRef","left","positionInfo","right","deriveActiveLeftFixedColumn","leftFixedColumns","leftWidth","deriveActiveLeftFixedChildrenColumns","activeLeftFixedColumn","nextActiveLeftFixedColumn","deriveActiveRightFixedColumn","rightFixedColumns","scrollWidth","tableWidth","rightWidth","deriveActiveRightFixedChildrenColumns","activeRightFixedColumn","nextActiveRightFixedColumn","getScrollElements","header","scrollMainTableBodyToTop","beforeNextFrameOnce","directionHead","useResizable","resizableWidthsRef","getResizableWidth","clearResizableWidth","getRowsAndCols","dataRelatedCols","rowItemMap","maxDepth","totalRowSpan","hasEllipsis","ensureMaxDepth","currentDepth","currentLeafIndex","ensureColLayout","hideUntilIndex","cachedCurrentLeafIndex","rowItem","childColumn","useGroupHeader","rowsAndCols","useExpand","uncontrolledExpandedRowKeysRef","expandedKeys","controlledExpandedRowKeysRef","onUpdateExpandedRowKeys","_onUpdateExpandedRowKeys","fixedColumnStyle","createFixedColumnStyle","iconSwitchTransition","insideModal","insidePopover","NDataTable","mergedBottomBorderedRef","bottomBordered","hasEllipsisRef","createId","selectionColumn","actionPadding","actionButtonMargin","tdColorHover","thColor","thColorHover","tdColor","tdTextColor","thTextColor","thFontWeight","thButtonColorHover","thIconColor","thIconColorActive","filterSize","tdColorModal","thColorModal","borderColorModal","thColorHoverModal","tdColorHoverModal","borderColorPopover","thColorPopover","tdColorPopover","tdColorHoverPopover","thColorHoverPopover","paginationMargin","emptyPadding","boxShadowAfter","boxShadowBefore","sorterSize","resizableContainerSize","resizableSize","opacityLoading","tdColorStriped","tdColorStripedModal","tdColorStripedPopover","thPadding","tdPadding","mergedShowPaginationRef","mergedPagination","spinProps","rect","binding","useAutoWrapWidthColumn","currentCol","shallowReactive","_createVNode","Math","ceil","Number","renderDveice","getDevice","manufacturer","release","useSnapshotColumns","ctimeCol","title","fixed","sortOrder","rowA","rowB","dayjs","format","deviceCol","filterMultiple","includes","toString","appNameCol","appName","appIdCol","appId","appVersionCodeCol","appVersionCode","appVersionNameCol","appVersionName","activityIdCol","activityId","reseColWidth"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85]}
|
|
1
|
+
{"version":3,"file":"table-9yAkUXqj.js","sources":["../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/naive/prop.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/naive/attribute.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/vue/create-ref-setter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/vue/merge-handlers.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/composable/use-deferred-true.js","../../node_modules/.pnpm/vooks@0.2.12_vue@3.4.5/node_modules/vooks/es/use-keyboard.js","../../node_modules/.pnpm/vueuc@0.4.58_vue@3.4.5/node_modules/vueuc/es/overflow/src/index.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_utils/composable/use-resize.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/ArrowDown.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/Backward.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/Checkmark.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/FastBackward.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/FastForward.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/Filter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/Forward.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/icons/More.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/focus-detector/src/FocusDetector.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/src/SelectOption.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/src/SelectGroupHeader.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/select-menu/src/SelectMenu.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/src/common-props.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/tag/src/Tag.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/selection/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/selection/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/selection/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/_internal/selection/src/Selection.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/select/src/utils.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/src/interface.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/src/PopselectPanel.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/popselect/src/Popselect.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/select/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/select/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/select/src/Select.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/src/utils.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/pagination/src/Pagination.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/styles/_common.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/styles/light.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/ellipsis/src/PerformantEllipsis.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderSorter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/interface.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/SortButton.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderFilter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/utils.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterMenu.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterButton.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/HeaderButton/ResizeButton.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownDivider.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/context.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/utils.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownOption.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownGroupHeader.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownGroup.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownRenderOption.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/DropdownMenu.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/dropdown/src/Dropdown.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/SelectionMenu.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/Header.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/Cell.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/ExpandTrigger.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/BodyCheckbox.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/BodyRadio.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/TableParts/Body.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/MainTable.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-check.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-sorter.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-table-data.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-scroll.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-resizable.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-group-header.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/use-expand.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/styles/index.cssr.js","../../node_modules/.pnpm/naive-ui@2.36.0_vue@3.4.5/node_modules/naive-ui/es/data-table/src/DataTable.js","../../src/utils/directives.ts","../../src/utils/size.tsx","../../src/utils/table.tsx"],"sourcesContent":["export function largerSize(size) {\n switch (size) {\n case 'tiny':\n return 'small';\n case 'small':\n return 'medium';\n case 'medium':\n return 'large';\n case 'large':\n return 'huge';\n }\n}\nexport function smallerSize(size) {\n switch (size) {\n case 'tiny':\n return 'mini';\n case 'small':\n return 'tiny';\n case 'medium':\n return 'small';\n case 'large':\n return 'medium';\n case 'huge':\n return 'large';\n }\n throw Error(`${size} has no smaller size.`);\n}\n","export function getTitleAttribute(value) {\n switch (typeof value) {\n case 'string':\n // The empty string should also be reset to undefined.\n return value || undefined;\n case 'number':\n return String(value);\n default:\n return undefined;\n }\n}\n","export function createRefSetter(ref) {\n return (inst) => {\n if (inst) {\n ref.value = inst.$el;\n }\n else {\n ref.value = null;\n }\n };\n}\n","export function mergeEventHandlers(handlers) {\n const filteredHandlers = handlers.filter((handler) => handler !== undefined);\n if (filteredHandlers.length === 0)\n return undefined;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (filteredHandlers.length === 1)\n return filteredHandlers[0];\n return (e) => {\n handlers.forEach((handler) => {\n if (handler) {\n handler(e);\n }\n });\n };\n}\n","import { ref, watch } from 'vue';\nexport function useDeferredTrue(valueRef, delay, shouldDelayRef) {\n if (!delay)\n return valueRef;\n const delayedRef = ref(valueRef.value);\n let timerId = null;\n watch(valueRef, (value) => {\n if (timerId !== null)\n window.clearTimeout(timerId);\n if (value === true) {\n if (shouldDelayRef && !shouldDelayRef.value) {\n delayedRef.value = true;\n }\n else {\n timerId = window.setTimeout(() => {\n delayedRef.value = true;\n }, delay);\n }\n }\n else {\n delayedRef.value = false;\n }\n });\n return delayedRef;\n}\n","import { onBeforeMount, onBeforeUnmount, reactive, readonly, watch } from 'vue';\nimport { on, off } from 'evtd';\nimport { hasInstance } from './utils';\nexport default function useKeyboard(options = {}, enabledRef) {\n const state = reactive({\n ctrl: false,\n command: false,\n win: false,\n shift: false,\n tab: false\n });\n const { keydown, keyup } = options;\n const keydownHandler = (e) => {\n switch (e.key) {\n case 'Control':\n state.ctrl = true;\n break;\n case 'Meta':\n state.command = true;\n state.win = true;\n break;\n case 'Shift':\n state.shift = true;\n break;\n case 'Tab':\n state.tab = true;\n break;\n }\n if (keydown !== undefined) {\n Object.keys(keydown).forEach(key => {\n if (key !== e.key)\n return;\n const handler = keydown[key];\n if (typeof handler === 'function') {\n handler(e);\n }\n else {\n const { stop = false, prevent = false } = handler;\n if (stop)\n e.stopPropagation();\n if (prevent)\n e.preventDefault();\n handler.handler(e);\n }\n });\n }\n };\n const keyupHandler = (e) => {\n switch (e.key) {\n case 'Control':\n state.ctrl = false;\n break;\n case 'Meta':\n state.command = false;\n state.win = false;\n break;\n case 'Shift':\n state.shift = false;\n break;\n case 'Tab':\n state.tab = false;\n break;\n }\n if (keyup !== undefined) {\n Object.keys(keyup).forEach(key => {\n if (key !== e.key)\n return;\n const handler = keyup[key];\n if (typeof handler === 'function') {\n handler(e);\n }\n else {\n const { stop = false, prevent = false } = handler;\n if (stop)\n e.stopPropagation();\n if (prevent)\n e.preventDefault();\n handler.handler(e);\n }\n });\n }\n };\n const setup = () => {\n if (enabledRef === undefined || enabledRef.value) {\n on('keydown', document, keydownHandler);\n on('keyup', document, keyupHandler);\n }\n if (enabledRef !== undefined) {\n watch(enabledRef, value => {\n if (value) {\n on('keydown', document, keydownHandler);\n on('keyup', document, keyupHandler);\n }\n else {\n off('keydown', document, keydownHandler);\n off('keyup', document, keyupHandler);\n }\n });\n }\n };\n if (hasInstance()) {\n onBeforeMount(setup);\n onBeforeUnmount(() => {\n if (enabledRef === undefined || enabledRef.value) {\n off('keydown', document, keydownHandler);\n off('keyup', document, keyupHandler);\n }\n });\n }\n else {\n setup();\n }\n return readonly(state);\n}\n","/* eslint-disable @typescript-eslint/strict-boolean-expressions */\nimport { defineComponent, renderSlot, h, onMounted, ref, nextTick } from 'vue';\nimport { useSsrAdapter } from '@css-render/vue3-ssr';\nimport { c, cssrAnchorMetaName } from '../../shared';\nconst hiddenAttr = 'v-hidden';\nconst style = c('[v-hidden]', {\n display: 'none!important'\n});\nexport default defineComponent({\n name: 'Overflow',\n props: {\n getCounter: Function,\n getTail: Function,\n updateCounter: Function,\n onUpdateCount: Function,\n onUpdateOverflow: Function\n },\n setup(props, { slots }) {\n const selfRef = ref(null);\n const counterRef = ref(null);\n function deriveCounter(options) {\n const { value: self } = selfRef;\n const { getCounter, getTail } = props;\n let counter;\n if (getCounter !== undefined)\n counter = getCounter();\n else {\n counter = counterRef.value;\n }\n if (!self || !counter)\n return;\n if (counter.hasAttribute(hiddenAttr)) {\n counter.removeAttribute(hiddenAttr);\n }\n const { children } = self;\n if (options.showAllItemsBeforeCalculate) {\n for (const child of children) {\n if (child.hasAttribute(hiddenAttr)) {\n child.removeAttribute(hiddenAttr);\n }\n }\n }\n const containerWidth = self.offsetWidth;\n const childWidths = [];\n const tail = slots.tail ? getTail === null || getTail === void 0 ? void 0 : getTail() : null;\n let childWidthSum = tail ? tail.offsetWidth : 0;\n let overflow = false;\n const len = self.children.length - (slots.tail ? 1 : 0);\n for (let i = 0; i < len - 1; ++i) {\n if (i < 0)\n continue;\n const child = children[i];\n if (overflow) {\n if (!child.hasAttribute(hiddenAttr)) {\n child.setAttribute(hiddenAttr, '');\n }\n continue;\n }\n else if (child.hasAttribute(hiddenAttr)) {\n child.removeAttribute(hiddenAttr);\n }\n const childWidth = child.offsetWidth;\n childWidthSum += childWidth;\n childWidths[i] = childWidth;\n if (childWidthSum > containerWidth) {\n const { updateCounter } = props;\n for (let j = i; j >= 0; --j) {\n const restCount = len - 1 - j;\n if (updateCounter !== undefined) {\n updateCounter(restCount);\n }\n else {\n counter.textContent = `${restCount}`;\n }\n const counterWidth = counter.offsetWidth;\n childWidthSum -= childWidths[j];\n if (childWidthSum + counterWidth <= containerWidth || j === 0) {\n overflow = true;\n i = j - 1;\n if (tail) {\n // tail too long or 1st element too long\n // we only consider tail now\n if (i === -1) {\n tail.style.maxWidth = `${containerWidth - counterWidth}px`;\n tail.style.boxSizing = 'border-box';\n }\n else {\n tail.style.maxWidth = '';\n }\n }\n const { onUpdateCount } = props;\n if (onUpdateCount)\n onUpdateCount(restCount);\n break;\n }\n }\n }\n }\n const { onUpdateOverflow } = props;\n if (!overflow) {\n if (onUpdateOverflow !== undefined) {\n onUpdateOverflow(false);\n }\n counter.setAttribute(hiddenAttr, '');\n }\n else {\n if (onUpdateOverflow !== undefined) {\n onUpdateOverflow(true);\n }\n }\n }\n const ssrAdapter = useSsrAdapter();\n style.mount({\n id: 'vueuc/overflow',\n head: true,\n anchorMetaName: cssrAnchorMetaName,\n ssr: ssrAdapter\n });\n onMounted(() => deriveCounter({\n showAllItemsBeforeCalculate: false\n }));\n // besides onMounted, other case should be manually triggered, or we shoud watch items\n return {\n selfRef,\n counterRef,\n sync: deriveCounter\n };\n },\n render() {\n const { $slots } = this;\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n nextTick(() => this.sync({\n showAllItemsBeforeCalculate: false\n }));\n // It shouldn't have border\n return h('div', {\n class: 'v-overflow',\n ref: 'selfRef'\n }, [\n renderSlot($slots, 'default'),\n // $slots.counter should only has 1 element\n $slots.counter\n ? $slots.counter()\n : h('span', {\n style: {\n display: 'inline-block'\n },\n ref: 'counterRef'\n }),\n // $slots.tail should only has 1 element\n $slots.tail ? $slots.tail() : null\n ]);\n }\n});\n","import { onBeforeUnmount, onMounted } from 'vue';\nimport { resizeObserverManager } from 'vueuc';\nexport function useOnResize(elRef, onResize) {\n // it needn't be reactive since it's for internal usage\n if (onResize) {\n onMounted(() => {\n const { value: el } = elRef;\n if (el) {\n resizeObserverManager.registerHandler(el, onResize);\n }\n });\n onBeforeUnmount(() => {\n const { value: el } = elRef;\n if (el) {\n resizeObserverManager.unregisterHandler(el);\n }\n });\n }\n}\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'ArrowDown',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 28 28\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M23.7916,15.2664 C24.0788,14.9679 24.0696,14.4931 23.7711,14.206 C23.4726,13.9188 22.9978,13.928 22.7106,14.2265 L14.7511,22.5007 L14.7511,3.74792 C14.7511,3.33371 14.4153,2.99792 14.0011,2.99792 C13.5869,2.99792 13.2511,3.33371 13.2511,3.74793 L13.2511,22.4998 L5.29259,14.2265 C5.00543,13.928 4.53064,13.9188 4.23213,14.206 C3.93361,14.4931 3.9244,14.9679 4.21157,15.2664 L13.2809,24.6944 C13.6743,25.1034 14.3289,25.1034 14.7223,24.6944 L23.7916,15.2664 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Backward',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"path\", { d: \"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z\", fill: \"currentColor\" })));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Checkmark',\n render() {\n return (h(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 16 16\" },\n h(\"g\", { fill: \"none\" },\n h(\"path\", { d: \"M14.046 3.486a.75.75 0 0 1-.032 1.06l-7.93 7.474a.85.85 0 0 1-1.188-.022l-2.68-2.72a.75.75 0 1 1 1.068-1.053l2.234 2.267l7.468-7.038a.75.75 0 0 1 1.06.032z\", fill: \"currentColor\" }))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'FastBackward',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 20 20\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", fill: \"none\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { fill: \"currentColor\", \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'FastForward',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 20 20\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", fill: \"none\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { fill: \"currentColor\", \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Filter',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 28 28\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M17,19 C17.5522847,19 18,19.4477153 18,20 C18,20.5522847 17.5522847,21 17,21 L11,21 C10.4477153,21 10,20.5522847 10,20 C10,19.4477153 10.4477153,19 11,19 L17,19 Z M21,13 C21.5522847,13 22,13.4477153 22,14 C22,14.5522847 21.5522847,15 21,15 L7,15 C6.44771525,15 6,14.5522847 6,14 C6,13.4477153 6.44771525,13 7,13 L21,13 Z M24,7 C24.5522847,7 25,7.44771525 25,8 C25,8.55228475 24.5522847,9 24,9 L4,9 C3.44771525,9 3,8.55228475 3,8 C3,7.44771525 3.44771525,7 4,7 L24,7 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Forward',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"path\", { d: \"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z\", fill: \"currentColor\" })));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'More',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 16 16\", version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", fill: \"none\", \"fill-rule\": \"evenodd\" },\n h(\"g\", { fill: \"currentColor\", \"fill-rule\": \"nonzero\" },\n h(\"path\", { d: \"M4,7 C4.55228,7 5,7.44772 5,8 C5,8.55229 4.55228,9 4,9 C3.44772,9 3,8.55229 3,8 C3,7.44772 3.44772,7 4,7 Z M8,7 C8.55229,7 9,7.44772 9,8 C9,8.55229 8.55229,9 8,9 C7.44772,9 7,8.55229 7,8 C7,7.44772 7.44772,7 8,7 Z M12,7 C12.5523,7 13,7.44772 13,8 C13,8.55229 12.5523,9 12,9 C11.4477,9 11,8.55229 11,8 C11,7.44772 11.4477,7 12,7 Z\" })))));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n props: {\n onFocus: Function,\n onBlur: Function\n },\n setup(props) {\n return () => (h(\"div\", { style: \"width: 0; height: 0\", tabindex: 0, onFocus: props.onFocus, onBlur: props.onBlur }));\n }\n});\n","export default {\n height: 'calc(var(--n-option-height) * 7.6)',\n paddingSmall: '4px 0',\n paddingMedium: '4px 0',\n paddingLarge: '4px 0',\n paddingHuge: '4px 0',\n optionPaddingSmall: '0 12px',\n optionPaddingMedium: '0 12px',\n optionPaddingLarge: '0 12px',\n optionPaddingHuge: '0 12px',\n loadingSize: '18px'\n};\n","import { emptyLight } from '../../../empty/styles';\nimport { scrollbarLight } from '../../scrollbar/styles';\nimport { commonLight } from '../../../_styles/common';\nimport commonVariables from './_common';\nimport { createTheme } from '../../../_mixins';\nexport const self = (vars) => {\n const { borderRadius, popoverColor, textColor3, dividerColor, textColor2, primaryColorPressed, textColorDisabled, primaryColor, opacityDisabled, hoverColor, fontSizeSmall, fontSizeMedium, fontSizeLarge, fontSizeHuge, heightSmall, heightMedium, heightLarge, heightHuge } = vars;\n return Object.assign(Object.assign({}, commonVariables), { optionFontSizeSmall: fontSizeSmall, optionFontSizeMedium: fontSizeMedium, optionFontSizeLarge: fontSizeLarge, optionFontSizeHuge: fontSizeHuge, optionHeightSmall: heightSmall, optionHeightMedium: heightMedium, optionHeightLarge: heightLarge, optionHeightHuge: heightHuge, borderRadius, color: popoverColor, groupHeaderTextColor: textColor3, actionDividerColor: dividerColor, optionTextColor: textColor2, optionTextColorPressed: primaryColorPressed, optionTextColorDisabled: textColorDisabled, optionTextColorActive: primaryColor, optionOpacityDisabled: opacityDisabled, optionCheckColor: primaryColor, optionColorPending: hoverColor, optionColorActive: 'rgba(0, 0, 0, 0)', optionColorActivePending: hoverColor, actionTextColor: textColor2, loadingColor: primaryColor });\n};\nconst internalSelectMenuLight = createTheme({\n name: 'InternalSelectMenu',\n common: commonLight,\n peers: {\n Scrollbar: scrollbarLight,\n Empty: emptyLight\n },\n self\n});\nexport default internalSelectMenuLight;\n","import { h, inject, defineComponent, Transition } from 'vue';\nimport { useMemo } from 'vooks';\nimport { render, mergeEventHandlers } from '../../../_utils';\nimport { CheckmarkIcon } from '../../icons';\nimport { NBaseIcon } from '../../icon';\nimport { internalSelectionMenuInjectionKey } from './interface';\nfunction renderCheckMark(show, clsPrefix) {\n return (h(Transition, { name: \"fade-in-scale-up-transition\" }, {\n default: () => show ? (h(NBaseIcon, { clsPrefix: clsPrefix, class: `${clsPrefix}-base-select-option__check` }, {\n default: () => h(CheckmarkIcon)\n })) : null\n }));\n}\nexport default defineComponent({\n name: 'NBaseSelectOption',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup(props) {\n const { valueRef, pendingTmNodeRef, multipleRef, valueSetRef, renderLabelRef, renderOptionRef, labelFieldRef, valueFieldRef, showCheckmarkRef, nodePropsRef, handleOptionClick, handleOptionMouseEnter\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(internalSelectionMenuInjectionKey);\n const isPendingRef = useMemo(() => {\n const { value: pendingTmNode } = pendingTmNodeRef;\n if (!pendingTmNode)\n return false;\n return props.tmNode.key === pendingTmNode.key;\n });\n function handleClick(e) {\n const { tmNode } = props;\n if (tmNode.disabled)\n return;\n handleOptionClick(e, tmNode);\n }\n function handleMouseEnter(e) {\n const { tmNode } = props;\n if (tmNode.disabled)\n return;\n handleOptionMouseEnter(e, tmNode);\n }\n function handleMouseMove(e) {\n const { tmNode } = props;\n const { value: isPending } = isPendingRef;\n if (tmNode.disabled || isPending)\n return;\n handleOptionMouseEnter(e, tmNode);\n }\n return {\n multiple: multipleRef,\n isGrouped: useMemo(() => {\n const { tmNode } = props;\n const { parent } = tmNode;\n return parent && parent.rawNode.type === 'group';\n }),\n showCheckmark: showCheckmarkRef,\n nodeProps: nodePropsRef,\n isPending: isPendingRef,\n isSelected: useMemo(() => {\n const { value } = valueRef;\n const { value: multiple } = multipleRef;\n if (value === null)\n return false;\n const optionValue = props.tmNode.rawNode[valueFieldRef.value];\n if (multiple) {\n const { value: valueSet } = valueSetRef;\n return valueSet.has(optionValue);\n }\n else {\n return value === optionValue;\n }\n }),\n labelField: labelFieldRef,\n renderLabel: renderLabelRef,\n renderOption: renderOptionRef,\n handleMouseMove,\n handleMouseEnter,\n handleClick\n };\n },\n render() {\n const { clsPrefix, tmNode: { rawNode }, isSelected, isPending, isGrouped, showCheckmark, nodeProps, renderOption, renderLabel, handleClick, handleMouseEnter, handleMouseMove } = this;\n const checkmark = renderCheckMark(isSelected, clsPrefix);\n const children = renderLabel\n ? [renderLabel(rawNode, isSelected), showCheckmark && checkmark]\n : [\n render(rawNode[this.labelField], rawNode, isSelected),\n showCheckmark && checkmark\n ];\n const attrs = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const node = (h(\"div\", Object.assign({}, attrs, { class: [\n `${clsPrefix}-base-select-option`,\n rawNode.class,\n attrs === null || attrs === void 0 ? void 0 : attrs.class,\n {\n [`${clsPrefix}-base-select-option--disabled`]: rawNode.disabled,\n [`${clsPrefix}-base-select-option--selected`]: isSelected,\n [`${clsPrefix}-base-select-option--grouped`]: isGrouped,\n [`${clsPrefix}-base-select-option--pending`]: isPending,\n [`${clsPrefix}-base-select-option--show-checkmark`]: showCheckmark\n }\n ], style: [(attrs === null || attrs === void 0 ? void 0 : attrs.style) || '', rawNode.style || ''], onClick: mergeEventHandlers([handleClick, attrs === null || attrs === void 0 ? void 0 : attrs.onClick]), onMouseenter: mergeEventHandlers([\n handleMouseEnter,\n attrs === null || attrs === void 0 ? void 0 : attrs.onMouseenter\n ]), onMousemove: mergeEventHandlers([handleMouseMove, attrs === null || attrs === void 0 ? void 0 : attrs.onMousemove]) }),\n h(\"div\", { class: `${clsPrefix}-base-select-option__content` }, children)));\n return rawNode.render\n ? rawNode.render({ node, option: rawNode, selected: isSelected })\n : renderOption\n ? renderOption({ node, option: rawNode, selected: isSelected })\n : node;\n }\n});\n","import { h, defineComponent, inject } from 'vue';\nimport { render } from '../../../_utils';\nimport { internalSelectionMenuInjectionKey } from './interface';\nexport default defineComponent({\n name: 'NBaseSelectGroupHeader',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup() {\n const { renderLabelRef, renderOptionRef, labelFieldRef, nodePropsRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(internalSelectionMenuInjectionKey);\n return {\n labelField: labelFieldRef,\n nodeProps: nodePropsRef,\n renderLabel: renderLabelRef,\n renderOption: renderOptionRef\n };\n },\n render() {\n const { clsPrefix, renderLabel, renderOption, nodeProps, tmNode: { rawNode } } = this;\n const attrs = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const children = renderLabel\n ? renderLabel(rawNode, false)\n : render(rawNode[this.labelField], rawNode, false);\n const node = (h(\"div\", Object.assign({}, attrs, { class: [`${clsPrefix}-base-select-group-header`, attrs === null || attrs === void 0 ? void 0 : attrs.class] }), children));\n return rawNode.render\n ? rawNode.render({ node, option: rawNode })\n : renderOption\n ? renderOption({ node, option: rawNode, selected: false })\n : node;\n }\n});\n","import { c, cB, cE, cM, cNotM } from '../../../../_utils/cssr';\nimport { fadeInScaleUpTransition } from '../../../../_styles/transitions/fade-in-scale-up.cssr';\n// --n-loading-color\n// --n-loading-size\n// --n-option-padding-right\nexport default cB('base-select-menu', `\n line-height: 1.5;\n outline: none;\n z-index: 0;\n position: relative;\n border-radius: var(--n-border-radius);\n transition:\n background-color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier);\n background-color: var(--n-color);\n`, [cB('scrollbar', `\n max-height: var(--n-height);\n `), cB('virtual-list', `\n max-height: var(--n-height);\n `), cB('base-select-option', `\n min-height: var(--n-option-height);\n font-size: var(--n-option-font-size);\n display: flex;\n align-items: center;\n `, [cE('content', `\n z-index: 1;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n `)]), cB('base-select-group-header', `\n min-height: var(--n-option-height);\n font-size: .93em;\n display: flex;\n align-items: center;\n `), cB('base-select-menu-option-wrapper', `\n position: relative;\n width: 100%;\n `), cE('loading, empty', `\n display: flex;\n padding: 12px 32px;\n flex: 1;\n justify-content: center;\n `), cE('loading', `\n color: var(--n-loading-color);\n font-size: var(--n-loading-size);\n `), cE('header', `\n padding: 8px var(--n-option-padding-left);\n font-size: var(--n-option-font-size);\n transition: \n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n border-bottom: 1px solid var(--n-action-divider-color);\n color: var(--n-action-text-color);\n `), cE('action', `\n padding: 8px var(--n-option-padding-left);\n font-size: var(--n-option-font-size);\n transition: \n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n border-top: 1px solid var(--n-action-divider-color);\n color: var(--n-action-text-color);\n `), cB('base-select-group-header', `\n position: relative;\n cursor: default;\n padding: var(--n-option-padding);\n color: var(--n-group-header-text-color);\n `), cB('base-select-option', `\n cursor: pointer;\n position: relative;\n padding: var(--n-option-padding);\n transition:\n color .3s var(--n-bezier),\n opacity .3s var(--n-bezier);\n box-sizing: border-box;\n color: var(--n-option-text-color);\n opacity: 1;\n `, [cM('show-checkmark', `\n padding-right: calc(var(--n-option-padding-right) + 20px);\n `), c('&::before', `\n content: \"\";\n position: absolute;\n left: 4px;\n right: 4px;\n top: 0;\n bottom: 0;\n border-radius: var(--n-border-radius);\n transition: background-color .3s var(--n-bezier);\n `), c('&:active', `\n color: var(--n-option-text-color-pressed);\n `), cM('grouped', `\n padding-left: calc(var(--n-option-padding-left) * 1.5);\n `), cM('pending', [c('&::before', `\n background-color: var(--n-option-color-pending);\n `)]), cM('selected', `\n color: var(--n-option-text-color-active);\n `, [c('&::before', `\n background-color: var(--n-option-color-active);\n `), cM('pending', [c('&::before', `\n background-color: var(--n-option-color-active-pending);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n `, [cNotM('selected', `\n color: var(--n-option-text-color-disabled);\n `), cM('selected', `\n opacity: var(--n-option-opacity-disabled);\n `)]), cE('check', `\n font-size: 16px;\n position: absolute;\n right: calc(var(--n-option-padding-right) - 4px);\n top: calc(50% - 7px);\n color: var(--n-option-check-color);\n transition: color .3s var(--n-bezier);\n `, [fadeInScaleUpTransition({\n enterScale: '0.5'\n})])])]);","import { h, ref, onMounted, computed, defineComponent, toRef, provide, nextTick, watch, onBeforeUnmount } from 'vue';\nimport { createIndexGetter } from 'treemate';\nimport { VirtualList } from 'vueuc';\nimport { depx, getPadding, happensIn } from 'seemly';\nimport { NEmpty } from '../../../empty';\nimport { NScrollbar } from '../../scrollbar';\nimport { resolveSlot, resolveWrappedSlot, useOnResize } from '../../../_utils';\nimport { createKey } from '../../../_utils/cssr';\nimport { useThemeClass, useTheme } from '../../../_mixins';\nimport NInternalLoading from '../../loading';\nimport NFocusDetector from '../../focus-detector';\nimport { internalSelectMenuLight } from '../styles';\nimport NSelectOption from './SelectOption';\nimport NSelectGroupHeader from './SelectGroupHeader';\nimport { internalSelectionMenuInjectionKey, internalSelectionMenuBodyInjectionKey } from './interface';\nimport style from './styles/index.cssr';\nexport default defineComponent({\n name: 'InternalSelectMenu',\n props: Object.assign(Object.assign({}, useTheme.props), { clsPrefix: {\n type: String,\n required: true\n }, scrollable: {\n type: Boolean,\n default: true\n }, treeMate: {\n type: Object,\n required: true\n }, multiple: Boolean, size: {\n type: String,\n default: 'medium'\n }, value: {\n type: [String, Number, Array],\n default: null\n }, autoPending: Boolean, virtualScroll: {\n type: Boolean,\n default: true\n }, \n // show is used to toggle pending state initialization\n show: {\n type: Boolean,\n default: true\n }, labelField: {\n type: String,\n default: 'label'\n }, valueField: {\n type: String,\n default: 'value'\n }, loading: Boolean, focusable: Boolean, renderLabel: Function, renderOption: Function, nodeProps: Function, showCheckmark: { type: Boolean, default: true }, onMousedown: Function, onScroll: Function, onFocus: Function, onBlur: Function, onKeyup: Function, onKeydown: Function, onTabOut: Function, onMouseenter: Function, onMouseleave: Function, onResize: Function, resetMenuOnOptionsChange: {\n type: Boolean,\n default: true\n }, inlineThemeDisabled: Boolean, \n // deprecated\n onToggle: Function }),\n setup(props) {\n const themeRef = useTheme('InternalSelectMenu', '-internal-select-menu', style, internalSelectMenuLight, props, toRef(props, 'clsPrefix'));\n const selfRef = ref(null);\n const virtualListRef = ref(null);\n const scrollbarRef = ref(null);\n const flattenedNodesRef = computed(() => props.treeMate.getFlattenedNodes());\n const fIndexGetterRef = computed(() => createIndexGetter(flattenedNodesRef.value));\n const pendingNodeRef = ref(null);\n function initPendingNode() {\n const { treeMate } = props;\n let defaultPendingNode = null;\n const { value } = props;\n if (value === null) {\n defaultPendingNode = treeMate.getFirstAvailableNode();\n }\n else {\n if (props.multiple) {\n defaultPendingNode = treeMate.getNode((value || [])[(value || []).length - 1]);\n }\n else {\n defaultPendingNode = treeMate.getNode(value);\n }\n if (!defaultPendingNode || defaultPendingNode.disabled) {\n defaultPendingNode = treeMate.getFirstAvailableNode();\n }\n }\n if (defaultPendingNode) {\n setPendingTmNode(defaultPendingNode);\n }\n else {\n setPendingTmNode(null);\n }\n }\n function clearPendingNodeIfInvalid() {\n const { value: pendingNode } = pendingNodeRef;\n if (pendingNode && !props.treeMate.getNode(pendingNode.key)) {\n pendingNodeRef.value = null;\n }\n }\n let initPendingNodeWatchStopHandle;\n watch(() => props.show, (show) => {\n if (show) {\n initPendingNodeWatchStopHandle = watch(() => props.treeMate, () => {\n if (props.resetMenuOnOptionsChange) {\n if (props.autoPending) {\n initPendingNode();\n }\n else {\n clearPendingNodeIfInvalid();\n }\n void nextTick(scrollToPendingNode);\n }\n else {\n clearPendingNodeIfInvalid();\n }\n }, {\n immediate: true\n });\n }\n else {\n initPendingNodeWatchStopHandle === null || initPendingNodeWatchStopHandle === void 0 ? void 0 : initPendingNodeWatchStopHandle();\n }\n }, {\n immediate: true\n });\n onBeforeUnmount(() => {\n initPendingNodeWatchStopHandle === null || initPendingNodeWatchStopHandle === void 0 ? void 0 : initPendingNodeWatchStopHandle();\n });\n const itemSizeRef = computed(() => {\n return depx(themeRef.value.self[createKey('optionHeight', props.size)]);\n });\n const paddingRef = computed(() => {\n return getPadding(themeRef.value.self[createKey('padding', props.size)]);\n });\n const valueSetRef = computed(() => {\n if (props.multiple && Array.isArray(props.value)) {\n return new Set(props.value);\n }\n return new Set();\n });\n const emptyRef = computed(() => {\n const tmNodes = flattenedNodesRef.value;\n return tmNodes && tmNodes.length === 0;\n });\n function doToggle(tmNode) {\n const { onToggle } = props;\n if (onToggle)\n onToggle(tmNode);\n }\n function doScroll(e) {\n const { onScroll } = props;\n if (onScroll)\n onScroll(e);\n }\n // required, scroller sync need to be triggered manually\n function handleVirtualListScroll(e) {\n var _a;\n (_a = scrollbarRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n doScroll(e);\n }\n function handleVirtualListResize() {\n var _a;\n (_a = scrollbarRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n }\n function getPendingTmNode() {\n const { value: pendingTmNode } = pendingNodeRef;\n if (pendingTmNode)\n return pendingTmNode;\n return null;\n }\n function handleOptionMouseEnter(e, tmNode) {\n if (tmNode.disabled)\n return;\n setPendingTmNode(tmNode, false);\n }\n function handleOptionClick(e, tmNode) {\n if (tmNode.disabled)\n return;\n doToggle(tmNode);\n }\n // keyboard related methods\n function handleKeyUp(e) {\n var _a;\n if (happensIn(e, 'action'))\n return;\n (_a = props.onKeyup) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handleKeyDown(e) {\n var _a;\n if (happensIn(e, 'action'))\n return;\n (_a = props.onKeydown) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handleMouseDown(e) {\n var _a;\n (_a = props.onMousedown) === null || _a === void 0 ? void 0 : _a.call(props, e);\n if (props.focusable)\n return;\n e.preventDefault();\n }\n function next() {\n const { value: pendingTmNode } = pendingNodeRef;\n if (pendingTmNode) {\n setPendingTmNode(pendingTmNode.getNext({ loop: true }), true);\n }\n }\n function prev() {\n const { value: pendingTmNode } = pendingNodeRef;\n if (pendingTmNode) {\n setPendingTmNode(pendingTmNode.getPrev({ loop: true }), true);\n }\n }\n function setPendingTmNode(tmNode, doScroll = false) {\n pendingNodeRef.value = tmNode;\n if (doScroll)\n scrollToPendingNode();\n }\n function scrollToPendingNode() {\n var _a, _b;\n const tmNode = pendingNodeRef.value;\n if (!tmNode)\n return;\n const fIndex = fIndexGetterRef.value(tmNode.key);\n if (fIndex === null)\n return;\n if (props.virtualScroll) {\n (_a = virtualListRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo({ index: fIndex });\n }\n else {\n (_b = scrollbarRef.value) === null || _b === void 0 ? void 0 : _b.scrollTo({\n index: fIndex,\n elSize: itemSizeRef.value\n });\n }\n }\n function handleFocusin(e) {\n var _a, _b;\n if ((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {\n (_b = props.onFocus) === null || _b === void 0 ? void 0 : _b.call(props, e);\n }\n }\n function handleFocusout(e) {\n var _a, _b;\n if (!((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget))) {\n (_b = props.onBlur) === null || _b === void 0 ? void 0 : _b.call(props, e);\n }\n }\n provide(internalSelectionMenuInjectionKey, {\n handleOptionMouseEnter,\n handleOptionClick,\n valueSetRef,\n pendingTmNodeRef: pendingNodeRef,\n nodePropsRef: toRef(props, 'nodeProps'),\n showCheckmarkRef: toRef(props, 'showCheckmark'),\n multipleRef: toRef(props, 'multiple'),\n valueRef: toRef(props, 'value'),\n renderLabelRef: toRef(props, 'renderLabel'),\n renderOptionRef: toRef(props, 'renderOption'),\n labelFieldRef: toRef(props, 'labelField'),\n valueFieldRef: toRef(props, 'valueField')\n });\n provide(internalSelectionMenuBodyInjectionKey, selfRef);\n onMounted(() => {\n const { value } = scrollbarRef;\n if (value)\n value.sync();\n });\n const cssVarsRef = computed(() => {\n const { size } = props;\n const { common: { cubicBezierEaseInOut }, self: { height, borderRadius, color, groupHeaderTextColor, actionDividerColor, optionTextColorPressed, optionTextColor, optionTextColorDisabled, optionTextColorActive, optionOpacityDisabled, optionCheckColor, actionTextColor, optionColorPending, optionColorActive, loadingColor, loadingSize, optionColorActivePending, [createKey('optionFontSize', size)]: fontSize, [createKey('optionHeight', size)]: optionHeight, [createKey('optionPadding', size)]: optionPadding } } = themeRef.value;\n return {\n '--n-height': height,\n '--n-action-divider-color': actionDividerColor,\n '--n-action-text-color': actionTextColor,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border-radius': borderRadius,\n '--n-color': color,\n '--n-option-font-size': fontSize,\n '--n-group-header-text-color': groupHeaderTextColor,\n '--n-option-check-color': optionCheckColor,\n '--n-option-color-pending': optionColorPending,\n '--n-option-color-active': optionColorActive,\n '--n-option-color-active-pending': optionColorActivePending,\n '--n-option-height': optionHeight,\n '--n-option-opacity-disabled': optionOpacityDisabled,\n '--n-option-text-color': optionTextColor,\n '--n-option-text-color-active': optionTextColorActive,\n '--n-option-text-color-disabled': optionTextColorDisabled,\n '--n-option-text-color-pressed': optionTextColorPressed,\n '--n-option-padding': optionPadding,\n '--n-option-padding-left': getPadding(optionPadding, 'left'),\n '--n-option-padding-right': getPadding(optionPadding, 'right'),\n '--n-loading-color': loadingColor,\n '--n-loading-size': loadingSize\n };\n });\n const { inlineThemeDisabled } = props;\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('internal-select-menu', computed(() => props.size[0]), cssVarsRef, props)\n : undefined;\n const exposedProps = {\n selfRef,\n next,\n prev,\n getPendingTmNode\n };\n useOnResize(selfRef, props.onResize);\n return Object.assign({ mergedTheme: themeRef, virtualListRef,\n scrollbarRef, itemSize: itemSizeRef, padding: paddingRef, flattenedNodes: flattenedNodesRef, empty: emptyRef, virtualListContainer() {\n const { value } = virtualListRef;\n return value === null || value === void 0 ? void 0 : value.listElRef;\n },\n virtualListContent() {\n const { value } = virtualListRef;\n return value === null || value === void 0 ? void 0 : value.itemsElRef;\n },\n doScroll,\n handleFocusin,\n handleFocusout,\n handleKeyUp,\n handleKeyDown,\n handleMouseDown,\n handleVirtualListResize,\n handleVirtualListScroll, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender }, exposedProps);\n },\n render() {\n const { $slots, virtualScroll, clsPrefix, mergedTheme, themeClass, onRender } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n return (h(\"div\", { ref: \"selfRef\", tabindex: this.focusable ? 0 : -1, class: [\n `${clsPrefix}-base-select-menu`,\n themeClass,\n this.multiple && `${clsPrefix}-base-select-menu--multiple`\n ], style: this.cssVars, onFocusin: this.handleFocusin, onFocusout: this.handleFocusout, onKeyup: this.handleKeyUp, onKeydown: this.handleKeyDown, onMousedown: this.handleMouseDown, onMouseenter: this.onMouseenter, onMouseleave: this.onMouseleave },\n resolveWrappedSlot($slots.header, (children) => children && (h(\"div\", { class: `${clsPrefix}-base-select-menu__header`, \"data-header\": true, key: \"header\" }, children))),\n this.loading ? (h(\"div\", { class: `${clsPrefix}-base-select-menu__loading` },\n h(NInternalLoading, { clsPrefix: clsPrefix, strokeWidth: 20 }))) : !this.empty ? (h(NScrollbar, { ref: \"scrollbarRef\", theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar, scrollable: this.scrollable, container: virtualScroll ? this.virtualListContainer : undefined, content: virtualScroll ? this.virtualListContent : undefined, onScroll: virtualScroll ? undefined : this.doScroll }, {\n default: () => {\n return virtualScroll ? (h(VirtualList, { ref: \"virtualListRef\", class: `${clsPrefix}-virtual-list`, items: this.flattenedNodes, itemSize: this.itemSize, showScrollbar: false, paddingTop: this.padding.top, paddingBottom: this.padding.bottom, onResize: this.handleVirtualListResize, onScroll: this.handleVirtualListScroll, itemResizable: true }, {\n default: ({ item: tmNode }) => {\n return tmNode.isGroup ? (h(NSelectGroupHeader, { key: tmNode.key, clsPrefix: clsPrefix, tmNode: tmNode })) : tmNode.ignored ? null : (h(NSelectOption, { clsPrefix: clsPrefix, key: tmNode.key, tmNode: tmNode }));\n }\n })) : (h(\"div\", { class: `${clsPrefix}-base-select-menu-option-wrapper`, style: {\n paddingTop: this.padding.top,\n paddingBottom: this.padding.bottom\n } }, this.flattenedNodes.map((tmNode) => tmNode.isGroup ? (h(NSelectGroupHeader, { key: tmNode.key, clsPrefix: clsPrefix, tmNode: tmNode })) : (h(NSelectOption, { clsPrefix: clsPrefix, key: tmNode.key, tmNode: tmNode })))));\n }\n })) : (h(\"div\", { class: `${clsPrefix}-base-select-menu__empty`, \"data-empty\": true, \"data-action\": true }, resolveSlot($slots.empty, () => [\n h(NEmpty, { theme: mergedTheme.peers.Empty, themeOverrides: mergedTheme.peerOverrides.Empty })\n ]))),\n resolveWrappedSlot($slots.action, (children) => children && [\n h(\"div\", { class: `${clsPrefix}-base-select-menu__action`, \"data-action\": true, key: \"action\" }, children),\n h(NFocusDetector, { onFocus: this.onTabOut, key: \"focus-detector\" })\n ])));\n }\n});\n","export default {\n closeIconSizeTiny: '12px',\n closeIconSizeSmall: '12px',\n closeIconSizeMedium: '14px',\n closeIconSizeLarge: '14px',\n closeSizeTiny: '16px',\n closeSizeSmall: '16px',\n closeSizeMedium: '18px',\n closeSizeLarge: '18px',\n padding: '0 7px',\n closeMargin: '0 0 0 4px',\n closeMarginRtl: '0 4px 0 0'\n};\n","import commonVariables from './_common';\nimport { changeColor } from 'seemly';\nimport { commonLight } from '../../_styles/common';\nconst self = (vars) => {\n const { textColor2, primaryColorHover, primaryColorPressed, primaryColor, infoColor, successColor, warningColor, errorColor, baseColor, borderColor, opacityDisabled, tagColor, closeIconColor, closeIconColorHover, closeIconColorPressed, borderRadiusSmall: borderRadius, fontSizeMini, fontSizeTiny, fontSizeSmall, fontSizeMedium, heightMini, heightTiny, heightSmall, heightMedium, closeColorHover, closeColorPressed, buttonColor2Hover, buttonColor2Pressed, fontWeightStrong } = vars;\n return Object.assign(Object.assign({}, commonVariables), { closeBorderRadius: borderRadius, heightTiny: heightMini, heightSmall: heightTiny, heightMedium: heightSmall, heightLarge: heightMedium, borderRadius,\n opacityDisabled, fontSizeTiny: fontSizeMini, fontSizeSmall: fontSizeTiny, fontSizeMedium: fontSizeSmall, fontSizeLarge: fontSizeMedium, fontWeightStrong, \n // checked\n textColorCheckable: textColor2, textColorHoverCheckable: textColor2, textColorPressedCheckable: textColor2, textColorChecked: baseColor, colorCheckable: '#0000', colorHoverCheckable: buttonColor2Hover, colorPressedCheckable: buttonColor2Pressed, colorChecked: primaryColor, colorCheckedHover: primaryColorHover, colorCheckedPressed: primaryColorPressed, \n // default\n border: `1px solid ${borderColor}`, textColor: textColor2, color: tagColor, colorBordered: 'rgb(250, 250, 252)', closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n closeColorHover,\n closeColorPressed, borderPrimary: `1px solid ${changeColor(primaryColor, { alpha: 0.3 })}`, textColorPrimary: primaryColor, colorPrimary: changeColor(primaryColor, { alpha: 0.12 }), colorBorderedPrimary: changeColor(primaryColor, { alpha: 0.1 }), closeIconColorPrimary: primaryColor, closeIconColorHoverPrimary: primaryColor, closeIconColorPressedPrimary: primaryColor, closeColorHoverPrimary: changeColor(primaryColor, { alpha: 0.12 }), closeColorPressedPrimary: changeColor(primaryColor, { alpha: 0.18 }), borderInfo: `1px solid ${changeColor(infoColor, { alpha: 0.3 })}`, textColorInfo: infoColor, colorInfo: changeColor(infoColor, { alpha: 0.12 }), colorBorderedInfo: changeColor(infoColor, { alpha: 0.1 }), closeIconColorInfo: infoColor, closeIconColorHoverInfo: infoColor, closeIconColorPressedInfo: infoColor, closeColorHoverInfo: changeColor(infoColor, { alpha: 0.12 }), closeColorPressedInfo: changeColor(infoColor, { alpha: 0.18 }), borderSuccess: `1px solid ${changeColor(successColor, { alpha: 0.3 })}`, textColorSuccess: successColor, colorSuccess: changeColor(successColor, { alpha: 0.12 }), colorBorderedSuccess: changeColor(successColor, { alpha: 0.1 }), closeIconColorSuccess: successColor, closeIconColorHoverSuccess: successColor, closeIconColorPressedSuccess: successColor, closeColorHoverSuccess: changeColor(successColor, { alpha: 0.12 }), closeColorPressedSuccess: changeColor(successColor, { alpha: 0.18 }), borderWarning: `1px solid ${changeColor(warningColor, { alpha: 0.35 })}`, textColorWarning: warningColor, colorWarning: changeColor(warningColor, { alpha: 0.15 }), colorBorderedWarning: changeColor(warningColor, { alpha: 0.12 }), closeIconColorWarning: warningColor, closeIconColorHoverWarning: warningColor, closeIconColorPressedWarning: warningColor, closeColorHoverWarning: changeColor(warningColor, { alpha: 0.12 }), closeColorPressedWarning: changeColor(warningColor, { alpha: 0.18 }), borderError: `1px solid ${changeColor(errorColor, { alpha: 0.23 })}`, textColorError: errorColor, colorError: changeColor(errorColor, { alpha: 0.1 }), colorBorderedError: changeColor(errorColor, { alpha: 0.08 }), closeIconColorError: errorColor, closeIconColorHoverError: errorColor, closeIconColorPressedError: errorColor, closeColorHoverError: changeColor(errorColor, { alpha: 0.12 }), closeColorPressedError: changeColor(errorColor, { alpha: 0.18 }) });\n};\nconst tagLight = {\n name: 'Tag',\n common: commonLight,\n self\n};\nexport default tagLight;\n","export default {\n color: Object,\n type: {\n type: String,\n default: 'default'\n },\n round: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n closable: Boolean,\n disabled: {\n type: Boolean,\n default: undefined\n }\n};\n","import { c, cB, cE, cM, cNotM } from '../../../_utils/cssr';\n// vars:\n// --n-bezier\n// --n-border-radius\n// --n-border\n// --n-close-icon-color\n// --n-close-icon-color-hover\n// --n-close-icon-color-pressed\n// --n-close-margin\n// --n-close-size\n// --n-color\n// --n-color-checkable\n// --n-color-checked\n// --n-color-checked-hover\n// --n-color-checked-pressed\n// --n-color-hover-checkable\n// --n-color-pressed-checkable\n// --n-font-size\n// --n-height\n// --n-opacity-disabled\n// --n-padding\n// --n-text-color\n// --n-text-color-checkable\n// --n-text-color-checked\n// --n-text-color-hover-checkable\n// --n-text-color-pressed-checkable\n// --n-font-weight-strong\nexport default cB('tag', `\n white-space: nowrap;\n position: relative;\n box-sizing: border-box;\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex-wrap: nowrap;\n padding: var(--n-padding);\n border-radius: var(--n-border-radius);\n color: var(--n-text-color);\n background-color: var(--n-color);\n transition: \n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n opacity .3s var(--n-bezier);\n line-height: 1;\n height: var(--n-height);\n font-size: var(--n-font-size);\n`, [cM('strong', `\n font-weight: var(--n-font-weight-strong);\n `), cE('border', `\n pointer-events: none;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n border-radius: inherit;\n border: var(--n-border);\n transition: border-color .3s var(--n-bezier);\n `), cE('icon', `\n display: flex;\n margin: 0 4px 0 0;\n color: var(--n-text-color);\n transition: color .3s var(--n-bezier);\n font-size: var(--n-avatar-size-override);\n `), cE('avatar', `\n display: flex;\n margin: 0 6px 0 0;\n `), cE('close', `\n margin: var(--n-close-margin);\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n `), cM('round', `\n padding: 0 calc(var(--n-height) / 3);\n border-radius: calc(var(--n-height) / 2);\n `, [cE('icon', `\n margin: 0 4px 0 calc((var(--n-height) - 8px) / -2);\n `), cE('avatar', `\n margin: 0 6px 0 calc((var(--n-height) - 8px) / -2);\n `), cM('closable', `\n padding: 0 calc(var(--n-height) / 4) 0 calc(var(--n-height) / 3);\n `)]), cM('icon, avatar', [cM('round', `\n padding: 0 calc(var(--n-height) / 3) 0 calc(var(--n-height) / 2);\n `)]), cM('disabled', `\n cursor: not-allowed !important;\n opacity: var(--n-opacity-disabled);\n `), cM('checkable', `\n cursor: pointer;\n box-shadow: none;\n color: var(--n-text-color-checkable);\n background-color: var(--n-color-checkable);\n `, [cNotM('disabled', [c('&:hover', 'background-color: var(--n-color-hover-checkable);', [cNotM('checked', 'color: var(--n-text-color-hover-checkable);')]), c('&:active', 'background-color: var(--n-color-pressed-checkable);', [cNotM('checked', 'color: var(--n-text-color-pressed-checkable);')])]), cM('checked', `\n color: var(--n-text-color-checked);\n background-color: var(--n-color-checked);\n `, [cNotM('disabled', [c('&:hover', 'background-color: var(--n-color-checked-hover);'), c('&:active', 'background-color: var(--n-color-checked-pressed);')])])])]);","import { h, defineComponent, computed, ref, provide, toRef, watchEffect } from 'vue';\nimport { useRtl } from '../../_mixins/use-rtl';\nimport { NBaseClose } from '../../_internal/close';\nimport { useConfig, useThemeClass, useTheme } from '../../_mixins';\nimport { createKey, call, createInjectionKey, color2Class, resolveWrappedSlot, warnOnce } from '../../_utils';\nimport { tagLight } from '../styles';\nimport commonProps from './common-props';\nimport style from './styles/index.cssr';\nexport const tagProps = Object.assign(Object.assign(Object.assign({}, useTheme.props), commonProps), { bordered: {\n type: Boolean,\n default: undefined\n }, checked: Boolean, checkable: Boolean, strong: Boolean, triggerClickOnClose: Boolean, onClose: [Array, Function], onMouseenter: Function, onMouseleave: Function, 'onUpdate:checked': Function, onUpdateChecked: Function, \n // private\n internalCloseFocusable: {\n type: Boolean,\n default: true\n }, internalCloseIsButtonTag: {\n type: Boolean,\n default: true\n }, \n // deprecated\n onCheckedChange: Function });\nexport const tagInjectionKey = createInjectionKey('n-tag');\nexport default defineComponent({\n name: 'Tag',\n props: tagProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onCheckedChange !== undefined) {\n warnOnce('tag', '`on-checked-change` is deprecated, please use `on-update:checked` instead');\n }\n });\n }\n const contentRef = ref(null);\n const { mergedBorderedRef, mergedClsPrefixRef, inlineThemeDisabled, mergedRtlRef } = useConfig(props);\n const themeRef = useTheme('Tag', '-tag', style, tagLight, props, mergedClsPrefixRef);\n provide(tagInjectionKey, {\n roundRef: toRef(props, 'round')\n });\n function handleClick(e) {\n if (!props.disabled) {\n if (props.checkable) {\n const { checked, onCheckedChange, onUpdateChecked, 'onUpdate:checked': _onUpdateChecked } = props;\n if (onUpdateChecked)\n onUpdateChecked(!checked);\n if (_onUpdateChecked)\n _onUpdateChecked(!checked);\n // deprecated\n if (onCheckedChange)\n onCheckedChange(!checked);\n }\n }\n }\n function handleCloseClick(e) {\n if (!props.triggerClickOnClose) {\n e.stopPropagation();\n }\n if (!props.disabled) {\n const { onClose } = props;\n if (onClose)\n call(onClose, e);\n }\n }\n const tagPublicMethods = {\n setTextContent(textContent) {\n const { value } = contentRef;\n if (value)\n value.textContent = textContent;\n }\n };\n const rtlEnabledRef = useRtl('Tag', mergedRtlRef, mergedClsPrefixRef);\n const cssVarsRef = computed(() => {\n const { type, size, color: { color, textColor } = {} } = props;\n const { common: { cubicBezierEaseInOut }, self: { padding, closeMargin, closeMarginRtl, borderRadius, opacityDisabled, textColorCheckable, textColorHoverCheckable, textColorPressedCheckable, textColorChecked, colorCheckable, colorHoverCheckable, colorPressedCheckable, colorChecked, colorCheckedHover, colorCheckedPressed, closeBorderRadius, fontWeightStrong, [createKey('colorBordered', type)]: colorBordered, [createKey('closeSize', size)]: closeSize, [createKey('closeIconSize', size)]: closeIconSize, [createKey('fontSize', size)]: fontSize, [createKey('height', size)]: height, [createKey('color', type)]: typedColor, [createKey('textColor', type)]: typeTextColor, [createKey('border', type)]: border, [createKey('closeIconColor', type)]: closeIconColor, [createKey('closeIconColorHover', type)]: closeIconColorHover, [createKey('closeIconColorPressed', type)]: closeIconColorPressed, [createKey('closeColorHover', type)]: closeColorHover, [createKey('closeColorPressed', type)]: closeColorPressed } } = themeRef.value;\n return {\n '--n-font-weight-strong': fontWeightStrong,\n '--n-avatar-size-override': `calc(${height} - 8px)`,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border-radius': borderRadius,\n '--n-border': border,\n '--n-close-icon-size': closeIconSize,\n '--n-close-color-pressed': closeColorPressed,\n '--n-close-color-hover': closeColorHover,\n '--n-close-border-radius': closeBorderRadius,\n '--n-close-icon-color': closeIconColor,\n '--n-close-icon-color-hover': closeIconColorHover,\n '--n-close-icon-color-pressed': closeIconColorPressed,\n '--n-close-icon-color-disabled': closeIconColor,\n '--n-close-margin': closeMargin,\n '--n-close-margin-rtl': closeMarginRtl,\n '--n-close-size': closeSize,\n '--n-color': color || (mergedBorderedRef.value ? colorBordered : typedColor),\n '--n-color-checkable': colorCheckable,\n '--n-color-checked': colorChecked,\n '--n-color-checked-hover': colorCheckedHover,\n '--n-color-checked-pressed': colorCheckedPressed,\n '--n-color-hover-checkable': colorHoverCheckable,\n '--n-color-pressed-checkable': colorPressedCheckable,\n '--n-font-size': fontSize,\n '--n-height': height,\n '--n-opacity-disabled': opacityDisabled,\n '--n-padding': padding,\n '--n-text-color': textColor || typeTextColor,\n '--n-text-color-checkable': textColorCheckable,\n '--n-text-color-checked': textColorChecked,\n '--n-text-color-hover-checkable': textColorHoverCheckable,\n '--n-text-color-pressed-checkable': textColorPressedCheckable\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('tag', computed(() => {\n let hash = '';\n const { type, size, color: { color, textColor } = {} } = props;\n hash += type[0];\n hash += size[0];\n if (color) {\n hash += `a${color2Class(color)}`;\n }\n if (textColor) {\n hash += `b${color2Class(textColor)}`;\n }\n if (mergedBorderedRef.value) {\n hash += 'c';\n }\n return hash;\n }), cssVarsRef, props)\n : undefined;\n return Object.assign(Object.assign({}, tagPublicMethods), { rtlEnabled: rtlEnabledRef, mergedClsPrefix: mergedClsPrefixRef, contentRef, mergedBordered: mergedBorderedRef, handleClick,\n handleCloseClick, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender });\n },\n render() {\n var _a, _b;\n const { mergedClsPrefix, rtlEnabled, closable, color: { borderColor } = {}, round, onRender, $slots } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const avatarNode = resolveWrappedSlot($slots.avatar, (children) => children && (h(\"div\", { class: `${mergedClsPrefix}-tag__avatar` }, children)));\n const iconNode = resolveWrappedSlot($slots.icon, (children) => children && h(\"div\", { class: `${mergedClsPrefix}-tag__icon` }, children));\n return (h(\"div\", { class: [\n `${mergedClsPrefix}-tag`,\n this.themeClass,\n {\n [`${mergedClsPrefix}-tag--rtl`]: rtlEnabled,\n [`${mergedClsPrefix}-tag--strong`]: this.strong,\n [`${mergedClsPrefix}-tag--disabled`]: this.disabled,\n [`${mergedClsPrefix}-tag--checkable`]: this.checkable,\n [`${mergedClsPrefix}-tag--checked`]: this.checkable && this.checked,\n [`${mergedClsPrefix}-tag--round`]: round,\n [`${mergedClsPrefix}-tag--avatar`]: avatarNode,\n [`${mergedClsPrefix}-tag--icon`]: iconNode,\n [`${mergedClsPrefix}-tag--closable`]: closable\n }\n ], style: this.cssVars, onClick: this.handleClick, onMouseenter: this.onMouseenter, onMouseleave: this.onMouseleave },\n iconNode || avatarNode,\n h(\"span\", { class: `${mergedClsPrefix}-tag__content`, ref: \"contentRef\" }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)),\n !this.checkable && closable ? (h(NBaseClose, { clsPrefix: mergedClsPrefix, class: `${mergedClsPrefix}-tag__close`, disabled: this.disabled, onClick: this.handleCloseClick, focusable: this.internalCloseFocusable, round: round, isButtonTag: this.internalCloseIsButtonTag, absolute: true })) : null,\n !this.checkable && this.mergedBordered ? (h(\"div\", { class: `${mergedClsPrefix}-tag__border`, style: { borderColor } })) : null));\n }\n});\n","export default {\n paddingSingle: '0 26px 0 12px',\n paddingMultiple: '3px 26px 0 12px',\n clearSize: '16px',\n arrowSize: '16px'\n};\n","import { changeColor } from 'seemly';\nimport { commonLight } from '../../../_styles/common';\nimport { popoverLight } from '../../../popover/styles';\nimport commonVariables from './_common';\nimport { createTheme } from '../../../_mixins';\nconst self = (vars) => {\n const { borderRadius, textColor2, textColorDisabled, inputColor, inputColorDisabled, primaryColor, primaryColorHover, warningColor, warningColorHover, errorColor, errorColorHover, borderColor, iconColor, iconColorDisabled, clearColor, clearColorHover, clearColorPressed, placeholderColor, placeholderColorDisabled, fontSizeTiny, fontSizeSmall, fontSizeMedium, fontSizeLarge, heightTiny, heightSmall, heightMedium, heightLarge } = vars;\n return Object.assign(Object.assign({}, commonVariables), { fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n heightTiny,\n heightSmall,\n heightMedium,\n heightLarge,\n borderRadius, \n // default\n textColor: textColor2, textColorDisabled,\n placeholderColor,\n placeholderColorDisabled, color: inputColor, colorDisabled: inputColorDisabled, colorActive: inputColor, border: `1px solid ${borderColor}`, borderHover: `1px solid ${primaryColorHover}`, borderActive: `1px solid ${primaryColor}`, borderFocus: `1px solid ${primaryColorHover}`, boxShadowHover: 'none', boxShadowActive: `0 0 0 2px ${changeColor(primaryColor, {\n alpha: 0.2\n })}`, boxShadowFocus: `0 0 0 2px ${changeColor(primaryColor, {\n alpha: 0.2\n })}`, caretColor: primaryColor, arrowColor: iconColor, arrowColorDisabled: iconColorDisabled, loadingColor: primaryColor, \n // warning\n borderWarning: `1px solid ${warningColor}`, borderHoverWarning: `1px solid ${warningColorHover}`, borderActiveWarning: `1px solid ${warningColor}`, borderFocusWarning: `1px solid ${warningColorHover}`, boxShadowHoverWarning: 'none', boxShadowActiveWarning: `0 0 0 2px ${changeColor(warningColor, {\n alpha: 0.2\n })}`, boxShadowFocusWarning: `0 0 0 2px ${changeColor(warningColor, {\n alpha: 0.2\n })}`, colorActiveWarning: inputColor, caretColorWarning: warningColor, \n // error\n borderError: `1px solid ${errorColor}`, borderHoverError: `1px solid ${errorColorHover}`, borderActiveError: `1px solid ${errorColor}`, borderFocusError: `1px solid ${errorColorHover}`, boxShadowHoverError: 'none', boxShadowActiveError: `0 0 0 2px ${changeColor(errorColor, {\n alpha: 0.2\n })}`, boxShadowFocusError: `0 0 0 2px ${changeColor(errorColor, {\n alpha: 0.2\n })}`, colorActiveError: inputColor, caretColorError: errorColor, clearColor,\n clearColorHover,\n clearColorPressed });\n};\nconst internalSelectionLight = createTheme({\n name: 'InternalSelection',\n common: commonLight,\n peers: {\n Popover: popoverLight\n },\n self\n});\nexport default internalSelectionLight;\n","import { c, cB, cE, cM, cNotM } from '../../../../_utils/cssr';\n// vars:\n// --n-bezier\n// --n-border\n// --n-border-active\n// --n-border-focus\n// --n-border-hover\n// --n-border-radius\n// --n-box-shadow-active\n// --n-box-shadow-focus\n// --n-box-shadow-hover\n// --n-caret-color\n// --n-color\n// --n-color-active\n// --n-color-disabled\n// --n-font-size\n// --n-height\n// --n-padding-single\n// --n-padding-multiple\n// --n-placeholder-color\n// --n-placeholder-color-disabled\n// --n-text-color\n// --n-text-color-disabled\n// --n-arrow-color\n// --n-arrow-size\n// --n-loading-color\n// ...clear vars\n// ...form item vars\nexport default c([cB('base-selection', `\n position: relative;\n z-index: auto;\n box-shadow: none;\n width: 100%;\n max-width: 100%;\n display: inline-block;\n vertical-align: bottom;\n border-radius: var(--n-border-radius);\n min-height: var(--n-height);\n line-height: 1.5;\n font-size: var(--n-font-size);\n `, [cB('base-loading', `\n color: var(--n-loading-color);\n `), cB('base-selection-tags', 'min-height: var(--n-height);'), cE('border, state-border', `\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n border: var(--n-border);\n border-radius: inherit;\n transition:\n box-shadow .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n `), cE('state-border', `\n z-index: 1;\n border-color: #0000;\n `), cB('base-suffix', `\n cursor: pointer;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 10px;\n `, [cE('arrow', `\n font-size: var(--n-arrow-size);\n color: var(--n-arrow-color);\n transition: color .3s var(--n-bezier);\n `)]), cB('base-selection-overlay', `\n display: flex;\n align-items: center;\n white-space: nowrap;\n pointer-events: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--n-padding-single);\n transition: color .3s var(--n-bezier);\n `, [cE('wrapper', `\n flex-basis: 0;\n flex-grow: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n `)]), cB('base-selection-placeholder', `\n color: var(--n-placeholder-color);\n `, [cE('inner', `\n max-width: 100%;\n overflow: hidden;\n `)]), cB('base-selection-tags', `\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n position: relative;\n z-index: auto;\n display: flex;\n padding: var(--n-padding-multiple);\n flex-wrap: wrap;\n align-items: center;\n width: 100%;\n vertical-align: bottom;\n background-color: var(--n-color);\n border-radius: inherit;\n transition:\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n `), cB('base-selection-label', `\n height: var(--n-height);\n display: inline-flex;\n width: 100%;\n vertical-align: bottom;\n cursor: pointer;\n outline: none;\n z-index: auto;\n box-sizing: border-box;\n position: relative;\n transition:\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n border-radius: inherit;\n background-color: var(--n-color);\n align-items: center;\n `, [cB('base-selection-input', `\n font-size: inherit;\n line-height: inherit;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n border:none;\n width: 100%;\n padding: var(--n-padding-single);\n background-color: #0000;\n color: var(--n-text-color);\n transition: color .3s var(--n-bezier);\n caret-color: var(--n-caret-color);\n `, [cE('content', `\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap; \n `)]), cE('render-label', `\n color: var(--n-text-color);\n `)]), cNotM('disabled', [c('&:hover', [cE('state-border', `\n box-shadow: var(--n-box-shadow-hover);\n border: var(--n-border-hover);\n `)]), cM('focus', [cE('state-border', `\n box-shadow: var(--n-box-shadow-focus);\n border: var(--n-border-focus);\n `)]), cM('active', [cE('state-border', `\n box-shadow: var(--n-box-shadow-active);\n border: var(--n-border-active);\n `), cB('base-selection-label', 'background-color: var(--n-color-active);'), cB('base-selection-tags', 'background-color: var(--n-color-active);')])]), cM('disabled', 'cursor: not-allowed;', [cE('arrow', `\n color: var(--n-arrow-color-disabled);\n `), cB('base-selection-label', `\n cursor: not-allowed;\n background-color: var(--n-color-disabled);\n `, [cB('base-selection-input', `\n cursor: not-allowed;\n color: var(--n-text-color-disabled);\n `), cE('render-label', `\n color: var(--n-text-color-disabled);\n `)]), cB('base-selection-tags', `\n cursor: not-allowed;\n background-color: var(--n-color-disabled);\n `), cB('base-selection-placeholder', `\n cursor: not-allowed;\n color: var(--n-placeholder-color-disabled);\n `)]), cB('base-selection-input-tag', `\n height: calc(var(--n-height) - 6px);\n line-height: calc(var(--n-height) - 6px);\n outline: none;\n display: none;\n position: relative;\n margin-bottom: 3px;\n max-width: 100%;\n vertical-align: bottom;\n `, [cE('input', `\n font-size: inherit;\n font-family: inherit;\n min-width: 1px;\n padding: 0;\n background-color: #0000;\n outline: none;\n border: none;\n max-width: 100%;\n overflow: hidden;\n width: 1em;\n line-height: inherit;\n cursor: pointer;\n color: var(--n-text-color);\n caret-color: var(--n-caret-color);\n `), cE('mirror', `\n position: absolute;\n left: 0;\n top: 0;\n white-space: pre;\n visibility: hidden;\n user-select: none;\n -webkit-user-select: none;\n opacity: 0;\n `)]), ['warning', 'error'].map(status => cM(`${status}-status`, [cE('state-border', `border: var(--n-border-${status});`), cNotM('disabled', [c('&:hover', [cE('state-border', `\n box-shadow: var(--n-box-shadow-hover-${status});\n border: var(--n-border-hover-${status});\n `)]), cM('active', [cE('state-border', `\n box-shadow: var(--n-box-shadow-active-${status});\n border: var(--n-border-active-${status});\n `), cB('base-selection-label', `background-color: var(--n-color-active-${status});`), cB('base-selection-tags', `background-color: var(--n-color-active-${status});`)]), cM('focus', [cE('state-border', `\n box-shadow: var(--n-box-shadow-focus-${status});\n border: var(--n-border-focus-${status});\n `)])])]))]), cB('base-selection-popover', `\n margin-bottom: -3px;\n display: flex;\n flex-wrap: wrap;\n margin-right: -8px;\n `), cB('base-selection-tag-wrapper', `\n max-width: 100%;\n display: inline-flex;\n padding: 0 7px 3px 0;\n `, [c('&:last-child', 'padding-right: 0;'), cB('tag', `\n font-size: 14px;\n max-width: 100%;\n `, [cE('content', `\n line-height: 1.25;\n text-overflow: ellipsis;\n overflow: hidden;\n `)])])]);","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, defineComponent, Fragment, ref, computed, watch, toRef, nextTick, watchEffect, onMounted } from 'vue';\nimport { VOverflow } from 'vueuc';\nimport { NPopover } from '../../../popover';\nimport { NTag } from '../../../tag';\nimport { useThemeClass, useTheme } from '../../../_mixins';\nimport { createKey, getTitleAttribute, render, useOnResize, Wrapper } from '../../../_utils';\nimport Suffix from '../../suffix';\nimport { internalSelectionLight } from '../styles';\nimport style from './styles/index.cssr';\nexport default defineComponent({\n name: 'InternalSelection',\n props: Object.assign(Object.assign({}, useTheme.props), { clsPrefix: {\n type: String,\n required: true\n }, bordered: {\n type: Boolean,\n default: undefined\n }, active: Boolean, pattern: {\n type: String,\n default: ''\n }, placeholder: String, selectedOption: {\n type: Object,\n default: null\n }, selectedOptions: {\n type: Array,\n default: null\n }, labelField: { type: String, default: 'label' }, valueField: {\n type: String,\n default: 'value'\n }, multiple: Boolean, filterable: Boolean, clearable: Boolean, disabled: Boolean, size: {\n type: String,\n default: 'medium'\n }, loading: Boolean, autofocus: Boolean, showArrow: {\n type: Boolean,\n default: true\n }, inputProps: Object, focused: Boolean, renderTag: Function, onKeydown: Function, onClick: Function, onBlur: Function, onFocus: Function, onDeleteOption: Function, maxTagCount: [String, Number], onClear: Function, onPatternInput: Function, onPatternFocus: Function, onPatternBlur: Function, renderLabel: Function, status: String, inlineThemeDisabled: Boolean, ignoreComposition: { type: Boolean, default: true }, onResize: Function }),\n setup(props) {\n const patternInputMirrorRef = ref(null);\n const patternInputRef = ref(null);\n const selfRef = ref(null);\n const multipleElRef = ref(null);\n const singleElRef = ref(null);\n const patternInputWrapperRef = ref(null);\n const counterRef = ref(null);\n const counterWrapperRef = ref(null);\n const overflowRef = ref(null);\n const inputTagElRef = ref(null);\n const showTagsPopoverRef = ref(false);\n const patternInputFocusedRef = ref(false);\n const hoverRef = ref(false);\n const themeRef = useTheme('InternalSelection', '-internal-selection', style, internalSelectionLight, props, toRef(props, 'clsPrefix'));\n const mergedClearableRef = computed(() => {\n return (props.clearable && !props.disabled && (hoverRef.value || props.active));\n });\n const filterablePlaceholderRef = computed(() => {\n return props.selectedOption\n ? props.renderTag\n ? props.renderTag({\n option: props.selectedOption,\n handleClose: () => { }\n })\n : props.renderLabel\n ? props.renderLabel(props.selectedOption, true)\n : render(props.selectedOption[props.labelField], props.selectedOption, true)\n : props.placeholder;\n });\n const labelRef = computed(() => {\n const option = props.selectedOption;\n if (!option)\n return undefined;\n return option[props.labelField];\n });\n const selectedRef = computed(() => {\n if (props.multiple) {\n return !!(Array.isArray(props.selectedOptions) && props.selectedOptions.length);\n }\n else {\n return props.selectedOption !== null;\n }\n });\n function syncMirrorWidth() {\n var _a;\n const { value: patternInputMirrorEl } = patternInputMirrorRef;\n if (patternInputMirrorEl) {\n const { value: patternInputEl } = patternInputRef;\n if (patternInputEl) {\n patternInputEl.style.width = `${patternInputMirrorEl.offsetWidth}px`;\n if (props.maxTagCount !== 'responsive') {\n (_a = overflowRef.value) === null || _a === void 0 ? void 0 : _a.sync({\n showAllItemsBeforeCalculate: false\n });\n }\n }\n }\n }\n function hideInputTag() {\n const { value: inputTagEl } = inputTagElRef;\n if (inputTagEl)\n inputTagEl.style.display = 'none';\n }\n function showInputTag() {\n const { value: inputTagEl } = inputTagElRef;\n if (inputTagEl)\n inputTagEl.style.display = 'inline-block';\n }\n watch(toRef(props, 'active'), (value) => {\n if (!value)\n hideInputTag();\n });\n watch(toRef(props, 'pattern'), () => {\n if (props.multiple) {\n void nextTick(syncMirrorWidth);\n }\n });\n function doFocus(e) {\n const { onFocus } = props;\n if (onFocus)\n onFocus(e);\n }\n function doBlur(e) {\n const { onBlur } = props;\n if (onBlur)\n onBlur(e);\n }\n function doDeleteOption(value) {\n const { onDeleteOption } = props;\n if (onDeleteOption)\n onDeleteOption(value);\n }\n function doClear(e) {\n const { onClear } = props;\n if (onClear)\n onClear(e);\n }\n function doPatternInput(value) {\n const { onPatternInput } = props;\n if (onPatternInput)\n onPatternInput(value);\n }\n function handleFocusin(e) {\n var _a;\n if (!e.relatedTarget ||\n !((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget))) {\n doFocus(e);\n }\n }\n function handleFocusout(e) {\n var _a;\n if ((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget))\n return;\n doBlur(e);\n }\n function handleClear(e) {\n doClear(e);\n }\n function handleMouseEnter() {\n hoverRef.value = true;\n }\n function handleMouseLeave() {\n hoverRef.value = false;\n }\n function handleMouseDown(e) {\n if (!props.active || !props.filterable)\n return;\n if (e.target === patternInputRef.value)\n return;\n e.preventDefault();\n }\n function handleDeleteOption(option) {\n doDeleteOption(option);\n }\n function handlePatternKeyDown(e) {\n if (e.key === 'Backspace' && !isComposingRef.value) {\n if (!props.pattern.length) {\n const { selectedOptions } = props;\n if (selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.length) {\n handleDeleteOption(selectedOptions[selectedOptions.length - 1]);\n }\n }\n }\n }\n const isComposingRef = ref(false);\n // the composition end is later than its input so we can cached the event\n // and return the input event\n let cachedInputEvent = null;\n function handlePatternInputInput(e) {\n // we should sync mirror width here\n const { value: patternInputMirrorEl } = patternInputMirrorRef;\n if (patternInputMirrorEl) {\n const inputText = e.target.value;\n patternInputMirrorEl.textContent = inputText;\n syncMirrorWidth();\n }\n if (props.ignoreComposition) {\n if (!isComposingRef.value) {\n doPatternInput(e);\n }\n else {\n cachedInputEvent = e;\n }\n }\n else {\n doPatternInput(e);\n }\n }\n function handleCompositionStart() {\n isComposingRef.value = true;\n }\n function handleCompositionEnd() {\n isComposingRef.value = false;\n if (props.ignoreComposition) {\n doPatternInput(cachedInputEvent);\n }\n cachedInputEvent = null;\n }\n function handlePatternInputFocus(e) {\n var _a;\n patternInputFocusedRef.value = true;\n (_a = props.onPatternFocus) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handlePatternInputBlur(e) {\n var _a;\n patternInputFocusedRef.value = false;\n (_a = props.onPatternBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function blur() {\n var _a, _b;\n if (props.filterable) {\n patternInputFocusedRef.value = false;\n (_a = patternInputWrapperRef.value) === null || _a === void 0 ? void 0 : _a.blur();\n (_b = patternInputRef.value) === null || _b === void 0 ? void 0 : _b.blur();\n }\n else if (props.multiple) {\n const { value: multipleEl } = multipleElRef;\n multipleEl === null || multipleEl === void 0 ? void 0 : multipleEl.blur();\n }\n else {\n const { value: singleEl } = singleElRef;\n singleEl === null || singleEl === void 0 ? void 0 : singleEl.blur();\n }\n }\n function focus() {\n var _a, _b, _c;\n if (props.filterable) {\n patternInputFocusedRef.value = false;\n (_a = patternInputWrapperRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n }\n else if (props.multiple) {\n (_b = multipleElRef.value) === null || _b === void 0 ? void 0 : _b.focus();\n }\n else {\n (_c = singleElRef.value) === null || _c === void 0 ? void 0 : _c.focus();\n }\n }\n function focusInput() {\n const { value: patternInputEl } = patternInputRef;\n if (patternInputEl) {\n showInputTag();\n patternInputEl.focus();\n }\n }\n function blurInput() {\n const { value: patternInputEl } = patternInputRef;\n if (patternInputEl) {\n patternInputEl.blur();\n }\n }\n function updateCounter(count) {\n const { value } = counterRef;\n if (value) {\n value.setTextContent(`+${count}`);\n }\n }\n function getCounter() {\n const { value } = counterWrapperRef;\n return value;\n }\n function getTail() {\n return patternInputRef.value;\n }\n let enterTimerId = null;\n function clearEnterTimer() {\n if (enterTimerId !== null)\n window.clearTimeout(enterTimerId);\n }\n function handleMouseEnterCounter() {\n if (props.active)\n return;\n clearEnterTimer();\n enterTimerId = window.setTimeout(() => {\n if (selectedRef.value) {\n showTagsPopoverRef.value = true;\n }\n }, 100);\n }\n function handleMouseLeaveCounter() {\n clearEnterTimer();\n }\n function onPopoverUpdateShow(show) {\n if (!show) {\n clearEnterTimer();\n showTagsPopoverRef.value = false;\n }\n }\n watch(selectedRef, (value) => {\n if (!value) {\n showTagsPopoverRef.value = false;\n }\n });\n onMounted(() => {\n watchEffect(() => {\n const patternInputWrapperEl = patternInputWrapperRef.value;\n if (!patternInputWrapperEl)\n return;\n if (props.disabled) {\n patternInputWrapperEl.removeAttribute('tabindex');\n }\n else {\n patternInputWrapperEl.tabIndex = patternInputFocusedRef.value ? -1 : 0;\n }\n });\n });\n useOnResize(selfRef, props.onResize);\n const { inlineThemeDisabled } = props;\n const cssVarsRef = computed(() => {\n const { size } = props;\n const { common: { cubicBezierEaseInOut }, self: { borderRadius, color, placeholderColor, textColor, paddingSingle, paddingMultiple, caretColor, colorDisabled, textColorDisabled, placeholderColorDisabled, colorActive, boxShadowFocus, boxShadowActive, boxShadowHover, border, borderFocus, borderHover, borderActive, arrowColor, arrowColorDisabled, loadingColor, \n // form warning\n colorActiveWarning, boxShadowFocusWarning, boxShadowActiveWarning, boxShadowHoverWarning, borderWarning, borderFocusWarning, borderHoverWarning, borderActiveWarning, \n // form error\n colorActiveError, boxShadowFocusError, boxShadowActiveError, boxShadowHoverError, borderError, borderFocusError, borderHoverError, borderActiveError, \n // clear\n clearColor, clearColorHover, clearColorPressed, clearSize, \n // arrow\n arrowSize, [createKey('height', size)]: height, [createKey('fontSize', size)]: fontSize } } = themeRef.value;\n return {\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border': border,\n '--n-border-active': borderActive,\n '--n-border-focus': borderFocus,\n '--n-border-hover': borderHover,\n '--n-border-radius': borderRadius,\n '--n-box-shadow-active': boxShadowActive,\n '--n-box-shadow-focus': boxShadowFocus,\n '--n-box-shadow-hover': boxShadowHover,\n '--n-caret-color': caretColor,\n '--n-color': color,\n '--n-color-active': colorActive,\n '--n-color-disabled': colorDisabled,\n '--n-font-size': fontSize,\n '--n-height': height,\n '--n-padding-single': paddingSingle,\n '--n-padding-multiple': paddingMultiple,\n '--n-placeholder-color': placeholderColor,\n '--n-placeholder-color-disabled': placeholderColorDisabled,\n '--n-text-color': textColor,\n '--n-text-color-disabled': textColorDisabled,\n '--n-arrow-color': arrowColor,\n '--n-arrow-color-disabled': arrowColorDisabled,\n '--n-loading-color': loadingColor,\n // form warning\n '--n-color-active-warning': colorActiveWarning,\n '--n-box-shadow-focus-warning': boxShadowFocusWarning,\n '--n-box-shadow-active-warning': boxShadowActiveWarning,\n '--n-box-shadow-hover-warning': boxShadowHoverWarning,\n '--n-border-warning': borderWarning,\n '--n-border-focus-warning': borderFocusWarning,\n '--n-border-hover-warning': borderHoverWarning,\n '--n-border-active-warning': borderActiveWarning,\n // form error\n '--n-color-active-error': colorActiveError,\n '--n-box-shadow-focus-error': boxShadowFocusError,\n '--n-box-shadow-active-error': boxShadowActiveError,\n '--n-box-shadow-hover-error': boxShadowHoverError,\n '--n-border-error': borderError,\n '--n-border-focus-error': borderFocusError,\n '--n-border-hover-error': borderHoverError,\n '--n-border-active-error': borderActiveError,\n // clear\n '--n-clear-size': clearSize,\n '--n-clear-color': clearColor,\n '--n-clear-color-hover': clearColorHover,\n '--n-clear-color-pressed': clearColorPressed,\n // arrow-size\n '--n-arrow-size': arrowSize\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('internal-selection', computed(() => {\n return props.size[0];\n }), cssVarsRef, props)\n : undefined;\n return {\n mergedTheme: themeRef,\n mergedClearable: mergedClearableRef,\n patternInputFocused: patternInputFocusedRef,\n filterablePlaceholder: filterablePlaceholderRef,\n label: labelRef,\n selected: selectedRef,\n showTagsPanel: showTagsPopoverRef,\n isComposing: isComposingRef,\n // dom ref\n counterRef,\n counterWrapperRef,\n patternInputMirrorRef,\n patternInputRef,\n selfRef,\n multipleElRef,\n singleElRef,\n patternInputWrapperRef,\n overflowRef,\n inputTagElRef,\n handleMouseDown,\n handleFocusin,\n handleClear,\n handleMouseEnter,\n handleMouseLeave,\n handleDeleteOption,\n handlePatternKeyDown,\n handlePatternInputInput,\n handlePatternInputBlur,\n handlePatternInputFocus,\n handleMouseEnterCounter,\n handleMouseLeaveCounter,\n handleFocusout,\n handleCompositionEnd,\n handleCompositionStart,\n onPopoverUpdateShow,\n focus,\n focusInput,\n blur,\n blurInput,\n updateCounter,\n getCounter,\n getTail,\n renderLabel: props.renderLabel,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n const { status, multiple, size, disabled, filterable, maxTagCount, bordered, clsPrefix, onRender, renderTag, renderLabel } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const maxTagCountResponsive = maxTagCount === 'responsive';\n const maxTagCountNumeric = typeof maxTagCount === 'number';\n const useMaxTagCount = maxTagCountResponsive || maxTagCountNumeric;\n const suffix = (h(Wrapper, null, {\n default: () => (h(Suffix, { clsPrefix: clsPrefix, loading: this.loading, showArrow: this.showArrow, showClear: this.mergedClearable && this.selected, onClear: this.handleClear }, {\n default: () => { var _a, _b; return (_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a); }\n }))\n }));\n let body;\n if (multiple) {\n const { labelField } = this;\n const createTag = (option) => (h(\"div\", { class: `${clsPrefix}-base-selection-tag-wrapper`, key: option.value }, renderTag ? (renderTag({\n option,\n handleClose: () => {\n this.handleDeleteOption(option);\n }\n })) : (h(NTag, { size: size, closable: !option.disabled, disabled: disabled, onClose: () => {\n this.handleDeleteOption(option);\n }, internalCloseIsButtonTag: false, internalCloseFocusable: false }, {\n default: () => renderLabel\n ? renderLabel(option, true)\n : render(option[labelField], option, true)\n }))));\n const createOriginalTagNodes = () => (maxTagCountNumeric\n ? this.selectedOptions.slice(0, maxTagCount)\n : this.selectedOptions).map(createTag);\n const input = filterable ? (h(\"div\", { class: `${clsPrefix}-base-selection-input-tag`, ref: \"inputTagElRef\", key: \"__input-tag__\" },\n h(\"input\", Object.assign({}, this.inputProps, { ref: \"patternInputRef\", tabindex: -1, disabled: disabled, value: this.pattern, autofocus: this.autofocus, class: `${clsPrefix}-base-selection-input-tag__input`, onBlur: this.handlePatternInputBlur, onFocus: this.handlePatternInputFocus, onKeydown: this.handlePatternKeyDown, onInput: this.handlePatternInputInput, onCompositionstart: this.handleCompositionStart, onCompositionend: this.handleCompositionEnd })),\n h(\"span\", { ref: \"patternInputMirrorRef\", class: `${clsPrefix}-base-selection-input-tag__mirror` }, this.pattern))) : null;\n // May Overflow\n const renderCounter = maxTagCountResponsive\n ? () => (h(\"div\", { class: `${clsPrefix}-base-selection-tag-wrapper`, ref: \"counterWrapperRef\" },\n h(NTag, { size: size, ref: \"counterRef\", onMouseenter: this.handleMouseEnterCounter, onMouseleave: this.handleMouseLeaveCounter, disabled: disabled })))\n : undefined;\n let counter;\n if (maxTagCountNumeric) {\n const rest = this.selectedOptions.length - maxTagCount;\n if (rest > 0) {\n counter = (h(\"div\", { class: `${clsPrefix}-base-selection-tag-wrapper`, key: \"__counter__\" },\n h(NTag, { size: size, ref: \"counterRef\", onMouseenter: this.handleMouseEnterCounter, disabled: disabled }, {\n default: () => `+${rest}`\n })));\n }\n }\n const tags = maxTagCountResponsive ? (filterable ? (h(VOverflow, { ref: \"overflowRef\", updateCounter: this.updateCounter, getCounter: this.getCounter, getTail: this.getTail, style: {\n width: '100%',\n display: 'flex',\n overflow: 'hidden'\n } }, {\n default: createOriginalTagNodes,\n counter: renderCounter,\n tail: () => input\n })) : (h(VOverflow, { ref: \"overflowRef\", updateCounter: this.updateCounter, getCounter: this.getCounter, style: {\n width: '100%',\n display: 'flex',\n overflow: 'hidden'\n } }, {\n default: createOriginalTagNodes,\n counter: renderCounter\n }))) : maxTagCountNumeric && counter ? (createOriginalTagNodes().concat(counter)) : (createOriginalTagNodes());\n const renderPopover = useMaxTagCount\n ? () => (h(\"div\", { class: `${clsPrefix}-base-selection-popover` }, maxTagCountResponsive\n ? createOriginalTagNodes()\n : this.selectedOptions.map(createTag)))\n : undefined;\n const popoverProps = useMaxTagCount\n ? {\n show: this.showTagsPanel,\n trigger: 'hover',\n overlap: true,\n placement: 'top',\n width: 'trigger',\n onUpdateShow: this.onPopoverUpdateShow,\n theme: this.mergedTheme.peers.Popover,\n themeOverrides: this.mergedTheme.peerOverrides.Popover\n }\n : null;\n const showPlaceholder = this.selected\n ? false\n : this.active\n ? !this.pattern && !this.isComposing\n : true;\n const placeholder = showPlaceholder ? (h(\"div\", { class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay` },\n h(\"div\", { class: `${clsPrefix}-base-selection-placeholder__inner` }, this.placeholder))) : null;\n const popoverTrigger = filterable ? (h(\"div\", { ref: \"patternInputWrapperRef\", class: `${clsPrefix}-base-selection-tags` },\n tags,\n maxTagCountResponsive ? null : input,\n suffix)) : (h(\"div\", { ref: \"multipleElRef\", class: `${clsPrefix}-base-selection-tags`, tabindex: disabled ? undefined : 0 },\n tags,\n suffix));\n body = (h(Fragment, null,\n useMaxTagCount ? (h(NPopover, Object.assign({}, popoverProps, { scrollable: true, style: \"max-height: calc(var(--v-target-height) * 6.6);\" }), {\n trigger: () => popoverTrigger,\n default: renderPopover\n })) : (popoverTrigger),\n placeholder));\n }\n else {\n if (filterable) {\n const hasInput = this.pattern || this.isComposing;\n const showPlaceholder = this.active ? !hasInput : !this.selected;\n const showSelectedLabel = this.active ? false : this.selected;\n body = (h(\"div\", { ref: \"patternInputWrapperRef\", class: `${clsPrefix}-base-selection-label` },\n h(\"input\", Object.assign({}, this.inputProps, { ref: \"patternInputRef\", class: `${clsPrefix}-base-selection-input`, value: this.active ? this.pattern : '', placeholder: \"\", readonly: disabled, disabled: disabled, tabindex: -1, autofocus: this.autofocus, onFocus: this.handlePatternInputFocus, onBlur: this.handlePatternInputBlur, onInput: this.handlePatternInputInput, onCompositionstart: this.handleCompositionStart, onCompositionend: this.handleCompositionEnd })),\n showSelectedLabel ? (h(\"div\", { class: `${clsPrefix}-base-selection-label__render-label ${clsPrefix}-base-selection-overlay`, key: \"input\" },\n h(\"div\", { class: `${clsPrefix}-base-selection-overlay__wrapper` }, renderTag\n ? renderTag({\n option: this.selectedOption,\n handleClose: () => { }\n })\n : renderLabel\n ? renderLabel(this.selectedOption, true)\n : render(this.label, this.selectedOption, true)))) : null,\n showPlaceholder ? (h(\"div\", { class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`, key: \"placeholder\" },\n h(\"div\", { class: `${clsPrefix}-base-selection-overlay__wrapper` }, this.filterablePlaceholder))) : null,\n suffix));\n }\n else {\n body = (h(\"div\", { ref: \"singleElRef\", class: `${clsPrefix}-base-selection-label`, tabindex: this.disabled ? undefined : 0 },\n this.label !== undefined ? (h(\"div\", { class: `${clsPrefix}-base-selection-input`, title: getTitleAttribute(this.label), key: \"input\" },\n h(\"div\", { class: `${clsPrefix}-base-selection-input__content` }, renderTag\n ? renderTag({\n option: this.selectedOption,\n handleClose: () => { }\n })\n : renderLabel\n ? renderLabel(this.selectedOption, true)\n : render(this.label, this.selectedOption, true)))) : (h(\"div\", { class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`, key: \"placeholder\" },\n h(\"div\", { class: `${clsPrefix}-base-selection-placeholder__inner` }, this.placeholder))),\n suffix));\n }\n }\n return (h(\"div\", { ref: \"selfRef\", class: [\n `${clsPrefix}-base-selection`,\n this.themeClass,\n status && `${clsPrefix}-base-selection--${status}-status`,\n {\n [`${clsPrefix}-base-selection--active`]: this.active,\n [`${clsPrefix}-base-selection--selected`]: this.selected || (this.active && this.pattern),\n [`${clsPrefix}-base-selection--disabled`]: this.disabled,\n [`${clsPrefix}-base-selection--multiple`]: this.multiple,\n // focus is not controlled by selection itself since it always need\n // to be managed together with menu. provide :focus style will cause\n // many redundant codes.\n [`${clsPrefix}-base-selection--focus`]: this.focused\n }\n ], style: this.cssVars, onClick: this.onClick, onMouseenter: this.handleMouseEnter, onMouseleave: this.handleMouseLeave, onKeydown: this.onKeydown, onFocusin: this.handleFocusin, onFocusout: this.handleFocusout, onMousedown: this.handleMouseDown },\n body,\n bordered ? (h(\"div\", { class: `${clsPrefix}-base-selection__border` })) : null,\n bordered ? (h(\"div\", { class: `${clsPrefix}-base-selection__state-border` })) : null));\n }\n});\n","export function getIsGroup(option) {\n return option.type === 'group';\n}\nexport function getIgnored(option) {\n return option.type === 'ignored';\n}\nexport function patternMatched(pattern, value) {\n try {\n return !!(1 + value.toString().toLowerCase().indexOf(pattern.trim().toLowerCase()));\n }\n catch (err) {\n return false;\n }\n}\nexport function createTmOptions(valueField, childrenField) {\n const options = {\n getIsGroup,\n getIgnored,\n getKey(option) {\n if (getIsGroup(option)) {\n return (option.name ||\n option.key ||\n 'key-required');\n }\n // Required for non-custom label & value field\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return option[valueField];\n },\n getChildren(option) {\n return option[childrenField];\n }\n };\n return options;\n}\nexport function filterOptions(originalOpts, filter, pattern, childrenField) {\n if (!filter)\n return originalOpts;\n function traverse(options) {\n if (!Array.isArray(options))\n return [];\n const filteredOptions = [];\n for (const option of options) {\n if (getIsGroup(option)) {\n const children = traverse(option[childrenField]);\n if (children.length) {\n filteredOptions.push(Object.assign({}, option, {\n [childrenField]: children\n }));\n }\n }\n else if (getIgnored(option)) {\n continue;\n }\n else if (filter(pattern, option)) {\n filteredOptions.push(option);\n }\n }\n return filteredOptions;\n }\n return traverse(originalOpts);\n}\nexport function createValOptMap(options, valueField, childrenField) {\n const valOptMap = new Map();\n options.forEach((option) => {\n if (getIsGroup(option)) {\n ;\n option[childrenField].forEach((selectGroupOption) => {\n valOptMap.set(selectGroupOption[valueField], selectGroupOption);\n });\n }\n else {\n valOptMap.set(option[valueField], option);\n }\n });\n return valOptMap;\n}\n","import { internalSelectMenuLight } from '../../_internal/select-menu/styles';\nimport { commonLight } from '../../_styles/common';\nimport { popoverLight } from '../../popover/styles';\nimport { createTheme } from '../../_mixins';\nexport function self(vars) {\n const { boxShadow2 } = vars;\n return {\n menuBoxShadow: boxShadow2\n };\n}\nconst popselectLight = createTheme({\n name: 'Popselect',\n common: commonLight,\n peers: {\n Popover: popoverLight,\n InternalSelectMenu: internalSelectMenuLight\n },\n self\n});\nexport default popselectLight;\n","import { createInjectionKey } from '../../_utils';\nexport const popselectInjectionKey = createInjectionKey('n-popselect');\n","import { cB } from '../../../_utils/cssr';\n// --n-menu-box-shadow\nexport default cB('popselect-menu', `\n box-shadow: var(--n-menu-box-shadow);\n`);","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, computed, defineComponent, inject, toRef, watch, nextTick, watchEffect } from 'vue';\nimport { createTreeMate } from 'treemate';\nimport { happensIn } from 'seemly';\nimport { createTmOptions } from '../../select/src/utils';\nimport { useConfig, useTheme, useThemeClass } from '../../_mixins';\nimport { NInternalSelectMenu } from '../../_internal';\nimport { call, keysOf, warn } from '../../_utils';\nimport { popselectLight } from '../styles';\nimport { popselectInjectionKey } from './interface';\nimport style from './styles/index.cssr';\nexport const panelProps = {\n multiple: Boolean,\n value: {\n type: [String, Number, Array],\n default: null\n },\n cancelable: Boolean,\n options: {\n type: Array,\n default: () => []\n },\n size: {\n type: String,\n default: 'medium'\n },\n scrollable: Boolean,\n 'onUpdate:value': [Function, Array],\n onUpdateValue: [Function, Array],\n onMouseenter: Function,\n onMouseleave: Function,\n renderLabel: Function,\n showCheckmark: {\n type: Boolean,\n default: undefined\n },\n nodeProps: Function,\n virtualScroll: Boolean,\n // deprecated\n onChange: [Function, Array]\n};\nexport const panelPropKeys = keysOf(panelProps);\nexport default defineComponent({\n name: 'PopselectPanel',\n props: panelProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onChange !== undefined) {\n warn('popselect', '`on-change` is deprecated, please use `on-update:value` instead.');\n }\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NPopselect = inject(popselectInjectionKey);\n const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);\n const themeRef = useTheme('Popselect', '-pop-select', style, popselectLight, NPopselect.props, mergedClsPrefixRef);\n const treeMateRef = computed(() => {\n return createTreeMate(props.options, createTmOptions('value', 'children'));\n });\n function doUpdateValue(value, option) {\n const { onUpdateValue, 'onUpdate:value': _onUpdateValue, onChange } = props;\n if (onUpdateValue)\n call(onUpdateValue, value, option);\n if (_onUpdateValue) {\n call(_onUpdateValue, value, option);\n }\n if (onChange)\n call(onChange, value, option);\n }\n function handleToggle(tmNode) {\n toggle(tmNode.key);\n }\n function handleMenuMousedown(e) {\n if (!happensIn(e, 'action'))\n e.preventDefault();\n }\n function toggle(value) {\n const { value: { getNode } } = treeMateRef;\n if (props.multiple) {\n if (Array.isArray(props.value)) {\n const newValue = [];\n const newOptions = [];\n let shouldAddValue = true;\n props.value.forEach((v) => {\n if (v === value) {\n shouldAddValue = false;\n return;\n }\n const tmNode = getNode(v);\n if (tmNode) {\n newValue.push(tmNode.key);\n newOptions.push(tmNode.rawNode);\n }\n });\n if (shouldAddValue) {\n newValue.push(value);\n newOptions.push(getNode(value).rawNode);\n }\n doUpdateValue(newValue, newOptions);\n }\n else {\n const tmNode = getNode(value);\n if (tmNode) {\n doUpdateValue([value], [tmNode.rawNode]);\n }\n }\n }\n else {\n if (props.value === value && props.cancelable) {\n doUpdateValue(null, null);\n }\n else {\n const tmNode = getNode(value);\n if (tmNode) {\n doUpdateValue(value, tmNode.rawNode);\n }\n const { 'onUpdate:show': _onUpdateShow, onUpdateShow } = NPopselect.props;\n if (_onUpdateShow)\n call(_onUpdateShow, false);\n if (onUpdateShow)\n call(onUpdateShow, false);\n NPopselect.setShow(false);\n }\n }\n void nextTick(() => {\n NPopselect.syncPosition();\n });\n }\n watch(toRef(props, 'options'), () => {\n void nextTick(() => {\n NPopselect.syncPosition();\n });\n });\n const cssVarsRef = computed(() => {\n const { self: { menuBoxShadow } } = themeRef.value;\n return {\n '--n-menu-box-shadow': menuBoxShadow\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('select', undefined, cssVarsRef, NPopselect.props)\n : undefined;\n return {\n mergedTheme: NPopselect.mergedThemeRef,\n mergedClsPrefix: mergedClsPrefixRef,\n treeMate: treeMateRef,\n handleToggle,\n handleMenuMousedown,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n var _a;\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n return (h(NInternalSelectMenu, { clsPrefix: this.mergedClsPrefix, focusable: true, nodeProps: this.nodeProps, class: [`${this.mergedClsPrefix}-popselect-menu`, this.themeClass], style: this.cssVars, theme: this.mergedTheme.peers.InternalSelectMenu, themeOverrides: this.mergedTheme.peerOverrides.InternalSelectMenu, multiple: this.multiple, treeMate: this.treeMate, size: this.size, value: this.value, virtualScroll: this.virtualScroll, scrollable: this.scrollable, renderLabel: this.renderLabel, onToggle: this.handleToggle, onMouseenter: this.onMouseenter, onMouseleave: this.onMouseenter, onMousedown: this.handleMenuMousedown, showCheckmark: this.showCheckmark }, {\n header: () => { var _a, _b; return ((_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a)) || []; },\n action: () => { var _a, _b; return ((_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a)) || []; },\n empty: () => { var _a, _b; return ((_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a)) || []; }\n }));\n }\n});\n","import { h, ref, provide, defineComponent } from 'vue';\nimport { popoverBaseProps } from '../../popover/src/Popover';\nimport { NPopover } from '../../popover';\nimport NPopselectPanel, { panelPropKeys, panelProps } from './PopselectPanel';\nimport { omit, keep, createRefSetter, mergeEventHandlers } from '../../_utils';\nimport { useConfig, useTheme } from '../../_mixins';\nimport { popselectLight } from '../styles';\nimport { popselectInjectionKey } from './interface';\nexport const popselectProps = Object.assign(Object.assign(Object.assign(Object.assign({}, useTheme.props), omit(popoverBaseProps, ['showArrow', 'arrow'])), { placement: Object.assign(Object.assign({}, popoverBaseProps.placement), { default: 'bottom' }), trigger: {\n type: String,\n default: 'hover'\n } }), panelProps);\nexport default defineComponent({\n name: 'Popselect',\n props: popselectProps,\n inheritAttrs: false,\n __popover__: true,\n setup(props) {\n const { mergedClsPrefixRef } = useConfig(props);\n const themeRef = useTheme('Popselect', '-popselect', undefined, popselectLight, props, mergedClsPrefixRef);\n const popoverInstRef = ref(null);\n function syncPosition() {\n var _a;\n (_a = popoverInstRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition();\n }\n function setShow(value) {\n var _a;\n (_a = popoverInstRef.value) === null || _a === void 0 ? void 0 : _a.setShow(value);\n }\n provide(popselectInjectionKey, {\n props,\n mergedThemeRef: themeRef,\n syncPosition,\n setShow\n });\n const exposedMethods = {\n syncPosition,\n setShow\n };\n return Object.assign(Object.assign({}, exposedMethods), { popoverInstRef, mergedTheme: themeRef });\n },\n render() {\n const { mergedTheme } = this;\n const popoverProps = {\n theme: mergedTheme.peers.Popover,\n themeOverrides: mergedTheme.peerOverrides.Popover,\n builtinThemeOverrides: {\n padding: '0'\n },\n ref: 'popoverInstRef',\n internalRenderBody: (className, ref, style, onMouseenter, onMouseleave) => {\n const { $attrs } = this;\n return (h(NPopselectPanel, Object.assign({}, $attrs, { class: [$attrs.class, className], style: [$attrs.style, ...style] }, keep(this.$props, panelPropKeys), { ref: createRefSetter(ref), onMouseenter: mergeEventHandlers([\n onMouseenter,\n $attrs.onMouseenter\n ]), onMouseleave: mergeEventHandlers([\n onMouseleave,\n $attrs.onMouseleave\n ]) }), {\n header: () => { var _a, _b; return (_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a); },\n action: () => { var _a, _b; return (_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a); },\n empty: () => { var _a, _b; return (_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a); }\n }));\n }\n };\n return (h(NPopover, Object.assign({}, omit(this.$props, panelPropKeys), popoverProps, { internalDeactivateImmediately: true }), {\n trigger: () => { var _a, _b; return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a); }\n }));\n }\n});\n","import { internalSelectionLight } from '../../_internal/selection/styles';\nimport { internalSelectMenuLight } from '../../_internal/select-menu/styles';\nimport { commonLight } from '../../_styles/common';\nimport { createTheme } from '../../_mixins';\nexport function self(vars) {\n const { boxShadow2 } = vars;\n return {\n menuBoxShadow: boxShadow2\n };\n}\nconst selectLight = createTheme({\n name: 'Select',\n common: commonLight,\n peers: {\n InternalSelection: internalSelectionLight,\n InternalSelectMenu: internalSelectMenuLight\n },\n self\n});\nexport default selectLight;\n","import { cB, c } from '../../../_utils/cssr';\nimport { fadeInScaleUpTransition } from '../../../_styles/transitions/fade-in-scale-up.cssr';\n// --n-menu-box-shadow\nexport default c([cB('select', `\n z-index: auto;\n outline: none;\n width: 100%;\n position: relative;\n `), cB('select-menu', `\n margin: 4px 0;\n box-shadow: var(--n-menu-box-shadow);\n `, [fadeInScaleUpTransition({\n originalTransition: 'background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)'\n})])]);","import { h, ref, computed, toRef, defineComponent, watch, Transition, withDirectives, vShow, watchEffect } from 'vue';\nimport { getPreciseEventTarget, happensIn } from 'seemly';\nimport { createTreeMate } from 'treemate';\nimport { VBinder, VFollower, VTarget } from 'vueuc';\nimport { useIsMounted, useMergedState, useCompitable } from 'vooks';\nimport { clickoutside } from 'vdirs';\nimport { useTheme, useConfig, useLocale, useFormItem, useThemeClass } from '../../_mixins';\nimport { call, markEventEffectPerformed, useAdjustedTo, warnOnce } from '../../_utils';\nimport { NInternalSelectMenu, NInternalSelection } from '../../_internal';\nimport { selectLight } from '../styles';\nimport { createValOptMap, filterOptions, createTmOptions, patternMatched } from './utils';\nimport style from './styles/index.cssr';\nexport const selectProps = Object.assign(Object.assign({}, useTheme.props), { to: useAdjustedTo.propTo, bordered: {\n type: Boolean,\n default: undefined\n }, clearable: Boolean, clearFilterAfterSelect: {\n type: Boolean,\n default: true\n }, options: {\n type: Array,\n default: () => []\n }, defaultValue: {\n type: [String, Number, Array],\n default: null\n }, keyboard: {\n type: Boolean,\n default: true\n }, value: [String, Number, Array], placeholder: String, menuProps: Object, multiple: Boolean, size: String, filterable: Boolean, disabled: {\n type: Boolean,\n default: undefined\n }, remote: Boolean, loading: Boolean, filter: Function, placement: {\n type: String,\n default: 'bottom-start'\n }, widthMode: {\n type: String,\n default: 'trigger'\n }, tag: Boolean, onCreate: Function, fallbackOption: {\n type: [Function, Boolean],\n default: undefined\n }, show: {\n type: Boolean,\n default: undefined\n }, showArrow: {\n type: Boolean,\n default: true\n }, maxTagCount: [Number, String], consistentMenuWidth: {\n type: Boolean,\n default: true\n }, virtualScroll: {\n type: Boolean,\n default: true\n }, labelField: {\n type: String,\n default: 'label'\n }, valueField: {\n type: String,\n default: 'value'\n }, childrenField: {\n type: String,\n default: 'children'\n }, renderLabel: Function, renderOption: Function, renderTag: Function, 'onUpdate:value': [Function, Array], inputProps: Object, nodeProps: Function, ignoreComposition: { type: Boolean, default: true }, showOnFocus: Boolean, \n // for jsx\n onUpdateValue: [Function, Array], onBlur: [Function, Array], onClear: [Function, Array], onFocus: [Function, Array], onScroll: [Function, Array], onSearch: [Function, Array], onUpdateShow: [Function, Array], 'onUpdate:show': [Function, Array], displayDirective: {\n type: String,\n default: 'show'\n }, resetMenuOnOptionsChange: {\n type: Boolean,\n default: true\n }, status: String, showCheckmark: {\n type: Boolean,\n default: true\n }, \n /** deprecated */\n onChange: [Function, Array], items: Array });\nexport default defineComponent({\n name: 'Select',\n props: selectProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.items !== undefined) {\n warnOnce('select', '`items` is deprecated, please use `options` instead.');\n }\n if (props.onChange !== undefined) {\n warnOnce('select', '`on-change` is deprecated, please use `on-update:value` instead.');\n }\n });\n }\n const { mergedClsPrefixRef, mergedBorderedRef, namespaceRef, inlineThemeDisabled } = useConfig(props);\n const themeRef = useTheme('Select', '-select', style, selectLight, props, mergedClsPrefixRef);\n const uncontrolledValueRef = ref(props.defaultValue);\n const controlledValueRef = toRef(props, 'value');\n const mergedValueRef = useMergedState(controlledValueRef, uncontrolledValueRef);\n const focusedRef = ref(false);\n const patternRef = ref('');\n const treeMateRef = computed(() => {\n const { valueField, childrenField } = props;\n const options = createTmOptions(valueField, childrenField);\n return createTreeMate(filteredOptionsRef.value, options);\n });\n const valOptMapRef = computed(() => createValOptMap(localOptionsRef.value, props.valueField, props.childrenField));\n const uncontrolledShowRef = ref(false);\n const mergedShowRef = useMergedState(toRef(props, 'show'), uncontrolledShowRef);\n const triggerRef = ref(null);\n const followerRef = ref(null);\n const menuRef = ref(null);\n const { localeRef } = useLocale('Select');\n const localizedPlaceholderRef = computed(() => {\n var _a;\n return (_a = props.placeholder) !== null && _a !== void 0 ? _a : localeRef.value.placeholder;\n });\n const compitableOptionsRef = useCompitable(props, ['items', 'options']);\n const emptyArray = [];\n const createdOptionsRef = ref([]);\n const beingCreatedOptionsRef = ref([]);\n const memoValOptMapRef = ref(new Map());\n const wrappedFallbackOptionRef = computed(() => {\n const { fallbackOption } = props;\n if (fallbackOption === undefined) {\n const { labelField, valueField } = props;\n return (value) => ({\n [labelField]: String(value),\n [valueField]: value\n });\n }\n if (fallbackOption === false)\n return false;\n return (value) => {\n return Object.assign(fallbackOption(value), {\n value\n });\n };\n });\n const localOptionsRef = computed(() => {\n return beingCreatedOptionsRef.value.concat(createdOptionsRef.value).concat(compitableOptionsRef.value);\n });\n const resolvedFilterRef = computed(() => {\n const { filter } = props;\n if (filter)\n return filter;\n const { labelField, valueField } = props;\n return (pattern, option) => {\n if (!option)\n return false;\n const label = option[labelField];\n if (typeof label === 'string') {\n return patternMatched(pattern, label);\n }\n const value = option[valueField];\n if (typeof value === 'string') {\n return patternMatched(pattern, value);\n }\n if (typeof value === 'number') {\n return patternMatched(pattern, String(value));\n }\n return false;\n };\n });\n const filteredOptionsRef = computed(() => {\n if (props.remote) {\n return compitableOptionsRef.value;\n }\n else {\n const { value: localOptions } = localOptionsRef;\n const { value: pattern } = patternRef;\n if (!pattern.length || !props.filterable) {\n return localOptions;\n }\n else {\n return filterOptions(localOptions, resolvedFilterRef.value, pattern, props.childrenField);\n }\n }\n });\n function getMergedOptions(values) {\n const remote = props.remote;\n const { value: memoValOptMap } = memoValOptMapRef;\n const { value: valOptMap } = valOptMapRef;\n const { value: wrappedFallbackOption } = wrappedFallbackOptionRef;\n const options = [];\n values.forEach((value) => {\n if (valOptMap.has(value)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n options.push(valOptMap.get(value));\n }\n else if (remote && memoValOptMap.has(value)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n options.push(memoValOptMap.get(value));\n }\n else if (wrappedFallbackOption) {\n const option = wrappedFallbackOption(value);\n if (option) {\n options.push(option);\n }\n }\n });\n return options;\n }\n const selectedOptionsRef = computed(() => {\n if (props.multiple) {\n const { value: values } = mergedValueRef;\n if (!Array.isArray(values))\n return [];\n return getMergedOptions(values);\n }\n return null;\n });\n const selectedOptionRef = computed(() => {\n const { value: mergedValue } = mergedValueRef;\n if (!props.multiple && !Array.isArray(mergedValue)) {\n if (mergedValue === null)\n return null;\n return getMergedOptions([mergedValue])[0] || null;\n }\n return null;\n });\n const formItem = useFormItem(props);\n const { mergedSizeRef, mergedDisabledRef, mergedStatusRef } = formItem;\n function doUpdateValue(value, option) {\n const { onChange, 'onUpdate:value': _onUpdateValue, onUpdateValue } = props;\n const { nTriggerFormChange, nTriggerFormInput } = formItem;\n if (onChange)\n call(onChange, value, option);\n if (onUpdateValue)\n call(onUpdateValue, value, option);\n if (_onUpdateValue) {\n call(_onUpdateValue, value, option);\n }\n uncontrolledValueRef.value = value;\n nTriggerFormChange();\n nTriggerFormInput();\n }\n function doBlur(e) {\n const { onBlur } = props;\n const { nTriggerFormBlur } = formItem;\n if (onBlur)\n call(onBlur, e);\n nTriggerFormBlur();\n }\n function doClear() {\n const { onClear } = props;\n if (onClear)\n call(onClear);\n }\n function doFocus(e) {\n const { onFocus, showOnFocus } = props;\n const { nTriggerFormFocus } = formItem;\n if (onFocus)\n call(onFocus, e);\n nTriggerFormFocus();\n if (showOnFocus) {\n openMenu();\n }\n }\n function doSearch(value) {\n const { onSearch } = props;\n if (onSearch)\n call(onSearch, value);\n }\n function doScroll(e) {\n const { onScroll } = props;\n if (onScroll)\n call(onScroll, e);\n }\n // remote related methods\n function updateMemorizedOptions() {\n var _a;\n const { remote, multiple } = props;\n if (remote) {\n const { value: memoValOptMap } = memoValOptMapRef;\n if (multiple) {\n const { valueField } = props;\n (_a = selectedOptionsRef.value) === null || _a === void 0 ? void 0 : _a.forEach((option) => {\n memoValOptMap.set(option[valueField], option);\n });\n }\n else {\n const option = selectedOptionRef.value;\n if (option) {\n memoValOptMap.set(option[props.valueField], option);\n }\n }\n }\n }\n // menu related methods\n function doUpdateShow(value) {\n const { onUpdateShow, 'onUpdate:show': _onUpdateShow } = props;\n if (onUpdateShow)\n call(onUpdateShow, value);\n if (_onUpdateShow)\n call(_onUpdateShow, value);\n uncontrolledShowRef.value = value;\n }\n function openMenu() {\n if (!mergedDisabledRef.value) {\n doUpdateShow(true);\n uncontrolledShowRef.value = true;\n if (props.filterable) {\n focusSelectionInput();\n }\n }\n }\n function closeMenu() {\n doUpdateShow(false);\n }\n function handleMenuAfterLeave() {\n patternRef.value = '';\n beingCreatedOptionsRef.value = emptyArray;\n }\n const activeWithoutMenuOpenRef = ref(false);\n function onTriggerInputFocus() {\n if (props.filterable) {\n activeWithoutMenuOpenRef.value = true;\n }\n }\n function onTriggerInputBlur() {\n if (props.filterable) {\n activeWithoutMenuOpenRef.value = false;\n if (!mergedShowRef.value) {\n handleMenuAfterLeave();\n }\n }\n }\n function handleTriggerClick() {\n if (mergedDisabledRef.value)\n return;\n if (!mergedShowRef.value) {\n openMenu();\n }\n else {\n if (!props.filterable) {\n // already focused, don't need to return focus\n closeMenu();\n }\n else {\n focusSelectionInput();\n }\n }\n }\n function handleTriggerBlur(e) {\n var _a, _b;\n if ((_b = (_a = menuRef.value) === null || _a === void 0 ? void 0 : _a.selfRef) === null || _b === void 0 ? void 0 : _b.contains(e.relatedTarget)) {\n return;\n }\n focusedRef.value = false;\n doBlur(e);\n // outside select, don't need to return focus\n closeMenu();\n }\n function handleTriggerFocus(e) {\n doFocus(e);\n focusedRef.value = true;\n }\n function handleMenuFocus(e) {\n focusedRef.value = true;\n }\n function handleMenuBlur(e) {\n var _a;\n if ((_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.$el.contains(e.relatedTarget))\n return;\n focusedRef.value = false;\n doBlur(e);\n // outside select, don't need to return focus\n closeMenu();\n }\n function handleMenuTabOut() {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n closeMenu();\n }\n function handleMenuClickOutside(e) {\n var _a;\n if (mergedShowRef.value) {\n if (!((_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.$el.contains(getPreciseEventTarget(e)))) {\n // outside select, don't need to return focus\n closeMenu();\n }\n }\n }\n function createClearedMultipleSelectValue(value) {\n if (!Array.isArray(value))\n return [];\n if (wrappedFallbackOptionRef.value) {\n // if option has a fallback, I can't help user to clear some unknown value\n return Array.from(value);\n }\n else {\n // if there's no option fallback, unappeared options are treated as invalid\n const { remote } = props;\n const { value: valOptMap } = valOptMapRef;\n if (remote) {\n const { value: memoValOptMap } = memoValOptMapRef;\n return value.filter((v) => valOptMap.has(v) || memoValOptMap.has(v));\n }\n else {\n return value.filter((v) => valOptMap.has(v));\n }\n }\n }\n function handleToggleByTmNode(tmNode) {\n handleToggleByOption(tmNode.rawNode);\n }\n function handleToggleByOption(option) {\n if (mergedDisabledRef.value)\n return;\n const { tag, remote, clearFilterAfterSelect, valueField } = props;\n if (tag && !remote) {\n const { value: beingCreatedOptions } = beingCreatedOptionsRef;\n const beingCreatedOption = beingCreatedOptions[0] || null;\n if (beingCreatedOption) {\n const createdOptions = createdOptionsRef.value;\n if (!createdOptions.length) {\n createdOptionsRef.value = [beingCreatedOption];\n }\n else {\n createdOptions.push(beingCreatedOption);\n }\n beingCreatedOptionsRef.value = emptyArray;\n }\n }\n if (remote) {\n memoValOptMapRef.value.set(option[valueField], option);\n }\n if (props.multiple) {\n const changedValue = createClearedMultipleSelectValue(mergedValueRef.value);\n const index = changedValue.findIndex((value) => value === option[valueField]);\n if (~index) {\n changedValue.splice(index, 1);\n if (tag && !remote) {\n const createdOptionIndex = getCreatedOptionIndex(option[valueField]);\n if (~createdOptionIndex) {\n createdOptionsRef.value.splice(createdOptionIndex, 1);\n if (clearFilterAfterSelect)\n patternRef.value = '';\n }\n }\n }\n else {\n changedValue.push(option[valueField]);\n if (clearFilterAfterSelect)\n patternRef.value = '';\n }\n doUpdateValue(changedValue, getMergedOptions(changedValue));\n }\n else {\n if (tag && !remote) {\n const createdOptionIndex = getCreatedOptionIndex(option[valueField]);\n if (~createdOptionIndex) {\n createdOptionsRef.value = [\n createdOptionsRef.value[createdOptionIndex]\n ];\n }\n else {\n createdOptionsRef.value = emptyArray;\n }\n }\n focusSelection();\n closeMenu();\n doUpdateValue(option[valueField], option);\n }\n }\n function getCreatedOptionIndex(optionValue) {\n const createdOptions = createdOptionsRef.value;\n return createdOptions.findIndex((createdOption) => createdOption[props.valueField] === optionValue);\n }\n function handlePatternInput(e) {\n if (!mergedShowRef.value) {\n openMenu();\n }\n const { value } = e.target;\n patternRef.value = value;\n const { tag, remote } = props;\n doSearch(value);\n if (tag && !remote) {\n if (!value) {\n beingCreatedOptionsRef.value = emptyArray;\n return;\n }\n const { onCreate } = props;\n const optionBeingCreated = onCreate\n ? onCreate(value)\n : { [props.labelField]: value, [props.valueField]: value };\n const { valueField, labelField } = props;\n if (compitableOptionsRef.value.some((option) => {\n return (option[valueField] === optionBeingCreated[valueField] ||\n option[labelField] === optionBeingCreated[labelField]);\n }) ||\n createdOptionsRef.value.some((option) => {\n return (option[valueField] === optionBeingCreated[valueField] ||\n option[labelField] === optionBeingCreated[labelField]);\n })) {\n beingCreatedOptionsRef.value = emptyArray;\n }\n else {\n beingCreatedOptionsRef.value = [optionBeingCreated];\n }\n }\n }\n function handleClear(e) {\n e.stopPropagation();\n const { multiple } = props;\n if (!multiple && props.filterable) {\n closeMenu();\n }\n doClear();\n if (multiple) {\n doUpdateValue([], []);\n }\n else {\n doUpdateValue(null, null);\n }\n }\n function handleMenuMousedown(e) {\n if (!happensIn(e, 'action') && !happensIn(e, 'empty'))\n e.preventDefault();\n }\n // scroll events on menu\n function handleMenuScroll(e) {\n doScroll(e);\n }\n // keyboard events\n // also for menu keydown\n function handleKeydown(e) {\n var _a, _b, _c, _d, _e;\n if (!props.keyboard) {\n e.preventDefault();\n return;\n }\n switch (e.key) {\n case ' ':\n if (props.filterable)\n break;\n else {\n e.preventDefault();\n }\n // eslint-disable-next-line no-fallthrough\n case 'Enter':\n if (!((_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.isComposing)) {\n if (mergedShowRef.value) {\n const pendingTmNode = (_b = menuRef.value) === null || _b === void 0 ? void 0 : _b.getPendingTmNode();\n if (pendingTmNode) {\n handleToggleByTmNode(pendingTmNode);\n }\n else if (!props.filterable) {\n closeMenu();\n focusSelection();\n }\n }\n else {\n openMenu();\n if (props.tag && activeWithoutMenuOpenRef.value) {\n const beingCreatedOption = beingCreatedOptionsRef.value[0];\n if (beingCreatedOption) {\n const optionValue = beingCreatedOption[props.valueField];\n const { value: mergedValue } = mergedValueRef;\n if (props.multiple) {\n if (Array.isArray(mergedValue) &&\n mergedValue.some((value) => value === optionValue)) {\n // do nothing\n }\n else {\n handleToggleByOption(beingCreatedOption);\n }\n }\n else {\n handleToggleByOption(beingCreatedOption);\n }\n }\n }\n }\n }\n e.preventDefault();\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (props.loading)\n return;\n if (mergedShowRef.value) {\n (_c = menuRef.value) === null || _c === void 0 ? void 0 : _c.prev();\n }\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (props.loading)\n return;\n if (mergedShowRef.value) {\n (_d = menuRef.value) === null || _d === void 0 ? void 0 : _d.next();\n }\n else {\n openMenu();\n }\n break;\n case 'Escape':\n if (mergedShowRef.value) {\n markEventEffectPerformed(e);\n closeMenu();\n }\n (_e = triggerRef.value) === null || _e === void 0 ? void 0 : _e.focus();\n break;\n }\n }\n function focusSelection() {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n }\n function focusSelectionInput() {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focusInput();\n }\n function handleTriggerOrMenuResize() {\n var _a;\n if (!mergedShowRef.value)\n return;\n (_a = followerRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition();\n }\n updateMemorizedOptions();\n watch(toRef(props, 'options'), updateMemorizedOptions);\n const exposedMethods = {\n focus: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n },\n focusInput: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focusInput();\n },\n blur: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.blur();\n },\n blurInput: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.blurInput();\n }\n };\n const cssVarsRef = computed(() => {\n const { self: { menuBoxShadow } } = themeRef.value;\n return {\n '--n-menu-box-shadow': menuBoxShadow\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('select', undefined, cssVarsRef, props)\n : undefined;\n return Object.assign(Object.assign({}, exposedMethods), { mergedStatus: mergedStatusRef, mergedClsPrefix: mergedClsPrefixRef, mergedBordered: mergedBorderedRef, namespace: namespaceRef, treeMate: treeMateRef, isMounted: useIsMounted(), triggerRef,\n menuRef, pattern: patternRef, uncontrolledShow: uncontrolledShowRef, mergedShow: mergedShowRef, adjustedTo: useAdjustedTo(props), uncontrolledValue: uncontrolledValueRef, mergedValue: mergedValueRef, followerRef, localizedPlaceholder: localizedPlaceholderRef, selectedOption: selectedOptionRef, selectedOptions: selectedOptionsRef, mergedSize: mergedSizeRef, mergedDisabled: mergedDisabledRef, focused: focusedRef, activeWithoutMenuOpen: activeWithoutMenuOpenRef, inlineThemeDisabled,\n onTriggerInputFocus,\n onTriggerInputBlur,\n handleTriggerOrMenuResize,\n handleMenuFocus,\n handleMenuBlur,\n handleMenuTabOut,\n handleTriggerClick, handleToggle: handleToggleByTmNode, handleDeleteOption: handleToggleByOption, handlePatternInput,\n handleClear,\n handleTriggerBlur,\n handleTriggerFocus,\n handleKeydown,\n handleMenuAfterLeave,\n handleMenuClickOutside,\n handleMenuScroll, handleMenuKeydown: handleKeydown, handleMenuMousedown, mergedTheme: themeRef, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender });\n },\n render() {\n return (h(\"div\", { class: `${this.mergedClsPrefix}-select` },\n h(VBinder, null, {\n default: () => [\n h(VTarget, null, {\n default: () => (h(NInternalSelection, { ref: \"triggerRef\", inlineThemeDisabled: this.inlineThemeDisabled, status: this.mergedStatus, inputProps: this.inputProps, clsPrefix: this.mergedClsPrefix, showArrow: this.showArrow, maxTagCount: this.maxTagCount, bordered: this.mergedBordered, active: this.activeWithoutMenuOpen || this.mergedShow, pattern: this.pattern, placeholder: this.localizedPlaceholder, selectedOption: this.selectedOption, selectedOptions: this.selectedOptions, multiple: this.multiple, renderTag: this.renderTag, renderLabel: this.renderLabel, filterable: this.filterable, clearable: this.clearable, disabled: this.mergedDisabled, size: this.mergedSize, theme: this.mergedTheme.peers.InternalSelection, labelField: this.labelField, valueField: this.valueField, themeOverrides: this.mergedTheme.peerOverrides.InternalSelection, loading: this.loading, focused: this.focused, onClick: this.handleTriggerClick, onDeleteOption: this.handleDeleteOption, onPatternInput: this.handlePatternInput, onClear: this.handleClear, onBlur: this.handleTriggerBlur, onFocus: this.handleTriggerFocus, onKeydown: this.handleKeydown, onPatternBlur: this.onTriggerInputBlur, onPatternFocus: this.onTriggerInputFocus, onResize: this.handleTriggerOrMenuResize, ignoreComposition: this.ignoreComposition }, {\n arrow: () => { var _a, _b; return [(_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a)]; }\n }))\n }),\n h(VFollower, { ref: \"followerRef\", show: this.mergedShow, to: this.adjustedTo, teleportDisabled: this.adjustedTo === useAdjustedTo.tdkey, containerClass: this.namespace, width: this.consistentMenuWidth ? 'target' : undefined, minWidth: \"target\", placement: this.placement }, {\n default: () => (h(Transition, { name: \"fade-in-scale-up-transition\", appear: this.isMounted, onAfterLeave: this.handleMenuAfterLeave }, {\n default: () => {\n var _a, _b, _c;\n if (!(this.mergedShow ||\n this.displayDirective === 'show')) {\n return null;\n }\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n return withDirectives(h(NInternalSelectMenu, Object.assign({}, this.menuProps, { ref: \"menuRef\", onResize: this.handleTriggerOrMenuResize, inlineThemeDisabled: this.inlineThemeDisabled, virtualScroll: this.consistentMenuWidth && this.virtualScroll, class: [\n `${this.mergedClsPrefix}-select-menu`,\n this.themeClass,\n (_b = this.menuProps) === null || _b === void 0 ? void 0 : _b.class\n ], clsPrefix: this.mergedClsPrefix, focusable: true, labelField: this.labelField, valueField: this.valueField, autoPending: true, nodeProps: this.nodeProps, theme: this.mergedTheme.peers.InternalSelectMenu, themeOverrides: this.mergedTheme.peerOverrides\n .InternalSelectMenu, treeMate: this.treeMate, multiple: this.multiple, size: \"medium\", renderOption: this.renderOption, renderLabel: this.renderLabel, value: this.mergedValue, style: [(_c = this.menuProps) === null || _c === void 0 ? void 0 : _c.style, this.cssVars], onToggle: this.handleToggle, onScroll: this.handleMenuScroll, onFocus: this.handleMenuFocus, onBlur: this.handleMenuBlur, onKeydown: this.handleMenuKeydown, onTabOut: this.handleMenuTabOut, onMousedown: this.handleMenuMousedown, show: this.mergedShow, showCheckmark: this.showCheckmark, resetMenuOnOptionsChange: this.resetMenuOnOptionsChange }), {\n empty: () => { var _a, _b; return [(_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a)]; },\n action: () => { var _a, _b; return [(_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a)]; }\n }), this.displayDirective === 'show'\n ? [\n [vShow, this.mergedShow],\n [\n clickoutside,\n this.handleMenuClickOutside,\n undefined,\n { capture: true }\n ]\n ]\n : [\n [\n clickoutside,\n this.handleMenuClickOutside,\n undefined,\n { capture: true }\n ]\n ]);\n }\n }))\n })\n ]\n })));\n }\n});\n","export default {\n itemPaddingSmall: '0 4px',\n itemMarginSmall: '0 0 0 8px',\n itemMarginSmallRtl: '0 8px 0 0',\n itemPaddingMedium: '0 4px',\n itemMarginMedium: '0 0 0 8px',\n itemMarginMediumRtl: '0 8px 0 0',\n itemPaddingLarge: '0 4px',\n itemMarginLarge: '0 0 0 8px',\n itemMarginLargeRtl: '0 8px 0 0',\n buttonIconSizeSmall: '14px',\n buttonIconSizeMedium: '16px',\n buttonIconSizeLarge: '18px',\n inputWidthSmall: '60px',\n selectWidthSmall: 'unset',\n inputMarginSmall: '0 0 0 8px',\n inputMarginSmallRtl: '0 8px 0 0',\n selectMarginSmall: '0 0 0 8px',\n prefixMarginSmall: '0 8px 0 0',\n suffixMarginSmall: '0 0 0 8px',\n inputWidthMedium: '60px',\n selectWidthMedium: 'unset',\n inputMarginMedium: '0 0 0 8px',\n inputMarginMediumRtl: '0 8px 0 0',\n selectMarginMedium: '0 0 0 8px',\n prefixMarginMedium: '0 8px 0 0',\n suffixMarginMedium: '0 0 0 8px',\n inputWidthLarge: '60px',\n selectWidthLarge: 'unset',\n inputMarginLarge: '0 0 0 8px',\n inputMarginLargeRtl: '0 8px 0 0',\n selectMarginLarge: '0 0 0 8px',\n prefixMarginLarge: '0 8px 0 0',\n suffixMarginLarge: '0 0 0 8px'\n};\n","import { popselectLight } from '../../popselect/styles';\nimport { selectLight } from '../../select/styles';\nimport { inputLight } from '../../input/styles';\nimport { commonLight } from '../../_styles/common';\nimport commonVariables from './_common';\nimport { createTheme } from '../../_mixins';\nexport const self = (vars) => {\n const { textColor2, primaryColor, primaryColorHover, primaryColorPressed, inputColorDisabled, textColorDisabled, borderColor, borderRadius, \n // item font size\n fontSizeTiny, fontSizeSmall, fontSizeMedium, \n // item size\n heightTiny, heightSmall, heightMedium } = vars;\n return Object.assign(Object.assign({}, commonVariables), { buttonColor: '#0000', buttonColorHover: '#0000', buttonColorPressed: '#0000', buttonBorder: `1px solid ${borderColor}`, buttonBorderHover: `1px solid ${borderColor}`, buttonBorderPressed: `1px solid ${borderColor}`, buttonIconColor: textColor2, buttonIconColorHover: textColor2, buttonIconColorPressed: textColor2, itemTextColor: textColor2, itemTextColorHover: primaryColorHover, itemTextColorPressed: primaryColorPressed, itemTextColorActive: primaryColor, itemTextColorDisabled: textColorDisabled, itemColor: '#0000', itemColorHover: '#0000', itemColorPressed: '#0000', itemColorActive: '#0000', itemColorActiveHover: '#0000', itemColorDisabled: inputColorDisabled, itemBorder: '1px solid #0000', itemBorderHover: '1px solid #0000', itemBorderPressed: '1px solid #0000', itemBorderActive: `1px solid ${primaryColor}`, itemBorderDisabled: `1px solid ${borderColor}`, itemBorderRadius: borderRadius, itemSizeSmall: heightTiny, itemSizeMedium: heightSmall, itemSizeLarge: heightMedium, itemFontSizeSmall: fontSizeTiny, itemFontSizeMedium: fontSizeSmall, itemFontSizeLarge: fontSizeMedium, jumperFontSizeSmall: fontSizeTiny, jumperFontSizeMedium: fontSizeSmall, jumperFontSizeLarge: fontSizeMedium, jumperTextColor: textColor2, jumperTextColorDisabled: textColorDisabled });\n};\nconst paginationLight = createTheme({\n name: 'Pagination',\n common: commonLight,\n peers: {\n Select: selectLight,\n Input: inputLight,\n Popselect: popselectLight\n },\n self\n});\nexport default paginationLight;\n","function createPageItemsInfo(currentPage, pageCount, pageSlot) {\n let hasFastBackward = false;\n let hasFastForward = false;\n let fastBackwardTo = 1;\n let fastForwardTo = pageCount;\n if (pageCount === 1) {\n return {\n hasFastBackward: false,\n hasFastForward: false,\n fastForwardTo,\n fastBackwardTo,\n items: [\n {\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n }\n ]\n };\n }\n if (pageCount === 2) {\n return {\n hasFastBackward: false,\n hasFastForward: false,\n fastForwardTo,\n fastBackwardTo,\n items: [\n {\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n },\n {\n type: 'page',\n label: 2,\n active: currentPage === 2,\n mayBeFastBackward: true,\n mayBeFastForward: false\n }\n ]\n };\n }\n const firstPage = 1;\n const lastPage = pageCount;\n let middleStart = currentPage;\n let middleEnd = currentPage;\n const middleDelta = (pageSlot - 5) / 2;\n middleEnd += Math.ceil(middleDelta);\n middleEnd = Math.min(Math.max(middleEnd, firstPage + pageSlot - 3), lastPage - 2);\n middleStart -= Math.floor(middleDelta);\n middleStart = Math.max(Math.min(middleStart, lastPage - pageSlot + 3), firstPage + 2);\n let leftSplit = false;\n let rightSplit = false;\n if (middleStart > firstPage + 2)\n leftSplit = true;\n if (middleEnd < lastPage - 2)\n rightSplit = true;\n const items = [];\n items.push({\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n });\n if (leftSplit) {\n hasFastBackward = true;\n fastBackwardTo = middleStart - 1;\n items.push({\n type: 'fast-backward',\n active: false,\n label: undefined,\n options: createRange(firstPage + 1, middleStart - 1)\n });\n }\n else if (lastPage >= firstPage + 1) {\n items.push({\n type: 'page',\n label: firstPage + 1,\n mayBeFastBackward: true,\n mayBeFastForward: false,\n active: currentPage === firstPage + 1\n });\n }\n for (let i = middleStart; i <= middleEnd; ++i) {\n items.push({\n type: 'page',\n label: i,\n mayBeFastBackward: false,\n mayBeFastForward: false,\n active: currentPage === i\n });\n }\n if (rightSplit) {\n hasFastForward = true;\n fastForwardTo = middleEnd + 1;\n items.push({\n type: 'fast-forward',\n active: false,\n label: undefined,\n options: createRange(middleEnd + 1, lastPage - 1)\n });\n }\n else if (middleEnd === lastPage - 2 &&\n items[items.length - 1].label !== lastPage - 1) {\n items.push({\n type: 'page',\n mayBeFastForward: true,\n mayBeFastBackward: false,\n label: lastPage - 1,\n active: currentPage === lastPage - 1\n });\n }\n if (items[items.length - 1].label !== lastPage) {\n items.push({\n type: 'page',\n mayBeFastForward: false,\n mayBeFastBackward: false,\n label: lastPage,\n active: currentPage === lastPage\n });\n }\n return {\n hasFastBackward,\n hasFastForward,\n fastBackwardTo,\n fastForwardTo,\n items\n };\n}\nfunction createRange(from, to) {\n const range = [];\n for (let i = from; i <= to; ++i) {\n range.push({\n label: `${i}`,\n value: i\n });\n }\n return range;\n}\nexport { createPageItemsInfo };\n","import { cB, c, cM, cNotM } from '../../../_utils/cssr';\nconst hoverStyleProps = `\n background: var(--n-item-color-hover);\n color: var(--n-item-text-color-hover);\n border: var(--n-item-border-hover);\n`;\nconst hoverStyleChildren = [cM('button', `\n background: var(--n-button-color-hover);\n border: var(--n-button-border-hover);\n color: var(--n-button-icon-color-hover);\n `)];\n// vars:\n// --n-item-font-size\n// --n-select-width\n// --n-input-width\n// --n-input-margin\n// --n-item-size\n// --n-item-text-color\n// --n-item-text-color-disabled\n// --n-item-text-color-hover\n// --n-item-text-color-active\n// --n-item-color\n// --n-item-color-hover\n// --n-item-color-disabled\n// --n-item-color-active\n// --n-item-color-active-hover\n// --n-item-border\n// --n-item-border-hover\n// --n-item-border-disabled\n// --n-item-border-active\n// --n-item-padding\n// --n-item-font-size\n// --n-item-border-radius\n// --n-bezier\n// --n-jumper-font-size\n// --n-jumper-text-color\n// --n-jumper-text-color-disabled\n// --n-item-margin\n// --n-button-icon-size\n// --n-button-icon-color\n// --n-button-icon-color-hover\n// --n-button-icon-color-pressed\n// --n-prefix-margin\n// --n-suffix-margin\n// --n-button-color\n// --n-button-color-hover\n// --n-button-color-pressed\nexport default cB('pagination', `\n display: flex;\n vertical-align: middle;\n font-size: var(--n-item-font-size);\n flex-wrap: nowrap;\n`, [cB('pagination-prefix', `\n display: flex;\n align-items: center;\n margin: var(--n-prefix-margin);\n `), cB('pagination-suffix', `\n display: flex;\n align-items: center;\n margin: var(--n-suffix-margin);\n `), c('> *:not(:first-child)', `\n margin: var(--n-item-margin);\n `), cB('select', `\n width: var(--n-select-width);\n `), c('&.transition-disabled', [cB('pagination-item', 'transition: none!important;')]), cB('pagination-quick-jumper', `\n white-space: nowrap;\n display: flex;\n color: var(--n-jumper-text-color);\n transition: color .3s var(--n-bezier);\n align-items: center;\n font-size: var(--n-jumper-font-size);\n `, [cB('input', `\n margin: var(--n-input-margin);\n width: var(--n-input-width);\n `)]), cB('pagination-item', `\n position: relative;\n cursor: pointer;\n user-select: none;\n -webkit-user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: var(--n-item-size);\n height: var(--n-item-size);\n padding: var(--n-item-padding);\n background-color: var(--n-item-color);\n color: var(--n-item-text-color);\n border-radius: var(--n-item-border-radius);\n border: var(--n-item-border);\n fill: var(--n-button-icon-color);\n transition:\n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n fill .3s var(--n-bezier);\n `, [cM('button', `\n background: var(--n-button-color);\n color: var(--n-button-icon-color);\n border: var(--n-button-border);\n padding: 0;\n `, [cB('base-icon', `\n font-size: var(--n-button-icon-size);\n `)]), cNotM('disabled', [cM('hover', hoverStyleProps, hoverStyleChildren), c('&:hover', hoverStyleProps, hoverStyleChildren), c('&:active', `\n background: var(--n-item-color-pressed);\n color: var(--n-item-text-color-pressed);\n border: var(--n-item-border-pressed);\n `, [cM('button', `\n background: var(--n-button-color-pressed);\n border: var(--n-button-border-pressed);\n color: var(--n-button-icon-color-pressed);\n `)]), cM('active', `\n background: var(--n-item-color-active);\n color: var(--n-item-text-color-active);\n border: var(--n-item-border-active);\n `, [c('&:hover', `\n background: var(--n-item-color-active-hover);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n color: var(--n-item-text-color-disabled);\n `, [cM('active, button', `\n background-color: var(--n-item-color-disabled);\n border: var(--n-item-border-disabled);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n `, [cB('pagination-quick-jumper', `\n color: var(--n-jumper-text-color-disabled);\n `)]), cM('simple', `\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n `, [cB('pagination-quick-jumper', [cB('input', `\n margin: 0;\n `)])])]);","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { computed, defineComponent, Fragment, h, nextTick, ref, toRef, watchEffect } from 'vue';\nimport { useMergedState } from 'vooks';\nimport { NPopselect } from '../../popselect';\nimport { NSelect } from '../../select';\nimport { NInput } from '../../input';\nimport { NBaseIcon } from '../../_internal';\nimport { BackwardIcon, FastBackwardIcon, FastForwardIcon, ForwardIcon, MoreIcon } from '../../_internal/icons';\nimport { useConfig, useLocale, useTheme, useThemeClass } from '../../_mixins';\nimport { paginationLight } from '../styles';\nimport { createPageItemsInfo } from './utils';\nimport style from './styles/index.cssr';\nimport { useAdjustedTo, call, resolveSlot, warn, warnOnce, createKey, smallerSize } from '../../_utils';\nimport { useRtl } from '../../_mixins/use-rtl';\nexport const paginationProps = Object.assign(Object.assign({}, useTheme.props), { simple: Boolean, page: Number, defaultPage: {\n type: Number,\n default: 1\n }, itemCount: Number, pageCount: Number, defaultPageCount: {\n type: Number,\n default: 1\n }, showSizePicker: Boolean, pageSize: Number, defaultPageSize: Number, pageSizes: {\n type: Array,\n default() {\n return [10];\n }\n }, showQuickJumper: Boolean, size: {\n type: String,\n default: 'medium'\n }, disabled: Boolean, pageSlot: {\n type: Number,\n default: 9\n }, selectProps: Object, prev: Function, next: Function, goto: Function, prefix: Function, suffix: Function, label: Function, displayOrder: {\n type: Array,\n default: ['pages', 'size-picker', 'quick-jumper']\n }, to: useAdjustedTo.propTo, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array], \n /** @deprecated */\n onPageSizeChange: [Function, Array], \n /** @deprecated */\n onChange: [Function, Array] });\nexport default defineComponent({\n name: 'Pagination',\n props: paginationProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.pageCount !== undefined && props.itemCount !== undefined) {\n warn('pagination', \"`page-count` and `item-count` should't be specified together. Only `item-count` will take effect.\");\n }\n if (props.onPageSizeChange) {\n warnOnce('pagination', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');\n }\n if (props.onChange) {\n warnOnce('pagination', '`on-change` is deprecated, please use `on-update:page` instead.');\n }\n });\n }\n const { mergedComponentPropsRef, mergedClsPrefixRef, inlineThemeDisabled, mergedRtlRef } = useConfig(props);\n const themeRef = useTheme('Pagination', '-pagination', style, paginationLight, props, mergedClsPrefixRef);\n const { localeRef } = useLocale('Pagination');\n const selfRef = ref(null);\n const uncontrolledPageRef = ref(props.defaultPage);\n const getDefaultPageSize = () => {\n const { defaultPageSize } = props;\n if (defaultPageSize !== undefined)\n return defaultPageSize;\n const pageSizeOption = props.pageSizes[0];\n if (typeof pageSizeOption === 'number')\n return pageSizeOption;\n return pageSizeOption.value || 10;\n };\n const uncontrolledPageSizeRef = ref(getDefaultPageSize());\n const mergedPageRef = useMergedState(toRef(props, 'page'), uncontrolledPageRef);\n const mergedPageSizeRef = useMergedState(toRef(props, 'pageSize'), uncontrolledPageSizeRef);\n const mergedPageCountRef = computed(() => {\n // item count has high priority, for it can affect prefix slot rendering\n const { itemCount } = props;\n if (itemCount !== undefined) {\n return Math.max(1, Math.ceil(itemCount / mergedPageSizeRef.value));\n }\n const { pageCount } = props;\n if (pageCount !== undefined)\n return Math.max(pageCount, 1);\n return 1;\n });\n const jumperValueRef = ref('');\n watchEffect(() => {\n void props.simple;\n jumperValueRef.value = String(mergedPageRef.value);\n });\n const fastForwardActiveRef = ref(false);\n const fastBackwardActiveRef = ref(false);\n const showFastForwardMenuRef = ref(false);\n const showFastBackwardMenuRef = ref(false);\n const handleFastForwardMouseenter = () => {\n if (props.disabled)\n return;\n fastForwardActiveRef.value = true;\n disableTransitionOneTick();\n };\n const handleFastForwardMouseleave = () => {\n if (props.disabled)\n return;\n fastForwardActiveRef.value = false;\n disableTransitionOneTick();\n };\n const handleFastBackwardMouseenter = () => {\n fastBackwardActiveRef.value = true;\n disableTransitionOneTick();\n };\n const handleFastBackwardMouseleave = () => {\n fastBackwardActiveRef.value = false;\n disableTransitionOneTick();\n };\n const handleMenuSelect = (value) => {\n doUpdatePage(value);\n };\n const pageItemsInfo = computed(() => createPageItemsInfo(mergedPageRef.value, mergedPageCountRef.value, props.pageSlot));\n watchEffect(() => {\n if (!pageItemsInfo.value.hasFastBackward) {\n fastBackwardActiveRef.value = false;\n showFastBackwardMenuRef.value = false;\n }\n else if (!pageItemsInfo.value.hasFastForward) {\n fastForwardActiveRef.value = false;\n showFastForwardMenuRef.value = false;\n }\n });\n const pageSizeOptionsRef = computed(() => {\n const suffix = localeRef.value.selectionSuffix;\n return props.pageSizes.map((size) => {\n if (typeof size === 'number') {\n return {\n label: `${size} / ${suffix}`,\n value: size\n };\n }\n else {\n return size;\n }\n });\n });\n const inputSizeRef = computed(() => {\n var _a, _b;\n return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.Pagination) === null || _b === void 0 ? void 0 : _b.inputSize) ||\n smallerSize(props.size));\n });\n const selectSizeRef = computed(() => {\n var _a, _b;\n return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.Pagination) === null || _b === void 0 ? void 0 : _b.selectSize) ||\n smallerSize(props.size));\n });\n const startIndexRef = computed(() => {\n return (mergedPageRef.value - 1) * mergedPageSizeRef.value;\n });\n const endIndexRef = computed(() => {\n const endIndex = mergedPageRef.value * mergedPageSizeRef.value - 1;\n const { itemCount } = props;\n if (itemCount !== undefined) {\n return endIndex > itemCount - 1 ? itemCount - 1 : endIndex;\n }\n return endIndex;\n });\n const mergedItemCountRef = computed(() => {\n const { itemCount } = props;\n if (itemCount !== undefined)\n return itemCount;\n return (props.pageCount || 1) * mergedPageSizeRef.value;\n });\n const rtlEnabledRef = useRtl('Pagination', mergedRtlRef, mergedClsPrefixRef);\n const disableTransitionOneTick = () => {\n void nextTick(() => {\n var _a;\n const { value: selfEl } = selfRef;\n if (!selfEl)\n return;\n selfEl.classList.add('transition-disabled');\n void ((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.offsetWidth);\n selfEl.classList.remove('transition-disabled');\n });\n };\n function doUpdatePage(page) {\n if (page === mergedPageRef.value)\n return;\n const { 'onUpdate:page': _onUpdatePage, onUpdatePage, onChange, simple } = props;\n if (_onUpdatePage)\n call(_onUpdatePage, page);\n if (onUpdatePage)\n call(onUpdatePage, page);\n // deprecated\n if (onChange)\n call(onChange, page);\n uncontrolledPageRef.value = page;\n if (simple) {\n jumperValueRef.value = String(page);\n }\n }\n function doUpdatePageSize(pageSize) {\n if (pageSize === mergedPageSizeRef.value)\n return;\n const { 'onUpdate:pageSize': _onUpdatePageSize, onUpdatePageSize, onPageSizeChange } = props;\n if (_onUpdatePageSize)\n call(_onUpdatePageSize, pageSize);\n if (onUpdatePageSize)\n call(onUpdatePageSize, pageSize);\n // deprecated\n if (onPageSizeChange)\n call(onPageSizeChange, pageSize);\n uncontrolledPageSizeRef.value = pageSize;\n // update new page when overflows.\n // we may have different update strategy, but i've no time to impl it\n if (mergedPageCountRef.value < mergedPageRef.value) {\n doUpdatePage(mergedPageCountRef.value);\n }\n }\n function forward() {\n if (props.disabled)\n return;\n const page = Math.min(mergedPageRef.value + 1, mergedPageCountRef.value);\n doUpdatePage(page);\n }\n function backward() {\n if (props.disabled)\n return;\n const page = Math.max(mergedPageRef.value - 1, 1);\n doUpdatePage(page);\n }\n function fastForward() {\n if (props.disabled)\n return;\n const page = Math.min(pageItemsInfo.value.fastForwardTo, mergedPageCountRef.value);\n doUpdatePage(page);\n }\n function fastBackward() {\n if (props.disabled)\n return;\n const page = Math.max(pageItemsInfo.value.fastBackwardTo, 1);\n doUpdatePage(page);\n }\n function handleSizePickerChange(value) {\n doUpdatePageSize(value);\n }\n function doQuickJump() {\n const page = parseInt(jumperValueRef.value);\n if (Number.isNaN(page))\n return;\n doUpdatePage(Math.max(1, Math.min(page, mergedPageCountRef.value)));\n if (!props.simple) {\n jumperValueRef.value = '';\n }\n }\n function handleQuickJumperChange() {\n doQuickJump();\n }\n function handlePageItemClick(pageItem) {\n if (props.disabled)\n return;\n switch (pageItem.type) {\n case 'page':\n doUpdatePage(pageItem.label);\n break;\n case 'fast-backward':\n fastBackward();\n break;\n case 'fast-forward':\n fastForward();\n break;\n }\n }\n function handleJumperInput(value) {\n jumperValueRef.value = value.replace(/\\D+/g, '');\n }\n watchEffect(() => {\n void mergedPageRef.value;\n void mergedPageSizeRef.value;\n disableTransitionOneTick();\n });\n const cssVarsRef = computed(() => {\n const { size } = props;\n const { self: { buttonBorder, buttonBorderHover, buttonBorderPressed, buttonIconColor, buttonIconColorHover, buttonIconColorPressed, itemTextColor, itemTextColorHover, itemTextColorPressed, itemTextColorActive, itemTextColorDisabled, itemColor, itemColorHover, itemColorPressed, itemColorActive, itemColorActiveHover, itemColorDisabled, itemBorder, itemBorderHover, itemBorderPressed, itemBorderActive, itemBorderDisabled, itemBorderRadius, jumperTextColor, jumperTextColorDisabled, buttonColor, buttonColorHover, buttonColorPressed, [createKey('itemPadding', size)]: itemPadding, [createKey('itemMargin', size)]: itemMargin, [createKey('inputWidth', size)]: inputWidth, [createKey('selectWidth', size)]: selectWidth, [createKey('inputMargin', size)]: inputMargin, [createKey('selectMargin', size)]: selectMargin, [createKey('jumperFontSize', size)]: jumperFontSize, [createKey('prefixMargin', size)]: prefixMargin, [createKey('suffixMargin', size)]: suffixMargin, [createKey('itemSize', size)]: itemSize, [createKey('buttonIconSize', size)]: buttonIconSize, [createKey('itemFontSize', size)]: itemFontSize, [`${createKey('itemMargin', size)}Rtl`]: itemMarginRtl, [`${createKey('inputMargin', size)}Rtl`]: inputMarginRtl }, common: { cubicBezierEaseInOut } } = themeRef.value;\n return {\n '--n-prefix-margin': prefixMargin,\n '--n-suffix-margin': suffixMargin,\n '--n-item-font-size': itemFontSize,\n '--n-select-width': selectWidth,\n '--n-select-margin': selectMargin,\n '--n-input-width': inputWidth,\n '--n-input-margin': inputMargin,\n '--n-input-margin-rtl': inputMarginRtl,\n '--n-item-size': itemSize,\n '--n-item-text-color': itemTextColor,\n '--n-item-text-color-disabled': itemTextColorDisabled,\n '--n-item-text-color-hover': itemTextColorHover,\n '--n-item-text-color-active': itemTextColorActive,\n '--n-item-text-color-pressed': itemTextColorPressed,\n '--n-item-color': itemColor,\n '--n-item-color-hover': itemColorHover,\n '--n-item-color-disabled': itemColorDisabled,\n '--n-item-color-active': itemColorActive,\n '--n-item-color-active-hover': itemColorActiveHover,\n '--n-item-color-pressed': itemColorPressed,\n '--n-item-border': itemBorder,\n '--n-item-border-hover': itemBorderHover,\n '--n-item-border-disabled': itemBorderDisabled,\n '--n-item-border-active': itemBorderActive,\n '--n-item-border-pressed': itemBorderPressed,\n '--n-item-padding': itemPadding,\n '--n-item-border-radius': itemBorderRadius,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-jumper-font-size': jumperFontSize,\n '--n-jumper-text-color': jumperTextColor,\n '--n-jumper-text-color-disabled': jumperTextColorDisabled,\n '--n-item-margin': itemMargin,\n '--n-item-margin-rtl': itemMarginRtl,\n '--n-button-icon-size': buttonIconSize,\n '--n-button-icon-color': buttonIconColor,\n '--n-button-icon-color-hover': buttonIconColorHover,\n '--n-button-icon-color-pressed': buttonIconColorPressed,\n '--n-button-color-hover': buttonColorHover,\n '--n-button-color': buttonColor,\n '--n-button-color-pressed': buttonColorPressed,\n '--n-button-border': buttonBorder,\n '--n-button-border-hover': buttonBorderHover,\n '--n-button-border-pressed': buttonBorderPressed\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('pagination', computed(() => {\n let hash = '';\n const { size } = props;\n hash += size[0];\n return hash;\n }), cssVarsRef, props)\n : undefined;\n return {\n rtlEnabled: rtlEnabledRef,\n mergedClsPrefix: mergedClsPrefixRef,\n locale: localeRef,\n selfRef,\n mergedPage: mergedPageRef,\n pageItems: computed(() => {\n return pageItemsInfo.value.items;\n }),\n mergedItemCount: mergedItemCountRef,\n jumperValue: jumperValueRef,\n pageSizeOptions: pageSizeOptionsRef,\n mergedPageSize: mergedPageSizeRef,\n inputSize: inputSizeRef,\n selectSize: selectSizeRef,\n mergedTheme: themeRef,\n mergedPageCount: mergedPageCountRef,\n startIndex: startIndexRef,\n endIndex: endIndexRef,\n showFastForwardMenu: showFastForwardMenuRef,\n showFastBackwardMenu: showFastBackwardMenuRef,\n fastForwardActive: fastForwardActiveRef,\n fastBackwardActive: fastBackwardActiveRef,\n handleMenuSelect,\n handleFastForwardMouseenter,\n handleFastForwardMouseleave,\n handleFastBackwardMouseenter,\n handleFastBackwardMouseleave,\n handleJumperInput,\n handleBackwardClick: backward,\n handleForwardClick: forward,\n handlePageItemClick,\n handleSizePickerChange,\n handleQuickJumperChange,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n // it's ok to expand all prop here since no slots' deps\n const { $slots, mergedClsPrefix, disabled, cssVars, mergedPage, mergedPageCount, pageItems, showSizePicker, showQuickJumper, mergedTheme, locale, inputSize, selectSize, mergedPageSize, pageSizeOptions, jumperValue, simple, prev, next, prefix, suffix, label, goto, handleJumperInput, handleSizePickerChange, handleBackwardClick, handlePageItemClick, handleForwardClick, handleQuickJumperChange, onRender } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const renderPrefix = $slots.prefix || prefix;\n const renderSuffix = $slots.suffix || suffix;\n const renderPrev = prev || $slots.prev;\n const renderNext = next || $slots.next;\n const renderLabel = label || $slots.label;\n return (h(\"div\", { ref: \"selfRef\", class: [\n `${mergedClsPrefix}-pagination`,\n this.themeClass,\n this.rtlEnabled && `${mergedClsPrefix}-pagination--rtl`,\n disabled && `${mergedClsPrefix}-pagination--disabled`,\n simple && `${mergedClsPrefix}-pagination--simple`\n ], style: cssVars },\n renderPrefix ? (h(\"div\", { class: `${mergedClsPrefix}-pagination-prefix` }, renderPrefix({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n }))) : null,\n this.displayOrder.map((part) => {\n switch (part) {\n case 'pages':\n return (h(Fragment, null,\n h(\"div\", { class: [\n `${mergedClsPrefix}-pagination-item`,\n !renderPrev &&\n `${mergedClsPrefix}-pagination-item--button`,\n (mergedPage <= 1 ||\n mergedPage > mergedPageCount ||\n disabled) &&\n `${mergedClsPrefix}-pagination-item--disabled`\n ], onClick: handleBackwardClick }, renderPrev ? (renderPrev({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, {\n default: () => this.rtlEnabled ? h(ForwardIcon, null) : h(BackwardIcon, null)\n }))),\n simple ? (h(Fragment, null,\n h(\"div\", { class: `${mergedClsPrefix}-pagination-quick-jumper` },\n h(NInput, { value: jumperValue, onUpdateValue: handleJumperInput, size: inputSize, placeholder: \"\", disabled: disabled, theme: mergedTheme.peers.Input, themeOverrides: mergedTheme.peerOverrides.Input, onChange: handleQuickJumperChange })),\n \"\\u00A0/ \",\n mergedPageCount)) : (pageItems.map((pageItem, index) => {\n let contentNode;\n let onMouseenter;\n let onMouseleave;\n const { type } = pageItem;\n switch (type) {\n case 'page':\n // eslint-disable-next-line no-case-declarations\n const pageNode = pageItem.label;\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'page',\n node: pageNode,\n active: pageItem.active\n });\n }\n else {\n contentNode = pageNode;\n }\n break;\n case 'fast-forward':\n // eslint-disable-next-line no-case-declarations\n const fastForwardNode = this.fastForwardActive ? (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, {\n default: () => this.rtlEnabled ? (h(FastBackwardIcon, null)) : (h(FastForwardIcon, null))\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, null) }));\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'fast-forward',\n node: fastForwardNode,\n active: this.fastForwardActive ||\n this.showFastForwardMenu\n });\n }\n else {\n contentNode = fastForwardNode;\n }\n onMouseenter = this.handleFastForwardMouseenter;\n onMouseleave = this.handleFastForwardMouseleave;\n break;\n case 'fast-backward':\n // eslint-disable-next-line no-case-declarations\n const fastBackwardNode = this.fastBackwardActive ? (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, {\n default: () => this.rtlEnabled ? (h(FastForwardIcon, null)) : (h(FastBackwardIcon, null))\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, null) }));\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'fast-backward',\n node: fastBackwardNode,\n active: this.fastBackwardActive ||\n this.showFastBackwardMenu\n });\n }\n else {\n contentNode = fastBackwardNode;\n }\n onMouseenter = this.handleFastBackwardMouseenter;\n onMouseleave = this.handleFastBackwardMouseleave;\n break;\n }\n const itemNode = (h(\"div\", { key: index, class: [\n `${mergedClsPrefix}-pagination-item`,\n pageItem.active &&\n `${mergedClsPrefix}-pagination-item--active`,\n type !== 'page' &&\n ((type === 'fast-backward' &&\n this.showFastBackwardMenu) ||\n (type === 'fast-forward' &&\n this.showFastForwardMenu)) &&\n `${mergedClsPrefix}-pagination-item--hover`,\n disabled &&\n `${mergedClsPrefix}-pagination-item--disabled`,\n type === 'page' &&\n `${mergedClsPrefix}-pagination-item--clickable`\n ], onClick: () => {\n handlePageItemClick(pageItem);\n }, onMouseenter: onMouseenter, onMouseleave: onMouseleave }, contentNode));\n if (type === 'page' &&\n !pageItem.mayBeFastBackward &&\n !pageItem.mayBeFastForward) {\n return itemNode;\n }\n else {\n const key = pageItem.type === 'page'\n ? pageItem.mayBeFastBackward\n ? 'fast-backward'\n : 'fast-forward'\n : pageItem.type;\n return (h(NPopselect, { to: this.to, key: key, disabled: disabled, trigger: \"hover\", virtualScroll: true, style: { width: '60px' }, theme: mergedTheme.peers.Popselect, themeOverrides: mergedTheme.peerOverrides.Popselect, builtinThemeOverrides: {\n peers: {\n InternalSelectMenu: {\n height: 'calc(var(--n-option-height) * 4.6)'\n }\n }\n }, nodeProps: () => ({\n style: {\n justifyContent: 'center'\n }\n }), show: type === 'page'\n ? false\n : type === 'fast-backward'\n ? this.showFastBackwardMenu\n : this.showFastForwardMenu, onUpdateShow: (value) => {\n if (type === 'page')\n return;\n if (value) {\n if (type === 'fast-backward') {\n this.showFastBackwardMenu = value;\n }\n else {\n this.showFastForwardMenu = value;\n }\n }\n else {\n this.showFastBackwardMenu = false;\n this.showFastForwardMenu = false;\n }\n }, options: pageItem.type !== 'page' ? pageItem.options : [], onUpdateValue: this.handleMenuSelect, scrollable: true, showCheckmark: false }, { default: () => itemNode }));\n }\n })),\n h(\"div\", { class: [\n `${mergedClsPrefix}-pagination-item`,\n !renderNext &&\n `${mergedClsPrefix}-pagination-item--button`,\n {\n [`${mergedClsPrefix}-pagination-item--disabled`]: mergedPage < 1 ||\n mergedPage >= mergedPageCount ||\n disabled\n }\n ], onClick: handleForwardClick }, renderNext ? (renderNext({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n itemCount: this.mergedItemCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, {\n default: () => this.rtlEnabled ? h(BackwardIcon, null) : h(ForwardIcon, null)\n })))));\n case 'size-picker': {\n return !simple && showSizePicker ? (h(NSelect, Object.assign({ consistentMenuWidth: false, placeholder: \"\", showCheckmark: false, to: this.to }, this.selectProps, { size: selectSize, options: pageSizeOptions, value: mergedPageSize, disabled: disabled, theme: mergedTheme.peers.Select, themeOverrides: mergedTheme.peerOverrides.Select, onUpdateValue: handleSizePickerChange }))) : null;\n }\n case 'quick-jumper':\n return !simple && showQuickJumper ? (h(\"div\", { class: `${mergedClsPrefix}-pagination-quick-jumper` },\n goto\n ? goto()\n : resolveSlot(this.$slots.goto, () => [locale.goto]),\n h(NInput, { value: jumperValue, onUpdateValue: handleJumperInput, size: inputSize, placeholder: \"\", disabled: disabled, theme: mergedTheme.peers.Input, themeOverrides: mergedTheme.peerOverrides.Input, onChange: handleQuickJumperChange }))) : null;\n default:\n return null;\n }\n }),\n renderSuffix ? (h(\"div\", { class: `${mergedClsPrefix}-pagination-suffix` }, renderSuffix({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n }))) : null));\n }\n});\n","export default {\n padding: '4px 0',\n optionIconSizeSmall: '14px',\n optionIconSizeMedium: '16px',\n optionIconSizeLarge: '16px',\n optionIconSizeHuge: '18px',\n optionSuffixWidthSmall: '14px',\n optionSuffixWidthMedium: '14px',\n optionSuffixWidthLarge: '16px',\n optionSuffixWidthHuge: '16px',\n optionIconSuffixWidthSmall: '32px',\n optionIconSuffixWidthMedium: '32px',\n optionIconSuffixWidthLarge: '36px',\n optionIconSuffixWidthHuge: '36px',\n optionPrefixWidthSmall: '14px',\n optionPrefixWidthMedium: '14px',\n optionPrefixWidthLarge: '16px',\n optionPrefixWidthHuge: '16px',\n optionIconPrefixWidthSmall: '36px',\n optionIconPrefixWidthMedium: '36px',\n optionIconPrefixWidthLarge: '40px',\n optionIconPrefixWidthHuge: '40px'\n};\n","import { changeColor } from 'seemly';\nimport { commonLight } from '../../_styles/common';\nimport { createTheme } from '../../_mixins/use-theme';\nimport commonVariables from './_common';\nimport { popoverLight } from '../../popover/styles';\nexport const self = (vars) => {\n const { primaryColor, textColor2, dividerColor, hoverColor, popoverColor, invertedColor, borderRadius, fontSizeSmall, fontSizeMedium, fontSizeLarge, fontSizeHuge, heightSmall, heightMedium, heightLarge, heightHuge, textColor3, opacityDisabled } = vars;\n return Object.assign(Object.assign({}, commonVariables), { optionHeightSmall: heightSmall, optionHeightMedium: heightMedium, optionHeightLarge: heightLarge, optionHeightHuge: heightHuge, borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n fontSizeHuge, \n // non-inverted\n optionTextColor: textColor2, optionTextColorHover: textColor2, optionTextColorActive: primaryColor, optionTextColorChildActive: primaryColor, color: popoverColor, dividerColor, suffixColor: textColor2, prefixColor: textColor2, optionColorHover: hoverColor, optionColorActive: changeColor(primaryColor, { alpha: 0.1 }), groupHeaderTextColor: textColor3, \n // inverted\n optionTextColorInverted: '#BBB', optionTextColorHoverInverted: '#FFF', optionTextColorActiveInverted: '#FFF', optionTextColorChildActiveInverted: '#FFF', colorInverted: invertedColor, dividerColorInverted: '#BBB', suffixColorInverted: '#BBB', prefixColorInverted: '#BBB', optionColorHoverInverted: primaryColor, optionColorActiveInverted: primaryColor, groupHeaderTextColorInverted: '#AAA', optionOpacityDisabled: opacityDisabled });\n};\nconst dropdownLight = createTheme({\n name: 'Dropdown',\n common: commonLight,\n peers: {\n Popover: popoverLight\n },\n self\n});\nexport default dropdownLight;\n","export default {\n thPaddingSmall: '8px',\n thPaddingMedium: '12px',\n thPaddingLarge: '12px',\n tdPaddingSmall: '8px',\n tdPaddingMedium: '12px',\n tdPaddingLarge: '12px',\n sorterSize: '15px',\n resizableContainerSize: '8px',\n resizableSize: '2px',\n filterSize: '15px',\n paginationMargin: '12px 0 0 0',\n emptyPadding: '48px 0',\n actionPadding: '8px 12px',\n actionButtonMargin: '0 8px 0 0'\n};\n","import { composite } from 'seemly';\nimport commonVariables from './_common';\nimport { ellipsisLight } from '../../ellipsis/styles';\nimport { buttonLight } from '../../button/styles';\nimport { checkboxLight } from '../../checkbox/styles';\nimport { radioLight } from '../../radio/styles';\nimport { paginationLight } from '../../pagination/styles';\nimport { scrollbarLight } from '../../_internal/scrollbar/styles';\nimport { popoverLight } from '../../popover/styles';\nimport { emptyLight } from '../../empty/styles';\nimport { dropdownLight } from '../../dropdown/styles';\nimport { commonLight } from '../../_styles/common';\nimport { createTheme } from '../../_mixins';\nexport const self = (vars) => {\n const { cardColor, modalColor, popoverColor, textColor2, textColor1, tableHeaderColor, tableColorHover, iconColor, primaryColor, fontWeightStrong, borderRadius, lineHeight, fontSizeSmall, fontSizeMedium, fontSizeLarge, dividerColor, heightSmall, opacityDisabled, tableColorStriped } = vars;\n return Object.assign(Object.assign({}, commonVariables), { actionDividerColor: dividerColor, lineHeight,\n borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge, borderColor: composite(cardColor, dividerColor), tdColorHover: composite(cardColor, tableColorHover), tdColorStriped: composite(cardColor, tableColorStriped), thColor: composite(cardColor, tableHeaderColor), thColorHover: composite(composite(cardColor, tableHeaderColor), tableColorHover), tdColor: cardColor, tdTextColor: textColor2, thTextColor: textColor1, thFontWeight: fontWeightStrong, thButtonColorHover: tableColorHover, thIconColor: iconColor, thIconColorActive: primaryColor, \n // modal\n borderColorModal: composite(modalColor, dividerColor), tdColorHoverModal: composite(modalColor, tableColorHover), tdColorStripedModal: composite(modalColor, tableColorStriped), thColorModal: composite(modalColor, tableHeaderColor), thColorHoverModal: composite(composite(modalColor, tableHeaderColor), tableColorHover), tdColorModal: modalColor, \n // popover\n borderColorPopover: composite(popoverColor, dividerColor), tdColorHoverPopover: composite(popoverColor, tableColorHover), tdColorStripedPopover: composite(popoverColor, tableColorStriped), thColorPopover: composite(popoverColor, tableHeaderColor), thColorHoverPopover: composite(composite(popoverColor, tableHeaderColor), tableColorHover), tdColorPopover: popoverColor, boxShadowBefore: 'inset -12px 0 8px -12px rgba(0, 0, 0, .18)', boxShadowAfter: 'inset 12px 0 8px -12px rgba(0, 0, 0, .18)', \n // loading\n loadingColor: primaryColor, loadingSize: heightSmall, opacityLoading: opacityDisabled });\n};\nconst dataTableLight = createTheme({\n name: 'DataTable',\n common: commonLight,\n peers: {\n Button: buttonLight,\n Checkbox: checkboxLight,\n Radio: radioLight,\n Pagination: paginationLight,\n Scrollbar: scrollbarLight,\n Empty: emptyLight,\n Popover: popoverLight,\n Ellipsis: ellipsisLight,\n Dropdown: dropdownLight\n },\n self\n});\nexport default dataTableLight;\n","import { h, defineComponent, ref, mergeProps } from 'vue';\nimport { useMergedClsPrefix } from '../../_mixins/use-config';\nimport { useStyle } from '../../_mixins';\nimport Ellipsis, { createCursorClass, createLineClampClass, ellipsisProps } from './Ellipsis';\nimport style from './styles/index.cssr';\nexport const NPerformantEllipsis = defineComponent({\n name: 'PerformantEllipsis',\n props: ellipsisProps,\n inheritAttrs: false,\n setup(props, { attrs, slots }) {\n const mouseEnteredRef = ref(false);\n const mergedClsPrefixRef = useMergedClsPrefix();\n useStyle('-ellipsis', style, mergedClsPrefixRef);\n // Modified from Ellipsis.tsx\n const renderTrigger = () => {\n const { lineClamp } = props;\n const mergedClsPrefix = mergedClsPrefixRef.value;\n return (h(\"span\", Object.assign({}, mergeProps(attrs, {\n class: [\n `${mergedClsPrefix}-ellipsis`,\n lineClamp !== undefined\n ? createLineClampClass(mergedClsPrefix)\n : undefined,\n props.expandTrigger === 'click'\n ? createCursorClass(mergedClsPrefix, 'pointer')\n : undefined\n ],\n style: lineClamp === undefined\n ? {\n textOverflow: 'ellipsis'\n }\n : {\n '-webkit-line-clamp': lineClamp\n }\n }), { onMouseenter: () => {\n mouseEnteredRef.value = true;\n } }), lineClamp ? slots : h(\"span\", null, slots)));\n };\n return {\n mouseEntered: mouseEnteredRef,\n renderTrigger\n };\n },\n render() {\n if (this.mouseEntered) {\n return h(Ellipsis, mergeProps({}, this.$attrs, this.$props), this.$slots);\n }\n else {\n return this.renderTrigger();\n }\n }\n});\n","import { defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DataTableRenderSorter',\n props: {\n render: {\n type: Function,\n required: true\n },\n order: {\n // asc, desc\n type: [String, Boolean],\n default: false\n }\n },\n render() {\n const { render, order } = this;\n return render({\n order\n });\n }\n});\n","import { useTheme } from '../../_mixins';\nimport { createInjectionKey } from '../../_utils';\nexport const dataTableProps = Object.assign(Object.assign({}, useTheme.props), { onUnstableColumnResize: Function, pagination: {\n type: [Object, Boolean],\n default: false\n }, paginateSinglePage: {\n type: Boolean,\n default: true\n }, minHeight: [Number, String], maxHeight: [Number, String], \n // Use any type as row data to make prop data acceptable\n columns: {\n type: Array,\n default: () => []\n }, rowClassName: [String, Function], rowProps: Function, rowKey: Function, summary: [Function], data: {\n type: Array,\n default: () => []\n }, loading: Boolean, bordered: {\n type: Boolean,\n default: undefined\n }, bottomBordered: {\n type: Boolean,\n default: undefined\n }, striped: Boolean, scrollX: [Number, String], defaultCheckedRowKeys: {\n type: Array,\n default: () => []\n }, checkedRowKeys: Array, singleLine: {\n type: Boolean,\n default: true\n }, singleColumn: Boolean, size: {\n type: String,\n default: 'medium'\n }, remote: Boolean, defaultExpandedRowKeys: {\n type: Array,\n default: []\n }, defaultExpandAll: Boolean, expandedRowKeys: Array, stickyExpandedRows: Boolean, virtualScroll: Boolean, tableLayout: {\n type: String,\n default: 'auto'\n }, allowCheckingNotLoaded: Boolean, cascade: {\n type: Boolean,\n default: true\n }, childrenKey: {\n type: String,\n default: 'children'\n }, indent: {\n type: Number,\n default: 16\n }, flexHeight: Boolean, summaryPlacement: {\n type: String,\n default: 'bottom'\n }, paginationBehaviorOnFilter: {\n type: String,\n default: 'current'\n }, scrollbarProps: Object, renderCell: Function, renderExpandIcon: Function, spinProps: { type: Object, default: {} }, onLoad: Function, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array], 'onUpdate:sorter': [Function, Array], onUpdateSorter: [Function, Array], 'onUpdate:filters': [Function, Array], onUpdateFilters: [Function, Array], 'onUpdate:checkedRowKeys': [Function, Array], onUpdateCheckedRowKeys: [Function, Array], 'onUpdate:expandedRowKeys': [Function, Array], onUpdateExpandedRowKeys: [Function, Array], onScroll: Function, \n // deprecated\n onPageChange: [Function, Array], onPageSizeChange: [Function, Array], onSorterChange: [Function, Array], onFiltersChange: [Function, Array], onCheckedRowKeysChange: [Function, Array] });\nexport const dataTableInjectionKey = createInjectionKey('n-data-table');\n","import { defineComponent, h, computed, inject } from 'vue';\nimport { ArrowDownIcon } from '../../../_internal/icons';\nimport { NBaseIcon } from '../../../_internal';\nimport RenderSorter from './RenderSorter';\nimport { dataTableInjectionKey } from '../interface';\nimport { useConfig } from '../../../_mixins';\nexport default defineComponent({\n name: 'SortIcon',\n props: {\n column: {\n type: Object,\n required: true\n }\n },\n setup(props) {\n const { mergedComponentPropsRef } = useConfig();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { mergedSortStateRef, mergedClsPrefixRef } = inject(dataTableInjectionKey);\n const sortStateRef = computed(() => mergedSortStateRef.value.find((state) => state.columnKey === props.column.key));\n const activeRef = computed(() => {\n return sortStateRef.value !== undefined;\n });\n const mergedSortOrderRef = computed(() => {\n const { value: sortState } = sortStateRef;\n if (sortState && activeRef.value) {\n return sortState.order;\n }\n return false;\n });\n const mergedRenderSorterRef = computed(() => {\n var _a, _b;\n return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.DataTable) === null || _b === void 0 ? void 0 : _b.renderSorter) ||\n props.column.renderSorter);\n });\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n mergedSortOrder: mergedSortOrderRef,\n mergedRenderSorter: mergedRenderSorterRef\n };\n },\n render() {\n const { mergedRenderSorter, mergedSortOrder, mergedClsPrefix } = this;\n const { renderSorterIcon } = this.column;\n return mergedRenderSorter ? (h(RenderSorter, { render: mergedRenderSorter, order: mergedSortOrder })) : (h(\"span\", { class: [\n `${mergedClsPrefix}-data-table-sorter`,\n mergedSortOrder === 'ascend' &&\n `${mergedClsPrefix}-data-table-sorter--asc`,\n mergedSortOrder === 'descend' &&\n `${mergedClsPrefix}-data-table-sorter--desc`\n ] }, renderSorterIcon ? (renderSorterIcon({ order: mergedSortOrder })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(ArrowDownIcon, null) }))));\n }\n});\n","import { defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DataTableRenderFilter',\n props: {\n render: {\n type: Function,\n required: true\n },\n active: {\n type: Boolean,\n default: false\n },\n show: {\n type: Boolean,\n default: false\n }\n },\n render() {\n const { render, active, show } = this;\n return render({\n active,\n show\n });\n }\n});\n","import { depx } from 'seemly';\nimport { formatLength } from '../../_utils';\nexport const SELECTION_COL_WIDTH = 40;\nexport const EXPAND_COL_WIDTH = 40;\nexport function getNumberColWidth(col) {\n if (col.type === 'selection') {\n return col.width === undefined ? SELECTION_COL_WIDTH : depx(col.width);\n }\n if (col.type === 'expand') {\n return col.width === undefined ? EXPAND_COL_WIDTH : depx(col.width);\n }\n if ('children' in col)\n return undefined;\n if (typeof col.width === 'string') {\n return depx(col.width);\n }\n return col.width;\n}\nexport function getStringColWidth(col) {\n var _a, _b;\n if (col.type === 'selection') {\n return formatLength((_a = col.width) !== null && _a !== void 0 ? _a : SELECTION_COL_WIDTH);\n }\n if (col.type === 'expand') {\n return formatLength((_b = col.width) !== null && _b !== void 0 ? _b : EXPAND_COL_WIDTH);\n }\n if ('children' in col) {\n return undefined;\n }\n return formatLength(col.width);\n}\nexport function getColKey(col) {\n if (col.type === 'selection')\n return '__n_selection__';\n if (col.type === 'expand')\n return '__n_expand__';\n return col.key;\n}\nexport function createShallowClonedObject(object) {\n if (!object)\n return object;\n if (typeof object === 'object') {\n return Object.assign({}, object);\n }\n return object;\n}\nexport function getFlagOfOrder(order) {\n if (order === 'ascend')\n return 1;\n else if (order === 'descend')\n return -1;\n return 0;\n}\n// priority: min-width > max-width > width\nexport function clampValueFollowCSSRules(value, min, max) {\n if (max !== undefined) {\n value = Math.min(value, typeof max === 'number' ? max : parseFloat(max));\n }\n if (min !== undefined) {\n value = Math.max(value, typeof min === 'number' ? min : parseFloat(min));\n }\n return value;\n}\nexport function createCustomWidthStyle(column, resizedWidth) {\n if (resizedWidth !== undefined) {\n return {\n width: resizedWidth,\n minWidth: resizedWidth,\n maxWidth: resizedWidth\n };\n }\n const width = getStringColWidth(column);\n const { minWidth, maxWidth } = column;\n return {\n width,\n minWidth: formatLength(minWidth) || width,\n maxWidth: formatLength(maxWidth)\n };\n}\nexport function createRowClassName(row, index, rowClassName) {\n if (typeof rowClassName === 'function')\n return rowClassName(row, index);\n return rowClassName || '';\n}\n// for compatibility\n// If column.filterOptionValues or column.defaultFilterOptionValues is set, use\n// array value\nexport function shouldUseArrayInSingleMode(column) {\n return (column.filterOptionValues !== undefined ||\n (column.filterOptionValue === undefined &&\n column.defaultFilterOptionValues !== undefined));\n}\nexport function isColumnSortable(column) {\n if ('children' in column)\n return false;\n return !!column.sorter;\n}\nexport function isColumnResizable(column) {\n if ('children' in column && !!column.children.length)\n return false;\n return !!column.resizable;\n}\nexport function isColumnFilterable(column) {\n if ('children' in column)\n return false;\n return (!!column.filter && (!!column.filterOptions || !!column.renderFilterMenu));\n}\nfunction getNextOrderOf(order) {\n if (!order)\n return 'descend';\n else if (order === 'descend')\n return 'ascend';\n return false;\n}\nexport function createNextSorter(column, currentSortState) {\n if (column.sorter === undefined)\n return null;\n if (currentSortState === null || currentSortState.columnKey !== column.key) {\n return {\n columnKey: column.key,\n sorter: column.sorter,\n order: getNextOrderOf(false)\n };\n }\n else {\n return Object.assign(Object.assign({}, currentSortState), { order: getNextOrderOf(currentSortState.order) });\n }\n}\nexport function isColumnSorting(column, mergedSortState) {\n return (mergedSortState.find((state) => state.columnKey === column.key && state.order) !== undefined);\n}\n","import { h, defineComponent, ref, computed, inject } from 'vue';\nimport { NCheckbox, NCheckboxGroup } from '../../../checkbox';\nimport { NRadio, NRadioGroup } from '../../../radio';\nimport { NButton } from '../../../button';\nimport { NScrollbar } from '../../../_internal';\nimport { shouldUseArrayInSingleMode } from '../utils';\nimport { dataTableInjectionKey } from '../interface';\nexport default defineComponent({\n name: 'DataTableFilterMenu',\n props: {\n column: {\n type: Object,\n required: true\n },\n radioGroupName: {\n type: String,\n required: true\n },\n multiple: {\n type: Boolean,\n required: true\n },\n value: {\n type: [Array, String, Number],\n default: null\n },\n options: {\n type: Array,\n required: true\n },\n onConfirm: {\n type: Function,\n required: true\n },\n onClear: {\n type: Function,\n required: true\n },\n onChange: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n const { mergedClsPrefixRef, mergedThemeRef, localeRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n // to be compared with changed value\n // const initialValueRef = ref(props.value)\n const temporalValueRef = ref(props.value);\n const checkboxGroupValueRef = computed(() => {\n const { value: temporalValue } = temporalValueRef;\n if (!Array.isArray(temporalValue))\n return null;\n return temporalValue;\n });\n const radioGroupValueRef = computed(() => {\n const { value: temporalValue } = temporalValueRef;\n if (shouldUseArrayInSingleMode(props.column)) {\n return ((Array.isArray(temporalValue) &&\n temporalValue.length &&\n temporalValue[0]) ||\n null);\n }\n if (!Array.isArray(temporalValue))\n return temporalValue;\n return null;\n });\n function doChange(value) {\n // May need to check if equal\n ;\n props.onChange(value);\n }\n function handleChange(value) {\n if (props.multiple && Array.isArray(value)) {\n temporalValueRef.value = value;\n }\n else if (shouldUseArrayInSingleMode(props.column) &&\n !Array.isArray(value)) {\n /** this branch is for compatibility */\n temporalValueRef.value = [value];\n }\n else {\n temporalValueRef.value = value;\n }\n }\n function handleConfirmClick() {\n doChange(temporalValueRef.value);\n props.onConfirm();\n }\n function handleClearClick() {\n if (props.multiple || shouldUseArrayInSingleMode(props.column)) {\n doChange([]);\n }\n else {\n doChange(null);\n }\n props.onClear();\n }\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n mergedTheme: mergedThemeRef,\n locale: localeRef,\n checkboxGroupValue: checkboxGroupValueRef,\n radioGroupValue: radioGroupValueRef,\n handleChange,\n handleConfirmClick,\n handleClearClick\n };\n },\n render() {\n const { mergedTheme, locale, mergedClsPrefix } = this;\n return (h(\"div\", { class: `${mergedClsPrefix}-data-table-filter-menu` },\n h(NScrollbar, null, {\n default: () => {\n const { checkboxGroupValue, handleChange } = this;\n return this.multiple ? (h(NCheckboxGroup, { value: checkboxGroupValue, class: `${mergedClsPrefix}-data-table-filter-menu__group`, onUpdateValue: handleChange }, {\n default: () => this.options.map((option) => {\n return (h(NCheckbox, { key: option.value, theme: mergedTheme.peers.Checkbox, themeOverrides: mergedTheme.peerOverrides.Checkbox, value: option.value }, { default: () => option.label }));\n })\n })) : (h(NRadioGroup, { name: this.radioGroupName, class: `${mergedClsPrefix}-data-table-filter-menu__group`, value: this.radioGroupValue, onUpdateValue: this.handleChange }, {\n default: () => this.options.map((option) => (h(NRadio, { key: option.value, value: option.value, theme: mergedTheme.peers.Radio, themeOverrides: mergedTheme.peerOverrides.Radio }, { default: () => option.label })))\n }));\n }\n }),\n h(\"div\", { class: `${mergedClsPrefix}-data-table-filter-menu__action` },\n h(NButton, { size: \"tiny\", theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, onClick: this.handleClearClick }, { default: () => locale.clear }),\n h(NButton, { theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, type: \"primary\", size: \"tiny\", onClick: this.handleConfirmClick }, { default: () => locale.confirm }))));\n }\n});\n","import { h, defineComponent, ref, computed, inject } from 'vue';\nimport { FilterIcon } from '../../../_internal/icons';\nimport { NBaseIcon } from '../../../_internal';\nimport { NPopover } from '../../../popover';\nimport RenderFilter from './RenderFilter';\nimport NDataTableFilterMenu from './FilterMenu';\nimport { dataTableInjectionKey } from '../interface';\nimport { useConfig } from '../../../_mixins';\nfunction createFilterState(currentFilterState, columnKey, mergedFilterValue) {\n const nextFilterState = Object.assign({}, currentFilterState);\n nextFilterState[columnKey] = mergedFilterValue;\n return nextFilterState;\n}\nexport default defineComponent({\n name: 'DataTableFilterButton',\n props: {\n column: {\n type: Object,\n required: true\n },\n options: {\n type: Array,\n default: () => []\n }\n },\n setup(props) {\n const { mergedComponentPropsRef } = useConfig();\n const { mergedThemeRef, mergedClsPrefixRef, mergedFilterStateRef, filterMenuCssVarsRef, paginationBehaviorOnFilterRef, doUpdatePage, doUpdateFilters\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const showPopoverRef = ref(false);\n const filterStateRef = mergedFilterStateRef;\n const filterMultipleRef = computed(() => {\n return props.column.filterMultiple !== false;\n });\n const mergedFilterValueRef = computed(() => {\n const filterValue = filterStateRef.value[props.column.key];\n if (filterValue === undefined) {\n const { value: multiple } = filterMultipleRef;\n if (multiple)\n return [];\n else\n return null;\n }\n return filterValue;\n });\n const activeRef = computed(() => {\n const { value: filterValue } = mergedFilterValueRef;\n if (Array.isArray(filterValue)) {\n return filterValue.length > 0;\n }\n return filterValue !== null;\n });\n const mergedRenderFilterRef = computed(() => {\n var _a, _b;\n return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.DataTable) === null || _b === void 0 ? void 0 : _b.renderFilter) ||\n props.column.renderFilter);\n });\n function handleFilterChange(mergedFilterValue) {\n const nextFilterState = createFilterState(filterStateRef.value, props.column.key, mergedFilterValue);\n doUpdateFilters(nextFilterState, props.column);\n if (paginationBehaviorOnFilterRef.value === 'first') {\n doUpdatePage(1);\n }\n }\n function handleFilterMenuCancel() {\n showPopoverRef.value = false;\n }\n function handleFilterMenuConfirm() {\n showPopoverRef.value = false;\n }\n return {\n mergedTheme: mergedThemeRef,\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n showPopover: showPopoverRef,\n mergedRenderFilter: mergedRenderFilterRef,\n filterMultiple: filterMultipleRef,\n mergedFilterValue: mergedFilterValueRef,\n filterMenuCssVars: filterMenuCssVarsRef,\n handleFilterChange,\n handleFilterMenuConfirm,\n handleFilterMenuCancel\n };\n },\n render() {\n const { mergedTheme, mergedClsPrefix, handleFilterMenuCancel } = this;\n return (h(NPopover, { show: this.showPopover, onUpdateShow: (v) => (this.showPopover = v), trigger: \"click\", theme: mergedTheme.peers.Popover, themeOverrides: mergedTheme.peerOverrides.Popover, placement: \"bottom\", style: { padding: 0 } }, {\n trigger: () => {\n const { mergedRenderFilter } = this;\n if (mergedRenderFilter) {\n return (h(RenderFilter, { \"data-data-table-filter\": true, render: mergedRenderFilter, active: this.active, show: this.showPopover }));\n }\n const { renderFilterIcon } = this.column;\n return (h(\"div\", { \"data-data-table-filter\": true, class: [\n `${mergedClsPrefix}-data-table-filter`,\n {\n [`${mergedClsPrefix}-data-table-filter--active`]: this.active,\n [`${mergedClsPrefix}-data-table-filter--show`]: this.showPopover\n }\n ] }, renderFilterIcon ? (renderFilterIcon({\n active: this.active,\n show: this.showPopover\n })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(FilterIcon, null) }))));\n },\n default: () => {\n const { renderFilterMenu } = this.column;\n return renderFilterMenu ? (renderFilterMenu({ hide: handleFilterMenuCancel })) : (h(NDataTableFilterMenu, { style: this.filterMenuCssVars, radioGroupName: String(this.column.key), multiple: this.filterMultiple, value: this.mergedFilterValue, options: this.options, column: this.column, onChange: this.handleFilterChange, onClear: this.handleFilterMenuCancel, onConfirm: this.handleFilterMenuConfirm }));\n }\n }));\n }\n});\n","import { defineComponent, h, inject, ref, onBeforeUnmount } from 'vue';\nimport { off, on } from 'evtd';\nimport { dataTableInjectionKey } from '../interface';\nexport default defineComponent({\n name: 'ColumnResizeButton',\n props: {\n onResizeStart: Function,\n onResize: Function,\n onResizeEnd: Function\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { mergedClsPrefixRef } = inject(dataTableInjectionKey);\n const activeRef = ref(false);\n let startX = 0;\n function getMouseX(e) {\n return e.clientX;\n }\n function handleMousedown(e) {\n var _a;\n e.preventDefault();\n const alreadyStarted = activeRef.value;\n startX = getMouseX(e);\n activeRef.value = true;\n if (!alreadyStarted) {\n on('mousemove', window, handleMousemove);\n on('mouseup', window, handleMouseup);\n (_a = props.onResizeStart) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }\n function handleMousemove(e) {\n var _a;\n (_a = props.onResize) === null || _a === void 0 ? void 0 : _a.call(props, getMouseX(e) - startX);\n }\n function handleMouseup() {\n var _a;\n activeRef.value = false;\n (_a = props.onResizeEnd) === null || _a === void 0 ? void 0 : _a.call(props);\n off('mousemove', window, handleMousemove);\n off('mouseup', window, handleMouseup);\n }\n onBeforeUnmount(() => {\n off('mousemove', window, handleMousemove);\n off('mouseup', window, handleMouseup);\n });\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n handleMousedown\n };\n },\n render() {\n const { mergedClsPrefix } = this;\n return (h(\"span\", { \"data-data-table-resizable\": true, class: [\n `${mergedClsPrefix}-data-table-resize-button`,\n this.active && `${mergedClsPrefix}-data-table-resize-button--active`\n ], onMousedown: this.handleMousedown }));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DropdownDivider',\n props: {\n clsPrefix: {\n type: String,\n required: true\n }\n },\n render() {\n return h(\"div\", { class: `${this.clsPrefix}-dropdown-divider` });\n }\n});\n","import { createInjectionKey } from '../../_utils';\nexport const dropdownMenuInjectionKey = createInjectionKey('n-dropdown-menu');\nexport const dropdownInjectionKey = createInjectionKey('n-dropdown');\nexport const dropdownOptionInjectionKey = createInjectionKey('n-dropdown-option');\n","export function isSubmenuNode(rawNode, childrenField) {\n return (rawNode.type === 'submenu' ||\n (rawNode.type === undefined && rawNode[childrenField] !== undefined));\n}\nexport function isGroupNode(rawNode) {\n return rawNode.type === 'group';\n}\nexport function isDividerNode(rawNode) {\n return rawNode.type === 'divider';\n}\nexport function isRenderNode(rawNode) {\n return rawNode.type === 'render';\n}\n","import { h, computed, inject, ref, Transition, defineComponent, provide, mergeProps } from 'vue';\nimport { VBinder, VTarget, VFollower } from 'vueuc';\nimport { useMemo } from 'vooks';\nimport { happensIn } from 'seemly';\nimport { ChevronRightIcon } from '../../_internal/icons';\nimport { render, useDeferredTrue } from '../../_utils';\nimport { NIcon } from '../../icon';\n// eslint-disable-next-line import/no-cycle\nimport NDropdownMenu from './DropdownMenu';\nimport { dropdownMenuInjectionKey, dropdownInjectionKey, dropdownOptionInjectionKey } from './context';\nimport { popoverBodyInjectionKey } from '../../popover/src/interface';\nimport { isSubmenuNode } from './utils';\nexport default defineComponent({\n name: 'DropdownOption',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n },\n parentKey: {\n type: [String, Number],\n default: null\n },\n placement: {\n type: String,\n default: 'right-start'\n },\n props: Object,\n scrollable: Boolean\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NDropdown = inject(dropdownInjectionKey);\n const { hoverKeyRef, keyboardKeyRef, lastToggledSubmenuKeyRef, pendingKeyPathRef, activeKeyPathRef, animatedRef, mergedShowRef, renderLabelRef, renderIconRef, labelFieldRef, childrenFieldRef, renderOptionRef, nodePropsRef, menuPropsRef } = NDropdown;\n const NDropdownOption = inject(dropdownOptionInjectionKey, null);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NDropdownMenu = inject(dropdownMenuInjectionKey);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NPopoverBody = inject(popoverBodyInjectionKey);\n const rawNodeRef = computed(() => props.tmNode.rawNode);\n const hasSubmenuRef = computed(() => {\n const { value: childrenField } = childrenFieldRef;\n return isSubmenuNode(props.tmNode.rawNode, childrenField);\n });\n const mergedDisabledRef = computed(() => {\n const { disabled } = props.tmNode;\n return disabled;\n });\n const showSubmenuRef = computed(() => {\n if (!hasSubmenuRef.value)\n return false;\n const { key, disabled } = props.tmNode;\n if (disabled)\n return false;\n const { value: hoverKey } = hoverKeyRef;\n const { value: keyboardKey } = keyboardKeyRef;\n const { value: lastToggledSubmenuKey } = lastToggledSubmenuKeyRef;\n const { value: pendingKeyPath } = pendingKeyPathRef;\n if (hoverKey !== null)\n return pendingKeyPath.includes(key);\n if (keyboardKey !== null) {\n return (pendingKeyPath.includes(key) &&\n pendingKeyPath[pendingKeyPath.length - 1] !== key);\n }\n if (lastToggledSubmenuKey !== null)\n return pendingKeyPath.includes(key);\n return false;\n });\n const shouldDelayRef = computed(() => {\n return keyboardKeyRef.value === null && !animatedRef.value;\n });\n const deferredShowSubmenuRef = useDeferredTrue(showSubmenuRef, 300, shouldDelayRef);\n const parentEnteringSubmenuRef = computed(() => {\n return !!(NDropdownOption === null || NDropdownOption === void 0 ? void 0 : NDropdownOption.enteringSubmenuRef.value);\n });\n const enteringSubmenuRef = ref(false);\n provide(dropdownOptionInjectionKey, {\n enteringSubmenuRef\n });\n // methods\n function handleSubmenuBeforeEnter() {\n enteringSubmenuRef.value = true;\n }\n function handleSubmenuAfterEnter() {\n enteringSubmenuRef.value = false;\n }\n function handleMouseEnter() {\n const { parentKey, tmNode } = props;\n if (tmNode.disabled)\n return;\n if (!mergedShowRef.value)\n return;\n lastToggledSubmenuKeyRef.value = parentKey;\n keyboardKeyRef.value = null;\n hoverKeyRef.value = tmNode.key;\n }\n function handleMouseMove() {\n const { tmNode } = props;\n if (tmNode.disabled)\n return;\n if (!mergedShowRef.value)\n return;\n if (hoverKeyRef.value === tmNode.key)\n return;\n handleMouseEnter();\n }\n function handleMouseLeave(e) {\n if (props.tmNode.disabled)\n return;\n if (!mergedShowRef.value)\n return;\n const { relatedTarget } = e;\n if (relatedTarget &&\n !happensIn({ target: relatedTarget }, 'dropdownOption') &&\n !happensIn({ target: relatedTarget }, 'scrollbarRail')) {\n hoverKeyRef.value = null;\n }\n }\n function handleClick() {\n const { value: hasSubmenu } = hasSubmenuRef;\n const { tmNode } = props;\n if (!mergedShowRef.value)\n return;\n if (!hasSubmenu && !tmNode.disabled) {\n NDropdown.doSelect(tmNode.key, tmNode.rawNode);\n NDropdown.doUpdateShow(false);\n }\n }\n return {\n labelField: labelFieldRef,\n renderLabel: renderLabelRef,\n renderIcon: renderIconRef,\n siblingHasIcon: NDropdownMenu.showIconRef,\n siblingHasSubmenu: NDropdownMenu.hasSubmenuRef,\n menuProps: menuPropsRef,\n popoverBody: NPopoverBody,\n animated: animatedRef,\n mergedShowSubmenu: computed(() => {\n return deferredShowSubmenuRef.value && !parentEnteringSubmenuRef.value;\n }),\n rawNode: rawNodeRef,\n hasSubmenu: hasSubmenuRef,\n pending: useMemo(() => {\n const { value: pendingKeyPath } = pendingKeyPathRef;\n const { key } = props.tmNode;\n return pendingKeyPath.includes(key);\n }),\n childActive: useMemo(() => {\n const { value: activeKeyPath } = activeKeyPathRef;\n const { key } = props.tmNode;\n const index = activeKeyPath.findIndex((k) => key === k);\n if (index === -1)\n return false;\n return index < activeKeyPath.length - 1;\n }),\n active: useMemo(() => {\n const { value: activeKeyPath } = activeKeyPathRef;\n const { key } = props.tmNode;\n const index = activeKeyPath.findIndex((k) => key === k);\n if (index === -1)\n return false;\n return index === activeKeyPath.length - 1;\n }),\n mergedDisabled: mergedDisabledRef,\n renderOption: renderOptionRef,\n nodeProps: nodePropsRef,\n handleClick,\n handleMouseMove,\n handleMouseEnter,\n handleMouseLeave,\n handleSubmenuBeforeEnter,\n handleSubmenuAfterEnter\n };\n },\n render() {\n var _a, _b;\n const { animated, rawNode, mergedShowSubmenu, clsPrefix, siblingHasIcon, siblingHasSubmenu, renderLabel, renderIcon, renderOption, nodeProps, props, scrollable } = this;\n let submenuVNode = null;\n if (mergedShowSubmenu) {\n const submenuNodeProps = (_a = this.menuProps) === null || _a === void 0 ? void 0 : _a.call(this, rawNode, rawNode.children);\n submenuVNode = (h(NDropdownMenu, Object.assign({}, submenuNodeProps, { clsPrefix: clsPrefix, scrollable: this.scrollable, tmNodes: this.tmNode.children, parentKey: this.tmNode.key })));\n }\n const builtinProps = {\n class: [\n `${clsPrefix}-dropdown-option-body`,\n this.pending && `${clsPrefix}-dropdown-option-body--pending`,\n this.active && `${clsPrefix}-dropdown-option-body--active`,\n this.childActive && `${clsPrefix}-dropdown-option-body--child-active`,\n this.mergedDisabled && `${clsPrefix}-dropdown-option-body--disabled`\n ],\n onMousemove: this.handleMouseMove,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave,\n onClick: this.handleClick\n };\n const optionNodeProps = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const node = (h(\"div\", Object.assign({ class: [`${clsPrefix}-dropdown-option`, optionNodeProps === null || optionNodeProps === void 0 ? void 0 : optionNodeProps.class], \"data-dropdown-option\": true }, optionNodeProps),\n h('div', mergeProps(builtinProps, props), [\n h(\"div\", { class: [\n `${clsPrefix}-dropdown-option-body__prefix`,\n siblingHasIcon &&\n `${clsPrefix}-dropdown-option-body__prefix--show-icon`\n ] }, [renderIcon ? renderIcon(rawNode) : render(rawNode.icon)]),\n h(\"div\", { \"data-dropdown-option\": true, class: `${clsPrefix}-dropdown-option-body__label` }, renderLabel\n ? renderLabel(rawNode)\n : render((_b = rawNode[this.labelField]) !== null && _b !== void 0 ? _b : rawNode.title)),\n h(\"div\", { \"data-dropdown-option\": true, class: [\n `${clsPrefix}-dropdown-option-body__suffix`,\n siblingHasSubmenu &&\n `${clsPrefix}-dropdown-option-body__suffix--has-submenu`\n ] }, this.hasSubmenu ? (h(NIcon, null, {\n default: () => h(ChevronRightIcon, null)\n })) : null)\n ]),\n this.hasSubmenu ? (h(VBinder, null, {\n default: () => [\n h(VTarget, null, {\n default: () => (h(\"div\", { class: `${clsPrefix}-dropdown-offset-container` },\n h(VFollower, { show: this.mergedShowSubmenu, placement: this.placement, to: scrollable\n ? this.popoverBody || undefined\n : undefined, teleportDisabled: !scrollable }, {\n default: () => {\n return (h(\"div\", { class: `${clsPrefix}-dropdown-menu-wrapper` }, animated ? (h(Transition, { onBeforeEnter: this.handleSubmenuBeforeEnter, onAfterEnter: this.handleSubmenuAfterEnter, name: \"fade-in-scale-up-transition\", appear: true }, {\n default: () => submenuVNode\n })) : (submenuVNode)));\n }\n })))\n })\n ]\n })) : null));\n if (renderOption) {\n return renderOption({ node, option: rawNode });\n }\n return node;\n }\n});\n","import { defineComponent, h, inject } from 'vue';\nimport { render } from '../../_utils';\nimport { dropdownInjectionKey, dropdownMenuInjectionKey } from './context';\nexport default defineComponent({\n name: 'DropdownGroupHeader',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup() {\n const { showIconRef, hasSubmenuRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dropdownMenuInjectionKey);\n const { renderLabelRef, labelFieldRef, nodePropsRef, renderOptionRef } = \n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n inject(dropdownInjectionKey);\n return {\n labelField: labelFieldRef,\n showIcon: showIconRef,\n hasSubmenu: hasSubmenuRef,\n renderLabel: renderLabelRef,\n nodeProps: nodePropsRef,\n renderOption: renderOptionRef\n };\n },\n render() {\n var _a;\n const { clsPrefix, hasSubmenu, showIcon, nodeProps, renderLabel, renderOption } = this;\n const { rawNode } = this.tmNode;\n const node = (h(\"div\", Object.assign({ class: `${clsPrefix}-dropdown-option` }, nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode)),\n h(\"div\", { class: `${clsPrefix}-dropdown-option-body ${clsPrefix}-dropdown-option-body--group` },\n h(\"div\", { \"data-dropdown-option\": true, class: [\n `${clsPrefix}-dropdown-option-body__prefix`,\n showIcon && `${clsPrefix}-dropdown-option-body__prefix--show-icon`\n ] }, render(rawNode.icon)),\n h(\"div\", { class: `${clsPrefix}-dropdown-option-body__label`, \"data-dropdown-option\": true }, renderLabel\n ? renderLabel(rawNode)\n : render((_a = rawNode.title) !== null && _a !== void 0 ? _a : rawNode[this.labelField])),\n h(\"div\", { class: [\n `${clsPrefix}-dropdown-option-body__suffix`,\n hasSubmenu &&\n `${clsPrefix}-dropdown-option-body__suffix--has-submenu`\n ], \"data-dropdown-option\": true }))));\n if (renderOption) {\n return renderOption({ node, option: rawNode });\n }\n return node;\n }\n});\n","import { defineComponent, Fragment, h } from 'vue';\nimport { warn } from '../../_utils';\n// eslint-disable-next-line import/no-cycle\nimport NDropdownOption from './DropdownOption';\nimport NDropdownDivider from './DropdownDivider';\nimport NDropdownGroupHeader from './DropdownGroupHeader';\nimport { isDividerNode } from './utils';\nexport default defineComponent({\n name: 'NDropdownGroup',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n },\n parentKey: {\n type: [String, Number],\n default: null\n }\n },\n render() {\n const { tmNode, parentKey, clsPrefix } = this;\n const { children } = tmNode;\n return (h(Fragment, null,\n h(NDropdownGroupHeader, { clsPrefix: clsPrefix, tmNode: tmNode, key: tmNode.key }), children === null || children === void 0 ? void 0 :\n children.map((child) => {\n const { rawNode } = child;\n if (rawNode.show === false)\n return null;\n if (isDividerNode(rawNode)) {\n return h(NDropdownDivider, {\n clsPrefix,\n key: child.key\n });\n }\n if (child.isGroup) {\n warn('dropdown', '`group` node is not allowed to be put in `group` node.');\n return null;\n }\n return (h(NDropdownOption, { clsPrefix: clsPrefix, tmNode: child, parentKey: parentKey, key: child.key }));\n })));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DropdownRenderOption',\n props: {\n tmNode: {\n type: Object,\n required: true\n }\n },\n render() {\n const { rawNode: { render, props } } = this.tmNode;\n return h('div', props, [render === null || render === void 0 ? void 0 : render()]);\n }\n});\n","import { computed, defineComponent, h, inject, provide, ref } from 'vue';\nimport { renderArrow } from '../../popover/src/PopoverBody';\nimport { NxScrollbar } from '../../_internal/scrollbar';\nimport NDropdownDivider from './DropdownDivider';\n// eslint-disable-next-line import/no-cycle\nimport NDropdownGroup from './DropdownGroup';\n// eslint-disable-next-line import/no-cycle\nimport NDropdownOption from './DropdownOption';\nimport NDropdownRenderOption from './DropdownRenderOption';\nimport { isSubmenuNode, isGroupNode, isDividerNode, isRenderNode } from './utils';\nimport { dropdownInjectionKey, dropdownMenuInjectionKey } from './context';\nimport { modalBodyInjectionKey } from '../../modal/src/interface';\nimport { drawerBodyInjectionKey } from '../../drawer/src/interface';\nimport { popoverBodyInjectionKey } from '../../popover/src/interface';\nexport default defineComponent({\n name: 'DropdownMenu',\n props: {\n scrollable: Boolean,\n showArrow: Boolean,\n arrowStyle: [String, Object],\n clsPrefix: {\n type: String,\n required: true\n },\n tmNodes: {\n type: Array,\n default: () => []\n },\n parentKey: {\n type: [String, Number],\n default: null\n }\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { renderIconRef, childrenFieldRef } = inject(dropdownInjectionKey);\n provide(dropdownMenuInjectionKey, {\n showIconRef: computed(() => {\n const renderIcon = renderIconRef.value;\n return props.tmNodes.some((tmNode) => {\n var _a;\n if (tmNode.isGroup) {\n return (_a = tmNode.children) === null || _a === void 0 ? void 0 : _a.some(({ rawNode: rawChild }) => renderIcon ? renderIcon(rawChild) : rawChild.icon);\n }\n const { rawNode } = tmNode;\n return renderIcon ? renderIcon(rawNode) : rawNode.icon;\n });\n }),\n hasSubmenuRef: computed(() => {\n const { value: childrenField } = childrenFieldRef;\n return props.tmNodes.some((tmNode) => {\n var _a;\n if (tmNode.isGroup) {\n return (_a = tmNode.children) === null || _a === void 0 ? void 0 : _a.some(({ rawNode: rawChild }) => isSubmenuNode(rawChild, childrenField));\n }\n const { rawNode } = tmNode;\n return isSubmenuNode(rawNode, childrenField);\n });\n })\n });\n const bodyRef = ref(null);\n provide(modalBodyInjectionKey, null);\n provide(drawerBodyInjectionKey, null);\n provide(popoverBodyInjectionKey, bodyRef);\n return {\n bodyRef\n };\n },\n render() {\n const { parentKey, clsPrefix, scrollable } = this;\n const menuOptionsNode = this.tmNodes.map((tmNode) => {\n const { rawNode } = tmNode;\n if (rawNode.show === false)\n return null;\n if (isRenderNode(rawNode)) {\n return (h(NDropdownRenderOption, { tmNode: tmNode, key: tmNode.key }));\n }\n if (isDividerNode(rawNode)) {\n return h(NDropdownDivider, { clsPrefix: clsPrefix, key: tmNode.key });\n }\n if (isGroupNode(rawNode)) {\n return (h(NDropdownGroup, { clsPrefix: clsPrefix, tmNode: tmNode, parentKey: parentKey, key: tmNode.key }));\n }\n return (h(NDropdownOption, { clsPrefix: clsPrefix, tmNode: tmNode, parentKey: parentKey, key: tmNode.key, props: rawNode.props, scrollable: scrollable }));\n });\n return (h(\"div\", { class: [\n `${clsPrefix}-dropdown-menu`,\n scrollable && `${clsPrefix}-dropdown-menu--scrollable`\n ], ref: \"bodyRef\" },\n scrollable ? (h(NxScrollbar, { contentClass: `${clsPrefix}-dropdown-menu__content` }, {\n default: () => menuOptionsNode\n })) : (menuOptionsNode),\n this.showArrow\n ? renderArrow({\n clsPrefix,\n arrowStyle: this.arrowStyle,\n arrowClass: undefined,\n arrowWrapperClass: undefined,\n arrowWrapperStyle: undefined\n })\n : null));\n }\n});\n","import { c, cB, cM, cE, cNotM } from '../../../_utils/cssr';\nimport { fadeInScaleUpTransition } from '../../../_styles/transitions/fade-in-scale-up.cssr';\n// vars:\n// --n-bezier\n// --n-font-size\n// --n-padding\n// --n-border-radius\n// --n-option-height\n// --n-option-prefix-width\n// --n-option-icon-prefix-width\n// --n-option-suffix-width\n// --n-option-icon-suffix-width\n// --n-color\n// --n-option-color-hover\n// --n-option-color-active\n// --n-divider-color\n// --n-option-text-color\n// --n-option-text-color-hover\n// --n-option-text-color-active\n// --n-option-text-color-child-active\n// --n-prefix-color\n// --n-suffix-color\n// --n-option-icon-size\n// --n-option-opacity-disabled\n// shared with popover\n// --n-box-shadow\nexport default cB('dropdown-menu', `\n transform-origin: var(--v-transform-origin);\n background-color: var(--n-color);\n border-radius: var(--n-border-radius);\n box-shadow: var(--n-box-shadow);\n position: relative;\n transition:\n background-color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier);\n`, [fadeInScaleUpTransition(), cB('dropdown-option', `\n position: relative;\n `, [c('a', `\n text-decoration: none;\n color: inherit;\n outline: none;\n `, [c('&::before', `\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `)]), cB('dropdown-option-body', `\n display: flex;\n cursor: pointer;\n position: relative;\n height: var(--n-option-height);\n line-height: var(--n-option-height);\n font-size: var(--n-font-size);\n color: var(--n-option-text-color);\n transition: color .3s var(--n-bezier);\n `, [c('&::before', `\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 4px;\n right: 4px;\n transition: background-color .3s var(--n-bezier);\n border-radius: var(--n-border-radius);\n `), cNotM('disabled', [cM('pending', `\n color: var(--n-option-text-color-hover);\n `, [cE('prefix, suffix', `\n color: var(--n-option-text-color-hover);\n `), c('&::before', 'background-color: var(--n-option-color-hover);')]), cM('active', `\n color: var(--n-option-text-color-active);\n `, [cE('prefix, suffix', `\n color: var(--n-option-text-color-active);\n `), c('&::before', 'background-color: var(--n-option-color-active);')]), cM('child-active', `\n color: var(--n-option-text-color-child-active);\n `, [cE('prefix, suffix', `\n color: var(--n-option-text-color-child-active);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n opacity: var(--n-option-opacity-disabled);\n `), cM('group', `\n font-size: calc(var(--n-font-size) - 1px);\n color: var(--n-group-header-text-color);\n `, [cE('prefix', `\n width: calc(var(--n-option-prefix-width) / 2);\n `, [cM('show-icon', `\n width: calc(var(--n-option-icon-prefix-width) / 2);\n `)])]), cE('prefix', `\n width: var(--n-option-prefix-width);\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--n-prefix-color);\n transition: color .3s var(--n-bezier);\n z-index: 1;\n `, [cM('show-icon', `\n width: var(--n-option-icon-prefix-width);\n `), cB('icon', `\n font-size: var(--n-option-icon-size);\n `)]), cE('label', `\n white-space: nowrap;\n flex: 1;\n z-index: 1;\n `), cE('suffix', `\n box-sizing: border-box;\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n min-width: var(--n-option-suffix-width);\n padding: 0 8px;\n transition: color .3s var(--n-bezier);\n color: var(--n-suffix-color);\n z-index: 1;\n `, [cM('has-submenu', `\n width: var(--n-option-icon-suffix-width);\n `), cB('icon', `\n font-size: var(--n-option-icon-size);\n `)]), cB('dropdown-menu', 'pointer-events: all;')]), cB('dropdown-offset-container', `\n pointer-events: none;\n position: absolute;\n left: 0;\n right: 0;\n top: -4px;\n bottom: -4px;\n `)]), cB('dropdown-divider', `\n transition: background-color .3s var(--n-bezier);\n background-color: var(--n-divider-color);\n height: 1px;\n margin: 4px 0;\n `), cB('dropdown-menu-wrapper', `\n transform-origin: var(--v-transform-origin);\n width: fit-content;\n `), c('>', [cB('scrollbar', `\n height: inherit;\n max-height: inherit;\n `)]), cNotM('scrollable', `\n padding: var(--n-padding);\n `), cM('scrollable', [cE('content', `\n padding: var(--n-padding);\n `)])]);","import { defineComponent, h, computed, ref, toRef, watch, provide, mergeProps } from 'vue';\nimport { createTreeMate } from 'treemate';\nimport { useMergedState, useKeyboard, useMemo } from 'vooks';\nimport { popoverBaseProps } from '../../popover/src/Popover';\nimport { useConfig, useTheme, useThemeClass } from '../../_mixins';\nimport { NPopover } from '../../popover';\nimport { keep, call, createKey, createRefSetter } from '../../_utils';\nimport { dropdownLight } from '../styles';\nimport NDropdownMenu from './DropdownMenu';\nimport style from './styles/index.cssr';\nimport { dropdownInjectionKey } from './context';\nconst dropdownBaseProps = {\n animated: {\n type: Boolean,\n default: true\n },\n keyboard: {\n type: Boolean,\n default: true\n },\n size: {\n type: String,\n default: 'medium'\n },\n inverted: Boolean,\n placement: {\n type: String,\n default: 'bottom'\n },\n onSelect: [Function, Array],\n options: {\n type: Array,\n default: () => []\n },\n menuProps: Function,\n showArrow: Boolean,\n renderLabel: Function,\n renderIcon: Function,\n renderOption: Function,\n nodeProps: Function,\n labelField: {\n type: String,\n default: 'label'\n },\n keyField: {\n type: String,\n default: 'key'\n },\n childrenField: {\n type: String,\n default: 'children'\n },\n // for menu, not documented\n value: [String, Number]\n};\nconst popoverPropKeys = Object.keys(popoverBaseProps);\nexport const dropdownProps = Object.assign(Object.assign(Object.assign({}, popoverBaseProps), dropdownBaseProps), useTheme.props);\nexport default defineComponent({\n name: 'Dropdown',\n inheritAttrs: false,\n props: dropdownProps,\n setup(props) {\n const uncontrolledShowRef = ref(false);\n const mergedShowRef = useMergedState(toRef(props, 'show'), uncontrolledShowRef);\n const treemateRef = computed(() => {\n const { keyField, childrenField } = props;\n return createTreeMate(props.options, {\n getKey(node) {\n return node[keyField];\n },\n getDisabled(node) {\n return node.disabled === true;\n },\n getIgnored(node) {\n return node.type === 'divider' || node.type === 'render';\n },\n getChildren(node) {\n return node[childrenField];\n }\n });\n });\n const tmNodesRef = computed(() => {\n return treemateRef.value.treeNodes;\n });\n const hoverKeyRef = ref(null);\n const keyboardKeyRef = ref(null);\n const lastToggledSubmenuKeyRef = ref(null);\n const pendingKeyRef = computed(() => {\n var _a, _b, _c;\n return ((_c = (_b = (_a = hoverKeyRef.value) !== null && _a !== void 0 ? _a : keyboardKeyRef.value) !== null && _b !== void 0 ? _b : lastToggledSubmenuKeyRef.value) !== null && _c !== void 0 ? _c : null);\n });\n const pendingKeyPathRef = computed(() => treemateRef.value.getPath(pendingKeyRef.value).keyPath);\n const activeKeyPathRef = computed(() => treemateRef.value.getPath(props.value).keyPath);\n const keyboardEnabledRef = useMemo(() => {\n return props.keyboard && mergedShowRef.value;\n });\n useKeyboard({\n keydown: {\n ArrowUp: {\n prevent: true,\n handler: handleKeydownUp\n },\n ArrowRight: {\n prevent: true,\n handler: handleKeydownRight\n },\n ArrowDown: {\n prevent: true,\n handler: handleKeydownDown\n },\n ArrowLeft: {\n prevent: true,\n handler: handleKeydownLeft\n },\n Enter: {\n prevent: true,\n handler: handleKeydownEnter\n },\n Escape: handleKeydownEsc\n }\n }, keyboardEnabledRef);\n const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);\n const themeRef = useTheme('Dropdown', '-dropdown', style, dropdownLight, props, mergedClsPrefixRef);\n provide(dropdownInjectionKey, {\n labelFieldRef: toRef(props, 'labelField'),\n childrenFieldRef: toRef(props, 'childrenField'),\n renderLabelRef: toRef(props, 'renderLabel'),\n renderIconRef: toRef(props, 'renderIcon'),\n hoverKeyRef,\n keyboardKeyRef,\n lastToggledSubmenuKeyRef,\n pendingKeyPathRef,\n activeKeyPathRef,\n animatedRef: toRef(props, 'animated'),\n mergedShowRef,\n nodePropsRef: toRef(props, 'nodeProps'),\n renderOptionRef: toRef(props, 'renderOption'),\n menuPropsRef: toRef(props, 'menuProps'),\n doSelect,\n doUpdateShow\n });\n // watch\n watch(mergedShowRef, (value) => {\n if (!props.animated && !value) {\n clearPendingState();\n }\n });\n // methods\n function doSelect(key, node) {\n const { onSelect } = props;\n if (onSelect)\n call(onSelect, key, node);\n }\n function doUpdateShow(value) {\n const { 'onUpdate:show': _onUpdateShow, onUpdateShow } = props;\n if (_onUpdateShow)\n call(_onUpdateShow, value);\n if (onUpdateShow)\n call(onUpdateShow, value);\n uncontrolledShowRef.value = value;\n }\n function clearPendingState() {\n hoverKeyRef.value = null;\n keyboardKeyRef.value = null;\n lastToggledSubmenuKeyRef.value = null;\n }\n function handleKeydownEsc() {\n doUpdateShow(false);\n }\n function handleKeydownLeft() {\n handleKeydown('left');\n }\n function handleKeydownRight() {\n handleKeydown('right');\n }\n function handleKeydownUp() {\n handleKeydown('up');\n }\n function handleKeydownDown() {\n handleKeydown('down');\n }\n function handleKeydownEnter() {\n const pendingNode = getPendingNode();\n if ((pendingNode === null || pendingNode === void 0 ? void 0 : pendingNode.isLeaf) && mergedShowRef.value) {\n doSelect(pendingNode.key, pendingNode.rawNode);\n doUpdateShow(false);\n }\n }\n function getPendingNode() {\n var _a;\n const { value: treeMate } = treemateRef;\n const { value: pendingKey } = pendingKeyRef;\n if (!treeMate || pendingKey === null)\n return null;\n return (_a = treeMate.getNode(pendingKey)) !== null && _a !== void 0 ? _a : null;\n }\n function handleKeydown(direction) {\n const { value: pendingKey } = pendingKeyRef;\n const { value: { getFirstAvailableNode } } = treemateRef;\n let nextKeyboardKey = null;\n if (pendingKey === null) {\n const firstNode = getFirstAvailableNode();\n if (firstNode !== null) {\n nextKeyboardKey = firstNode.key;\n }\n }\n else {\n const currentNode = getPendingNode();\n if (currentNode) {\n let nextNode;\n switch (direction) {\n case 'down':\n nextNode = currentNode.getNext();\n break;\n case 'up':\n nextNode = currentNode.getPrev();\n break;\n case 'right':\n nextNode = currentNode.getChild();\n break;\n case 'left':\n nextNode = currentNode.getParent();\n break;\n }\n if (nextNode)\n nextKeyboardKey = nextNode.key;\n }\n }\n if (nextKeyboardKey !== null) {\n hoverKeyRef.value = null;\n keyboardKeyRef.value = nextKeyboardKey;\n }\n }\n const cssVarsRef = computed(() => {\n const { size, inverted } = props;\n const { common: { cubicBezierEaseInOut }, self } = themeRef.value;\n const { padding, dividerColor, borderRadius, optionOpacityDisabled, [createKey('optionIconSuffixWidth', size)]: optionIconSuffixWidth, [createKey('optionSuffixWidth', size)]: optionSuffixWidth, [createKey('optionIconPrefixWidth', size)]: optionIconPrefixWidth, [createKey('optionPrefixWidth', size)]: optionPrefixWidth, [createKey('fontSize', size)]: fontSize, [createKey('optionHeight', size)]: optionHeight, [createKey('optionIconSize', size)]: optionIconSize } = self;\n const vars = {\n '--n-bezier': cubicBezierEaseInOut,\n '--n-font-size': fontSize,\n '--n-padding': padding,\n '--n-border-radius': borderRadius,\n '--n-option-height': optionHeight,\n '--n-option-prefix-width': optionPrefixWidth,\n '--n-option-icon-prefix-width': optionIconPrefixWidth,\n '--n-option-suffix-width': optionSuffixWidth,\n '--n-option-icon-suffix-width': optionIconSuffixWidth,\n '--n-option-icon-size': optionIconSize,\n '--n-divider-color': dividerColor,\n '--n-option-opacity-disabled': optionOpacityDisabled\n };\n // writing like this is the fastest method\n if (inverted) {\n vars['--n-color'] = self.colorInverted;\n vars['--n-option-color-hover'] = self.optionColorHoverInverted;\n vars['--n-option-color-active'] = self.optionColorActiveInverted;\n vars['--n-option-text-color'] = self.optionTextColorInverted;\n vars['--n-option-text-color-hover'] = self.optionTextColorHoverInverted;\n vars['--n-option-text-color-active'] =\n self.optionTextColorActiveInverted;\n vars['--n-option-text-color-child-active'] =\n self.optionTextColorChildActiveInverted;\n vars['--n-prefix-color'] = self.prefixColorInverted;\n vars['--n-suffix-color'] = self.suffixColorInverted;\n vars['--n-group-header-text-color'] = self.groupHeaderTextColorInverted;\n }\n else {\n vars['--n-color'] = self.color;\n vars['--n-option-color-hover'] = self.optionColorHover;\n vars['--n-option-color-active'] = self.optionColorActive;\n vars['--n-option-text-color'] = self.optionTextColor;\n vars['--n-option-text-color-hover'] = self.optionTextColorHover;\n vars['--n-option-text-color-active'] = self.optionTextColorActive;\n vars['--n-option-text-color-child-active'] =\n self.optionTextColorChildActive;\n vars['--n-prefix-color'] = self.prefixColor;\n vars['--n-suffix-color'] = self.suffixColor;\n vars['--n-group-header-text-color'] = self.groupHeaderTextColor;\n }\n return vars;\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('dropdown', computed(() => `${props.size[0]}${props.inverted ? 'i' : ''}`), cssVarsRef, props)\n : undefined;\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n mergedTheme: themeRef,\n // data\n tmNodes: tmNodesRef,\n // show\n mergedShow: mergedShowRef,\n // methods\n handleAfterLeave: () => {\n if (!props.animated)\n return;\n clearPendingState();\n },\n doUpdateShow,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n const renderPopoverBody = (className, ref, style, onMouseenter, onMouseleave) => {\n var _a;\n const { mergedClsPrefix, menuProps } = this;\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n const menuNodeProps = (menuProps === null || menuProps === void 0 ? void 0 : menuProps(undefined, this.tmNodes.map((v) => v.rawNode))) || {};\n const dropdownProps = {\n ref: createRefSetter(ref),\n class: [className, `${mergedClsPrefix}-dropdown`, this.themeClass],\n clsPrefix: mergedClsPrefix,\n tmNodes: this.tmNodes,\n style: [...style, this.cssVars],\n showArrow: this.showArrow,\n arrowStyle: this.arrowStyle,\n scrollable: this.scrollable,\n onMouseenter,\n onMouseleave\n };\n return h(NDropdownMenu, mergeProps(this.$attrs, dropdownProps, menuNodeProps));\n };\n const { mergedTheme } = this;\n const popoverProps = {\n show: this.mergedShow,\n theme: mergedTheme.peers.Popover,\n themeOverrides: mergedTheme.peerOverrides.Popover,\n internalOnAfterLeave: this.handleAfterLeave,\n internalRenderBody: renderPopoverBody,\n onUpdateShow: this.doUpdateShow,\n 'onUpdate:show': undefined\n };\n return (h(NPopover, Object.assign({}, keep(this.$props, popoverPropKeys), popoverProps), {\n trigger: () => { var _a, _b; return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a); }\n }));\n }\n});\n","import { h, defineComponent, inject, computed } from 'vue';\nimport { NDropdown } from '../../../dropdown';\nimport { NBaseIcon } from '../../../_internal';\nimport { ChevronDownIcon } from '../../../_internal/icons';\nimport { dataTableInjectionKey } from '../interface';\nconst allKey = '_n_all__';\nconst noneKey = '_n_none__';\nfunction createSelectHandler(options, rawPaginatedDataRef, doCheckAll, doUncheckAll) {\n if (!options)\n return () => { };\n return (key) => {\n for (const option of options) {\n switch (key) {\n case allKey:\n doCheckAll(true);\n return;\n case noneKey:\n doUncheckAll(true);\n return;\n default:\n if (typeof option === 'object' && option.key === key) {\n option.onSelect(rawPaginatedDataRef.value);\n return;\n }\n }\n }\n };\n}\nfunction createDropdownOptions(options, localeRef) {\n if (!options)\n return [];\n return options.map((option) => {\n switch (option) {\n case 'all':\n return {\n label: localeRef.checkTableAll,\n key: allKey\n };\n case 'none':\n return {\n label: localeRef.uncheckTableAll,\n key: noneKey\n };\n default:\n return option;\n }\n });\n}\nexport default defineComponent({\n name: 'DataTableSelectionMenu',\n props: {\n clsPrefix: {\n type: String,\n required: true\n }\n },\n setup(props) {\n const { props: dataTableProps, localeRef, checkOptionsRef, rawPaginatedDataRef, doCheckAll, doUncheckAll\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const handleSelectRef = computed(() => createSelectHandler(checkOptionsRef.value, rawPaginatedDataRef, doCheckAll, doUncheckAll));\n const optionsRef = computed(() => createDropdownOptions(checkOptionsRef.value, localeRef.value));\n return () => {\n var _a, _b, _c, _d;\n const { clsPrefix } = props;\n return (h(NDropdown, { theme: (_b = (_a = dataTableProps.theme) === null || _a === void 0 ? void 0 : _a.peers) === null || _b === void 0 ? void 0 : _b.Dropdown, themeOverrides: (_d = (_c = dataTableProps.themeOverrides) === null || _c === void 0 ? void 0 : _c.peers) === null || _d === void 0 ? void 0 : _d.Dropdown, options: optionsRef.value, onSelect: handleSelectRef.value }, {\n default: () => (h(NBaseIcon, { clsPrefix: clsPrefix, class: `${clsPrefix}-data-table-check-extra` }, {\n default: () => h(ChevronDownIcon, null)\n }))\n }));\n };\n }\n});\n","import { h, defineComponent, inject, Fragment, ref } from 'vue';\nimport { happensIn, pxfy } from 'seemly';\nimport { formatLength } from '../../../_utils';\nimport { NCheckbox } from '../../../checkbox';\nimport { NEllipsis } from '../../../ellipsis';\nimport SortButton from '../HeaderButton/SortButton';\nimport FilterButton from '../HeaderButton/FilterButton';\nimport ResizeButton from '../HeaderButton/ResizeButton';\nimport { isColumnSortable, isColumnFilterable, createNextSorter, getColKey, isColumnSorting, isColumnResizable, clampValueFollowCSSRules } from '../utils';\nimport { dataTableInjectionKey } from '../interface';\nimport SelectionMenu from './SelectionMenu';\nfunction renderTitle(column) {\n return typeof column.title === 'function'\n ? column.title(column)\n : column.title;\n}\nexport default defineComponent({\n name: 'DataTableHeader',\n props: {\n discrete: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const { mergedClsPrefixRef, scrollXRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, allRowsCheckedRef, someRowsCheckedRef, rowsRef, colsRef, mergedThemeRef, checkOptionsRef, mergedSortStateRef, componentId, mergedTableLayoutRef, headerCheckboxDisabledRef, onUnstableColumnResize, doUpdateResizableWidth, handleTableHeaderScroll, deriveNextSorter, doUncheckAll, doCheckAll\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const cellElsRef = ref({});\n function getCellActualWidth(key) {\n const element = cellElsRef.value[key];\n return element === null || element === void 0 ? void 0 : element.getBoundingClientRect().width;\n }\n function handleCheckboxUpdateChecked() {\n if (allRowsCheckedRef.value) {\n doUncheckAll();\n }\n else {\n doCheckAll();\n }\n }\n function handleColHeaderClick(e, column) {\n if (happensIn(e, 'dataTableFilter') ||\n happensIn(e, 'dataTableResizable')) {\n return;\n }\n if (!isColumnSortable(column))\n return;\n const activeSorter = mergedSortStateRef.value.find((state) => state.columnKey === column.key) || null;\n const nextSorter = createNextSorter(column, activeSorter);\n deriveNextSorter(nextSorter);\n }\n const resizeStartWidthMap = new Map();\n function handleColumnResizeStart(column) {\n resizeStartWidthMap.set(column.key, getCellActualWidth(column.key));\n }\n function handleColumnResize(column, displacementX) {\n const startWidth = resizeStartWidthMap.get(column.key);\n if (startWidth === undefined) {\n return;\n }\n const widthAfterResize = startWidth + displacementX;\n const limitWidth = clampValueFollowCSSRules(widthAfterResize, column.minWidth, column.maxWidth);\n onUnstableColumnResize(widthAfterResize, limitWidth, column, getCellActualWidth);\n doUpdateResizableWidth(column, limitWidth);\n }\n return {\n cellElsRef,\n componentId,\n mergedSortState: mergedSortStateRef,\n mergedClsPrefix: mergedClsPrefixRef,\n scrollX: scrollXRef,\n fixedColumnLeftMap: fixedColumnLeftMapRef,\n fixedColumnRightMap: fixedColumnRightMapRef,\n currentPage: mergedCurrentPageRef,\n allRowsChecked: allRowsCheckedRef,\n someRowsChecked: someRowsCheckedRef,\n rows: rowsRef,\n cols: colsRef,\n mergedTheme: mergedThemeRef,\n checkOptions: checkOptionsRef,\n mergedTableLayout: mergedTableLayoutRef,\n headerCheckboxDisabled: headerCheckboxDisabledRef,\n handleCheckboxUpdateChecked,\n handleColHeaderClick,\n handleTableHeaderScroll,\n handleColumnResizeStart,\n handleColumnResize\n };\n },\n render() {\n const { cellElsRef, mergedClsPrefix, fixedColumnLeftMap, fixedColumnRightMap, currentPage, allRowsChecked, someRowsChecked, rows, cols, mergedTheme, checkOptions, componentId, discrete, mergedTableLayout, headerCheckboxDisabled, mergedSortState, handleColHeaderClick, handleCheckboxUpdateChecked, handleColumnResizeStart, handleColumnResize } = this;\n let hasEllipsis = false;\n const theadVNode = (h(\"thead\", { class: `${mergedClsPrefix}-data-table-thead`, \"data-n-id\": componentId }, rows.map((row) => {\n return (h(\"tr\", { class: `${mergedClsPrefix}-data-table-tr` }, row.map(({ column, colSpan, rowSpan, isLast }) => {\n var _a, _b;\n const key = getColKey(column);\n const { ellipsis } = column;\n if (!hasEllipsis && ellipsis)\n hasEllipsis = true;\n const createColumnVNode = () => {\n if (column.type === 'selection') {\n return column.multiple !== false ? (h(Fragment, null,\n h(NCheckbox, { key: currentPage, privateInsideTable: true, checked: allRowsChecked, indeterminate: someRowsChecked, disabled: headerCheckboxDisabled, onUpdateChecked: handleCheckboxUpdateChecked }),\n checkOptions ? (h(SelectionMenu, { clsPrefix: mergedClsPrefix })) : null)) : null;\n }\n return (h(Fragment, null,\n h(\"div\", { class: `${mergedClsPrefix}-data-table-th__title-wrapper` },\n h(\"div\", { class: `${mergedClsPrefix}-data-table-th__title` }, ellipsis === true ||\n (ellipsis && !ellipsis.tooltip) ? (h(\"div\", { class: `${mergedClsPrefix}-data-table-th__ellipsis` }, renderTitle(column))) // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n : ellipsis && typeof ellipsis === 'object' ? (h(NEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), {\n default: () => renderTitle(column)\n })) : (renderTitle(column))),\n isColumnSortable(column) ? (h(SortButton, { column: column })) : null),\n isColumnFilterable(column) ? (h(FilterButton, { column: column, options: column.filterOptions })) : null,\n isColumnResizable(column) ? (h(ResizeButton, { onResizeStart: () => {\n handleColumnResizeStart(column);\n }, onResize: (displacementX) => {\n handleColumnResize(column, displacementX);\n } })) : null));\n };\n const leftFixed = key in fixedColumnLeftMap;\n const rightFixed = key in fixedColumnRightMap;\n return (h(\"th\", { ref: (el) => (cellElsRef[key] = el), key: key, style: {\n textAlign: column.titleAlign || column.align,\n left: pxfy((_a = fixedColumnLeftMap[key]) === null || _a === void 0 ? void 0 : _a.start),\n right: pxfy((_b = fixedColumnRightMap[key]) === null || _b === void 0 ? void 0 : _b.start)\n }, colspan: colSpan, rowspan: rowSpan, \"data-col-key\": key, class: [\n `${mergedClsPrefix}-data-table-th`,\n (leftFixed || rightFixed) &&\n `${mergedClsPrefix}-data-table-th--fixed-${leftFixed ? 'left' : 'right'}`,\n {\n [`${mergedClsPrefix}-data-table-th--hover`]: isColumnSorting(column, mergedSortState),\n [`${mergedClsPrefix}-data-table-th--filterable`]: isColumnFilterable(column),\n [`${mergedClsPrefix}-data-table-th--sortable`]: isColumnSortable(column),\n [`${mergedClsPrefix}-data-table-th--selection`]: column.type === 'selection',\n [`${mergedClsPrefix}-data-table-th--last`]: isLast\n },\n column.className\n ], onClick: column.type !== 'selection' &&\n column.type !== 'expand' &&\n !('children' in column)\n ? (e) => {\n handleColHeaderClick(e, column);\n }\n : undefined }, createColumnVNode()));\n })));\n })));\n if (!discrete) {\n return theadVNode;\n }\n const { handleTableHeaderScroll, scrollX } = this;\n return (h(\"div\", { class: `${mergedClsPrefix}-data-table-base-table-header`, onScroll: handleTableHeaderScroll },\n h(\"table\", { ref: \"body\", class: `${mergedClsPrefix}-data-table-table`, style: {\n minWidth: formatLength(scrollX),\n tableLayout: mergedTableLayout\n } },\n h(\"colgroup\", null, cols.map((col) => (h(\"col\", { key: col.key, style: col.style })))),\n theadVNode)));\n }\n});\n","import { defineComponent, h } from 'vue';\nimport { get } from 'lodash-es';\nimport NEllipsis from '../../../ellipsis/src/Ellipsis';\nimport { NPerformantEllipsis } from '../../../ellipsis/src/PerformantEllipsis';\nexport default defineComponent({\n name: 'DataTableCell',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n row: {\n type: Object,\n required: true\n },\n index: {\n type: Number,\n required: true\n },\n column: {\n type: Object,\n required: true\n },\n isSummary: Boolean,\n mergedTheme: {\n type: Object,\n required: true\n },\n renderCell: Function\n },\n render() {\n const { isSummary, column, row, renderCell } = this;\n let cell;\n const { render, key, ellipsis } = column;\n if (render && !isSummary) {\n cell = render(row, this.index);\n }\n else {\n if (isSummary) {\n cell = row[key].value;\n }\n else {\n cell = renderCell\n ? renderCell(get(row, key), row, column)\n : get(row, key);\n }\n }\n if (ellipsis) {\n if (typeof ellipsis === 'object') {\n const { mergedTheme } = this;\n if (column.ellipsisComponent === 'performant-ellipsis') {\n return (h(NPerformantEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), { default: () => cell }));\n }\n return (h(NEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), { default: () => cell }));\n }\n else {\n return (h(\"span\", { class: `${this.clsPrefix}-data-table-td__ellipsis` }, cell));\n }\n }\n return cell;\n }\n});\n","import { h, defineComponent } from 'vue';\nimport { ChevronRightIcon } from '../../../_internal/icons';\nimport { NBaseIcon, NBaseLoading, NIconSwitchTransition } from '../../../_internal';\nexport default defineComponent({\n name: 'DataTableExpandTrigger',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n expanded: Boolean,\n loading: Boolean,\n onClick: {\n type: Function,\n required: true\n },\n renderExpandIcon: {\n type: Function\n }\n },\n render() {\n const { clsPrefix } = this;\n return (h(\"div\", { class: [\n `${clsPrefix}-data-table-expand-trigger`,\n this.expanded && `${clsPrefix}-data-table-expand-trigger--expanded`\n ], onClick: this.onClick, onMousedown: (e) => {\n e.preventDefault();\n } },\n h(NIconSwitchTransition, null, {\n default: () => {\n return this.loading ? (h(NBaseLoading, { key: \"loading\", clsPrefix: this.clsPrefix, radius: 85, strokeWidth: 15, scale: 0.88 })) : this.renderExpandIcon ? (this.renderExpandIcon({\n expanded: this.expanded\n })) : (h(NBaseIcon, { clsPrefix: clsPrefix, key: \"base-icon\" }, {\n default: () => h(ChevronRightIcon, null)\n }));\n }\n })));\n }\n});\n","import { defineComponent, h, inject } from 'vue';\nimport { NCheckbox } from '../../../checkbox';\nimport { dataTableInjectionKey } from '../interface';\n// Extract the checkbox to avoid useless rendering in table body\nexport default defineComponent({\n name: 'DataTableBodyCheckbox',\n props: {\n rowKey: {\n type: [String, Number],\n required: true\n },\n disabled: {\n type: Boolean,\n required: true\n },\n onUpdateChecked: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n const { mergedCheckedRowKeySetRef, mergedInderminateRowKeySetRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n return () => {\n const { rowKey } = props;\n return (h(NCheckbox, { privateInsideTable: true, disabled: props.disabled, indeterminate: mergedInderminateRowKeySetRef.value.has(rowKey), checked: mergedCheckedRowKeySetRef.value.has(rowKey), onUpdateChecked: props.onUpdateChecked }));\n };\n }\n});\n","import { defineComponent, h, inject } from 'vue';\nimport { NRadio } from '../../../radio';\nimport { dataTableInjectionKey } from '../interface';\n// Extract the radio to avoid useless rendering in table body\nexport default defineComponent({\n name: 'DataTableBodyRadio',\n props: {\n rowKey: {\n type: [String, Number],\n required: true\n },\n disabled: {\n type: Boolean,\n required: true\n },\n onUpdateChecked: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n const { mergedCheckedRowKeySetRef, componentId\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n return () => {\n const { rowKey } = props;\n return (h(NRadio, { name: componentId, disabled: props.disabled, checked: mergedCheckedRowKeySetRef.value.has(rowKey), onUpdateChecked: props.onUpdateChecked }));\n };\n }\n});\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, ref, defineComponent, inject, watchEffect, onUnmounted, computed, Fragment } from 'vue';\nimport { pxfy, repeat } from 'seemly';\nimport { VirtualList, VResizeObserver } from 'vueuc';\nimport { useMemo } from 'vooks';\nimport { cssrAnchorMetaName } from '../../../_mixins/common';\nimport { c } from '../../../_utils/cssr';\nimport { NScrollbar } from '../../../_internal';\nimport { formatLength, resolveSlot, warn } from '../../../_utils';\nimport { NEmpty } from '../../../empty';\nimport { dataTableInjectionKey } from '../interface';\nimport { createRowClassName, getColKey, isColumnSorting } from '../utils';\nimport Cell from './Cell';\nimport ExpandTrigger from './ExpandTrigger';\nimport RenderSafeCheckbox from './BodyCheckbox';\nimport RenderSafeRadio from './BodyRadio';\nimport TableHeader from './Header';\nfunction flatten(rowInfos, expandedRowKeys) {\n const fRows = [];\n function traverse(rs, rootIndex) {\n rs.forEach((r) => {\n if (r.children && expandedRowKeys.has(r.key)) {\n fRows.push({\n tmNode: r,\n striped: false,\n key: r.key,\n index: rootIndex\n });\n traverse(r.children, rootIndex);\n }\n else {\n fRows.push({\n key: r.key,\n tmNode: r,\n striped: false,\n index: rootIndex\n });\n }\n });\n }\n rowInfos.forEach((rowInfo) => {\n fRows.push(rowInfo);\n const { children } = rowInfo.tmNode;\n if (children && expandedRowKeys.has(rowInfo.key)) {\n traverse(children, rowInfo.index);\n }\n });\n return fRows;\n}\nconst VirtualListItemWrapper = defineComponent({\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n cols: {\n type: Array,\n required: true\n },\n onMouseenter: Function,\n onMouseleave: Function\n },\n render() {\n const { clsPrefix, id, cols, onMouseenter, onMouseleave } = this;\n return (h(\"table\", { style: { tableLayout: 'fixed' }, class: `${clsPrefix}-data-table-table`, onMouseenter: onMouseenter, onMouseleave: onMouseleave },\n h(\"colgroup\", null, cols.map((col) => (h(\"col\", { key: col.key, style: col.style })))),\n h(\"tbody\", { \"data-n-id\": id, class: `${clsPrefix}-data-table-tbody` }, this.$slots)));\n }\n});\nexport default defineComponent({\n name: 'DataTableBody',\n props: {\n onResize: Function,\n showHeader: Boolean,\n flexHeight: Boolean,\n bodyStyle: Object\n },\n setup(props) {\n const { slots: dataTableSlots, bodyWidthRef, mergedExpandedRowKeysRef, mergedClsPrefixRef, mergedThemeRef, scrollXRef, colsRef, paginatedDataRef, rawPaginatedDataRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, rowClassNameRef, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, renderExpandRef, hoverKeyRef, summaryRef, mergedSortStateRef, virtualScrollRef, componentId, mergedTableLayoutRef, childTriggerColIndexRef, indentRef, rowPropsRef, maxHeightRef, stripedRef, loadingRef, onLoadRef, loadingKeySetRef, expandableRef, stickyExpandedRowsRef, renderExpandIconRef, summaryPlacementRef, treeMateRef, scrollbarPropsRef, setHeaderScrollLeft, doUpdateExpandedRowKeys, handleTableBodyScroll, doCheck, doUncheck, renderCell\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const scrollbarInstRef = ref(null);\n const virtualListRef = ref(null);\n const emptyElRef = ref(null);\n const emptyRef = useMemo(() => paginatedDataRef.value.length === 0);\n // If header is not inside & empty is displayed, no table part would be\n // shown. So to collect a body width, we need to put a ref on empty element\n const shouldDisplaySomeTablePartRef = useMemo(() => props.showHeader || !emptyRef.value);\n // If no body is shown, we shouldn't show scrollbar\n const bodyShowHeaderOnlyRef = useMemo(() => {\n return props.showHeader || emptyRef.value;\n });\n let lastSelectedKey = '';\n const mergedExpandedRowKeySetRef = computed(() => {\n return new Set(mergedExpandedRowKeysRef.value);\n });\n function getRowInfo(key) {\n var _a;\n return (_a = treeMateRef.value.getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode;\n }\n function handleCheckboxUpdateChecked(tmNode, checked, shiftKey) {\n const rowInfo = getRowInfo(tmNode.key);\n if (!rowInfo) {\n warn('data-table', `fail to get row data with key ${tmNode.key}`);\n return;\n }\n if (shiftKey) {\n const lastIndex = paginatedDataRef.value.findIndex((item) => item.key === lastSelectedKey);\n if (lastIndex !== -1) {\n const currentIndex = paginatedDataRef.value.findIndex((item) => item.key === tmNode.key);\n const start = Math.min(lastIndex, currentIndex);\n const end = Math.max(lastIndex, currentIndex);\n const rowKeysToCheck = [];\n paginatedDataRef.value.slice(start, end + 1).forEach((r) => {\n if (!r.disabled) {\n rowKeysToCheck.push(r.key);\n }\n });\n if (checked) {\n doCheck(rowKeysToCheck, false, rowInfo);\n }\n else {\n doUncheck(rowKeysToCheck, rowInfo);\n }\n lastSelectedKey = tmNode.key;\n return;\n }\n }\n if (checked) {\n doCheck(tmNode.key, false, rowInfo);\n }\n else {\n doUncheck(tmNode.key, rowInfo);\n }\n lastSelectedKey = tmNode.key;\n }\n function handleRadioUpdateChecked(tmNode) {\n const rowInfo = getRowInfo(tmNode.key);\n if (!rowInfo) {\n warn('data-table', `fail to get row data with key ${tmNode.key}`);\n return;\n }\n doCheck(tmNode.key, true, rowInfo);\n }\n function getScrollContainer() {\n if (!shouldDisplaySomeTablePartRef.value) {\n const { value: emptyEl } = emptyElRef;\n if (emptyEl) {\n return emptyEl;\n }\n else {\n return null;\n }\n }\n if (virtualScrollRef.value) {\n return virtualListContainer();\n }\n const { value } = scrollbarInstRef;\n if (value)\n return value.containerRef;\n return null;\n }\n // For table row with children, tmNode is non-nullable\n // For table row is expandable but is not tree data, tmNode is null\n function handleUpdateExpanded(key, tmNode) {\n var _a;\n if (loadingKeySetRef.value.has(key))\n return;\n const { value: mergedExpandedRowKeys } = mergedExpandedRowKeysRef;\n const index = mergedExpandedRowKeys.indexOf(key);\n const nextExpandedKeys = Array.from(mergedExpandedRowKeys);\n if (~index) {\n nextExpandedKeys.splice(index, 1);\n doUpdateExpandedRowKeys(nextExpandedKeys);\n }\n else {\n if (tmNode && !tmNode.isLeaf && !tmNode.shallowLoaded) {\n loadingKeySetRef.value.add(key);\n void ((_a = onLoadRef\n .value) === null || _a === void 0 ? void 0 : _a.call(onLoadRef, tmNode.rawNode).then(() => {\n const { value: futureMergedExpandedRowKeys } = mergedExpandedRowKeysRef;\n const futureNextExpandedKeys = Array.from(futureMergedExpandedRowKeys);\n const index = futureNextExpandedKeys.indexOf(key);\n if (!~index) {\n futureNextExpandedKeys.push(key);\n }\n doUpdateExpandedRowKeys(futureNextExpandedKeys);\n }).finally(() => {\n loadingKeySetRef.value.delete(key);\n }));\n }\n else {\n nextExpandedKeys.push(key);\n doUpdateExpandedRowKeys(nextExpandedKeys);\n }\n }\n }\n function handleMouseleaveTable() {\n hoverKeyRef.value = null;\n }\n function virtualListContainer() {\n const { value } = virtualListRef;\n return (value === null || value === void 0 ? void 0 : value.listElRef) || null;\n }\n function virtualListContent() {\n const { value } = virtualListRef;\n return (value === null || value === void 0 ? void 0 : value.itemsElRef) || null;\n }\n function handleVirtualListScroll(e) {\n var _a;\n handleTableBodyScroll(e);\n (_a = scrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n }\n function handleVirtualListResize(e) {\n var _a;\n const { onResize } = props;\n if (onResize)\n onResize(e);\n (_a = scrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n }\n const exposedMethods = {\n getScrollContainer,\n scrollTo(arg0, arg1) {\n var _a, _b;\n if (virtualScrollRef.value) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_a = virtualListRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_b = scrollbarInstRef.value) === null || _b === void 0 ? void 0 : _b.scrollTo(arg0, arg1);\n }\n }\n };\n // manually control shadow style to avoid rerender\n const style = c([\n ({ props: cProps }) => {\n const createActiveLeftFixedStyle = (leftActiveFixedColKey) => {\n if (leftActiveFixedColKey === null)\n return null;\n return c(`[data-n-id=\"${cProps.componentId}\"] [data-col-key=\"${leftActiveFixedColKey}\"]::after`, { boxShadow: 'var(--n-box-shadow-after)' });\n };\n const createActiveRightFixedStyle = (rightActiveFixedColKey) => {\n if (rightActiveFixedColKey === null)\n return null;\n return c(`[data-n-id=\"${cProps.componentId}\"] [data-col-key=\"${rightActiveFixedColKey}\"]::before`, { boxShadow: 'var(--n-box-shadow-before)' });\n };\n return c([\n createActiveLeftFixedStyle(cProps.leftActiveFixedColKey),\n createActiveRightFixedStyle(cProps.rightActiveFixedColKey),\n cProps.leftActiveFixedChildrenColKeys.map((leftActiveFixedColKey) => createActiveLeftFixedStyle(leftActiveFixedColKey)),\n cProps.rightActiveFixedChildrenColKeys.map((rightActiveFixedColKey) => createActiveRightFixedStyle(rightActiveFixedColKey))\n ]);\n }\n ]);\n let fixedStyleMounted = false;\n watchEffect(() => {\n const { value: leftActiveFixedColKey } = leftActiveFixedColKeyRef;\n const { value: leftActiveFixedChildrenColKeys } = leftActiveFixedChildrenColKeysRef;\n const { value: rightActiveFixedColKey } = rightActiveFixedColKeyRef;\n const { value: rightActiveFixedChildrenColKeys } = rightActiveFixedChildrenColKeysRef;\n if (!fixedStyleMounted &&\n leftActiveFixedColKey === null &&\n rightActiveFixedColKey === null) {\n return;\n }\n const cProps = {\n leftActiveFixedColKey,\n leftActiveFixedChildrenColKeys,\n rightActiveFixedColKey,\n rightActiveFixedChildrenColKeys,\n componentId\n };\n style.mount({\n id: `n-${componentId}`,\n force: true,\n props: cProps,\n anchorMetaName: cssrAnchorMetaName\n });\n fixedStyleMounted = true;\n });\n onUnmounted(() => {\n style.unmount({\n id: `n-${componentId}`\n });\n });\n return Object.assign({ bodyWidth: bodyWidthRef, summaryPlacement: summaryPlacementRef, dataTableSlots,\n componentId,\n scrollbarInstRef,\n virtualListRef,\n emptyElRef, summary: summaryRef, mergedClsPrefix: mergedClsPrefixRef, mergedTheme: mergedThemeRef, scrollX: scrollXRef, cols: colsRef, loading: loadingRef, bodyShowHeaderOnly: bodyShowHeaderOnlyRef, shouldDisplaySomeTablePart: shouldDisplaySomeTablePartRef, empty: emptyRef, paginatedDataAndInfo: computed(() => {\n const { value: striped } = stripedRef;\n let hasChildren = false;\n const data = paginatedDataRef.value.map(striped\n ? (tmNode, index) => {\n if (!tmNode.isLeaf)\n hasChildren = true;\n return {\n tmNode,\n key: tmNode.key,\n striped: index % 2 === 1,\n index\n };\n }\n : (tmNode, index) => {\n if (!tmNode.isLeaf)\n hasChildren = true;\n return {\n tmNode,\n key: tmNode.key,\n striped: false,\n index\n };\n });\n return {\n data,\n hasChildren\n };\n }), rawPaginatedData: rawPaginatedDataRef, fixedColumnLeftMap: fixedColumnLeftMapRef, fixedColumnRightMap: fixedColumnRightMapRef, currentPage: mergedCurrentPageRef, rowClassName: rowClassNameRef, renderExpand: renderExpandRef, mergedExpandedRowKeySet: mergedExpandedRowKeySetRef, hoverKey: hoverKeyRef, mergedSortState: mergedSortStateRef, virtualScroll: virtualScrollRef, mergedTableLayout: mergedTableLayoutRef, childTriggerColIndex: childTriggerColIndexRef, indent: indentRef, rowProps: rowPropsRef, maxHeight: maxHeightRef, loadingKeySet: loadingKeySetRef, expandable: expandableRef, stickyExpandedRows: stickyExpandedRowsRef, renderExpandIcon: renderExpandIconRef, scrollbarProps: scrollbarPropsRef, setHeaderScrollLeft,\n handleVirtualListScroll,\n handleVirtualListResize,\n handleMouseleaveTable,\n virtualListContainer,\n virtualListContent,\n handleTableBodyScroll,\n handleCheckboxUpdateChecked,\n handleRadioUpdateChecked,\n handleUpdateExpanded,\n renderCell }, exposedMethods);\n },\n render() {\n const { mergedTheme, scrollX, mergedClsPrefix, virtualScroll, maxHeight, mergedTableLayout, flexHeight, loadingKeySet, onResize, setHeaderScrollLeft } = this;\n const scrollable = scrollX !== undefined || maxHeight !== undefined || flexHeight;\n // For a basic table with auto layout whose content may overflow we will\n // make it scrollable, which differs from browser's native behavior.\n // For native behavior, see\n // https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout\n const isBasicAutoLayout = !scrollable && mergedTableLayout === 'auto';\n const xScrollable = scrollX !== undefined || isBasicAutoLayout;\n const contentStyle = {\n minWidth: formatLength(scrollX) || '100%'\n };\n if (scrollX)\n contentStyle.width = '100%';\n const tableNode = (h(NScrollbar, Object.assign({}, this.scrollbarProps, { ref: \"scrollbarInstRef\", scrollable: scrollable || isBasicAutoLayout, class: `${mergedClsPrefix}-data-table-base-table-body`, style: this.bodyStyle, theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar, contentStyle: contentStyle, container: virtualScroll ? this.virtualListContainer : undefined, content: virtualScroll ? this.virtualListContent : undefined, horizontalRailStyle: { zIndex: 3 }, verticalRailStyle: { zIndex: 3 }, xScrollable: xScrollable, onScroll: virtualScroll ? undefined : this.handleTableBodyScroll, internalOnUpdateScrollLeft: setHeaderScrollLeft, onResize: onResize }), {\n default: () => {\n // coordinate to pass if there are cells that cross row & col\n const cordToPass = {};\n // coordinate to related hover keys\n const cordKey = {};\n const { cols, paginatedDataAndInfo, mergedTheme, fixedColumnLeftMap, fixedColumnRightMap, currentPage, rowClassName, mergedSortState, mergedExpandedRowKeySet, stickyExpandedRows, componentId, childTriggerColIndex, expandable, rowProps, handleMouseleaveTable, renderExpand, summary, handleCheckboxUpdateChecked, handleRadioUpdateChecked, handleUpdateExpanded } = this;\n const { length: colCount } = cols;\n let mergedData;\n // if there is children in data, we should expand mergedData first\n const { data: paginatedData, hasChildren } = paginatedDataAndInfo;\n const mergedPaginationData = hasChildren\n ? flatten(paginatedData, mergedExpandedRowKeySet)\n : paginatedData;\n if (summary) {\n const summaryRows = summary(this.rawPaginatedData);\n if (Array.isArray(summaryRows)) {\n const summaryRowData = summaryRows.map((row, i) => ({\n isSummaryRow: true,\n key: `__n_summary__${i}`,\n tmNode: {\n rawNode: row,\n disabled: true\n },\n index: -1\n }));\n mergedData =\n this.summaryPlacement === 'top'\n ? [...summaryRowData, ...mergedPaginationData]\n : [...mergedPaginationData, ...summaryRowData];\n }\n else {\n const summaryRowData = {\n isSummaryRow: true,\n key: '__n_summary__',\n tmNode: {\n rawNode: summaryRows,\n disabled: true\n },\n index: -1\n };\n mergedData =\n this.summaryPlacement === 'top'\n ? [summaryRowData, ...mergedPaginationData]\n : [...mergedPaginationData, summaryRowData];\n }\n }\n else {\n mergedData = mergedPaginationData;\n }\n const indentStyle = hasChildren\n ? { width: pxfy(this.indent) }\n : undefined;\n // Tile the data of the expanded row\n const displayedData = [];\n mergedData.forEach((rowInfo) => {\n if (renderExpand &&\n mergedExpandedRowKeySet.has(rowInfo.key) &&\n (!expandable || expandable(rowInfo.tmNode.rawNode))) {\n displayedData.push(rowInfo, {\n isExpandedRow: true,\n key: `${rowInfo.key}-expand`, // solve key repeat of the expanded row\n tmNode: rowInfo.tmNode,\n index: rowInfo.index\n });\n }\n else {\n displayedData.push(rowInfo);\n }\n });\n const { length: rowCount } = displayedData;\n const rowIndexToKey = {};\n paginatedData.forEach(({ tmNode }, rowIndex) => {\n rowIndexToKey[rowIndex] = tmNode.key;\n });\n const bodyWidth = stickyExpandedRows ? this.bodyWidth : null;\n const bodyWidthPx = bodyWidth === null ? undefined : `${bodyWidth}px`;\n const renderRow = (rowInfo, displayedRowIndex, isVirtual) => {\n const { index: actualRowIndex } = rowInfo;\n if ('isExpandedRow' in rowInfo) {\n const { tmNode: { key, rawNode } } = rowInfo;\n return (h(\"tr\", { class: `${mergedClsPrefix}-data-table-tr ${mergedClsPrefix}-data-table-tr--expanded`, key: `${key}__expand` },\n h(\"td\", { class: [\n `${mergedClsPrefix}-data-table-td`,\n `${mergedClsPrefix}-data-table-td--last-col`,\n displayedRowIndex + 1 === rowCount &&\n `${mergedClsPrefix}-data-table-td--last-row`\n ], colspan: colCount }, stickyExpandedRows ? (h(\"div\", { class: `${mergedClsPrefix}-data-table-expand`, style: {\n width: bodyWidthPx\n } }, renderExpand(rawNode, actualRowIndex))) : (renderExpand(rawNode, actualRowIndex)))));\n }\n const isSummary = 'isSummaryRow' in rowInfo;\n const striped = !isSummary && rowInfo.striped;\n const { tmNode, key: rowKey } = rowInfo;\n const { rawNode: rowData } = tmNode;\n const expanded = mergedExpandedRowKeySet.has(rowKey);\n const props = rowProps\n ? rowProps(rowData, actualRowIndex)\n : undefined;\n const mergedRowClassName = typeof rowClassName === 'string'\n ? rowClassName\n : createRowClassName(rowData, actualRowIndex, rowClassName);\n const row = (h(\"tr\", Object.assign({ onMouseenter: () => {\n this.hoverKey = rowKey;\n }, key: rowKey, class: [\n `${mergedClsPrefix}-data-table-tr`,\n isSummary && `${mergedClsPrefix}-data-table-tr--summary`,\n striped && `${mergedClsPrefix}-data-table-tr--striped`,\n expanded && `${mergedClsPrefix}-data-table-tr--expanded`,\n mergedRowClassName\n ] }, props), cols.map((col, colIndex) => {\n var _a, _b, _c, _d, _e;\n if (displayedRowIndex in cordToPass) {\n const cordOfRowToPass = cordToPass[displayedRowIndex];\n const indexInCordOfRowToPass = cordOfRowToPass.indexOf(colIndex);\n if (~indexInCordOfRowToPass) {\n cordOfRowToPass.splice(indexInCordOfRowToPass, 1);\n return null;\n }\n }\n // TODO: Simplify row calculation\n const { column } = col;\n const colKey = getColKey(col);\n const { rowSpan, colSpan } = column;\n const mergedColSpan = isSummary\n ? ((_a = rowInfo.tmNode.rawNode[colKey]) === null || _a === void 0 ? void 0 : _a.colSpan) || 1 // optional for #1276\n : colSpan\n ? colSpan(rowData, actualRowIndex)\n : 1;\n const mergedRowSpan = isSummary\n ? ((_b = rowInfo.tmNode.rawNode[colKey]) === null || _b === void 0 ? void 0 : _b.rowSpan) || 1 // optional for #1276\n : rowSpan\n ? rowSpan(rowData, actualRowIndex)\n : 1;\n const isLastCol = colIndex + mergedColSpan === colCount;\n const isLastRow = displayedRowIndex + mergedRowSpan === rowCount;\n const isCrossRowTd = mergedRowSpan > 1;\n if (isCrossRowTd) {\n cordKey[displayedRowIndex] = {\n [colIndex]: []\n };\n }\n if (mergedColSpan > 1 || isCrossRowTd) {\n for (let i = displayedRowIndex; i < displayedRowIndex + mergedRowSpan; ++i) {\n if (isCrossRowTd) {\n cordKey[displayedRowIndex][colIndex].push(rowIndexToKey[i]);\n }\n for (let j = colIndex; j < colIndex + mergedColSpan; ++j) {\n if (i === displayedRowIndex && j === colIndex) {\n continue;\n }\n if (!(i in cordToPass)) {\n cordToPass[i] = [j];\n }\n else {\n cordToPass[i].push(j);\n }\n }\n }\n }\n const hoverKey = isCrossRowTd ? this.hoverKey : null;\n const { cellProps } = column;\n const resolvedCellProps = cellProps === null || cellProps === void 0 ? void 0 : cellProps(rowData, actualRowIndex);\n const indentOffsetStyle = {\n '--indent-offset': ''\n };\n return (h(\"td\", Object.assign({}, resolvedCellProps, { key: colKey, style: [\n {\n textAlign: column.align || undefined,\n left: pxfy((_c = fixedColumnLeftMap[colKey]) === null || _c === void 0 ? void 0 : _c.start),\n right: pxfy((_d = fixedColumnRightMap[colKey]) === null || _d === void 0 ? void 0 : _d.start)\n },\n indentOffsetStyle,\n (resolvedCellProps === null || resolvedCellProps === void 0 ? void 0 : resolvedCellProps.style) || ''\n ], colspan: mergedColSpan, rowspan: isVirtual ? undefined : mergedRowSpan, \"data-col-key\": colKey, class: [\n `${mergedClsPrefix}-data-table-td`,\n column.className,\n resolvedCellProps === null || resolvedCellProps === void 0 ? void 0 : resolvedCellProps.class,\n isSummary &&\n `${mergedClsPrefix}-data-table-td--summary`,\n ((hoverKey !== null &&\n cordKey[displayedRowIndex][colIndex].includes(hoverKey)) ||\n isColumnSorting(column, mergedSortState)) &&\n `${mergedClsPrefix}-data-table-td--hover`,\n column.fixed &&\n `${mergedClsPrefix}-data-table-td--fixed-${column.fixed}`,\n column.align &&\n `${mergedClsPrefix}-data-table-td--${column.align}-align`,\n column.type === 'selection' &&\n `${mergedClsPrefix}-data-table-td--selection`,\n column.type === 'expand' &&\n `${mergedClsPrefix}-data-table-td--expand`,\n isLastCol &&\n `${mergedClsPrefix}-data-table-td--last-col`,\n isLastRow &&\n `${mergedClsPrefix}-data-table-td--last-row`\n ] }),\n hasChildren && colIndex === childTriggerColIndex\n ? [\n repeat((indentOffsetStyle['--indent-offset'] =\n isSummary ? 0 : rowInfo.tmNode.level), h(\"div\", { class: `${mergedClsPrefix}-data-table-indent`, style: indentStyle })),\n isSummary || rowInfo.tmNode.isLeaf ? (h(\"div\", { class: `${mergedClsPrefix}-data-table-expand-placeholder` })) : (h(ExpandTrigger, { class: `${mergedClsPrefix}-data-table-expand-trigger`, clsPrefix: mergedClsPrefix, expanded: expanded, renderExpandIcon: this.renderExpandIcon, loading: loadingKeySet.has(rowInfo.key), onClick: () => {\n handleUpdateExpanded(rowKey, rowInfo.tmNode);\n } }))\n ]\n : null,\n column.type === 'selection' ? (!isSummary ? (column.multiple === false ? (h(RenderSafeRadio, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: () => {\n handleRadioUpdateChecked(rowInfo.tmNode);\n } })) : (h(RenderSafeCheckbox, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: (checked, e) => {\n handleCheckboxUpdateChecked(rowInfo.tmNode, checked, e.shiftKey);\n } }))) : null) : column.type === 'expand' ? (!isSummary ? (!column.expandable ||\n ((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? (h(ExpandTrigger, { clsPrefix: mergedClsPrefix, expanded: expanded, renderExpandIcon: this.renderExpandIcon, onClick: () => {\n handleUpdateExpanded(rowKey, null);\n } })) : null) : null) : (h(Cell, { clsPrefix: mergedClsPrefix, index: actualRowIndex, row: rowData, column: column, isSummary: isSummary, mergedTheme: mergedTheme, renderCell: this.renderCell }))));\n })));\n return row;\n };\n if (!virtualScroll) {\n return (h(\"table\", { class: `${mergedClsPrefix}-data-table-table`, onMouseleave: handleMouseleaveTable, style: {\n tableLayout: this.mergedTableLayout\n } },\n h(\"colgroup\", null, cols.map((col) => (h(\"col\", { key: col.key, style: col.style })))),\n this.showHeader ? h(TableHeader, { discrete: false }) : null,\n !this.empty ? (h(\"tbody\", { \"data-n-id\": componentId, class: `${mergedClsPrefix}-data-table-tbody` }, displayedData.map((rowInfo, displayedRowIndex) => {\n return renderRow(rowInfo, displayedRowIndex, false);\n }))) : null));\n }\n else {\n return (h(VirtualList, { ref: \"virtualListRef\", items: displayedData, itemSize: 28, visibleItemsTag: VirtualListItemWrapper, visibleItemsProps: {\n clsPrefix: mergedClsPrefix,\n id: componentId,\n cols,\n onMouseleave: handleMouseleaveTable\n }, showScrollbar: false, onResize: this.handleVirtualListResize, onScroll: this.handleVirtualListScroll, itemsStyle: contentStyle, itemResizable: true }, {\n default: ({ item, index }) => renderRow(item, index, true)\n }));\n }\n }\n }));\n if (this.empty) {\n const createEmptyNode = () => (h(\"div\", { class: [\n `${mergedClsPrefix}-data-table-empty`,\n this.loading && `${mergedClsPrefix}-data-table-empty--hide`\n ], style: this.bodyStyle, ref: \"emptyElRef\" }, resolveSlot(this.dataTableSlots.empty, () => [\n h(NEmpty, { theme: this.mergedTheme.peers.Empty, themeOverrides: this.mergedTheme.peerOverrides.Empty })\n ])));\n if (this.shouldDisplaySomeTablePart) {\n return (h(Fragment, null,\n tableNode,\n createEmptyNode()));\n }\n else {\n return (h(VResizeObserver, { onResize: this.onResize }, { default: createEmptyNode }));\n }\n }\n return tableNode;\n }\n});\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, ref, defineComponent, inject, computed, watchEffect } from 'vue';\nimport { formatLength } from '../../_utils';\nimport TableHeader from './TableParts/Header';\nimport TableBody from './TableParts/Body';\nimport { dataTableInjectionKey } from './interface';\nexport default defineComponent({\n setup() {\n const { mergedClsPrefixRef, rightFixedColumnsRef, leftFixedColumnsRef, bodyWidthRef, maxHeightRef, minHeightRef, flexHeightRef, syncScrollState\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const headerInstRef = ref(null);\n const bodyInstRef = ref(null);\n const selfElRef = ref(null);\n const fixedStateInitializedRef = ref(!(leftFixedColumnsRef.value.length || rightFixedColumnsRef.value.length));\n const bodyStyleRef = computed(() => {\n return {\n maxHeight: formatLength(maxHeightRef.value),\n minHeight: formatLength(minHeightRef.value)\n };\n });\n function handleBodyResize(entry) {\n bodyWidthRef.value = entry.contentRect.width;\n syncScrollState();\n if (!fixedStateInitializedRef.value) {\n fixedStateInitializedRef.value = true;\n }\n }\n function getHeaderElement() {\n const { value } = headerInstRef;\n if (value) {\n return value.$el;\n }\n return null;\n }\n function getBodyElement() {\n const { value } = bodyInstRef;\n if (value) {\n return value.getScrollContainer();\n }\n return null;\n }\n const exposedMethods = {\n getBodyElement,\n getHeaderElement,\n scrollTo(arg0, arg1) {\n var _a;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_a = bodyInstRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n };\n watchEffect(() => {\n const { value: selfEl } = selfElRef;\n if (!selfEl)\n return;\n const transitionDisabledClass = `${mergedClsPrefixRef.value}-data-table-base-table--transition-disabled`;\n if (fixedStateInitializedRef.value) {\n setTimeout(() => {\n selfEl.classList.remove(transitionDisabledClass);\n }, 0);\n }\n else {\n selfEl.classList.add(transitionDisabledClass);\n }\n });\n return Object.assign({ maxHeight: maxHeightRef, mergedClsPrefix: mergedClsPrefixRef, selfElRef,\n headerInstRef,\n bodyInstRef, bodyStyle: bodyStyleRef, flexHeight: flexHeightRef, handleBodyResize }, exposedMethods);\n },\n render() {\n const { mergedClsPrefix, maxHeight, flexHeight } = this;\n const headerInBody = maxHeight === undefined && !flexHeight;\n return (h(\"div\", { class: `${mergedClsPrefix}-data-table-base-table`, ref: \"selfElRef\" },\n headerInBody ? null : h(TableHeader, { ref: \"headerInstRef\" }),\n h(TableBody, { ref: \"bodyInstRef\", bodyStyle: this.bodyStyle, showHeader: headerInBody, flexHeight: flexHeight, onResize: this.handleBodyResize })));\n }\n});\n","import { computed, ref } from 'vue';\nimport { call } from '../../_utils';\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useCheck(props, data) {\n const { paginatedDataRef, treeMateRef, selectionColumnRef } = data;\n const uncontrolledCheckedRowKeysRef = ref(props.defaultCheckedRowKeys);\n const mergedCheckState = computed(() => {\n var _a;\n const { checkedRowKeys } = props;\n const sourceKeys = checkedRowKeys === undefined\n ? uncontrolledCheckedRowKeysRef.value\n : checkedRowKeys;\n if (((_a = selectionColumnRef.value) === null || _a === void 0 ? void 0 : _a.multiple) === false) {\n return {\n checkedKeys: sourceKeys.slice(0, 1),\n indeterminateKeys: []\n };\n }\n return treeMateRef.value.getCheckedKeys(sourceKeys, {\n cascade: props.cascade,\n allowNotLoaded: props.allowCheckingNotLoaded\n });\n });\n const mergedCheckedRowKeysRef = computed(() => mergedCheckState.value.checkedKeys);\n const mergedInderminateRowKeysRef = computed(() => mergedCheckState.value.indeterminateKeys);\n const mergedCheckedRowKeySetRef = computed(() => {\n return new Set(mergedCheckedRowKeysRef.value);\n });\n const mergedInderminateRowKeySetRef = computed(() => {\n return new Set(mergedInderminateRowKeysRef.value);\n });\n const countOfCurrentPageCheckedRowsRef = computed(() => {\n const { value: mergedCheckedRowKeySet } = mergedCheckedRowKeySetRef;\n return paginatedDataRef.value.reduce((total, tmNode) => {\n const { key, disabled } = tmNode;\n return total + (!disabled && mergedCheckedRowKeySet.has(key) ? 1 : 0);\n }, 0);\n });\n const countOfCurrentPageDisabledRowsRef = computed(() => {\n return paginatedDataRef.value.filter((item) => item.disabled).length;\n });\n const someRowsCheckedRef = computed(() => {\n const { length } = paginatedDataRef.value;\n const { value: mergedInderminateRowKeySet } = mergedInderminateRowKeySetRef;\n return ((countOfCurrentPageCheckedRowsRef.value > 0 &&\n countOfCurrentPageCheckedRowsRef.value <\n length - countOfCurrentPageDisabledRowsRef.value) ||\n paginatedDataRef.value.some((rowData) => mergedInderminateRowKeySet.has(rowData.key)));\n });\n const allRowsCheckedRef = computed(() => {\n const { length } = paginatedDataRef.value;\n return (countOfCurrentPageCheckedRowsRef.value !== 0 &&\n countOfCurrentPageCheckedRowsRef.value ===\n length - countOfCurrentPageDisabledRowsRef.value);\n });\n const headerCheckboxDisabledRef = computed(() => {\n return paginatedDataRef.value.length === 0;\n });\n function doUpdateCheckedRowKeys(keys, row, action) {\n const { 'onUpdate:checkedRowKeys': _onUpdateCheckedRowKeys, onUpdateCheckedRowKeys, onCheckedRowKeysChange } = props;\n const rows = [];\n const { value: { getNode } } = treeMateRef;\n keys.forEach((key) => {\n var _a;\n const row = (_a = getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rows.push(row);\n });\n if (_onUpdateCheckedRowKeys) {\n call(_onUpdateCheckedRowKeys, keys, rows, { row, action });\n }\n if (onUpdateCheckedRowKeys) {\n call(onUpdateCheckedRowKeys, keys, rows, { row, action });\n }\n if (onCheckedRowKeysChange) {\n call(onCheckedRowKeysChange, keys, rows, { row, action });\n }\n uncontrolledCheckedRowKeysRef.value = keys;\n }\n function doCheck(rowKey, single = false, rowInfo) {\n if (props.loading)\n return;\n if (single) {\n doUpdateCheckedRowKeys(Array.isArray(rowKey) ? rowKey.slice(0, 1) : [rowKey], rowInfo, 'check');\n return;\n }\n doUpdateCheckedRowKeys(treeMateRef.value.check(rowKey, mergedCheckedRowKeysRef.value, {\n cascade: props.cascade,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, rowInfo, 'check');\n }\n function doUncheck(rowKey, rowInfo) {\n if (props.loading)\n return;\n doUpdateCheckedRowKeys(treeMateRef.value.uncheck(rowKey, mergedCheckedRowKeysRef.value, {\n cascade: props.cascade,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, rowInfo, 'uncheck');\n }\n function doCheckAll(checkWholeTable = false) {\n const { value: column } = selectionColumnRef;\n if (!column || props.loading)\n return;\n const rowKeysToCheck = [];\n (checkWholeTable\n ? treeMateRef.value.treeNodes\n : paginatedDataRef.value).forEach((tmNode) => {\n if (!tmNode.disabled) {\n rowKeysToCheck.push(tmNode.key);\n }\n });\n // alway cascade, to emit correct row keys\n doUpdateCheckedRowKeys(treeMateRef.value.check(rowKeysToCheck, mergedCheckedRowKeysRef.value, {\n cascade: true,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, undefined, 'checkAll');\n }\n function doUncheckAll(checkWholeTable = false) {\n const { value: column } = selectionColumnRef;\n if (!column || props.loading)\n return;\n const rowKeysToUncheck = [];\n (checkWholeTable\n ? treeMateRef.value.treeNodes\n : paginatedDataRef.value).forEach((tmNode) => {\n if (!tmNode.disabled) {\n rowKeysToUncheck.push(tmNode.key);\n }\n });\n // alway cascade, to emit correct row keys\n doUpdateCheckedRowKeys(treeMateRef.value.uncheck(rowKeysToUncheck, mergedCheckedRowKeysRef.value, {\n cascade: true,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, undefined, 'uncheckAll');\n }\n return {\n mergedCheckedRowKeySetRef,\n mergedCheckedRowKeysRef,\n mergedInderminateRowKeySetRef,\n someRowsCheckedRef,\n allRowsCheckedRef,\n headerCheckboxDisabledRef,\n doUpdateCheckedRowKeys,\n doCheckAll,\n doUncheckAll,\n doCheck,\n doUncheck\n };\n}\n","import { computed, ref } from 'vue';\nimport { call } from '../../_utils';\nimport { getFlagOfOrder } from './utils';\nfunction getMultiplePriority(sorter) {\n if (typeof sorter === 'object' && typeof sorter.multiple === 'number') {\n return sorter.multiple;\n }\n return false;\n}\nfunction getSortFunction(sorter, columnKey) {\n if (columnKey &&\n (sorter === undefined ||\n sorter === 'default' ||\n (typeof sorter === 'object' && sorter.compare === 'default'))) {\n return getDefaultSorterFn(columnKey);\n }\n if (typeof sorter === 'function') {\n return sorter;\n }\n if (sorter &&\n typeof sorter === 'object' &&\n sorter.compare &&\n sorter.compare !== 'default') {\n return sorter.compare;\n }\n return false;\n}\nfunction getDefaultSorterFn(columnKey) {\n return (row1, row2) => {\n const value1 = row1[columnKey];\n const value2 = row2[columnKey];\n if (typeof value1 === 'number' && typeof value2 === 'number') {\n return value1 - value2;\n }\n else if (typeof value1 === 'string' && typeof value2 === 'string') {\n return value1.localeCompare(value2);\n }\n return 0;\n };\n}\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useSorter(props, { dataRelatedColsRef, filteredDataRef }) {\n const defaultSortState = [];\n // initialize\n dataRelatedColsRef.value.forEach((column) => {\n var _a;\n if (column.sorter !== undefined) {\n updateSortStatesByNewSortState(defaultSortState, {\n columnKey: column.key,\n sorter: column.sorter,\n order: (_a = column.defaultSortOrder) !== null && _a !== void 0 ? _a : false\n });\n }\n });\n const uncontrolledSortStateRef = ref(defaultSortState);\n const mergedSortStateRef = computed(() => {\n // If one of the columns's sort order is false or 'ascend' or 'descend',\n // the table's controll functionality should work in controlled manner.\n const columnsWithControlledSortOrder = dataRelatedColsRef.value.filter((column) => column.type !== 'selection' &&\n column.sorter !== undefined &&\n (column.sortOrder === 'ascend' ||\n column.sortOrder === 'descend' ||\n column.sortOrder === false));\n // if multiple columns are controlled sortable, then we need to find columns with active sortOrder\n const columnToSort = columnsWithControlledSortOrder.filter((col) => col.sortOrder !== false);\n if (columnToSort.length) {\n return columnToSort.map((column) => {\n return {\n columnKey: column.key,\n // column to sort has controlled sorter\n // sorter && sort order won't be undefined\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n order: column.sortOrder,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n sorter: column.sorter\n };\n });\n }\n // If any column is in controlled mode, the sorting state of the table is\n // in controlled mode\n if (columnsWithControlledSortOrder.length)\n return [];\n const { value: uncontrolledSortState } = uncontrolledSortStateRef;\n if (Array.isArray(uncontrolledSortState)) {\n return uncontrolledSortState;\n }\n else if (uncontrolledSortState) {\n return [uncontrolledSortState];\n }\n else {\n return [];\n }\n });\n const sortedDataRef = computed(() => {\n const activeSorters = mergedSortStateRef.value.slice().sort((a, b) => {\n const item1Priority = getMultiplePriority(a.sorter) || 0;\n const item2Priority = getMultiplePriority(b.sorter) || 0;\n return item2Priority - item1Priority;\n });\n if (activeSorters.length) {\n const filteredData = filteredDataRef.value.slice();\n return filteredData.sort((tmNode1, tmNode2) => {\n let compareResult = 0;\n activeSorters.some((sorterState) => {\n const { columnKey, sorter, order } = sorterState;\n const compareFn = getSortFunction(sorter, columnKey);\n if (compareFn && order) {\n compareResult = compareFn(tmNode1.rawNode, tmNode2.rawNode);\n if (compareResult !== 0) {\n compareResult = compareResult * getFlagOfOrder(order);\n return true;\n }\n }\n return false;\n });\n return compareResult;\n });\n }\n return filteredDataRef.value;\n });\n function getUpdatedSorterState(sortState) {\n let currentSortState = mergedSortStateRef.value.slice();\n // Multiple sorter (if you clicked on a multiple sort column)\n if (sortState && getMultiplePriority(sortState.sorter) !== false) {\n // clear column is not multiple sort\n currentSortState = currentSortState.filter((sortState) => getMultiplePriority(sortState.sorter) !== false);\n updateSortStatesByNewSortState(currentSortState, sortState);\n return currentSortState;\n }\n else if (sortState) {\n // single sorter\n return sortState;\n }\n // no sorter\n return null;\n }\n function deriveNextSorter(sortState) {\n const nextSorterState = getUpdatedSorterState(sortState);\n doUpdateSorter(nextSorterState);\n }\n function doUpdateSorter(sortState) {\n const { 'onUpdate:sorter': _onUpdateSorter, onUpdateSorter, onSorterChange } = props;\n if (_onUpdateSorter) {\n call(_onUpdateSorter, sortState);\n }\n if (onUpdateSorter) {\n call(onUpdateSorter, sortState);\n }\n if (onSorterChange) {\n call(onSorterChange, sortState);\n }\n uncontrolledSortStateRef.value = sortState;\n }\n function sort(columnKey, order = 'ascend') {\n if (!columnKey) {\n clearSorter();\n }\n else {\n const columnToSort = dataRelatedColsRef.value.find((column) => column.type !== 'selection' &&\n column.type !== 'expand' &&\n column.key === columnKey);\n if (!(columnToSort === null || columnToSort === void 0 ? void 0 : columnToSort.sorter))\n return;\n const sorter = columnToSort.sorter;\n deriveNextSorter({\n columnKey,\n sorter,\n order\n });\n }\n }\n function clearSorter() {\n doUpdateSorter(null);\n }\n function updateSortStatesByNewSortState(sortStates, sortState) {\n const index = sortStates.findIndex((state) => (sortState === null || sortState === void 0 ? void 0 : sortState.columnKey) && state.columnKey === sortState.columnKey);\n if (index !== undefined && index >= 0) {\n sortStates[index] = sortState;\n }\n else {\n sortStates.push(sortState);\n }\n }\n return {\n clearSorter,\n sort,\n sortedDataRef,\n mergedSortStateRef,\n deriveNextSorter\n };\n}\n","import { computed, ref } from 'vue';\nimport { useMemo, useMergedState } from 'vooks';\nimport { createTreeMate } from 'treemate';\nimport { call, warn } from '../../_utils';\nimport { createShallowClonedObject } from './utils';\nimport { useSorter } from './use-sorter';\n// useTableData combines filter, sorter and pagination\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useTableData(props, { dataRelatedColsRef }) {\n const selectionColumnRef = computed(() => {\n const getSelectionColumn = (cols) => {\n for (let i = 0; i < cols.length; ++i) {\n const col = cols[i];\n if ('children' in col) {\n return getSelectionColumn(col.children);\n }\n else if (col.type === 'selection') {\n return col;\n }\n }\n return null;\n };\n return getSelectionColumn(props.columns);\n });\n const treeMateRef = computed(() => {\n const { childrenKey } = props;\n return createTreeMate(props.data, {\n ignoreEmptyChildren: true,\n getKey: props.rowKey,\n getChildren: (rowData) => rowData[childrenKey],\n getDisabled: (rowData) => {\n var _a, _b;\n if ((_b = (_a = selectionColumnRef.value) === null || _a === void 0 ? void 0 : _a.disabled) === null || _b === void 0 ? void 0 : _b.call(_a, rowData)) {\n return true;\n }\n return false;\n }\n });\n });\n const childTriggerColIndexRef = useMemo(() => {\n const { columns } = props;\n const { length } = columns;\n let firstContentfulColIndex = null;\n for (let i = 0; i < length; ++i) {\n const col = columns[i];\n if (!col.type && firstContentfulColIndex === null) {\n firstContentfulColIndex = i;\n }\n if ('tree' in col && col.tree) {\n return i;\n }\n }\n return firstContentfulColIndex || 0;\n });\n const uncontrolledFilterStateRef = ref({});\n const uncontrolledCurrentPageRef = ref(1);\n const uncontrolledPageSizeRef = ref(10);\n const mergedFilterStateRef = computed(() => {\n const columnsWithControlledFilter = dataRelatedColsRef.value.filter((column) => {\n return (column.filterOptionValues !== undefined ||\n column.filterOptionValue !== undefined);\n });\n const controlledFilterState = {};\n columnsWithControlledFilter.forEach((column) => {\n var _a;\n if (column.type === 'selection' || column.type === 'expand')\n return;\n if (column.filterOptionValues === undefined) {\n controlledFilterState[column.key] = (_a = column.filterOptionValue) !== null && _a !== void 0 ? _a : null;\n }\n else {\n controlledFilterState[column.key] = column.filterOptionValues;\n }\n });\n const activeFilters = Object.assign(createShallowClonedObject(uncontrolledFilterStateRef.value), controlledFilterState);\n return activeFilters;\n });\n const filteredDataRef = computed(() => {\n const mergedFilterState = mergedFilterStateRef.value;\n const { columns } = props;\n function createDefaultFilter(columnKey) {\n return (filterOptionValue, row) => !!~String(row[columnKey]).indexOf(String(filterOptionValue));\n }\n const { value: { treeNodes: data } } = treeMateRef;\n const columnEntries = [];\n columns.forEach((column) => {\n if (column.type === 'selection' ||\n column.type === 'expand' ||\n 'children' in column) {\n return;\n }\n columnEntries.push([column.key, column]);\n });\n return data\n ? data.filter((tmNode) => {\n const { rawNode: row } = tmNode;\n // traverse all filters\n for (const [columnKey, column] of columnEntries) {\n let activeFilterOptionValues = mergedFilterState[columnKey];\n if (activeFilterOptionValues == null)\n continue;\n if (!Array.isArray(activeFilterOptionValues)) {\n activeFilterOptionValues = [activeFilterOptionValues];\n }\n if (!activeFilterOptionValues.length)\n continue;\n // When async, filter won't be set, so data won't be filtered\n const filter = column.filter === 'default'\n ? createDefaultFilter(columnKey)\n : column.filter;\n if (column && typeof filter === 'function') {\n if (column.filterMode === 'and') {\n if (activeFilterOptionValues.some((filterOptionValue) => !filter(filterOptionValue, row))) {\n return false;\n }\n }\n else {\n if (activeFilterOptionValues.some((filterOptionValue) => filter(filterOptionValue, row))) {\n continue;\n }\n else {\n return false;\n }\n }\n }\n }\n return true;\n })\n : [];\n });\n const { sortedDataRef, deriveNextSorter, mergedSortStateRef, sort, clearSorter } = useSorter(props, {\n dataRelatedColsRef,\n filteredDataRef\n });\n // initialize\n dataRelatedColsRef.value.forEach((column) => {\n var _a;\n if (column.filter) {\n const defaultFilterOptionValues = column.defaultFilterOptionValues;\n if (column.filterMultiple) {\n uncontrolledFilterStateRef.value[column.key] =\n defaultFilterOptionValues || [];\n }\n else if (defaultFilterOptionValues !== undefined) {\n // this branch is for compatibility, someone may use `values` in single filter mode\n uncontrolledFilterStateRef.value[column.key] =\n defaultFilterOptionValues === null ? [] : defaultFilterOptionValues;\n }\n else {\n uncontrolledFilterStateRef.value[column.key] =\n (_a = column.defaultFilterOptionValue) !== null && _a !== void 0 ? _a : null;\n }\n }\n });\n const controlledCurrentPageRef = computed(() => {\n const { pagination } = props;\n if (pagination === false)\n return undefined;\n return pagination.page;\n });\n const controlledPageSizeRef = computed(() => {\n const { pagination } = props;\n if (pagination === false)\n return undefined;\n return pagination.pageSize;\n });\n const _mergedCurrentPageRef = useMergedState(controlledCurrentPageRef, uncontrolledCurrentPageRef);\n const mergedPageSizeRef = useMergedState(controlledPageSizeRef, uncontrolledPageSizeRef);\n const boundedMergedCurrentPageRef = useMemo(() => {\n const page = _mergedCurrentPageRef.value;\n return props.remote\n ? page\n : Math.max(1, Math.min(Math.ceil(filteredDataRef.value.length / mergedPageSizeRef.value), page));\n });\n const mergedPageCountRef = computed(() => {\n const { pagination } = props;\n if (pagination) {\n const { pageCount } = pagination;\n if (pageCount !== undefined)\n return pageCount;\n }\n return undefined;\n });\n const paginatedDataRef = computed(() => {\n if (props.remote)\n return treeMateRef.value.treeNodes;\n if (!props.pagination)\n return sortedDataRef.value;\n const pageSize = mergedPageSizeRef.value;\n const startIndex = (boundedMergedCurrentPageRef.value - 1) * pageSize;\n return sortedDataRef.value.slice(startIndex, startIndex + pageSize);\n });\n const rawPaginatedDataRef = computed(() => {\n return paginatedDataRef.value.map((tmNode) => tmNode.rawNode);\n });\n function mergedOnUpdatePage(page) {\n const { pagination } = props;\n if (pagination) {\n const { onChange, 'onUpdate:page': _onUpdatePage, onUpdatePage } = pagination;\n if (onChange)\n call(onChange, page);\n if (onUpdatePage)\n call(onUpdatePage, page);\n if (_onUpdatePage)\n call(_onUpdatePage, page);\n doUpdatePage(page);\n }\n }\n function mergedOnUpdatePageSize(pageSize) {\n const { pagination } = props;\n if (pagination) {\n const { onPageSizeChange, 'onUpdate:pageSize': _onUpdatePageSize, onUpdatePageSize } = pagination;\n if (onPageSizeChange)\n call(onPageSizeChange, pageSize);\n if (onUpdatePageSize)\n call(onUpdatePageSize, pageSize);\n if (_onUpdatePageSize)\n call(_onUpdatePageSize, pageSize);\n doUpdatePageSize(pageSize);\n }\n }\n const mergedItemCountRef = computed(() => {\n if (props.remote) {\n const { pagination } = props;\n if (pagination) {\n const { itemCount } = pagination;\n if (itemCount !== undefined)\n return itemCount;\n }\n return undefined;\n }\n return filteredDataRef.value.length;\n });\n const mergedPaginationRef = computed(() => {\n return Object.assign(Object.assign({}, props.pagination), { \n // reset deprecated methods\n onChange: undefined, onUpdatePage: undefined, onUpdatePageSize: undefined, onPageSizeChange: undefined, 'onUpdate:page': mergedOnUpdatePage, 'onUpdate:pageSize': mergedOnUpdatePageSize, \n // writing merged props after pagination to avoid\n // pagination[key] === undefined\n // key still exists but value is undefined\n page: boundedMergedCurrentPageRef.value, pageSize: mergedPageSizeRef.value, pageCount: mergedItemCountRef.value === undefined\n ? mergedPageCountRef.value\n : undefined, itemCount: mergedItemCountRef.value });\n });\n function doUpdatePage(page) {\n const { 'onUpdate:page': _onUpdatePage, onPageChange, onUpdatePage } = props;\n if (onUpdatePage)\n call(onUpdatePage, page);\n if (_onUpdatePage)\n call(_onUpdatePage, page);\n if (onPageChange)\n call(onPageChange, page);\n uncontrolledCurrentPageRef.value = page;\n }\n function doUpdatePageSize(pageSize) {\n const { 'onUpdate:pageSize': _onUpdatePageSize, onPageSizeChange, onUpdatePageSize } = props;\n if (onPageSizeChange)\n call(onPageSizeChange, pageSize);\n if (onUpdatePageSize)\n call(onUpdatePageSize, pageSize);\n if (_onUpdatePageSize)\n call(_onUpdatePageSize, pageSize);\n uncontrolledPageSizeRef.value = pageSize;\n }\n function doUpdateFilters(filters, sourceColumn) {\n const { onUpdateFilters, 'onUpdate:filters': _onUpdateFilters, onFiltersChange } = props;\n if (onUpdateFilters)\n call(onUpdateFilters, filters, sourceColumn);\n if (_onUpdateFilters)\n call(_onUpdateFilters, filters, sourceColumn);\n if (onFiltersChange)\n call(onFiltersChange, filters, sourceColumn);\n uncontrolledFilterStateRef.value = filters;\n }\n function onUnstableColumnResize(resizedWidth, limitedWidth, column, getColumnWidth) {\n var _a;\n (_a = props.onUnstableColumnResize) === null || _a === void 0 ? void 0 : _a.call(props, resizedWidth, limitedWidth, column, getColumnWidth);\n }\n function page(page) {\n doUpdatePage(page);\n }\n function clearFilter() {\n clearFilters();\n }\n function clearFilters() {\n filters({});\n }\n function filters(filters) {\n filter(filters);\n }\n function filter(filters) {\n if (!filters) {\n uncontrolledFilterStateRef.value = {};\n }\n else if (filters) {\n uncontrolledFilterStateRef.value = createShallowClonedObject(filters);\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn('data-table', '`filters` is not an object');\n }\n }\n return {\n treeMateRef,\n mergedCurrentPageRef: boundedMergedCurrentPageRef,\n mergedPaginationRef,\n paginatedDataRef,\n rawPaginatedDataRef,\n mergedFilterStateRef,\n mergedSortStateRef,\n hoverKeyRef: ref(null),\n selectionColumnRef,\n childTriggerColIndexRef,\n doUpdateFilters,\n deriveNextSorter,\n doUpdatePageSize,\n doUpdatePage,\n onUnstableColumnResize,\n // exported methods\n filter,\n filters,\n clearFilter,\n clearFilters,\n clearSorter,\n page,\n sort\n };\n}\n","import { beforeNextFrameOnce } from 'seemly';\nimport { computed, watch, ref } from 'vue';\nimport { formatLength } from '../../_utils';\nimport { getNumberColWidth, getColKey } from './utils';\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef }) {\n let lastScrollLeft = 0;\n const scrollPartRef = ref();\n const leftActiveFixedColKeyRef = ref(null);\n const leftActiveFixedChildrenColKeysRef = ref([]);\n const rightActiveFixedColKeyRef = ref(null);\n const rightActiveFixedChildrenColKeysRef = ref([]);\n const styleScrollXRef = computed(() => {\n return formatLength(props.scrollX);\n });\n const leftFixedColumnsRef = computed(() => {\n return props.columns.filter((column) => column.fixed === 'left');\n });\n const rightFixedColumnsRef = computed(() => {\n return props.columns.filter((column) => column.fixed === 'right');\n });\n const fixedColumnLeftMapRef = computed(() => {\n const columns = {};\n let left = 0;\n function traverse(cols) {\n cols.forEach((col) => {\n const positionInfo = { start: left, end: 0 };\n columns[getColKey(col)] = positionInfo;\n if ('children' in col) {\n traverse(col.children);\n positionInfo.end = left;\n }\n else {\n left += getNumberColWidth(col) || 0;\n positionInfo.end = left;\n }\n });\n }\n traverse(leftFixedColumnsRef.value);\n return columns;\n });\n const fixedColumnRightMapRef = computed(() => {\n const columns = {};\n let right = 0;\n function traverse(cols) {\n for (let i = cols.length - 1; i >= 0; --i) {\n const col = cols[i];\n const positionInfo = { start: right, end: 0 };\n columns[getColKey(col)] = positionInfo;\n if ('children' in col) {\n traverse(col.children);\n positionInfo.end = right;\n }\n else {\n right += getNumberColWidth(col) || 0;\n positionInfo.end = right;\n }\n }\n }\n traverse(rightFixedColumnsRef.value);\n return columns;\n });\n function deriveActiveLeftFixedColumn() {\n var _a, _b;\n // target is header element\n const { value: leftFixedColumns } = leftFixedColumnsRef;\n let leftWidth = 0;\n const { value: fixedColumnLeftMap } = fixedColumnLeftMapRef;\n let leftActiveFixedColKey = null;\n for (let i = 0; i < leftFixedColumns.length; ++i) {\n const key = getColKey(leftFixedColumns[i]);\n if (lastScrollLeft > (((_a = fixedColumnLeftMap[key]) === null || _a === void 0 ? void 0 : _a.start) || 0) - leftWidth) {\n leftActiveFixedColKey = key;\n leftWidth = ((_b = fixedColumnLeftMap[key]) === null || _b === void 0 ? void 0 : _b.end) || 0;\n }\n else {\n break;\n }\n }\n leftActiveFixedColKeyRef.value = leftActiveFixedColKey;\n }\n function deriveActiveLeftFixedChildrenColumns() {\n leftActiveFixedChildrenColKeysRef.value = [];\n let activeLeftFixedColumn = props.columns.find((col) => getColKey(col) === leftActiveFixedColKeyRef.value);\n while (activeLeftFixedColumn && 'children' in activeLeftFixedColumn) {\n const length = activeLeftFixedColumn.children.length;\n if (length === 0)\n break;\n const nextActiveLeftFixedColumn = activeLeftFixedColumn.children[length - 1];\n leftActiveFixedChildrenColKeysRef.value.push(getColKey(nextActiveLeftFixedColumn));\n activeLeftFixedColumn = nextActiveLeftFixedColumn;\n }\n }\n function deriveActiveRightFixedColumn() {\n var _a, _b;\n // target is header element\n const { value: rightFixedColumns } = rightFixedColumnsRef;\n const scrollWidth = Number(props.scrollX);\n const { value: tableWidth } = bodyWidthRef;\n if (tableWidth === null)\n return;\n let rightWidth = 0;\n let rightActiveFixedColKey = null;\n const { value: fixedColumnRightMap } = fixedColumnRightMapRef;\n for (let i = rightFixedColumns.length - 1; i >= 0; --i) {\n const key = getColKey(rightFixedColumns[i]);\n if (Math.round(lastScrollLeft +\n (((_a = fixedColumnRightMap[key]) === null || _a === void 0 ? void 0 : _a.start) || 0) +\n tableWidth -\n rightWidth) < scrollWidth) {\n rightActiveFixedColKey = key;\n rightWidth = ((_b = fixedColumnRightMap[key]) === null || _b === void 0 ? void 0 : _b.end) || 0;\n }\n else {\n break;\n }\n }\n rightActiveFixedColKeyRef.value = rightActiveFixedColKey;\n }\n function deriveActiveRightFixedChildrenColumns() {\n rightActiveFixedChildrenColKeysRef.value = [];\n let activeRightFixedColumn = props.columns.find((col) => getColKey(col) === rightActiveFixedColKeyRef.value);\n while (activeRightFixedColumn &&\n 'children' in activeRightFixedColumn &&\n activeRightFixedColumn.children.length) {\n const nextActiveRightFixedColumn = activeRightFixedColumn.children[0];\n rightActiveFixedChildrenColKeysRef.value.push(getColKey(nextActiveRightFixedColumn));\n activeRightFixedColumn = nextActiveRightFixedColumn;\n }\n }\n function getScrollElements() {\n const header = mainTableInstRef.value\n ? mainTableInstRef.value.getHeaderElement()\n : null;\n const body = mainTableInstRef.value\n ? mainTableInstRef.value.getBodyElement()\n : null;\n return {\n header,\n body\n };\n }\n function scrollMainTableBodyToTop() {\n const { body } = getScrollElements();\n if (body) {\n body.scrollTop = 0;\n }\n }\n function handleTableHeaderScroll() {\n if (scrollPartRef.value !== 'body') {\n beforeNextFrameOnce(syncScrollState);\n }\n else {\n scrollPartRef.value = undefined;\n }\n }\n function handleTableBodyScroll(e) {\n var _a;\n (_a = props.onScroll) === null || _a === void 0 ? void 0 : _a.call(props, e);\n if (scrollPartRef.value !== 'head') {\n beforeNextFrameOnce(syncScrollState);\n }\n else {\n scrollPartRef.value = undefined;\n }\n }\n function syncScrollState() {\n // We can't simply use props.scrollX to determine whether the table has\n // need to be sync since user may set column width for each column.\n // Just let it be, the scroll listener won't be triggered for a basic table.\n const { header, body } = getScrollElements();\n if (!body)\n return;\n const { value: tableWidth } = bodyWidthRef;\n if (tableWidth === null)\n return;\n if (props.maxHeight || props.flexHeight) {\n if (!header)\n return;\n // we need to deal with overscroll\n const directionHead = lastScrollLeft - header.scrollLeft;\n scrollPartRef.value = directionHead !== 0 ? 'head' : 'body';\n if (scrollPartRef.value === 'head') {\n lastScrollLeft = header.scrollLeft;\n body.scrollLeft = lastScrollLeft;\n }\n else {\n lastScrollLeft = body.scrollLeft;\n header.scrollLeft = lastScrollLeft;\n }\n }\n else {\n lastScrollLeft = body.scrollLeft;\n }\n deriveActiveLeftFixedColumn();\n deriveActiveLeftFixedChildrenColumns();\n deriveActiveRightFixedColumn();\n deriveActiveRightFixedChildrenColumns();\n }\n function setHeaderScrollLeft(left) {\n const { header } = getScrollElements();\n if (!header)\n return;\n header.scrollLeft = left;\n syncScrollState();\n }\n watch(mergedCurrentPageRef, () => {\n scrollMainTableBodyToTop();\n });\n return {\n styleScrollXRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n leftFixedColumnsRef,\n rightFixedColumnsRef,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n syncScrollState,\n handleTableBodyScroll,\n handleTableHeaderScroll,\n setHeaderScrollLeft\n };\n}\n","import { ref } from 'vue';\nimport { isColumnResizable } from './utils';\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useResizable() {\n const resizableWidthsRef = ref({});\n function getResizableWidth(key) {\n return resizableWidthsRef.value[key];\n }\n function doUpdateResizableWidth(column, width) {\n if (isColumnResizable(column) && 'key' in column) {\n resizableWidthsRef.value[column.key] = width;\n }\n }\n function clearResizableWidth() {\n resizableWidthsRef.value = {};\n }\n return {\n getResizableWidth,\n doUpdateResizableWidth,\n clearResizableWidth\n };\n}\n","import { computed } from 'vue';\nimport { formatLength } from '../../_utils';\nimport { getColKey, createCustomWidthStyle } from './utils';\nfunction getRowsAndCols(columns, getResizableWidth) {\n const rows = [];\n const cols = [];\n const dataRelatedCols = [];\n const rowItemMap = new WeakMap();\n let maxDepth = -1;\n let totalRowSpan = 0;\n let hasEllipsis = false;\n function ensureMaxDepth(columns, currentDepth) {\n if (currentDepth > maxDepth) {\n rows[currentDepth] = [];\n maxDepth = currentDepth;\n }\n for (const column of columns) {\n if ('children' in column) {\n ensureMaxDepth(column.children, currentDepth + 1);\n }\n else {\n const key = 'key' in column ? column.key : undefined;\n cols.push({\n key: getColKey(column),\n style: createCustomWidthStyle(column, key !== undefined ? formatLength(getResizableWidth(key)) : undefined),\n column\n });\n totalRowSpan += 1;\n if (!hasEllipsis) {\n hasEllipsis = !!column.ellipsis;\n }\n dataRelatedCols.push(column);\n }\n }\n }\n ensureMaxDepth(columns, 0);\n let currentLeafIndex = 0;\n function ensureColLayout(columns, currentDepth) {\n let hideUntilIndex = 0;\n columns.forEach((column, index) => {\n var _a;\n if ('children' in column) {\n // do not allow colSpan > 1 for non-leaf th\n // we will execute the calculation logic\n const cachedCurrentLeafIndex = currentLeafIndex;\n const rowItem = {\n column,\n colSpan: 0,\n rowSpan: 1,\n isLast: false\n };\n ensureColLayout(column.children, currentDepth + 1);\n column.children.forEach((childColumn) => {\n var _a, _b;\n rowItem.colSpan += (_b = (_a = rowItemMap.get(childColumn)) === null || _a === void 0 ? void 0 : _a.colSpan) !== null && _b !== void 0 ? _b : 0;\n });\n if (cachedCurrentLeafIndex + rowItem.colSpan === totalRowSpan) {\n rowItem.isLast = true;\n }\n rowItemMap.set(column, rowItem);\n rows[currentDepth].push(rowItem);\n }\n else {\n if (currentLeafIndex < hideUntilIndex) {\n currentLeafIndex += 1;\n return;\n }\n let colSpan = 1;\n if ('titleColSpan' in column) {\n colSpan = (_a = column.titleColSpan) !== null && _a !== void 0 ? _a : 1;\n }\n if (colSpan > 1) {\n hideUntilIndex = currentLeafIndex + colSpan;\n }\n const isLast = currentLeafIndex + colSpan === totalRowSpan;\n const rowItem = {\n column,\n colSpan,\n rowSpan: maxDepth - currentDepth + 1,\n isLast\n };\n rowItemMap.set(column, rowItem);\n rows[currentDepth].push(rowItem);\n currentLeafIndex += 1;\n }\n });\n }\n ensureColLayout(columns, 0);\n return {\n hasEllipsis,\n rows,\n cols,\n dataRelatedCols\n };\n}\nexport function useGroupHeader(props, getResizableWidth) {\n const rowsAndCols = computed(() => getRowsAndCols(props.columns, getResizableWidth));\n return {\n rowsRef: computed(() => rowsAndCols.value.rows),\n colsRef: computed(() => rowsAndCols.value.cols),\n hasEllipsisRef: computed(() => rowsAndCols.value.hasEllipsis),\n dataRelatedColsRef: computed(() => rowsAndCols.value.dataRelatedCols)\n };\n}\n","import { toRef, ref } from 'vue';\nimport { useMemo, useMergedState } from 'vooks';\nimport { call, warn } from '../../_utils';\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useExpand(props, treeMateRef) {\n const renderExpandRef = useMemo(() => {\n for (const col of props.columns) {\n if (col.type === 'expand') {\n if (process.env.NODE_ENV !== 'production' && !col.renderExpand) {\n warn('data-table', 'column with type `expand` has no `renderExpand` prop.');\n }\n return col.renderExpand;\n }\n }\n });\n const expandableRef = useMemo(() => {\n // It's not reactive\n let expandable;\n for (const col of props.columns) {\n if (col.type === 'expand') {\n expandable = col.expandable;\n break;\n }\n }\n return expandable;\n });\n const uncontrolledExpandedRowKeysRef = ref(props.defaultExpandAll\n ? (renderExpandRef === null || renderExpandRef === void 0 ? void 0 : renderExpandRef.value)\n ? (() => {\n const expandedKeys = [];\n treeMateRef.value.treeNodes.forEach((tmNode) => {\n var _a;\n if ((_a = expandableRef.value) === null || _a === void 0 ? void 0 : _a.call(expandableRef, tmNode.rawNode)) {\n expandedKeys.push(tmNode.key);\n }\n });\n return expandedKeys;\n })()\n : treeMateRef.value.getNonLeafKeys()\n : props.defaultExpandedRowKeys);\n const controlledExpandedRowKeysRef = toRef(props, 'expandedRowKeys');\n const stickyExpandedRowsRef = toRef(props, 'stickyExpandedRows');\n const mergedExpandedRowKeysRef = useMergedState(controlledExpandedRowKeysRef, uncontrolledExpandedRowKeysRef);\n function doUpdateExpandedRowKeys(expandedKeys) {\n const { onUpdateExpandedRowKeys, 'onUpdate:expandedRowKeys': _onUpdateExpandedRowKeys } = props;\n if (onUpdateExpandedRowKeys) {\n call(onUpdateExpandedRowKeys, expandedKeys);\n }\n if (_onUpdateExpandedRowKeys) {\n call(_onUpdateExpandedRowKeys, expandedKeys);\n }\n uncontrolledExpandedRowKeysRef.value = expandedKeys;\n }\n return {\n stickyExpandedRowsRef,\n mergedExpandedRowKeysRef,\n renderExpandRef,\n expandableRef,\n doUpdateExpandedRowKeys\n };\n}\n","import { fadeInScaleUpTransition } from '../../../_styles/transitions/fade-in-scale-up.cssr';\nimport { iconSwitchTransition } from '../../../_styles/transitions/icon-switch.cssr';\nimport { c, cB, cE, cM, cNotM, insideModal, insidePopover } from '../../../_utils/cssr';\nconst fixedColumnStyle = createFixedColumnStyle();\n// vars:\n// --n-font-size\n// --n-th-padding\n// --n-td-padding\n// --n-bezier\n// --n-border-radius\n// --n-line-height\n// --n-border-color\n// --n-border-color-modal\n// --n-border-color-popover\n// --n-th-color\n// --n-th-color-hover\n// --n-th-color-modal\n// --n-th-color-hover-modal\n// --n-th-color-popover\n// --n-th-color-hover-popover\n// --n-td-color\n// --n-td-color-hover\n// --n-td-color-modal\n// --n-td-color-hover-modal\n// --n-td-color-popover\n// --n-td-color-hover-popover\n// --n-th-text-color\n// --n-td-text-color\n// --n-th-font-weight\n// --n-th-button-color-hover\n// --n-th-icon-color\n// --n-th-icon-color-active\n// --n-filter-size\n// --n-action-divider-color\n// --n-action-padding\n// --n-action-button-margin\n// --n-pagination-margin\n// --n-empty-padding\n// --n-sorter-size\n// --n-resizable-container-size\n// --n-resizable-size\n// --n-loading-size\n// --n-loading-color\n// --n-opacity-loading\n// --n-box-shadow-before used in Body.tsx\n// --n-box-shadow-after used in Body.tsx\n// --indent-offset for ellipsis & expand trigger\nexport default c([cB('data-table', `\n width: 100%;\n font-size: var(--n-font-size);\n display: flex;\n flex-direction: column;\n position: relative;\n --n-merged-th-color: var(--n-th-color);\n --n-merged-td-color: var(--n-td-color);\n --n-merged-border-color: var(--n-border-color);\n --n-merged-th-color-hover: var(--n-th-color-hover);\n --n-merged-td-color-hover: var(--n-td-color-hover);\n --n-merged-td-color-striped: var(--n-td-color-striped);\n `, [cB('data-table-wrapper', `\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n `), cM('flex-height', [c('>', [cB('data-table-wrapper', [c('>', [cB('data-table-base-table', `\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n `, [c('>', [cB('data-table-base-table-body', 'flex-basis: 0;', [\n// last-child means there is no empty icon\n// body is a scrollbar, we need to override height 100%\nc('&:last-child', 'flex-grow: 1;')])])])])])])]), c('>', [cB('data-table-loading-wrapper', `\n color: var(--n-loading-color);\n font-size: var(--n-loading-size);\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n transition: color .3s var(--n-bezier);\n display: flex;\n align-items: center;\n justify-content: center;\n `, [fadeInScaleUpTransition({\n originalTransform: 'translateX(-50%) translateY(-50%)'\n})])]), cB('data-table-expand-placeholder', `\n margin-right: 8px;\n display: inline-block;\n width: 16px;\n height: 1px;\n `), cB('data-table-indent', `\n display: inline-block;\n height: 1px;\n `), cB('data-table-expand-trigger', `\n display: inline-flex;\n margin-right: 8px;\n cursor: pointer;\n font-size: 16px;\n vertical-align: -0.2em;\n position: relative;\n width: 16px;\n height: 16px;\n color: var(--n-td-text-color);\n transition: color .3s var(--n-bezier);\n `, [cM('expanded', [cB('icon', 'transform: rotate(90deg);', [iconSwitchTransition({\n originalTransform: 'rotate(90deg)'\n})]), cB('base-icon', 'transform: rotate(90deg);', [iconSwitchTransition({\n originalTransform: 'rotate(90deg)'\n})])]), cB('base-loading', `\n color: var(--n-loading-color);\n transition: color .3s var(--n-bezier);\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `, [iconSwitchTransition()]), cB('icon', `\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `, [iconSwitchTransition()]), cB('base-icon', `\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `, [iconSwitchTransition()])]), cB('data-table-thead', `\n transition: background-color .3s var(--n-bezier);\n background-color: var(--n-merged-th-color);\n `), cB('data-table-tr', `\n box-sizing: border-box;\n background-clip: padding-box;\n transition: background-color .3s var(--n-bezier);\n `, [cB('data-table-expand', `\n position: sticky;\n left: 0;\n overflow: hidden;\n margin: calc(var(--n-th-padding) * -1);\n padding: var(--n-th-padding);\n box-sizing: border-box;\n `), cM('striped', 'background-color: var(--n-merged-td-color-striped);', [cB('data-table-td', 'background-color: var(--n-merged-td-color-striped);')]), cNotM('summary', [c('&:hover', 'background-color: var(--n-merged-td-color-hover);', [c('>', [cB('data-table-td', 'background-color: var(--n-merged-td-color-hover);')])])])]), cB('data-table-th', `\n padding: var(--n-th-padding);\n position: relative;\n text-align: start;\n box-sizing: border-box;\n background-color: var(--n-merged-th-color);\n border-color: var(--n-merged-border-color);\n border-bottom: 1px solid var(--n-merged-border-color);\n color: var(--n-th-text-color);\n transition:\n border-color .3s var(--n-bezier),\n color .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n font-weight: var(--n-th-font-weight);\n `, [cM('filterable', `\n padding-right: 36px;\n `, [cM('sortable', `\n padding-right: calc(var(--n-th-padding) + 36px);\n `)]), fixedColumnStyle, cM('selection', `\n padding: 0;\n text-align: center;\n line-height: 0;\n z-index: 3;\n `), cE('title-wrapper', `\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n max-width: 100%;\n `, [cE('title', `\n flex: 1;\n min-width: 0;\n `)]), cE('ellipsis', `\n display: inline-block;\n vertical-align: bottom;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n `), cM('hover', `\n background-color: var(--n-merged-th-color-hover);\n `), cM('sortable', `\n cursor: pointer;\n `, [cE('ellipsis', `\n max-width: calc(100% - 18px);\n `), c('&:hover', `\n background-color: var(--n-merged-th-color-hover);\n `)]), cB('data-table-sorter', `\n height: var(--n-sorter-size);\n width: var(--n-sorter-size);\n margin-left: 4px;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: -0.2em;\n color: var(--n-th-icon-color);\n transition: color .3s var(--n-bezier);\n `, [cB('base-icon', 'transition: transform .3s var(--n-bezier)'), cM('desc', [cB('base-icon', `\n transform: rotate(0deg);\n `)]), cM('asc', [cB('base-icon', `\n transform: rotate(-180deg);\n `)]), cM('asc, desc', `\n color: var(--n-th-icon-color-active);\n `)]), cB('data-table-resize-button', `\n width: var(--n-resizable-container-size);\n position: absolute;\n top: 0;\n right: calc(var(--n-resizable-container-size) / 2);\n bottom: 0;\n cursor: col-resize;\n user-select: none;\n `, [c('&::after', `\n width: var(--n-resizable-size);\n height: 50%;\n position: absolute;\n top: 50%;\n left: calc(var(--n-resizable-container-size) / 2);\n bottom: 0;\n background-color: var(--n-merged-border-color);\n transform: translateY(-50%);\n transition: background-color .3s var(--n-bezier);\n z-index: 1;\n content: '';\n `), cM('active', [c('&::after', ` \n background-color: var(--n-th-icon-color-active);\n `)]), c('&:hover::after', `\n background-color: var(--n-th-icon-color-active);\n `)]), cB('data-table-filter', `\n position: absolute;\n z-index: auto;\n right: 0;\n width: 36px;\n top: 0;\n bottom: 0;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n font-size: var(--n-filter-size);\n color: var(--n-th-icon-color);\n `, [c('&:hover', `\n background-color: var(--n-th-button-color-hover);\n `), cM('show', `\n background-color: var(--n-th-button-color-hover);\n `), cM('active', `\n background-color: var(--n-th-button-color-hover);\n color: var(--n-th-icon-color-active);\n `)])]), cB('data-table-td', `\n padding: var(--n-td-padding);\n text-align: start;\n box-sizing: border-box;\n border: none;\n background-color: var(--n-merged-td-color);\n color: var(--n-td-text-color);\n border-bottom: 1px solid var(--n-merged-border-color);\n transition:\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n border-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n `, [cM('expand', [cB('data-table-expand-trigger', `\n margin-right: 0;\n `)]), cM('last-row', `\n border-bottom: 0 solid var(--n-merged-border-color);\n `, [\n// make sure there is no overlap between bottom border and\n// fixed column box shadow\nc('&::after', `\n bottom: 0 !important;\n `), c('&::before', `\n bottom: 0 !important;\n `)]), cM('summary', `\n background-color: var(--n-merged-th-color);\n `), cM('hover', `\n background-color: var(--n-merged-td-color-hover);\n `), cE('ellipsis', `\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n vertical-align: bottom;\n max-width: calc(100% - var(--indent-offset, -1.5) * 16px - 24px);\n `), cM('selection, expand', `\n text-align: center;\n padding: 0;\n line-height: 0;\n `), fixedColumnStyle]), cB('data-table-empty', `\n box-sizing: border-box;\n padding: var(--n-empty-padding);\n flex-grow: 1;\n flex-shrink: 0;\n opacity: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity .3s var(--n-bezier);\n `, [cM('hide', `\n opacity: 0;\n `)]), cE('pagination', `\n margin: var(--n-pagination-margin);\n display: flex;\n justify-content: flex-end;\n `), cB('data-table-wrapper', `\n position: relative;\n opacity: 1;\n transition: opacity .3s var(--n-bezier), border-color .3s var(--n-bezier);\n border-top-left-radius: var(--n-border-radius);\n border-top-right-radius: var(--n-border-radius);\n line-height: var(--n-line-height);\n `), cM('loading', [cB('data-table-wrapper', `\n opacity: var(--n-opacity-loading);\n pointer-events: none;\n `)]), cM('single-column', [cB('data-table-td', `\n border-bottom: 0 solid var(--n-merged-border-color);\n `, [c('&::after, &::before', `\n bottom: 0 !important;\n `)])]), cNotM('single-line', [cB('data-table-th', `\n border-right: 1px solid var(--n-merged-border-color);\n `, [cM('last', `\n border-right: 0 solid var(--n-merged-border-color);\n `)]), cB('data-table-td', `\n border-right: 1px solid var(--n-merged-border-color);\n `, [cM('last-col', `\n border-right: 0 solid var(--n-merged-border-color);\n `)])]), cM('bordered', [cB('data-table-wrapper', `\n border: 1px solid var(--n-merged-border-color);\n border-bottom-left-radius: var(--n-border-radius);\n border-bottom-right-radius: var(--n-border-radius);\n overflow: hidden;\n `)]), cB('data-table-base-table', [cM('transition-disabled', [cB('data-table-th', [c('&::after, &::before', 'transition: none;')]), cB('data-table-td', [c('&::after, &::before', 'transition: none;')])])]), cM('bottom-bordered', [cB('data-table-td', [cM('last-row', `\n border-bottom: 1px solid var(--n-merged-border-color);\n `)])]), cB('data-table-table', `\n font-variant-numeric: tabular-nums;\n width: 100%;\n word-break: break-word;\n transition: background-color .3s var(--n-bezier);\n border-collapse: separate;\n border-spacing: 0;\n background-color: var(--n-merged-td-color);\n `), cB('data-table-base-table-header', `\n border-top-left-radius: calc(var(--n-border-radius) - 1px);\n border-top-right-radius: calc(var(--n-border-radius) - 1px);\n z-index: 3;\n overflow: scroll;\n flex-shrink: 0;\n transition: border-color .3s var(--n-bezier);\n scrollbar-width: none;\n `, [c('&::-webkit-scrollbar', `\n width: 0;\n height: 0;\n `)]), cB('data-table-check-extra', `\n transition: color .3s var(--n-bezier);\n color: var(--n-th-icon-color);\n position: absolute;\n font-size: 14px;\n right: -4px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 1;\n `)]), cB('data-table-filter-menu', [cB('scrollbar', `\n max-height: 240px;\n `), cE('group', `\n display: flex;\n flex-direction: column;\n padding: 12px 12px 0 12px;\n `, [cB('checkbox', `\n margin-bottom: 12px;\n margin-right: 0;\n `), cB('radio', `\n margin-bottom: 12px;\n margin-right: 0;\n `)]), cE('action', `\n padding: var(--n-action-padding);\n display: flex;\n flex-wrap: nowrap;\n justify-content: space-evenly;\n border-top: 1px solid var(--n-action-divider-color);\n `, [cB('button', [c('&:not(:last-child)', `\n margin: var(--n-action-button-margin);\n `), c('&:last-child', `\n margin-right: 0;\n `)])]), cB('divider', `\n margin: 0 !important;\n `)]), insideModal(cB('data-table', `\n --n-merged-th-color: var(--n-th-color-modal);\n --n-merged-td-color: var(--n-td-color-modal);\n --n-merged-border-color: var(--n-border-color-modal);\n --n-merged-th-color-hover: var(--n-th-color-hover-modal);\n --n-merged-td-color-hover: var(--n-td-color-hover-modal);\n --n-merged-td-color-striped: var(--n-td-color-striped-modal);\n `)), insidePopover(cB('data-table', `\n --n-merged-th-color: var(--n-th-color-popover);\n --n-merged-td-color: var(--n-td-color-popover);\n --n-merged-border-color: var(--n-border-color-popover);\n --n-merged-th-color-hover: var(--n-th-color-hover-popover);\n --n-merged-td-color-hover: var(--n-td-color-hover-popover);\n --n-merged-td-color-striped: var(--n-td-color-striped-popover);\n `))]);\nfunction createFixedColumnStyle() {\n return [cM('fixed-left', `\n left: 0;\n position: sticky;\n z-index: 2;\n `, [c('&::after', `\n pointer-events: none;\n content: \"\";\n width: 36px;\n display: inline-block;\n position: absolute;\n top: 0;\n bottom: -1px;\n transition: box-shadow .2s var(--n-bezier);\n right: -36px;\n `)]), cM('fixed-right', `\n right: 0;\n position: sticky;\n z-index: 1;\n `, [c('&::before', `\n pointer-events: none;\n content: \"\";\n width: 36px;\n display: inline-block;\n position: absolute;\n top: 0;\n bottom: -1px;\n transition: box-shadow .2s var(--n-bezier);\n left: -36px;\n `)])];\n}","import { h, computed, defineComponent, ref, provide, toRef, Transition, watchEffect } from 'vue';\nimport { createId } from 'seemly';\nimport { useConfig, useLocale, useTheme, useThemeClass } from '../../_mixins';\nimport { NBaseLoading } from '../../_internal';\nimport { NPagination } from '../../pagination';\nimport { createKey, resolveSlot, warnOnce } from '../../_utils';\nimport { dataTableLight } from '../styles';\nimport MainTable from './MainTable';\nimport { useCheck } from './use-check';\nimport { useTableData } from './use-table-data';\nimport { useScroll } from './use-scroll';\nimport { useResizable } from './use-resizable';\nimport { dataTableInjectionKey, dataTableProps } from './interface';\nimport { useGroupHeader } from './use-group-header';\nimport { useExpand } from './use-expand';\nimport style from './styles/index.cssr';\nexport default defineComponent({\n name: 'DataTable',\n alias: ['AdvancedTable'],\n props: dataTableProps,\n setup(props, { slots }) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onPageChange !== undefined) {\n warnOnce('data-table', '`on-page-change` is deprecated, please use `on-update:page` instead.');\n }\n if (props.onPageSizeChange !== undefined) {\n warnOnce('data-table', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');\n }\n if (props.onSorterChange !== undefined) {\n warnOnce('data-table', '`on-sorter-change` is deprecated, please use `on-update:sorter` instead.');\n }\n if (props.onFiltersChange !== undefined) {\n warnOnce('data-table', '`on-filters-change` is deprecated, please use `on-update:filters` instead.');\n }\n if (props.onCheckedRowKeysChange !== undefined) {\n warnOnce('data-table', '`on-checked-row-keys-change` is deprecated, please use `on-update:checked-row-keys` instead.');\n }\n });\n }\n const { mergedBorderedRef, mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);\n const mergedBottomBorderedRef = computed(() => {\n const { bottomBordered } = props;\n // do not add bottom bordered class if bordered is true\n // since border is displayed on wrapper\n if (mergedBorderedRef.value)\n return false;\n if (bottomBordered !== undefined)\n return bottomBordered;\n return true;\n });\n const themeRef = useTheme('DataTable', '-data-table', style, dataTableLight, props, mergedClsPrefixRef);\n const bodyWidthRef = ref(null);\n const mainTableInstRef = ref(null);\n const { getResizableWidth, clearResizableWidth, doUpdateResizableWidth } = useResizable();\n const { rowsRef, colsRef, dataRelatedColsRef, hasEllipsisRef } = useGroupHeader(props, getResizableWidth);\n const { treeMateRef, mergedCurrentPageRef, paginatedDataRef, rawPaginatedDataRef, selectionColumnRef, hoverKeyRef, mergedPaginationRef, mergedFilterStateRef, mergedSortStateRef, childTriggerColIndexRef, doUpdatePage, doUpdateFilters, onUnstableColumnResize, deriveNextSorter, filter, filters, clearFilter, clearFilters, clearSorter, page, sort } = useTableData(props, { dataRelatedColsRef });\n const { doCheckAll, doUncheckAll, doCheck, doUncheck, headerCheckboxDisabledRef, someRowsCheckedRef, allRowsCheckedRef, mergedCheckedRowKeySetRef, mergedInderminateRowKeySetRef } = useCheck(props, {\n selectionColumnRef,\n treeMateRef,\n paginatedDataRef\n });\n const { stickyExpandedRowsRef, mergedExpandedRowKeysRef, renderExpandRef, expandableRef, doUpdateExpandedRowKeys } = useExpand(props, treeMateRef);\n const { handleTableBodyScroll, handleTableHeaderScroll, syncScrollState, setHeaderScrollLeft, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, leftFixedColumnsRef, rightFixedColumnsRef, fixedColumnLeftMapRef, fixedColumnRightMapRef } = useScroll(props, {\n bodyWidthRef,\n mainTableInstRef,\n mergedCurrentPageRef\n });\n const { localeRef } = useLocale('DataTable');\n const mergedTableLayoutRef = computed(() => {\n // Layout\n // virtual |descrete header | ellpisis => fixed\n // = virtual | maxHeight | ellpisis => fixed\n if (props.virtualScroll ||\n props.flexHeight ||\n props.maxHeight !== undefined ||\n hasEllipsisRef.value) {\n return 'fixed';\n }\n return props.tableLayout;\n });\n provide(dataTableInjectionKey, {\n props,\n treeMateRef,\n renderExpandIconRef: toRef(props, 'renderExpandIcon'),\n loadingKeySetRef: ref(new Set()),\n slots,\n indentRef: toRef(props, 'indent'),\n childTriggerColIndexRef,\n bodyWidthRef,\n componentId: createId(),\n hoverKeyRef,\n mergedClsPrefixRef,\n mergedThemeRef: themeRef,\n scrollXRef: computed(() => props.scrollX),\n rowsRef,\n colsRef,\n paginatedDataRef,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n leftFixedColumnsRef,\n rightFixedColumnsRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n mergedCurrentPageRef,\n someRowsCheckedRef,\n allRowsCheckedRef,\n mergedSortStateRef,\n mergedFilterStateRef,\n loadingRef: toRef(props, 'loading'),\n rowClassNameRef: toRef(props, 'rowClassName'),\n mergedCheckedRowKeySetRef,\n mergedExpandedRowKeysRef,\n mergedInderminateRowKeySetRef,\n localeRef,\n expandableRef,\n stickyExpandedRowsRef,\n rowKeyRef: toRef(props, 'rowKey'),\n renderExpandRef,\n summaryRef: toRef(props, 'summary'),\n virtualScrollRef: toRef(props, 'virtualScroll'),\n rowPropsRef: toRef(props, 'rowProps'),\n stripedRef: toRef(props, 'striped'),\n checkOptionsRef: computed(() => {\n const { value: selectionColumn } = selectionColumnRef;\n return selectionColumn === null || selectionColumn === void 0 ? void 0 : selectionColumn.options;\n }),\n rawPaginatedDataRef,\n filterMenuCssVarsRef: computed(() => {\n const { self: { actionDividerColor, actionPadding, actionButtonMargin } } = themeRef.value;\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n return {\n '--n-action-padding': actionPadding,\n '--n-action-button-margin': actionButtonMargin,\n '--n-action-divider-color': actionDividerColor\n };\n }),\n onLoadRef: toRef(props, 'onLoad'),\n mergedTableLayoutRef,\n maxHeightRef: toRef(props, 'maxHeight'),\n minHeightRef: toRef(props, 'minHeight'),\n flexHeightRef: toRef(props, 'flexHeight'),\n headerCheckboxDisabledRef,\n paginationBehaviorOnFilterRef: toRef(props, 'paginationBehaviorOnFilter'),\n summaryPlacementRef: toRef(props, 'summaryPlacement'),\n scrollbarPropsRef: toRef(props, 'scrollbarProps'),\n syncScrollState,\n doUpdatePage,\n doUpdateFilters,\n getResizableWidth,\n onUnstableColumnResize,\n clearResizableWidth,\n doUpdateResizableWidth,\n deriveNextSorter,\n doCheck,\n doUncheck,\n doCheckAll,\n doUncheckAll,\n doUpdateExpandedRowKeys,\n handleTableHeaderScroll,\n handleTableBodyScroll,\n setHeaderScrollLeft,\n renderCell: toRef(props, 'renderCell')\n });\n const exposedMethods = {\n filter,\n filters,\n clearFilters,\n clearSorter,\n page,\n sort,\n clearFilter,\n scrollTo: (arg0, arg1) => {\n var _a;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_a = mainTableInstRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n };\n const cssVarsRef = computed(() => {\n const { size } = props;\n const { common: { cubicBezierEaseInOut }, self: { borderColor, tdColorHover, thColor, thColorHover, tdColor, tdTextColor, thTextColor, thFontWeight, thButtonColorHover, thIconColor, thIconColorActive, filterSize, borderRadius, lineHeight, tdColorModal, thColorModal, borderColorModal, thColorHoverModal, tdColorHoverModal, borderColorPopover, thColorPopover, tdColorPopover, tdColorHoverPopover, thColorHoverPopover, paginationMargin, emptyPadding, boxShadowAfter, boxShadowBefore, sorterSize, resizableContainerSize, resizableSize, loadingColor, loadingSize, opacityLoading, tdColorStriped, tdColorStripedModal, tdColorStripedPopover, [createKey('fontSize', size)]: fontSize, [createKey('thPadding', size)]: thPadding, [createKey('tdPadding', size)]: tdPadding } } = themeRef.value;\n return {\n '--n-font-size': fontSize,\n '--n-th-padding': thPadding,\n '--n-td-padding': tdPadding,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border-radius': borderRadius,\n '--n-line-height': lineHeight,\n '--n-border-color': borderColor,\n '--n-border-color-modal': borderColorModal,\n '--n-border-color-popover': borderColorPopover,\n '--n-th-color': thColor,\n '--n-th-color-hover': thColorHover,\n '--n-th-color-modal': thColorModal,\n '--n-th-color-hover-modal': thColorHoverModal,\n '--n-th-color-popover': thColorPopover,\n '--n-th-color-hover-popover': thColorHoverPopover,\n '--n-td-color': tdColor,\n '--n-td-color-hover': tdColorHover,\n '--n-td-color-modal': tdColorModal,\n '--n-td-color-hover-modal': tdColorHoverModal,\n '--n-td-color-popover': tdColorPopover,\n '--n-td-color-hover-popover': tdColorHoverPopover,\n '--n-th-text-color': thTextColor,\n '--n-td-text-color': tdTextColor,\n '--n-th-font-weight': thFontWeight,\n '--n-th-button-color-hover': thButtonColorHover,\n '--n-th-icon-color': thIconColor,\n '--n-th-icon-color-active': thIconColorActive,\n '--n-filter-size': filterSize,\n '--n-pagination-margin': paginationMargin,\n '--n-empty-padding': emptyPadding,\n '--n-box-shadow-before': boxShadowBefore,\n '--n-box-shadow-after': boxShadowAfter,\n '--n-sorter-size': sorterSize,\n '--n-resizable-container-size': resizableContainerSize,\n '--n-resizable-size': resizableSize,\n '--n-loading-size': loadingSize,\n '--n-loading-color': loadingColor,\n '--n-opacity-loading': opacityLoading,\n '--n-td-color-striped': tdColorStriped,\n '--n-td-color-striped-modal': tdColorStripedModal,\n '--n-td-color-striped-popover': tdColorStripedPopover\n };\n });\n const themeClassHandle = inlineThemeDisabled\n ? useThemeClass('data-table', computed(() => props.size[0]), cssVarsRef, props)\n : undefined;\n const mergedShowPaginationRef = computed(() => {\n if (!props.pagination)\n return false;\n if (props.paginateSinglePage)\n return true;\n const mergedPagination = mergedPaginationRef.value;\n const { pageCount } = mergedPagination;\n if (pageCount !== undefined)\n return pageCount > 1;\n return (mergedPagination.itemCount &&\n mergedPagination.pageSize &&\n mergedPagination.itemCount > mergedPagination.pageSize);\n });\n return Object.assign({ mainTableInstRef, mergedClsPrefix: mergedClsPrefixRef, mergedTheme: themeRef, paginatedData: paginatedDataRef, mergedBordered: mergedBorderedRef, mergedBottomBordered: mergedBottomBorderedRef, mergedPagination: mergedPaginationRef, mergedShowPagination: mergedShowPaginationRef, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender }, exposedMethods);\n },\n render() {\n const { mergedClsPrefix, themeClass, onRender, $slots, spinProps } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n return (h(\"div\", { class: [\n `${mergedClsPrefix}-data-table`,\n themeClass,\n {\n [`${mergedClsPrefix}-data-table--bordered`]: this.mergedBordered,\n [`${mergedClsPrefix}-data-table--bottom-bordered`]: this.mergedBottomBordered,\n [`${mergedClsPrefix}-data-table--single-line`]: this.singleLine,\n [`${mergedClsPrefix}-data-table--single-column`]: this.singleColumn,\n [`${mergedClsPrefix}-data-table--loading`]: this.loading,\n [`${mergedClsPrefix}-data-table--flex-height`]: this.flexHeight\n }\n ], style: this.cssVars },\n h(\"div\", { class: `${mergedClsPrefix}-data-table-wrapper` },\n h(MainTable, { ref: \"mainTableInstRef\" })),\n this.mergedShowPagination ? (h(\"div\", { class: `${mergedClsPrefix}-data-table__pagination` },\n h(NPagination, Object.assign({ theme: this.mergedTheme.peers.Pagination, themeOverrides: this.mergedTheme.peerOverrides.Pagination, disabled: this.loading }, this.mergedPagination)))) : null,\n h(Transition, { name: \"fade-in-scale-up-transition\" }, {\n default: () => {\n return this.loading ? (h(\"div\", { class: `${mergedClsPrefix}-data-table-loading-wrapper` }, resolveSlot($slots.loading, () => [\n h(NBaseLoading, Object.assign({ clsPrefix: mergedClsPrefix, strokeWidth: 20 }, spinProps))\n ]))) : null;\n }\n })));\n }\n});\n","import type { Directive } from 'vue';\nimport { nextTick } from 'vue';\n\nexport const rect: Directive<HTMLElement, (rect: DOMRect) => void> = {\n async mounted(el, binding) {\n await nextTick();\n binding.value(el.getClientRects()[0]);\n },\n async updated(el, binding) {\n await nextTick();\n binding.value(el.getClientRects()[0]);\n },\n};\n","import type { TableBaseColumn } from 'naive-ui/es/data-table/src/interface';\nimport { shallowReactive, withDirectives, defineCustomElement } from 'vue';\nimport { rect } from './directives';\n\nexport const useAutoWrapWidthColumn = <T,>(data: TableBaseColumn<T>) => {\n const currentCol = shallowReactive<TableBaseColumn<T>>({\n ...data,\n render(rowData, rowIndex) {\n return withDirectives(\n <span class=\"whitespace-nowrap\">\n {data.render?.(rowData, rowIndex)}\n </span>,\n [\n [\n rect,\n (size: DOMRect) => {\n currentCol.width = Math.max(\n Math.ceil(size.width + 16), // 16 是 n-data-table-td 的 左右内边距\n (currentCol.width as number) || 0,\n Number(currentCol.minWidth || 0),\n );\n },\n ],\n ],\n );\n },\n });\n return currentCol;\n};\n","import dayjs from 'dayjs';\nimport type { TableBaseColumn } from 'naive-ui/es/data-table/src/interface';\nimport { shallowReactive } from 'vue';\nimport { useAutoWrapWidthColumn } from './size';\nimport type { Snapshot } from './types';\nimport { getDevice } from './node';\n\nexport const renderDveice = (row: Snapshot) => {\n return `${getDevice(row).manufacturer} Android${\n getDevice(row).release || `13`\n }`;\n};\nexport const useSnapshotColumns = () => {\n const ctimeCol = shallowReactive<TableBaseColumn<Snapshot>>({\n key: `id`,\n title: `创建时间`,\n fixed: 'left',\n width: `130px`,\n sortOrder: false,\n sorter(rowA, rowB) {\n return rowA.id - rowB.id;\n },\n render(row) {\n return dayjs(row.id).format('MM-DD HH:mm:ss');\n },\n });\n\n const deviceCol = useAutoWrapWidthColumn<Snapshot>({\n key: `versionRelease`,\n title: `设备`,\n filterMultiple: true,\n minWidth: 100,\n filter(value, row) {\n return renderDveice(row).includes(value.toString());\n },\n render(row) {\n return renderDveice(row);\n },\n });\n const appNameCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appName`,\n minWidth: 100,\n title: `APP名称`,\n filterMultiple: true,\n filter(value, row) {\n return value.toString() == row.appName;\n },\n render(row) {\n return row.appName;\n },\n });\n const appIdCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appId`,\n title: `ID`,\n minWidth: 100,\n render(row) {\n return row.appId;\n },\n });\n const appVersionCodeCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appVersionCode`,\n title: `版本代码`,\n minWidth: 150,\n render(row) {\n return row.appVersionCode;\n },\n });\n const appVersionNameCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appVersionName`,\n title: `版本号`,\n minWidth: 150,\n render(row) {\n return row.appVersionName;\n },\n });\n\n const activityIdCol = shallowReactive<TableBaseColumn<Snapshot>>({\n key: `activityId`,\n title: `界面ID`,\n filterMultiple: true,\n filter(value, row) {\n return value.toString() == row.activityId;\n },\n render(row) {\n return row.activityId;\n },\n });\n\n const reseColWidth = () => {\n deviceCol.width = void 0;\n appNameCol.width = void 0;\n appIdCol.width = void 0;\n appVersionCodeCol.width = void 0;\n appVersionNameCol.width = void 0;\n };\n return {\n ctimeCol,\n deviceCol,\n appNameCol,\n appIdCol,\n appVersionCodeCol,\n appVersionNameCol,\n activityIdCol,\n reseColWidth,\n };\n};\n"],"names":["smallerSize","size","getTitleAttribute","value","createRefSetter","ref","inst","mergeEventHandlers","handlers","filteredHandlers","handler","e","useDeferredTrue","valueRef","delay","shouldDelayRef","delayedRef","timerId","watch","useKeyboard","options","enabledRef","state","reactive","keydown","keyup","keydownHandler","key","stop","prevent","keyupHandler","setup","on","off","hasInstance","onBeforeMount","onBeforeUnmount","readonly","hiddenAttr","style","c","VOverflow","defineComponent","props","slots","selfRef","counterRef","deriveCounter","self","getCounter","getTail","counter","children","child","containerWidth","childWidths","tail","childWidthSum","overflow","len","i","childWidth","updateCounter","j","restCount","counterWidth","onUpdateCount","onUpdateOverflow","ssrAdapter","useSsrAdapter","cssrAnchorMetaName","onMounted","$slots","nextTick","h","renderSlot","useOnResize","elRef","onResize","el","resizeObserverManager","ArrowDownIcon","BackwardIcon","FinishedIcon","FastBackwardIcon","FastForwardIcon","FilterIcon","ForwardIcon","MoreIcon","FocusDetector","commonVariables$4","vars","borderRadius","popoverColor","textColor3","dividerColor","textColor2","primaryColorPressed","textColorDisabled","primaryColor","opacityDisabled","hoverColor","fontSizeSmall","fontSizeMedium","fontSizeLarge","fontSizeHuge","heightSmall","heightMedium","heightLarge","heightHuge","commonVariables","internalSelectMenuLight","createTheme","commonLight","scrollbarLight","emptyLight","internalSelectMenuLight$1","renderCheckMark","show","clsPrefix","Transition","NBaseIcon","CheckmarkIcon","NSelectOption","pendingTmNodeRef","multipleRef","valueSetRef","renderLabelRef","renderOptionRef","labelFieldRef","valueFieldRef","showCheckmarkRef","nodePropsRef","handleOptionClick","handleOptionMouseEnter","inject","internalSelectionMenuInjectionKey","isPendingRef","useMemo","pendingTmNode","handleClick","tmNode","handleMouseEnter","handleMouseMove","isPending","parent","multiple","optionValue","valueSet","rawNode","isSelected","isGrouped","showCheckmark","nodeProps","renderOption","renderLabel","checkmark","render","attrs","node","NSelectGroupHeader","style$7","cB","cE","cM","cNotM","fadeInScaleUpTransition","NInternalSelectMenu","useTheme","themeRef","toRef","virtualListRef","scrollbarRef","flattenedNodesRef","computed","fIndexGetterRef","createIndexGetter","pendingNodeRef","initPendingNode","treeMate","defaultPendingNode","setPendingTmNode","clearPendingNodeIfInvalid","pendingNode","initPendingNodeWatchStopHandle","scrollToPendingNode","itemSizeRef","depx","createKey","paddingRef","getPadding","emptyRef","tmNodes","doToggle","onToggle","doScroll","onScroll","handleVirtualListScroll","_a","handleVirtualListResize","getPendingTmNode","handleKeyUp","happensIn","handleKeyDown","handleMouseDown","next","prev","_b","fIndex","handleFocusin","handleFocusout","provide","internalSelectionMenuBodyInjectionKey","cssVarsRef","cubicBezierEaseInOut","height","color","groupHeaderTextColor","actionDividerColor","optionTextColorPressed","optionTextColor","optionTextColorDisabled","optionTextColorActive","optionOpacityDisabled","optionCheckColor","actionTextColor","optionColorPending","optionColorActive","loadingColor","loadingSize","optionColorActivePending","fontSize","optionHeight","optionPadding","inlineThemeDisabled","themeClassHandle","useThemeClass","exposedProps","virtualScroll","mergedTheme","themeClass","onRender","resolveWrappedSlot","NInternalLoading","resolveSlot","NEmpty","NScrollbar","VirtualList","NFocusDetector","commonVariables$3","primaryColorHover","infoColor","successColor","warningColor","errorColor","baseColor","borderColor","tagColor","closeIconColor","closeIconColorHover","closeIconColorPressed","fontSizeMini","fontSizeTiny","heightMini","heightTiny","closeColorHover","closeColorPressed","buttonColor2Hover","buttonColor2Pressed","fontWeightStrong","changeColor","tagLight","tagLight$1","commonProps","style$6","tagProps","tagInjectionKey","createInjectionKey","NTag","contentRef","mergedBorderedRef","mergedClsPrefixRef","mergedRtlRef","useConfig","checked","onCheckedChange","onUpdateChecked","_onUpdateChecked","handleCloseClick","onClose","call","tagPublicMethods","textContent","rtlEnabledRef","useRtl","type","textColor","padding","closeMargin","closeMarginRtl","textColorCheckable","textColorHoverCheckable","textColorPressedCheckable","textColorChecked","colorCheckable","colorHoverCheckable","colorPressedCheckable","colorChecked","colorCheckedHover","colorCheckedPressed","closeBorderRadius","colorBordered","closeSize","closeIconSize","typedColor","typeTextColor","border","hash","color2Class","mergedClsPrefix","rtlEnabled","closable","round","avatarNode","iconNode","NBaseClose","commonVars","inputColor","inputColorDisabled","warningColorHover","errorColorHover","iconColor","iconColorDisabled","clearColor","clearColorHover","clearColorPressed","placeholderColor","placeholderColorDisabled","internalSelectionLight","popoverLight","internalSelectionLight$1","style$5","status","NInternalSelection","patternInputMirrorRef","patternInputRef","multipleElRef","singleElRef","patternInputWrapperRef","counterWrapperRef","overflowRef","inputTagElRef","showTagsPopoverRef","patternInputFocusedRef","hoverRef","mergedClearableRef","filterablePlaceholderRef","labelRef","option","selectedRef","syncMirrorWidth","patternInputMirrorEl","patternInputEl","hideInputTag","inputTagEl","showInputTag","doFocus","onFocus","doBlur","onBlur","doDeleteOption","onDeleteOption","doClear","onClear","doPatternInput","onPatternInput","handleClear","handleMouseLeave","handleDeleteOption","handlePatternKeyDown","isComposingRef","selectedOptions","cachedInputEvent","handlePatternInputInput","inputText","handleCompositionStart","handleCompositionEnd","handlePatternInputFocus","handlePatternInputBlur","blur","multipleEl","singleEl","focus","_c","focusInput","blurInput","count","enterTimerId","clearEnterTimer","handleMouseEnterCounter","handleMouseLeaveCounter","onPopoverUpdateShow","watchEffect","patternInputWrapperEl","paddingSingle","paddingMultiple","caretColor","colorDisabled","colorActive","boxShadowFocus","boxShadowActive","boxShadowHover","borderFocus","borderHover","borderActive","arrowColor","arrowColorDisabled","colorActiveWarning","boxShadowFocusWarning","boxShadowActiveWarning","boxShadowHoverWarning","borderWarning","borderFocusWarning","borderHoverWarning","borderActiveWarning","colorActiveError","boxShadowFocusError","boxShadowActiveError","boxShadowHoverError","borderError","borderFocusError","borderHoverError","borderActiveError","clearSize","arrowSize","disabled","filterable","maxTagCount","bordered","renderTag","maxTagCountResponsive","maxTagCountNumeric","useMaxTagCount","suffix","Wrapper","Suffix","body","labelField","createTag","createOriginalTagNodes","input","renderCounter","rest","tags","renderPopover","popoverProps","placeholder","popoverTrigger","Fragment","NPopover","hasInput","showPlaceholder","showSelectedLabel","getIsGroup","getIgnored","patternMatched","pattern","createTmOptions","valueField","childrenField","filterOptions","originalOpts","filter","traverse","filteredOptions","createValOptMap","valOptMap","selectGroupOption","boxShadow2","popselectLight","popselectLight$1","popselectInjectionKey","style$4","panelProps","panelPropKeys","keysOf","NPopselectPanel","NPopselect","treeMateRef","createTreeMate","doUpdateValue","onUpdateValue","_onUpdateValue","onChange","handleToggle","toggle","handleMenuMousedown","getNode","newValue","newOptions","shouldAddValue","v","_onUpdateShow","onUpdateShow","menuBoxShadow","popselectProps","omit","popoverBaseProps","popoverInstRef","syncPosition","setShow","className","onMouseenter","onMouseleave","$attrs","keep","selectLight","selectLight$1","style$3","selectProps","useAdjustedTo","NSelect","namespaceRef","uncontrolledValueRef","controlledValueRef","mergedValueRef","useMergedState","focusedRef","patternRef","filteredOptionsRef","valOptMapRef","localOptionsRef","uncontrolledShowRef","mergedShowRef","triggerRef","followerRef","menuRef","localeRef","useLocale","localizedPlaceholderRef","compitableOptionsRef","useCompitable","emptyArray","createdOptionsRef","beingCreatedOptionsRef","memoValOptMapRef","wrappedFallbackOptionRef","fallbackOption","resolvedFilterRef","label","localOptions","getMergedOptions","values","remote","memoValOptMap","wrappedFallbackOption","selectedOptionsRef","selectedOptionRef","mergedValue","formItem","useFormItem","mergedSizeRef","mergedDisabledRef","mergedStatusRef","nTriggerFormChange","nTriggerFormInput","nTriggerFormBlur","showOnFocus","nTriggerFormFocus","openMenu","doSearch","onSearch","updateMemorizedOptions","doUpdateShow","focusSelectionInput","closeMenu","handleMenuAfterLeave","activeWithoutMenuOpenRef","onTriggerInputFocus","onTriggerInputBlur","handleTriggerClick","handleTriggerBlur","handleTriggerFocus","handleMenuFocus","handleMenuBlur","handleMenuTabOut","handleMenuClickOutside","getPreciseEventTarget","createClearedMultipleSelectValue","handleToggleByTmNode","handleToggleByOption","tag","clearFilterAfterSelect","beingCreatedOptions","beingCreatedOption","createdOptions","changedValue","index","createdOptionIndex","getCreatedOptionIndex","focusSelection","createdOption","handlePatternInput","onCreate","optionBeingCreated","handleMenuScroll","handleKeydown","_d","_e","markEventEffectPerformed","handleTriggerOrMenuResize","exposedMethods","useIsMounted","VBinder","VTarget","VFollower","withDirectives","vShow","clickoutside","commonVariables$2","paginationLight","inputLight","paginationLight$1","createPageItemsInfo","currentPage","pageCount","pageSlot","hasFastBackward","hasFastForward","fastBackwardTo","fastForwardTo","firstPage","lastPage","middleStart","middleEnd","middleDelta","leftSplit","rightSplit","items","createRange","from","to","range","hoverStyleProps","hoverStyleChildren","style$2","paginationProps","NPagination","mergedComponentPropsRef","uncontrolledPageRef","uncontrolledPageSizeRef","defaultPageSize","pageSizeOption","mergedPageRef","mergedPageSizeRef","mergedPageCountRef","itemCount","jumperValueRef","fastForwardActiveRef","fastBackwardActiveRef","showFastForwardMenuRef","showFastBackwardMenuRef","handleFastForwardMouseenter","disableTransitionOneTick","handleFastForwardMouseleave","handleFastBackwardMouseenter","handleFastBackwardMouseleave","handleMenuSelect","doUpdatePage","pageItemsInfo","pageSizeOptionsRef","inputSizeRef","selectSizeRef","startIndexRef","endIndexRef","endIndex","mergedItemCountRef","selfEl","page","_onUpdatePage","onUpdatePage","simple","doUpdatePageSize","pageSize","_onUpdatePageSize","onUpdatePageSize","onPageSizeChange","forward","backward","fastForward","fastBackward","handleSizePickerChange","doQuickJump","handleQuickJumperChange","handlePageItemClick","pageItem","handleJumperInput","buttonBorder","buttonBorderHover","buttonBorderPressed","buttonIconColor","buttonIconColorHover","buttonIconColorPressed","itemTextColor","itemTextColorHover","itemTextColorPressed","itemTextColorActive","itemTextColorDisabled","itemColor","itemColorHover","itemColorPressed","itemColorActive","itemColorActiveHover","itemColorDisabled","itemBorder","itemBorderHover","itemBorderPressed","itemBorderActive","itemBorderDisabled","itemBorderRadius","jumperTextColor","jumperTextColorDisabled","buttonColor","buttonColorHover","buttonColorPressed","itemPadding","itemMargin","inputWidth","selectWidth","inputMargin","selectMargin","jumperFontSize","prefixMargin","suffixMargin","itemSize","buttonIconSize","itemFontSize","itemMarginRtl","inputMarginRtl","cssVars","mergedPage","mergedPageCount","pageItems","showSizePicker","showQuickJumper","locale","inputSize","selectSize","mergedPageSize","pageSizeOptions","jumperValue","prefix","goto","handleBackwardClick","handleForwardClick","renderPrefix","renderSuffix","renderPrev","renderNext","part","NInput","contentNode","pageNode","fastForwardNode","fastBackwardNode","itemNode","commonVariables$1","invertedColor","dropdownLight","dropdownLight$1","cardColor","modalColor","textColor1","tableHeaderColor","tableColorHover","lineHeight","tableColorStriped","composite","dataTableLight","buttonLight","checkboxLight","radioLight","ellipsisLight","dataTableLight$1","NPerformantEllipsis","ellipsisProps","mouseEnteredRef","useMergedClsPrefix","useStyle","lineClamp","mergeProps","createLineClampClass","createCursorClass","Ellipsis","RenderSorter","order","dataTableProps","dataTableInjectionKey","SortButton","mergedSortStateRef","sortStateRef","activeRef","mergedSortOrderRef","sortState","mergedRenderSorterRef","mergedRenderSorter","mergedSortOrder","renderSorterIcon","RenderFilter","active","SELECTION_COL_WIDTH","EXPAND_COL_WIDTH","getNumberColWidth","col","getStringColWidth","formatLength","getColKey","createShallowClonedObject","object","getFlagOfOrder","clampValueFollowCSSRules","min","max","createCustomWidthStyle","column","resizedWidth","width","minWidth","maxWidth","createRowClassName","row","rowClassName","shouldUseArrayInSingleMode","isColumnSortable","isColumnResizable","isColumnFilterable","getNextOrderOf","createNextSorter","currentSortState","isColumnSorting","mergedSortState","NDataTableFilterMenu","mergedThemeRef","temporalValueRef","checkboxGroupValueRef","temporalValue","radioGroupValueRef","doChange","handleChange","handleConfirmClick","handleClearClick","checkboxGroupValue","NCheckboxGroup","NCheckbox","NRadioGroup","NRadio","NButton","createFilterState","currentFilterState","columnKey","mergedFilterValue","nextFilterState","FilterButton","mergedFilterStateRef","filterMenuCssVarsRef","paginationBehaviorOnFilterRef","doUpdateFilters","showPopoverRef","filterStateRef","filterMultipleRef","mergedFilterValueRef","filterValue","mergedRenderFilterRef","handleFilterChange","handleFilterMenuCancel","handleFilterMenuConfirm","mergedRenderFilter","renderFilterIcon","renderFilterMenu","ResizeButton","startX","getMouseX","handleMousedown","alreadyStarted","handleMousemove","handleMouseup","NDropdownDivider","dropdownMenuInjectionKey","dropdownInjectionKey","dropdownOptionInjectionKey","isSubmenuNode","isGroupNode","isDividerNode","isRenderNode","NDropdownOption","NDropdown","hoverKeyRef","keyboardKeyRef","lastToggledSubmenuKeyRef","pendingKeyPathRef","activeKeyPathRef","animatedRef","renderIconRef","childrenFieldRef","menuPropsRef","NDropdownMenu","NPopoverBody","popoverBodyInjectionKey","rawNodeRef","hasSubmenuRef","showSubmenuRef","hoverKey","keyboardKey","lastToggledSubmenuKey","pendingKeyPath","deferredShowSubmenuRef","parentEnteringSubmenuRef","enteringSubmenuRef","handleSubmenuBeforeEnter","handleSubmenuAfterEnter","parentKey","relatedTarget","hasSubmenu","activeKeyPath","k","animated","mergedShowSubmenu","siblingHasIcon","siblingHasSubmenu","renderIcon","scrollable","submenuVNode","submenuNodeProps","builtinProps","optionNodeProps","NIcon","ChevronRightIcon","NDropdownGroupHeader","showIconRef","showIcon","NDropdownGroup","warn","NDropdownRenderOption","rawChild","bodyRef","modalBodyInjectionKey","drawerBodyInjectionKey","menuOptionsNode","NxScrollbar","renderArrow","style$1","dropdownBaseProps","popoverPropKeys","dropdownProps","treemateRef","keyField","tmNodesRef","pendingKeyRef","keyboardEnabledRef","handleKeydownUp","handleKeydownRight","handleKeydownDown","handleKeydownLeft","handleKeydownEnter","handleKeydownEsc","doSelect","clearPendingState","onSelect","getPendingNode","pendingKey","direction","getFirstAvailableNode","nextKeyboardKey","firstNode","currentNode","nextNode","inverted","optionIconSuffixWidth","optionSuffixWidth","optionIconPrefixWidth","optionPrefixWidth","optionIconSize","renderPopoverBody","menuProps","menuNodeProps","allKey","noneKey","createSelectHandler","rawPaginatedDataRef","doCheckAll","doUncheckAll","createDropdownOptions","SelectionMenu","checkOptionsRef","handleSelectRef","optionsRef","ChevronDownIcon","renderTitle","TableHeader","scrollXRef","fixedColumnLeftMapRef","fixedColumnRightMapRef","mergedCurrentPageRef","allRowsCheckedRef","someRowsCheckedRef","rowsRef","colsRef","componentId","mergedTableLayoutRef","headerCheckboxDisabledRef","onUnstableColumnResize","doUpdateResizableWidth","handleTableHeaderScroll","deriveNextSorter","cellElsRef","getCellActualWidth","element","handleCheckboxUpdateChecked","handleColHeaderClick","activeSorter","nextSorter","resizeStartWidthMap","handleColumnResizeStart","handleColumnResize","displacementX","startWidth","widthAfterResize","limitWidth","fixedColumnLeftMap","fixedColumnRightMap","allRowsChecked","someRowsChecked","rows","cols","checkOptions","discrete","mergedTableLayout","headerCheckboxDisabled","theadVNode","colSpan","rowSpan","isLast","ellipsis","createColumnVNode","NEllipsis","leftFixed","rightFixed","pxfy","scrollX","Cell","isSummary","renderCell","cell","get","ExpandTrigger","NIconSwitchTransition","NBaseLoading","RenderSafeCheckbox","mergedCheckedRowKeySetRef","mergedInderminateRowKeySetRef","rowKey","RenderSafeRadio","flatten","rowInfos","expandedRowKeys","fRows","rs","rootIndex","r","rowInfo","VirtualListItemWrapper","id","TableBody","dataTableSlots","bodyWidthRef","mergedExpandedRowKeysRef","paginatedDataRef","rowClassNameRef","leftActiveFixedColKeyRef","leftActiveFixedChildrenColKeysRef","rightActiveFixedColKeyRef","rightActiveFixedChildrenColKeysRef","renderExpandRef","summaryRef","virtualScrollRef","childTriggerColIndexRef","indentRef","rowPropsRef","maxHeightRef","stripedRef","loadingRef","onLoadRef","loadingKeySetRef","expandableRef","stickyExpandedRowsRef","renderExpandIconRef","summaryPlacementRef","scrollbarPropsRef","setHeaderScrollLeft","doUpdateExpandedRowKeys","handleTableBodyScroll","doCheck","doUncheck","scrollbarInstRef","emptyElRef","shouldDisplaySomeTablePartRef","bodyShowHeaderOnlyRef","lastSelectedKey","mergedExpandedRowKeySetRef","getRowInfo","shiftKey","lastIndex","item","currentIndex","start","end","rowKeysToCheck","handleRadioUpdateChecked","getScrollContainer","emptyEl","virtualListContainer","handleUpdateExpanded","mergedExpandedRowKeys","nextExpandedKeys","futureMergedExpandedRowKeys","futureNextExpandedKeys","handleMouseleaveTable","virtualListContent","arg0","arg1","cProps","createActiveLeftFixedStyle","leftActiveFixedColKey","createActiveRightFixedStyle","rightActiveFixedColKey","fixedStyleMounted","leftActiveFixedChildrenColKeys","rightActiveFixedChildrenColKeys","onUnmounted","striped","hasChildren","maxHeight","flexHeight","loadingKeySet","isBasicAutoLayout","xScrollable","contentStyle","tableNode","cordToPass","cordKey","paginatedDataAndInfo","mergedExpandedRowKeySet","stickyExpandedRows","childTriggerColIndex","expandable","rowProps","renderExpand","summary","colCount","mergedData","paginatedData","mergedPaginationData","summaryRows","summaryRowData","indentStyle","displayedData","rowCount","rowIndexToKey","rowIndex","bodyWidth","bodyWidthPx","renderRow","displayedRowIndex","isVirtual","actualRowIndex","rowData","expanded","mergedRowClassName","colIndex","cordOfRowToPass","indexInCordOfRowToPass","colKey","mergedColSpan","mergedRowSpan","isLastCol","isLastRow","isCrossRowTd","cellProps","resolvedCellProps","indentOffsetStyle","repeat","createEmptyNode","VResizeObserver","MainTable","rightFixedColumnsRef","leftFixedColumnsRef","minHeightRef","flexHeightRef","syncScrollState","headerInstRef","bodyInstRef","selfElRef","fixedStateInitializedRef","bodyStyleRef","handleBodyResize","entry","getHeaderElement","getBodyElement","transitionDisabledClass","headerInBody","useCheck","data","selectionColumnRef","uncontrolledCheckedRowKeysRef","mergedCheckState","checkedRowKeys","sourceKeys","mergedCheckedRowKeysRef","mergedInderminateRowKeysRef","countOfCurrentPageCheckedRowsRef","mergedCheckedRowKeySet","total","countOfCurrentPageDisabledRowsRef","length","mergedInderminateRowKeySet","doUpdateCheckedRowKeys","keys","action","_onUpdateCheckedRowKeys","onUpdateCheckedRowKeys","onCheckedRowKeysChange","single","checkWholeTable","rowKeysToUncheck","getMultiplePriority","sorter","getSortFunction","getDefaultSorterFn","row1","row2","value1","value2","useSorter","dataRelatedColsRef","filteredDataRef","defaultSortState","updateSortStatesByNewSortState","uncontrolledSortStateRef","columnsWithControlledSortOrder","columnToSort","uncontrolledSortState","sortedDataRef","activeSorters","a","b","item1Priority","tmNode1","tmNode2","compareResult","sorterState","compareFn","getUpdatedSorterState","nextSorterState","doUpdateSorter","_onUpdateSorter","onUpdateSorter","onSorterChange","sort","clearSorter","sortStates","useTableData","getSelectionColumn","childrenKey","columns","firstContentfulColIndex","uncontrolledFilterStateRef","uncontrolledCurrentPageRef","columnsWithControlledFilter","controlledFilterState","mergedFilterState","createDefaultFilter","filterOptionValue","columnEntries","activeFilterOptionValues","defaultFilterOptionValues","controlledCurrentPageRef","pagination","controlledPageSizeRef","_mergedCurrentPageRef","boundedMergedCurrentPageRef","startIndex","mergedOnUpdatePage","mergedOnUpdatePageSize","mergedPaginationRef","onPageChange","filters","sourceColumn","onUpdateFilters","_onUpdateFilters","onFiltersChange","limitedWidth","getColumnWidth","clearFilter","clearFilters","useScroll","mainTableInstRef","lastScrollLeft","scrollPartRef","styleScrollXRef","left","positionInfo","right","deriveActiveLeftFixedColumn","leftFixedColumns","leftWidth","deriveActiveLeftFixedChildrenColumns","activeLeftFixedColumn","nextActiveLeftFixedColumn","deriveActiveRightFixedColumn","rightFixedColumns","scrollWidth","tableWidth","rightWidth","deriveActiveRightFixedChildrenColumns","activeRightFixedColumn","nextActiveRightFixedColumn","getScrollElements","header","scrollMainTableBodyToTop","beforeNextFrameOnce","directionHead","useResizable","resizableWidthsRef","getResizableWidth","clearResizableWidth","getRowsAndCols","dataRelatedCols","rowItemMap","maxDepth","totalRowSpan","hasEllipsis","ensureMaxDepth","currentDepth","currentLeafIndex","ensureColLayout","hideUntilIndex","cachedCurrentLeafIndex","rowItem","childColumn","useGroupHeader","rowsAndCols","useExpand","uncontrolledExpandedRowKeysRef","expandedKeys","controlledExpandedRowKeysRef","onUpdateExpandedRowKeys","_onUpdateExpandedRowKeys","fixedColumnStyle","createFixedColumnStyle","iconSwitchTransition","insideModal","insidePopover","NDataTable","mergedBottomBorderedRef","bottomBordered","hasEllipsisRef","createId","selectionColumn","actionPadding","actionButtonMargin","tdColorHover","thColor","thColorHover","tdColor","tdTextColor","thTextColor","thFontWeight","thButtonColorHover","thIconColor","thIconColorActive","filterSize","tdColorModal","thColorModal","borderColorModal","thColorHoverModal","tdColorHoverModal","borderColorPopover","thColorPopover","tdColorPopover","tdColorHoverPopover","thColorHoverPopover","paginationMargin","emptyPadding","boxShadowAfter","boxShadowBefore","sorterSize","resizableContainerSize","resizableSize","opacityLoading","tdColorStriped","tdColorStripedModal","tdColorStripedPopover","thPadding","tdPadding","mergedShowPaginationRef","mergedPagination","spinProps","rect","binding","useAutoWrapWidthColumn","currentCol","shallowReactive","_createVNode","Math","ceil","Number","renderDveice","getDevice","manufacturer","release","useSnapshotColumns","ctimeCol","title","fixed","sortOrder","rowA","rowB","dayjs","format","deviceCol","filterMultiple","includes","toString","appNameCol","appName","appIdCol","appId","appVersionCodeCol","appVersionCode","appVersionNameCol","appVersionName","activityIdCol","activityId","reseColWidth"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85]}
|