@gkd-kit/inspect 0.0.1756717177622 → 0.0.1758639831089
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/dist/404.html +3 -3
- package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-Mnug9DWd.js +17 -0
- package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-Mnug9DWd.js.map +1 -0
- package/dist/assets/{DevicePage-2eLd65ot.js → DevicePage-U_3kdyd1.js} +3 -3
- package/dist/assets/{DevicePage-2eLd65ot.js.map → DevicePage-U_3kdyd1.js.map} +1 -1
- package/dist/assets/{HomePage-47_TAQ9h.js → HomePage-Bc83qKTK.js} +7 -7
- package/dist/assets/HomePage-Bc83qKTK.js.map +1 -0
- package/dist/assets/{ImportPage-DmYJkTpm.js → ImportPage-BSN51fsg.js} +2 -2
- package/dist/assets/{ImportPage-DmYJkTpm.js.map → ImportPage-BSN51fsg.js.map} +1 -1
- package/dist/assets/Input-D1JUZ06t.js +260 -0
- package/dist/assets/Input-D1JUZ06t.js.map +1 -0
- package/dist/assets/{SelectorPage-o9LIj-I1.js → SelectorPage-BYz6KuKu.js} +2 -2
- package/dist/assets/SelectorPage-BYz6KuKu.js.map +1 -0
- package/dist/assets/SnapshotPage-DDESkWey.js +278 -0
- package/dist/assets/SnapshotPage-DDESkWey.js.map +1 -0
- package/dist/assets/{SvgPage-BagXHNio.js → SvgPage-CQljgvlO.js} +2 -2
- package/dist/assets/{SvgPage-BagXHNio.js.map → SvgPage-CQljgvlO.js.map} +1 -1
- package/dist/assets/{TrackGraph-30Lwxufc.js → TrackGraph-B34JmU2y.js} +3 -3
- package/dist/assets/{TrackGraph-30Lwxufc.js.map → TrackGraph-B34JmU2y.js.map} +1 -1
- package/dist/assets/_404Page-DUCCFNAB.js +2 -0
- package/dist/assets/{_404Page-EBmWBN0j.js.map → _404Page-DUCCFNAB.js.map} +1 -1
- package/dist/assets/chunk-F2BCYXFp.js +3 -0
- package/dist/assets/{chunk-FQ5_3Fvt.js.map → chunk-F2BCYXFp.js.map} +1 -1
- package/dist/assets/{dayjs.min-DuZZSErs.js → dayjs.min-Dv-eveXa.js} +2 -2
- package/dist/assets/{dayjs.min-DuZZSErs.js.map → dayjs.min-Dv-eveXa.js.map} +1 -1
- package/dist/assets/{error-CWzaCaGi.js → error-ChBBACr4.js} +2 -2
- package/dist/assets/{error-CWzaCaGi.js.map → error-ChBBACr4.js.map} +1 -1
- package/dist/assets/{import-D46jGS_0.js → import-M_Af5KCc.js} +2 -2
- package/dist/assets/{import-D46jGS_0.js.map → import-M_Af5KCc.js.map} +1 -1
- package/dist/assets/{index-GTBK_16Z.js → index-B9sXoeZq.js} +3 -3
- package/dist/assets/{index-GTBK_16Z.js.map → index-B9sXoeZq.js.map} +1 -1
- package/dist/assets/index-B_uD-bae.js +980 -0
- package/dist/assets/index-B_uD-bae.js.map +1 -0
- package/dist/assets/{index-BOn7cIqR.css → index-BowVL0Z1.css} +1 -1
- package/dist/assets/{jszip.min-C6z3zxPP.js → jszip.min-C4QAILm2.js} +2 -2
- package/dist/assets/{jszip.min-C6z3zxPP.js.map → jszip.min-C4QAILm2.js.map} +1 -1
- package/dist/assets/node-C7vxFtQZ.js +126 -0
- package/dist/assets/node-C7vxFtQZ.js.map +1 -0
- package/dist/assets/polyfills-DPQP8bt_.js +2 -0
- package/dist/assets/polyfills-DPQP8bt_.js.map +1 -0
- package/dist/assets/snapshot-gWG-XXTt.js +3 -0
- package/dist/assets/snapshot-gWG-XXTt.js.map +1 -0
- package/dist/assets/{table-x678kzFG.js → table-BrOTv4AL.js} +51 -51
- package/dist/assets/table-BrOTv4AL.js.map +1 -0
- package/dist/index.html +3 -3
- package/package.json +32 -32
- package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-BY98wOL2.js +0 -17
- package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-BY98wOL2.js.map +0 -1
- package/dist/assets/HomePage-47_TAQ9h.js.map +0 -1
- package/dist/assets/Input-Br-unvKw.js +0 -260
- package/dist/assets/Input-Br-unvKw.js.map +0 -1
- package/dist/assets/SelectorPage-o9LIj-I1.js.map +0 -1
- package/dist/assets/SnapshotPage-055LCAoq.js +0 -272
- package/dist/assets/SnapshotPage-055LCAoq.js.map +0 -1
- package/dist/assets/_404Page-EBmWBN0j.js +0 -2
- package/dist/assets/chunk-FQ5_3Fvt.js +0 -3
- package/dist/assets/index-BDgd4jKy.js +0 -979
- package/dist/assets/index-BDgd4jKy.js.map +0 -1
- package/dist/assets/node-Dqax9l0e.js +0 -126
- package/dist/assets/node-Dqax9l0e.js.map +0 -1
- package/dist/assets/polyfills-DHsnwdd7.js +0 -2
- package/dist/assets/polyfills-DHsnwdd7.js.map +0 -1
- package/dist/assets/snapshot-B7-fb-hQ.js +0 -3
- package/dist/assets/snapshot-B7-fb-hQ.js.map +0 -1
- package/dist/assets/table-x678kzFG.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-BrOTv4AL.js","sources":["../../node_modules/.pnpm/vooks@0.2.12_vue@3.5.21_typescript@5.9.2_/node_modules/vooks/es/use-keyboard.js","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_utils/composable/use-deferred-true.mjs","../../node_modules/.pnpm/vueuc@0.4.65_vue@3.5.21_typescript@5.9.2_/node_modules/vueuc/es/overflow/src/index.js","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_utils/composable/use-resize.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_utils/dom/download.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_utils/naive/attribute.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_utils/naive/prop.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_utils/vue/create-ref-setter.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_utils/vue/merge-handlers.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/icons/ArrowDown.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/icons/Backward.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/icons/Checkmark.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/icons/FastBackward.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/icons/FastForward.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/icons/Filter.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/icons/Forward.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/icons/More.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/focus-detector/src/FocusDetector.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/select-menu/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/select-menu/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/select-menu/src/SelectGroupHeader.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/select-menu/src/SelectOption.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/select-menu/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/select-menu/src/SelectMenu.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/tag/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/tag/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/tag/src/common-props.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/tag/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/tag/src/Tag.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/selection/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/selection/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/selection/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/_internal/selection/src/Selection.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/select/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/popselect/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/popselect/src/interface.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/popselect/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/popselect/src/PopselectPanel.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/popselect/src/Popselect.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/select/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/select/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/select/src/Select.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/pagination/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/pagination/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/pagination/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/pagination/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/pagination/src/Pagination.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/interface.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/TableParts/BodyCheckbox.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/TableParts/BodyRadio.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/ellipsis/src/PerformantEllipsis.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/TableParts/Cell.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/TableParts/ExpandTrigger.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterMenu.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderFilter.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterButton.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/HeaderButton/ResizeButton.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderSorter.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/HeaderButton/SortButton.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/context.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/DropdownDivider.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/DropdownGroupHeader.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/DropdownOption.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/DropdownGroup.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/DropdownRenderOption.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/DropdownMenu.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/dropdown/src/Dropdown.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/TableParts/SelectionMenu.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/TableParts/Header.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/TableParts/Body.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/MainTable.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/use-check.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/use-expand.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/use-group-header.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/use-resizable.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/use-scroll.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/use-sorter.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/use-table-data.mjs","../../node_modules/.pnpm/naive-ui@2.43.1_vue@3.5.21_typescript@5.9.2_/node_modules/naive-ui/es/data-table/src/DataTable.mjs","../../src/utils/directives.ts","../../src/utils/table.tsx"],"sourcesContent":["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","import { ref, watch } from 'vue';\nexport function useDeferredTrue(valueRef, delay, shouldDelayRef) {\n if (!delay) return valueRef;\n const delayedRef = ref(valueRef.value);\n let timerId = null;\n watch(valueRef, value => {\n if (timerId !== null) window.clearTimeout(timerId);\n if (value === true) {\n if (shouldDelayRef && !shouldDelayRef.value) {\n delayedRef.value = true;\n } else {\n timerId = window.setTimeout(() => {\n delayedRef.value = true;\n }, delay);\n }\n } else {\n delayedRef.value = false;\n }\n });\n return delayedRef;\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, watch } 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 {\n value: el\n } = elRef;\n if (el) {\n resizeObserverManager.registerHandler(el, onResize);\n }\n });\n // avoid memory leak\n watch(elRef, (_, oldEl) => {\n if (oldEl) {\n resizeObserverManager.unregisterHandler(oldEl);\n }\n }, {\n deep: false\n });\n onBeforeUnmount(() => {\n const {\n value: el\n } = elRef;\n if (el) {\n resizeObserverManager.unregisterHandler(el);\n }\n });\n }\n}","export function download(url, name) {\n if (!url) return;\n const a = document.createElement('a');\n a.href = url;\n if (name !== undefined) {\n a.download = name;\n }\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n}\nexport function publicDownload(url, name) {\n download(url, name);\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}","const smallerSizeMap = {\n tiny: 'mini',\n small: 'tiny',\n medium: 'small',\n large: 'medium',\n huge: 'large'\n};\nconst largerSizeMap = {\n tiny: 'small',\n small: 'medium',\n medium: 'large',\n large: 'huge'\n};\nexport function largerSize(size) {\n const result = largerSizeMap[size];\n if (result === undefined) {\n throw new Error(`${size} has no larger size.`);\n }\n return result;\n}\nexport function smallerSize(size) {\n const result = smallerSizeMap[size];\n if (result === undefined) {\n throw new Error(`${size} has no smaller size.`);\n }\n return result;\n}","export function createRefSetter(ref) {\n return inst => {\n if (inst) {\n ref.value = inst.$el;\n } else {\n ref.value = null;\n }\n };\n}","export function mergeEventHandlers(handlers) {\n const filteredHandlers = handlers.filter(handler => handler !== undefined);\n if (filteredHandlers.length === 0) return undefined;\n if (filteredHandlers.length === 1) return filteredHandlers[0];\n return e => {\n handlers.forEach(handler => {\n if (handler) {\n handler(e);\n }\n });\n };\n}","import { defineComponent, h } from 'vue';\nexport default defineComponent({\n name: 'ArrowDown',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 28 28\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n 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 { defineComponent, h } from 'vue';\nexport default defineComponent({\n name: 'Backward',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"path\", {\n 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\",\n fill: \"currentColor\"\n }));\n }\n});","import { defineComponent, h } from 'vue';\nexport default defineComponent({\n name: 'Checkmark',\n render() {\n return h(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n }, h(\"g\", {\n fill: \"none\"\n }, h(\"path\", {\n 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\",\n fill: \"currentColor\"\n })));\n }\n});","import { defineComponent, h } from 'vue';\nexport default defineComponent({\n name: 'FastBackward',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 20 20\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n fill: \"none\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n fill: \"currentColor\",\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n 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 { defineComponent, h } from 'vue';\nexport default defineComponent({\n name: 'FastForward',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 20 20\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n fill: \"none\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n fill: \"currentColor\",\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n 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 { defineComponent, h } from 'vue';\nexport default defineComponent({\n name: 'Filter',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 28 28\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n 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 { defineComponent, h } from 'vue';\nexport default defineComponent({\n name: 'Forward',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"path\", {\n 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\",\n fill: \"currentColor\"\n }));\n }\n});","import { defineComponent, h } from 'vue';\nexport default defineComponent({\n name: 'More',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 16 16\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n fill: \"none\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n fill: \"currentColor\",\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n 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 { defineComponent, h } from 'vue';\nexport default defineComponent({\n props: {\n onFocus: Function,\n onBlur: Function\n },\n setup(props) {\n return () => h(\"div\", {\n style: \"width: 0; height: 0\",\n tabindex: 0,\n onFocus: props.onFocus,\n onBlur: props.onBlur\n });\n }\n});","export default {\n height: 'calc(var(--n-option-height) * 7.6)',\n paddingTiny: '4px 0',\n paddingSmall: '4px 0',\n paddingMedium: '4px 0',\n paddingLarge: '4px 0',\n paddingHuge: '4px 0',\n optionPaddingTiny: '0 12px',\n optionPaddingSmall: '0 12px',\n optionPaddingMedium: '0 12px',\n optionPaddingLarge: '0 12px',\n optionPaddingHuge: '0 12px',\n loadingSize: '18px'\n};","import { createTheme } from \"../../../_mixins/index.mjs\";\nimport { commonLight } from \"../../../_styles/common/index.mjs\";\nimport { emptyLight } from \"../../../empty/styles/index.mjs\";\nimport { scrollbarLight } from \"../../scrollbar/styles/index.mjs\";\nimport commonVariables from \"./_common.mjs\";\nexport function self(vars) {\n const {\n borderRadius,\n popoverColor,\n textColor3,\n dividerColor,\n textColor2,\n primaryColorPressed,\n textColorDisabled,\n primaryColor,\n opacityDisabled,\n hoverColor,\n fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n fontSizeHuge,\n heightTiny,\n heightSmall,\n heightMedium,\n heightLarge,\n heightHuge\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n optionFontSizeTiny: fontSizeTiny,\n optionFontSizeSmall: fontSizeSmall,\n optionFontSizeMedium: fontSizeMedium,\n optionFontSizeLarge: fontSizeLarge,\n optionFontSizeHuge: fontSizeHuge,\n optionHeightTiny: heightTiny,\n optionHeightSmall: heightSmall,\n optionHeightMedium: heightMedium,\n optionHeightLarge: heightLarge,\n optionHeightHuge: heightHuge,\n borderRadius,\n color: popoverColor,\n groupHeaderTextColor: textColor3,\n actionDividerColor: dividerColor,\n optionTextColor: textColor2,\n optionTextColorPressed: primaryColorPressed,\n optionTextColorDisabled: textColorDisabled,\n optionTextColorActive: primaryColor,\n optionOpacityDisabled: opacityDisabled,\n optionCheckColor: primaryColor,\n optionColorPending: hoverColor,\n optionColorActive: 'rgba(0, 0, 0, 0)',\n optionColorActivePending: hoverColor,\n actionTextColor: textColor2,\n loadingColor: primaryColor\n });\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;","import { defineComponent, h, inject } from 'vue';\nimport { render } from \"../../../_utils/index.mjs\";\nimport { internalSelectionMenuInjectionKey } from \"./interface.mjs\";\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 {\n renderLabelRef,\n renderOptionRef,\n labelFieldRef,\n nodePropsRef\n } = inject(internalSelectionMenuInjectionKey);\n return {\n labelField: labelFieldRef,\n nodeProps: nodePropsRef,\n renderLabel: renderLabelRef,\n renderOption: renderOptionRef\n };\n },\n render() {\n const {\n clsPrefix,\n renderLabel,\n renderOption,\n nodeProps,\n tmNode: {\n rawNode\n }\n } = this;\n const attrs = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const children = renderLabel ? renderLabel(rawNode, false) : render(rawNode[this.labelField], rawNode, false);\n const node = h(\"div\", Object.assign({}, attrs, {\n class: [`${clsPrefix}-base-select-group-header`, attrs === null || attrs === void 0 ? void 0 : attrs.class]\n }), children);\n return rawNode.render ? rawNode.render({\n node,\n option: rawNode\n }) : renderOption ? renderOption({\n node,\n option: rawNode,\n selected: false\n }) : node;\n }\n});","import { useMemo } from 'vooks';\nimport { defineComponent, h, inject, Transition } from 'vue';\nimport { mergeEventHandlers, render } from \"../../../_utils/index.mjs\";\nimport { NBaseIcon } from \"../../icon/index.mjs\";\nimport { CheckmarkIcon } from \"../../icons/index.mjs\";\nimport { internalSelectionMenuInjectionKey } from \"./interface.mjs\";\nfunction renderCheckMark(show, clsPrefix) {\n return h(Transition, {\n name: \"fade-in-scale-up-transition\"\n }, {\n default: () => show ? h(NBaseIcon, {\n clsPrefix: clsPrefix,\n class: `${clsPrefix}-base-select-option__check`\n }, {\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 {\n valueRef,\n pendingTmNodeRef,\n multipleRef,\n valueSetRef,\n renderLabelRef,\n renderOptionRef,\n labelFieldRef,\n valueFieldRef,\n showCheckmarkRef,\n nodePropsRef,\n handleOptionClick,\n handleOptionMouseEnter\n } = inject(internalSelectionMenuInjectionKey);\n const isPendingRef = useMemo(() => {\n const {\n value: pendingTmNode\n } = pendingTmNodeRef;\n if (!pendingTmNode) return false;\n return props.tmNode.key === pendingTmNode.key;\n });\n function handleClick(e) {\n const {\n tmNode\n } = props;\n if (tmNode.disabled) return;\n handleOptionClick(e, tmNode);\n }\n function handleMouseEnter(e) {\n const {\n tmNode\n } = props;\n if (tmNode.disabled) return;\n handleOptionMouseEnter(e, tmNode);\n }\n function handleMouseMove(e) {\n const {\n tmNode\n } = props;\n const {\n value: isPending\n } = isPendingRef;\n if (tmNode.disabled || isPending) return;\n handleOptionMouseEnter(e, tmNode);\n }\n return {\n multiple: multipleRef,\n isGrouped: useMemo(() => {\n const {\n tmNode\n } = props;\n const {\n parent\n } = tmNode;\n return parent && parent.rawNode.type === 'group';\n }),\n showCheckmark: showCheckmarkRef,\n nodeProps: nodePropsRef,\n isPending: isPendingRef,\n isSelected: useMemo(() => {\n const {\n value\n } = valueRef;\n const {\n value: multiple\n } = multipleRef;\n if (value === null) return false;\n const optionValue = props.tmNode.rawNode[valueFieldRef.value];\n if (multiple) {\n const {\n value: valueSet\n } = valueSetRef;\n return valueSet.has(optionValue);\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 {\n clsPrefix,\n tmNode: {\n rawNode\n },\n isSelected,\n isPending,\n isGrouped,\n showCheckmark,\n nodeProps,\n renderOption,\n renderLabel,\n handleClick,\n handleMouseEnter,\n handleMouseMove\n } = this;\n const checkmark = renderCheckMark(isSelected, clsPrefix);\n const children = renderLabel ? [renderLabel(rawNode, isSelected), showCheckmark && checkmark] : [render(rawNode[this.labelField], rawNode, isSelected), showCheckmark && checkmark];\n const attrs = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const node = h(\"div\", Object.assign({}, attrs, {\n class: [`${clsPrefix}-base-select-option`, rawNode.class, attrs === null || attrs === void 0 ? void 0 : attrs.class, {\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 || ''],\n onClick: mergeEventHandlers([handleClick, attrs === null || attrs === void 0 ? void 0 : attrs.onClick]),\n onMouseenter: mergeEventHandlers([handleMouseEnter, 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\", {\n class: `${clsPrefix}-base-select-option__content`\n }, children));\n return rawNode.render ? rawNode.render({\n node,\n option: rawNode,\n selected: isSelected\n }) : renderOption ? renderOption({\n node,\n option: rawNode,\n selected: isSelected\n }) : node;\n }\n});","import { fadeInScaleUpTransition } from \"../../../../_styles/transitions/fade-in-scale-up.cssr.mjs\";\nimport { c, cB, cE, cM, cNotM } from \"../../../../_utils/cssr/index.mjs\";\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 { depx, getPadding, happensIn } from 'seemly';\nimport { createIndexGetter } from 'treemate';\nimport { computed, defineComponent, h, nextTick, onBeforeUnmount, onMounted, provide, ref, toRef, watch } from 'vue';\nimport { VirtualList } from 'vueuc';\nimport { useConfig, useRtl, useTheme, useThemeClass } from \"../../../_mixins/index.mjs\";\nimport { resolveSlot, resolveWrappedSlot, useOnResize } from \"../../../_utils/index.mjs\";\nimport { createKey } from \"../../../_utils/cssr/index.mjs\";\nimport { NEmpty } from \"../../../empty/index.mjs\";\nimport NFocusDetector from \"../../focus-detector/index.mjs\";\nimport NInternalLoading from \"../../loading/index.mjs\";\nimport { NScrollbar } from \"../../scrollbar/index.mjs\";\nimport { internalSelectMenuLight } from \"../styles/index.mjs\";\nimport { internalSelectionMenuBodyInjectionKey, internalSelectionMenuInjectionKey } from \"./interface.mjs\";\nimport NSelectGroupHeader from \"./SelectGroupHeader.mjs\";\nimport NSelectOption from \"./SelectOption.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport default defineComponent({\n name: 'InternalSelectMenu',\n props: Object.assign(Object.assign({}, useTheme.props), {\n clsPrefix: {\n type: String,\n required: true\n },\n scrollable: {\n type: Boolean,\n default: true\n },\n treeMate: {\n type: Object,\n required: true\n },\n multiple: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n value: {\n type: [String, Number, Array],\n default: null\n },\n autoPending: Boolean,\n 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 },\n labelField: {\n type: String,\n default: 'label'\n },\n valueField: {\n type: String,\n default: 'value'\n },\n loading: Boolean,\n focusable: Boolean,\n renderLabel: Function,\n renderOption: Function,\n nodeProps: Function,\n showCheckmark: {\n type: Boolean,\n default: true\n },\n onMousedown: Function,\n onScroll: Function,\n onFocus: Function,\n onBlur: Function,\n onKeyup: Function,\n onKeydown: Function,\n onTabOut: Function,\n onMouseenter: Function,\n onMouseleave: Function,\n onResize: Function,\n resetMenuOnOptionsChange: {\n type: Boolean,\n default: true\n },\n inlineThemeDisabled: Boolean,\n // deprecated\n onToggle: Function\n }),\n setup(props) {\n const {\n mergedClsPrefixRef,\n mergedRtlRef\n } = useConfig(props);\n const rtlEnabledRef = useRtl('InternalSelectMenu', mergedRtlRef, mergedClsPrefixRef);\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 {\n treeMate\n } = props;\n let defaultPendingNode = null;\n const {\n value\n } = props;\n if (value === null) {\n defaultPendingNode = treeMate.getFirstAvailableNode();\n } else {\n if (props.multiple) {\n defaultPendingNode = treeMate.getNode((value || [])[(value || []).length - 1]);\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 } else {\n setPendingTmNode(null);\n }\n }\n function clearPendingNodeIfInvalid() {\n const {\n value: pendingNode\n } = 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 } else {\n clearPendingNodeIfInvalid();\n }\n void nextTick(scrollToPendingNode);\n } else {\n clearPendingNodeIfInvalid();\n }\n }, {\n immediate: true\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 {\n onToggle\n } = props;\n if (onToggle) onToggle(tmNode);\n }\n function doScroll(e) {\n const {\n onScroll\n } = props;\n if (onScroll) 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 {\n value: pendingTmNode\n } = pendingNodeRef;\n if (pendingTmNode) return pendingTmNode;\n return null;\n }\n function handleOptionMouseEnter(e, tmNode) {\n if (tmNode.disabled) return;\n setPendingTmNode(tmNode, false);\n }\n function handleOptionClick(e, tmNode) {\n if (tmNode.disabled) return;\n doToggle(tmNode);\n }\n // keyboard related methods\n function handleKeyUp(e) {\n var _a;\n if (happensIn(e, 'action')) 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')) 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) return;\n e.preventDefault();\n }\n function next() {\n const {\n value: pendingTmNode\n } = pendingNodeRef;\n if (pendingTmNode) {\n setPendingTmNode(pendingTmNode.getNext({\n loop: true\n }), true);\n }\n }\n function prev() {\n const {\n value: pendingTmNode\n } = pendingNodeRef;\n if (pendingTmNode) {\n setPendingTmNode(pendingTmNode.getPrev({\n loop: true\n }), true);\n }\n }\n function setPendingTmNode(tmNode, doScroll = false) {\n pendingNodeRef.value = tmNode;\n if (doScroll) scrollToPendingNode();\n }\n function scrollToPendingNode() {\n var _a, _b;\n const tmNode = pendingNodeRef.value;\n if (!tmNode) return;\n const fIndex = fIndexGetterRef.value(tmNode.key);\n if (fIndex === null) return;\n if (props.virtualScroll) {\n (_a = virtualListRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo({\n 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 {\n value\n } = scrollbarRef;\n if (value) value.sync();\n });\n const cssVarsRef = computed(() => {\n const {\n size\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self: {\n height,\n borderRadius,\n color,\n groupHeaderTextColor,\n actionDividerColor,\n optionTextColorPressed,\n optionTextColor,\n optionTextColorDisabled,\n optionTextColorActive,\n optionOpacityDisabled,\n optionCheckColor,\n actionTextColor,\n optionColorPending,\n optionColorActive,\n loadingColor,\n loadingSize,\n optionColorActivePending,\n [createKey('optionFontSize', size)]: fontSize,\n [createKey('optionHeight', size)]: optionHeight,\n [createKey('optionPadding', size)]: optionPadding\n }\n } = 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 {\n inlineThemeDisabled\n } = props;\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('internal-select-menu', computed(() => props.size[0]), cssVarsRef, props) : undefined;\n const exposedProps = {\n selfRef,\n next,\n prev,\n getPendingTmNode\n };\n useOnResize(selfRef, props.onResize);\n return Object.assign({\n mergedTheme: themeRef,\n mergedClsPrefix: mergedClsPrefixRef,\n rtlEnabled: rtlEnabledRef,\n virtualListRef,\n scrollbarRef,\n itemSize: itemSizeRef,\n padding: paddingRef,\n flattenedNodes: flattenedNodesRef,\n empty: emptyRef,\n virtualListContainer() {\n const {\n value\n } = virtualListRef;\n return value === null || value === void 0 ? void 0 : value.listElRef;\n },\n virtualListContent() {\n const {\n value\n } = 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,\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 }, exposedProps);\n },\n render() {\n const {\n $slots,\n virtualScroll,\n clsPrefix,\n mergedTheme,\n themeClass,\n onRender\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n return h(\"div\", {\n ref: \"selfRef\",\n tabindex: this.focusable ? 0 : -1,\n class: [`${clsPrefix}-base-select-menu`, this.rtlEnabled && `${clsPrefix}-base-select-menu--rtl`, themeClass, this.multiple && `${clsPrefix}-base-select-menu--multiple`],\n style: this.cssVars,\n onFocusin: this.handleFocusin,\n onFocusout: this.handleFocusout,\n onKeyup: this.handleKeyUp,\n onKeydown: this.handleKeyDown,\n onMousedown: this.handleMouseDown,\n onMouseenter: this.onMouseenter,\n onMouseleave: this.onMouseleave\n }, resolveWrappedSlot($slots.header, children => children && h(\"div\", {\n class: `${clsPrefix}-base-select-menu__header`,\n \"data-header\": true,\n key: \"header\"\n }, children)), this.loading ? h(\"div\", {\n class: `${clsPrefix}-base-select-menu__loading`\n }, h(NInternalLoading, {\n clsPrefix: clsPrefix,\n strokeWidth: 20\n })) : !this.empty ? h(NScrollbar, {\n ref: \"scrollbarRef\",\n theme: mergedTheme.peers.Scrollbar,\n themeOverrides: mergedTheme.peerOverrides.Scrollbar,\n scrollable: this.scrollable,\n container: virtualScroll ? this.virtualListContainer : undefined,\n content: virtualScroll ? this.virtualListContent : undefined,\n onScroll: virtualScroll ? undefined : this.doScroll\n }, {\n default: () => {\n return virtualScroll ? h(VirtualList, {\n ref: \"virtualListRef\",\n class: `${clsPrefix}-virtual-list`,\n items: this.flattenedNodes,\n itemSize: this.itemSize,\n showScrollbar: false,\n paddingTop: this.padding.top,\n paddingBottom: this.padding.bottom,\n onResize: this.handleVirtualListResize,\n onScroll: this.handleVirtualListScroll,\n itemResizable: true\n }, {\n default: ({\n item: tmNode\n }) => {\n return tmNode.isGroup ? h(NSelectGroupHeader, {\n key: tmNode.key,\n clsPrefix: clsPrefix,\n tmNode: tmNode\n }) : tmNode.ignored ? null : h(NSelectOption, {\n clsPrefix: clsPrefix,\n key: tmNode.key,\n tmNode: tmNode\n });\n }\n }) : h(\"div\", {\n class: `${clsPrefix}-base-select-menu-option-wrapper`,\n style: {\n paddingTop: this.padding.top,\n paddingBottom: this.padding.bottom\n }\n }, this.flattenedNodes.map(tmNode => tmNode.isGroup ? h(NSelectGroupHeader, {\n key: tmNode.key,\n clsPrefix: clsPrefix,\n tmNode: tmNode\n }) : h(NSelectOption, {\n clsPrefix: clsPrefix,\n key: tmNode.key,\n tmNode: tmNode\n })));\n }\n }) : h(\"div\", {\n class: `${clsPrefix}-base-select-menu__empty`,\n \"data-empty\": true\n }, resolveSlot($slots.empty, () => [h(NEmpty, {\n theme: mergedTheme.peers.Empty,\n themeOverrides: mergedTheme.peerOverrides.Empty,\n size: this.size\n })])), resolveWrappedSlot($slots.action, children => children && [h(\"div\", {\n class: `${clsPrefix}-base-select-menu__action`,\n \"data-action\": true,\n key: \"action\"\n }, children), h(NFocusDetector, {\n onFocus: this.onTabOut,\n key: \"focus-detector\"\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};","import { changeColor } from 'seemly';\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport commonVariables from \"./_common.mjs\";\nfunction self(vars) {\n const {\n textColor2,\n primaryColorHover,\n primaryColorPressed,\n primaryColor,\n infoColor,\n successColor,\n warningColor,\n errorColor,\n baseColor,\n borderColor,\n opacityDisabled,\n tagColor,\n closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n borderRadiusSmall: borderRadius,\n fontSizeMini,\n fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n heightMini,\n heightTiny,\n heightSmall,\n heightMedium,\n closeColorHover,\n closeColorPressed,\n buttonColor2Hover,\n buttonColor2Pressed,\n fontWeightStrong\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n closeBorderRadius: borderRadius,\n heightTiny: heightMini,\n heightSmall: heightTiny,\n heightMedium: heightSmall,\n heightLarge: heightMedium,\n borderRadius,\n opacityDisabled,\n fontSizeTiny: fontSizeMini,\n fontSizeSmall: fontSizeTiny,\n fontSizeMedium: fontSizeSmall,\n fontSizeLarge: fontSizeMedium,\n fontWeightStrong,\n // checked\n textColorCheckable: textColor2,\n textColorHoverCheckable: textColor2,\n textColorPressedCheckable: textColor2,\n textColorChecked: baseColor,\n colorCheckable: '#0000',\n colorHoverCheckable: buttonColor2Hover,\n colorPressedCheckable: buttonColor2Pressed,\n colorChecked: primaryColor,\n colorCheckedHover: primaryColorHover,\n colorCheckedPressed: primaryColorPressed,\n // default\n border: `1px solid ${borderColor}`,\n textColor: textColor2,\n color: tagColor,\n colorBordered: 'rgb(250, 250, 252)',\n closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n closeColorHover,\n closeColorPressed,\n borderPrimary: `1px solid ${changeColor(primaryColor, {\n alpha: 0.3\n })}`,\n textColorPrimary: primaryColor,\n colorPrimary: changeColor(primaryColor, {\n alpha: 0.12\n }),\n colorBorderedPrimary: changeColor(primaryColor, {\n alpha: 0.1\n }),\n closeIconColorPrimary: primaryColor,\n closeIconColorHoverPrimary: primaryColor,\n closeIconColorPressedPrimary: primaryColor,\n closeColorHoverPrimary: changeColor(primaryColor, {\n alpha: 0.12\n }),\n closeColorPressedPrimary: changeColor(primaryColor, {\n alpha: 0.18\n }),\n borderInfo: `1px solid ${changeColor(infoColor, {\n alpha: 0.3\n })}`,\n textColorInfo: infoColor,\n colorInfo: changeColor(infoColor, {\n alpha: 0.12\n }),\n colorBorderedInfo: changeColor(infoColor, {\n alpha: 0.1\n }),\n closeIconColorInfo: infoColor,\n closeIconColorHoverInfo: infoColor,\n closeIconColorPressedInfo: infoColor,\n closeColorHoverInfo: changeColor(infoColor, {\n alpha: 0.12\n }),\n closeColorPressedInfo: changeColor(infoColor, {\n alpha: 0.18\n }),\n borderSuccess: `1px solid ${changeColor(successColor, {\n alpha: 0.3\n })}`,\n textColorSuccess: successColor,\n colorSuccess: changeColor(successColor, {\n alpha: 0.12\n }),\n colorBorderedSuccess: changeColor(successColor, {\n alpha: 0.1\n }),\n closeIconColorSuccess: successColor,\n closeIconColorHoverSuccess: successColor,\n closeIconColorPressedSuccess: successColor,\n closeColorHoverSuccess: changeColor(successColor, {\n alpha: 0.12\n }),\n closeColorPressedSuccess: changeColor(successColor, {\n alpha: 0.18\n }),\n borderWarning: `1px solid ${changeColor(warningColor, {\n alpha: 0.35\n })}`,\n textColorWarning: warningColor,\n colorWarning: changeColor(warningColor, {\n alpha: 0.15\n }),\n colorBorderedWarning: changeColor(warningColor, {\n alpha: 0.12\n }),\n closeIconColorWarning: warningColor,\n closeIconColorHoverWarning: warningColor,\n closeIconColorPressedWarning: warningColor,\n closeColorHoverWarning: changeColor(warningColor, {\n alpha: 0.12\n }),\n closeColorPressedWarning: changeColor(warningColor, {\n alpha: 0.18\n }),\n borderError: `1px solid ${changeColor(errorColor, {\n alpha: 0.23\n })}`,\n textColorError: errorColor,\n colorError: changeColor(errorColor, {\n alpha: 0.1\n }),\n colorBorderedError: changeColor(errorColor, {\n alpha: 0.08\n }),\n closeIconColorError: errorColor,\n closeIconColorHoverError: errorColor,\n closeIconColorPressedError: errorColor,\n closeColorHoverError: changeColor(errorColor, {\n alpha: 0.12\n }),\n closeColorPressedError: changeColor(errorColor, {\n alpha: 0.18\n })\n });\n}\nconst tagLight = {\n name: 'Tag',\n common: commonLight,\n self\n};\nexport default tagLight;","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};","import { c, cB, cE, cM, cNotM } from \"../../../_utils/cssr/index.mjs\";\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 --n-close-margin: var(--n-close-margin-top) var(--n-close-margin-right) var(--n-close-margin-bottom) var(--n-close-margin-left);\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 { getMargin } from 'seemly';\nimport { computed, defineComponent, h, provide, ref, toRef, watchEffect } from 'vue';\nimport { NBaseClose } from \"../../_internal/close/index.mjs\";\nimport { useConfig, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { useRtl } from \"../../_mixins/use-rtl.mjs\";\nimport { call, color2Class, createInjectionKey, createKey, resolveWrappedSlot, warnOnce } from \"../../_utils/index.mjs\";\nimport { tagLight } from \"../styles/index.mjs\";\nimport commonProps from \"./common-props.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport const tagProps = Object.assign(Object.assign(Object.assign({}, useTheme.props), commonProps), {\n bordered: {\n type: Boolean,\n default: undefined\n },\n checked: Boolean,\n checkable: Boolean,\n strong: Boolean,\n triggerClickOnClose: Boolean,\n onClose: [Array, Function],\n onMouseenter: Function,\n onMouseleave: Function,\n 'onUpdate:checked': Function,\n onUpdateChecked: Function,\n // private\n internalCloseFocusable: {\n type: Boolean,\n default: true\n },\n internalCloseIsButtonTag: {\n type: Boolean,\n default: true\n },\n // deprecated\n onCheckedChange: Function\n});\nexport const tagInjectionKey = createInjectionKey('n-tag');\nexport default defineComponent({\n name: 'Tag',\n props: tagProps,\n slots: Object,\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 {\n mergedBorderedRef,\n mergedClsPrefixRef,\n inlineThemeDisabled,\n mergedRtlRef\n } = useConfig(props);\n const themeRef = useTheme('Tag', '-tag', style, tagLight, props, mergedClsPrefixRef);\n provide(tagInjectionKey, {\n roundRef: toRef(props, 'round')\n });\n function handleClick() {\n if (!props.disabled) {\n if (props.checkable) {\n const {\n checked,\n onCheckedChange,\n onUpdateChecked,\n 'onUpdate:checked': _onUpdateChecked\n } = props;\n if (onUpdateChecked) onUpdateChecked(!checked);\n if (_onUpdateChecked) _onUpdateChecked(!checked);\n // deprecated\n if (onCheckedChange) onCheckedChange(!checked);\n }\n }\n }\n function handleCloseClick(e) {\n if (!props.triggerClickOnClose) {\n e.stopPropagation();\n }\n if (!props.disabled) {\n const {\n onClose\n } = props;\n if (onClose) call(onClose, e);\n }\n }\n const tagPublicMethods = {\n setTextContent(textContent) {\n const {\n value\n } = contentRef;\n if (value) value.textContent = textContent;\n }\n };\n const rtlEnabledRef = useRtl('Tag', mergedRtlRef, mergedClsPrefixRef);\n const cssVarsRef = computed(() => {\n const {\n type,\n size,\n color: {\n color,\n textColor\n } = {}\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self: {\n padding,\n closeMargin,\n borderRadius,\n opacityDisabled,\n textColorCheckable,\n textColorHoverCheckable,\n textColorPressedCheckable,\n textColorChecked,\n colorCheckable,\n colorHoverCheckable,\n colorPressedCheckable,\n colorChecked,\n colorCheckedHover,\n colorCheckedPressed,\n closeBorderRadius,\n fontWeightStrong,\n [createKey('colorBordered', type)]: colorBordered,\n [createKey('closeSize', size)]: closeSize,\n [createKey('closeIconSize', size)]: closeIconSize,\n [createKey('fontSize', size)]: fontSize,\n [createKey('height', size)]: height,\n [createKey('color', type)]: typedColor,\n [createKey('textColor', type)]: typeTextColor,\n [createKey('border', type)]: border,\n [createKey('closeIconColor', type)]: closeIconColor,\n [createKey('closeIconColorHover', type)]: closeIconColorHover,\n [createKey('closeIconColorPressed', type)]: closeIconColorPressed,\n [createKey('closeColorHover', type)]: closeColorHover,\n [createKey('closeColorPressed', type)]: closeColorPressed\n }\n } = themeRef.value;\n const closeMarginDiscrete = getMargin(closeMargin);\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-top': closeMarginDiscrete.top,\n '--n-close-margin-right': closeMarginDiscrete.right,\n '--n-close-margin-bottom': closeMarginDiscrete.bottom,\n '--n-close-margin-left': closeMarginDiscrete.left,\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 ? useThemeClass('tag', computed(() => {\n let hash = '';\n const {\n type,\n size,\n color: {\n color,\n textColor\n } = {}\n } = 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) : undefined;\n return Object.assign(Object.assign({}, tagPublicMethods), {\n rtlEnabled: rtlEnabledRef,\n mergedClsPrefix: mergedClsPrefixRef,\n contentRef,\n mergedBordered: mergedBorderedRef,\n handleClick,\n handleCloseClick,\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, _b;\n const {\n mergedClsPrefix,\n rtlEnabled,\n closable,\n color: {\n borderColor\n } = {},\n round,\n onRender,\n $slots\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const avatarNode = resolveWrappedSlot($slots.avatar, children => children && h(\"div\", {\n class: `${mergedClsPrefix}-tag__avatar`\n }, children));\n const iconNode = resolveWrappedSlot($slots.icon, children => children && h(\"div\", {\n class: `${mergedClsPrefix}-tag__icon`\n }, children));\n return h(\"div\", {\n class: [`${mergedClsPrefix}-tag`, this.themeClass, {\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,\n onClick: this.handleClick,\n onMouseenter: this.onMouseenter,\n onMouseleave: this.onMouseleave\n }, iconNode || avatarNode, h(\"span\", {\n class: `${mergedClsPrefix}-tag__content`,\n ref: \"contentRef\"\n }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)), !this.checkable && closable ? h(NBaseClose, {\n clsPrefix: mergedClsPrefix,\n class: `${mergedClsPrefix}-tag__close`,\n disabled: this.disabled,\n onClick: this.handleCloseClick,\n focusable: this.internalCloseFocusable,\n round: round,\n isButtonTag: this.internalCloseIsButtonTag,\n absolute: true\n }) : null, !this.checkable && this.mergedBordered ? h(\"div\", {\n class: `${mergedClsPrefix}-tag__border`,\n style: {\n borderColor\n }\n }) : null);\n }\n});","export default {\n paddingSingle: '0 26px 0 12px',\n paddingMultiple: '3px 26px 0 12px',\n clearSize: '16px',\n arrowSize: '16px'\n};","import { changeColor } from 'seemly';\nimport { createTheme } from \"../../../_mixins/index.mjs\";\nimport { commonLight } from \"../../../_styles/common/index.mjs\";\nimport { popoverLight } from \"../../../popover/styles/index.mjs\";\nimport commonVariables from \"./_common.mjs\";\nfunction self(vars) {\n const {\n borderRadius,\n textColor2,\n textColorDisabled,\n inputColor,\n inputColorDisabled,\n primaryColor,\n primaryColorHover,\n warningColor,\n warningColorHover,\n errorColor,\n errorColorHover,\n borderColor,\n iconColor,\n iconColorDisabled,\n clearColor,\n clearColorHover,\n clearColorPressed,\n placeholderColor,\n placeholderColorDisabled,\n fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n heightTiny,\n heightSmall,\n heightMedium,\n heightLarge,\n fontWeight\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n heightTiny,\n heightSmall,\n heightMedium,\n heightLarge,\n borderRadius,\n fontWeight,\n // default\n textColor: textColor2,\n textColorDisabled,\n placeholderColor,\n placeholderColorDisabled,\n color: inputColor,\n colorDisabled: inputColorDisabled,\n colorActive: inputColor,\n border: `1px solid ${borderColor}`,\n borderHover: `1px solid ${primaryColorHover}`,\n borderActive: `1px solid ${primaryColor}`,\n borderFocus: `1px solid ${primaryColorHover}`,\n boxShadowHover: 'none',\n boxShadowActive: `0 0 0 2px ${changeColor(primaryColor, {\n alpha: 0.2\n })}`,\n boxShadowFocus: `0 0 0 2px ${changeColor(primaryColor, {\n alpha: 0.2\n })}`,\n caretColor: primaryColor,\n arrowColor: iconColor,\n arrowColorDisabled: iconColorDisabled,\n loadingColor: primaryColor,\n // warning\n borderWarning: `1px solid ${warningColor}`,\n borderHoverWarning: `1px solid ${warningColorHover}`,\n borderActiveWarning: `1px solid ${warningColor}`,\n borderFocusWarning: `1px solid ${warningColorHover}`,\n boxShadowHoverWarning: 'none',\n boxShadowActiveWarning: `0 0 0 2px ${changeColor(warningColor, {\n alpha: 0.2\n })}`,\n boxShadowFocusWarning: `0 0 0 2px ${changeColor(warningColor, {\n alpha: 0.2\n })}`,\n colorActiveWarning: inputColor,\n caretColorWarning: warningColor,\n // error\n borderError: `1px solid ${errorColor}`,\n borderHoverError: `1px solid ${errorColorHover}`,\n borderActiveError: `1px solid ${errorColor}`,\n borderFocusError: `1px solid ${errorColorHover}`,\n boxShadowHoverError: 'none',\n boxShadowActiveError: `0 0 0 2px ${changeColor(errorColor, {\n alpha: 0.2\n })}`,\n boxShadowFocusError: `0 0 0 2px ${changeColor(errorColor, {\n alpha: 0.2\n })}`,\n colorActiveError: inputColor,\n caretColorError: errorColor,\n clearColor,\n clearColorHover,\n clearColorPressed\n });\n}\nconst internalSelectionLight = createTheme({\n name: 'InternalSelection',\n common: commonLight,\n peers: {\n Popover: popoverLight\n },\n self\n});\nexport default internalSelectionLight;","import { c, cB, cE, cM, cNotM } from \"../../../../_utils/cssr/index.mjs\";\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// --n-font-weight\n// ...clear vars\n// ...form item vars\nexport default c([cB('base-selection', `\n --n-padding-single: var(--n-padding-single-top) var(--n-padding-single-right) var(--n-padding-single-bottom) var(--n-padding-single-left);\n --n-padding-multiple: var(--n-padding-multiple-top) var(--n-padding-multiple-right) var(--n-padding-multiple-bottom) var(--n-padding-multiple-left);\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 `)])])]);","import { getPadding } from 'seemly';\nimport { computed, defineComponent, Fragment, h, nextTick, onMounted, ref, toRef, watch, watchEffect } from 'vue';\nimport { VOverflow } from 'vueuc';\nimport { useConfig, useRtl, useTheme, useThemeClass } from \"../../../_mixins/index.mjs\";\nimport { createKey, getTitleAttribute, render, useOnResize, Wrapper } from \"../../../_utils/index.mjs\";\nimport { NPopover } from \"../../../popover/index.mjs\";\nimport { NTag } from \"../../../tag/index.mjs\";\nimport Suffix from \"../../suffix/index.mjs\";\nimport { internalSelectionLight } from \"../styles/index.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport default defineComponent({\n name: 'InternalSelection',\n props: Object.assign(Object.assign({}, useTheme.props), {\n clsPrefix: {\n type: String,\n required: true\n },\n bordered: {\n type: Boolean,\n default: undefined\n },\n active: Boolean,\n pattern: {\n type: String,\n default: ''\n },\n placeholder: String,\n selectedOption: {\n type: Object,\n default: null\n },\n selectedOptions: {\n type: Array,\n default: null\n },\n labelField: {\n type: String,\n default: 'label'\n },\n valueField: {\n type: String,\n default: 'value'\n },\n multiple: Boolean,\n filterable: Boolean,\n clearable: Boolean,\n disabled: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n loading: Boolean,\n autofocus: Boolean,\n showArrow: {\n type: Boolean,\n default: true\n },\n inputProps: Object,\n focused: Boolean,\n renderTag: Function,\n onKeydown: Function,\n onClick: Function,\n onBlur: Function,\n onFocus: Function,\n onDeleteOption: Function,\n maxTagCount: [String, Number],\n ellipsisTagPopoverProps: Object,\n onClear: Function,\n onPatternInput: Function,\n onPatternFocus: Function,\n onPatternBlur: Function,\n renderLabel: Function,\n status: String,\n inlineThemeDisabled: Boolean,\n ignoreComposition: {\n type: Boolean,\n default: true\n },\n onResize: Function\n }),\n setup(props) {\n const {\n mergedClsPrefixRef,\n mergedRtlRef\n } = useConfig(props);\n const rtlEnabledRef = useRtl('InternalSelection', mergedRtlRef, mergedClsPrefixRef);\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 ? props.renderTag ? props.renderTag({\n option: props.selectedOption,\n handleClose: () => {}\n }) : props.renderLabel ? props.renderLabel(props.selectedOption, true) : render(props.selectedOption[props.labelField], props.selectedOption, true) : props.placeholder;\n });\n const labelRef = computed(() => {\n const option = props.selectedOption;\n if (!option) 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 } else {\n return props.selectedOption !== null;\n }\n });\n function syncMirrorWidth() {\n var _a;\n const {\n value: patternInputMirrorEl\n } = patternInputMirrorRef;\n if (patternInputMirrorEl) {\n const {\n value: patternInputEl\n } = 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 {\n value: inputTagEl\n } = inputTagElRef;\n if (inputTagEl) inputTagEl.style.display = 'none';\n }\n function showInputTag() {\n const {\n value: inputTagEl\n } = inputTagElRef;\n if (inputTagEl) inputTagEl.style.display = 'inline-block';\n }\n watch(toRef(props, 'active'), value => {\n if (!value) hideInputTag();\n });\n watch(toRef(props, 'pattern'), () => {\n if (props.multiple) {\n void nextTick(syncMirrorWidth);\n }\n });\n function doFocus(e) {\n const {\n onFocus\n } = props;\n if (onFocus) onFocus(e);\n }\n function doBlur(e) {\n const {\n onBlur\n } = props;\n if (onBlur) onBlur(e);\n }\n function doDeleteOption(value) {\n const {\n onDeleteOption\n } = props;\n if (onDeleteOption) onDeleteOption(value);\n }\n function doClear(e) {\n const {\n onClear\n } = props;\n if (onClear) onClear(e);\n }\n function doPatternInput(value) {\n const {\n onPatternInput\n } = props;\n if (onPatternInput) onPatternInput(value);\n }\n function handleFocusin(e) {\n var _a;\n if (!e.relatedTarget || !((_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)) 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) return;\n if (e.target === patternInputRef.value) return;\n e.preventDefault();\n }\n function handleDeleteOption(option) {\n doDeleteOption(option);\n }\n const isComposingRef = ref(false);\n function handlePatternKeyDown(e) {\n if (e.key === 'Backspace' && !isComposingRef.value) {\n if (!props.pattern.length) {\n const {\n selectedOptions\n } = props;\n if (selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.length) {\n handleDeleteOption(selectedOptions[selectedOptions.length - 1]);\n }\n }\n }\n }\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 {\n value: patternInputMirrorEl\n } = 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 } else {\n cachedInputEvent = e;\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 } else if (props.multiple) {\n const {\n value: multipleEl\n } = multipleElRef;\n multipleEl === null || multipleEl === void 0 ? void 0 : multipleEl.blur();\n } else {\n const {\n value: singleEl\n } = 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 } else if (props.multiple) {\n (_b = multipleElRef.value) === null || _b === void 0 ? void 0 : _b.focus();\n } else {\n (_c = singleElRef.value) === null || _c === void 0 ? void 0 : _c.focus();\n }\n }\n function focusInput() {\n const {\n value: patternInputEl\n } = patternInputRef;\n if (patternInputEl) {\n showInputTag();\n patternInputEl.focus();\n }\n }\n function blurInput() {\n const {\n value: patternInputEl\n } = patternInputRef;\n if (patternInputEl) {\n patternInputEl.blur();\n }\n }\n function updateCounter(count) {\n const {\n value\n } = counterRef;\n if (value) {\n value.setTextContent(`+${count}`);\n }\n }\n function getCounter() {\n const {\n value\n } = counterWrapperRef;\n return value;\n }\n function getTail() {\n return patternInputRef.value;\n }\n let enterTimerId = null;\n function clearEnterTimer() {\n if (enterTimerId !== null) window.clearTimeout(enterTimerId);\n }\n function handleMouseEnterCounter() {\n if (props.active) 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) return;\n if (props.disabled) {\n patternInputWrapperEl.removeAttribute('tabindex');\n } else {\n patternInputWrapperEl.tabIndex = patternInputFocusedRef.value ? -1 : 0;\n }\n });\n });\n useOnResize(selfRef, props.onResize);\n const {\n inlineThemeDisabled\n } = props;\n const cssVarsRef = computed(() => {\n const {\n size\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self: {\n fontWeight,\n borderRadius,\n color,\n placeholderColor,\n textColor,\n paddingSingle,\n paddingMultiple,\n caretColor,\n colorDisabled,\n textColorDisabled,\n placeholderColorDisabled,\n colorActive,\n boxShadowFocus,\n boxShadowActive,\n boxShadowHover,\n border,\n borderFocus,\n borderHover,\n borderActive,\n arrowColor,\n arrowColorDisabled,\n loadingColor,\n // form warning\n colorActiveWarning,\n boxShadowFocusWarning,\n boxShadowActiveWarning,\n boxShadowHoverWarning,\n borderWarning,\n borderFocusWarning,\n borderHoverWarning,\n borderActiveWarning,\n // form error\n colorActiveError,\n boxShadowFocusError,\n boxShadowActiveError,\n boxShadowHoverError,\n borderError,\n borderFocusError,\n borderHoverError,\n borderActiveError,\n // clear\n clearColor,\n clearColorHover,\n clearColorPressed,\n clearSize,\n // arrow\n arrowSize,\n [createKey('height', size)]: height,\n [createKey('fontSize', size)]: fontSize\n }\n } = themeRef.value;\n const paddingSingleDiscrete = getPadding(paddingSingle);\n const paddingMultipleDiscrete = getPadding(paddingMultiple);\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-top': paddingSingleDiscrete.top,\n '--n-padding-multiple-top': paddingMultipleDiscrete.top,\n '--n-padding-single-right': paddingSingleDiscrete.right,\n '--n-padding-multiple-right': paddingMultipleDiscrete.right,\n '--n-padding-single-left': paddingSingleDiscrete.left,\n '--n-padding-multiple-left': paddingMultipleDiscrete.left,\n '--n-padding-single-bottom': paddingSingleDiscrete.bottom,\n '--n-padding-multiple-bottom': paddingMultipleDiscrete.bottom,\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 // font-weight\n '--n-font-weight': fontWeight\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('internal-selection', computed(() => {\n return props.size[0];\n }), cssVarsRef, props) : undefined;\n return {\n mergedTheme: themeRef,\n mergedClearable: mergedClearableRef,\n mergedClsPrefix: mergedClsPrefixRef,\n rtlEnabled: rtlEnabledRef,\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 {\n status,\n multiple,\n size,\n disabled,\n filterable,\n maxTagCount,\n bordered,\n clsPrefix,\n ellipsisTagPopoverProps,\n onRender,\n renderTag,\n renderLabel\n } = 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, {\n clsPrefix: clsPrefix,\n loading: this.loading,\n showArrow: this.showArrow,\n showClear: this.mergedClearable && this.selected,\n onClear: this.handleClear\n }, {\n default: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n })\n });\n let body;\n if (multiple) {\n const {\n labelField\n } = this;\n const createTag = option => h(\"div\", {\n class: `${clsPrefix}-base-selection-tag-wrapper`,\n key: option.value\n }, renderTag ? renderTag({\n option,\n handleClose: () => {\n this.handleDeleteOption(option);\n }\n }) : h(NTag, {\n size: size,\n closable: !option.disabled,\n disabled: disabled,\n onClose: () => {\n this.handleDeleteOption(option);\n },\n internalCloseIsButtonTag: false,\n internalCloseFocusable: false\n }, {\n default: () => renderLabel ? renderLabel(option, true) : render(option[labelField], option, true)\n }));\n const createOriginalTagNodes = () => (maxTagCountNumeric ? this.selectedOptions.slice(0, maxTagCount) : this.selectedOptions).map(createTag);\n const input = filterable ? h(\"div\", {\n class: `${clsPrefix}-base-selection-input-tag`,\n ref: \"inputTagElRef\",\n key: \"__input-tag__\"\n }, h(\"input\", Object.assign({}, this.inputProps, {\n ref: \"patternInputRef\",\n tabindex: -1,\n disabled: disabled,\n value: this.pattern,\n autofocus: this.autofocus,\n class: `${clsPrefix}-base-selection-input-tag__input`,\n onBlur: this.handlePatternInputBlur,\n onFocus: this.handlePatternInputFocus,\n onKeydown: this.handlePatternKeyDown,\n onInput: this.handlePatternInputInput,\n onCompositionstart: this.handleCompositionStart,\n onCompositionend: this.handleCompositionEnd\n })), h(\"span\", {\n ref: \"patternInputMirrorRef\",\n class: `${clsPrefix}-base-selection-input-tag__mirror`\n }, this.pattern)) : null;\n // May Overflow\n const renderCounter = maxTagCountResponsive ? () => h(\"div\", {\n class: `${clsPrefix}-base-selection-tag-wrapper`,\n ref: \"counterWrapperRef\"\n }, h(NTag, {\n size: size,\n ref: \"counterRef\",\n onMouseenter: this.handleMouseEnterCounter,\n onMouseleave: this.handleMouseLeaveCounter,\n 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\", {\n class: `${clsPrefix}-base-selection-tag-wrapper`,\n key: \"__counter__\"\n }, h(NTag, {\n size: size,\n ref: \"counterRef\",\n onMouseenter: this.handleMouseEnterCounter,\n disabled: disabled\n }, {\n default: () => `+${rest}`\n }));\n }\n }\n const tags = maxTagCountResponsive ? filterable ? h(VOverflow, {\n ref: \"overflowRef\",\n updateCounter: this.updateCounter,\n getCounter: this.getCounter,\n getTail: this.getTail,\n style: {\n width: '100%',\n display: 'flex',\n overflow: 'hidden'\n }\n }, {\n default: createOriginalTagNodes,\n counter: renderCounter,\n tail: () => input\n }) : h(VOverflow, {\n ref: \"overflowRef\",\n updateCounter: this.updateCounter,\n getCounter: this.getCounter,\n style: {\n width: '100%',\n display: 'flex',\n overflow: 'hidden'\n }\n }, {\n default: createOriginalTagNodes,\n counter: renderCounter\n }) : maxTagCountNumeric && counter ? createOriginalTagNodes().concat(counter) : createOriginalTagNodes();\n const renderPopover = useMaxTagCount ? () => h(\"div\", {\n class: `${clsPrefix}-base-selection-popover`\n }, maxTagCountResponsive ? createOriginalTagNodes() : this.selectedOptions.map(createTag)) : undefined;\n const popoverProps = useMaxTagCount ? Object.assign({\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 }, ellipsisTagPopoverProps) : null;\n const showPlaceholder = this.selected ? false : this.active ? !this.pattern && !this.isComposing : true;\n const placeholder = showPlaceholder ? h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder__inner`\n }, this.placeholder)) : null;\n const popoverTrigger = filterable ? h(\"div\", {\n ref: \"patternInputWrapperRef\",\n class: `${clsPrefix}-base-selection-tags`\n }, tags, maxTagCountResponsive ? null : input, suffix) : h(\"div\", {\n ref: \"multipleElRef\",\n class: `${clsPrefix}-base-selection-tags`,\n tabindex: disabled ? undefined : 0\n }, tags, suffix);\n body = h(Fragment, null, useMaxTagCount ? h(NPopover, Object.assign({}, popoverProps, {\n scrollable: true,\n style: \"max-height: calc(var(--v-target-height) * 6.6);\"\n }), {\n trigger: () => popoverTrigger,\n default: renderPopover\n }) : popoverTrigger, placeholder);\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\", {\n ref: \"patternInputWrapperRef\",\n class: `${clsPrefix}-base-selection-label`,\n title: this.patternInputFocused ? undefined : getTitleAttribute(this.label)\n }, h(\"input\", Object.assign({}, this.inputProps, {\n ref: \"patternInputRef\",\n class: `${clsPrefix}-base-selection-input`,\n value: this.active ? this.pattern : '',\n placeholder: \"\",\n readonly: disabled,\n disabled: disabled,\n tabindex: -1,\n autofocus: this.autofocus,\n onFocus: this.handlePatternInputFocus,\n onBlur: this.handlePatternInputBlur,\n onInput: this.handlePatternInputInput,\n onCompositionstart: this.handleCompositionStart,\n onCompositionend: this.handleCompositionEnd\n })), showSelectedLabel ? h(\"div\", {\n class: `${clsPrefix}-base-selection-label__render-label ${clsPrefix}-base-selection-overlay`,\n key: \"input\"\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-overlay__wrapper`\n }, renderTag ? renderTag({\n option: this.selectedOption,\n handleClose: () => {}\n }) : renderLabel ? renderLabel(this.selectedOption, true) : render(this.label, this.selectedOption, true))) : null, showPlaceholder ? h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`,\n key: \"placeholder\"\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-overlay__wrapper`\n }, this.filterablePlaceholder)) : null, suffix);\n } else {\n body = h(\"div\", {\n ref: \"singleElRef\",\n class: `${clsPrefix}-base-selection-label`,\n tabindex: this.disabled ? undefined : 0\n }, this.label !== undefined ? h(\"div\", {\n class: `${clsPrefix}-base-selection-input`,\n title: getTitleAttribute(this.label),\n key: \"input\"\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-input__content`\n }, renderTag ? renderTag({\n option: this.selectedOption,\n handleClose: () => {}\n }) : renderLabel ? renderLabel(this.selectedOption, true) : render(this.label, this.selectedOption, true))) : h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`,\n key: \"placeholder\"\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder__inner`\n }, this.placeholder)), suffix);\n }\n }\n return h(\"div\", {\n ref: \"selfRef\",\n class: [`${clsPrefix}-base-selection`, this.rtlEnabled && `${clsPrefix}-base-selection--rtl`, this.themeClass, status && `${clsPrefix}-base-selection--${status}-status`, {\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,\n onClick: this.onClick,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave,\n onKeydown: this.onKeydown,\n onFocusin: this.handleFocusin,\n onFocusout: this.handleFocusout,\n onMousedown: this.handleMouseDown\n }, body, bordered ? h(\"div\", {\n class: `${clsPrefix}-base-selection__border`\n }) : null, bordered ? h(\"div\", {\n class: `${clsPrefix}-base-selection__state-border`\n }) : null);\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 } catch (_a) {\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 || option.key || 'key-required';\n }\n // Required for non-custom label & value field\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) return originalOpts;\n function traverse(options) {\n if (!Array.isArray(options)) 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 } else if (getIgnored(option)) {\n continue;\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 } else {\n valOptMap.set(option[valueField], option);\n }\n });\n return valOptMap;\n}","import { internalSelectMenuLight } from \"../../_internal/select-menu/styles/index.mjs\";\nimport { createTheme } from \"../../_mixins/index.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport { popoverLight } from \"../../popover/styles/index.mjs\";\nexport function self(vars) {\n const {\n boxShadow2\n } = 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;","import { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const popselectInjectionKey = createInjectionKey('n-popselect');","import { cB } from \"../../../_utils/cssr/index.mjs\";\n// --n-menu-box-shadow\nexport default cB('popselect-menu', `\n box-shadow: var(--n-menu-box-shadow);\n`);","import { happensIn } from 'seemly';\nimport { createTreeMate } from 'treemate';\nimport { computed, defineComponent, h, inject, nextTick, toRef, watch, watchEffect } from 'vue';\nimport { NInternalSelectMenu } from \"../../_internal/index.mjs\";\nimport { useConfig, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { call, keysOf, warn } from \"../../_utils/index.mjs\";\nimport { createTmOptions } from \"../../select/src/utils.mjs\";\nimport { popselectLight } from \"../styles/index.mjs\";\nimport { popselectInjectionKey } from \"./interface.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\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 const NPopselect = inject(popselectInjectionKey);\n const {\n mergedClsPrefixRef,\n inlineThemeDisabled\n } = 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 {\n onUpdateValue,\n 'onUpdate:value': _onUpdateValue,\n onChange\n } = props;\n if (onUpdateValue) call(onUpdateValue, value, option);\n if (_onUpdateValue) {\n call(_onUpdateValue, value, option);\n }\n if (onChange) call(onChange, value, option);\n }\n function handleToggle(tmNode) {\n toggle(tmNode.key);\n }\n function handleMenuMousedown(e) {\n if (!happensIn(e, 'action') && !happensIn(e, 'empty') && !happensIn(e, 'header')) {\n e.preventDefault();\n }\n }\n function toggle(value) {\n const {\n value: {\n getNode\n }\n } = 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 } else {\n const tmNode = getNode(value);\n if (tmNode) {\n doUpdateValue([value], [tmNode.rawNode]);\n }\n }\n } else {\n if (props.value === value && props.cancelable) {\n doUpdateValue(null, null);\n } else {\n const tmNode = getNode(value);\n if (tmNode) {\n doUpdateValue(value, tmNode.rawNode);\n }\n const {\n 'onUpdate:show': _onUpdateShow,\n onUpdateShow\n } = NPopselect.props;\n if (_onUpdateShow) call(_onUpdateShow, false);\n if (onUpdateShow) 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 {\n self: {\n menuBoxShadow\n }\n } = themeRef.value;\n return {\n '--n-menu-box-shadow': menuBoxShadow\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('select', undefined, cssVarsRef, NPopselect.props) : 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, {\n clsPrefix: this.mergedClsPrefix,\n focusable: true,\n nodeProps: this.nodeProps,\n class: [`${this.mergedClsPrefix}-popselect-menu`, this.themeClass],\n style: this.cssVars,\n theme: this.mergedTheme.peers.InternalSelectMenu,\n themeOverrides: this.mergedTheme.peerOverrides.InternalSelectMenu,\n multiple: this.multiple,\n treeMate: this.treeMate,\n size: this.size,\n value: this.value,\n virtualScroll: this.virtualScroll,\n scrollable: this.scrollable,\n renderLabel: this.renderLabel,\n onToggle: this.handleToggle,\n onMouseenter: this.onMouseenter,\n onMouseleave: this.onMouseenter,\n onMousedown: this.handleMenuMousedown,\n showCheckmark: this.showCheckmark\n }, {\n header: () => {\n var _a, _b;\n return ((_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];\n },\n action: () => {\n var _a, _b;\n return ((_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];\n },\n empty: () => {\n var _a, _b;\n return ((_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];\n }\n });\n }\n});","import { defineComponent, h, provide, ref } from 'vue';\nimport { useConfig, useTheme } from \"../../_mixins/index.mjs\";\nimport { createRefSetter, keep, mergeEventHandlers, omit } from \"../../_utils/index.mjs\";\nimport { NPopover } from \"../../popover/index.mjs\";\nimport { popoverBaseProps } from \"../../popover/src/Popover.mjs\";\nimport { popselectLight } from \"../styles/index.mjs\";\nimport { popselectInjectionKey } from \"./interface.mjs\";\nimport NPopselectPanel, { panelPropKeys, panelProps } from \"./PopselectPanel.mjs\";\nexport const popselectProps = Object.assign(Object.assign(Object.assign(Object.assign({}, useTheme.props), omit(popoverBaseProps, ['showArrow', 'arrow'])), {\n placement: Object.assign(Object.assign({}, popoverBaseProps.placement), {\n default: 'bottom'\n }),\n trigger: {\n type: String,\n default: 'hover'\n }\n}), panelProps);\nexport default defineComponent({\n name: 'Popselect',\n props: popselectProps,\n slots: Object,\n inheritAttrs: false,\n __popover__: true,\n setup(props) {\n const {\n mergedClsPrefixRef\n } = 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), {\n popoverInstRef,\n mergedTheme: themeRef\n });\n },\n render() {\n const {\n mergedTheme\n } = 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 {\n $attrs\n } = this;\n return h(NPopselectPanel, Object.assign({}, $attrs, {\n class: [$attrs.class, className],\n style: [$attrs.style, ...style]\n }, keep(this.$props, panelPropKeys), {\n ref: createRefSetter(ref),\n onMouseenter: mergeEventHandlers([onMouseenter, $attrs.onMouseenter]),\n onMouseleave: mergeEventHandlers([onMouseleave, $attrs.onMouseleave])\n }), {\n header: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a);\n },\n action: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a);\n },\n empty: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n });\n }\n };\n return h(NPopover, Object.assign({}, omit(this.$props, panelPropKeys), popoverProps, {\n internalDeactivateImmediately: true\n }), {\n trigger: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n });\n }\n});","import { internalSelectMenuLight } from \"../../_internal/select-menu/styles/index.mjs\";\nimport { internalSelectionLight } from \"../../_internal/selection/styles/index.mjs\";\nimport { createTheme } from \"../../_mixins/index.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nexport function self(vars) {\n const {\n boxShadow2\n } = 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;","import { fadeInScaleUpTransition } from \"../../../_styles/transitions/fade-in-scale-up.cssr.mjs\";\nimport { c, cB } from \"../../../_utils/cssr/index.mjs\";\n// --n-menu-box-shadow\nexport default c([cB('select', `\n z-index: auto;\n outline: none;\n width: 100%;\n position: relative;\n font-weight: var(--n-font-weight);\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 { getPreciseEventTarget, happensIn } from 'seemly';\nimport { createTreeMate } from 'treemate';\nimport { clickoutside } from 'vdirs';\nimport { useCompitable, useIsMounted, useMergedState } from 'vooks';\nimport { computed, defineComponent, h, ref, toRef, Transition, vShow, watch, watchEffect, withDirectives } from 'vue';\nimport { VBinder, VFollower, VTarget } from 'vueuc';\nimport { NInternalSelection, NInternalSelectMenu } from \"../../_internal/index.mjs\";\nimport { useConfig, useFormItem, useLocale, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { call, markEventEffectPerformed, useAdjustedTo, warnOnce } from \"../../_utils/index.mjs\";\nimport { selectLight } from \"../styles/index.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nimport { createTmOptions, createValOptMap, filterOptions, patternMatched } from \"./utils.mjs\";\nexport const selectProps = Object.assign(Object.assign({}, useTheme.props), {\n to: useAdjustedTo.propTo,\n bordered: {\n type: Boolean,\n default: undefined\n },\n clearable: Boolean,\n clearFilterAfterSelect: {\n type: Boolean,\n default: true\n },\n options: {\n type: Array,\n default: () => []\n },\n defaultValue: {\n type: [String, Number, Array],\n default: null\n },\n keyboard: {\n type: Boolean,\n default: true\n },\n value: [String, Number, Array],\n placeholder: String,\n menuProps: Object,\n multiple: Boolean,\n size: String,\n menuSize: {\n type: String\n },\n filterable: Boolean,\n disabled: {\n type: Boolean,\n default: undefined\n },\n remote: Boolean,\n loading: Boolean,\n filter: Function,\n placement: {\n type: String,\n default: 'bottom-start'\n },\n widthMode: {\n type: String,\n default: 'trigger'\n },\n tag: Boolean,\n onCreate: Function,\n fallbackOption: {\n type: [Function, Boolean],\n default: undefined\n },\n show: {\n type: Boolean,\n default: undefined\n },\n showArrow: {\n type: Boolean,\n default: true\n },\n maxTagCount: [Number, String],\n ellipsisTagPopoverProps: Object,\n consistentMenuWidth: {\n type: Boolean,\n default: true\n },\n virtualScroll: {\n type: Boolean,\n default: true\n },\n labelField: {\n type: String,\n default: 'label'\n },\n valueField: {\n type: String,\n default: 'value'\n },\n childrenField: {\n type: String,\n default: 'children'\n },\n renderLabel: Function,\n renderOption: Function,\n renderTag: Function,\n 'onUpdate:value': [Function, Array],\n inputProps: Object,\n nodeProps: Function,\n ignoreComposition: {\n type: Boolean,\n default: true\n },\n showOnFocus: Boolean,\n // for jsx\n onUpdateValue: [Function, Array],\n onBlur: [Function, Array],\n onClear: [Function, Array],\n onFocus: [Function, Array],\n onScroll: [Function, Array],\n onSearch: [Function, Array],\n onUpdateShow: [Function, Array],\n 'onUpdate:show': [Function, Array],\n displayDirective: {\n type: String,\n default: 'show'\n },\n resetMenuOnOptionsChange: {\n type: Boolean,\n default: true\n },\n status: String,\n showCheckmark: {\n type: Boolean,\n default: true\n },\n /** deprecated */\n onChange: [Function, Array],\n items: Array\n});\nexport default defineComponent({\n name: 'Select',\n props: selectProps,\n slots: Object,\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 {\n mergedClsPrefixRef,\n mergedBorderedRef,\n namespaceRef,\n inlineThemeDisabled\n } = 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 compitableOptionsRef = useCompitable(props, ['items', 'options']);\n const createdOptionsRef = ref([]);\n const beingCreatedOptionsRef = ref([]);\n const localOptionsRef = computed(() => {\n return beingCreatedOptionsRef.value.concat(createdOptionsRef.value).concat(compitableOptionsRef.value);\n });\n const resolvedFilterRef = computed(() => {\n const {\n filter\n } = props;\n if (filter) return filter;\n const {\n labelField,\n valueField\n } = props;\n return (pattern, option) => {\n if (!option) 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 } else {\n const {\n value: localOptions\n } = localOptionsRef;\n const {\n value: pattern\n } = patternRef;\n if (!pattern.length || !props.filterable) {\n return localOptions;\n } else {\n return filterOptions(localOptions, resolvedFilterRef.value, pattern, props.childrenField);\n }\n }\n });\n const treeMateRef = computed(() => {\n const {\n valueField,\n childrenField\n } = 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 {\n localeRef\n } = 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 emptyArray = [];\n const memoValOptMapRef = ref(new Map());\n const wrappedFallbackOptionRef = computed(() => {\n const {\n fallbackOption\n } = props;\n if (fallbackOption === undefined) {\n const {\n labelField,\n valueField\n } = props;\n return value => ({\n [labelField]: String(value),\n [valueField]: value\n });\n }\n if (fallbackOption === false) return false;\n return value => {\n return Object.assign(fallbackOption(value), {\n value\n });\n };\n });\n function getMergedOptions(values) {\n const remote = props.remote;\n const {\n value: memoValOptMap\n } = memoValOptMapRef;\n const {\n value: valOptMap\n } = valOptMapRef;\n const {\n value: wrappedFallbackOption\n } = wrappedFallbackOptionRef;\n const options = [];\n values.forEach(value => {\n if (valOptMap.has(value)) {\n options.push(valOptMap.get(value));\n } else if (remote && memoValOptMap.has(value)) {\n options.push(memoValOptMap.get(value));\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 {\n value: values\n } = mergedValueRef;\n if (!Array.isArray(values)) return [];\n return getMergedOptions(values);\n }\n return null;\n });\n const selectedOptionRef = computed(() => {\n const {\n value: mergedValue\n } = mergedValueRef;\n if (!props.multiple && !Array.isArray(mergedValue)) {\n if (mergedValue === null) return null;\n return getMergedOptions([mergedValue])[0] || null;\n }\n return null;\n });\n const formItem = useFormItem(props);\n const {\n mergedSizeRef,\n mergedDisabledRef,\n mergedStatusRef\n } = formItem;\n function doUpdateValue(value, option) {\n const {\n onChange,\n 'onUpdate:value': _onUpdateValue,\n onUpdateValue\n } = props;\n const {\n nTriggerFormChange,\n nTriggerFormInput\n } = formItem;\n if (onChange) call(onChange, value, option);\n if (onUpdateValue) 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 {\n onBlur\n } = props;\n const {\n nTriggerFormBlur\n } = formItem;\n if (onBlur) call(onBlur, e);\n nTriggerFormBlur();\n }\n function doClear() {\n const {\n onClear\n } = props;\n if (onClear) call(onClear);\n }\n function doFocus(e) {\n const {\n onFocus,\n showOnFocus\n } = props;\n const {\n nTriggerFormFocus\n } = formItem;\n if (onFocus) call(onFocus, e);\n nTriggerFormFocus();\n if (showOnFocus) {\n openMenu();\n }\n }\n function doSearch(value) {\n const {\n onSearch\n } = props;\n if (onSearch) call(onSearch, value);\n }\n function doScroll(e) {\n const {\n onScroll\n } = props;\n if (onScroll) call(onScroll, e);\n }\n // remote related methods\n function updateMemorizedOptions() {\n var _a;\n const {\n remote,\n multiple\n } = props;\n if (remote) {\n const {\n value: memoValOptMap\n } = memoValOptMapRef;\n if (multiple) {\n const {\n valueField\n } = props;\n (_a = selectedOptionsRef.value) === null || _a === void 0 ? void 0 : _a.forEach(option => {\n memoValOptMap.set(option[valueField], option);\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 {\n onUpdateShow,\n 'onUpdate:show': _onUpdateShow\n } = props;\n if (onUpdateShow) call(onUpdateShow, value);\n if (_onUpdateShow) 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) return;\n if (!mergedShowRef.value) {\n openMenu();\n } else {\n if (!props.filterable) {\n // already focused, don't need to return focus\n closeMenu();\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() {\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)) 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)) 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 } else {\n // if there's no option fallback, unappeared options are treated as invalid\n const {\n remote\n } = props;\n const {\n value: valOptMap\n } = valOptMapRef;\n if (remote) {\n const {\n value: memoValOptMap\n } = memoValOptMapRef;\n return value.filter(v => valOptMap.has(v) || memoValOptMap.has(v));\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) return;\n const {\n tag,\n remote,\n clearFilterAfterSelect,\n valueField\n } = props;\n if (tag && !remote) {\n const {\n value: beingCreatedOptions\n } = beingCreatedOptionsRef;\n const beingCreatedOption = beingCreatedOptions[0] || null;\n if (beingCreatedOption) {\n const createdOptions = createdOptionsRef.value;\n if (!createdOptions.length) {\n createdOptionsRef.value = [beingCreatedOption];\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) patternRef.value = '';\n }\n }\n } else {\n changedValue.push(option[valueField]);\n if (clearFilterAfterSelect) patternRef.value = '';\n }\n doUpdateValue(changedValue, getMergedOptions(changedValue));\n } else {\n if (tag && !remote) {\n const createdOptionIndex = getCreatedOptionIndex(option[valueField]);\n if (~createdOptionIndex) {\n createdOptionsRef.value = [createdOptionsRef.value[createdOptionIndex]];\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 {\n value\n } = e.target;\n patternRef.value = value;\n const {\n tag,\n remote\n } = props;\n doSearch(value);\n if (tag && !remote) {\n if (!value) {\n beingCreatedOptionsRef.value = emptyArray;\n return;\n }\n const {\n onCreate\n } = props;\n const optionBeingCreated = onCreate ? onCreate(value) : {\n [props.labelField]: value,\n [props.valueField]: value\n };\n const {\n valueField,\n labelField\n } = props;\n if (compitableOptionsRef.value.some(option => {\n return option[valueField] === optionBeingCreated[valueField] || option[labelField] === optionBeingCreated[labelField];\n }) || createdOptionsRef.value.some(option => {\n return option[valueField] === optionBeingCreated[valueField] || option[labelField] === optionBeingCreated[labelField];\n })) {\n beingCreatedOptionsRef.value = emptyArray;\n } else {\n beingCreatedOptionsRef.value = [optionBeingCreated];\n }\n }\n }\n function handleClear(e) {\n e.stopPropagation();\n const {\n multiple\n } = props;\n if (!multiple && props.filterable) {\n closeMenu();\n }\n doClear();\n if (multiple) {\n doUpdateValue([], []);\n } else {\n doUpdateValue(null, null);\n }\n }\n function handleMenuMousedown(e) {\n if (!happensIn(e, 'action') && !happensIn(e, 'empty') && !happensIn(e, 'header')) {\n e.preventDefault();\n }\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 } else if (!props.filterable) {\n closeMenu();\n focusSelection();\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 {\n value: mergedValue\n } = mergedValueRef;\n if (props.multiple) {\n if (Array.isArray(mergedValue) && mergedValue.includes(optionValue)) {\n // do nothing\n } else {\n handleToggleByOption(beingCreatedOption);\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) 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) return;\n if (mergedShowRef.value) {\n (_d = menuRef.value) === null || _d === void 0 ? void 0 : _d.next();\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) 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 {\n self: {\n menuBoxShadow\n }\n } = themeRef.value;\n return {\n '--n-menu-box-shadow': menuBoxShadow\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('select', undefined, cssVarsRef, props) : undefined;\n return Object.assign(Object.assign({}, exposedMethods), {\n mergedStatus: mergedStatusRef,\n mergedClsPrefix: mergedClsPrefixRef,\n mergedBordered: mergedBorderedRef,\n namespace: namespaceRef,\n treeMate: treeMateRef,\n isMounted: useIsMounted(),\n triggerRef,\n menuRef,\n pattern: patternRef,\n uncontrolledShow: uncontrolledShowRef,\n mergedShow: mergedShowRef,\n adjustedTo: useAdjustedTo(props),\n uncontrolledValue: uncontrolledValueRef,\n mergedValue: mergedValueRef,\n followerRef,\n localizedPlaceholder: localizedPlaceholderRef,\n selectedOption: selectedOptionRef,\n selectedOptions: selectedOptionsRef,\n mergedSize: mergedSizeRef,\n mergedDisabled: mergedDisabledRef,\n focused: focusedRef,\n activeWithoutMenuOpen: activeWithoutMenuOpenRef,\n inlineThemeDisabled,\n onTriggerInputFocus,\n onTriggerInputBlur,\n handleTriggerOrMenuResize,\n handleMenuFocus,\n handleMenuBlur,\n handleMenuTabOut,\n handleTriggerClick,\n handleToggle: handleToggleByTmNode,\n handleDeleteOption: handleToggleByOption,\n handlePatternInput,\n handleClear,\n handleTriggerBlur,\n handleTriggerFocus,\n handleKeydown,\n handleMenuAfterLeave,\n handleMenuClickOutside,\n handleMenuScroll,\n handleMenuKeydown: handleKeydown,\n handleMenuMousedown,\n mergedTheme: themeRef,\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 return h(\"div\", {\n class: `${this.mergedClsPrefix}-select`\n }, h(VBinder, null, {\n default: () => [h(VTarget, null, {\n default: () => h(NInternalSelection, {\n ref: \"triggerRef\",\n inlineThemeDisabled: this.inlineThemeDisabled,\n status: this.mergedStatus,\n inputProps: this.inputProps,\n clsPrefix: this.mergedClsPrefix,\n showArrow: this.showArrow,\n maxTagCount: this.maxTagCount,\n ellipsisTagPopoverProps: this.ellipsisTagPopoverProps,\n bordered: this.mergedBordered,\n active: this.activeWithoutMenuOpen || this.mergedShow,\n pattern: this.pattern,\n placeholder: this.localizedPlaceholder,\n selectedOption: this.selectedOption,\n selectedOptions: this.selectedOptions,\n multiple: this.multiple,\n renderTag: this.renderTag,\n renderLabel: this.renderLabel,\n filterable: this.filterable,\n clearable: this.clearable,\n disabled: this.mergedDisabled,\n size: this.mergedSize,\n theme: this.mergedTheme.peers.InternalSelection,\n labelField: this.labelField,\n valueField: this.valueField,\n themeOverrides: this.mergedTheme.peerOverrides.InternalSelection,\n loading: this.loading,\n focused: this.focused,\n onClick: this.handleTriggerClick,\n onDeleteOption: this.handleDeleteOption,\n onPatternInput: this.handlePatternInput,\n onClear: this.handleClear,\n onBlur: this.handleTriggerBlur,\n onFocus: this.handleTriggerFocus,\n onKeydown: this.handleKeydown,\n onPatternBlur: this.onTriggerInputBlur,\n onPatternFocus: this.onTriggerInputFocus,\n onResize: this.handleTriggerOrMenuResize,\n ignoreComposition: this.ignoreComposition\n }, {\n arrow: () => {\n var _a, _b;\n return [(_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a)];\n }\n })\n }), h(VFollower, {\n ref: \"followerRef\",\n show: this.mergedShow,\n to: this.adjustedTo,\n teleportDisabled: this.adjustedTo === useAdjustedTo.tdkey,\n containerClass: this.namespace,\n width: this.consistentMenuWidth ? 'target' : undefined,\n minWidth: \"target\",\n placement: this.placement\n }, {\n default: () => h(Transition, {\n name: \"fade-in-scale-up-transition\",\n appear: this.isMounted,\n onAfterLeave: this.handleMenuAfterLeave\n }, {\n default: () => {\n var _a, _b, _c;\n if (!(this.mergedShow || 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, {\n ref: \"menuRef\",\n onResize: this.handleTriggerOrMenuResize,\n inlineThemeDisabled: this.inlineThemeDisabled,\n virtualScroll: this.consistentMenuWidth && this.virtualScroll,\n class: [`${this.mergedClsPrefix}-select-menu`, this.themeClass, (_b = this.menuProps) === null || _b === void 0 ? void 0 : _b.class],\n clsPrefix: this.mergedClsPrefix,\n focusable: true,\n labelField: this.labelField,\n valueField: this.valueField,\n autoPending: true,\n nodeProps: this.nodeProps,\n theme: this.mergedTheme.peers.InternalSelectMenu,\n themeOverrides: this.mergedTheme.peerOverrides.InternalSelectMenu,\n treeMate: this.treeMate,\n multiple: this.multiple,\n size: this.menuSize,\n renderOption: this.renderOption,\n renderLabel: this.renderLabel,\n value: this.mergedValue,\n style: [(_c = this.menuProps) === null || _c === void 0 ? void 0 : _c.style, this.cssVars],\n onToggle: this.handleToggle,\n onScroll: this.handleMenuScroll,\n onFocus: this.handleMenuFocus,\n onBlur: this.handleMenuBlur,\n onKeydown: this.handleMenuKeydown,\n onTabOut: this.handleMenuTabOut,\n onMousedown: this.handleMenuMousedown,\n show: this.mergedShow,\n showCheckmark: this.showCheckmark,\n resetMenuOnOptionsChange: this.resetMenuOnOptionsChange\n }), {\n empty: () => {\n var _a, _b;\n return [(_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a)];\n },\n header: () => {\n var _a, _b;\n return [(_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a)];\n },\n action: () => {\n var _a, _b;\n return [(_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a)];\n }\n }), this.displayDirective === 'show' ? [[vShow, this.mergedShow], [clickoutside, this.handleMenuClickOutside, undefined, {\n capture: true\n }]] : [[clickoutside, this.handleMenuClickOutside, undefined, {\n capture: true\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};","import { createTheme } from \"../../_mixins/index.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport { inputLight } from \"../../input/styles/index.mjs\";\nimport { popselectLight } from \"../../popselect/styles/index.mjs\";\nimport { selectLight } from \"../../select/styles/index.mjs\";\nimport commonVariables from \"./_common.mjs\";\nexport function self(vars) {\n const {\n textColor2,\n primaryColor,\n primaryColorHover,\n primaryColorPressed,\n inputColorDisabled,\n textColorDisabled,\n borderColor,\n borderRadius,\n // item font size\n fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n // item size\n heightTiny,\n heightSmall,\n heightMedium\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n buttonColor: '#0000',\n buttonColorHover: '#0000',\n buttonColorPressed: '#0000',\n buttonBorder: `1px solid ${borderColor}`,\n buttonBorderHover: `1px solid ${borderColor}`,\n buttonBorderPressed: `1px solid ${borderColor}`,\n buttonIconColor: textColor2,\n buttonIconColorHover: textColor2,\n buttonIconColorPressed: textColor2,\n itemTextColor: textColor2,\n itemTextColorHover: primaryColorHover,\n itemTextColorPressed: primaryColorPressed,\n itemTextColorActive: primaryColor,\n itemTextColorDisabled: textColorDisabled,\n itemColor: '#0000',\n itemColorHover: '#0000',\n itemColorPressed: '#0000',\n itemColorActive: '#0000',\n itemColorActiveHover: '#0000',\n itemColorDisabled: inputColorDisabled,\n itemBorder: '1px solid #0000',\n itemBorderHover: '1px solid #0000',\n itemBorderPressed: '1px solid #0000',\n itemBorderActive: `1px solid ${primaryColor}`,\n itemBorderDisabled: `1px solid ${borderColor}`,\n itemBorderRadius: borderRadius,\n itemSizeSmall: heightTiny,\n itemSizeMedium: heightSmall,\n itemSizeLarge: heightMedium,\n itemFontSizeSmall: fontSizeTiny,\n itemFontSizeMedium: fontSizeSmall,\n itemFontSizeLarge: fontSizeMedium,\n jumperFontSizeSmall: fontSizeTiny,\n jumperFontSizeMedium: fontSizeSmall,\n jumperFontSizeLarge: fontSizeMedium,\n jumperTextColor: textColor2,\n jumperTextColorDisabled: textColorDisabled\n });\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;","import { c, cB, cM, cNotM } from \"../../../_utils/cssr/index.mjs\";\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 `)])])]);","export function getDefaultPageSize(paginationProps) {\n var _a;\n if (!paginationProps) return 10;\n const {\n defaultPageSize\n } = paginationProps;\n if (defaultPageSize !== undefined) return defaultPageSize;\n const pageSizeOption = (_a = paginationProps.pageSizes) === null || _a === void 0 ? void 0 : _a[0];\n if (typeof pageSizeOption === 'number') return pageSizeOption;\n return (pageSizeOption === null || pageSizeOption === void 0 ? void 0 : pageSizeOption.value) || 10;\n}\nfunction createPageItemsInfo(currentPage, pageCount, pageSlot, showQuickJumpDropdown) {\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 type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n }]\n };\n }\n if (pageCount === 2) {\n return {\n hasFastBackward: false,\n hasFastForward: false,\n fastForwardTo,\n fastBackwardTo,\n items: [{\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n }, {\n type: 'page',\n label: 2,\n active: currentPage === 2,\n mayBeFastBackward: true,\n mayBeFastForward: false\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) leftSplit = true;\n if (middleEnd < lastPage - 2) 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: showQuickJumpDropdown ? createRange(firstPage + 1, middleStart - 1) : null\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: showQuickJumpDropdown ? createRange(middleEnd + 1, lastPage - 1) : null\n });\n } else if (middleEnd === lastPage - 2 && 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 };","import { useMergedState } from 'vooks';\nimport { computed, defineComponent, Fragment, h, nextTick, ref, toRef, watchEffect } from 'vue';\nimport { NBaseIcon } from \"../../_internal/index.mjs\";\nimport { BackwardIcon, FastBackwardIcon, FastForwardIcon, ForwardIcon, MoreIcon } from \"../../_internal/icons/index.mjs\";\nimport { useConfig, useLocale, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { useRtl } from \"../../_mixins/use-rtl.mjs\";\nimport { call, createKey, resolveSlot, smallerSize, useAdjustedTo, warn, warnOnce } from \"../../_utils/index.mjs\";\nimport { NInput } from \"../../input/index.mjs\";\nimport { NPopselect } from \"../../popselect/index.mjs\";\nimport { NSelect } from \"../../select/index.mjs\";\nimport { paginationLight } from \"../styles/index.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nimport { createPageItemsInfo, getDefaultPageSize } from \"./utils.mjs\";\nexport const paginationProps = Object.assign(Object.assign({}, useTheme.props), {\n simple: Boolean,\n page: Number,\n defaultPage: {\n type: Number,\n default: 1\n },\n itemCount: Number,\n pageCount: Number,\n defaultPageCount: {\n type: Number,\n default: 1\n },\n showSizePicker: Boolean,\n pageSize: Number,\n defaultPageSize: Number,\n pageSizes: {\n type: Array,\n default() {\n return [10];\n }\n },\n showQuickJumper: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n disabled: Boolean,\n pageSlot: {\n type: Number,\n default: 9\n },\n selectProps: Object,\n prev: Function,\n next: Function,\n goto: Function,\n prefix: Function,\n suffix: Function,\n label: Function,\n displayOrder: {\n type: Array,\n default: ['pages', 'size-picker', 'quick-jumper']\n },\n to: useAdjustedTo.propTo,\n showQuickJumpDropdown: {\n type: Boolean,\n default: true\n },\n 'onUpdate:page': [Function, Array],\n onUpdatePage: [Function, Array],\n 'onUpdate:pageSize': [Function, Array],\n onUpdatePageSize: [Function, Array],\n /** @deprecated */\n onPageSizeChange: [Function, Array],\n /** @deprecated */\n onChange: [Function, Array]\n});\nexport default defineComponent({\n name: 'Pagination',\n props: paginationProps,\n slots: Object,\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 {\n mergedComponentPropsRef,\n mergedClsPrefixRef,\n inlineThemeDisabled,\n mergedRtlRef\n } = useConfig(props);\n const themeRef = useTheme('Pagination', '-pagination', style, paginationLight, props, mergedClsPrefixRef);\n const {\n localeRef\n } = useLocale('Pagination');\n const selfRef = ref(null);\n const uncontrolledPageRef = ref(props.defaultPage);\n const uncontrolledPageSizeRef = ref(getDefaultPageSize(props));\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 {\n itemCount\n } = props;\n if (itemCount !== undefined) {\n return Math.max(1, Math.ceil(itemCount / mergedPageSizeRef.value));\n }\n const {\n pageCount\n } = props;\n if (pageCount !== undefined) 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) return;\n fastForwardActiveRef.value = true;\n disableTransitionOneTick();\n };\n const handleFastForwardMouseleave = () => {\n if (props.disabled) 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, props.showQuickJumpDropdown));\n watchEffect(() => {\n if (!pageItemsInfo.value.hasFastBackward) {\n fastBackwardActiveRef.value = false;\n showFastBackwardMenuRef.value = false;\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 } 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) || 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) || 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 {\n itemCount\n } = props;\n if (itemCount !== undefined) {\n return endIndex > itemCount - 1 ? itemCount - 1 : endIndex;\n }\n return endIndex;\n });\n const mergedItemCountRef = computed(() => {\n const {\n itemCount\n } = props;\n if (itemCount !== undefined) return itemCount;\n return (props.pageCount || 1) * mergedPageSizeRef.value;\n });\n const rtlEnabledRef = useRtl('Pagination', mergedRtlRef, mergedClsPrefixRef);\n function disableTransitionOneTick() {\n void nextTick(() => {\n var _a;\n const {\n value: selfEl\n } = selfRef;\n if (!selfEl) 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) return;\n const {\n 'onUpdate:page': _onUpdatePage,\n onUpdatePage,\n onChange,\n simple\n } = props;\n if (_onUpdatePage) call(_onUpdatePage, page);\n if (onUpdatePage) call(onUpdatePage, page);\n // deprecated\n if (onChange) 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) return;\n const {\n 'onUpdate:pageSize': _onUpdatePageSize,\n onUpdatePageSize,\n onPageSizeChange\n } = props;\n if (_onUpdatePageSize) call(_onUpdatePageSize, pageSize);\n if (onUpdatePageSize) call(onUpdatePageSize, pageSize);\n // deprecated\n if (onPageSizeChange) 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) return;\n const page = Math.min(mergedPageRef.value + 1, mergedPageCountRef.value);\n doUpdatePage(page);\n }\n function backward() {\n if (props.disabled) return;\n const page = Math.max(mergedPageRef.value - 1, 1);\n doUpdatePage(page);\n }\n function fastForward() {\n if (props.disabled) return;\n const page = Math.min(pageItemsInfo.value.fastForwardTo, mergedPageCountRef.value);\n doUpdatePage(page);\n }\n function fastBackward() {\n if (props.disabled) 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 = Number.parseInt(jumperValueRef.value);\n if (Number.isNaN(page)) 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) 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 {\n size\n } = props;\n const {\n self: {\n buttonBorder,\n buttonBorderHover,\n buttonBorderPressed,\n buttonIconColor,\n buttonIconColorHover,\n buttonIconColorPressed,\n itemTextColor,\n itemTextColorHover,\n itemTextColorPressed,\n itemTextColorActive,\n itemTextColorDisabled,\n itemColor,\n itemColorHover,\n itemColorPressed,\n itemColorActive,\n itemColorActiveHover,\n itemColorDisabled,\n itemBorder,\n itemBorderHover,\n itemBorderPressed,\n itemBorderActive,\n itemBorderDisabled,\n itemBorderRadius,\n jumperTextColor,\n jumperTextColorDisabled,\n buttonColor,\n buttonColorHover,\n buttonColorPressed,\n [createKey('itemPadding', size)]: itemPadding,\n [createKey('itemMargin', size)]: itemMargin,\n [createKey('inputWidth', size)]: inputWidth,\n [createKey('selectWidth', size)]: selectWidth,\n [createKey('inputMargin', size)]: inputMargin,\n [createKey('selectMargin', size)]: selectMargin,\n [createKey('jumperFontSize', size)]: jumperFontSize,\n [createKey('prefixMargin', size)]: prefixMargin,\n [createKey('suffixMargin', size)]: suffixMargin,\n [createKey('itemSize', size)]: itemSize,\n [createKey('buttonIconSize', size)]: buttonIconSize,\n [createKey('itemFontSize', size)]: itemFontSize,\n [`${createKey('itemMargin', size)}Rtl`]: itemMarginRtl,\n [`${createKey('inputMargin', size)}Rtl`]: inputMarginRtl\n },\n common: {\n cubicBezierEaseInOut\n }\n } = 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 ? useThemeClass('pagination', computed(() => {\n let hash = '';\n const {\n size\n } = props;\n hash += size[0];\n return hash;\n }), cssVarsRef, props) : 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 {\n $slots,\n mergedClsPrefix,\n disabled,\n cssVars,\n mergedPage,\n mergedPageCount,\n pageItems,\n showSizePicker,\n showQuickJumper,\n mergedTheme,\n locale,\n inputSize,\n selectSize,\n mergedPageSize,\n pageSizeOptions,\n jumperValue,\n simple,\n prev,\n next,\n prefix,\n suffix,\n label,\n goto,\n handleJumperInput,\n handleSizePickerChange,\n handleBackwardClick,\n handlePageItemClick,\n handleForwardClick,\n handleQuickJumperChange,\n onRender\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const renderPrefix = prefix || $slots.prefix;\n const renderSuffix = suffix || $slots.suffix;\n const renderPrev = prev || $slots.prev;\n const renderNext = next || $slots.next;\n const renderLabel = label || $slots.label;\n return h(\"div\", {\n ref: \"selfRef\",\n class: [`${mergedClsPrefix}-pagination`, this.themeClass, this.rtlEnabled && `${mergedClsPrefix}-pagination--rtl`, disabled && `${mergedClsPrefix}-pagination--disabled`, simple && `${mergedClsPrefix}-pagination--simple`],\n style: cssVars\n }, renderPrefix ? h(\"div\", {\n class: `${mergedClsPrefix}-pagination-prefix`\n }, renderPrefix({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n })) : null, this.displayOrder.map(part => {\n switch (part) {\n case 'pages':\n return h(Fragment, null, h(\"div\", {\n class: [`${mergedClsPrefix}-pagination-item`, !renderPrev && `${mergedClsPrefix}-pagination-item--button`, (mergedPage <= 1 || mergedPage > mergedPageCount || disabled) && `${mergedClsPrefix}-pagination-item--disabled`],\n onClick: handleBackwardClick\n }, 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, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => this.rtlEnabled ? h(ForwardIcon, null) : h(BackwardIcon, null)\n })), simple ? h(Fragment, null, h(\"div\", {\n class: `${mergedClsPrefix}-pagination-quick-jumper`\n }, h(NInput, {\n value: jumperValue,\n onUpdateValue: handleJumperInput,\n size: inputSize,\n placeholder: \"\",\n disabled: disabled,\n theme: mergedTheme.peers.Input,\n themeOverrides: mergedTheme.peerOverrides.Input,\n onChange: handleQuickJumperChange\n })), \"\\u00A0/\", ' ', mergedPageCount) : pageItems.map((pageItem, index) => {\n let contentNode;\n let onMouseenter;\n let onMouseleave;\n const {\n type\n } = 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 } 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, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => this.rtlEnabled ? h(FastBackwardIcon, null) : h(FastForwardIcon, null)\n }) : h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => h(MoreIcon, null)\n });\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'fast-forward',\n node: fastForwardNode,\n active: this.fastForwardActive || this.showFastForwardMenu\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, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => this.rtlEnabled ? h(FastForwardIcon, null) : h(FastBackwardIcon, null)\n }) : h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => h(MoreIcon, null)\n });\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'fast-backward',\n node: fastBackwardNode,\n active: this.fastBackwardActive || this.showFastBackwardMenu\n });\n } else {\n contentNode = fastBackwardNode;\n }\n onMouseenter = this.handleFastBackwardMouseenter;\n onMouseleave = this.handleFastBackwardMouseleave;\n break;\n }\n const itemNode = h(\"div\", {\n key: index,\n class: [`${mergedClsPrefix}-pagination-item`, pageItem.active && `${mergedClsPrefix}-pagination-item--active`, type !== 'page' && (type === 'fast-backward' && this.showFastBackwardMenu || type === 'fast-forward' && this.showFastForwardMenu) && `${mergedClsPrefix}-pagination-item--hover`, disabled && `${mergedClsPrefix}-pagination-item--disabled`, type === 'page' && `${mergedClsPrefix}-pagination-item--clickable`],\n onClick: () => {\n handlePageItemClick(pageItem);\n },\n onMouseenter: onMouseenter,\n onMouseleave: onMouseleave\n }, contentNode);\n if (type === 'page' && !pageItem.mayBeFastBackward && !pageItem.mayBeFastForward) {\n return itemNode;\n } else {\n const key = pageItem.type === 'page' ? pageItem.mayBeFastBackward ? 'fast-backward' : 'fast-forward' : pageItem.type;\n if (pageItem.type !== 'page' && !pageItem.options) {\n return itemNode;\n }\n return h(NPopselect, {\n to: this.to,\n key: key,\n disabled: disabled,\n trigger: \"hover\",\n virtualScroll: true,\n style: {\n width: '60px'\n },\n theme: mergedTheme.peers.Popselect,\n themeOverrides: mergedTheme.peerOverrides.Popselect,\n builtinThemeOverrides: {\n peers: {\n InternalSelectMenu: {\n height: 'calc(var(--n-option-height) * 4.6)'\n }\n }\n },\n nodeProps: () => ({\n style: {\n justifyContent: 'center'\n }\n }),\n show: type === 'page' ? false : type === 'fast-backward' ? this.showFastBackwardMenu : this.showFastForwardMenu,\n onUpdateShow: value => {\n if (type === 'page') return;\n if (value) {\n if (type === 'fast-backward') {\n this.showFastBackwardMenu = value;\n } else {\n this.showFastForwardMenu = value;\n }\n } else {\n this.showFastBackwardMenu = false;\n this.showFastForwardMenu = false;\n }\n },\n options: pageItem.type !== 'page' && pageItem.options ? pageItem.options : [],\n onUpdateValue: this.handleMenuSelect,\n scrollable: true,\n showCheckmark: false\n }, {\n default: () => itemNode\n });\n }\n }), h(\"div\", {\n class: [`${mergedClsPrefix}-pagination-item`, !renderNext && `${mergedClsPrefix}-pagination-item--button`, {\n [`${mergedClsPrefix}-pagination-item--disabled`]: mergedPage < 1 || mergedPage >= mergedPageCount || disabled\n }],\n onClick: handleForwardClick\n }, 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, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => this.rtlEnabled ? h(BackwardIcon, null) : h(ForwardIcon, null)\n })));\n case 'size-picker':\n {\n return !simple && showSizePicker ? h(NSelect, Object.assign({\n consistentMenuWidth: false,\n placeholder: \"\",\n showCheckmark: false,\n to: this.to\n }, this.selectProps, {\n size: selectSize,\n options: pageSizeOptions,\n value: mergedPageSize,\n disabled: disabled,\n theme: mergedTheme.peers.Select,\n themeOverrides: mergedTheme.peerOverrides.Select,\n onUpdateValue: handleSizePickerChange\n })) : null;\n }\n case 'quick-jumper':\n return !simple && showQuickJumper ? h(\"div\", {\n class: `${mergedClsPrefix}-pagination-quick-jumper`\n }, goto ? goto() : resolveSlot(this.$slots.goto, () => [locale.goto]), h(NInput, {\n value: jumperValue,\n onUpdateValue: handleJumperInput,\n size: inputSize,\n placeholder: \"\",\n disabled: disabled,\n theme: mergedTheme.peers.Input,\n themeOverrides: mergedTheme.peerOverrides.Input,\n onChange: handleQuickJumperChange\n })) : null;\n default:\n return null;\n }\n }), renderSuffix ? h(\"div\", {\n class: `${mergedClsPrefix}-pagination-suffix`\n }, 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});","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};","import { changeColor } from 'seemly';\nimport { createTheme } from \"../../_mixins/use-theme.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport { popoverLight } from \"../../popover/styles/index.mjs\";\nimport commonVariables from \"./_common.mjs\";\nexport function self(vars) {\n const {\n primaryColor,\n textColor2,\n dividerColor,\n hoverColor,\n popoverColor,\n invertedColor,\n borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n fontSizeHuge,\n heightSmall,\n heightMedium,\n heightLarge,\n heightHuge,\n textColor3,\n opacityDisabled\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n optionHeightSmall: heightSmall,\n optionHeightMedium: heightMedium,\n optionHeightLarge: heightLarge,\n optionHeightHuge: heightHuge,\n borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n fontSizeHuge,\n // non-inverted\n optionTextColor: textColor2,\n optionTextColorHover: textColor2,\n optionTextColorActive: primaryColor,\n optionTextColorChildActive: primaryColor,\n color: popoverColor,\n dividerColor,\n suffixColor: textColor2,\n prefixColor: textColor2,\n optionColorHover: hoverColor,\n optionColorActive: changeColor(primaryColor, {\n alpha: 0.1\n }),\n groupHeaderTextColor: textColor3,\n // inverted\n optionTextColorInverted: '#BBB',\n optionTextColorHoverInverted: '#FFF',\n optionTextColorActiveInverted: '#FFF',\n optionTextColorChildActiveInverted: '#FFF',\n colorInverted: invertedColor,\n dividerColorInverted: '#BBB',\n suffixColorInverted: '#BBB',\n prefixColorInverted: '#BBB',\n optionColorHoverInverted: primaryColor,\n optionColorActiveInverted: primaryColor,\n groupHeaderTextColorInverted: '#AAA',\n optionOpacityDisabled: opacityDisabled\n });\n}\nconst dropdownLight = createTheme({\n name: 'Dropdown',\n common: commonLight,\n peers: {\n Popover: popoverLight\n },\n self\n});\nexport default dropdownLight;","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};","import { composite } from 'seemly';\nimport { scrollbarLight } from \"../../_internal/scrollbar/styles/index.mjs\";\nimport { createTheme } from \"../../_mixins/index.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport { buttonLight } from \"../../button/styles/index.mjs\";\nimport { checkboxLight } from \"../../checkbox/styles/index.mjs\";\nimport { dropdownLight } from \"../../dropdown/styles/index.mjs\";\nimport { ellipsisLight } from \"../../ellipsis/styles/index.mjs\";\nimport { emptyLight } from \"../../empty/styles/index.mjs\";\nimport { paginationLight } from \"../../pagination/styles/index.mjs\";\nimport { popoverLight } from \"../../popover/styles/index.mjs\";\nimport { radioLight } from \"../../radio/styles/index.mjs\";\nimport commonVariables from \"./_common.mjs\";\nexport function self(vars) {\n const {\n cardColor,\n modalColor,\n popoverColor,\n textColor2,\n textColor1,\n tableHeaderColor,\n tableColorHover,\n iconColor,\n primaryColor,\n fontWeightStrong,\n borderRadius,\n lineHeight,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n dividerColor,\n heightSmall,\n opacityDisabled,\n tableColorStriped\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n actionDividerColor: dividerColor,\n lineHeight,\n borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n borderColor: composite(cardColor, dividerColor),\n tdColorHover: composite(cardColor, tableColorHover),\n tdColorSorting: composite(cardColor, tableColorHover),\n tdColorStriped: composite(cardColor, tableColorStriped),\n thColor: composite(cardColor, tableHeaderColor),\n thColorHover: composite(composite(cardColor, tableHeaderColor), tableColorHover),\n thColorSorting: composite(composite(cardColor, tableHeaderColor), tableColorHover),\n tdColor: cardColor,\n tdTextColor: textColor2,\n thTextColor: textColor1,\n thFontWeight: fontWeightStrong,\n thButtonColorHover: tableColorHover,\n thIconColor: iconColor,\n thIconColorActive: primaryColor,\n // modal\n borderColorModal: composite(modalColor, dividerColor),\n tdColorHoverModal: composite(modalColor, tableColorHover),\n tdColorSortingModal: composite(modalColor, tableColorHover),\n tdColorStripedModal: composite(modalColor, tableColorStriped),\n thColorModal: composite(modalColor, tableHeaderColor),\n thColorHoverModal: composite(composite(modalColor, tableHeaderColor), tableColorHover),\n thColorSortingModal: composite(composite(modalColor, tableHeaderColor), tableColorHover),\n tdColorModal: modalColor,\n // popover\n borderColorPopover: composite(popoverColor, dividerColor),\n tdColorHoverPopover: composite(popoverColor, tableColorHover),\n tdColorSortingPopover: composite(popoverColor, tableColorHover),\n tdColorStripedPopover: composite(popoverColor, tableColorStriped),\n thColorPopover: composite(popoverColor, tableHeaderColor),\n thColorHoverPopover: composite(composite(popoverColor, tableHeaderColor), tableColorHover),\n thColorSortingPopover: composite(composite(popoverColor, tableHeaderColor), tableColorHover),\n tdColorPopover: popoverColor,\n boxShadowBefore: 'inset -12px 0 8px -12px rgba(0, 0, 0, .18)',\n boxShadowAfter: 'inset 12px 0 8px -12px rgba(0, 0, 0, .18)',\n // loading\n loadingColor: primaryColor,\n loadingSize: heightSmall,\n opacityLoading: opacityDisabled\n });\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;","import { useTheme } from \"../../_mixins/index.mjs\";\nimport { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const dataTableProps = Object.assign(Object.assign({}, useTheme.props), {\n onUnstableColumnResize: Function,\n pagination: {\n type: [Object, Boolean],\n default: false\n },\n paginateSinglePage: {\n type: Boolean,\n default: true\n },\n minHeight: [Number, String],\n maxHeight: [Number, String],\n // Use any type as row data to make prop data acceptable\n columns: {\n type: Array,\n default: () => []\n },\n rowClassName: [String, Function],\n rowProps: Function,\n rowKey: Function,\n summary: [Function],\n data: {\n type: Array,\n default: () => []\n },\n loading: Boolean,\n bordered: {\n type: Boolean,\n default: undefined\n },\n bottomBordered: {\n type: Boolean,\n default: undefined\n },\n striped: Boolean,\n scrollX: [Number, String],\n defaultCheckedRowKeys: {\n type: Array,\n default: () => []\n },\n checkedRowKeys: Array,\n singleLine: {\n type: Boolean,\n default: true\n },\n singleColumn: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n remote: Boolean,\n defaultExpandedRowKeys: {\n type: Array,\n default: []\n },\n defaultExpandAll: Boolean,\n expandedRowKeys: Array,\n stickyExpandedRows: Boolean,\n virtualScroll: Boolean,\n virtualScrollX: Boolean,\n virtualScrollHeader: Boolean,\n headerHeight: {\n type: Number,\n default: 28\n },\n heightForRow: Function,\n minRowHeight: {\n type: Number,\n default: 28\n },\n tableLayout: {\n type: String,\n default: 'auto'\n },\n allowCheckingNotLoaded: Boolean,\n cascade: {\n type: Boolean,\n default: true\n },\n childrenKey: {\n type: String,\n default: 'children'\n },\n indent: {\n type: Number,\n default: 16\n },\n flexHeight: Boolean,\n summaryPlacement: {\n type: String,\n default: 'bottom'\n },\n paginationBehaviorOnFilter: {\n type: String,\n default: 'current'\n },\n filterIconPopoverProps: Object,\n scrollbarProps: Object,\n renderCell: Function,\n renderExpandIcon: Function,\n spinProps: {\n type: Object,\n default: {}\n },\n getCsvCell: Function,\n getCsvHeader: Function,\n onLoad: Function,\n 'onUpdate:page': [Function, Array],\n onUpdatePage: [Function, Array],\n 'onUpdate:pageSize': [Function, Array],\n onUpdatePageSize: [Function, Array],\n 'onUpdate:sorter': [Function, Array],\n onUpdateSorter: [Function, Array],\n 'onUpdate:filters': [Function, Array],\n onUpdateFilters: [Function, Array],\n 'onUpdate:checkedRowKeys': [Function, Array],\n onUpdateCheckedRowKeys: [Function, Array],\n 'onUpdate:expandedRowKeys': [Function, Array],\n onUpdateExpandedRowKeys: [Function, Array],\n onScroll: Function,\n // deprecated\n onPageChange: [Function, Array],\n onPageSizeChange: [Function, Array],\n onSorterChange: [Function, Array],\n onFiltersChange: [Function, Array],\n onCheckedRowKeysChange: [Function, Array]\n});\nexport const dataTableInjectionKey = createInjectionKey('n-data-table');","import { depx } from 'seemly';\nimport { formatLength } from \"../../_utils/index.mjs\";\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) 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') return '__n_selection__';\n if (col.type === 'expand') return '__n_expand__';\n return col.key;\n}\nexport function createShallowClonedObject(object) {\n if (!object) 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') return 1;else if (order === 'descend') 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 : Number.parseFloat(max));\n }\n if (min !== undefined) {\n value = Math.max(value, typeof min === 'number' ? min : Number.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 {\n minWidth,\n maxWidth\n } = 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') 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 || column.filterOptionValue === undefined && column.defaultFilterOptionValues !== undefined;\n}\nexport function isColumnSortable(column) {\n if ('children' in column) return false;\n return !!column.sorter;\n}\nexport function isColumnResizable(column) {\n if ('children' in column && !!column.children.length) return false;\n return !!column.resizable;\n}\nexport function isColumnFilterable(column) {\n if ('children' in column) return false;\n return !!column.filter && (!!column.filterOptions || !!column.renderFilterMenu);\n}\nfunction getNextOrderOf(order) {\n if (!order) return 'descend';else if (order === 'descend') return 'ascend';\n return false;\n}\nexport function createNextSorter(column, currentSortState) {\n if (column.sorter === undefined) return null;\n const {\n customNextSortOrder\n } = column;\n if (currentSortState === null || currentSortState.columnKey !== column.key) {\n return {\n columnKey: column.key,\n sorter: column.sorter,\n order: getNextOrderOf(false)\n };\n } else {\n return Object.assign(Object.assign({}, currentSortState), {\n order: (customNextSortOrder || getNextOrderOf)(currentSortState.order)\n });\n }\n}\nexport function isColumnSorting(column, mergedSortState) {\n return mergedSortState.find(state => state.columnKey === column.key && state.order) !== undefined;\n}\nfunction formatCsvCell(value) {\n if (typeof value === 'string') {\n return value.replace(/,/g, '\\\\,');\n } else if (value === null || value === undefined) {\n return '';\n } else {\n return `${value}`.replace(/,/g, '\\\\,');\n }\n}\nexport function generateCsv(columns, data, getCsvCell, getCsvHeader) {\n const exportableColumns = columns.filter(column => column.type !== 'expand' && column.type !== 'selection' && column.allowExport !== false);\n const header = exportableColumns.map(col => {\n return getCsvHeader ? getCsvHeader(col) : col.title;\n }).join(',');\n const rows = data.map(row => {\n return exportableColumns.map(col => {\n return getCsvCell ? getCsvCell(row[col.key], row, col) : formatCsvCell(row[col.key]);\n }).join(',');\n });\n return [header, ...rows].join('\\n');\n}","import { defineComponent, h, inject } from 'vue';\nimport { NCheckbox } from \"../../../checkbox/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\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 {\n mergedCheckedRowKeySetRef,\n mergedInderminateRowKeySetRef\n } = inject(dataTableInjectionKey);\n return () => {\n const {\n rowKey\n } = props;\n return h(NCheckbox, {\n privateInsideTable: true,\n disabled: props.disabled,\n indeterminate: mergedInderminateRowKeySetRef.value.has(rowKey),\n checked: mergedCheckedRowKeySetRef.value.has(rowKey),\n onUpdateChecked: props.onUpdateChecked\n });\n };\n }\n});","import { defineComponent, h, inject } from 'vue';\nimport { NRadio } from \"../../../radio/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\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 {\n mergedCheckedRowKeySetRef,\n componentId\n } = inject(dataTableInjectionKey);\n return () => {\n const {\n rowKey\n } = props;\n return h(NRadio, {\n name: componentId,\n disabled: props.disabled,\n checked: mergedCheckedRowKeySetRef.value.has(rowKey),\n onUpdateChecked: props.onUpdateChecked\n });\n };\n }\n});","import { defineComponent, h, mergeProps, ref } from 'vue';\nimport { useStyle } from \"../../_mixins/index.mjs\";\nimport { useMergedClsPrefix } from \"../../_mixins/use-config.mjs\";\nimport Ellipsis, { createCursorClass, createLineClampClass, ellipsisProps } from \"./Ellipsis.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport const NPerformantEllipsis = defineComponent({\n name: 'PerformantEllipsis',\n props: ellipsisProps,\n inheritAttrs: false,\n setup(props, {\n attrs,\n slots\n }) {\n const mouseEnteredRef = ref(false);\n const mergedClsPrefixRef = useMergedClsPrefix();\n useStyle('-ellipsis', style, mergedClsPrefixRef);\n // Modified from Ellipsis.tsx\n const renderTrigger = () => {\n const {\n lineClamp\n } = props;\n const mergedClsPrefix = mergedClsPrefixRef.value;\n return h(\"span\", Object.assign({}, mergeProps(attrs, {\n class: [`${mergedClsPrefix}-ellipsis`, lineClamp !== undefined ? createLineClampClass(mergedClsPrefix) : undefined, props.expandTrigger === 'click' ? createCursorClass(mergedClsPrefix, 'pointer') : undefined],\n style: lineClamp === undefined ? {\n textOverflow: 'ellipsis'\n } : {\n '-webkit-line-clamp': lineClamp\n }\n }), {\n onMouseenter: () => {\n mouseEnteredRef.value = true;\n }\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 } else {\n return this.renderTrigger();\n }\n }\n});","import { get } from 'lodash-es';\nimport { defineComponent, h } from 'vue';\nimport NEllipsis from \"../../../ellipsis/src/Ellipsis.mjs\";\nimport { NPerformantEllipsis } from \"../../../ellipsis/src/PerformantEllipsis.mjs\";\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 var _a;\n const {\n isSummary,\n column,\n row,\n renderCell\n } = this;\n let cell;\n const {\n render,\n key,\n ellipsis\n } = column;\n if (render && !isSummary) {\n cell = render(row, this.index);\n } else {\n if (isSummary) {\n cell = (_a = row[key]) === null || _a === void 0 ? void 0 : _a.value;\n } else {\n cell = renderCell ? renderCell(get(row, key), row, column) : get(row, key);\n }\n }\n if (ellipsis) {\n if (typeof ellipsis === 'object') {\n const {\n mergedTheme\n } = this;\n if (column.ellipsisComponent === 'performant-ellipsis') {\n return h(NPerformantEllipsis, Object.assign({}, ellipsis, {\n theme: mergedTheme.peers.Ellipsis,\n themeOverrides: mergedTheme.peerOverrides.Ellipsis\n }), {\n default: () => cell\n });\n }\n return h(NEllipsis, Object.assign({}, ellipsis, {\n theme: mergedTheme.peers.Ellipsis,\n themeOverrides: mergedTheme.peerOverrides.Ellipsis\n }), {\n default: () => cell\n });\n } else {\n return h(\"span\", {\n class: `${this.clsPrefix}-data-table-td__ellipsis`\n }, cell);\n }\n }\n return cell;\n }\n});","import { defineComponent, h } from 'vue';\nimport { NBaseIcon, NBaseLoading, NIconSwitchTransition } from \"../../../_internal/index.mjs\";\nimport { ChevronRightIcon } from \"../../../_internal/icons/index.mjs\";\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 rowData: {\n type: Object,\n required: true\n }\n },\n render() {\n const {\n clsPrefix\n } = this;\n return h(\"div\", {\n class: [`${clsPrefix}-data-table-expand-trigger`, this.expanded && `${clsPrefix}-data-table-expand-trigger--expanded`],\n onClick: this.onClick,\n onMousedown: e => {\n e.preventDefault();\n }\n }, h(NIconSwitchTransition, null, {\n default: () => {\n return this.loading ? h(NBaseLoading, {\n key: \"loading\",\n clsPrefix: this.clsPrefix,\n radius: 85,\n strokeWidth: 15,\n scale: 0.88\n }) : this.renderExpandIcon ? this.renderExpandIcon({\n expanded: this.expanded,\n rowData: this.rowData\n }) : h(NBaseIcon, {\n clsPrefix: clsPrefix,\n key: \"base-icon\"\n }, {\n default: () => h(ChevronRightIcon, null)\n });\n }\n }));\n }\n});","import { computed, defineComponent, h, inject, ref } from 'vue';\nimport { NScrollbar } from \"../../../_internal/index.mjs\";\nimport { useConfig, useRtl } from \"../../../_mixins/index.mjs\";\nimport { NButton } from \"../../../button/index.mjs\";\nimport { NCheckbox, NCheckboxGroup } from \"../../../checkbox/index.mjs\";\nimport { NRadio, NRadioGroup } from \"../../../radio/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport { shouldUseArrayInSingleMode } from \"../utils.mjs\";\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 {\n mergedClsPrefixRef: mergedClsPrefixRefRtl,\n mergedRtlRef\n } = useConfig(props);\n const rtlEnabledRef = useRtl('DataTable', mergedRtlRef, mergedClsPrefixRefRtl);\n const {\n mergedClsPrefixRef,\n mergedThemeRef,\n localeRef\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 {\n value: temporalValue\n } = temporalValueRef;\n if (!Array.isArray(temporalValue)) return null;\n return temporalValue;\n });\n const radioGroupValueRef = computed(() => {\n const {\n value: temporalValue\n } = temporalValueRef;\n if (shouldUseArrayInSingleMode(props.column)) {\n return Array.isArray(temporalValue) && temporalValue.length && temporalValue[0] || null;\n }\n if (!Array.isArray(temporalValue)) 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 } else if (shouldUseArrayInSingleMode(props.column) && !Array.isArray(value)) {\n /** this branch is for compatibility */\n temporalValueRef.value = [value];\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 } else {\n doChange(null);\n }\n props.onClear();\n }\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n rtlEnabled: rtlEnabledRef,\n mergedTheme: mergedThemeRef,\n locale: localeRef,\n checkboxGroupValue: checkboxGroupValueRef,\n radioGroupValue: radioGroupValueRef,\n handleChange,\n handleConfirmClick,\n handleClearClick\n };\n },\n render() {\n const {\n mergedTheme,\n locale,\n mergedClsPrefix\n } = this;\n return h(\"div\", {\n class: [`${mergedClsPrefix}-data-table-filter-menu`, this.rtlEnabled && `${mergedClsPrefix}-data-table-filter-menu--rtl`]\n }, h(NScrollbar, null, {\n default: () => {\n const {\n checkboxGroupValue,\n handleChange\n } = this;\n return this.multiple ? h(NCheckboxGroup, {\n value: checkboxGroupValue,\n class: `${mergedClsPrefix}-data-table-filter-menu__group`,\n onUpdateValue: handleChange\n }, {\n default: () => this.options.map(option => {\n return h(NCheckbox, {\n key: option.value,\n theme: mergedTheme.peers.Checkbox,\n themeOverrides: mergedTheme.peerOverrides.Checkbox,\n value: option.value\n }, {\n default: () => option.label\n });\n })\n }) : h(NRadioGroup, {\n name: this.radioGroupName,\n class: `${mergedClsPrefix}-data-table-filter-menu__group`,\n value: this.radioGroupValue,\n onUpdateValue: this.handleChange\n }, {\n default: () => this.options.map(option => h(NRadio, {\n key: option.value,\n value: option.value,\n theme: mergedTheme.peers.Radio,\n themeOverrides: mergedTheme.peerOverrides.Radio\n }, {\n default: () => option.label\n }))\n });\n }\n }), h(\"div\", {\n class: `${mergedClsPrefix}-data-table-filter-menu__action`\n }, h(NButton, {\n size: \"tiny\",\n theme: mergedTheme.peers.Button,\n themeOverrides: mergedTheme.peerOverrides.Button,\n onClick: this.handleClearClick\n }, {\n default: () => locale.clear\n }), h(NButton, {\n theme: mergedTheme.peers.Button,\n themeOverrides: mergedTheme.peerOverrides.Button,\n type: \"primary\",\n size: \"tiny\",\n onClick: this.handleConfirmClick\n }, {\n default: () => locale.confirm\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 {\n render,\n active,\n show\n } = this;\n return render({\n active,\n show\n });\n }\n});","import { computed, defineComponent, h, inject, ref } from 'vue';\nimport { NBaseIcon } from \"../../../_internal/index.mjs\";\nimport { FilterIcon } from \"../../../_internal/icons/index.mjs\";\nimport { useConfig } from \"../../../_mixins/index.mjs\";\nimport { NPopover } from \"../../../popover/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport NDataTableFilterMenu from \"./FilterMenu.mjs\";\nimport RenderFilter from \"./RenderFilter.mjs\";\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 {\n mergedComponentPropsRef\n } = useConfig();\n const {\n mergedThemeRef,\n mergedClsPrefixRef,\n mergedFilterStateRef,\n filterMenuCssVarsRef,\n paginationBehaviorOnFilterRef,\n doUpdatePage,\n doUpdateFilters,\n filterIconPopoverPropsRef\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 {\n value: multiple\n } = filterMultipleRef;\n if (multiple) return [];else return null;\n }\n return filterValue;\n });\n const activeRef = computed(() => {\n const {\n value: filterValue\n } = 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) || 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 filterIconPopoverProps: filterIconPopoverPropsRef,\n filterMultiple: filterMultipleRef,\n mergedFilterValue: mergedFilterValueRef,\n filterMenuCssVars: filterMenuCssVarsRef,\n handleFilterChange,\n handleFilterMenuConfirm,\n handleFilterMenuCancel\n };\n },\n render() {\n const {\n mergedTheme,\n mergedClsPrefix,\n handleFilterMenuCancel,\n filterIconPopoverProps\n } = this;\n return h(NPopover, Object.assign({\n show: this.showPopover,\n onUpdateShow: v => this.showPopover = v,\n trigger: \"click\",\n theme: mergedTheme.peers.Popover,\n themeOverrides: mergedTheme.peerOverrides.Popover,\n placement: \"bottom\"\n }, filterIconPopoverProps, {\n style: {\n padding: 0\n }\n }), {\n trigger: () => {\n const {\n mergedRenderFilter\n } = this;\n if (mergedRenderFilter) {\n return h(RenderFilter, {\n \"data-data-table-filter\": true,\n render: mergedRenderFilter,\n active: this.active,\n show: this.showPopover\n });\n }\n const {\n renderFilterIcon\n } = this.column;\n return h(\"div\", {\n \"data-data-table-filter\": true,\n class: [`${mergedClsPrefix}-data-table-filter`, {\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, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => h(FilterIcon, null)\n }));\n },\n default: () => {\n const {\n renderFilterMenu\n } = this.column;\n return renderFilterMenu ? renderFilterMenu({\n hide: handleFilterMenuCancel\n }) : h(NDataTableFilterMenu, {\n style: this.filterMenuCssVars,\n radioGroupName: String(this.column.key),\n multiple: this.filterMultiple,\n value: this.mergedFilterValue,\n options: this.options,\n column: this.column,\n onChange: this.handleFilterChange,\n onClear: this.handleFilterMenuCancel,\n onConfirm: this.handleFilterMenuConfirm\n });\n }\n });\n }\n});","import { off, on } from 'evtd';\nimport { defineComponent, h, inject, onBeforeUnmount, ref } from 'vue';\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nexport default defineComponent({\n name: 'ColumnResizeButton',\n props: {\n onResizeStart: Function,\n onResize: Function,\n onResizeEnd: Function\n },\n setup(props) {\n const {\n mergedClsPrefixRef\n } = 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 {\n mergedClsPrefix\n } = this;\n return h(\"span\", {\n \"data-data-table-resizable\": true,\n class: [`${mergedClsPrefix}-data-table-resize-button`, this.active && `${mergedClsPrefix}-data-table-resize-button--active`],\n onMousedown: this.handleMousedown\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 {\n render,\n order\n } = this;\n return render({\n order\n });\n }\n});","import { computed, defineComponent, h, inject } from 'vue';\nimport { NBaseIcon } from \"../../../_internal/index.mjs\";\nimport { ArrowDownIcon } from \"../../../_internal/icons/index.mjs\";\nimport { useConfig } from \"../../../_mixins/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport RenderSorter from \"./RenderSorter.mjs\";\nexport default defineComponent({\n name: 'SortIcon',\n props: {\n column: {\n type: Object,\n required: true\n }\n },\n setup(props) {\n const {\n mergedComponentPropsRef\n } = useConfig();\n const {\n mergedSortStateRef,\n mergedClsPrefixRef\n } = 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 {\n value: sortState\n } = 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) || props.column.renderSorter;\n });\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n mergedSortOrder: mergedSortOrderRef,\n mergedRenderSorter: mergedRenderSorterRef\n };\n },\n render() {\n const {\n mergedRenderSorter,\n mergedSortOrder,\n mergedClsPrefix\n } = this;\n const {\n renderSorterIcon\n } = this.column;\n return mergedRenderSorter ? h(RenderSorter, {\n render: mergedRenderSorter,\n order: mergedSortOrder\n }) : h(\"span\", {\n class: [`${mergedClsPrefix}-data-table-sorter`, mergedSortOrder === 'ascend' && `${mergedClsPrefix}-data-table-sorter--asc`, mergedSortOrder === 'descend' && `${mergedClsPrefix}-data-table-sorter--desc`]\n }, renderSorterIcon ? renderSorterIcon({\n order: mergedSortOrder\n }) : h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => h(ArrowDownIcon, null)\n }));\n }\n});","import { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const dropdownMenuInjectionKey = createInjectionKey('n-dropdown-menu');\nexport const dropdownInjectionKey = createInjectionKey('n-dropdown');\nexport const dropdownOptionInjectionKey = createInjectionKey('n-dropdown-option');","import { defineComponent, h } 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\", {\n class: `${this.clsPrefix}-dropdown-divider`\n });\n }\n});","import { defineComponent, h, inject } from 'vue';\nimport { render } from \"../../_utils/index.mjs\";\nimport { dropdownInjectionKey, dropdownMenuInjectionKey } from \"./context.mjs\";\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 {\n showIconRef,\n hasSubmenuRef\n } = inject(dropdownMenuInjectionKey);\n const {\n renderLabelRef,\n labelFieldRef,\n nodePropsRef,\n renderOptionRef\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 {\n clsPrefix,\n hasSubmenu,\n showIcon,\n nodeProps,\n renderLabel,\n renderOption\n } = this;\n const {\n rawNode\n } = this.tmNode;\n const node = h(\"div\", Object.assign({\n class: `${clsPrefix}-dropdown-option`\n }, nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode)), h(\"div\", {\n class: `${clsPrefix}-dropdown-option-body ${clsPrefix}-dropdown-option-body--group`\n }, h(\"div\", {\n \"data-dropdown-option\": true,\n class: [`${clsPrefix}-dropdown-option-body__prefix`, showIcon && `${clsPrefix}-dropdown-option-body__prefix--show-icon`]\n }, render(rawNode.icon)), h(\"div\", {\n class: `${clsPrefix}-dropdown-option-body__label`,\n \"data-dropdown-option\": true\n }, renderLabel ? renderLabel(rawNode) : render((_a = rawNode.title) !== null && _a !== void 0 ? _a : rawNode[this.labelField])), h(\"div\", {\n class: [`${clsPrefix}-dropdown-option-body__suffix`, hasSubmenu && `${clsPrefix}-dropdown-option-body__suffix--has-submenu`],\n \"data-dropdown-option\": true\n })));\n if (renderOption) {\n return renderOption({\n node,\n option: rawNode\n });\n }\n return node;\n }\n});","export function isSubmenuNode(rawNode, childrenField) {\n return rawNode.type === 'submenu' || 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}","import { happensIn } from 'seemly';\nimport { useMemo } from 'vooks';\nimport { computed, defineComponent, h, inject, mergeProps, provide, ref, Transition } from 'vue';\nimport { VBinder, VFollower, VTarget } from 'vueuc';\nimport { ChevronRightIcon } from \"../../_internal/icons/index.mjs\";\nimport { render, useDeferredTrue } from \"../../_utils/index.mjs\";\nimport { NIcon } from \"../../icon/index.mjs\";\nimport { popoverBodyInjectionKey } from \"../../popover/src/interface.mjs\";\nimport { dropdownInjectionKey, dropdownMenuInjectionKey, dropdownOptionInjectionKey } from \"./context.mjs\";\nimport NDropdownMenu from \"./DropdownMenu.mjs\";\nimport { isSubmenuNode } from \"./utils.mjs\";\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 const NDropdown = inject(dropdownInjectionKey);\n const {\n hoverKeyRef,\n keyboardKeyRef,\n lastToggledSubmenuKeyRef,\n pendingKeyPathRef,\n activeKeyPathRef,\n animatedRef,\n mergedShowRef,\n renderLabelRef,\n renderIconRef,\n labelFieldRef,\n childrenFieldRef,\n renderOptionRef,\n nodePropsRef,\n menuPropsRef\n } = NDropdown;\n const NDropdownOption = inject(dropdownOptionInjectionKey, null);\n const NDropdownMenu = inject(dropdownMenuInjectionKey);\n const NPopoverBody = inject(popoverBodyInjectionKey);\n const rawNodeRef = computed(() => props.tmNode.rawNode);\n const hasSubmenuRef = computed(() => {\n const {\n value: childrenField\n } = childrenFieldRef;\n return isSubmenuNode(props.tmNode.rawNode, childrenField);\n });\n const mergedDisabledRef = computed(() => {\n const {\n disabled\n } = props.tmNode;\n return disabled;\n });\n const showSubmenuRef = computed(() => {\n if (!hasSubmenuRef.value) return false;\n const {\n key,\n disabled\n } = props.tmNode;\n if (disabled) return false;\n const {\n value: hoverKey\n } = hoverKeyRef;\n const {\n value: keyboardKey\n } = keyboardKeyRef;\n const {\n value: lastToggledSubmenuKey\n } = lastToggledSubmenuKeyRef;\n const {\n value: pendingKeyPath\n } = pendingKeyPathRef;\n if (hoverKey !== null) return pendingKeyPath.includes(key);\n if (keyboardKey !== null) {\n return pendingKeyPath.includes(key) && pendingKeyPath[pendingKeyPath.length - 1] !== key;\n }\n if (lastToggledSubmenuKey !== null) 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 {\n parentKey,\n tmNode\n } = props;\n if (tmNode.disabled) return;\n if (!mergedShowRef.value) return;\n lastToggledSubmenuKeyRef.value = parentKey;\n keyboardKeyRef.value = null;\n hoverKeyRef.value = tmNode.key;\n }\n function handleMouseMove() {\n const {\n tmNode\n } = props;\n if (tmNode.disabled) return;\n if (!mergedShowRef.value) return;\n if (hoverKeyRef.value === tmNode.key) return;\n handleMouseEnter();\n }\n function handleMouseLeave(e) {\n if (props.tmNode.disabled) return;\n if (!mergedShowRef.value) return;\n const {\n relatedTarget\n } = e;\n if (relatedTarget && !happensIn({\n target: relatedTarget\n }, 'dropdownOption') && !happensIn({\n target: relatedTarget\n }, 'scrollbarRail')) {\n hoverKeyRef.value = null;\n }\n }\n function handleClick() {\n const {\n value: hasSubmenu\n } = hasSubmenuRef;\n const {\n tmNode\n } = props;\n if (!mergedShowRef.value) 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 {\n value: pendingKeyPath\n } = pendingKeyPathRef;\n const {\n key\n } = props.tmNode;\n return pendingKeyPath.includes(key);\n }),\n childActive: useMemo(() => {\n const {\n value: activeKeyPath\n } = activeKeyPathRef;\n const {\n key\n } = props.tmNode;\n const index = activeKeyPath.findIndex(k => key === k);\n if (index === -1) return false;\n return index < activeKeyPath.length - 1;\n }),\n active: useMemo(() => {\n const {\n value: activeKeyPath\n } = activeKeyPathRef;\n const {\n key\n } = props.tmNode;\n const index = activeKeyPath.findIndex(k => key === k);\n if (index === -1) 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 {\n animated,\n rawNode,\n mergedShowSubmenu,\n clsPrefix,\n siblingHasIcon,\n siblingHasSubmenu,\n renderLabel,\n renderIcon,\n renderOption,\n nodeProps,\n props,\n scrollable\n } = 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, {\n clsPrefix: clsPrefix,\n scrollable: this.scrollable,\n tmNodes: this.tmNode.children,\n parentKey: this.tmNode.key\n }));\n }\n const builtinProps = {\n class: [`${clsPrefix}-dropdown-option-body`, this.pending && `${clsPrefix}-dropdown-option-body--pending`, this.active && `${clsPrefix}-dropdown-option-body--active`, this.childActive && `${clsPrefix}-dropdown-option-body--child-active`, this.mergedDisabled && `${clsPrefix}-dropdown-option-body--disabled`],\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({\n class: [`${clsPrefix}-dropdown-option`, optionNodeProps === null || optionNodeProps === void 0 ? void 0 : optionNodeProps.class],\n \"data-dropdown-option\": true\n }, optionNodeProps), h('div', mergeProps(builtinProps, props), [h(\"div\", {\n class: [`${clsPrefix}-dropdown-option-body__prefix`, siblingHasIcon && `${clsPrefix}-dropdown-option-body__prefix--show-icon`]\n }, [renderIcon ? renderIcon(rawNode) : render(rawNode.icon)]), h(\"div\", {\n \"data-dropdown-option\": true,\n class: `${clsPrefix}-dropdown-option-body__label`\n }, renderLabel ? renderLabel(rawNode) : render((_b = rawNode[this.labelField]) !== null && _b !== void 0 ? _b : rawNode.title)), h(\"div\", {\n \"data-dropdown-option\": true,\n class: [`${clsPrefix}-dropdown-option-body__suffix`, siblingHasSubmenu && `${clsPrefix}-dropdown-option-body__suffix--has-submenu`]\n }, this.hasSubmenu ? h(NIcon, null, {\n default: () => h(ChevronRightIcon, null)\n }) : null)]), this.hasSubmenu ? h(VBinder, null, {\n default: () => [h(VTarget, null, {\n default: () => h(\"div\", {\n class: `${clsPrefix}-dropdown-offset-container`\n }, h(VFollower, {\n show: this.mergedShowSubmenu,\n placement: this.placement,\n to: scrollable ? this.popoverBody || undefined : undefined,\n teleportDisabled: !scrollable\n }, {\n default: () => {\n return h(\"div\", {\n class: `${clsPrefix}-dropdown-menu-wrapper`\n }, animated ? h(Transition, {\n onBeforeEnter: this.handleSubmenuBeforeEnter,\n onAfterEnter: this.handleSubmenuAfterEnter,\n name: \"fade-in-scale-up-transition\",\n appear: true\n }, {\n default: () => submenuVNode\n }) : submenuVNode);\n }\n }))\n })]\n }) : null);\n if (renderOption) {\n return renderOption({\n node,\n option: rawNode\n });\n }\n return node;\n }\n});","import { defineComponent, Fragment, h } from 'vue';\nimport { warn } from \"../../_utils/index.mjs\";\nimport NDropdownDivider from \"./DropdownDivider.mjs\";\nimport NDropdownGroupHeader from \"./DropdownGroupHeader.mjs\";\nimport NDropdownOption from \"./DropdownOption.mjs\";\nimport { isDividerNode } from \"./utils.mjs\";\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 {\n tmNode,\n parentKey,\n clsPrefix\n } = this;\n const {\n children\n } = tmNode;\n return h(Fragment, null, h(NDropdownGroupHeader, {\n clsPrefix: clsPrefix,\n tmNode: tmNode,\n key: tmNode.key\n }), children === null || children === void 0 ? void 0 : children.map(child => {\n const {\n rawNode\n } = child;\n if (rawNode.show === false) 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, {\n clsPrefix: clsPrefix,\n tmNode: child,\n parentKey: parentKey,\n key: child.key\n });\n }));\n }\n});","import { defineComponent, h } from 'vue';\nexport default defineComponent({\n name: 'DropdownRenderOption',\n props: {\n tmNode: {\n type: Object,\n required: true\n }\n },\n render() {\n const {\n rawNode: {\n render,\n props\n }\n } = this.tmNode;\n return h('div', props, [render === null || render === void 0 ? void 0 : render()]);\n }\n});","import { computed, defineComponent, h, inject, provide, ref } from 'vue';\nimport { NxScrollbar } from \"../../_internal/scrollbar/index.mjs\";\nimport { drawerBodyInjectionKey } from \"../../drawer/src/interface.mjs\";\nimport { modalBodyInjectionKey } from \"../../modal/src/interface.mjs\";\nimport { popoverBodyInjectionKey } from \"../../popover/src/interface.mjs\";\nimport { renderArrow } from \"../../popover/src/PopoverBody.mjs\";\nimport { dropdownInjectionKey, dropdownMenuInjectionKey } from \"./context.mjs\";\nimport NDropdownDivider from \"./DropdownDivider.mjs\";\nimport NDropdownGroup from \"./DropdownGroup.mjs\";\nimport NDropdownOption from \"./DropdownOption.mjs\";\nimport NDropdownRenderOption from \"./DropdownRenderOption.mjs\";\nimport { isDividerNode, isGroupNode, isRenderNode, isSubmenuNode } from \"./utils.mjs\";\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 const {\n renderIconRef,\n childrenFieldRef\n } = 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(({\n rawNode: rawChild\n }) => renderIcon ? renderIcon(rawChild) : rawChild.icon);\n }\n const {\n rawNode\n } = tmNode;\n return renderIcon ? renderIcon(rawNode) : rawNode.icon;\n });\n }),\n hasSubmenuRef: computed(() => {\n const {\n value: childrenField\n } = 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(({\n rawNode: rawChild\n }) => isSubmenuNode(rawChild, childrenField));\n }\n const {\n rawNode\n } = 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 {\n parentKey,\n clsPrefix,\n scrollable\n } = this;\n const menuOptionsNode = this.tmNodes.map(tmNode => {\n const {\n rawNode\n } = tmNode;\n if (rawNode.show === false) return null;\n if (isRenderNode(rawNode)) {\n return h(NDropdownRenderOption, {\n tmNode: tmNode,\n key: tmNode.key\n });\n }\n if (isDividerNode(rawNode)) {\n return h(NDropdownDivider, {\n clsPrefix: clsPrefix,\n key: tmNode.key\n });\n }\n if (isGroupNode(rawNode)) {\n return h(NDropdownGroup, {\n clsPrefix: clsPrefix,\n tmNode: tmNode,\n parentKey: parentKey,\n key: tmNode.key\n });\n }\n return h(NDropdownOption, {\n clsPrefix: clsPrefix,\n tmNode: tmNode,\n parentKey: parentKey,\n key: tmNode.key,\n props: rawNode.props,\n scrollable: scrollable\n });\n });\n return h(\"div\", {\n class: [`${clsPrefix}-dropdown-menu`, scrollable && `${clsPrefix}-dropdown-menu--scrollable`],\n ref: \"bodyRef\"\n }, scrollable ? h(NxScrollbar, {\n contentClass: `${clsPrefix}-dropdown-menu__content`\n }, {\n default: () => menuOptionsNode\n }) : menuOptionsNode, this.showArrow ? renderArrow({\n clsPrefix,\n arrowStyle: this.arrowStyle,\n arrowClass: undefined,\n arrowWrapperClass: undefined,\n arrowWrapperStyle: undefined\n }) : null);\n }\n});","import { fadeInScaleUpTransition } from \"../../../_styles/transitions/fade-in-scale-up.cssr.mjs\";\nimport { c, cB, cE, cM, cNotM } from \"../../../_utils/cssr/index.mjs\";\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 { createTreeMate } from 'treemate';\nimport { useKeyboard, useMemo, useMergedState } from 'vooks';\nimport { computed, defineComponent, h, mergeProps, provide, ref, toRef, watch } from 'vue';\nimport { useConfig, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { call, createKey, createRefSetter, keep } from \"../../_utils/index.mjs\";\nimport { NPopover } from \"../../popover/index.mjs\";\nimport { popoverBaseProps } from \"../../popover/src/Popover.mjs\";\nimport { dropdownLight } from \"../styles/index.mjs\";\nimport { dropdownInjectionKey } from \"./context.mjs\";\nimport NDropdownMenu from \"./DropdownMenu.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\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 {\n keyField,\n childrenField\n } = 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 {\n mergedClsPrefixRef,\n inlineThemeDisabled\n } = 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 {\n onSelect\n } = props;\n if (onSelect) call(onSelect, key, node);\n }\n function doUpdateShow(value) {\n const {\n 'onUpdate:show': _onUpdateShow,\n onUpdateShow\n } = props;\n if (_onUpdateShow) call(_onUpdateShow, value);\n if (onUpdateShow) 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 {\n value: treeMate\n } = treemateRef;\n const {\n value: pendingKey\n } = pendingKeyRef;\n if (!treeMate || pendingKey === null) return null;\n return (_a = treeMate.getNode(pendingKey)) !== null && _a !== void 0 ? _a : null;\n }\n function handleKeydown(direction) {\n const {\n value: pendingKey\n } = pendingKeyRef;\n const {\n value: {\n getFirstAvailableNode\n }\n } = treemateRef;\n let nextKeyboardKey = null;\n if (pendingKey === null) {\n const firstNode = getFirstAvailableNode();\n if (firstNode !== null) {\n nextKeyboardKey = firstNode.key;\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) 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 {\n size,\n inverted\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self\n } = themeRef.value;\n const {\n padding,\n dividerColor,\n borderRadius,\n optionOpacityDisabled,\n [createKey('optionIconSuffixWidth', size)]: optionIconSuffixWidth,\n [createKey('optionSuffixWidth', size)]: optionSuffixWidth,\n [createKey('optionIconPrefixWidth', size)]: optionIconPrefixWidth,\n [createKey('optionPrefixWidth', size)]: optionPrefixWidth,\n [createKey('fontSize', size)]: fontSize,\n [createKey('optionHeight', size)]: optionHeight,\n [createKey('optionIconSize', size)]: optionIconSize\n } = 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'] = self.optionTextColorActiveInverted;\n vars['--n-option-text-color-child-active'] = 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 } 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'] = 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 ? useThemeClass('dropdown', computed(() => `${props.size[0]}${props.inverted ? 'i' : ''}`), cssVarsRef, props) : 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) 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 {\n mergedClsPrefix,\n menuProps\n } = 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 {\n mergedTheme\n } = 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: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n });\n }\n});","import { computed, defineComponent, h, inject } from 'vue';\nimport { NBaseIcon } from \"../../../_internal/index.mjs\";\nimport { ChevronDownIcon } from \"../../../_internal/icons/index.mjs\";\nimport { NDropdown } from \"../../../dropdown/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nconst allKey = '_n_all__';\nconst noneKey = '_n_none__';\nfunction createSelectHandler(options, rawPaginatedDataRef, doCheckAll, doUncheckAll) {\n if (!options) 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) 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 {\n props: dataTableProps,\n localeRef,\n checkOptionsRef,\n rawPaginatedDataRef,\n doCheckAll,\n doUncheckAll\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 {\n clsPrefix\n } = props;\n return h(NDropdown, {\n theme: (_b = (_a = dataTableProps.theme) === null || _a === void 0 ? void 0 : _a.peers) === null || _b === void 0 ? void 0 : _b.Dropdown,\n themeOverrides: (_d = (_c = dataTableProps.themeOverrides) === null || _c === void 0 ? void 0 : _c.peers) === null || _d === void 0 ? void 0 : _d.Dropdown,\n options: optionsRef.value,\n onSelect: handleSelectRef.value\n }, {\n default: () => h(NBaseIcon, {\n clsPrefix: clsPrefix,\n class: `${clsPrefix}-data-table-check-extra`\n }, {\n default: () => h(ChevronDownIcon, null)\n })\n });\n };\n }\n});","import { happensIn, pxfy } from 'seemly';\nimport { defineComponent, Fragment, h, inject, ref } from 'vue';\nimport { VVirtualList } from 'vueuc';\nimport { formatLength } from \"../../../_utils/index.mjs\";\nimport { NCheckbox } from \"../../../checkbox/index.mjs\";\nimport { NEllipsis } from \"../../../ellipsis/index.mjs\";\nimport FilterButton from \"../HeaderButton/FilterButton.mjs\";\nimport ResizeButton from \"../HeaderButton/ResizeButton.mjs\";\nimport SortButton from \"../HeaderButton/SortButton.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport { clampValueFollowCSSRules, createNextSorter, getColKey, isColumnFilterable, isColumnResizable, isColumnSortable, isColumnSorting } from \"../utils.mjs\";\nimport SelectionMenu from \"./SelectionMenu.mjs\";\nfunction renderTitle(column) {\n return typeof column.title === 'function' ? column.title(column) : column.title;\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 width: String\n },\n render() {\n const {\n clsPrefix,\n id,\n cols,\n width\n } = this;\n return h(\"table\", {\n style: {\n tableLayout: 'fixed',\n width\n },\n class: `${clsPrefix}-data-table-table`\n }, h(\"colgroup\", null, cols.map(col => h(\"col\", {\n key: col.key,\n style: col.style\n }))), h(\"thead\", {\n \"data-n-id\": id,\n class: `${clsPrefix}-data-table-thead`\n }, this.$slots));\n }\n});\nexport default defineComponent({\n name: 'DataTableHeader',\n props: {\n discrete: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const {\n mergedClsPrefixRef,\n scrollXRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n mergedCurrentPageRef,\n allRowsCheckedRef,\n someRowsCheckedRef,\n rowsRef,\n colsRef,\n mergedThemeRef,\n checkOptionsRef,\n mergedSortStateRef,\n componentId,\n mergedTableLayoutRef,\n headerCheckboxDisabledRef,\n virtualScrollHeaderRef,\n headerHeightRef,\n onUnstableColumnResize,\n doUpdateResizableWidth,\n handleTableHeaderScroll,\n deriveNextSorter,\n doUncheckAll,\n doCheckAll\n } = inject(dataTableInjectionKey);\n const virtualListRef = ref();\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 } else {\n doCheckAll();\n }\n }\n function handleColHeaderClick(e, column) {\n if (happensIn(e, 'dataTableFilter') || happensIn(e, 'dataTableResizable')) {\n return;\n }\n if (!isColumnSortable(column)) 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 headerHeight: headerHeightRef,\n virtualScrollHeader: virtualScrollHeaderRef,\n virtualListRef,\n handleCheckboxUpdateChecked,\n handleColHeaderClick,\n handleTableHeaderScroll,\n handleColumnResizeStart,\n handleColumnResize\n };\n },\n render() {\n const {\n cellElsRef,\n mergedClsPrefix,\n fixedColumnLeftMap,\n fixedColumnRightMap,\n currentPage,\n allRowsChecked,\n someRowsChecked,\n rows,\n cols,\n mergedTheme,\n checkOptions,\n componentId,\n discrete,\n mergedTableLayout,\n headerCheckboxDisabled,\n mergedSortState,\n virtualScrollHeader,\n handleColHeaderClick,\n handleCheckboxUpdateChecked,\n handleColumnResizeStart,\n handleColumnResize\n } = this;\n let hasEllipsis = false;\n const renderRow = (row, getLeft, headerHeightPx) => row.map(({\n column,\n colIndex,\n colSpan,\n rowSpan,\n isLast\n }) => {\n var _a, _b;\n const key = getColKey(column);\n const {\n ellipsis\n } = column;\n if (!hasEllipsis && ellipsis) hasEllipsis = true;\n const createColumnVNode = () => {\n if (column.type === 'selection') {\n return column.multiple !== false ? h(Fragment, null, h(NCheckbox, {\n key: currentPage,\n privateInsideTable: true,\n checked: allRowsChecked,\n indeterminate: someRowsChecked,\n disabled: headerCheckboxDisabled,\n onUpdateChecked: handleCheckboxUpdateChecked\n }), checkOptions ? h(SelectionMenu, {\n clsPrefix: mergedClsPrefix\n }) : null) : null;\n }\n return h(Fragment, null, h(\"div\", {\n class: `${mergedClsPrefix}-data-table-th__title-wrapper`\n }, h(\"div\", {\n class: `${mergedClsPrefix}-data-table-th__title`\n }, ellipsis === true || ellipsis && !ellipsis.tooltip ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table-th__ellipsis`\n }, renderTitle(column)) : ellipsis && typeof ellipsis === 'object' ? h(NEllipsis, Object.assign({}, ellipsis, {\n theme: mergedTheme.peers.Ellipsis,\n themeOverrides: mergedTheme.peerOverrides.Ellipsis\n }), {\n default: () => renderTitle(column)\n }) : renderTitle(column)), isColumnSortable(column) ? h(SortButton, {\n column: column\n }) : null), isColumnFilterable(column) ? h(FilterButton, {\n column: column,\n options: column.filterOptions\n }) : null, isColumnResizable(column) ? h(ResizeButton, {\n onResizeStart: () => {\n handleColumnResizeStart(column);\n },\n onResize: displacementX => {\n handleColumnResize(column, displacementX);\n }\n }) : null);\n };\n const leftFixed = key in fixedColumnLeftMap;\n const rightFixed = key in fixedColumnRightMap;\n const CellComponent = getLeft && !column.fixed ? 'div' : 'th';\n return h(CellComponent, {\n ref: el => cellElsRef[key] = el,\n key: key,\n style: [getLeft && !column.fixed ? {\n position: 'absolute',\n left: pxfy(getLeft(colIndex)),\n top: 0,\n bottom: 0\n } : {\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 }, {\n width: pxfy(column.width),\n textAlign: column.titleAlign || column.align,\n height: headerHeightPx\n }],\n colspan: colSpan,\n rowspan: rowSpan,\n \"data-col-key\": key,\n class: [`${mergedClsPrefix}-data-table-th`, (leftFixed || rightFixed) && `${mergedClsPrefix}-data-table-th--fixed-${leftFixed ? 'left' : 'right'}`, {\n [`${mergedClsPrefix}-data-table-th--sorting`]: 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 }, column.className],\n onClick: column.type !== 'selection' && column.type !== 'expand' && !('children' in column) ? e => {\n handleColHeaderClick(e, column);\n } : undefined\n }, createColumnVNode());\n });\n if (virtualScrollHeader) {\n const {\n headerHeight\n } = this;\n let leftFixedColsCount = 0;\n let rightFixedColsCount = 0;\n cols.forEach(col => {\n if (col.column.fixed === 'left') {\n leftFixedColsCount++;\n } else if (col.column.fixed === 'right') {\n rightFixedColsCount++;\n }\n });\n return h(VVirtualList, {\n ref: \"virtualListRef\",\n class: `${mergedClsPrefix}-data-table-base-table-header`,\n style: {\n height: pxfy(headerHeight)\n },\n onScroll: this.handleTableHeaderScroll,\n columns: cols,\n itemSize: headerHeight,\n showScrollbar: false,\n items: [{}],\n itemResizable: false,\n visibleItemsTag: VirtualListItemWrapper,\n visibleItemsProps: {\n clsPrefix: mergedClsPrefix,\n id: componentId,\n cols,\n width: formatLength(this.scrollX)\n },\n renderItemWithCols: ({\n startColIndex,\n endColIndex,\n getLeft\n }) => {\n const row = cols.map((col, index) => {\n return {\n column: col.column,\n isLast: index === cols.length - 1,\n colIndex: col.index,\n colSpan: 1,\n rowSpan: 1\n };\n }).filter(({\n column\n }, index) => {\n if (startColIndex <= index && index <= endColIndex) {\n return true;\n }\n if (column.fixed) {\n return true;\n }\n return false;\n });\n const cells = renderRow(row, getLeft, pxfy(headerHeight));\n cells.splice(leftFixedColsCount, 0, h(\"th\", {\n colspan: cols.length - leftFixedColsCount - rightFixedColsCount,\n style: {\n pointerEvents: 'none',\n visibility: 'hidden',\n height: 0\n }\n }));\n return h(\"tr\", {\n style: {\n position: 'relative'\n }\n }, cells);\n }\n }, {\n default: ({\n renderedItemWithCols\n }) => renderedItemWithCols\n });\n }\n const theadVNode = h(\"thead\", {\n class: `${mergedClsPrefix}-data-table-thead`,\n \"data-n-id\": componentId\n }, rows.map(row => {\n return h(\"tr\", {\n class: `${mergedClsPrefix}-data-table-tr`\n }, renderRow(row, null, undefined));\n }));\n if (!discrete) {\n return theadVNode;\n }\n const {\n handleTableHeaderScroll,\n scrollX\n } = this;\n return h(\"div\", {\n class: `${mergedClsPrefix}-data-table-base-table-header`,\n onScroll: handleTableHeaderScroll\n }, h(\"table\", {\n class: `${mergedClsPrefix}-data-table-table`,\n style: {\n minWidth: formatLength(scrollX),\n tableLayout: mergedTableLayout\n }\n }, h(\"colgroup\", null, cols.map(col => h(\"col\", {\n key: col.key,\n style: col.style\n }))), theadVNode));\n }\n});","import { pxfy, repeat } from 'seemly';\nimport { useMemo } from 'vooks';\nimport { computed, defineComponent, Fragment, h, inject, onUnmounted, ref, watchEffect } from 'vue';\nimport { VirtualList, VResizeObserver } from 'vueuc';\nimport { NScrollbar } from \"../../../_internal/index.mjs\";\nimport { cssrAnchorMetaName } from \"../../../_mixins/common.mjs\";\nimport { formatLength, resolveSlot, warn } from \"../../../_utils/index.mjs\";\nimport { c } from \"../../../_utils/cssr/index.mjs\";\nimport { configProviderInjectionKey } from \"../../../config-provider/src/context.mjs\";\nimport { NEmpty } from \"../../../empty/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport { createRowClassName, getColKey, isColumnSorting } from \"../utils.mjs\";\nimport RenderSafeCheckbox from \"./BodyCheckbox.mjs\";\nimport RenderSafeRadio from \"./BodyRadio.mjs\";\nimport Cell from \"./Cell.mjs\";\nimport ExpandTrigger from \"./ExpandTrigger.mjs\";\nimport TableHeader from \"./Header.mjs\";\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 } 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 {\n children\n } = 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 {\n clsPrefix,\n id,\n cols,\n onMouseenter,\n onMouseleave\n } = this;\n return h(\"table\", {\n style: {\n tableLayout: 'fixed'\n },\n class: `${clsPrefix}-data-table-table`,\n onMouseenter: onMouseenter,\n onMouseleave: onMouseleave\n }, h(\"colgroup\", null, cols.map(col => h(\"col\", {\n key: col.key,\n style: col.style\n }))), h(\"tbody\", {\n \"data-n-id\": id,\n class: `${clsPrefix}-data-table-tbody`\n }, 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 {\n slots: dataTableSlots,\n bodyWidthRef,\n mergedExpandedRowKeysRef,\n mergedClsPrefixRef,\n mergedThemeRef,\n scrollXRef,\n colsRef,\n paginatedDataRef,\n rawPaginatedDataRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n mergedCurrentPageRef,\n rowClassNameRef,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n renderExpandRef,\n hoverKeyRef,\n summaryRef,\n mergedSortStateRef,\n virtualScrollRef,\n virtualScrollXRef,\n heightForRowRef,\n minRowHeightRef,\n componentId,\n mergedTableLayoutRef,\n childTriggerColIndexRef,\n indentRef,\n rowPropsRef,\n maxHeightRef,\n stripedRef,\n loadingRef,\n onLoadRef,\n loadingKeySetRef,\n expandableRef,\n stickyExpandedRowsRef,\n renderExpandIconRef,\n summaryPlacementRef,\n treeMateRef,\n scrollbarPropsRef,\n setHeaderScrollLeft,\n doUpdateExpandedRowKeys,\n handleTableBodyScroll,\n doCheck,\n doUncheck,\n renderCell\n } = inject(dataTableInjectionKey);\n const NConfigProvider = inject(configProviderInjectionKey);\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 } else {\n doUncheck(rowKeysToCheck, rowInfo);\n }\n lastSelectedKey = tmNode.key;\n return;\n }\n }\n if (checked) {\n doCheck(tmNode.key, false, rowInfo);\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 {\n value: emptyEl\n } = emptyElRef;\n if (emptyEl) {\n return emptyEl;\n } else {\n return null;\n }\n }\n if (virtualScrollRef.value) {\n return virtualListContainer();\n }\n const {\n value\n } = scrollbarInstRef;\n if (value) 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)) return;\n const {\n value: mergedExpandedRowKeys\n } = 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 } else {\n if (tmNode && !tmNode.isLeaf && !tmNode.shallowLoaded) {\n loadingKeySetRef.value.add(key);\n void ((_a = onLoadRef.value) === null || _a === void 0 ? void 0 : _a.call(onLoadRef, tmNode.rawNode).then(() => {\n const {\n value: futureMergedExpandedRowKeys\n } = 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 } else {\n nextExpandedKeys.push(key);\n doUpdateExpandedRowKeys(nextExpandedKeys);\n }\n }\n }\n function handleMouseleaveTable() {\n hoverKeyRef.value = null;\n }\n function virtualListContainer() {\n const {\n value\n } = virtualListRef;\n return (value === null || value === void 0 ? void 0 : value.listElRef) || null;\n }\n function virtualListContent() {\n const {\n value\n } = 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 {\n onResize\n } = props;\n if (onResize) 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 (_a = virtualListRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n } else {\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 }) => {\n const createActiveLeftFixedStyle = leftActiveFixedColKey => {\n if (leftActiveFixedColKey === null) return null;\n return c(`[data-n-id=\"${cProps.componentId}\"] [data-col-key=\"${leftActiveFixedColKey}\"]::after`, {\n boxShadow: 'var(--n-box-shadow-after)'\n });\n };\n const createActiveRightFixedStyle = rightActiveFixedColKey => {\n if (rightActiveFixedColKey === null) return null;\n return c(`[data-n-id=\"${cProps.componentId}\"] [data-col-key=\"${rightActiveFixedColKey}\"]::before`, {\n boxShadow: 'var(--n-box-shadow-before)'\n });\n };\n return c([createActiveLeftFixedStyle(cProps.leftActiveFixedColKey), createActiveRightFixedStyle(cProps.rightActiveFixedColKey), cProps.leftActiveFixedChildrenColKeys.map(leftActiveFixedColKey => createActiveLeftFixedStyle(leftActiveFixedColKey)), cProps.rightActiveFixedChildrenColKeys.map(rightActiveFixedColKey => createActiveRightFixedStyle(rightActiveFixedColKey))]);\n }]);\n let fixedStyleMounted = false;\n watchEffect(() => {\n const {\n value: leftActiveFixedColKey\n } = leftActiveFixedColKeyRef;\n const {\n value: leftActiveFixedChildrenColKeys\n } = leftActiveFixedChildrenColKeysRef;\n const {\n value: rightActiveFixedColKey\n } = rightActiveFixedColKeyRef;\n const {\n value: rightActiveFixedChildrenColKeys\n } = rightActiveFixedChildrenColKeysRef;\n if (!fixedStyleMounted && leftActiveFixedColKey === null && 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 parent: NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.styleMountTarget\n });\n fixedStyleMounted = true;\n });\n onUnmounted(() => {\n style.unmount({\n id: `n-${componentId}`,\n parent: NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.styleMountTarget\n });\n });\n return Object.assign({\n bodyWidth: bodyWidthRef,\n summaryPlacement: summaryPlacementRef,\n dataTableSlots,\n componentId,\n scrollbarInstRef,\n virtualListRef,\n emptyElRef,\n summary: summaryRef,\n mergedClsPrefix: mergedClsPrefixRef,\n mergedTheme: mergedThemeRef,\n scrollX: scrollXRef,\n cols: colsRef,\n loading: loadingRef,\n bodyShowHeaderOnly: bodyShowHeaderOnlyRef,\n shouldDisplaySomeTablePart: shouldDisplaySomeTablePartRef,\n empty: emptyRef,\n paginatedDataAndInfo: computed(() => {\n const {\n value: striped\n } = stripedRef;\n let hasChildren = false;\n const data = paginatedDataRef.value.map(striped ? (tmNode, index) => {\n if (!tmNode.isLeaf) hasChildren = true;\n return {\n tmNode,\n key: tmNode.key,\n striped: index % 2 === 1,\n index\n };\n } : (tmNode, index) => {\n if (!tmNode.isLeaf) 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 }),\n rawPaginatedData: rawPaginatedDataRef,\n fixedColumnLeftMap: fixedColumnLeftMapRef,\n fixedColumnRightMap: fixedColumnRightMapRef,\n currentPage: mergedCurrentPageRef,\n rowClassName: rowClassNameRef,\n renderExpand: renderExpandRef,\n mergedExpandedRowKeySet: mergedExpandedRowKeySetRef,\n hoverKey: hoverKeyRef,\n mergedSortState: mergedSortStateRef,\n virtualScroll: virtualScrollRef,\n virtualScrollX: virtualScrollXRef,\n heightForRow: heightForRowRef,\n minRowHeight: minRowHeightRef,\n mergedTableLayout: mergedTableLayoutRef,\n childTriggerColIndex: childTriggerColIndexRef,\n indent: indentRef,\n rowProps: rowPropsRef,\n maxHeight: maxHeightRef,\n loadingKeySet: loadingKeySetRef,\n expandable: expandableRef,\n stickyExpandedRows: stickyExpandedRowsRef,\n renderExpandIcon: renderExpandIconRef,\n scrollbarProps: scrollbarPropsRef,\n setHeaderScrollLeft,\n handleVirtualListScroll,\n handleVirtualListResize,\n handleMouseleaveTable,\n virtualListContainer,\n virtualListContent,\n handleTableBodyScroll,\n handleCheckboxUpdateChecked,\n handleRadioUpdateChecked,\n handleUpdateExpanded,\n renderCell\n }, exposedMethods);\n },\n render() {\n const {\n mergedTheme,\n scrollX,\n mergedClsPrefix,\n virtualScroll,\n maxHeight,\n mergedTableLayout,\n flexHeight,\n loadingKeySet,\n onResize,\n setHeaderScrollLeft\n } = 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) contentStyle.width = '100%';\n const tableNode = h(NScrollbar, Object.assign({}, this.scrollbarProps, {\n ref: \"scrollbarInstRef\",\n scrollable: scrollable || isBasicAutoLayout,\n class: `${mergedClsPrefix}-data-table-base-table-body`,\n style: !this.empty ? this.bodyStyle : undefined,\n theme: mergedTheme.peers.Scrollbar,\n themeOverrides: mergedTheme.peerOverrides.Scrollbar,\n contentStyle: contentStyle,\n container: virtualScroll ? this.virtualListContainer : undefined,\n content: virtualScroll ? this.virtualListContent : undefined,\n horizontalRailStyle: {\n zIndex: 3\n },\n verticalRailStyle: {\n zIndex: 3\n },\n xScrollable: xScrollable,\n onScroll: virtualScroll ? undefined : this.handleTableBodyScroll,\n internalOnUpdateScrollLeft: setHeaderScrollLeft,\n onResize: onResize\n }), {\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 {\n cols,\n paginatedDataAndInfo,\n mergedTheme,\n fixedColumnLeftMap,\n fixedColumnRightMap,\n currentPage,\n rowClassName,\n mergedSortState,\n mergedExpandedRowKeySet,\n stickyExpandedRows,\n componentId,\n childTriggerColIndex,\n expandable,\n rowProps,\n handleMouseleaveTable,\n renderExpand,\n summary,\n handleCheckboxUpdateChecked,\n handleRadioUpdateChecked,\n handleUpdateExpanded,\n heightForRow,\n minRowHeight,\n virtualScrollX\n } = this;\n const {\n length: colCount\n } = cols;\n let mergedData;\n // if there is children in data, we should expand mergedData first\n const {\n data: paginatedData,\n hasChildren\n } = paginatedDataAndInfo;\n const mergedPaginationData = hasChildren ? flatten(paginatedData, mergedExpandedRowKeySet) : 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 = this.summaryPlacement === 'top' ? [...summaryRowData, ...mergedPaginationData] : [...mergedPaginationData, ...summaryRowData];\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 = this.summaryPlacement === 'top' ? [summaryRowData, ...mergedPaginationData] : [...mergedPaginationData, summaryRowData];\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 && mergedExpandedRowKeySet.has(rowInfo.key) && (!expandable || expandable(rowInfo.tmNode.rawNode))) {\n displayedData.push(rowInfo, {\n isExpandedRow: true,\n key: `${rowInfo.key}-expand`,\n // solve key repeat of the expanded row\n tmNode: rowInfo.tmNode,\n index: rowInfo.index\n });\n } else {\n displayedData.push(rowInfo);\n }\n });\n const {\n length: rowCount\n } = displayedData;\n const rowIndexToKey = {};\n paginatedData.forEach(({\n tmNode\n }, rowIndex) => {\n rowIndexToKey[rowIndex] = tmNode.key;\n });\n const bodyWidth = stickyExpandedRows ? this.bodyWidth : null;\n const bodyWidthPx = bodyWidth === null ? undefined : `${bodyWidth}px`;\n const CellComponent = this.virtualScrollX ? 'div' : 'td';\n let leftFixedColsCount = 0;\n let rightFixedColsCount = 0;\n if (virtualScrollX) {\n cols.forEach(col => {\n if (col.column.fixed === 'left') {\n leftFixedColsCount++;\n } else if (col.column.fixed === 'right') {\n rightFixedColsCount++;\n }\n });\n }\n const renderRow = ({\n // Normal\n rowInfo,\n displayedRowIndex,\n isVirtual,\n // Virtual X\n isVirtualX,\n startColIndex,\n endColIndex,\n getLeft\n }) => {\n const {\n index: actualRowIndex\n } = rowInfo;\n if ('isExpandedRow' in rowInfo) {\n const {\n tmNode: {\n key,\n rawNode\n }\n } = rowInfo;\n return h(\"tr\", {\n class: `${mergedClsPrefix}-data-table-tr ${mergedClsPrefix}-data-table-tr--expanded`,\n key: `${key}__expand`\n }, h(\"td\", {\n class: [`${mergedClsPrefix}-data-table-td`, `${mergedClsPrefix}-data-table-td--last-col`, displayedRowIndex + 1 === rowCount && `${mergedClsPrefix}-data-table-td--last-row`],\n colspan: colCount\n }, stickyExpandedRows ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table-expand`,\n style: {\n width: bodyWidthPx\n }\n }, renderExpand(rawNode, actualRowIndex)) : renderExpand(rawNode, actualRowIndex)));\n }\n const isSummary = 'isSummaryRow' in rowInfo;\n const striped = !isSummary && rowInfo.striped;\n const {\n tmNode,\n key: rowKey\n } = rowInfo;\n const {\n rawNode: rowData\n } = tmNode;\n const expanded = mergedExpandedRowKeySet.has(rowKey);\n const props = rowProps ? rowProps(rowData, actualRowIndex) : undefined;\n const mergedRowClassName = typeof rowClassName === 'string' ? rowClassName : createRowClassName(rowData, actualRowIndex, rowClassName);\n const iteratedCols = isVirtualX ? cols.filter((col, index) => {\n if (startColIndex <= index && index <= endColIndex) return true;\n if (col.column.fixed) {\n return true;\n }\n return false;\n }) : cols;\n const virtualXRowHeight = isVirtualX ? pxfy((heightForRow === null || heightForRow === void 0 ? void 0 : heightForRow(rowData, actualRowIndex)) || minRowHeight) : undefined;\n const cells = iteratedCols.map(col => {\n var _a, _b, _c, _d, _e;\n const colIndex = col.index;\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 {\n column\n } = col;\n const colKey = getColKey(col);\n const {\n rowSpan,\n colSpan\n } = column;\n const mergedColSpan = isSummary ? ((_a = rowInfo.tmNode.rawNode[colKey]) === null || _a === void 0 ? void 0 : _a.colSpan) || 1 // optional for #1276\n : colSpan ? colSpan(rowData, actualRowIndex) : 1;\n const mergedRowSpan = isSummary ? ((_b = rowInfo.tmNode.rawNode[colKey]) === null || _b === void 0 ? void 0 : _b.rowSpan) || 1 // optional for #1276\n : rowSpan ? rowSpan(rowData, actualRowIndex) : 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 } else {\n cordToPass[i].push(j);\n }\n }\n }\n }\n const hoverKey = isCrossRowTd ? this.hoverKey : null;\n const {\n cellProps\n } = column;\n const resolvedCellProps = cellProps === null || cellProps === void 0 ? void 0 : cellProps(rowData, actualRowIndex);\n const indentOffsetStyle = {\n '--indent-offset': ''\n };\n const FinalCellComponent = column.fixed ? 'td' : CellComponent;\n return h(FinalCellComponent, Object.assign({}, resolvedCellProps, {\n key: colKey,\n style: [{\n textAlign: column.align || undefined,\n width: pxfy(column.width)\n }, isVirtualX && {\n height: virtualXRowHeight\n }, isVirtualX && !column.fixed ? {\n position: 'absolute',\n left: pxfy(getLeft(colIndex)),\n top: 0,\n bottom: 0\n } : {\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 }, indentOffsetStyle, (resolvedCellProps === null || resolvedCellProps === void 0 ? void 0 : resolvedCellProps.style) || ''],\n colspan: mergedColSpan,\n rowspan: isVirtual ? undefined : mergedRowSpan,\n \"data-col-key\": colKey,\n class: [`${mergedClsPrefix}-data-table-td`, column.className, resolvedCellProps === null || resolvedCellProps === void 0 ? void 0 : resolvedCellProps.class, isSummary && `${mergedClsPrefix}-data-table-td--summary`, hoverKey !== null && cordKey[displayedRowIndex][colIndex].includes(hoverKey) && `${mergedClsPrefix}-data-table-td--hover`, isColumnSorting(column, mergedSortState) && `${mergedClsPrefix}-data-table-td--sorting`, column.fixed && `${mergedClsPrefix}-data-table-td--fixed-${column.fixed}`, column.align && `${mergedClsPrefix}-data-table-td--${column.align}-align`, column.type === 'selection' && `${mergedClsPrefix}-data-table-td--selection`, column.type === 'expand' && `${mergedClsPrefix}-data-table-td--expand`, isLastCol && `${mergedClsPrefix}-data-table-td--last-col`, isLastRow && `${mergedClsPrefix}-data-table-td--last-row`]\n }), hasChildren && colIndex === childTriggerColIndex ? [repeat(indentOffsetStyle['--indent-offset'] = isSummary ? 0 : rowInfo.tmNode.level, h(\"div\", {\n class: `${mergedClsPrefix}-data-table-indent`,\n style: indentStyle\n })), isSummary || rowInfo.tmNode.isLeaf ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table-expand-placeholder`\n }) : h(ExpandTrigger, {\n class: `${mergedClsPrefix}-data-table-expand-trigger`,\n clsPrefix: mergedClsPrefix,\n expanded: expanded,\n rowData: rowData,\n renderExpandIcon: this.renderExpandIcon,\n loading: loadingKeySet.has(rowInfo.key),\n onClick: () => {\n handleUpdateExpanded(rowKey, rowInfo.tmNode);\n }\n })] : null, column.type === 'selection' ? !isSummary ? column.multiple === false ? h(RenderSafeRadio, {\n key: currentPage,\n rowKey: rowKey,\n disabled: rowInfo.tmNode.disabled,\n onUpdateChecked: () => {\n handleRadioUpdateChecked(rowInfo.tmNode);\n }\n }) : h(RenderSafeCheckbox, {\n key: currentPage,\n rowKey: rowKey,\n disabled: rowInfo.tmNode.disabled,\n onUpdateChecked: (checked, e) => {\n handleCheckboxUpdateChecked(rowInfo.tmNode, checked, e.shiftKey);\n }\n }) : null : column.type === 'expand' ? !isSummary ? !column.expandable || ((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? h(ExpandTrigger, {\n clsPrefix: mergedClsPrefix,\n rowData: rowData,\n expanded: expanded,\n renderExpandIcon: this.renderExpandIcon,\n onClick: () => {\n handleUpdateExpanded(rowKey, null);\n }\n }) : null : null : h(Cell, {\n clsPrefix: mergedClsPrefix,\n index: actualRowIndex,\n row: rowData,\n column: column,\n isSummary: isSummary,\n mergedTheme: mergedTheme,\n renderCell: this.renderCell\n }));\n });\n if (isVirtualX) {\n if (leftFixedColsCount && rightFixedColsCount) {\n cells.splice(leftFixedColsCount, 0, h(\"td\", {\n colspan: cols.length - leftFixedColsCount - rightFixedColsCount,\n style: {\n pointerEvents: 'none',\n visibility: 'hidden',\n height: 0\n }\n }));\n }\n }\n const row = h(\"tr\", Object.assign({}, props, {\n onMouseenter: e => {\n var _a;\n this.hoverKey = rowKey;\n (_a = props === null || props === void 0 ? void 0 : props.onMouseenter) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n key: rowKey,\n class: [`${mergedClsPrefix}-data-table-tr`, isSummary && `${mergedClsPrefix}-data-table-tr--summary`, striped && `${mergedClsPrefix}-data-table-tr--striped`, expanded && `${mergedClsPrefix}-data-table-tr--expanded`, mergedRowClassName, props === null || props === void 0 ? void 0 : props.class],\n style: [props === null || props === void 0 ? void 0 : props.style, isVirtualX && {\n height: virtualXRowHeight\n }]\n }), cells);\n return row;\n };\n if (!virtualScroll) {\n return h(\"table\", {\n class: `${mergedClsPrefix}-data-table-table`,\n onMouseleave: handleMouseleaveTable,\n style: {\n tableLayout: this.mergedTableLayout\n }\n }, h(\"colgroup\", null, cols.map(col => h(\"col\", {\n key: col.key,\n style: col.style\n }))), this.showHeader ? h(TableHeader, {\n discrete: false\n }) : null, !this.empty ? h(\"tbody\", {\n \"data-n-id\": componentId,\n class: `${mergedClsPrefix}-data-table-tbody`\n }, displayedData.map((rowInfo, displayedRowIndex) => {\n return renderRow({\n rowInfo,\n displayedRowIndex,\n isVirtual: false,\n isVirtualX: false,\n startColIndex: -1,\n endColIndex: -1,\n getLeft(_index) {\n return -1;\n }\n });\n })) : null);\n } else {\n return h(VirtualList, {\n ref: \"virtualListRef\",\n items: displayedData,\n itemSize: this.minRowHeight,\n visibleItemsTag: VirtualListItemWrapper,\n visibleItemsProps: {\n clsPrefix: mergedClsPrefix,\n id: componentId,\n cols,\n onMouseleave: handleMouseleaveTable\n },\n showScrollbar: false,\n onResize: this.handleVirtualListResize,\n onScroll: this.handleVirtualListScroll,\n itemsStyle: contentStyle,\n itemResizable: !virtualScrollX,\n columns: cols,\n renderItemWithCols: virtualScrollX ? ({\n itemIndex,\n item,\n startColIndex,\n endColIndex,\n getLeft\n }) => {\n return renderRow({\n displayedRowIndex: itemIndex,\n isVirtual: true,\n isVirtualX: true,\n rowInfo: item,\n startColIndex,\n endColIndex,\n getLeft\n });\n } : undefined\n }, {\n default: ({\n item,\n index,\n renderedItemWithCols\n }) => {\n if (renderedItemWithCols) return renderedItemWithCols;\n return renderRow({\n rowInfo: item,\n displayedRowIndex: index,\n isVirtual: true,\n isVirtualX: false,\n startColIndex: 0,\n endColIndex: 0,\n getLeft(_index) {\n return 0;\n }\n });\n }\n });\n }\n }\n });\n if (this.empty) {\n const createEmptyNode = () => h(\"div\", {\n class: [`${mergedClsPrefix}-data-table-empty`, this.loading && `${mergedClsPrefix}-data-table-empty--hide`],\n style: this.bodyStyle,\n ref: \"emptyElRef\"\n }, resolveSlot(this.dataTableSlots.empty, () => [h(NEmpty, {\n theme: this.mergedTheme.peers.Empty,\n themeOverrides: this.mergedTheme.peerOverrides.Empty\n })]));\n if (this.shouldDisplaySomeTablePart) {\n return h(Fragment, null, tableNode, createEmptyNode());\n } else {\n return h(VResizeObserver, {\n onResize: this.onResize\n }, {\n default: createEmptyNode\n });\n }\n }\n return tableNode;\n }\n});","import { computed, defineComponent, h, inject, ref, watchEffect } from 'vue';\nimport { formatLength } from \"../../_utils/index.mjs\";\nimport { dataTableInjectionKey } from \"./interface.mjs\";\nimport TableBody from \"./TableParts/Body.mjs\";\nimport TableHeader from \"./TableParts/Header.mjs\";\nexport default defineComponent({\n name: 'MainTable',\n setup() {\n const {\n mergedClsPrefixRef,\n rightFixedColumnsRef,\n leftFixedColumnsRef,\n bodyWidthRef,\n maxHeightRef,\n minHeightRef,\n flexHeightRef,\n virtualScrollHeaderRef,\n syncScrollState\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 var _a;\n const {\n value\n } = headerInstRef;\n if (value) {\n if (virtualScrollHeaderRef.value) {\n return ((_a = value.virtualListRef) === null || _a === void 0 ? void 0 : _a.listElRef) || null;\n } else {\n return value.$el;\n }\n }\n return null;\n }\n function getBodyElement() {\n const {\n value\n } = 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 (_a = bodyInstRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n };\n watchEffect(() => {\n const {\n value: selfEl\n } = selfElRef;\n if (!selfEl) 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 } else {\n selfEl.classList.add(transitionDisabledClass);\n }\n });\n return Object.assign({\n maxHeight: maxHeightRef,\n mergedClsPrefix: mergedClsPrefixRef,\n selfElRef,\n headerInstRef,\n bodyInstRef,\n bodyStyle: bodyStyleRef,\n flexHeight: flexHeightRef,\n handleBodyResize\n }, exposedMethods);\n },\n render() {\n const {\n mergedClsPrefix,\n maxHeight,\n flexHeight\n } = this;\n const headerInBody = maxHeight === undefined && !flexHeight;\n return h(\"div\", {\n class: `${mergedClsPrefix}-data-table-base-table`,\n ref: \"selfElRef\"\n }, headerInBody ? null : h(TableHeader, {\n ref: \"headerInstRef\"\n }), h(TableBody, {\n ref: \"bodyInstRef\",\n bodyStyle: this.bodyStyle,\n showHeader: headerInBody,\n flexHeight: flexHeight,\n onResize: this.handleBodyResize\n }));\n }\n});","import { fadeInScaleUpTransition } from \"../../../_styles/transitions/fade-in-scale-up.cssr.mjs\";\nimport { iconSwitchTransition } from \"../../../_styles/transitions/icon-switch.cssr.mjs\";\nimport { c, cB, cE, cM, cNotM, insideModal, insidePopover } from \"../../../_utils/cssr/index.mjs\";\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-sorting\n// --n-th-color-modal\n// --n-th-color-hover-modal\n// --n-th-color-sorting-modal\n// --n-th-color-popover\n// --n-th-color-hover-popover\n// --n-th-color-sorting-popover\n// --n-td-color\n// --n-td-color-hover\n// --n-td-color-sorting\n// --n-td-color-modal\n// --n-td-color-hover-modal\n// --n-td-color-sorting-modal\n// --n-td-color-popover\n// --n-td-color-hover-popover\n// --n-td-color-sorting-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-th-color-sorting: var(--n-th-color-sorting);\n --n-merged-td-color-hover: var(--n-td-color-hover);\n --n-merged-td-color-sorting: var(--n-td-color-sorting);\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 position: relative;\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('sorting', `\n background-color: var(--n-merged-th-color-sorting);\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 `), cM('sorting', `\n background-color: var(--n-merged-td-color-sorting);\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, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb', `\n display: none;\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-th-color-sorting: var(--n-th-color-hover-modal);\n --n-merged-td-color-sorting: 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-th-color-sorting: var(--n-th-color-hover-popover);\n --n-merged-td-color-sorting: 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 { computed, ref } from 'vue';\nimport { call } from \"../../_utils/index.mjs\";\nexport function useCheck(props, data) {\n const {\n paginatedDataRef,\n treeMateRef,\n selectionColumnRef\n } = data;\n const uncontrolledCheckedRowKeysRef = ref(props.defaultCheckedRowKeys);\n const mergedCheckState = computed(() => {\n var _a;\n const {\n checkedRowKeys\n } = props;\n const sourceKeys = checkedRowKeys === undefined ? uncontrolledCheckedRowKeysRef.value : 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 {\n value: mergedCheckedRowKeySet\n } = mergedCheckedRowKeySetRef;\n return paginatedDataRef.value.reduce((total, tmNode) => {\n const {\n key,\n disabled\n } = 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 {\n length\n } = paginatedDataRef.value;\n const {\n value: mergedInderminateRowKeySet\n } = mergedInderminateRowKeySetRef;\n return countOfCurrentPageCheckedRowsRef.value > 0 && countOfCurrentPageCheckedRowsRef.value < length - countOfCurrentPageDisabledRowsRef.value || paginatedDataRef.value.some(rowData => mergedInderminateRowKeySet.has(rowData.key));\n });\n const allRowsCheckedRef = computed(() => {\n const {\n length\n } = paginatedDataRef.value;\n return countOfCurrentPageCheckedRowsRef.value !== 0 && countOfCurrentPageCheckedRowsRef.value === length - countOfCurrentPageDisabledRowsRef.value;\n });\n const headerCheckboxDisabledRef = computed(() => {\n return paginatedDataRef.value.length === 0;\n });\n function doUpdateCheckedRowKeys(keys, row, action) {\n const {\n 'onUpdate:checkedRowKeys': _onUpdateCheckedRowKeys,\n onUpdateCheckedRowKeys,\n onCheckedRowKeysChange\n } = props;\n const rows = [];\n const {\n value: {\n getNode\n }\n } = treeMateRef;\n keys.forEach(key => {\n var _a;\n const row = (_a = getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode;\n rows.push(row);\n });\n if (_onUpdateCheckedRowKeys) {\n call(_onUpdateCheckedRowKeys, keys, rows, {\n row,\n action\n });\n }\n if (onUpdateCheckedRowKeys) {\n call(onUpdateCheckedRowKeys, keys, rows, {\n row,\n action\n });\n }\n if (onCheckedRowKeysChange) {\n call(onCheckedRowKeysChange, keys, rows, {\n row,\n action\n });\n }\n uncontrolledCheckedRowKeysRef.value = keys;\n }\n function doCheck(rowKey, single = false, rowInfo) {\n if (props.loading) 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) 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 {\n value: column\n } = selectionColumnRef;\n if (!column || props.loading) return;\n const rowKeysToCheck = [];\n (checkWholeTable ? treeMateRef.value.treeNodes : 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 {\n value: column\n } = selectionColumnRef;\n if (!column || props.loading) return;\n const rowKeysToUncheck = [];\n (checkWholeTable ? treeMateRef.value.treeNodes : 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}","import { useMemo, useMergedState } from 'vooks';\nimport { ref, toRef } from 'vue';\nimport { call, warn } from \"../../_utils/index.mjs\";\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 ? (renderExpandRef === null || renderExpandRef === void 0 ? void 0 : renderExpandRef.value) ? (() => {\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 })() : treeMateRef.value.getNonLeafKeys() : 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 {\n onUpdateExpandedRowKeys,\n 'onUpdate:expandedRowKeys': _onUpdateExpandedRowKeys\n } = 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}","import { computed } from 'vue';\nimport { formatLength } from \"../../_utils/index.mjs\";\nimport { createCustomWidthStyle, getColKey } from \"./utils.mjs\";\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 let currentLeafIndex = 0;\n function ensureMaxDepth(columns, currentDepth) {\n if (currentDepth > maxDepth) {\n rows[currentDepth] = [];\n maxDepth = currentDepth;\n }\n columns.forEach(column => {\n if ('children' in column) {\n ensureMaxDepth(column.children, currentDepth + 1);\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 index: currentLeafIndex++,\n // The width property is only applied to horizontally virtual scroll table\n width: column.width === undefined ? 128 : Number(column.width)\n });\n totalRowSpan += 1;\n if (!hasEllipsis) {\n hasEllipsis = !!column.ellipsis;\n }\n dataRelatedCols.push(column);\n }\n });\n }\n ensureMaxDepth(columns, 0);\n currentLeafIndex = 0;\n function ensureColLayout(columns, currentDepth) {\n let hideUntilIndex = 0;\n columns.forEach(column => {\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 colIndex: currentLeafIndex,\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 } 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 colIndex: currentLeafIndex,\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}","import { ref } from 'vue';\nimport { isColumnResizable } from \"./utils.mjs\";\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}","import { beforeNextFrameOnce } from 'seemly';\nimport { computed, ref, watch } from 'vue';\nimport { formatLength } from \"../../_utils/index.mjs\";\nimport { getColKey, getNumberColWidth } from \"./utils.mjs\";\nexport function useScroll(props, {\n mainTableInstRef,\n mergedCurrentPageRef,\n bodyWidthRef\n}) {\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 = {\n start: left,\n end: 0\n };\n columns[getColKey(col)] = positionInfo;\n if ('children' in col) {\n traverse(col.children);\n positionInfo.end = left;\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 = {\n start: right,\n end: 0\n };\n columns[getColKey(col)] = positionInfo;\n if ('children' in col) {\n traverse(col.children);\n positionInfo.end = right;\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 {\n value: leftFixedColumns\n } = leftFixedColumnsRef;\n let leftWidth = 0;\n const {\n value: fixedColumnLeftMap\n } = 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 } 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) 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 {\n value: rightFixedColumns\n } = rightFixedColumnsRef;\n const scrollWidth = Number(props.scrollX);\n const {\n value: tableWidth\n } = bodyWidthRef;\n if (tableWidth === null) return;\n let rightWidth = 0;\n let rightActiveFixedColKey = null;\n const {\n value: fixedColumnRightMap\n } = fixedColumnRightMapRef;\n for (let i = rightFixedColumns.length - 1; i >= 0; --i) {\n const key = getColKey(rightFixedColumns[i]);\n if (Math.round(lastScrollLeft + (((_a = fixedColumnRightMap[key]) === null || _a === void 0 ? void 0 : _a.start) || 0) + tableWidth - rightWidth) < scrollWidth) {\n rightActiveFixedColKey = key;\n rightWidth = ((_b = fixedColumnRightMap[key]) === null || _b === void 0 ? void 0 : _b.end) || 0;\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 && 'children' in activeRightFixedColumn && 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 ? mainTableInstRef.value.getHeaderElement() : null;\n const body = mainTableInstRef.value ? mainTableInstRef.value.getBodyElement() : null;\n return {\n header,\n body\n };\n }\n function scrollMainTableBodyToTop() {\n const {\n body\n } = getScrollElements();\n if (body) {\n body.scrollTop = 0;\n }\n }\n function handleTableHeaderScroll() {\n if (scrollPartRef.value !== 'body') {\n beforeNextFrameOnce(syncScrollState);\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 } 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 {\n header,\n body\n } = getScrollElements();\n if (!body) return;\n const {\n value: tableWidth\n } = bodyWidthRef;\n if (tableWidth === null) return;\n if (props.maxHeight || props.flexHeight) {\n if (!header) 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 } else {\n lastScrollLeft = body.scrollLeft;\n header.scrollLeft = lastScrollLeft;\n }\n } else {\n lastScrollLeft = body.scrollLeft;\n }\n deriveActiveLeftFixedColumn();\n deriveActiveLeftFixedChildrenColumns();\n deriveActiveRightFixedColumn();\n deriveActiveRightFixedChildrenColumns();\n }\n function setHeaderScrollLeft(left) {\n const {\n header\n } = getScrollElements();\n if (!header) 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}","import { computed, ref } from 'vue';\nimport { call } from \"../../_utils/index.mjs\";\nimport { getFlagOfOrder } from \"./utils.mjs\";\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 && (sorter === undefined || sorter === 'default' || typeof sorter === 'object' && sorter.compare === 'default')) {\n return getDefaultSorterFn(columnKey);\n }\n if (typeof sorter === 'function') {\n return sorter;\n }\n if (sorter && typeof sorter === 'object' && sorter.compare && 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 (value1 === null || value1 === undefined) {\n if (value2 === null || value2 === undefined) return 0;\n return -1;\n } else if (value2 === null || value2 === undefined) {\n return 1;\n } else if (typeof value1 === 'number' && typeof value2 === 'number') {\n return value1 - value2;\n } else if (typeof value1 === 'string' && typeof value2 === 'string') {\n return value1.localeCompare(value2);\n }\n return 0;\n };\n}\nexport function useSorter(props, {\n dataRelatedColsRef,\n filteredDataRef\n}) {\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' && column.sorter !== undefined && (column.sortOrder === 'ascend' || column.sortOrder === 'descend' || 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 order: column.sortOrder,\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) return [];\n const {\n value: uncontrolledSortState\n } = uncontrolledSortStateRef;\n if (Array.isArray(uncontrolledSortState)) {\n return uncontrolledSortState;\n } else if (uncontrolledSortState) {\n return [uncontrolledSortState];\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 {\n columnKey,\n sorter,\n order\n } = 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 } 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 {\n 'onUpdate:sorter': _onUpdateSorter,\n onUpdateSorter,\n onSorterChange\n } = 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 } else {\n const columnToSort = dataRelatedColsRef.value.find(column => column.type !== 'selection' && column.type !== 'expand' && column.key === columnKey);\n if (!(columnToSort === null || columnToSort === void 0 ? void 0 : columnToSort.sorter)) 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 } else {\n sortStates.push(sortState);\n }\n }\n return {\n clearSorter,\n sort,\n sortedDataRef,\n mergedSortStateRef,\n deriveNextSorter\n };\n}","import { createTreeMate } from 'treemate';\nimport { useMemo, useMergedState } from 'vooks';\nimport { computed, ref } from 'vue';\nimport { call, warn } from \"../../_utils/index.mjs\";\nimport { getDefaultPageSize } from \"../../pagination/src/utils.mjs\";\nimport { useSorter } from \"./use-sorter.mjs\";\nimport { createShallowClonedObject } from \"./utils.mjs\";\n// useTableData combines filter, sorter and pagination\nexport function useTableData(props, {\n dataRelatedColsRef\n}) {\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 } 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 {\n childrenKey\n } = 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 {\n columns\n } = props;\n const {\n length\n } = 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 {\n pagination\n } = props;\n const uncontrolledCurrentPageRef = ref(pagination ? pagination.defaultPage || 1 : 1);\n const uncontrolledPageSizeRef = ref(getDefaultPageSize(pagination));\n const mergedFilterStateRef = computed(() => {\n const columnsWithControlledFilter = dataRelatedColsRef.value.filter(column => {\n return column.filterOptionValues !== undefined || column.filterOptionValue !== undefined;\n });\n const controlledFilterState = {};\n columnsWithControlledFilter.forEach(column => {\n var _a;\n if (column.type === 'selection' || column.type === 'expand') return;\n if (column.filterOptionValues === undefined) {\n controlledFilterState[column.key] = (_a = column.filterOptionValue) !== null && _a !== void 0 ? _a : null;\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 {\n columns\n } = props;\n function createDefaultFilter(columnKey) {\n return (filterOptionValue, row) => !!~String(row[columnKey]).indexOf(String(filterOptionValue));\n }\n const {\n value: {\n treeNodes: data\n }\n } = treeMateRef;\n const columnEntries = [];\n columns.forEach(column => {\n if (column.type === 'selection' || column.type === 'expand' || 'children' in column) {\n return;\n }\n columnEntries.push([column.key, column]);\n });\n return data ? data.filter(tmNode => {\n const {\n rawNode: row\n } = tmNode;\n // traverse all filters\n for (const [columnKey, column] of columnEntries) {\n let activeFilterOptionValues = mergedFilterState[columnKey];\n if (activeFilterOptionValues == null) continue;\n if (!Array.isArray(activeFilterOptionValues)) {\n activeFilterOptionValues = [activeFilterOptionValues];\n }\n if (!activeFilterOptionValues.length) continue;\n // When async, filter won't be set, so data won't be filtered\n const filter = column.filter === 'default' ? createDefaultFilter(columnKey) : 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 } else {\n if (activeFilterOptionValues.some(filterOptionValue => filter(filterOptionValue, row))) {\n continue;\n } else {\n return false;\n }\n }\n }\n }\n return true;\n }) : [];\n });\n const {\n sortedDataRef,\n deriveNextSorter,\n mergedSortStateRef,\n sort,\n clearSorter\n } = 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] = defaultFilterOptionValues || [];\n } else if (defaultFilterOptionValues !== undefined) {\n // this branch is for compatibility, someone may use `values` in single filter mode\n uncontrolledFilterStateRef.value[column.key] = defaultFilterOptionValues === null ? [] : defaultFilterOptionValues;\n } else {\n uncontrolledFilterStateRef.value[column.key] = (_a = column.defaultFilterOptionValue) !== null && _a !== void 0 ? _a : null;\n }\n }\n });\n const controlledCurrentPageRef = computed(() => {\n const {\n pagination\n } = props;\n if (pagination === false) return undefined;\n return pagination.page;\n });\n const controlledPageSizeRef = computed(() => {\n const {\n pagination\n } = props;\n if (pagination === false) 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 ? page : Math.max(1, Math.min(Math.ceil(filteredDataRef.value.length / mergedPageSizeRef.value), page));\n });\n const mergedPageCountRef = computed(() => {\n const {\n pagination\n } = props;\n if (pagination) {\n const {\n pageCount\n } = pagination;\n if (pageCount !== undefined) return pageCount;\n }\n return undefined;\n });\n const paginatedDataRef = computed(() => {\n if (props.remote) return treeMateRef.value.treeNodes;\n if (!props.pagination) 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 {\n pagination\n } = props;\n if (pagination) {\n const {\n onChange,\n 'onUpdate:page': _onUpdatePage,\n onUpdatePage\n } = pagination;\n if (onChange) call(onChange, page);\n if (onUpdatePage) call(onUpdatePage, page);\n if (_onUpdatePage) call(_onUpdatePage, page);\n doUpdatePage(page);\n }\n }\n function mergedOnUpdatePageSize(pageSize) {\n const {\n pagination\n } = props;\n if (pagination) {\n const {\n onPageSizeChange,\n 'onUpdate:pageSize': _onUpdatePageSize,\n onUpdatePageSize\n } = pagination;\n if (onPageSizeChange) call(onPageSizeChange, pageSize);\n if (onUpdatePageSize) call(onUpdatePageSize, pageSize);\n if (_onUpdatePageSize) call(_onUpdatePageSize, pageSize);\n doUpdatePageSize(pageSize);\n }\n }\n const mergedItemCountRef = computed(() => {\n if (props.remote) {\n const {\n pagination\n } = props;\n if (pagination) {\n const {\n itemCount\n } = pagination;\n if (itemCount !== undefined) 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,\n onUpdatePage: undefined,\n onUpdatePageSize: undefined,\n onPageSizeChange: undefined,\n 'onUpdate:page': mergedOnUpdatePage,\n '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,\n pageSize: mergedPageSizeRef.value,\n pageCount: mergedItemCountRef.value === undefined ? mergedPageCountRef.value : undefined,\n itemCount: mergedItemCountRef.value\n });\n });\n function doUpdatePage(page) {\n const {\n 'onUpdate:page': _onUpdatePage,\n onPageChange,\n onUpdatePage\n } = props;\n if (onUpdatePage) call(onUpdatePage, page);\n if (_onUpdatePage) call(_onUpdatePage, page);\n if (onPageChange) call(onPageChange, page);\n uncontrolledCurrentPageRef.value = page;\n }\n function doUpdatePageSize(pageSize) {\n const {\n 'onUpdate:pageSize': _onUpdatePageSize,\n onPageSizeChange,\n onUpdatePageSize\n } = props;\n if (onPageSizeChange) call(onPageSizeChange, pageSize);\n if (onUpdatePageSize) call(onUpdatePageSize, pageSize);\n if (_onUpdatePageSize) call(_onUpdatePageSize, pageSize);\n uncontrolledPageSizeRef.value = pageSize;\n }\n function doUpdateFilters(filters, sourceColumn) {\n const {\n onUpdateFilters,\n 'onUpdate:filters': _onUpdateFilters,\n onFiltersChange\n } = props;\n if (onUpdateFilters) call(onUpdateFilters, filters, sourceColumn);\n if (_onUpdateFilters) call(_onUpdateFilters, filters, sourceColumn);\n if (onFiltersChange) 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 } else if (filters) {\n uncontrolledFilterStateRef.value = createShallowClonedObject(filters);\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}","import { createId } from 'seemly';\nimport { computed, defineComponent, h, provide, ref, toRef, Transition, watchEffect } from 'vue';\nimport { NBaseLoading } from \"../../_internal/index.mjs\";\nimport { useConfig, useLocale, useRtl, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { createKey, download, resolveSlot, warnOnce } from \"../../_utils/index.mjs\";\nimport { NPagination } from \"../../pagination/index.mjs\";\nimport { dataTableLight } from \"../styles/index.mjs\";\nimport { dataTableInjectionKey, dataTableProps } from \"./interface.mjs\";\nimport MainTable from \"./MainTable.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nimport { useCheck } from \"./use-check.mjs\";\nimport { useExpand } from \"./use-expand.mjs\";\nimport { useGroupHeader } from \"./use-group-header.mjs\";\nimport { useResizable } from \"./use-resizable.mjs\";\nimport { useScroll } from \"./use-scroll.mjs\";\nimport { useTableData } from \"./use-table-data.mjs\";\nimport { generateCsv } from \"./utils.mjs\";\nexport default defineComponent({\n name: 'DataTable',\n alias: ['AdvancedTable'],\n props: dataTableProps,\n slots: Object,\n setup(props, {\n slots\n }) {\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 {\n mergedBorderedRef,\n mergedClsPrefixRef,\n inlineThemeDisabled,\n mergedRtlRef\n } = useConfig(props);\n const rtlEnabledRef = useRtl('DataTable', mergedRtlRef, mergedClsPrefixRef);\n const mergedBottomBorderedRef = computed(() => {\n const {\n bottomBordered\n } = props;\n // do not add bottom bordered class if bordered is true\n // since border is displayed on wrapper\n if (mergedBorderedRef.value) return false;\n if (bottomBordered !== undefined) 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 {\n getResizableWidth,\n clearResizableWidth,\n doUpdateResizableWidth\n } = useResizable();\n const {\n rowsRef,\n colsRef,\n dataRelatedColsRef,\n hasEllipsisRef\n } = useGroupHeader(props, getResizableWidth);\n const {\n treeMateRef,\n mergedCurrentPageRef,\n paginatedDataRef,\n rawPaginatedDataRef,\n selectionColumnRef,\n hoverKeyRef,\n mergedPaginationRef,\n mergedFilterStateRef,\n mergedSortStateRef,\n childTriggerColIndexRef,\n doUpdatePage,\n doUpdateFilters,\n onUnstableColumnResize,\n deriveNextSorter,\n filter,\n filters,\n clearFilter,\n clearFilters,\n clearSorter,\n page,\n sort\n } = useTableData(props, {\n dataRelatedColsRef\n });\n const downloadCsv = options => {\n const {\n fileName = 'data.csv',\n keepOriginalData = false\n } = options || {};\n const data = keepOriginalData ? props.data : rawPaginatedDataRef.value;\n const csvData = generateCsv(props.columns, data, props.getCsvCell, props.getCsvHeader);\n const blob = new Blob([csvData], {\n type: 'text/csv;charset=utf-8'\n });\n const downloadUrl = URL.createObjectURL(blob);\n download(downloadUrl, fileName.endsWith('.csv') ? fileName : `${fileName}.csv`);\n URL.revokeObjectURL(downloadUrl);\n };\n const {\n doCheckAll,\n doUncheckAll,\n doCheck,\n doUncheck,\n headerCheckboxDisabledRef,\n someRowsCheckedRef,\n allRowsCheckedRef,\n mergedCheckedRowKeySetRef,\n mergedInderminateRowKeySetRef\n } = useCheck(props, {\n selectionColumnRef,\n treeMateRef,\n paginatedDataRef\n });\n const {\n stickyExpandedRowsRef,\n mergedExpandedRowKeysRef,\n renderExpandRef,\n expandableRef,\n doUpdateExpandedRowKeys\n } = useExpand(props, treeMateRef);\n const {\n handleTableBodyScroll,\n handleTableHeaderScroll,\n syncScrollState,\n setHeaderScrollLeft,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n leftFixedColumnsRef,\n rightFixedColumnsRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef\n } = useScroll(props, {\n bodyWidthRef,\n mainTableInstRef,\n mergedCurrentPageRef\n });\n const {\n localeRef\n } = useLocale('DataTable');\n const mergedTableLayoutRef = computed(() => {\n // Layout\n // virtual |descrete header | ellpisis => fixed\n // = virtual | maxHeight | ellpisis => fixed\n if (props.virtualScroll || props.flexHeight || props.maxHeight !== undefined || 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 virtualScrollXRef: toRef(props, 'virtualScrollX'),\n heightForRowRef: toRef(props, 'heightForRow'),\n minRowHeightRef: toRef(props, 'minRowHeight'),\n virtualScrollHeaderRef: toRef(props, 'virtualScrollHeader'),\n headerHeightRef: toRef(props, 'headerHeight'),\n rowPropsRef: toRef(props, 'rowProps'),\n stripedRef: toRef(props, 'striped'),\n checkOptionsRef: computed(() => {\n const {\n value: selectionColumn\n } = selectionColumnRef;\n return selectionColumn === null || selectionColumn === void 0 ? void 0 : selectionColumn.options;\n }),\n rawPaginatedDataRef,\n filterMenuCssVarsRef: computed(() => {\n const {\n self: {\n actionDividerColor,\n actionPadding,\n actionButtonMargin\n }\n } = themeRef.value;\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 filterIconPopoverPropsRef: toRef(props, 'filterIconPopoverProps'),\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 downloadCsv,\n scrollTo: (arg0, arg1) => {\n var _a;\n (_a = mainTableInstRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n };\n const cssVarsRef = computed(() => {\n const {\n size\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self: {\n borderColor,\n tdColorHover,\n tdColorSorting,\n tdColorSortingModal,\n tdColorSortingPopover,\n thColorSorting,\n thColorSortingModal,\n thColorSortingPopover,\n thColor,\n thColorHover,\n tdColor,\n tdTextColor,\n thTextColor,\n thFontWeight,\n thButtonColorHover,\n thIconColor,\n thIconColorActive,\n filterSize,\n borderRadius,\n lineHeight,\n tdColorModal,\n thColorModal,\n borderColorModal,\n thColorHoverModal,\n tdColorHoverModal,\n borderColorPopover,\n thColorPopover,\n tdColorPopover,\n tdColorHoverPopover,\n thColorHoverPopover,\n paginationMargin,\n emptyPadding,\n boxShadowAfter,\n boxShadowBefore,\n sorterSize,\n resizableContainerSize,\n resizableSize,\n loadingColor,\n loadingSize,\n opacityLoading,\n tdColorStriped,\n tdColorStripedModal,\n tdColorStripedPopover,\n [createKey('fontSize', size)]: fontSize,\n [createKey('thPadding', size)]: thPadding,\n [createKey('tdPadding', size)]: tdPadding\n }\n } = 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-td-color-sorting': tdColorSorting,\n '--n-td-color-sorting-modal': tdColorSortingModal,\n '--n-td-color-sorting-popover': tdColorSortingPopover,\n '--n-th-color-sorting': thColorSorting,\n '--n-th-color-sorting-modal': thColorSortingModal,\n '--n-th-color-sorting-popover': thColorSortingPopover\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('data-table', computed(() => props.size[0]), cssVarsRef, props) : undefined;\n const mergedShowPaginationRef = computed(() => {\n if (!props.pagination) return false;\n if (props.paginateSinglePage) return true;\n const mergedPagination = mergedPaginationRef.value;\n const {\n pageCount\n } = mergedPagination;\n if (pageCount !== undefined) return pageCount > 1;\n return mergedPagination.itemCount && mergedPagination.pageSize && mergedPagination.itemCount > mergedPagination.pageSize;\n });\n return Object.assign({\n mainTableInstRef,\n mergedClsPrefix: mergedClsPrefixRef,\n rtlEnabled: rtlEnabledRef,\n mergedTheme: themeRef,\n paginatedData: paginatedDataRef,\n mergedBordered: mergedBorderedRef,\n mergedBottomBordered: mergedBottomBorderedRef,\n mergedPagination: mergedPaginationRef,\n mergedShowPagination: mergedShowPaginationRef,\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 }, exposedMethods);\n },\n render() {\n const {\n mergedClsPrefix,\n themeClass,\n onRender,\n $slots,\n spinProps\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n return h(\"div\", {\n class: [`${mergedClsPrefix}-data-table`, this.rtlEnabled && `${mergedClsPrefix}-data-table--rtl`, themeClass, {\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\", {\n class: `${mergedClsPrefix}-data-table-wrapper`\n }, h(MainTable, {\n ref: \"mainTableInstRef\"\n })), this.mergedShowPagination ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table__pagination`\n }, h(NPagination, Object.assign({\n theme: this.mergedTheme.peers.Pagination,\n themeOverrides: this.mergedTheme.peerOverrides.Pagination,\n disabled: this.loading\n }, this.mergedPagination))) : null, h(Transition, {\n name: \"fade-in-scale-up-transition\"\n }, {\n default: () => {\n return this.loading ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table-loading-wrapper`\n }, resolveSlot($slots.loading, () => [h(NBaseLoading, Object.assign({\n clsPrefix: mergedClsPrefix,\n strokeWidth: 20\n }, spinProps))])) : null;\n }\n }));\n }\n});","import type { Directive } from 'vue';\n\nexport const vRect: 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 dayjs from 'dayjs';\nimport type { TableBaseColumn } from 'naive-ui/es/data-table/src/interface';\nimport { vRect } from './directives';\nimport { getAppInfo, getDevice } from './node';\nimport { copy } from './others';\nimport { withDirectives } from 'vue';\n\nconst 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 vRect,\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\nexport const renderDevice = (row: Snapshot) => {\n return `${getDevice(row).manufacturer} Android${\n getDevice(row).release || `13`\n }`;\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 const mtimeCol = shallowReactive<TableBaseColumn<Snapshot>>({\n key: `mtime`,\n title: `导入时间`,\n width: `130px`,\n sortOrder: false,\n sorter(rowA, rowB) {\n return (\n (snapshotImportTime[rowA.id] || rowA.id) -\n (snapshotImportTime[rowB.id] || rowB.id)\n );\n },\n render(row) {\n return dayjs(snapshotImportTime[row.id] || row.id).format(\n 'MM-DD HH:mm:ss',\n );\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 renderDevice(row).includes(value.toString());\n },\n render(row) {\n return renderDevice(row);\n },\n });\n const appNameCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appName`,\n minWidth: 100,\n title: `应用名称`,\n filterMultiple: true,\n filter(value, row) {\n return value.toString() == getAppInfo(row).name;\n },\n cellProps(row) {\n return {\n onClick() {\n copy(getAppInfo(row).name);\n },\n };\n },\n render(row) {\n return getAppInfo(row).name;\n },\n });\n const appIdCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appId`,\n title: `应用ID`,\n minWidth: 100,\n cellProps(row) {\n return {\n onClick() {\n copy(row.appId);\n },\n };\n },\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 getAppInfo(row).versionCode;\n },\n });\n const appVersionNameCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appVersionName`,\n title: `版本号`,\n minWidth: 150,\n render(row) {\n return <NEllipsis>{getAppInfo(row).versionName}</NEllipsis>;\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 cellProps(row) {\n return {\n onClick() {\n copy(row.activityId);\n },\n };\n },\n render(row) {\n return (\n <div class=\"whitespace-nowrap text-left direction-rtl\">\n <NEllipsis>{row.activityId}</NEllipsis>\n </div>\n );\n },\n });\n\n const resetColWidth = () => {\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 mtimeCol,\n deviceCol,\n appNameCol,\n appIdCol,\n appVersionCodeCol,\n appVersionNameCol,\n activityIdCol,\n resetColWidth,\n };\n};\n"],"names":["useKeyboard","options","enabledRef","state","reactive","keydown","keyup","keydownHandler","e","key","handler","stop","prevent","keyupHandler","setup","on","watch","value","off","hasInstance","onBeforeMount","onBeforeUnmount","readonly","useDeferredTrue","valueRef","delay","shouldDelayRef","delayedRef","ref","timerId","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","_","oldEl","download","url","name","a","getTitleAttribute","smallerSizeMap","smallerSize","size","result","createRefSetter","inst","mergeEventHandlers","handlers","filteredHandlers","ArrowDownIcon","BackwardIcon","FinishedIcon","FastBackwardIcon","FastForwardIcon","FilterIcon","ForwardIcon","MoreIcon","FocusDetector","commonVariables$5","vars","borderRadius","popoverColor","textColor3","dividerColor","textColor2","primaryColorPressed","textColorDisabled","primaryColor","opacityDisabled","hoverColor","fontSizeTiny","fontSizeSmall","fontSizeMedium","fontSizeLarge","fontSizeHuge","heightTiny","heightSmall","heightMedium","heightLarge","heightHuge","commonVariables","internalSelectMenuLight","createTheme","commonLight","scrollbarLight","emptyLight","NSelectGroupHeader","renderLabelRef","renderOptionRef","labelFieldRef","nodePropsRef","inject","internalSelectionMenuInjectionKey","clsPrefix","renderLabel","renderOption","nodeProps","rawNode","attrs","render","node","renderCheckMark","show","Transition","NBaseIcon","CheckmarkIcon","NSelectOption","pendingTmNodeRef","multipleRef","valueSetRef","valueFieldRef","showCheckmarkRef","handleOptionClick","handleOptionMouseEnter","isPendingRef","useMemo","pendingTmNode","handleClick","tmNode","handleMouseEnter","handleMouseMove","isPending","parent","multiple","optionValue","valueSet","isSelected","isGrouped","showCheckmark","checkmark","style$7","cB","cE","cM","cNotM","fadeInScaleUpTransition","NInternalSelectMenu","useTheme","mergedClsPrefixRef","mergedRtlRef","useConfig","rtlEnabledRef","useRtl","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$4","primaryColorHover","infoColor","successColor","warningColor","errorColor","baseColor","borderColor","tagColor","closeIconColor","closeIconColorHover","closeIconColorPressed","fontSizeMini","heightMini","closeColorHover","closeColorPressed","buttonColor2Hover","buttonColor2Pressed","fontWeightStrong","changeColor","tagLight","commonProps","style$6","tagProps","tagInjectionKey","createInjectionKey","NTag","contentRef","mergedBorderedRef","checked","onCheckedChange","onUpdateChecked","_onUpdateChecked","handleCloseClick","onClose","call","tagPublicMethods","textContent","type","textColor","padding","closeMargin","textColorCheckable","textColorHoverCheckable","textColorPressedCheckable","textColorChecked","colorCheckable","colorHoverCheckable","colorPressedCheckable","colorChecked","colorCheckedHover","colorCheckedPressed","closeBorderRadius","colorBordered","closeSize","closeIconSize","typedColor","typeTextColor","border","closeMarginDiscrete","getMargin","hash","color2Class","mergedClsPrefix","rtlEnabled","closable","round","avatarNode","iconNode","NBaseClose","commonVariables$3","inputColor","inputColorDisabled","warningColorHover","errorColorHover","iconColor","iconColorDisabled","clearColor","clearColorHover","clearColorPressed","placeholderColor","placeholderColorDisabled","fontWeight","internalSelectionLight","popoverLight","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","isComposingRef","handlePatternKeyDown","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","paddingSingleDiscrete","paddingMultipleDiscrete","disabled","filterable","maxTagCount","bordered","ellipsisTagPopoverProps","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","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","style$3","selectProps","useAdjustedTo","__unplugin_components_6","namespaceRef","uncontrolledValueRef","controlledValueRef","mergedValueRef","useMergedState","focusedRef","patternRef","compitableOptionsRef","useCompitable","createdOptionsRef","beingCreatedOptionsRef","localOptionsRef","resolvedFilterRef","label","filteredOptionsRef","localOptions","valOptMapRef","uncontrolledShowRef","mergedShowRef","triggerRef","followerRef","menuRef","localeRef","useLocale","localizedPlaceholderRef","emptyArray","memoValOptMapRef","wrappedFallbackOptionRef","fallbackOption","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","hoverStyleProps","hoverStyleChildren","style$2","getDefaultPageSize","paginationProps","defaultPageSize","pageSizeOption","createPageItemsInfo","currentPage","pageCount","pageSlot","showQuickJumpDropdown","hasFastBackward","hasFastForward","fastBackwardTo","fastForwardTo","firstPage","lastPage","middleStart","middleEnd","middleDelta","leftSplit","rightSplit","items","createRange","from","to","range","NPagination","mergedComponentPropsRef","uncontrolledPageRef","uncontrolledPageSizeRef","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","NSelect","commonVariables$1","invertedColor","dropdownLight","cardColor","modalColor","textColor1","tableHeaderColor","tableColorHover","lineHeight","tableColorStriped","composite","dataTableLight","buttonLight","checkboxLight","radioLight","ellipsisLight","dataTableProps","dataTableInjectionKey","SELECTION_COL_WIDTH","EXPAND_COL_WIDTH","getNumberColWidth","col","getStringColWidth","formatLength","getColKey","createShallowClonedObject","object","getFlagOfOrder","order","clampValueFollowCSSRules","min","max","createCustomWidthStyle","column","resizedWidth","width","minWidth","maxWidth","createRowClassName","row","rowClassName","shouldUseArrayInSingleMode","isColumnSortable","isColumnResizable","isColumnFilterable","getNextOrderOf","createNextSorter","currentSortState","customNextSortOrder","isColumnSorting","mergedSortState","formatCsvCell","generateCsv","columns","data","getCsvCell","getCsvHeader","exportableColumns","header","rows","RenderSafeCheckbox","mergedCheckedRowKeySetRef","mergedInderminateRowKeySetRef","rowKey","NCheckbox","RenderSafeRadio","componentId","NRadio","NPerformantEllipsis","ellipsisProps","mouseEnteredRef","useMergedClsPrefix","useStyle","lineClamp","mergeProps","createLineClampClass","createCursorClass","Ellipsis","Cell","isSummary","renderCell","cell","ellipsis","get","NEllipsis","ExpandTrigger","NIconSwitchTransition","NBaseLoading","ChevronRightIcon","NDataTableFilterMenu","mergedClsPrefixRefRtl","mergedThemeRef","temporalValueRef","checkboxGroupValueRef","temporalValue","radioGroupValueRef","doChange","handleChange","handleConfirmClick","handleClearClick","checkboxGroupValue","NCheckboxGroup","NRadioGroup","NButton","RenderFilter","active","createFilterState","currentFilterState","columnKey","mergedFilterValue","nextFilterState","FilterButton","mergedFilterStateRef","filterMenuCssVarsRef","paginationBehaviorOnFilterRef","doUpdateFilters","filterIconPopoverPropsRef","showPopoverRef","filterStateRef","filterMultipleRef","mergedFilterValueRef","filterValue","activeRef","mergedRenderFilterRef","handleFilterChange","handleFilterMenuCancel","handleFilterMenuConfirm","filterIconPopoverProps","mergedRenderFilter","renderFilterIcon","renderFilterMenu","ResizeButton","startX","getMouseX","handleMousedown","alreadyStarted","handleMousemove","handleMouseup","RenderSorter","SortButton","mergedSortStateRef","sortStateRef","mergedSortOrderRef","sortState","mergedRenderSorterRef","mergedRenderSorter","mergedSortOrder","renderSorterIcon","dropdownMenuInjectionKey","dropdownInjectionKey","dropdownOptionInjectionKey","NDropdownDivider","NDropdownGroupHeader","showIconRef","hasSubmenuRef","hasSubmenu","showIcon","isSubmenuNode","isGroupNode","isDividerNode","isRenderNode","NDropdownOption","NDropdown","hoverKeyRef","keyboardKeyRef","lastToggledSubmenuKeyRef","pendingKeyPathRef","activeKeyPathRef","animatedRef","renderIconRef","childrenFieldRef","menuPropsRef","NDropdownMenu","NPopoverBody","popoverBodyInjectionKey","rawNodeRef","showSubmenuRef","hoverKey","keyboardKey","lastToggledSubmenuKey","pendingKeyPath","deferredShowSubmenuRef","parentEnteringSubmenuRef","enteringSubmenuRef","handleSubmenuBeforeEnter","handleSubmenuAfterEnter","parentKey","relatedTarget","activeKeyPath","k","animated","mergedShowSubmenu","siblingHasIcon","siblingHasSubmenu","renderIcon","scrollable","submenuVNode","submenuNodeProps","builtinProps","optionNodeProps","NIcon","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","VirtualListItemWrapper","id","cols","TableHeader","scrollXRef","fixedColumnLeftMapRef","fixedColumnRightMapRef","mergedCurrentPageRef","allRowsCheckedRef","someRowsCheckedRef","rowsRef","colsRef","mergedTableLayoutRef","headerCheckboxDisabledRef","virtualScrollHeaderRef","headerHeightRef","onUnstableColumnResize","doUpdateResizableWidth","handleTableHeaderScroll","deriveNextSorter","cellElsRef","getCellActualWidth","element","handleCheckboxUpdateChecked","handleColHeaderClick","activeSorter","nextSorter","resizeStartWidthMap","handleColumnResizeStart","handleColumnResize","displacementX","startWidth","widthAfterResize","limitWidth","fixedColumnLeftMap","fixedColumnRightMap","allRowsChecked","someRowsChecked","checkOptions","discrete","mergedTableLayout","headerCheckboxDisabled","virtualScrollHeader","renderRow","getLeft","headerHeightPx","colIndex","colSpan","rowSpan","isLast","createColumnVNode","leftFixed","rightFixed","CellComponent","pxfy","headerHeight","leftFixedColsCount","rightFixedColsCount","VVirtualList","startColIndex","endColIndex","cells","renderedItemWithCols","theadVNode","scrollX","flatten","rowInfos","expandedRowKeys","fRows","rs","rootIndex","r","rowInfo","TableBody","dataTableSlots","bodyWidthRef","mergedExpandedRowKeysRef","paginatedDataRef","rowClassNameRef","leftActiveFixedColKeyRef","leftActiveFixedChildrenColKeysRef","rightActiveFixedColKeyRef","rightActiveFixedChildrenColKeysRef","renderExpandRef","summaryRef","virtualScrollRef","virtualScrollXRef","heightForRowRef","minRowHeightRef","childTriggerColIndexRef","indentRef","rowPropsRef","maxHeightRef","stripedRef","loadingRef","onLoadRef","loadingKeySetRef","expandableRef","stickyExpandedRowsRef","renderExpandIconRef","summaryPlacementRef","scrollbarPropsRef","setHeaderScrollLeft","doUpdateExpandedRowKeys","handleTableBodyScroll","doCheck","doUncheck","NConfigProvider","configProviderInjectionKey","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","heightForRow","minRowHeight","virtualScrollX","colCount","mergedData","paginatedData","mergedPaginationData","summaryRows","summaryRowData","indentStyle","displayedData","rowCount","rowIndexToKey","rowIndex","bodyWidth","bodyWidthPx","displayedRowIndex","isVirtual","isVirtualX","actualRowIndex","rowData","expanded","mergedRowClassName","iteratedCols","virtualXRowHeight","cordOfRowToPass","indexInCordOfRowToPass","colKey","mergedColSpan","mergedRowSpan","isLastCol","isLastRow","isCrossRowTd","cellProps","resolvedCellProps","indentOffsetStyle","FinalCellComponent","repeat","itemIndex","_index","createEmptyNode","VResizeObserver","MainTable","rightFixedColumnsRef","leftFixedColumnsRef","minHeightRef","flexHeightRef","syncScrollState","headerInstRef","bodyInstRef","selfElRef","fixedStateInitializedRef","bodyStyleRef","handleBodyResize","entry","getHeaderElement","getBodyElement","transitionDisabledClass","headerInBody","fixedColumnStyle","createFixedColumnStyle","iconSwitchTransition","insideModal","insidePopover","useCheck","selectionColumnRef","uncontrolledCheckedRowKeysRef","mergedCheckState","checkedRowKeys","sourceKeys","mergedCheckedRowKeysRef","mergedInderminateRowKeysRef","countOfCurrentPageCheckedRowsRef","mergedCheckedRowKeySet","total","countOfCurrentPageDisabledRowsRef","length","mergedInderminateRowKeySet","doUpdateCheckedRowKeys","keys","action","_onUpdateCheckedRowKeys","onUpdateCheckedRowKeys","onCheckedRowKeysChange","single","checkWholeTable","rowKeysToUncheck","useExpand","uncontrolledExpandedRowKeysRef","expandedKeys","controlledExpandedRowKeysRef","onUpdateExpandedRowKeys","_onUpdateExpandedRowKeys","getRowsAndCols","getResizableWidth","dataRelatedCols","rowItemMap","maxDepth","totalRowSpan","hasEllipsis","currentLeafIndex","ensureMaxDepth","currentDepth","ensureColLayout","hideUntilIndex","cachedCurrentLeafIndex","rowItem","childColumn","useGroupHeader","rowsAndCols","useResizable","resizableWidthsRef","clearResizableWidth","useScroll","mainTableInstRef","lastScrollLeft","scrollPartRef","styleScrollXRef","left","positionInfo","right","deriveActiveLeftFixedColumn","leftFixedColumns","leftWidth","deriveActiveLeftFixedChildrenColumns","activeLeftFixedColumn","nextActiveLeftFixedColumn","deriveActiveRightFixedColumn","rightFixedColumns","scrollWidth","tableWidth","rightWidth","deriveActiveRightFixedChildrenColumns","activeRightFixedColumn","nextActiveRightFixedColumn","getScrollElements","scrollMainTableBodyToTop","beforeNextFrameOnce","directionHead","getMultiplePriority","sorter","getSortFunction","getDefaultSorterFn","row1","row2","value1","value2","useSorter","dataRelatedColsRef","filteredDataRef","defaultSortState","updateSortStatesByNewSortState","uncontrolledSortStateRef","columnsWithControlledSortOrder","columnToSort","uncontrolledSortState","sortedDataRef","activeSorters","b","item1Priority","tmNode1","tmNode2","compareResult","sorterState","compareFn","getUpdatedSorterState","nextSorterState","doUpdateSorter","_onUpdateSorter","onUpdateSorter","onSorterChange","sort","clearSorter","sortStates","useTableData","getSelectionColumn","childrenKey","firstContentfulColIndex","uncontrolledFilterStateRef","pagination","uncontrolledCurrentPageRef","columnsWithControlledFilter","controlledFilterState","mergedFilterState","createDefaultFilter","filterOptionValue","columnEntries","activeFilterOptionValues","defaultFilterOptionValues","controlledCurrentPageRef","controlledPageSizeRef","_mergedCurrentPageRef","boundedMergedCurrentPageRef","startIndex","mergedOnUpdatePage","mergedOnUpdatePageSize","mergedPaginationRef","onPageChange","filters","sourceColumn","onUpdateFilters","_onUpdateFilters","onFiltersChange","limitedWidth","getColumnWidth","clearFilter","clearFilters","__unplugin_components_9","mergedBottomBorderedRef","bottomBordered","hasEllipsisRef","downloadCsv","fileName","keepOriginalData","csvData","blob","downloadUrl","createId","selectionColumn","actionPadding","actionButtonMargin","tdColorHover","tdColorSorting","tdColorSortingModal","tdColorSortingPopover","thColorSorting","thColorSortingModal","thColorSortingPopover","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","vRect","binding","useAutoWrapWidthColumn","currentCol","shallowReactive","_createVNode","Math","ceil","Number","renderDevice","getDevice","manufacturer","release","useSnapshotColumns","ctimeCol","title","fixed","sortOrder","rowA","rowB","dayjs","format","mtimeCol","snapshotImportTime","deviceCol","filterMultiple","includes","toString","appNameCol","getAppInfo","onClick","copy","appIdCol","appId","appVersionCodeCol","versionCode","appVersionNameCol","_resolveComponent","default","versionName","activityIdCol","activityId","resetColWidth"],"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,86]}
|