@gkd-kit/inspect 0.0.1747729551454 → 0.0.1748232348480

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.
Files changed (43) hide show
  1. package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-BBnOR_h-.js → ActionCard.vue_vue_type_script_setup_true_lang-E-6S7lbY.js} +2 -2
  2. package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-BBnOR_h-.js.map → ActionCard.vue_vue_type_script_setup_true_lang-E-6S7lbY.js.map} +1 -1
  3. package/dist/assets/{DevicePage-C1Ku-HrZ.js → DevicePage-Dg4qJ3SR.js} +3 -3
  4. package/dist/assets/{DevicePage-C1Ku-HrZ.js.map → DevicePage-Dg4qJ3SR.js.map} +1 -1
  5. package/dist/assets/{HomePage-CAZS1F8E.js → HomePage-CNkOG6vU.js} +2 -2
  6. package/dist/assets/{HomePage-CAZS1F8E.js.map → HomePage-CNkOG6vU.js.map} +1 -1
  7. package/dist/assets/{ImportPage-DMwupDEo.js → ImportPage-BCFSrONc.js} +2 -2
  8. package/dist/assets/{ImportPage-DMwupDEo.js.map → ImportPage-BCFSrONc.js.map} +1 -1
  9. package/dist/assets/{Input-4Uhawlio.js → Input-BtLsczU3.js} +2 -2
  10. package/dist/assets/{Input-4Uhawlio.js.map → Input-BtLsczU3.js.map} +1 -1
  11. package/dist/assets/{SelectorPage-6kcmT1cD.js → SelectorPage-DF5bkn2v.js} +2 -2
  12. package/dist/assets/{SelectorPage-6kcmT1cD.js.map → SelectorPage-DF5bkn2v.js.map} +1 -1
  13. package/dist/assets/{SnapshotPage-BV9yIwFl.js → SnapshotPage-BVWXBQX1.js} +4 -4
  14. package/dist/assets/{SnapshotPage-BV9yIwFl.js.map → SnapshotPage-BVWXBQX1.js.map} +1 -1
  15. package/dist/assets/{SvgPage-a_oUw5j9.js → SvgPage-BPe9YW0l.js} +2 -2
  16. package/dist/assets/{SvgPage-a_oUw5j9.js.map → SvgPage-BPe9YW0l.js.map} +1 -1
  17. package/dist/assets/{TrackGraph-gqbHSt4f.js → TrackGraph-SB-nKpk_.js} +3 -3
  18. package/dist/assets/{TrackGraph-gqbHSt4f.js.map → TrackGraph-SB-nKpk_.js.map} +1 -1
  19. package/dist/assets/{_404Page-D2lc0347.js → _404Page-DplXf5Qz.js} +2 -2
  20. package/dist/assets/{_404Page-D2lc0347.js.map → _404Page-DplXf5Qz.js.map} +1 -1
  21. package/dist/assets/chunk-dbHiZ_Z8.js +3 -0
  22. package/dist/assets/{chunk-BvzuDQXF.js.map → chunk-dbHiZ_Z8.js.map} +1 -1
  23. package/dist/assets/{dayjs.min-fd-pX5eC.js → dayjs.min-CYXfyIZ5.js} +2 -2
  24. package/dist/assets/{dayjs.min-fd-pX5eC.js.map → dayjs.min-CYXfyIZ5.js.map} +1 -1
  25. package/dist/assets/{error-DZTyqOzL.js → error-PSA7Euag.js} +2 -2
  26. package/dist/assets/{error-DZTyqOzL.js.map → error-PSA7Euag.js.map} +1 -1
  27. package/dist/assets/{import-4iBI7YaC.js → import-CPYkXX_s.js} +2 -2
  28. package/dist/assets/{import-4iBI7YaC.js.map → import-CPYkXX_s.js.map} +1 -1
  29. package/dist/assets/{index-PyQMqf67.js → index-8jSLBVOe.js} +6 -6
  30. package/dist/assets/{index-PyQMqf67.js.map → index-8jSLBVOe.js.map} +1 -1
  31. package/dist/assets/{index-CphXpBnc.js → index-C1jhRGpU.js} +3 -3
  32. package/dist/assets/{index-CphXpBnc.js.map → index-C1jhRGpU.js.map} +1 -1
  33. package/dist/assets/{jszip.min-ByLo2i8W.js → jszip.min-CFqEahzt.js} +2 -2
  34. package/dist/assets/{jszip.min-ByLo2i8W.js.map → jszip.min-CFqEahzt.js.map} +1 -1
  35. package/dist/assets/{node-CBhhql99.js → node-D4bQZPmq.js} +2 -2
  36. package/dist/assets/{node-CBhhql99.js.map → node-D4bQZPmq.js.map} +1 -1
  37. package/dist/assets/{snapshot-BpGa3_3z.js → snapshot-B4Lp4oPe.js} +2 -2
  38. package/dist/assets/{snapshot-BpGa3_3z.js.map → snapshot-B4Lp4oPe.js.map} +1 -1
  39. package/dist/assets/{table-BUvPisAL.js → table-DwQXCy-b.js} +2 -2
  40. package/dist/assets/{table-BUvPisAL.js.map → table-DwQXCy-b.js.map} +1 -1
  41. package/dist/index.html +3 -3
  42. package/package.json +1 -1
  43. package/dist/assets/chunk-BvzuDQXF.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"table-BUvPisAL.js","sources":["../../node_modules/.pnpm/vooks@0.2.12_vue@3.5.13_typescript@5.7.3_/node_modules/vooks/es/use-keyboard.js","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/composable/use-deferred-true.mjs","../../node_modules/.pnpm/vueuc@0.4.64_vue@3.5.13_typescript@5.7.3_/node_modules/vueuc/es/overflow/src/index.js","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/composable/use-resize.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/dom/download.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/naive/attribute.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/naive/prop.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/vue/create-ref-setter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/vue/merge-handlers.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/ArrowDown.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/Backward.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/Checkmark.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/FastBackward.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/FastForward.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/Filter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/Forward.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/More.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/focus-detector/src/FocusDetector.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/src/SelectGroupHeader.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/src/SelectOption.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/src/SelectMenu.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/src/common-props.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/src/Tag.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/selection/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/selection/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/selection/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/selection/src/Selection.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/select/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/src/interface.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/src/PopselectPanel.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/src/Popselect.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/select/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/select/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/select/src/Select.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/src/Pagination.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/interface.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/BodyCheckbox.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/BodyRadio.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/ellipsis/src/PerformantEllipsis.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/Cell.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/ExpandTrigger.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterMenu.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderFilter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterButton.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/ResizeButton.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderSorter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/SortButton.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/context.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownDivider.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownGroupHeader.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownOption.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownGroup.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownRenderOption.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownMenu.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/Dropdown.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/SelectionMenu.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/Header.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/Body.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/MainTable.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-check.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-expand.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-group-header.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-resizable.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-scroll.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-sorter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-table-data.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/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}","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}","export function largerSize(size) {\n switch (size) {\n case 'tiny':\n return 'small';\n case 'small':\n return 'medium';\n case 'medium':\n return 'large';\n case 'large':\n return 'huge';\n }\n}\nexport function smallerSize(size) {\n switch (size) {\n case 'tiny':\n return 'mini';\n case 'small':\n return 'tiny';\n case 'medium':\n return 'small';\n case 'large':\n return 'medium';\n case 'huge':\n return 'large';\n }\n throw new Error(`${size} has no smaller size.`);\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 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: 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-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 type { Snapshot } from './types';\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 { snapshotImportTime } = useStorageStore();\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","smallerSize","size","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","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","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","snapshotImportTime","useStorageStore","ctimeCol","title","fixed","sortOrder","rowA","rowB","dayjs","format","mtimeCol","deviceCol","filterMultiple","includes","toString","appNameCol","getAppInfo","onClick","copy","appIdCol","appId","appVersionCodeCol","versionCode","appVersionNameCol","_resolveComponent","default","versionName","activityIdCol","activityId","resetColWidth"],"mappings":"ouCAGe,SAASA,GAAYC,EAAU,CAAE,EAAEC,EAAY,CAC1D,MAAMC,EAAQC,GAAS,CACnB,KAAM,GACN,QAAS,GACT,IAAK,GACL,MAAO,GACP,IAAK,EACb,CAAK,EACK,CAAE,QAAAC,EAAS,MAAAC,CAAK,EAAKL,EACrBM,EAAkBC,GAAM,CAC1B,OAAQA,EAAE,IAAG,CACT,IAAK,UACDL,EAAM,KAAO,GACb,MACJ,IAAK,OACDA,EAAM,QAAU,GAChBA,EAAM,IAAM,GACZ,MACJ,IAAK,QACDA,EAAM,MAAQ,GACd,MACJ,IAAK,MACDA,EAAM,IAAM,GACZ,KAChB,CACYE,IAAY,QACZ,OAAO,KAAKA,CAAO,EAAE,QAAQI,GAAO,CAChC,GAAIA,IAAQD,EAAE,IACV,OACJ,MAAME,EAAUL,EAAQI,CAAG,EAC3B,GAAI,OAAOC,GAAY,WACnBA,EAAQF,CAAC,MAER,CACD,KAAM,CAAE,KAAAG,EAAO,GAAO,QAAAC,EAAU,EAAO,EAAGF,EACtCC,GACAH,EAAE,gBAAiB,EACnBI,GACAJ,EAAE,eAAgB,EACtBE,EAAQ,QAAQF,CAAC,CACrC,CACA,CAAa,CAER,EACKK,EAAgBL,GAAM,CACxB,OAAQA,EAAE,IAAG,CACT,IAAK,UACDL,EAAM,KAAO,GACb,MACJ,IAAK,OACDA,EAAM,QAAU,GAChBA,EAAM,IAAM,GACZ,MACJ,IAAK,QACDA,EAAM,MAAQ,GACd,MACJ,IAAK,MACDA,EAAM,IAAM,GACZ,KAChB,CACYG,IAAU,QACV,OAAO,KAAKA,CAAK,EAAE,QAAQG,GAAO,CAC9B,GAAIA,IAAQD,EAAE,IACV,OACJ,MAAME,EAAUJ,EAAMG,CAAG,EACzB,GAAI,OAAOC,GAAY,WACnBA,EAAQF,CAAC,MAER,CACD,KAAM,CAAE,KAAAG,EAAO,GAAO,QAAAC,EAAU,EAAO,EAAGF,EACtCC,GACAH,EAAE,gBAAiB,EACnBI,GACAJ,EAAE,eAAgB,EACtBE,EAAQ,QAAQF,CAAC,CACrC,CACA,CAAa,CAER,EACKM,EAAQ,IAAM,EACZZ,IAAe,QAAaA,EAAW,SACvCa,GAAG,UAAW,SAAUR,CAAc,EACtCQ,GAAG,QAAS,SAAUF,CAAY,GAElCX,IAAe,QACfc,GAAMd,EAAYe,GAAS,CACnBA,GACAF,GAAG,UAAW,SAAUR,CAAc,EACtCQ,GAAG,QAAS,SAAUF,CAAY,IAGlCK,GAAI,UAAW,SAAUX,CAAc,EACvCW,GAAI,QAAS,SAAUL,CAAY,EAEvD,CAAa,CAER,EACD,OAAIM,GAAW,GACXC,GAAcN,CAAK,EACnBO,GAAgB,IAAM,EACdnB,IAAe,QAAaA,EAAW,SACvCgB,GAAI,UAAW,SAAUX,CAAc,EACvCW,GAAI,QAAS,SAAUL,CAAY,EAEnD,CAAS,GAGDC,EAAO,EAEJQ,GAASnB,CAAK,CACzB,CChHO,SAASoB,GAAgBC,EAAUC,EAAOC,EAAgB,CAE/D,MAAMC,EAAaC,EAAIJ,EAAS,KAAK,EACrC,IAAIK,EAAU,KACd,OAAAb,GAAMQ,EAAUP,GAAS,CACnBY,IAAY,MAAM,OAAO,aAAaA,CAAO,EAC7CZ,IAAU,GACRS,GAAkB,CAACA,EAAe,MACpCC,EAAW,MAAQ,GAEnBE,EAAU,OAAO,WAAW,IAAM,CAChCF,EAAW,MAAQ,EACpB,EAAEF,CAAK,EAGVE,EAAW,MAAQ,EAEzB,CAAG,EACMA,CACT,CChBA,MAAMG,GAAa,WACbC,GAAQC,GAAE,aAAc,CAC1B,QAAS,gBACb,CAAC,EACDC,GAAeC,GAAgB,CAC3B,KAAM,WACN,MAAO,CACH,WAAY,SACZ,QAAS,SACT,cAAe,SACf,cAAe,SACf,iBAAkB,QACrB,EACD,MAAMC,EAAO,CAAE,MAAAC,GAAS,CACpB,MAAMC,EAAUT,EAAI,IAAI,EAClBU,EAAaV,EAAI,IAAI,EAC3B,SAASW,EAActC,EAAS,CAC5B,KAAM,CAAE,MAAOuC,CAAI,EAAKH,EAClB,CAAE,WAAAI,EAAY,QAAAC,CAAO,EAAKP,EAChC,IAAIQ,EAMJ,GALIF,IAAe,OACfE,EAAUF,EAAY,EAEtBE,EAAUL,EAAW,MAErB,CAACE,GAAQ,CAACG,EACV,OACAA,EAAQ,aAAab,EAAU,GAC/Ba,EAAQ,gBAAgBb,EAAU,EAEtC,KAAM,CAAE,SAAAc,CAAQ,EAAKJ,EACrB,GAAIvC,EAAQ,4BACR,UAAW4C,KAASD,EACZC,EAAM,aAAaf,EAAU,GAC7Be,EAAM,gBAAgBf,EAAU,EAI5C,MAAMgB,EAAiBN,EAAK,YACtBO,EAAc,CAAE,EAChBC,EAAOZ,EAAM,KAAOM,GAAY,KAA6B,OAASA,EAAO,EAAK,KACxF,IAAIO,EAAgBD,EAAOA,EAAK,YAAc,EAC1CE,EAAW,GACf,MAAMC,EAAMX,EAAK,SAAS,QAAUJ,EAAM,KAAO,EAAI,GACrD,QAASgB,EAAI,EAAGA,EAAID,EAAM,EAAG,EAAEC,EAAG,CAC9B,GAAIA,EAAI,EACJ,SACJ,MAAMP,EAAQD,EAASQ,CAAC,EACxB,GAAIF,EAAU,CACLL,EAAM,aAAaf,EAAU,GAC9Be,EAAM,aAAaf,GAAY,EAAE,EAErC,QACpB,MACyBe,EAAM,aAAaf,EAAU,GAClCe,EAAM,gBAAgBf,EAAU,EAEpC,MAAMuB,EAAaR,EAAM,YAGzB,GAFAI,GAAiBI,EACjBN,EAAYK,CAAC,EAAIC,EACbJ,EAAgBH,EAAgB,CAChC,KAAM,CAAE,cAAAQ,CAAa,EAAKnB,EAC1B,QAASoB,EAAIH,EAAGG,GAAK,EAAG,EAAEA,EAAG,CACzB,MAAMC,GAAYL,EAAM,EAAII,EACxBD,IAAkB,OAClBA,EAAcE,EAAS,EAGvBb,EAAQ,YAAc,GAAGa,EAAS,GAEtC,MAAMC,EAAed,EAAQ,YAE7B,GADAM,GAAiBF,EAAYQ,CAAC,EAC1BN,EAAgBQ,GAAgBX,GAAkBS,IAAM,EAAG,CAC3DL,EAAW,GACXE,EAAIG,EAAI,EACJP,IAGII,IAAM,IACNJ,EAAK,MAAM,SAAW,GAAGF,EAAiBW,CAAY,KACtDT,EAAK,MAAM,UAAY,cAGvBA,EAAK,MAAM,SAAW,IAG9B,KAAM,CAAE,cAAAU,CAAa,EAAKvB,EACtBuB,GACAA,EAAcF,EAAS,EAC3B,KAC5B,CACA,CACA,CACA,CACY,KAAM,CAAE,iBAAAG,CAAgB,EAAKxB,EACxBe,EAOGS,IAAqB,QACrBA,EAAiB,EAAI,GAPrBA,IAAqB,QACrBA,EAAiB,EAAK,EAE1BhB,EAAQ,aAAab,GAAY,EAAE,EAOnD,CACQ,MAAM8B,EAAaC,GAAe,EAClC9B,OAAAA,GAAM,MAAM,CACR,GAAI,iBACJ,KAAM,GACN,eAAgB+B,GAChB,IAAKF,CACjB,CAAS,EACDG,GAAU,IAAMxB,EAAc,CAC1B,4BAA6B,EACzC,CAAS,CAAC,EAEK,CACH,QAAAF,EACA,WAAAC,EACA,KAAMC,CACT,CACJ,EACD,QAAS,CACL,KAAM,CAAE,OAAAyB,CAAM,EAAK,KAEnB,OAAAC,GAAS,IAAM,KAAK,KAAK,CACrB,4BAA6B,EACzC,CAAS,CAAC,EAEKC,EAAE,MAAO,CACZ,MAAO,aACP,IAAK,SACjB,EAAW,CACCC,GAAWH,EAAQ,SAAS,EAE5BA,EAAO,QACDA,EAAO,QAAO,EACdE,EAAE,OAAQ,CACR,MAAO,CACH,QAAS,cACZ,EACD,IAAK,YACzB,CAAiB,EAELF,EAAO,KAAOA,EAAO,OAAS,IAC1C,CAAS,CACT,CACA,CAAC,ECvJM,SAASI,GAAYC,EAAOC,EAAU,CAEvCA,IACFP,GAAU,IAAM,CACd,KAAM,CACJ,MAAOQ,CACf,EAAUF,EACAE,GACFC,GAAsB,gBAAgBD,EAAID,CAAQ,CAE1D,CAAK,EAEDtD,GAAMqD,EAAO,CAACI,EAAGC,IAAU,CACrBA,GACFF,GAAsB,kBAAkBE,CAAK,CAErD,EAAO,CACD,KAAM,EACZ,CAAK,EACDrD,GAAgB,IAAM,CACpB,KAAM,CACJ,MAAOkD,CACf,EAAUF,EACAE,GACFC,GAAsB,kBAAkBD,CAAE,CAElD,CAAK,EAEL,CC9BO,SAASI,GAASC,EAAKC,EAAM,CAClC,GAAI,CAACD,EAAK,OACV,MAAME,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOF,EACLC,IAAS,SACXC,EAAE,SAAWD,GAEf,SAAS,KAAK,YAAYC,CAAC,EAC3BA,EAAE,MAAO,EACT,SAAS,KAAK,YAAYA,CAAC,CAC7B,CCVO,SAASC,GAAkB9D,EAAO,CACvC,OAAQ,OAAOA,EAAK,CAClB,IAAK,SAEH,OAAOA,GAAS,OAClB,IAAK,SACH,OAAO,OAAOA,CAAK,EACrB,QACE,MACN,CACA,CCEO,SAAS+D,GAAYC,EAAM,CAChC,OAAQA,EAAI,CACV,IAAK,OACH,MAAO,OACT,IAAK,QACH,MAAO,OACT,IAAK,SACH,MAAO,QACT,IAAK,QACH,MAAO,SACT,IAAK,OACH,MAAO,OACb,CACE,MAAM,IAAI,MAAM,GAAGA,CAAI,uBAAuB,CAChD,CC1BO,SAASC,GAAgBtD,EAAK,CACnC,OAAOuD,GAAQ,CACTA,EACFvD,EAAI,MAAQuD,EAAK,IAEjBvD,EAAI,MAAQ,IAEf,CACH,CCRO,SAASwD,GAAmBC,EAAU,CAC3C,MAAMC,EAAmBD,EAAS,OAAO3E,GAAWA,IAAY,MAAS,EACzE,GAAI4E,EAAiB,SAAW,EAChC,OAAIA,EAAiB,SAAW,EAAUA,EAAiB,CAAC,EACrD9E,GAAK,CACV6E,EAAS,QAAQ3E,GAAW,CACtBA,GACFA,EAAQF,CAAC,CAEjB,CAAK,CACF,CACH,CCVA,MAAA+E,GAAerD,GAAgB,CAC7B,KAAM,YACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,4cACJ,CAAA,CAAC,CAAC,CAAC,CACR,CACA,CAAC,ECjBDsB,GAAetD,GAAgB,CAC7B,KAAM,WACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,KAAM,OACN,MAAO,4BACb,EAAOA,EAAE,OAAQ,CACX,EAAG,6TACH,KAAM,cACZ,CAAK,CAAC,CACN,CACA,CAAC,ECZDuB,GAAevD,GAAgB,CAC7B,KAAM,YACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,MAAO,6BACP,QAAS,WACf,EAAOA,EAAE,IAAK,CACR,KAAM,MACZ,EAAOA,EAAE,OAAQ,CACX,EAAG,8JACH,KAAM,cACP,CAAA,CAAC,CAAC,CACP,CACA,CAAC,ECbDwB,GAAexD,GAAgB,CAC7B,KAAM,eACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,KAAM,OACN,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,KAAM,eACN,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,wkBACJ,CAAA,CAAC,CAAC,CAAC,CACR,CACA,CAAC,ECnBDyB,GAAezD,GAAgB,CAC7B,KAAM,cACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,KAAM,OACN,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,KAAM,eACN,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,ijBACJ,CAAA,CAAC,CAAC,CAAC,CACR,CACA,CAAC,ECnBD0B,GAAe1D,GAAgB,CAC7B,KAAM,SACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,qdACJ,CAAA,CAAC,CAAC,CAAC,CACR,CACA,CAAC,ECjBD2B,GAAe3D,GAAgB,CAC7B,KAAM,UACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,KAAM,OACN,MAAO,4BACb,EAAOA,EAAE,OAAQ,CACX,EAAG,mUACH,KAAM,cACZ,CAAK,CAAC,CACN,CACA,CAAC,ECZD4B,GAAe5D,GAAgB,CAC7B,KAAM,OACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,KAAM,OACN,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,KAAM,eACN,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,2UACJ,CAAA,CAAC,CAAC,CAAC,CACR,CACA,CAAC,ECnBD6B,GAAe7D,GAAgB,CAC7B,MAAO,CACL,QAAS,SACT,OAAQ,QACT,EACD,MAAMC,EAAO,CACX,MAAO,IAAM+B,EAAE,MAAO,CACpB,MAAO,sBACP,SAAU,EACV,QAAS/B,EAAM,QACf,OAAQA,EAAM,MACpB,CAAK,CACL,CACA,CAAC,ECdc6D,GAAA,CACb,OAAQ,qCACR,YAAa,QACb,aAAc,QACd,cAAe,QACf,aAAc,QACd,YAAa,QACb,kBAAmB,SACnB,mBAAoB,SACpB,oBAAqB,SACrB,mBAAoB,SACpB,kBAAmB,SACnB,YAAa,MACf,ECRO,SAASxD,GAAKyD,EAAM,CACzB,KAAM,CACJ,aAAAC,EACA,aAAAC,EACA,WAAAC,EACA,aAAAC,EACA,WAAAC,EACA,oBAAAC,EACA,kBAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,WAAAC,EACA,aAAAC,EACA,cAAAC,EACA,eAAAC,EACA,cAAAC,EACA,aAAAC,EACA,WAAAC,EACA,YAAAC,EACA,aAAAC,EACA,YAAAC,EACA,WAAAC,CACJ,EAAMpB,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIqB,EAAe,EAAG,CACvD,mBAAoBV,EACpB,oBAAqBC,EACrB,qBAAsBC,EACtB,oBAAqBC,EACrB,mBAAoBC,EACpB,iBAAkBC,EAClB,kBAAmBC,EACnB,mBAAoBC,EACpB,kBAAmBC,EACnB,iBAAkBC,EAClB,aAAAnB,EACA,MAAOC,EACP,qBAAsBC,EACtB,mBAAoBC,EACpB,gBAAiBC,EACjB,uBAAwBC,EACxB,wBAAyBC,EACzB,sBAAuBC,EACvB,sBAAuBC,EACvB,iBAAkBD,EAClB,mBAAoBE,EACpB,kBAAmB,mBACnB,yBAA0BA,EAC1B,gBAAiBL,EACjB,aAAcG,CAClB,CAAG,CACH,CACA,MAAMc,GAA0BC,GAAY,CAC1C,KAAM,qBACN,OAAQC,GACR,MAAO,CACL,UAAWC,GACX,MAAOC,EACR,EACDnF,KAAAA,EACF,CAAC,EC7DDoF,GAAe1F,GAAgB,CAC7B,KAAM,yBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EAChB,CACG,EACD,OAAQ,CACN,KAAM,CACJ,eAAA2F,EACA,gBAAAC,EACA,cAAAC,EACA,aAAAC,CACN,EAAQC,GAAOC,EAAiC,EAC5C,MAAO,CACL,WAAYH,EACZ,UAAWC,EACX,YAAaH,EACb,aAAcC,CACf,CACF,EACD,QAAS,CACP,KAAM,CACJ,UAAAK,EACA,YAAAC,EACA,aAAAC,EACA,UAAAC,EACA,OAAQ,CACN,QAAAC,CACR,CACA,EAAQ,KACEC,EAAQF,GAAc,KAA+B,OAASA,EAAUC,CAAO,EAC/E3F,EAAWwF,EAAcA,EAAYG,EAAS,EAAK,EAAIE,GAAOF,EAAQ,KAAK,UAAU,EAAGA,EAAS,EAAK,EACtGG,EAAOxE,EAAE,MAAO,OAAO,OAAO,CAAE,EAAEsE,EAAO,CAC7C,MAAO,CAAC,GAAGL,CAAS,4BAA6BK,GAAU,KAA2B,OAASA,EAAM,KAAK,CAC3G,CAAA,EAAG5F,CAAQ,EACZ,OAAO2F,EAAQ,OAASA,EAAQ,OAAO,CACrC,KAAAG,EACA,OAAQH,CACd,CAAK,EAAIF,EAAeA,EAAa,CAC/B,KAAAK,EACA,OAAQH,EACR,SAAU,EACX,CAAA,EAAIG,CACT,CACA,CAAC,EC/CD,SAASC,GAAgBC,EAAMT,EAAW,CACxC,OAAOjE,EAAE2E,GAAY,CACnB,KAAM,6BACV,EAAK,CACD,QAAS,IAAMD,EAAO1E,EAAE4E,GAAW,CACjC,UAAWX,EACX,MAAO,GAAGA,CAAS,4BACzB,EAAO,CACD,QAAS,IAAMjE,EAAE6E,EAAa,CACpC,CAAK,EAAI,IACT,CAAG,CACH,CACA,MAAAC,GAAe9G,GAAgB,CAC7B,KAAM,oBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EAChB,CACG,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,SAAAX,EACA,iBAAAyH,EACA,YAAAC,EACA,YAAAC,EACA,eAAAtB,EACA,gBAAAC,EACA,cAAAC,EACA,cAAAqB,EACA,iBAAAC,EACA,aAAArB,EACA,kBAAAsB,EACA,uBAAAC,CACN,EAAQtB,GAAOC,EAAiC,EACtCsB,EAAeC,GAAQ,IAAM,CACjC,KAAM,CACJ,MAAOC,CACf,EAAUT,EACJ,OAAKS,EACEvH,EAAM,OAAO,MAAQuH,EAAc,IADf,EAEjC,CAAK,EACD,SAASC,EAAYnJ,EAAG,CACtB,KAAM,CACJ,OAAAoJ,CACR,EAAUzH,EACAyH,EAAO,UACXN,EAAkB9I,EAAGoJ,CAAM,CACjC,CACI,SAASC,EAAiBrJ,EAAG,CAC3B,KAAM,CACJ,OAAAoJ,CACR,EAAUzH,EACAyH,EAAO,UACXL,EAAuB/I,EAAGoJ,CAAM,CACtC,CACI,SAASE,EAAgBtJ,EAAG,CAC1B,KAAM,CACJ,OAAAoJ,CACR,EAAUzH,EACE,CACJ,MAAO4H,CACf,EAAUP,EACAI,EAAO,UAAYG,GACvBR,EAAuB/I,EAAGoJ,CAAM,CACtC,CACI,MAAO,CACL,SAAUV,EACV,UAAWO,GAAQ,IAAM,CACvB,KAAM,CACJ,OAAAG,CACV,EAAYzH,EACE,CACJ,OAAA6H,CACV,EAAYJ,EACJ,OAAOI,GAAUA,EAAO,QAAQ,OAAS,OACjD,CAAO,EACD,cAAeX,EACf,UAAWrB,EACX,UAAWwB,EACX,WAAYC,GAAQ,IAAM,CACxB,KAAM,CACJ,MAAAxI,CACV,EAAYO,EACE,CACJ,MAAOyI,CACjB,EAAYf,EACJ,GAAIjI,IAAU,KAAM,MAAO,GAC3B,MAAMiJ,EAAc/H,EAAM,OAAO,QAAQiH,EAAc,KAAK,EAC5D,GAAIa,EAAU,CACZ,KAAM,CACJ,MAAOE,CACnB,EAAchB,EACJ,OAAOgB,EAAS,IAAID,CAAW,CACzC,KACU,QAAOjJ,IAAUiJ,CAE3B,CAAO,EACD,WAAYnC,EACZ,YAAaF,EACb,aAAcC,EACd,gBAAAgC,EACA,iBAAAD,EACA,YAAAF,CACD,CACF,EACD,QAAS,CACP,KAAM,CACJ,UAAAxB,EACA,OAAQ,CACN,QAAAI,CACD,EACD,WAAA6B,EACA,UAAAL,EACA,UAAAM,EACA,cAAAC,EACA,UAAAhC,EACA,aAAAD,EACA,YAAAD,EACA,YAAAuB,EACA,iBAAAE,EACA,gBAAAC,CACN,EAAQ,KACES,EAAY5B,GAAgByB,EAAYjC,CAAS,EACjDvF,EAAWwF,EAAc,CAACA,EAAYG,EAAS6B,CAAU,EAAGE,GAAiBC,CAAS,EAAI,CAAC9B,GAAOF,EAAQ,KAAK,UAAU,EAAGA,EAAS6B,CAAU,EAAGE,GAAiBC,CAAS,EAC5K/B,EAAQF,GAAc,KAA+B,OAASA,EAAUC,CAAO,EAC/EG,EAAOxE,EAAE,MAAO,OAAO,OAAO,CAAE,EAAEsE,EAAO,CAC7C,MAAO,CAAC,GAAGL,CAAS,sBAAuBI,EAAQ,MAAOC,GAAU,KAA2B,OAASA,EAAM,MAAO,CACnH,CAAC,GAAGL,CAAS,+BAA+B,EAAGI,EAAQ,SACvD,CAAC,GAAGJ,CAAS,+BAA+B,EAAGiC,EAC/C,CAAC,GAAGjC,CAAS,8BAA8B,EAAGkC,EAC9C,CAAC,GAAGlC,CAAS,8BAA8B,EAAG4B,EAC9C,CAAC,GAAG5B,CAAS,qCAAqC,EAAGmC,CAC7D,CAAO,EACD,MAAO,EAAE9B,GAAU,KAA2B,OAASA,EAAM,QAAU,GAAID,EAAQ,OAAS,EAAE,EAC9F,QAASnD,GAAmB,CAACuE,EAAanB,GAAU,KAA2B,OAASA,EAAM,OAAO,CAAC,EACtG,aAAcpD,GAAmB,CAACyE,EAAkBrB,GAAU,KAA2B,OAASA,EAAM,YAAY,CAAC,EACrH,YAAapD,GAAmB,CAAC0E,EAAiBtB,GAAU,KAA2B,OAASA,EAAM,WAAW,CAAC,CACxH,CAAK,EAAGtE,EAAE,MAAO,CACX,MAAO,GAAGiE,CAAS,8BACpB,EAAEvF,CAAQ,CAAC,EACZ,OAAO2F,EAAQ,OAASA,EAAQ,OAAO,CACrC,KAAAG,EACA,OAAQH,EACR,SAAU6B,CAChB,CAAK,EAAI/B,EAAeA,EAAa,CAC/B,KAAAK,EACA,OAAQH,EACR,SAAU6B,CACX,CAAA,EAAI1B,CACT,CACA,CAAC,EC5Jc8B,GAAAC,EAAG,mBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUnC,CAACA,EAAG,YAAa;AAAA;AAAA,EAElB,EAAGA,EAAG,eAAgB;AAAA;AAAA,EAEtB,EAAGA,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,GAK1B,CAACC,GAAG,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,CAAC,CAAC,EAAGD,EAAG,2BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpC,EAAGA,EAAG,kCAAmC;AAAA;AAAA;AAAA,EAGzC,EAAGC,GAAG,iBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxB,EAAGA,GAAG,UAAW;AAAA;AAAA;AAAA,EAGjB,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhB,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhB,EAAGD,EAAG,2BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKlC,EAAGA,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAU1B,CAACE,EAAG,iBAAkB;AAAA;AAAA,EAExB,EAAG3I,GAAE,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlB,EAAGA,GAAE,WAAY;AAAA;AAAA,EAEjB,EAAG2I,EAAG,UAAW;AAAA;AAAA,EAEjB,EAAGA,EAAG,UAAW,CAAC3I,GAAE,YAAa;AAAA;AAAA,EAEjC,CAAC,CAAC,EAAG2I,EAAG,WAAY;AAAA;AAAA,GAElB,CAAC3I,GAAE,YAAa;AAAA;AAAA,EAElB,EAAG2I,EAAG,UAAW,CAAC3I,GAAE,YAAa;AAAA;AAAA,EAEjC,CAAC,CAAC,CAAC,CAAC,EAAG2I,EAAG,WAAY;AAAA;AAAA,GAEpB,CAACC,GAAM,WAAY;AAAA;AAAA,EAErB,EAAGD,EAAG,WAAY;AAAA;AAAA,EAElB,CAAC,CAAC,EAAGD,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAOf,CAACG,GAAwB,CAC3B,WAAY,KACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EClGPC,GAAe5I,GAAgB,CAC7B,KAAM,qBACN,MAAO,OAAO,OAAO,OAAO,OAAO,GAAI6I,GAAS,KAAK,EAAG,CACtD,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,WAAY,CACV,KAAM,QACN,QAAS,EACV,EACD,SAAU,CACR,KAAM,OACN,SAAU,EACX,EACD,SAAU,QACV,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,MAAO,CACL,KAAM,CAAC,OAAQ,OAAQ,KAAK,EAC5B,QAAS,IACV,EACD,YAAa,QACb,cAAe,CACb,KAAM,QACN,QAAS,EACV,EAED,KAAM,CACJ,KAAM,QACN,QAAS,EACV,EACD,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,QAAS,QACT,UAAW,QACX,YAAa,SACb,aAAc,SACd,UAAW,SACX,cAAe,CACb,KAAM,QACN,QAAS,EACV,EACD,YAAa,SACb,SAAU,SACV,QAAS,SACT,OAAQ,SACR,QAAS,SACT,UAAW,SACX,SAAU,SACV,aAAc,SACd,aAAc,SACd,SAAU,SACV,yBAA0B,CACxB,KAAM,QACN,QAAS,EACV,EACD,oBAAqB,QAErB,SAAU,QACd,CAAG,EACD,MAAM5I,EAAO,CACX,KAAM,CACJ,mBAAA6I,EACA,aAAAC,CACN,EAAQC,GAAU/I,CAAK,EACbgJ,EAAgBC,GAAO,qBAAsBH,EAAcD,CAAkB,EAC7EK,EAAWN,GAAS,qBAAsB,wBAAyBhJ,GAAOwF,GAAyBpF,EAAOmJ,GAAMnJ,EAAO,WAAW,CAAC,EACnIE,EAAUT,EAAI,IAAI,EAClB2J,EAAiB3J,EAAI,IAAI,EACzB4J,EAAe5J,EAAI,IAAI,EACvB6J,EAAoBC,EAAS,IAAMvJ,EAAM,SAAS,kBAAiB,CAAE,EACrEwJ,EAAkBD,EAAS,IAAME,GAAkBH,EAAkB,KAAK,CAAC,EAC3EI,EAAiBjK,EAAI,IAAI,EAC/B,SAASkK,GAAkB,CACzB,KAAM,CACJ,SAAAC,CACR,EAAU5J,EACJ,IAAI6J,EAAqB,KACzB,KAAM,CACJ,MAAA/K,CACR,EAAUkB,EACAlB,IAAU,KACZ+K,EAAqBD,EAAS,sBAAuB,GAEjD5J,EAAM,SACR6J,EAAqBD,EAAS,SAAS9K,GAAS,CAAA,IAAKA,GAAS,CAAE,GAAE,OAAS,CAAC,CAAC,EAE7E+K,EAAqBD,EAAS,QAAQ9K,CAAK,GAEzC,CAAC+K,GAAsBA,EAAmB,YAC5CA,EAAqBD,EAAS,sBAAuB,IAIvDE,EADED,GAGe,IAFkB,CAI3C,CACI,SAASE,GAA4B,CACnC,KAAM,CACJ,MAAOC,CACf,EAAUN,EACAM,GAAe,CAAChK,EAAM,SAAS,QAAQgK,EAAY,GAAG,IACxDN,EAAe,MAAQ,KAE/B,CACI,IAAIO,EACJpL,GAAM,IAAMmB,EAAM,KAAMyG,GAAQ,CAC1BA,EACFwD,EAAiCpL,GAAM,IAAMmB,EAAM,SAAU,IAAM,CAC7DA,EAAM,0BACJA,EAAM,YACR2J,EAAiB,EAEjBI,EAA2B,EAExBjI,GAASoI,CAAmB,GAEjCH,EAA2B,CAEvC,EAAW,CACD,UAAW,EACrB,CAAS,EAEDE,GAAmC,MAA6DA,EAAgC,CAExI,EAAO,CACD,UAAW,EACjB,CAAK,EACD/K,GAAgB,IAAM,CACpB+K,GAAmC,MAA6DA,EAAgC,CACtI,CAAK,EACD,MAAME,EAAcZ,EAAS,IACpBa,GAAKlB,EAAS,MAAM,KAAKmB,GAAU,eAAgBrK,EAAM,IAAI,CAAC,CAAC,CACvE,EACKsK,EAAaf,EAAS,IACnBgB,GAAWrB,EAAS,MAAM,KAAKmB,GAAU,UAAWrK,EAAM,IAAI,CAAC,CAAC,CACxE,EACKgH,EAAcuC,EAAS,IACvBvJ,EAAM,UAAY,MAAM,QAAQA,EAAM,KAAK,EACtC,IAAI,IAAIA,EAAM,KAAK,EAErB,IAAI,GACZ,EACKwK,EAAWjB,EAAS,IAAM,CAC9B,MAAMkB,EAAUnB,EAAkB,MAClC,OAAOmB,GAAWA,EAAQ,SAAW,CAC3C,CAAK,EACD,SAASC,EAASjD,EAAQ,CACxB,KAAM,CACJ,SAAAkD,CACR,EAAU3K,EACA2K,GAAUA,EAASlD,CAAM,CACnC,CACI,SAASmD,EAASvM,EAAG,CACnB,KAAM,CACJ,SAAAwM,CACR,EAAU7K,EACA6K,GAAUA,EAASxM,CAAC,CAC9B,CAEI,SAASyM,EAAwBzM,EAAG,CAClC,IAAI0M,GACHA,EAAK1B,EAAa,SAAW,MAAQ0B,IAAO,QAAkBA,EAAG,KAAM,EACxEH,EAASvM,CAAC,CAChB,CACI,SAAS2M,GAA0B,CACjC,IAAID,GACHA,EAAK1B,EAAa,SAAW,MAAQ0B,IAAO,QAAkBA,EAAG,KAAM,CAC9E,CACI,SAASE,GAAmB,CAC1B,KAAM,CACJ,MAAO1D,CACf,EAAUmC,EACJ,OAAInC,GACG,IACb,CACI,SAASH,EAAuB/I,EAAGoJ,EAAQ,CACrCA,EAAO,UACXqC,EAAiBrC,EAAQ,EAAK,CACpC,CACI,SAASN,GAAkB9I,EAAGoJ,EAAQ,CAChCA,EAAO,UACXiD,EAASjD,CAAM,CACrB,CAEI,SAASyD,EAAY7M,EAAG,CACtB,IAAI0M,EACAI,GAAU9M,EAAG,QAAQ,IACxB0M,EAAK/K,EAAM,WAAa,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,EAAO3B,CAAC,CAChF,CACI,SAAS+M,EAAc/M,EAAG,CACxB,IAAI0M,EACAI,GAAU9M,EAAG,QAAQ,IACxB0M,EAAK/K,EAAM,aAAe,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,EAAO3B,CAAC,CAClF,CACI,SAASgN,EAAgBhN,EAAG,CAC1B,IAAI0M,GACHA,EAAK/K,EAAM,eAAiB,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,EAAO3B,CAAC,EAC1E,CAAA2B,EAAM,WACV3B,EAAE,eAAgB,CACxB,CACI,SAASiN,GAAO,CACd,KAAM,CACJ,MAAO/D,CACf,EAAUmC,EACAnC,GACFuC,EAAiBvC,EAAc,QAAQ,CACrC,KAAM,EACP,CAAA,EAAG,EAAI,CAEhB,CACI,SAASgE,GAAO,CACd,KAAM,CACJ,MAAOhE,CACf,EAAUmC,EACAnC,GACFuC,EAAiBvC,EAAc,QAAQ,CACrC,KAAM,EACP,CAAA,EAAG,EAAI,CAEhB,CACI,SAASuC,EAAiBrC,EAAQmD,EAAW,GAAO,CAClDlB,EAAe,MAAQjC,EACnBmD,GAAUV,EAAqB,CACzC,CACI,SAASA,GAAsB,CAC7B,IAAIa,EAAIS,EACR,MAAM/D,EAASiC,EAAe,MAC9B,GAAI,CAACjC,EAAQ,OACb,MAAMgE,EAASjC,EAAgB,MAAM/B,EAAO,GAAG,EAC3CgE,IAAW,OACXzL,EAAM,eACP+K,EAAK3B,EAAe,SAAW,MAAQ2B,IAAO,QAAkBA,EAAG,SAAS,CAC3E,MAAOU,CACjB,CAAS,GAEAD,EAAKnC,EAAa,SAAW,MAAQmC,IAAO,QAAkBA,EAAG,SAAS,CACzE,MAAOC,EACP,OAAQtB,EAAY,KAC9B,CAAS,EAET,CACI,SAASuB,EAAcrN,EAAG,CACxB,IAAI0M,EAAIS,EACH,GAAAT,EAAK7K,EAAQ,SAAW,MAAQ6K,IAAO,SAAkBA,EAAG,SAAS1M,EAAE,MAAM,KAC/EmN,EAAKxL,EAAM,WAAa,MAAQwL,IAAO,QAAkBA,EAAG,KAAKxL,EAAO3B,CAAC,EAElF,CACI,SAASsN,EAAetN,EAAG,CACzB,IAAI0M,EAAIS,EACD,GAAAT,EAAK7K,EAAQ,SAAW,MAAQ6K,IAAO,SAAkBA,EAAG,SAAS1M,EAAE,aAAa,IACxFmN,EAAKxL,EAAM,UAAY,MAAQwL,IAAO,QAAkBA,EAAG,KAAKxL,EAAO3B,CAAC,CAEjF,CACIuN,GAAQ7F,GAAmC,CACzC,uBAAAqB,EACA,kBAAAD,GACA,YAAAH,EACA,iBAAkB0C,EAClB,aAAcP,GAAMnJ,EAAO,WAAW,EACtC,iBAAkBmJ,GAAMnJ,EAAO,eAAe,EAC9C,YAAamJ,GAAMnJ,EAAO,UAAU,EACpC,SAAUmJ,GAAMnJ,EAAO,OAAO,EAC9B,eAAgBmJ,GAAMnJ,EAAO,aAAa,EAC1C,gBAAiBmJ,GAAMnJ,EAAO,cAAc,EAC5C,cAAemJ,GAAMnJ,EAAO,YAAY,EACxC,cAAemJ,GAAMnJ,EAAO,YAAY,CAC9C,CAAK,EACD4L,GAAQC,GAAuC3L,CAAO,EACtD0B,GAAU,IAAM,CACd,KAAM,CACJ,MAAA9C,CACR,EAAUuK,EACAvK,GAAOA,EAAM,KAAM,CAC7B,CAAK,EACD,MAAMgN,EAAavC,EAAS,IAAM,CAChC,KAAM,CACJ,KAAAzG,CACR,EAAU9C,EACE,CACJ,OAAQ,CACN,qBAAA+L,CACD,EACD,KAAM,CACJ,OAAAC,EACA,aAAAjI,EACA,MAAAkI,GACA,qBAAAC,GACA,mBAAAC,GACA,uBAAAC,EACA,gBAAAC,EACA,wBAAAC,GACA,sBAAAC,GACA,sBAAAC,GACA,iBAAAC,GACA,gBAAAC,GACA,mBAAAC,GACA,kBAAAC,GACA,aAAAC,GACA,YAAAC,GACA,yBAAAC,GACA,CAAC1C,GAAU,iBAAkBvH,CAAI,CAAC,EAAGkK,GACrC,CAAC3C,GAAU,eAAgBvH,CAAI,CAAC,EAAGmK,GACnC,CAAC5C,GAAU,gBAAiBvH,CAAI,CAAC,EAAGoK,EAC9C,CACO,EAAGhE,EAAS,MACb,MAAO,CACL,aAAc8C,EACd,2BAA4BG,GAC5B,wBAAyBO,GACzB,aAAcX,EACd,oBAAqBhI,EACrB,YAAakI,GACb,uBAAwBe,GACxB,8BAA+Bd,GAC/B,yBAA0BO,GAC1B,2BAA4BE,GAC5B,0BAA2BC,GAC3B,kCAAmCG,GACnC,oBAAqBE,GACrB,8BAA+BT,GAC/B,wBAAyBH,EACzB,+BAAgCE,GAChC,iCAAkCD,GAClC,gCAAiCF,EACjC,qBAAsBc,GACtB,0BAA2B3C,GAAW2C,GAAe,MAAM,EAC3D,2BAA4B3C,GAAW2C,GAAe,OAAO,EAC7D,oBAAqBL,GACrB,mBAAoBC,EACrB,CACP,CAAK,EACK,CACJ,oBAAAK,EACN,EAAQnN,EACEoN,EAAmBD,GAAsBE,GAAc,uBAAwB9D,EAAS,IAAMvJ,EAAM,KAAK,CAAC,CAAC,EAAG8L,EAAY9L,CAAK,EAAI,OACnIsN,EAAe,CACnB,QAAApN,EACA,KAAAoL,EACA,KAAAC,EACA,iBAAAN,CACD,EACD,OAAAhJ,GAAY/B,EAASF,EAAM,QAAQ,EAC5B,OAAO,OAAO,CACnB,YAAakJ,EACb,gBAAiBL,EACjB,WAAYG,EACZ,eAAAI,EACA,aAAAC,EACA,SAAUc,EACV,QAASG,EACT,eAAgBhB,EAChB,MAAOkB,EACP,sBAAuB,CACrB,KAAM,CACJ,MAAA1L,CACV,EAAYsK,EACJ,OAAOtK,GAAU,KAA2B,OAASA,EAAM,SAC5D,EACD,oBAAqB,CACnB,KAAM,CACJ,MAAAA,CACV,EAAYsK,EACJ,OAAOtK,GAAU,KAA2B,OAASA,EAAM,UAC5D,EACD,SAAA8L,EACA,cAAAc,EACA,eAAAC,EACA,YAAAT,EACA,cAAAE,EACA,gBAAAC,EACA,wBAAAL,EACA,wBAAAF,EACA,QAASqC,GAAsB,OAAYrB,EAC3C,WAAYsB,GAAqB,KAAsC,OAASA,EAAiB,WACjG,SAAUA,GAAqB,KAAsC,OAASA,EAAiB,QAChG,EAAEE,CAAY,CAChB,EACD,QAAS,CACP,KAAM,CACJ,OAAAzL,EACA,cAAA0L,EACA,UAAAvH,EACA,YAAAwH,EACA,WAAAC,EACA,SAAAC,CACN,EAAQ,KACJ,OAAAA,GAAa,MAAuCA,EAAU,EACvD3L,EAAE,MAAO,CACd,IAAK,UACL,SAAU,KAAK,UAAY,EAAI,GAC/B,MAAO,CAAC,GAAGiE,CAAS,oBAAqB,KAAK,YAAc,GAAGA,CAAS,yBAA0ByH,EAAY,KAAK,UAAY,GAAGzH,CAAS,6BAA6B,EACxK,MAAO,KAAK,QACZ,UAAW,KAAK,cAChB,WAAY,KAAK,eACjB,QAAS,KAAK,YACd,UAAW,KAAK,cAChB,YAAa,KAAK,gBAClB,aAAc,KAAK,aACnB,aAAc,KAAK,YACzB,EAAO2H,GAAmB9L,EAAO,OAAQpB,GAAYA,GAAYsB,EAAE,MAAO,CACpE,MAAO,GAAGiE,CAAS,4BACnB,cAAe,GACf,IAAK,QACX,EAAOvF,CAAQ,CAAC,EAAG,KAAK,QAAUsB,EAAE,MAAO,CACrC,MAAO,GAAGiE,CAAS,4BACzB,EAAOjE,EAAE6L,GAAkB,CACrB,UAAW5H,EACX,YAAa,EACd,CAAA,CAAC,EAAK,KAAK,MAmDPjE,EAAE,MAAO,CACZ,MAAO,GAAGiE,CAAS,2BACnB,aAAc,EACpB,EAAO6H,GAAYhM,EAAO,MAAO,IAAM,CAACE,EAAE+L,GAAQ,CAC5C,MAAON,EAAY,MAAM,MACzB,eAAgBA,EAAY,cAAc,MAC1C,KAAM,KAAK,IACjB,CAAK,CAAC,CAAC,CAAC,EA1DgBzL,EAAEgM,GAAY,CAChC,IAAK,eACL,MAAOP,EAAY,MAAM,UACzB,eAAgBA,EAAY,cAAc,UAC1C,WAAY,KAAK,WACjB,UAAWD,EAAgB,KAAK,qBAAuB,OACvD,QAASA,EAAgB,KAAK,mBAAqB,OACnD,SAAUA,EAAgB,OAAY,KAAK,QACjD,EAAO,CACD,QAAS,IACAA,EAAgBxL,EAAEiM,GAAa,CACpC,IAAK,iBACL,MAAO,GAAGhI,CAAS,gBACnB,MAAO,KAAK,eACZ,SAAU,KAAK,SACf,cAAe,GACf,WAAY,KAAK,QAAQ,IACzB,cAAe,KAAK,QAAQ,OAC5B,SAAU,KAAK,wBACf,SAAU,KAAK,wBACf,cAAe,EACzB,EAAW,CACD,QAAS,CAAC,CACR,KAAMyB,CAClB,IACmBA,EAAO,QAAU1F,EAAE0D,GAAoB,CAC5C,IAAKgC,EAAO,IACZ,UAAWzB,EACX,OAAQyB,CACT,CAAA,EAAIA,EAAO,QAAU,KAAO1F,EAAE8E,GAAe,CAC5C,UAAWb,EACX,IAAKyB,EAAO,IACZ,OAAQA,CACtB,CAAa,CAEb,CAAS,EAAI1F,EAAE,MAAO,CACZ,MAAO,GAAGiE,CAAS,mCACnB,MAAO,CACL,WAAY,KAAK,QAAQ,IACzB,cAAe,KAAK,QAAQ,MACxC,CACA,EAAW,KAAK,eAAe,IAAIyB,GAAUA,EAAO,QAAU1F,EAAE0D,GAAoB,CAC1E,IAAKgC,EAAO,IACZ,UAAWzB,EACX,OAAQyB,CAClB,CAAS,EAAI1F,EAAE8E,GAAe,CACpB,UAAWb,EACX,IAAKyB,EAAO,IACZ,OAAQA,CACT,CAAA,CAAC,CAAC,CAEX,CAAK,EAOMkG,GAAmB9L,EAAO,OAAQpB,GAAYA,GAAY,CAACsB,EAAE,MAAO,CACzE,MAAO,GAAGiE,CAAS,4BACnB,cAAe,GACf,IAAK,QACX,EAAOvF,CAAQ,EAAGsB,EAAEkM,GAAgB,CAC9B,QAAS,KAAK,SACd,IAAK,gBACN,CAAA,CAAC,CAAC,CAAC,CACR,CACA,CAAC,ECvfcC,GAAA,CACb,kBAAmB,OACnB,mBAAoB,OACpB,oBAAqB,OACrB,mBAAoB,OACpB,cAAe,OACf,eAAgB,OAChB,gBAAiB,OACjB,eAAgB,OAChB,QAAS,QACT,YAAa,WACf,ECRA,SAAS7N,GAAKyD,EAAM,CAClB,KAAM,CACJ,WAAAK,EACA,kBAAAgK,EACA,oBAAA/J,EACA,aAAAE,EACA,UAAA8J,EACA,aAAAC,EACA,aAAAC,EACA,WAAAC,EACA,UAAAC,EACA,YAAAC,EACA,gBAAAlK,EACA,SAAAmK,EACA,eAAAC,EACA,oBAAAC,EACA,sBAAAC,EACA,kBAAmB9K,EACnB,aAAA+K,EACA,aAAArK,EACA,cAAAC,EACA,eAAAC,EACA,WAAAoK,EACA,WAAAjK,EACA,YAAAC,EACA,aAAAC,GACA,gBAAAgK,EACA,kBAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,iBAAAC,CACJ,EAAMtL,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIqB,EAAe,EAAG,CACvD,kBAAmBpB,EACnB,WAAYgL,EACZ,YAAajK,EACb,aAAcC,EACd,YAAaC,GACb,aAAAjB,EACA,gBAAAQ,EACA,aAAcuK,EACd,cAAerK,EACf,eAAgBC,EAChB,cAAeC,EACf,iBAAAyK,EAEA,mBAAoBjL,EACpB,wBAAyBA,EACzB,0BAA2BA,EAC3B,iBAAkBqK,EAClB,eAAgB,QAChB,oBAAqBU,EACrB,sBAAuBC,EACvB,aAAc7K,EACd,kBAAmB6J,EACnB,oBAAqB/J,EAErB,OAAQ,aAAaqK,CAAW,GAChC,UAAWtK,EACX,MAAOuK,EACP,cAAe,qBACf,eAAAC,EACA,oBAAAC,EACA,sBAAAC,EACA,gBAAAG,EACA,kBAAAC,EACA,cAAe,aAAaI,GAAY/K,EAAc,CACpD,MAAO,EACR,CAAA,CAAC,GACF,iBAAkBA,EAClB,aAAc+K,GAAY/K,EAAc,CACtC,MAAO,GACb,CAAK,EACD,qBAAsB+K,GAAY/K,EAAc,CAC9C,MAAO,EACb,CAAK,EACD,sBAAuBA,EACvB,2BAA4BA,EAC5B,6BAA8BA,EAC9B,uBAAwB+K,GAAY/K,EAAc,CAChD,MAAO,GACb,CAAK,EACD,yBAA0B+K,GAAY/K,EAAc,CAClD,MAAO,GACb,CAAK,EACD,WAAY,aAAa+K,GAAYjB,EAAW,CAC9C,MAAO,EACR,CAAA,CAAC,GACF,cAAeA,EACf,UAAWiB,GAAYjB,EAAW,CAChC,MAAO,GACb,CAAK,EACD,kBAAmBiB,GAAYjB,EAAW,CACxC,MAAO,EACb,CAAK,EACD,mBAAoBA,EACpB,wBAAyBA,EACzB,0BAA2BA,EAC3B,oBAAqBiB,GAAYjB,EAAW,CAC1C,MAAO,GACb,CAAK,EACD,sBAAuBiB,GAAYjB,EAAW,CAC5C,MAAO,GACb,CAAK,EACD,cAAe,aAAaiB,GAAYhB,EAAc,CACpD,MAAO,EACR,CAAA,CAAC,GACF,iBAAkBA,EAClB,aAAcgB,GAAYhB,EAAc,CACtC,MAAO,GACb,CAAK,EACD,qBAAsBgB,GAAYhB,EAAc,CAC9C,MAAO,EACb,CAAK,EACD,sBAAuBA,EACvB,2BAA4BA,EAC5B,6BAA8BA,EAC9B,uBAAwBgB,GAAYhB,EAAc,CAChD,MAAO,GACb,CAAK,EACD,yBAA0BgB,GAAYhB,EAAc,CAClD,MAAO,GACb,CAAK,EACD,cAAe,aAAagB,GAAYf,EAAc,CACpD,MAAO,GACR,CAAA,CAAC,GACF,iBAAkBA,EAClB,aAAce,GAAYf,EAAc,CACtC,MAAO,GACb,CAAK,EACD,qBAAsBe,GAAYf,EAAc,CAC9C,MAAO,GACb,CAAK,EACD,sBAAuBA,EACvB,2BAA4BA,EAC5B,6BAA8BA,EAC9B,uBAAwBe,GAAYf,EAAc,CAChD,MAAO,GACb,CAAK,EACD,yBAA0Be,GAAYf,EAAc,CAClD,MAAO,GACb,CAAK,EACD,YAAa,aAAae,GAAYd,EAAY,CAChD,MAAO,GACR,CAAA,CAAC,GACF,eAAgBA,EAChB,WAAYc,GAAYd,EAAY,CAClC,MAAO,EACb,CAAK,EACD,mBAAoBc,GAAYd,EAAY,CAC1C,MAAO,GACb,CAAK,EACD,oBAAqBA,EACrB,yBAA0BA,EAC1B,2BAA4BA,EAC5B,qBAAsBc,GAAYd,EAAY,CAC5C,MAAO,GACb,CAAK,EACD,uBAAwBc,GAAYd,EAAY,CAC9C,MAAO,GACR,CAAA,CACL,CAAG,CACH,CACA,MAAMe,GAAW,CAEf,OAAQhK,GACRjF,KAAAA,EACF,EC1KekP,GAAA,CACb,MAAO,OACP,KAAM,CACJ,KAAM,OACN,QAAS,SACV,EACD,MAAO,QACP,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,SAAU,QACV,SAAU,CACR,KAAM,QACN,QAAS,MACb,CACA,ECWeC,GAAAlH,EAAG,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBtB,CAACE,EAAG,SAAU;AAAA;AAAA,EAEf,EAAGD,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUhB,EAAGA,GAAG,OAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMd,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA,EAGhB,EAAGA,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf,EAAGC,EAAG,QAAS;AAAA;AAAA;AAAA,GAGb,CAACD,GAAG,OAAQ;AAAA;AAAA,EAEd,EAAGA,GAAG,SAAU;AAAA;AAAA,EAEhB,EAAGC,EAAG,WAAY;AAAA;AAAA,EAElB,CAAC,CAAC,EAAGA,EAAG,eAAgB,CAACA,EAAG,QAAS;AAAA;AAAA,EAErC,CAAC,CAAC,EAAGA,EAAG,WAAY;AAAA;AAAA;AAAA,EAGpB,EAAGA,EAAG,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA,GAKjB,CAACC,GAAM,WAAY,CAAC5I,GAAE,UAAW,oDAAqD,CAAC4I,GAAM,UAAW,6CAA6C,CAAC,CAAC,EAAG5I,GAAE,WAAY,sDAAuD,CAAC4I,GAAM,UAAW,+CAA+C,CAAC,CAAC,CAAC,CAAC,EAAGD,EAAG,UAAW;AAAA;AAAA;AAAA,GAGrT,CAACC,GAAM,WAAY,CAAC5I,GAAE,UAAW,iDAAiD,EAAGA,GAAE,WAAY,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,ECxFrJ4P,GAAW,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAI,EAAA7G,GAAS,KAAK,EAAG2G,EAAW,EAAG,CACnG,SAAU,CACR,KAAM,QACN,QAAS,MACX,EACA,QAAS,QACT,UAAW,QACX,OAAQ,QACR,oBAAqB,QACrB,QAAS,CAAC,MAAO,QAAQ,EACzB,aAAc,SACd,aAAc,SACd,mBAAoB,SACpB,gBAAiB,SAEjB,uBAAwB,CACtB,KAAM,QACN,QAAS,EACX,EACA,yBAA0B,CACxB,KAAM,QACN,QAAS,EACX,EAEA,gBAAiB,QACnB,CAAC,EACYG,GAAkBC,GAAmB,OAAO,EACzDC,GAAe7P,GAAgB,CAC7B,KAAM,MACN,MAAO0P,GACP,MAAO,OACP,MAAMzP,EAAO,CAQL,MAAA6P,EAAapQ,EAAI,IAAI,EACrB,CACJ,kBAAAqQ,EACA,mBAAAjH,EACA,oBAAAsE,EACA,aAAArE,CAAA,EACEC,GAAU/I,CAAK,EACbkJ,EAAWN,GAAS,MAAO,OAAQhJ,GAAO0P,GAAUtP,EAAO6I,CAAkB,EACnF+C,GAAQ8D,GAAiB,CACvB,SAAUvG,GAAMnJ,EAAO,OAAO,CAAA,CAC/B,EACD,SAASwH,GAAc,CACjB,GAAA,CAACxH,EAAM,UACLA,EAAM,UAAW,CACb,KAAA,CACJ,QAAA+P,EACA,gBAAAC,EACA,gBAAAC,EACA,mBAAoBC,CAAA,EAClBlQ,EACAiQ,GAAiCA,EAAA,CAACF,CAAO,EACzCG,GAAmCA,EAAA,CAACH,CAAO,EAE3CC,GAAiCA,EAAA,CAACD,CAAO,CAAA,CAEjD,CAEF,SAASI,EAAiB9R,EAAG,CAIvB,GAHC2B,EAAM,qBACT3B,EAAE,gBAAgB,EAEhB,CAAC2B,EAAM,SAAU,CACb,KAAA,CACJ,QAAAoQ,CAAA,EACEpQ,EACAoQ,GAAcC,GAAAD,EAAS/R,CAAC,CAAA,CAC9B,CAEF,MAAMiS,EAAmB,CACvB,eAAeC,EAAa,CACpB,KAAA,CACJ,MAAAzR,CAAA,EACE+Q,EACA/Q,MAAa,YAAcyR,EAAA,CAEnC,EACMvH,EAAgBC,GAAO,MAAOH,EAAcD,CAAkB,EAC9DiD,EAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAAiH,EACA,KAAA1N,EACA,MAAO,CACL,MAAAmJ,EACA,UAAAwE,CAAA,EACE,CAAA,CAAC,EACHzQ,EACE,CACJ,OAAQ,CACN,qBAAA+L,CACF,EACA,KAAM,CACJ,QAAA2E,EACA,YAAAC,EACA,aAAA5M,EACA,gBAAAQ,EACA,mBAAAqM,EACA,wBAAAC,EACA,0BAAAC,GACA,iBAAAC,EACA,eAAAC,EACA,oBAAAC,EACA,sBAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,kBAAAC,EACA,iBAAAlC,EACA,CAAC/E,GAAU,gBAAiBmG,CAAI,CAAC,EAAGe,EACpC,CAAClH,GAAU,YAAavH,CAAI,CAAC,EAAG0O,GAChC,CAACnH,GAAU,gBAAiBvH,CAAI,CAAC,EAAG2O,EACpC,CAACpH,GAAU,WAAYvH,CAAI,CAAC,EAAGkK,EAC/B,CAAC3C,GAAU,SAAUvH,CAAI,CAAC,EAAGkJ,EAC7B,CAAC3B,GAAU,QAASmG,CAAI,CAAC,EAAGkB,EAC5B,CAACrH,GAAU,YAAamG,CAAI,CAAC,EAAGmB,EAChC,CAACtH,GAAU,SAAUmG,CAAI,CAAC,EAAGoB,EAC7B,CAACvH,GAAU,iBAAkBmG,CAAI,CAAC,EAAG7B,GACrC,CAACtE,GAAU,sBAAuBmG,CAAI,CAAC,EAAG5B,GAC1C,CAACvE,GAAU,wBAAyBmG,CAAI,CAAC,EAAG3B,GAC5C,CAACxE,GAAU,kBAAmBmG,CAAI,CAAC,EAAGxB,EACtC,CAAC3E,GAAU,oBAAqBmG,CAAI,CAAC,EAAGvB,CAAA,GAExC/F,EAAS,MACP2I,GAAsBC,GAAUnB,CAAW,EAC1C,MAAA,CACL,yBAA0BvB,EAC1B,2BAA4B,QAAQpD,CAAM,UAC1C,aAAcD,EACd,oBAAqBhI,EACrB,aAAc6N,EACd,sBAAuBH,EACvB,0BAA2BxC,EAC3B,wBAAyBD,EACzB,0BAA2BsC,EAC3B,uBAAwB3C,GACxB,6BAA8BC,GAC9B,+BAAgCC,GAChC,gCAAiCF,GACjC,uBAAwBkD,GAAoB,IAC5C,yBAA0BA,GAAoB,MAC9C,0BAA2BA,GAAoB,OAC/C,wBAAyBA,GAAoB,KAC7C,iBAAkBL,GAClB,YAAavF,IAAU6D,EAAkB,MAAQyB,EAAgBG,GACjE,sBAAuBV,EACvB,oBAAqBG,EACrB,0BAA2BC,EAC3B,4BAA6BC,EAC7B,4BAA6BJ,EAC7B,8BAA+BC,EAC/B,gBAAiBlE,EACjB,aAAchB,EACd,uBAAwBzH,EACxB,cAAemM,EACf,iBAAkBD,GAAakB,EAC/B,2BAA4Bf,EAC5B,yBAA0BG,EAC1B,iCAAkCF,EAClC,mCAAoCC,EACtC,CAAA,CACD,EACK1D,EAAmBD,EAAsBE,GAAc,MAAO9D,EAAS,IAAM,CACjF,IAAIwI,EAAO,GACL,KAAA,CACJ,KAAAvB,EACA,KAAA1N,EACA,MAAO,CACL,MAAAmJ,EACA,UAAAwE,CAAA,EACE,CAAA,CAAC,EACHzQ,EACJ,OAAA+R,GAAQvB,EAAK,CAAC,EACduB,GAAQjP,EAAK,CAAC,EACVmJ,IACM8F,GAAA,IAAIC,GAAY/F,CAAK,CAAC,IAE5BwE,IACMsB,GAAA,IAAIC,GAAYvB,CAAS,CAAC,IAEhCX,EAAkB,QACZiC,GAAA,KAEHA,CAAA,CACR,EAAGjG,EAAY9L,CAAK,EAAI,OACzB,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIsQ,CAAgB,EAAG,CACxD,WAAYtH,EACZ,gBAAiBH,EACjB,WAAAgH,EACA,eAAgBC,EAChB,YAAAtI,EACA,iBAAA2I,EACA,QAAShD,EAAsB,OAAYrB,EAC3C,WAAYsB,GAAqB,KAAsC,OAASA,EAAiB,WACjG,SAAUA,GAAqB,KAAsC,OAASA,EAAiB,QAAA,CAChG,CACH,EACA,QAAS,CACP,IAAIrC,EAAIS,EACF,KAAA,CACJ,gBAAAyG,EACA,WAAAC,EACA,SAAAC,EACA,MAAO,CACL,YAAA1D,CAAA,EACE,CAAC,EACL,MAAA2D,EACA,SAAA1E,EACA,OAAA7L,CAAA,EACE,KACJ6L,GAAa,MAAuCA,EAAS,EAC7D,MAAM2E,EAAa1E,GAAmB9L,EAAO,OAAoBpB,GAAAA,GAAYsB,EAAE,MAAO,CACpF,MAAO,GAAGkQ,CAAe,cAC3B,EAAGxR,CAAQ,CAAC,EACN6R,EAAW3E,GAAmB9L,EAAO,KAAkBpB,GAAAA,GAAYsB,EAAE,MAAO,CAChF,MAAO,GAAGkQ,CAAe,YAC3B,EAAGxR,CAAQ,CAAC,EACZ,OAAOsB,EAAE,MAAO,CACd,MAAO,CAAC,GAAGkQ,CAAe,OAAQ,KAAK,WAAY,CACjD,CAAC,GAAGA,CAAe,WAAW,EAAGC,EACjC,CAAC,GAAGD,CAAe,cAAc,EAAG,KAAK,OACzC,CAAC,GAAGA,CAAe,gBAAgB,EAAG,KAAK,SAC3C,CAAC,GAAGA,CAAe,iBAAiB,EAAG,KAAK,UAC5C,CAAC,GAAGA,CAAe,eAAe,EAAG,KAAK,WAAa,KAAK,QAC5D,CAAC,GAAGA,CAAe,aAAa,EAAGG,EACnC,CAAC,GAAGH,CAAe,cAAc,EAAGI,EACpC,CAAC,GAAGJ,CAAe,YAAY,EAAGK,EAClC,CAAC,GAAGL,CAAe,gBAAgB,EAAGE,CAAA,CACvC,EACD,MAAO,KAAK,QACZ,QAAS,KAAK,YACd,aAAc,KAAK,aACnB,aAAc,KAAK,YAClB,EAAAG,GAAYD,EAAYtQ,EAAE,OAAQ,CACnC,MAAO,GAAGkQ,CAAe,gBACzB,IAAK,YAAA,GACHzG,GAAMT,EAAK,KAAK,QAAQ,WAAa,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,EAAG,CAAC,KAAK,WAAaoH,EAAWpQ,EAAEwQ,GAAY,CAClI,UAAWN,EACX,MAAO,GAAGA,CAAe,cACzB,SAAU,KAAK,SACf,QAAS,KAAK,iBACd,UAAW,KAAK,uBAChB,MAAAG,EACA,YAAa,KAAK,yBAClB,SAAU,EAAA,CACX,EAAI,KAAM,CAAC,KAAK,WAAa,KAAK,eAAiBrQ,EAAE,MAAO,CAC3D,MAAO,GAAGkQ,CAAe,eACzB,MAAO,CACL,YAAAxD,CAAA,CAEH,CAAA,EAAI,IAAI,CAAA,CAEb,CAAC,EC5Qc+D,GAAA,CACb,cAAe,gBACf,gBAAiB,kBACjB,UAAW,OACX,UAAW,MACb,ECAA,SAASnS,GAAKyD,EAAM,CAClB,KAAM,CACJ,aAAAC,EACA,WAAAI,EACA,kBAAAE,EACA,WAAAoO,EACA,mBAAAC,EACA,aAAApO,EACA,kBAAA6J,EACA,aAAAG,EACA,kBAAAqE,EACA,WAAApE,EACA,gBAAAqE,EACA,YAAAnE,EACA,UAAAoE,EACA,kBAAAC,EACA,WAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,yBAAAC,EACA,aAAA1O,EACA,cAAAC,EACA,eAAAC,EACA,cAAAC,EACA,WAAAE,GACA,YAAAC,EACA,aAAAC,EACA,YAAAC,EACA,WAAAmO,CACJ,EAAMtP,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIqB,EAAe,EAAG,CACvD,aAAAV,EACA,cAAAC,EACA,eAAAC,EACA,cAAAC,EACA,WAAAE,GACA,YAAAC,EACA,aAAAC,EACA,YAAAC,EACA,aAAAlB,EACA,WAAAqP,EAEA,UAAWjP,EACX,kBAAAE,EACA,iBAAA6O,EACA,yBAAAC,EACA,MAAOV,EACP,cAAeC,EACf,YAAaD,EACb,OAAQ,aAAahE,CAAW,GAChC,YAAa,aAAaN,CAAiB,GAC3C,aAAc,aAAa7J,CAAY,GACvC,YAAa,aAAa6J,CAAiB,GAC3C,eAAgB,OAChB,gBAAiB,aAAakB,GAAY/K,EAAc,CACtD,MAAO,EACR,CAAA,CAAC,GACF,eAAgB,aAAa+K,GAAY/K,EAAc,CACrD,MAAO,EACR,CAAA,CAAC,GACF,WAAYA,EACZ,WAAYuO,EACZ,mBAAoBC,EACpB,aAAcxO,EAEd,cAAe,aAAagK,CAAY,GACxC,mBAAoB,aAAaqE,CAAiB,GAClD,oBAAqB,aAAarE,CAAY,GAC9C,mBAAoB,aAAaqE,CAAiB,GAClD,sBAAuB,OACvB,uBAAwB,aAAatD,GAAYf,EAAc,CAC7D,MAAO,EACR,CAAA,CAAC,GACF,sBAAuB,aAAae,GAAYf,EAAc,CAC5D,MAAO,EACR,CAAA,CAAC,GACF,mBAAoBmE,EACpB,kBAAmBnE,EAEnB,YAAa,aAAaC,CAAU,GACpC,iBAAkB,aAAaqE,CAAe,GAC9C,kBAAmB,aAAarE,CAAU,GAC1C,iBAAkB,aAAaqE,CAAe,GAC9C,oBAAqB,OACrB,qBAAsB,aAAavD,GAAYd,EAAY,CACzD,MAAO,EACR,CAAA,CAAC,GACF,oBAAqB,aAAac,GAAYd,EAAY,CACxD,MAAO,EACR,CAAA,CAAC,GACF,iBAAkBkE,EAClB,gBAAiBlE,EACjB,WAAAwE,EACA,gBAAAC,EACA,kBAAAC,CACJ,CAAG,CACH,CACA,MAAMI,GAAyBhO,GAAY,CACzC,KAAM,oBACN,OAAQC,GACR,MAAO,CACL,QAASgO,EACV,EACDjT,KAAAA,EACF,CAAC,ECjFDkT,GAAe1T,GAAE,CAACyI,EAAG,iBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcnC,CAACA,EAAG,eAAgB;AAAA;AAAA,EAEtB,EAAGA,EAAG,sBAAuB,8BAA8B,EAAGC,GAAG,uBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYzF,EAAGA,GAAG,eAAgB;AAAA;AAAA;AAAA,EAGtB,EAAGD,EAAG,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMnB,CAACC,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA,EAIf,CAAC,CAAC,EAAGD,EAAG,yBAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYhC,CAACC,GAAG,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,CAAC,CAAC,EAAGD,EAAG,6BAA8B;AAAA;AAAA,GAEpC,CAACC,GAAG,QAAS;AAAA;AAAA;AAAA,EAGf,CAAC,CAAC,EAAGD,EAAG,sBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB/B,EAAGA,EAAG,uBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAiB5B,CAACA,EAAG,uBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAa5B,CAACC,GAAG,UAAW;AAAA;AAAA;AAAA;AAAA,EAIjB,CAAC,CAAC,EAAGA,GAAG,eAAgB;AAAA;AAAA,EAExB,CAAC,CAAC,EAAGE,GAAM,WAAY,CAAC5I,GAAE,UAAW,CAAC0I,GAAG,eAAgB;AAAA;AAAA;AAAA,EAGzD,CAAC,CAAC,EAAGC,EAAG,QAAS,CAACD,GAAG,eAAgB;AAAA;AAAA;AAAA,EAGrC,CAAC,CAAC,EAAGC,EAAG,SAAU,CAACD,GAAG,eAAgB;AAAA;AAAA;AAAA,EAGtC,EAAGD,EAAG,uBAAwB,0CAA0C,EAAGA,EAAG,sBAAuB,0CAA0C,CAAC,CAAC,CAAC,CAAC,EAAGE,EAAG,WAAY,uBAAwB,CAACD,GAAG,QAAS;AAAA;AAAA,EAE1M,EAAGD,EAAG,uBAAwB;AAAA;AAAA;AAAA,GAG5B,CAACA,EAAG,uBAAwB;AAAA;AAAA;AAAA,EAG9B,EAAGC,GAAG,eAAgB;AAAA;AAAA,EAEtB,CAAC,CAAC,EAAGD,EAAG,sBAAuB;AAAA;AAAA;AAAA,EAG/B,EAAGA,EAAG,6BAA8B;AAAA;AAAA;AAAA,EAGpC,CAAC,CAAC,EAAGA,EAAG,2BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASlC,CAACC,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAef,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShB,CAAC,CAAC,EAAG,CAAC,UAAW,OAAO,EAAE,IAAIiL,GAAUhL,EAAG,GAAGgL,CAAM,UAAW,CAACjL,GAAG,eAAgB,0BAA0BiL,CAAM,IAAI,EAAG/K,GAAM,WAAY,CAAC5I,GAAE,UAAW,CAAC0I,GAAG,eAAgB;AAAA,wCACxIiL,CAAM;AAAA,gCACdA,CAAM;AAAA,EACpC,CAAC,CAAC,EAAGhL,EAAG,SAAU,CAACD,GAAG,eAAgB;AAAA,yCACCiL,CAAM;AAAA,iCACdA,CAAM;AAAA,EACrC,EAAGlL,EAAG,uBAAwB,0CAA0CkL,CAAM,IAAI,EAAGlL,EAAG,sBAAuB,0CAA0CkL,CAAM,IAAI,CAAC,CAAC,EAAGhL,EAAG,QAAS,CAACD,GAAG,eAAgB;AAAA,wCAClKiL,CAAM;AAAA,gCACdA,CAAM;AAAA,EACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGlL,EAAG,yBAA0B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKzC,EAAGA,EAAG,6BAA8B;AAAA;AAAA;AAAA;AAAA,GAIlC,CAACzI,GAAE,eAAgB,mBAAmB,EAAGyI,EAAG,MAAO;AAAA;AAAA;AAAA,GAGnD,CAACC,GAAG,UAAW;AAAA;AAAA;AAAA;AAAA,EAIjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EC3NRkL,GAAe1T,GAAgB,CAC7B,KAAM,oBACN,MAAO,OAAO,OAAO,OAAO,OAAO,GAAI6I,GAAS,KAAK,EAAG,CACtD,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,SAAU,CACR,KAAM,QACN,QAAS,MACV,EACD,OAAQ,QACR,QAAS,CACP,KAAM,OACN,QAAS,EACV,EACD,YAAa,OACb,eAAgB,CACd,KAAM,OACN,QAAS,IACV,EACD,gBAAiB,CACf,KAAM,MACN,QAAS,IACV,EACD,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,SAAU,QACV,WAAY,QACZ,UAAW,QACX,SAAU,QACV,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,QAAS,QACT,UAAW,QACX,UAAW,CACT,KAAM,QACN,QAAS,EACV,EACD,WAAY,OACZ,QAAS,QACT,UAAW,SACX,UAAW,SACX,QAAS,SACT,OAAQ,SACR,QAAS,SACT,eAAgB,SAChB,YAAa,CAAC,OAAQ,MAAM,EAC5B,wBAAyB,OACzB,QAAS,SACT,eAAgB,SAChB,eAAgB,SAChB,cAAe,SACf,YAAa,SACb,OAAQ,OACR,oBAAqB,QACrB,kBAAmB,CACjB,KAAM,QACN,QAAS,EACV,EACD,SAAU,QACd,CAAG,EACD,MAAM5I,EAAO,CACX,KAAM,CACJ,mBAAA6I,EACA,aAAAC,CACN,EAAQC,GAAU/I,CAAK,EACbgJ,EAAgBC,GAAO,oBAAqBH,EAAcD,CAAkB,EAC5E6K,EAAwBjU,EAAI,IAAI,EAChCkU,EAAkBlU,EAAI,IAAI,EAC1BS,EAAUT,EAAI,IAAI,EAClBmU,EAAgBnU,EAAI,IAAI,EACxBoU,EAAcpU,EAAI,IAAI,EACtBqU,EAAyBrU,EAAI,IAAI,EACjCU,EAAaV,EAAI,IAAI,EACrBsU,EAAoBtU,EAAI,IAAI,EAC5BuU,EAAcvU,EAAI,IAAI,EACtBwU,EAAgBxU,EAAI,IAAI,EACxByU,EAAqBzU,EAAI,EAAK,EAC9B0U,EAAyB1U,EAAI,EAAK,EAClC2U,EAAW3U,EAAI,EAAK,EACpByJ,EAAWN,GAAS,oBAAqB,sBAAuBhJ,GAAOyT,GAAwBrT,EAAOmJ,GAAMnJ,EAAO,WAAW,CAAC,EAC/HqU,EAAqB9K,EAAS,IAC3BvJ,EAAM,WAAa,CAACA,EAAM,WAAaoU,EAAS,OAASpU,EAAM,OACvE,EACKsU,EAA2B/K,EAAS,IACjCvJ,EAAM,eAAiBA,EAAM,UAAYA,EAAM,UAAU,CAC9D,OAAQA,EAAM,eACd,YAAa,IAAM,CAAA,CAC3B,CAAO,EAAIA,EAAM,YAAcA,EAAM,YAAYA,EAAM,eAAgB,EAAI,EAAIsG,GAAOtG,EAAM,eAAeA,EAAM,UAAU,EAAGA,EAAM,eAAgB,EAAI,EAAIA,EAAM,WAC7J,EACKuU,EAAWhL,EAAS,IAAM,CAC9B,MAAMiL,EAASxU,EAAM,eACrB,GAAKwU,EACL,OAAOA,EAAOxU,EAAM,UAAU,CACpC,CAAK,EACKyU,EAAclL,EAAS,IACvBvJ,EAAM,SACD,CAAC,EAAE,MAAM,QAAQA,EAAM,eAAe,GAAKA,EAAM,gBAAgB,QAEjEA,EAAM,iBAAmB,IAEnC,EACD,SAAS0U,GAAkB,CACzB,IAAI3J,EACJ,KAAM,CACJ,MAAO4J,CACf,EAAUjB,EACJ,GAAIiB,EAAsB,CACxB,KAAM,CACJ,MAAOC,EACjB,EAAYjB,EACAiB,KACFA,GAAe,MAAM,MAAQ,GAAGD,EAAqB,WAAW,KAC5D3U,EAAM,cAAgB,gBACvB+K,EAAKiJ,EAAY,SAAW,MAAQjJ,IAAO,QAAkBA,EAAG,KAAK,CACpE,4BAA6B,EAC3C,CAAa,GAGb,CACA,CACI,SAAS8J,GAAe,CACtB,KAAM,CACJ,MAAOC,CACf,EAAUb,EACAa,IAAYA,EAAW,MAAM,QAAU,OACjD,CACI,SAASC,IAAe,CACtB,KAAM,CACJ,MAAOD,CACf,EAAUb,EACAa,IAAYA,EAAW,MAAM,QAAU,eACjD,CACIjW,GAAMsK,GAAMnJ,EAAO,QAAQ,EAAGlB,GAAS,CAChCA,GAAO+V,EAAc,CAChC,CAAK,EACDhW,GAAMsK,GAAMnJ,EAAO,SAAS,EAAG,IAAM,CAC/BA,EAAM,UACH8B,GAAS4S,CAAe,CAErC,CAAK,EACD,SAASM,EAAQ3W,EAAG,CAClB,KAAM,CACJ,QAAA4W,CACR,EAAUjV,EACAiV,GAASA,EAAQ5W,CAAC,CAC5B,CACI,SAAS6W,EAAO7W,EAAG,CACjB,KAAM,CACJ,OAAA8W,CACR,EAAUnV,EACAmV,GAAQA,EAAO9W,CAAC,CAC1B,CACI,SAAS+W,EAAetW,EAAO,CAC7B,KAAM,CACJ,eAAAuW,CACR,EAAUrV,EACAqV,GAAgBA,EAAevW,CAAK,CAC9C,CACI,SAASwW,EAAQjX,EAAG,CAClB,KAAM,CACJ,QAAAkX,CACR,EAAUvV,EACAuV,GAASA,EAAQlX,CAAC,CAC5B,CACI,SAASmX,EAAe1W,EAAO,CAC7B,KAAM,CACJ,eAAA2W,CACR,EAAUzV,EACAyV,GAAgBA,EAAe3W,CAAK,CAC9C,CACI,SAAS4M,EAAcrN,EAAG,CACxB,IAAI0M,GACA,CAAC1M,EAAE,eAAiB,EAAG,GAAA0M,EAAK7K,EAAQ,SAAW,MAAQ6K,IAAO,SAAkBA,EAAG,SAAS1M,EAAE,aAAa,KAC7G2W,EAAQ3W,CAAC,CAEjB,CACI,SAASsN,EAAetN,EAAG,CACzB,IAAI0M,EACC,GAAAA,EAAK7K,EAAQ,SAAW,MAAQ6K,IAAO,SAAkBA,EAAG,SAAS1M,EAAE,aAAa,GACzF6W,EAAO7W,CAAC,CACd,CACI,SAASqX,EAAYrX,EAAG,CACtBiX,EAAQjX,CAAC,CACf,CACI,SAASqJ,GAAmB,CAC1B0M,EAAS,MAAQ,EACvB,CACI,SAASuB,GAAmB,CAC1BvB,EAAS,MAAQ,EACvB,CACI,SAAS/I,GAAgBhN,EAAG,CACtB,CAAC2B,EAAM,QAAU,CAACA,EAAM,YACxB3B,EAAE,SAAWsV,EAAgB,OACjCtV,EAAE,eAAgB,CACxB,CACI,SAASuX,EAAmBpB,EAAQ,CAClCY,EAAeZ,CAAM,CAC3B,CACI,MAAMqB,EAAiBpW,EAAI,EAAK,EAChC,SAASqW,EAAqBzX,EAAG,CAC/B,GAAIA,EAAE,MAAQ,aAAe,CAACwX,EAAe,OACvC,CAAC7V,EAAM,QAAQ,OAAQ,CACzB,KAAM,CACJ,gBAAA+V,CACZ,EAAc/V,EACA+V,GAAoB,MAA8CA,EAAgB,QACpFH,EAAmBG,EAAgBA,EAAgB,OAAS,CAAC,CAAC,CAE1E,CAEA,CAGI,IAAIC,EAAmB,KACvB,SAASC,EAAwB5X,EAAG,CAElC,KAAM,CACJ,MAAOsW,CACf,EAAUjB,EACJ,GAAIiB,EAAsB,CACxB,MAAMuB,GAAY7X,EAAE,OAAO,MAC3BsW,EAAqB,YAAcuB,GACnCxB,EAAiB,CACzB,CACU1U,EAAM,mBACH6V,EAAe,MAGlBG,EAAmB3X,EAGrBmX,EAAenX,CAAC,CAExB,CACI,SAAS8X,GAAyB,CAChCN,EAAe,MAAQ,EAC7B,CACI,SAASO,IAAuB,CAC9BP,EAAe,MAAQ,GACnB7V,EAAM,mBACRwV,EAAeQ,CAAgB,EAEjCA,EAAmB,IACzB,CACI,SAASK,GAAwBhY,EAAG,CAClC,IAAI0M,EACJoJ,EAAuB,MAAQ,IAC9BpJ,EAAK/K,EAAM,kBAAoB,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,EAAO3B,CAAC,CACvF,CACI,SAASiY,GAAuBjY,EAAG,CACjC,IAAI0M,EACJoJ,EAAuB,MAAQ,IAC9BpJ,EAAK/K,EAAM,iBAAmB,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,EAAO3B,CAAC,CACtF,CACI,SAASkY,GAAO,CACd,IAAIxL,EAAIS,EACR,GAAIxL,EAAM,WACRmU,EAAuB,MAAQ,IAC9BpJ,EAAK+I,EAAuB,SAAW,MAAQ/I,IAAO,QAAkBA,EAAG,KAAM,GACjFS,EAAKmI,EAAgB,SAAW,MAAQnI,IAAO,QAAkBA,EAAG,KAAM,UAClExL,EAAM,SAAU,CACzB,KAAM,CACJ,MAAOwW,EACjB,EAAY5C,EACJ4C,IAAe,MAAyCA,GAAW,KAAM,CACjF,KAAa,CACL,KAAM,CACJ,MAAOC,EACjB,EAAY5C,EACJ4C,IAAa,MAAuCA,GAAS,KAAM,CAC3E,CACA,CACI,SAASC,GAAQ,CACf,IAAI3L,EAAIS,EAAImL,GACR3W,EAAM,YACRmU,EAAuB,MAAQ,IAC9BpJ,EAAK+I,EAAuB,SAAW,MAAQ/I,IAAO,QAAkBA,EAAG,MAAO,GAC1E/K,EAAM,UACdwL,EAAKoI,EAAc,SAAW,MAAQpI,IAAO,QAAkBA,EAAG,MAAO,GAEzEmL,GAAK9C,EAAY,SAAW,MAAQ8C,KAAO,QAAkBA,GAAG,MAAO,CAEhF,CACI,SAASC,IAAa,CACpB,KAAM,CACJ,MAAOhC,CACf,EAAUjB,EACAiB,IACFG,GAAc,EACdH,EAAe,MAAO,EAE9B,CACI,SAASiC,IAAY,CACnB,KAAM,CACJ,MAAOjC,CACf,EAAUjB,EACAiB,GACFA,EAAe,KAAM,CAE7B,CACI,SAASzT,GAAc2V,EAAO,CAC5B,KAAM,CACJ,MAAAhY,CACR,EAAUqB,EACArB,GACFA,EAAM,eAAe,IAAIgY,CAAK,EAAE,CAExC,CACI,SAASxW,IAAa,CACpB,KAAM,CACJ,MAAAxB,CACR,EAAUiV,EACJ,OAAOjV,CACb,CACI,SAASyB,IAAU,CACjB,OAAOoT,EAAgB,KAC7B,CACI,IAAIoD,GAAe,KACnB,SAASC,IAAkB,CACrBD,KAAiB,MAAM,OAAO,aAAaA,EAAY,CACjE,CACI,SAASE,IAA0B,CAC7BjX,EAAM,SACVgX,GAAiB,EACjBD,GAAe,OAAO,WAAW,IAAM,CACjCtC,EAAY,QACdP,EAAmB,MAAQ,GAE9B,EAAE,GAAG,EACZ,CACI,SAASgD,IAA0B,CACjCF,GAAiB,CACvB,CACI,SAASG,GAAoB1Q,EAAM,CAC5BA,IACHuQ,GAAiB,EACjB9C,EAAmB,MAAQ,GAEnC,CACIrV,GAAM4V,EAAa3V,GAAS,CACrBA,IACHoV,EAAmB,MAAQ,GAEnC,CAAK,EACDtS,GAAU,IAAM,CACdwV,GAAY,IAAM,CAChB,MAAMC,EAAwBvD,EAAuB,MAChDuD,IACDrX,EAAM,SACRqX,EAAsB,gBAAgB,UAAU,EAEhDA,EAAsB,SAAWlD,EAAuB,MAAQ,GAAK,EAE/E,CAAO,CACP,CAAK,EACDlS,GAAY/B,EAASF,EAAM,QAAQ,EACnC,KAAM,CACJ,oBAAAmN,EACN,EAAQnN,EACE8L,GAAavC,EAAS,IAAM,CAChC,KAAM,CACJ,KAAAzG,CACR,EAAU9C,EACE,CACJ,OAAQ,CACN,qBAAA+L,CACD,EACD,KAAM,CACJ,WAAAqH,GACA,aAAArP,GACA,MAAAkI,GACA,iBAAAiH,GACA,UAAAzC,GACA,cAAA6G,GACA,gBAAAC,GACA,WAAAC,GACA,cAAAC,EACA,kBAAApT,GACA,yBAAA8O,EACA,YAAAuE,EACA,eAAAC,EACA,gBAAAC,EACA,eAAAC,GACA,OAAAjG,GACA,YAAAkG,GACA,YAAAC,GACA,aAAAC,GACA,WAAAC,GACA,mBAAAC,GACA,aAAArL,GAEA,mBAAAsL,GACA,sBAAAC,GACA,uBAAAC,GACA,sBAAAC,GACA,cAAAC,GACA,mBAAAC,GACA,mBAAAC,GACA,oBAAAC,GAEA,iBAAAC,GACA,oBAAAC,GACA,qBAAAC,GACA,oBAAAC,GACA,YAAAC,GACA,iBAAAC,GACA,iBAAAC,GACA,kBAAAC,GAEA,WAAAnG,GACA,gBAAAC,GACA,kBAAAC,GACA,UAAAkG,GAEA,UAAAC,GACA,CAAC/O,GAAU,SAAUvH,CAAI,CAAC,EAAGkJ,GAC7B,CAAC3B,GAAU,WAAYvH,CAAI,CAAC,EAAGkK,EACzC,CACO,EAAG9D,EAAS,MACPmQ,GAAwB9O,GAAW+M,EAAa,EAChDgC,GAA0B/O,GAAWgN,EAAe,EAC1D,MAAO,CACL,aAAcxL,EACd,aAAc6F,GACd,oBAAqBoG,GACrB,mBAAoBF,GACpB,mBAAoBC,GACpB,oBAAqBhU,GACrB,wBAAyB6T,EACzB,uBAAwBD,EACxB,uBAAwBE,GACxB,kBAAmBL,GACnB,YAAavL,GACb,mBAAoByL,EACpB,qBAAsBD,EACtB,gBAAiBzK,GACjB,aAAchB,GACd,yBAA0BqN,GAAsB,IAChD,2BAA4BC,GAAwB,IACpD,2BAA4BD,GAAsB,MAClD,6BAA8BC,GAAwB,MACtD,0BAA2BD,GAAsB,KACjD,4BAA6BC,GAAwB,KACrD,4BAA6BD,GAAsB,OACnD,8BAA+BC,GAAwB,OACvD,wBAAyBpG,GACzB,iCAAkCC,EAClC,iBAAkB1C,GAClB,0BAA2BpM,GAC3B,kBAAmB4T,GACnB,2BAA4BC,GAC5B,oBAAqBrL,GAErB,2BAA4BsL,GAC5B,+BAAgCC,GAChC,gCAAiCC,GACjC,+BAAgCC,GAChC,qBAAsBC,GACtB,2BAA4BC,GAC5B,2BAA4BC,GAC5B,4BAA6BC,GAE7B,yBAA0BC,GAC1B,6BAA8BC,GAC9B,8BAA+BC,GAC/B,6BAA8BC,GAC9B,mBAAoBC,GACpB,yBAA0BC,GAC1B,yBAA0BC,GAC1B,0BAA2BC,GAE3B,iBAAkBC,GAClB,kBAAmBpG,GACnB,wBAAyBC,GACzB,0BAA2BC,GAE3B,iBAAkBmG,GAElB,kBAAmBhG,EACpB,CACP,CAAK,EACKhG,GAAmBD,GAAsBE,GAAc,qBAAsB9D,EAAS,IACnFvJ,EAAM,KAAK,CAAC,CACpB,EAAG8L,GAAY9L,CAAK,EAAI,OACzB,MAAO,CACL,YAAakJ,EACb,gBAAiBmL,EACjB,gBAAiBxL,EACjB,WAAYG,EACZ,oBAAqBmL,EACrB,sBAAuBG,EACvB,MAAOC,EACP,SAAUE,EACV,cAAeP,EACf,YAAa2B,EAEb,WAAA1V,EACA,kBAAA4T,EACA,sBAAAL,EACA,gBAAAC,EACA,QAAAzT,EACA,cAAA0T,EACA,YAAAC,EACA,uBAAAC,EACA,YAAAE,EACA,cAAAC,EACA,gBAAA5I,GACA,cAAAK,EACA,YAAAgK,EACA,iBAAAhO,EACA,iBAAAiO,EACA,mBAAAC,EACA,qBAAAE,EACA,wBAAAG,EACA,uBAAAK,GACA,wBAAAD,GACA,wBAAAY,GACA,wBAAAC,GACA,eAAAvL,EACA,qBAAAyK,GACA,uBAAAD,EACA,oBAAAgB,GACA,MAAAT,EACA,WAAAE,GACA,KAAAL,EACA,UAAAM,GACA,cAAA1V,GACA,WAAAb,GACA,QAAAC,GACA,YAAaP,EAAM,YACnB,QAASmN,GAAsB,OAAYrB,GAC3C,WAAYsB,IAAqB,KAAsC,OAASA,GAAiB,WACjG,SAAUA,IAAqB,KAAsC,OAASA,GAAiB,QAChG,CACF,EACD,QAAS,CACP,KAAM,CACJ,OAAAoG,EACA,SAAA1L,EACA,KAAAhF,EACA,SAAAyW,EACA,WAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAA1T,EACA,wBAAA2T,EACA,SAAAjM,EACA,UAAAkM,EACA,YAAA3T,CACN,EAAQ,KACJyH,GAAa,MAAuCA,EAAU,EAC9D,MAAMmM,EAAwBJ,IAAgB,aACxCK,EAAqB,OAAOL,GAAgB,SAC5CM,EAAiBF,GAAyBC,EAC1CE,EAASjY,EAAEkY,GAAS,KAAM,CAC9B,QAAS,IAAMlY,EAAEmY,GAAQ,CACvB,UAAWlU,EACX,QAAS,KAAK,QACd,UAAW,KAAK,UAChB,UAAW,KAAK,iBAAmB,KAAK,SACxC,QAAS,KAAK,WACtB,EAAS,CACD,QAAS,IAAM,CACb,IAAI+E,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAChG,CACO,CAAA,CACP,CAAK,EACD,IAAIoP,EACJ,GAAIrS,EAAU,CACZ,KAAM,CACJ,WAAAsS,CACR,EAAU,KACEC,EAAY7F,GAAUzS,EAAE,MAAO,CACnC,MAAO,GAAGiE,CAAS,8BACnB,IAAKwO,EAAO,KACpB,EAASoF,EAAYA,EAAU,CACvB,OAAApF,EACA,YAAa,IAAM,CACjB,KAAK,mBAAmBA,CAAM,CACxC,CACA,CAAO,EAAIzS,EAAE6N,GAAM,CACX,KAAM9M,EACN,SAAU,CAAC0R,EAAO,SAClB,SAAU+E,EACV,QAAS,IAAM,CACb,KAAK,mBAAmB/E,CAAM,CAC/B,EACD,yBAA0B,GAC1B,uBAAwB,EAChC,EAAS,CACD,QAAS,IAAMvO,EAAcA,EAAYuO,EAAQ,EAAI,EAAIlO,GAAOkO,EAAO4F,CAAU,EAAG5F,EAAQ,EAAI,CACxG,CAAO,CAAC,EACI8F,EAAyB,KAAOR,EAAqB,KAAK,gBAAgB,MAAM,EAAGL,CAAW,EAAI,KAAK,iBAAiB,IAAIY,CAAS,EACrIE,EAAQf,EAAazX,EAAE,MAAO,CAClC,MAAO,GAAGiE,CAAS,4BACnB,IAAK,gBACL,IAAK,eACb,EAASjE,EAAE,QAAS,OAAO,OAAO,CAAE,EAAE,KAAK,WAAY,CAC/C,IAAK,kBACL,SAAU,GACV,SAAUwX,EACV,MAAO,KAAK,QACZ,UAAW,KAAK,UAChB,MAAO,GAAGvT,CAAS,mCACnB,OAAQ,KAAK,uBACb,QAAS,KAAK,wBACd,UAAW,KAAK,qBAChB,QAAS,KAAK,wBACd,mBAAoB,KAAK,uBACzB,iBAAkB,KAAK,oBAC/B,CAAO,CAAC,EAAGjE,EAAE,OAAQ,CACb,IAAK,wBACL,MAAO,GAAGiE,CAAS,mCAC3B,EAAS,KAAK,OAAO,CAAC,EAAI,KAEdwU,EAAgBX,EAAwB,IAAM9X,EAAE,MAAO,CAC3D,MAAO,GAAGiE,CAAS,8BACnB,IAAK,mBACb,EAASjE,EAAE6N,GAAM,CACT,KAAM9M,EACN,IAAK,aACL,aAAc,KAAK,wBACnB,aAAc,KAAK,wBACnB,SAAUyW,CACX,CAAA,CAAC,EAAI,OACN,IAAI/Y,EACJ,GAAIsZ,EAAoB,CACtB,MAAMW,EAAO,KAAK,gBAAgB,OAAShB,EACvCgB,EAAO,IACTja,EAAUuB,EAAE,MAAO,CACjB,MAAO,GAAGiE,CAAS,8BACnB,IAAK,aACjB,EAAajE,EAAE6N,GAAM,CACT,KAAM9M,EACN,IAAK,aACL,aAAc,KAAK,wBACnB,SAAUyW,CACtB,EAAa,CACD,QAAS,IAAM,IAAIkB,CAAI,EACnC,CAAW,CAAC,EAEZ,CACM,MAAMC,EAAOb,EAAwBL,EAAazX,EAAEjC,GAAW,CAC7D,IAAK,cACL,cAAe,KAAK,cACpB,WAAY,KAAK,WACjB,QAAS,KAAK,QACd,MAAO,CACL,MAAO,OACP,QAAS,OACT,SAAU,QACpB,CACA,EAAS,CACD,QAASwa,EACT,QAASE,EACT,KAAM,IAAMD,CACpB,CAAO,EAAIxY,EAAEjC,GAAW,CAChB,IAAK,cACL,cAAe,KAAK,cACpB,WAAY,KAAK,WACjB,MAAO,CACL,MAAO,OACP,QAAS,OACT,SAAU,QACpB,CACA,EAAS,CACD,QAASwa,EACT,QAASE,CACjB,CAAO,EAAIV,GAAsBtZ,EAAU8Z,EAAwB,EAAC,OAAO9Z,CAAO,EAAI8Z,EAAwB,EAClGK,GAAgBZ,EAAiB,IAAMhY,EAAE,MAAO,CACpD,MAAO,GAAGiE,CAAS,yBAC3B,EAAS6T,EAAwBS,EAAsB,EAAK,KAAK,gBAAgB,IAAID,CAAS,CAAC,EAAI,OACvFO,EAAeb,EAAiB,OAAO,OAAO,CAClD,KAAM,KAAK,cACX,QAAS,QACT,QAAS,GACT,UAAW,MACX,MAAO,UACP,aAAc,KAAK,oBACnB,MAAO,KAAK,YAAY,MAAM,QAC9B,eAAgB,KAAK,YAAY,cAAc,OACvD,EAASJ,CAAuB,EAAI,KAExBkB,GADkB,KAAK,SAAW,GAAQ,KAAK,OAAS,CAAC,KAAK,SAAW,CAAC,KAAK,YAAc,IAC7D9Y,EAAE,MAAO,CAC7C,MAAO,GAAGiE,CAAS,+BAA+BA,CAAS,yBACnE,EAASjE,EAAE,MAAO,CACV,MAAO,GAAGiE,CAAS,oCAC3B,EAAS,KAAK,WAAW,CAAC,EAAI,KAClB8U,EAAiBtB,EAAazX,EAAE,MAAO,CAC3C,IAAK,yBACL,MAAO,GAAGiE,CAAS,sBAC3B,EAAS0U,EAAMb,EAAwB,KAAOU,EAAOP,CAAM,EAAIjY,EAAE,MAAO,CAChE,IAAK,gBACL,MAAO,GAAGiE,CAAS,uBACnB,SAAUuT,EAAW,OAAY,CACzC,EAASmB,EAAMV,CAAM,EACfG,EAAOpY,EAAEgZ,GAAU,KAAMhB,EAAiBhY,EAAEiZ,GAAU,OAAO,OAAO,CAAA,EAAIJ,EAAc,CACpF,WAAY,GACZ,MAAO,iDACf,CAAO,EAAG,CACF,QAAS,IAAME,EACf,QAASH,EACjB,CAAO,EAAIG,EAAgBD,CAAW,CACtC,SACUrB,EAAY,CACd,MAAMyB,EAAW,KAAK,SAAW,KAAK,YAChCC,EAAkB,KAAK,OAAS,CAACD,EAAW,CAAC,KAAK,SAClDE,EAAoB,KAAK,OAAS,GAAQ,KAAK,SACrDhB,EAAOpY,EAAE,MAAO,CACd,IAAK,yBACL,MAAO,GAAGiE,CAAS,wBACnB,MAAO,KAAK,oBAAsB,OAAYpD,GAAkB,KAAK,KAAK,CACpF,EAAWb,EAAE,QAAS,OAAO,OAAO,CAAE,EAAE,KAAK,WAAY,CAC/C,IAAK,kBACL,MAAO,GAAGiE,CAAS,wBACnB,MAAO,KAAK,OAAS,KAAK,QAAU,GACpC,YAAa,GACb,SAAUuT,EACV,SAAUA,EACV,SAAU,GACV,UAAW,KAAK,UAChB,QAAS,KAAK,wBACd,OAAQ,KAAK,uBACb,QAAS,KAAK,wBACd,mBAAoB,KAAK,uBACzB,iBAAkB,KAAK,oBACxB,CAAA,CAAC,EAAG4B,EAAoBpZ,EAAE,MAAO,CAChC,MAAO,GAAGiE,CAAS,uCAAuCA,CAAS,0BACnE,IAAK,OACf,EAAWjE,EAAE,MAAO,CACV,MAAO,GAAGiE,CAAS,kCAC7B,EAAW4T,EAAYA,EAAU,CACvB,OAAQ,KAAK,eACb,YAAa,IAAM,CAAA,CAC7B,CAAS,EAAI3T,EAAcA,EAAY,KAAK,eAAgB,EAAI,EAAIK,GAAO,KAAK,MAAO,KAAK,eAAgB,EAAI,CAAC,CAAC,EAAI,KAAM4U,EAAkBnZ,EAAE,MAAO,CAC7I,MAAO,GAAGiE,CAAS,+BAA+BA,CAAS,0BAC3D,IAAK,aACf,EAAWjE,EAAE,MAAO,CACV,MAAO,GAAGiE,CAAS,kCACpB,EAAE,KAAK,qBAAqB,CAAC,EAAI,KAAMgU,CAAM,CACtD,MACQG,EAAOpY,EAAE,MAAO,CACd,IAAK,cACL,MAAO,GAAGiE,CAAS,wBACnB,SAAU,KAAK,SAAW,OAAY,CACvC,EAAE,KAAK,QAAU,OAAYjE,EAAE,MAAO,CACrC,MAAO,GAAGiE,CAAS,wBACnB,MAAOpD,GAAkB,KAAK,KAAK,EACnC,IAAK,OACf,EAAWb,EAAE,MAAO,CACV,MAAO,GAAGiE,CAAS,gCAC7B,EAAW4T,EAAYA,EAAU,CACvB,OAAQ,KAAK,eACb,YAAa,IAAM,CAAA,CAC7B,CAAS,EAAI3T,EAAcA,EAAY,KAAK,eAAgB,EAAI,EAAIK,GAAO,KAAK,MAAO,KAAK,eAAgB,EAAI,CAAC,CAAC,EAAIvE,EAAE,MAAO,CACrH,MAAO,GAAGiE,CAAS,+BAA+BA,CAAS,0BAC3D,IAAK,aACf,EAAWjE,EAAE,MAAO,CACV,MAAO,GAAGiE,CAAS,oCACpB,EAAE,KAAK,WAAW,CAAC,EAAGgU,CAAM,EAGjC,OAAOjY,EAAE,MAAO,CACd,IAAK,UACL,MAAO,CAAC,GAAGiE,CAAS,kBAAmB,KAAK,YAAc,GAAGA,CAAS,uBAAwB,KAAK,WAAYwN,GAAU,GAAGxN,CAAS,oBAAoBwN,CAAM,UAAW,CACxK,CAAC,GAAGxN,CAAS,yBAAyB,EAAG,KAAK,OAC9C,CAAC,GAAGA,CAAS,2BAA2B,EAAG,KAAK,UAAY,KAAK,QAAU,KAAK,QAChF,CAAC,GAAGA,CAAS,2BAA2B,EAAG,KAAK,SAChD,CAAC,GAAGA,CAAS,2BAA2B,EAAG,KAAK,SAIhD,CAAC,GAAGA,CAAS,wBAAwB,EAAG,KAAK,OACrD,CAAO,EACD,MAAO,KAAK,QACZ,QAAS,KAAK,QACd,aAAc,KAAK,iBACnB,aAAc,KAAK,iBACnB,UAAW,KAAK,UAChB,UAAW,KAAK,cAChB,WAAY,KAAK,eACjB,YAAa,KAAK,eACnB,EAAEmU,EAAMT,EAAW3X,EAAE,MAAO,CAC3B,MAAO,GAAGiE,CAAS,yBACpB,CAAA,EAAI,KAAM0T,EAAW3X,EAAE,MAAO,CAC7B,MAAO,GAAGiE,CAAS,+BACpB,CAAA,EAAI,IAAI,CACb,CACA,CAAC,ECzyBM,SAASoV,GAAW5G,EAAQ,CACjC,OAAOA,EAAO,OAAS,OACzB,CACO,SAAS6G,GAAW7G,EAAQ,CACjC,OAAOA,EAAO,OAAS,SACzB,CACO,SAAS8G,GAAeC,EAASzc,EAAO,CAC7C,GAAI,CACF,MAAO,CAAC,EAAE,EAAIA,EAAM,SAAQ,EAAG,cAAc,QAAQyc,EAAQ,OAAO,YAAa,CAAA,EAClF,MAAY,CACX,MAAO,EACX,CACA,CACO,SAASC,GAAgBC,EAAYC,EAAe,CAezD,MAdgB,CACd,WAAAN,GACA,WAAAC,GACA,OAAO7G,EAAQ,CACb,OAAI4G,GAAW5G,CAAM,EACZA,EAAO,MAAQA,EAAO,KAAO,eAG/BA,EAAOiH,CAAU,CACzB,EACD,YAAYjH,EAAQ,CAClB,OAAOA,EAAOkH,CAAa,CACjC,CACG,CAEH,CACO,SAASC,GAAcC,EAAcC,EAAQN,EAASG,EAAe,CAC1E,GAAI,CAACG,EAAQ,OAAOD,EACpB,SAASE,EAAShe,EAAS,CACzB,GAAI,CAAC,MAAM,QAAQA,CAAO,EAAG,MAAO,CAAE,EACtC,MAAMie,EAAkB,CAAE,EAC1B,UAAWvH,KAAU1W,EACnB,GAAIsd,GAAW5G,CAAM,EAAG,CACtB,MAAM/T,EAAWqb,EAAStH,EAAOkH,CAAa,CAAC,EAC3Cjb,EAAS,QACXsb,EAAgB,KAAK,OAAO,OAAO,CAAA,EAAIvH,EAAQ,CAC7C,CAACkH,CAAa,EAAGjb,CAC7B,CAAW,CAAC,CAEZ,KAAa,IAAI4a,GAAW7G,CAAM,EAC1B,SACSqH,EAAON,EAAS/G,CAAM,GAC/BuH,EAAgB,KAAKvH,CAAM,EAG/B,OAAOuH,CACX,CACE,OAAOD,EAASF,CAAY,CAC9B,CACO,SAASI,GAAgBle,EAAS2d,EAAYC,EAAe,CAClE,MAAMO,EAAY,IAAI,IACtB,OAAAne,EAAQ,QAAQ0W,GAAU,CACpB4G,GAAW5G,CAAM,EAEnBA,EAAOkH,CAAa,EAAE,QAAQQ,GAAqB,CACjDD,EAAU,IAAIC,EAAkBT,CAAU,EAAGS,CAAiB,CACtE,CAAO,EAEDD,EAAU,IAAIzH,EAAOiH,CAAU,EAAGjH,CAAM,CAE9C,CAAG,EACMyH,CACT,CC9DO,SAAS5b,GAAKyD,EAAM,CACzB,KAAM,CACJ,WAAAqY,CACJ,EAAMrY,EACJ,MAAO,CACL,cAAeqY,CAChB,CACH,CACA,MAAMC,GAAiB/W,GAAY,CACjC,KAAM,YACN,OAAQC,GACR,MAAO,CACL,QAASgO,GACT,mBAAoBlO,EACrB,EACD/E,KAAAA,EACF,CAAC,ECnBYgc,GAAwB1M,GAAmB,aAAa,ECCtD2M,GAAAhU,EAAG,iBAAkB;AAAA;AAAA,CAEnC,ECMYiU,GAAa,CACxB,SAAU,QACV,MAAO,CACL,KAAM,CAAC,OAAQ,OAAQ,KAAK,EAC5B,QAAS,IACX,EACA,WAAY,QACZ,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAA,CACjB,EACA,KAAM,CACJ,KAAM,OACN,QAAS,QACX,EACA,WAAY,QACZ,iBAAkB,CAAC,SAAU,KAAK,EAClC,cAAe,CAAC,SAAU,KAAK,EAC/B,aAAc,SACd,aAAc,SACd,YAAa,SACb,cAAe,CACb,KAAM,QACN,QAAS,MACX,EACA,UAAW,SACX,cAAe,QAEf,SAAU,CAAC,SAAU,KAAK,CAC5B,EACaC,GAAgBC,GAAOF,EAAU,EAC9CG,GAAe3c,GAAgB,CAC7B,KAAM,iBACN,MAAOwc,GACP,MAAMvc,EAAO,CAQL,MAAA2c,EAAa7W,GAAOuW,EAAqB,EACzC,CACJ,mBAAAxT,EACA,oBAAAsE,CAAA,EACEpE,GAAU/I,CAAK,EACbkJ,EAAWN,GAAS,YAAa,cAAehJ,GAAOwc,GAAgBO,EAAW,MAAO9T,CAAkB,EAC3G+T,EAAcrT,EAAS,IACpBsT,GAAe7c,EAAM,QAASwb,GAAgB,QAAS,UAAU,CAAC,CAC1E,EACQ,SAAAsB,EAAche,EAAO0V,EAAQ,CAC9B,KAAA,CACJ,cAAAuI,EACA,iBAAkBC,EAClB,SAAAC,CAAA,EACEjd,EACA+c,GAAe1M,GAAK0M,EAAeje,EAAO0V,CAAM,EAChDwI,GACG3M,GAAA2M,EAAgBle,EAAO0V,CAAM,EAEhCyI,GAAU5M,GAAK4M,EAAUne,EAAO0V,CAAM,CAAA,CAE5C,SAAS0I,EAAazV,EAAQ,CAC5B0V,EAAO1V,EAAO,GAAG,CAAA,CAEnB,SAAS2V,EAAoB/e,EAAG,CAC1B,CAAC8M,GAAU9M,EAAG,QAAQ,GAAK,CAAC8M,GAAU9M,EAAG,OAAO,GAAK,CAAC8M,GAAU9M,EAAG,QAAQ,GAC7EA,EAAE,eAAe,CACnB,CAEF,SAAS8e,EAAOre,EAAO,CACf,KAAA,CACJ,MAAO,CACL,QAAAue,CAAA,CACF,EACET,EACJ,GAAI5c,EAAM,SACR,GAAI,MAAM,QAAQA,EAAM,KAAK,EAAG,CAC9B,MAAMsd,EAAW,CAAC,EACZC,EAAa,CAAC,EACpB,IAAIC,EAAiB,GACfxd,EAAA,MAAM,QAAayd,GAAA,CACvB,GAAIA,IAAM3e,EAAO,CACE0e,EAAA,GACjB,MAAA,CAEI,MAAA/V,EAAS4V,EAAQI,CAAC,EACpBhW,IACO6V,EAAA,KAAK7V,EAAO,GAAG,EACb8V,EAAA,KAAK9V,EAAO,OAAO,EAChC,CACD,EACG+V,IACFF,EAAS,KAAKxe,CAAK,EACnBye,EAAW,KAAKF,EAAQve,CAAK,EAAE,OAAO,GAExCge,EAAcQ,EAAUC,CAAU,CAAA,KAC7B,CACC,MAAA9V,EAAS4V,EAAQve,CAAK,EACxB2I,GACFqV,EAAc,CAAChe,CAAK,EAAG,CAAC2I,EAAO,OAAO,CAAC,CACzC,SAGEzH,EAAM,QAAUlB,GAASkB,EAAM,WACjC8c,EAAc,KAAM,IAAI,MACnB,CACC,MAAArV,EAAS4V,EAAQve,CAAK,EACxB2I,GACYqV,EAAAhe,EAAO2I,EAAO,OAAO,EAE/B,KAAA,CACJ,gBAAiBiW,EACjB,aAAAC,GACEhB,EAAW,MACXe,GAAoBrN,GAAAqN,EAAe,EAAK,EACxCC,GAAmBtN,GAAAsN,EAAc,EAAK,EAC1ChB,EAAW,QAAQ,EAAK,CAAA,CAGvB7a,GAAS,IAAM,CAClB6a,EAAW,aAAa,CAAA,CACzB,CAAA,CAEH9d,GAAMsK,GAAMnJ,EAAO,SAAS,EAAG,IAAM,CAC9B8B,GAAS,IAAM,CAClB6a,EAAW,aAAa,CAAA,CACzB,CAAA,CACF,EACK,MAAA7Q,EAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAM,CACJ,cAAAqU,CAAA,GAEA1U,EAAS,MACN,MAAA,CACL,sBAAuB0U,CACzB,CAAA,CACD,EACKxQ,EAAmBD,EAAsBE,GAAc,SAAU,OAAWvB,EAAY6Q,EAAW,KAAK,EAAI,OAC3G,MAAA,CACL,YAAaA,EAAW,eACxB,gBAAiB9T,EACjB,SAAU+T,EACV,aAAAM,EACA,oBAAAE,EACA,QAASjQ,EAAsB,OAAYrB,EAC3C,WAAYsB,GAAqB,KAAsC,OAASA,EAAiB,WACjG,SAAUA,GAAqB,KAAsC,OAASA,EAAiB,QACjG,CACF,EACA,QAAS,CACH,IAAArC,EACH,OAAAA,EAAK,KAAK,YAAc,MAAQA,IAAO,QAAkBA,EAAG,KAAK,IAAI,EAC/DhJ,EAAE4G,GAAqB,CAC5B,UAAW,KAAK,gBAChB,UAAW,GACX,UAAW,KAAK,UAChB,MAAO,CAAC,GAAG,KAAK,eAAe,kBAAmB,KAAK,UAAU,EACjE,MAAO,KAAK,QACZ,MAAO,KAAK,YAAY,MAAM,mBAC9B,eAAgB,KAAK,YAAY,cAAc,mBAC/C,SAAU,KAAK,SACf,SAAU,KAAK,SACf,KAAM,KAAK,KACX,MAAO,KAAK,MACZ,cAAe,KAAK,cACpB,WAAY,KAAK,WACjB,YAAa,KAAK,YAClB,SAAU,KAAK,aACf,aAAc,KAAK,aACnB,aAAc,KAAK,aACnB,YAAa,KAAK,oBAClB,cAAe,KAAK,aAAA,EACnB,CACD,OAAQ,IAAM,CACZ,IAAIoC,EAAIS,EACR,QAASA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,IAAM,CAAC,CACjG,EACA,OAAQ,IAAM,CACZ,IAAIA,EAAIS,EACR,QAASA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,IAAM,CAAC,CACjG,EACA,MAAO,IAAM,CACX,IAAIA,EAAIS,EACR,QAASA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,IAAM,CAAC,CAAA,CAChG,CACD,CAAA,CAEL,CAAC,EChMY8S,GAAiB,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,EAAEjV,GAAS,KAAK,EAAGkV,GAAKC,GAAkB,CAAC,YAAa,OAAO,CAAC,CAAC,EAAG,CAC1J,UAAW,OAAO,OAAO,OAAO,OAAO,GAAIA,GAAiB,SAAS,EAAG,CACtE,QAAS,QACb,CAAG,EACD,QAAS,CACP,KAAM,OACN,QAAS,OACb,CACA,CAAC,EAAGxB,EAAU,EACdI,GAAe5c,GAAgB,CAC7B,KAAM,YACN,MAAO8d,GACP,MAAO,OACP,aAAc,GACd,YAAa,GACb,MAAM7d,EAAO,CACX,KAAM,CACJ,mBAAA6I,CACN,EAAQE,GAAU/I,CAAK,EACbkJ,EAAWN,GAAS,YAAa,aAAc,OAAWwT,GAAgBpc,EAAO6I,CAAkB,EACnGmV,EAAiBve,EAAI,IAAI,EAC/B,SAASwe,GAAe,CACtB,IAAIlT,GACHA,EAAKiT,EAAe,SAAW,MAAQjT,IAAO,QAAkBA,EAAG,aAAc,CACxF,CACI,SAASmT,EAAQpf,EAAO,CACtB,IAAIiM,GACHA,EAAKiT,EAAe,SAAW,MAAQjT,IAAO,QAAkBA,EAAG,QAAQjM,CAAK,CACvF,CACI,OAAA8M,GAAQyQ,GAAuB,CAC7B,MAAArc,EACA,eAAgBkJ,EAChB,aAAA+U,EACA,QAAAC,CACN,CAAK,EAKM,OAAO,OAAO,OAAO,OAAO,CAAA,EAJZ,CACrB,aAAAD,EACA,QAAAC,CACD,CACoD,EAAG,CACtD,eAAAF,EACA,YAAa9U,CACnB,CAAK,CACF,EACD,QAAS,CACP,KAAM,CACJ,YAAAsE,CACN,EAAQ,KACEoN,EAAe,CACnB,MAAOpN,EAAY,MAAM,QACzB,eAAgBA,EAAY,cAAc,QAC1C,sBAAuB,CACrB,QAAS,GACV,EACD,IAAK,iBACL,mBAAoB,CAAC2Q,EAAW1e,EAAKG,EAAOwe,EAAcC,IAAiB,CACzE,KAAM,CACJ,OAAAC,CACV,EAAY,KACJ,OAAOvc,EAAE2a,GAAiB,OAAO,OAAO,CAAA,EAAI4B,EAAQ,CAClD,MAAO,CAACA,EAAO,MAAOH,CAAS,EAC/B,MAAO,CAACG,EAAO,MAAO,GAAG1e,CAAK,CAC/B,EAAE2e,GAAK,KAAK,OAAQ/B,EAAa,EAAG,CACnC,IAAKzZ,GAAgBtD,CAAG,EACxB,aAAcwD,GAAmB,CAACmb,EAAcE,EAAO,YAAY,CAAC,EACpE,aAAcrb,GAAmB,CAACob,EAAcC,EAAO,YAAY,CAAC,CAC9E,CAAS,EAAG,CACF,OAAQ,IAAM,CACZ,IAAIvT,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CACxF,EACD,OAAQ,IAAM,CACZ,IAAIA,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CACxF,EACD,MAAO,IAAM,CACX,IAAIA,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAClG,CACA,CAAS,CACT,CACK,EACD,OAAOhJ,EAAEiZ,GAAU,OAAO,OAAO,CAAA,EAAI8C,GAAK,KAAK,OAAQtB,EAAa,EAAG5B,EAAc,CACnF,8BAA+B,EACrC,CAAK,EAAG,CACF,QAAS,IAAM,CACb,IAAI7P,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,WAAa,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAChG,CACA,CAAK,CACL,CACA,CAAC,EC/FM,SAAS1K,GAAKyD,EAAM,CACzB,KAAM,CACJ,WAAAqY,CACJ,EAAMrY,EACJ,MAAO,CACL,cAAeqY,CAChB,CACH,CACA,MAAMqC,GAAcnZ,GAAY,CAC9B,KAAM,SACN,OAAQC,GACR,MAAO,CACL,kBAAmB+N,GACnB,mBAAoBjO,EACrB,EACD/E,KAAAA,EACF,CAAC,ECjBDoe,GAAe5e,GAAE,CAACyI,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,EAAGA,EAAG,cAAe;AAAA;AAAA;AAAA,GAGnB,CAACI,GAAwB,CAC3B,mBAAoB,sEACtB,CAAC,CAAC,CAAC,CAAC,CAAC,ECFQgW,GAAc,OAAO,OAAO,OAAO,OAAO,GAAI9V,GAAS,KAAK,EAAG,CAC1E,GAAI+V,GAAc,OAClB,SAAU,CACR,KAAM,QACN,QAAS,MACX,EACA,UAAW,QACX,uBAAwB,CACtB,KAAM,QACN,QAAS,EACX,EACA,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAA,CACjB,EACA,aAAc,CACZ,KAAM,CAAC,OAAQ,OAAQ,KAAK,EAC5B,QAAS,IACX,EACA,SAAU,CACR,KAAM,QACN,QAAS,EACX,EACA,MAAO,CAAC,OAAQ,OAAQ,KAAK,EAC7B,YAAa,OACb,UAAW,OACX,SAAU,QACV,KAAM,OACN,SAAU,CACR,KAAM,MACR,EACA,WAAY,QACZ,SAAU,CACR,KAAM,QACN,QAAS,MACX,EACA,OAAQ,QACR,QAAS,QACT,OAAQ,SACR,UAAW,CACT,KAAM,OACN,QAAS,cACX,EACA,UAAW,CACT,KAAM,OACN,QAAS,SACX,EACA,IAAK,QACL,SAAU,SACV,eAAgB,CACd,KAAM,CAAC,SAAU,OAAO,EACxB,QAAS,MACX,EACA,KAAM,CACJ,KAAM,QACN,QAAS,MACX,EACA,UAAW,CACT,KAAM,QACN,QAAS,EACX,EACA,YAAa,CAAC,OAAQ,MAAM,EAC5B,wBAAyB,OACzB,oBAAqB,CACnB,KAAM,QACN,QAAS,EACX,EACA,cAAe,CACb,KAAM,QACN,QAAS,EACX,EACA,WAAY,CACV,KAAM,OACN,QAAS,OACX,EACA,WAAY,CACV,KAAM,OACN,QAAS,OACX,EACA,cAAe,CACb,KAAM,OACN,QAAS,UACX,EACA,YAAa,SACb,aAAc,SACd,UAAW,SACX,iBAAkB,CAAC,SAAU,KAAK,EAClC,WAAY,OACZ,UAAW,SACX,kBAAmB,CACjB,KAAM,QACN,QAAS,EACX,EACA,YAAa,QAEb,cAAe,CAAC,SAAU,KAAK,EAC/B,OAAQ,CAAC,SAAU,KAAK,EACxB,QAAS,CAAC,SAAU,KAAK,EACzB,QAAS,CAAC,SAAU,KAAK,EACzB,SAAU,CAAC,SAAU,KAAK,EAC1B,SAAU,CAAC,SAAU,KAAK,EAC1B,aAAc,CAAC,SAAU,KAAK,EAC9B,gBAAiB,CAAC,SAAU,KAAK,EACjC,iBAAkB,CAChB,KAAM,OACN,QAAS,MACX,EACA,yBAA0B,CACxB,KAAM,QACN,QAAS,EACX,EACA,OAAQ,OACR,cAAe,CACb,KAAM,QACN,QAAS,EACX,EAEA,SAAU,CAAC,SAAU,KAAK,EAC1B,MAAO,KACT,CAAC,EACDC,GAAe7e,GAAgB,CAC7B,KAAM,SACN,MAAO2e,GACP,MAAO,OACP,MAAM1e,EAAO,CAWL,KAAA,CACJ,mBAAA6I,EACA,kBAAAiH,EACA,aAAA+O,EACA,oBAAA1R,CAAA,EACEpE,GAAU/I,CAAK,EACbkJ,EAAWN,GAAS,SAAU,UAAWhJ,GAAO4e,GAAaxe,EAAO6I,CAAkB,EACtFiW,EAAuBrf,EAAIO,EAAM,YAAY,EAC7C+e,EAAqB5V,GAAMnJ,EAAO,OAAO,EACzCgf,EAAiBC,GAAeF,EAAoBD,CAAoB,EACxEI,EAAazf,EAAI,EAAK,EACtB0f,EAAa1f,EAAI,EAAE,EACnB2f,EAAuBC,GAAcrf,EAAO,CAAC,QAAS,SAAS,CAAC,EAChEsf,EAAoB7f,EAAI,EAAE,EAC1B8f,EAAyB9f,EAAI,EAAE,EAC/B+f,EAAkBjW,EAAS,IACxBgW,EAAuB,MAAM,OAAOD,EAAkB,KAAK,EAAE,OAAOF,EAAqB,KAAK,CACtG,EACKK,EAAoBlW,EAAS,IAAM,CACjC,KAAA,CACJ,OAAAsS,CAAA,EACE7b,EACJ,GAAI6b,EAAe,OAAAA,EACb,KAAA,CACJ,WAAAzB,EACA,WAAAqB,CAAA,EACEzb,EACG,MAAA,CAACub,EAAS/G,KAAW,CACtB,GAAA,CAACA,GAAe,MAAA,GACd,MAAAkL,GAAQlL,GAAO4F,CAAU,EAC3B,GAAA,OAAOsF,IAAU,SACZ,OAAApE,GAAeC,EAASmE,EAAK,EAEhC,MAAA5gB,GAAQ0V,GAAOiH,CAAU,EAC3B,OAAA,OAAO3c,IAAU,SACZwc,GAAeC,EAASzc,EAAK,EAElC,OAAOA,IAAU,SACZwc,GAAeC,EAAS,OAAOzc,EAAK,CAAC,EAEvC,EACT,CAAA,CACD,EACK6gB,EAAqBpW,EAAS,IAAM,CACxC,GAAIvJ,EAAM,OACR,OAAOof,EAAqB,MACvB,CACC,KAAA,CACJ,MAAOQ,CAAA,EACLJ,EACE,CACJ,MAAOjE,CAAA,EACL4D,EACJ,MAAI,CAAC5D,EAAQ,QAAU,CAACvb,EAAM,WACrB4f,EAEAjE,GAAciE,EAAcH,EAAkB,MAAOlE,EAASvb,EAAM,aAAa,CAC1F,CACF,CACD,EACK4c,EAAcrT,EAAS,IAAM,CAC3B,KAAA,CACJ,WAAAkS,EACA,cAAAC,CAAA,EACE1b,EACElC,EAAU0d,GAAgBC,EAAYC,CAAa,EAClD,OAAAmB,GAAe8C,EAAmB,MAAO7hB,CAAO,CAAA,CACxD,EACK+hB,EAAetW,EAAS,IAAMyS,GAAgBwD,EAAgB,MAAOxf,EAAM,WAAYA,EAAM,aAAa,CAAC,EAC3G8f,EAAsBrgB,EAAI,EAAK,EAC/BsgB,EAAgBd,GAAe9V,GAAMnJ,EAAO,MAAM,EAAG8f,CAAmB,EACxEE,EAAavgB,EAAI,IAAI,EACrBwgB,EAAcxgB,EAAI,IAAI,EACtBygB,EAAUzgB,EAAI,IAAI,EAClB,CACJ,UAAA0gB,EAAA,EACEC,GAAU,QAAQ,EAChBC,EAA0B9W,EAAS,IAAM,CACzC,IAAAwB,EACI,OAAAA,EAAK/K,EAAM,eAAiB,MAAQ+K,IAAO,OAASA,EAAKoV,GAAU,MAAM,WAAA,CAClF,EACKG,EAAa,CAAC,EACdC,EAAmB9gB,EAAQ,IAAA,GAAK,EAChC+gB,EAA2BjX,EAAS,IAAM,CACxC,KAAA,CACJ,eAAAkX,CAAA,EACEzgB,EACJ,GAAIygB,IAAmB,OAAW,CAC1B,KAAA,CACJ,WAAArG,EACA,WAAAqB,CAAA,EACEzb,EACJ,OAAiBlB,IAAA,CACf,CAACsb,CAAU,EAAG,OAAOtb,CAAK,EAC1B,CAAC2c,CAAU,EAAG3c,CAAA,EAChB,CAEE,OAAA2hB,IAAmB,GAAc,GACrB3hB,GACP,OAAO,OAAO2hB,EAAe3hB,CAAK,EAAG,CAC1C,MAAAA,CAAA,CACD,CACH,CACD,EACD,SAAS4hB,EAAiBC,EAAQ,CAChC,MAAMC,EAAS5gB,EAAM,OACf,CACJ,MAAO6gB,CAAA,EACLN,EACE,CACJ,MAAOtE,CAAA,EACL4D,EACE,CACJ,MAAOiB,EAAA,EACLN,EACE1iB,GAAU,CAAC,EACjB,OAAA6iB,EAAO,QAAiB7hB,IAAA,CAClB,GAAAmd,EAAU,IAAInd,EAAK,EACrBhB,GAAQ,KAAKme,EAAU,IAAInd,EAAK,CAAC,UACxB8hB,GAAUC,EAAc,IAAI/hB,EAAK,EAC1ChB,GAAQ,KAAK+iB,EAAc,IAAI/hB,EAAK,CAAC,UAC5BgiB,GAAuB,CAC1B,MAAAtM,GAASsM,GAAsBhiB,EAAK,EACtC0V,IACF1W,GAAQ,KAAK0W,EAAM,CACrB,CACF,CACD,EACM1W,EAAA,CAEH,MAAAijB,EAAqBxX,EAAS,IAAM,CACxC,GAAIvJ,EAAM,SAAU,CACZ,KAAA,CACJ,MAAO2gB,CAAA,EACL3B,EACJ,OAAK,MAAM,QAAQ2B,CAAM,EAClBD,EAAiBC,CAAM,EADK,CAAC,CACN,CAEzB,OAAA,IAAA,CACR,EACKK,EAAoBzX,EAAS,IAAM,CACjC,KAAA,CACJ,MAAO0X,CAAA,EACLjC,EACJ,MAAI,CAAChf,EAAM,UAAY,CAAC,MAAM,QAAQihB,CAAW,EAC3CA,IAAgB,KAAa,KAC1BP,EAAiB,CAACO,CAAW,CAAC,EAAE,CAAC,GAAK,KAExC,IAAA,CACR,EACKC,EAAWC,GAAYnhB,CAAK,EAC5B,CACJ,cAAAohB,EACA,kBAAAC,EACA,gBAAAC,EAAA,EACEJ,EACK,SAAApE,EAAche,EAAO0V,EAAQ,CAC9B,KAAA,CACJ,SAAAyI,EACA,iBAAkBD,EAClB,cAAAD,EAAA,EACE/c,EACE,CACJ,mBAAAuhB,GACA,kBAAAC,EAAA,EACEN,EACAjE,GAAU5M,GAAK4M,EAAUne,EAAO0V,CAAM,EACtCuI,IAAe1M,GAAK0M,GAAeje,EAAO0V,CAAM,EAChDwI,GACG3M,GAAA2M,EAAgBle,EAAO0V,CAAM,EAEpCsK,EAAqB,MAAQhgB,EACVyiB,GAAA,EACDC,GAAA,CAAA,CAEpB,SAAStM,EAAO7W,EAAG,CACX,KAAA,CACJ,OAAA8W,CAAA,EACEnV,EACE,CACJ,iBAAAyhB,CAAA,EACEP,EACA/L,GAAa9E,GAAA8E,EAAQ9W,CAAC,EACTojB,EAAA,CAAA,CAEnB,SAASnM,GAAU,CACX,KAAA,CACJ,QAAAC,CAAA,EACEvV,EACAuV,MAAcA,CAAO,CAAA,CAE3B,SAASP,EAAQ3W,EAAG,CACZ,KAAA,CACJ,QAAA4W,EACA,YAAAyM,CAAA,EACE1hB,EACE,CACJ,kBAAA2hB,CAAA,EACET,EACAjM,GAAc5E,GAAA4E,EAAS5W,CAAC,EACVsjB,EAAA,EACdD,GACOE,GAAA,CACX,CAEF,SAASC,EAAS/iB,EAAO,CACjB,KAAA,CACJ,SAAAgjB,CAAA,EACE9hB,EACA8hB,GAAezR,GAAAyR,EAAUhjB,CAAK,CAAA,CAEpC,SAAS8L,EAASvM,EAAG,CACb,KAAA,CACJ,SAAAwM,CAAA,EACE7K,EACA6K,GAAewF,GAAAxF,EAAUxM,CAAC,CAAA,CAGhC,SAAS0jB,IAAyB,CAC5B,IAAAhX,EACE,KAAA,CACJ,OAAA6V,EACA,SAAA9Y,CAAA,EACE9H,EACJ,GAAI4gB,EAAQ,CACJ,KAAA,CACJ,MAAOC,CAAA,EACLN,EACJ,GAAIzY,EAAU,CACN,KAAA,CACJ,WAAA2T,EAAA,EACEzb,GACH+K,EAAKgW,EAAmB,SAAW,MAAQhW,IAAO,QAAkBA,EAAG,QAAkByJ,IAAA,CACxFqM,EAAc,IAAIrM,GAAOiH,EAAU,EAAGjH,EAAM,CAAA,CAC7C,CAAA,KACI,CACL,MAAMA,GAASwM,EAAkB,MAC7BxM,IACFqM,EAAc,IAAIrM,GAAOxU,EAAM,UAAU,EAAGwU,EAAM,CACpD,CACF,CACF,CAGF,SAASwN,GAAaljB,EAAO,CACrB,KAAA,CACJ,aAAA6e,EACA,gBAAiBD,CAAA,EACf1d,EACA2d,GAAmBtN,GAAAsN,EAAc7e,CAAK,EACtC4e,GAAoBrN,GAAAqN,EAAe5e,CAAK,EAC5CghB,EAAoB,MAAQhhB,CAAA,CAE9B,SAAS8iB,IAAW,CACbP,EAAkB,QACrBW,GAAa,EAAI,EACjBlC,EAAoB,MAAQ,GACxB9f,EAAM,YACYiiB,GAAA,EAExB,CAEF,SAASC,GAAY,CACnBF,GAAa,EAAK,CAAA,CAEpB,SAASG,GAAuB,CAC9BhD,EAAW,MAAQ,GACnBI,EAAuB,MAAQe,CAAA,CAE3B,MAAA8B,GAA2B3iB,EAAI,EAAK,EAC1C,SAAS4iB,IAAsB,CACzBriB,EAAM,aACRoiB,GAAyB,MAAQ,GACnC,CAEF,SAASE,IAAqB,CACxBtiB,EAAM,aACRoiB,GAAyB,MAAQ,GAC5BrC,EAAc,OACIoC,EAAA,EAEzB,CAEF,SAASI,IAAqB,CACxBlB,EAAkB,QACjBtB,EAAc,MAGZ/f,EAAM,WAIWiiB,GAAA,EAFVC,EAAA,EAJHN,GAAA,EAQX,CAEF,SAASY,GAAkBnkB,EAAG,CAC5B,IAAI0M,EAAIS,EACH,GAAAA,GAAMT,EAAKmV,EAAQ,SAAW,MAAQnV,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQS,IAAO,SAAkBA,EAAG,SAASnN,EAAE,aAAa,IAGhJ6gB,EAAW,MAAQ,GACnBhK,EAAO7W,CAAC,EAEE6jB,EAAA,EAAA,CAEZ,SAASO,GAAmBpkB,EAAG,CAC7B2W,EAAQ3W,CAAC,EACT6gB,EAAW,MAAQ,EAAA,CAErB,SAASwD,IAAkB,CACzBxD,EAAW,MAAQ,EAAA,CAErB,SAASyD,GAAetkB,EAAG,CACrB,IAAA0M,EACC,GAAAA,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,SAAkBA,EAAG,IAAI,SAAS1M,EAAE,aAAa,IAChG6gB,EAAW,MAAQ,GACnBhK,EAAO7W,CAAC,EAEE6jB,EAAA,EAAA,CAEZ,SAASU,IAAmB,CACtB,IAAA7X,GACHA,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,QAAkBA,EAAG,MAAM,EAC5DmX,EAAA,CAAA,CAEZ,SAASW,GAAuBxkB,EAAG,CAC7B,IAAA0M,EACAgV,EAAc,QACT,GAAAhV,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,SAAkBA,EAAG,IAAI,SAAS+X,GAAsBzkB,CAAC,CAAC,GAE/F6jB,EAAA,EAEd,CAEF,SAASa,GAAiCjkB,EAAO,CAC/C,GAAI,CAAC,MAAM,QAAQA,CAAK,QAAU,CAAC,EACnC,GAAI0hB,EAAyB,MAEpB,OAAA,MAAM,KAAK1hB,CAAK,EAClB,CAEC,KAAA,CACJ,OAAA8hB,CAAA,EACE5gB,EACE,CACJ,MAAOic,CAAA,EACL4D,EACJ,GAAIe,EAAQ,CACJ,KAAA,CACJ,MAAOC,CAAA,EACLN,EACG,OAAAzhB,EAAM,OAAO2e,IAAKxB,EAAU,IAAIwB,EAAC,GAAKoD,EAAc,IAAIpD,EAAC,CAAC,CAAA,KAEjE,QAAO3e,EAAM,OAAO2e,GAAKxB,EAAU,IAAIwB,CAAC,CAAC,CAC3C,CACF,CAEF,SAASuF,GAAqBvb,EAAQ,CACpCwb,GAAqBxb,EAAO,OAAO,CAAA,CAErC,SAASwb,GAAqBzO,EAAQ,CACpC,GAAI6M,EAAkB,MAAO,OACvB,KAAA,CACJ,IAAA6B,EACA,OAAAtC,EACA,uBAAAuC,EACA,WAAA1H,EAAA,EACEzb,EACA,GAAAkjB,GAAO,CAACtC,EAAQ,CACZ,KAAA,CACJ,MAAOwC,EAAA,EACL7D,EACE8D,GAAqBD,GAAoB,CAAC,GAAK,KACrD,GAAIC,GAAoB,CACtB,MAAMC,GAAiBhE,EAAkB,MACpCgE,GAAe,OAGlBA,GAAe,KAAKD,EAAkB,EAFpB/D,EAAA,MAAQ,CAAC+D,EAAkB,EAI/C9D,EAAuB,MAAQe,CAAA,CACjC,CAKF,GAHIM,GACFL,EAAiB,MAAM,IAAI/L,EAAOiH,EAAU,EAAGjH,CAAM,EAEnDxU,EAAM,SAAU,CACZ,MAAAujB,GAAeR,GAAiC/D,EAAe,KAAK,EACpEwE,GAAQD,GAAa,cAAmBzkB,KAAU0V,EAAOiH,EAAU,CAAC,EAC1E,GAAI,CAAC+H,IAEC,GADSD,GAAA,OAAOC,GAAO,CAAC,EACxBN,GAAO,CAACtC,EAAQ,CAClB,MAAM6C,GAAqBC,EAAsBlP,EAAOiH,EAAU,CAAC,EAC/D,CAACgI,KACenE,EAAA,MAAM,OAAOmE,GAAoB,CAAC,EAChDN,MAAmC,MAAQ,IACjD,OAGWI,GAAA,KAAK/O,EAAOiH,EAAU,CAAC,EAChC0H,MAAmC,MAAQ,IAEnCrG,EAAAyG,GAAc7C,EAAiB6C,EAAY,CAAC,CAAA,KACrD,CACD,GAAAL,GAAO,CAACtC,EAAQ,CAClB,MAAM6C,GAAqBC,EAAsBlP,EAAOiH,EAAU,CAAC,EAC/D,CAACgI,GACHnE,EAAkB,MAAQ,CAACA,EAAkB,MAAMmE,EAAkB,CAAC,EAEtEnE,EAAkB,MAAQgB,CAC5B,CAEaqD,GAAA,EACLzB,EAAA,EACIpF,EAAAtI,EAAOiH,EAAU,EAAGjH,CAAM,CAAA,CAC1C,CAEF,SAASkP,EAAsB3b,EAAa,CAE1C,OADuBuX,EAAkB,MACnB,UAAUsE,GAAiBA,EAAc5jB,EAAM,UAAU,IAAM+H,CAAW,CAAA,CAElG,SAAS8b,EAAmBxlB,EAAG,CACxB0hB,EAAc,OACR6B,GAAA,EAEL,KAAA,CACJ,MAAA9iB,GACET,EAAE,OACN8gB,EAAW,MAAQrgB,EACb,KAAA,CACJ,IAAAokB,EACA,OAAAtC,CAAA,EACE5gB,EAEA,GADJ6hB,EAAS/iB,CAAK,EACVokB,GAAO,CAACtC,EAAQ,CAClB,GAAI,CAAC9hB,EAAO,CACVygB,EAAuB,MAAQe,EAC/B,MAAA,CAEI,KAAA,CACJ,SAAAwD,EAAA,EACE9jB,EACE+jB,GAAqBD,GAAWA,GAAShlB,CAAK,EAAI,CACtD,CAACkB,EAAM,UAAU,EAAGlB,EACpB,CAACkB,EAAM,UAAU,EAAGlB,CACtB,EACM,CACJ,WAAA2c,GACA,WAAArB,EAAA,EACEpa,EACAof,EAAqB,MAAM,KAAe5K,IACrCA,GAAOiH,EAAU,IAAMsI,GAAmBtI,EAAU,GAAKjH,GAAO4F,EAAU,IAAM2J,GAAmB3J,EAAU,CACrH,GAAKkF,EAAkB,MAAM,KAAe9K,IACpCA,GAAOiH,EAAU,IAAMsI,GAAmBtI,EAAU,GAAKjH,GAAO4F,EAAU,IAAM2J,GAAmB3J,EAAU,CACrH,EACCmF,EAAuB,MAAQe,EAERf,EAAA,MAAQ,CAACwE,EAAkB,CACpD,CACF,CAEF,SAASrO,GAAYrX,EAAG,CACtBA,EAAE,gBAAgB,EACZ,KAAA,CACJ,SAAAyJ,CAAA,EACE9H,EACA,CAAC8H,GAAY9H,EAAM,YACXkiB,EAAA,EAEJ5M,EAAA,EACJxN,EACYgV,EAAA,CAAI,EAAA,EAAE,EAEpBA,EAAc,KAAM,IAAI,CAC1B,CAEF,SAASM,GAAoB/e,EAAG,CAC1B,CAAC8M,GAAU9M,EAAG,QAAQ,GAAK,CAAC8M,GAAU9M,EAAG,OAAO,GAAK,CAAC8M,GAAU9M,EAAG,QAAQ,GAC7EA,EAAE,eAAe,CACnB,CAGF,SAAS2lB,GAAiB3lB,EAAG,CAC3BuM,EAASvM,CAAC,CAAA,CAIZ,SAAS4lB,GAAc5lB,EAAG,CACpB,IAAA0M,EAAIS,EAAImL,EAAIuN,GAAIC,GAChB,GAAA,CAACnkB,EAAM,SAAU,CACnB3B,EAAE,eAAe,EACjB,MAAA,CAEF,OAAQA,EAAE,IAAK,CACb,IAAK,IACH,GAAI2B,EAAM,WACR,MAEA3B,EAAE,eAAe,EAGrB,IAAK,QACC,GAAA,EAAG,GAAA0M,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,SAAkBA,EAAG,cACpE,GAAIgV,EAAc,MAAO,CACjB,MAAAxY,IAAiBiE,EAAK0U,EAAQ,SAAW,MAAQ1U,IAAO,OAAS,OAASA,EAAG,iBAAiB,EAChGjE,GACFyb,GAAqBzb,EAAa,EACxBvH,EAAM,aACNkiB,EAAA,EACKyB,GAAA,EACjB,SAES/B,GAAA,EACL5hB,EAAM,KAAOoiB,GAAyB,MAAO,CACzC,MAAAiB,GAAqB9D,EAAuB,MAAM,CAAC,EACzD,GAAI8D,GAAoB,CAChB,MAAAtb,GAAcsb,GAAmBrjB,EAAM,UAAU,EACjD,CACJ,MAAOihB,EAAA,EACLjC,EACAhf,EAAM,UACJ,MAAM,QAAQihB,EAAW,GAAKA,GAAY,SAASlZ,EAAW,GAGhEkb,GAAqBI,EAAkB,CAI3C,CACF,EAINhlB,EAAE,eAAe,EACjB,MACF,IAAK,UAEH,GADAA,EAAE,eAAe,EACb2B,EAAM,QAAS,OACf+f,EAAc,SACfpJ,EAAKuJ,EAAQ,SAAW,MAAQvJ,IAAO,QAAkBA,EAAG,KAAK,GAEpE,MACF,IAAK,YAEH,GADAtY,EAAE,eAAe,EACb2B,EAAM,QAAS,OACf+f,EAAc,OACfmE,GAAKhE,EAAQ,SAAW,MAAQgE,KAAO,QAAkBA,GAAG,KAAK,EAEzDtC,GAAA,EAEX,MACF,IAAK,SACC7B,EAAc,QAChBqE,GAAyB/lB,CAAC,EAChB6jB,EAAA,IAEXiC,GAAKnE,EAAW,SAAW,MAAQmE,KAAO,QAAkBA,GAAG,MAAM,EACtE,KAAA,CACJ,CAEF,SAASR,IAAiB,CACpB,IAAA5Y,GACHA,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,QAAkBA,EAAG,MAAM,CAAA,CAExE,SAASkX,IAAsB,CACzB,IAAAlX,GACHA,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,QAAkBA,EAAG,WAAW,CAAA,CAE7E,SAASsZ,IAA4B,CAC/B,IAAAtZ,EACCgV,EAAc,SAClBhV,EAAKkV,EAAY,SAAW,MAAQlV,IAAO,QAAkBA,EAAG,aAAa,EAAA,CAEzDgX,GAAA,EACvBljB,GAAMsK,GAAMnJ,EAAO,SAAS,EAAG+hB,EAAsB,EACrD,MAAMuC,GAAiB,CACrB,MAAO,IAAM,CACP,IAAAvZ,GACHA,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,QAAkBA,EAAG,MAAM,CACxE,EACA,WAAY,IAAM,CACZ,IAAAA,GACHA,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,QAAkBA,EAAG,WAAW,CAC7E,EACA,KAAM,IAAM,CACN,IAAAA,GACHA,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,QAAkBA,EAAG,KAAK,CACvE,EACA,UAAW,IAAM,CACX,IAAAA,GACHA,EAAKiV,EAAW,SAAW,MAAQjV,IAAO,QAAkBA,EAAG,UAAU,CAAA,CAE9E,EACMe,EAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAM,CACJ,cAAAqU,CAAA,GAEA1U,EAAS,MACN,MAAA,CACL,sBAAuB0U,CACzB,CAAA,CACD,EACKxQ,GAAmBD,EAAsBE,GAAc,SAAU,OAAWvB,EAAY9L,CAAK,EAAI,OACvG,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIskB,EAAc,EAAG,CACtD,aAAchD,GACd,gBAAiBzY,EACjB,eAAgBiH,EAChB,UAAW+O,EACX,SAAUjC,EACV,UAAW2H,GAAa,EACxB,WAAAvE,EACA,QAAAE,EACA,QAASf,EACT,iBAAkBW,EAClB,WAAYC,EACZ,WAAYpB,GAAc3e,CAAK,EAC/B,kBAAmB8e,EACnB,YAAaE,EACb,YAAAiB,EACA,qBAAsBI,EACtB,eAAgBW,EAChB,gBAAiBD,EACjB,WAAYK,EACZ,eAAgBC,EAChB,QAASnC,EACT,sBAAuBkD,GACvB,oBAAAjV,EACA,oBAAAkV,GACA,mBAAAC,GACA,0BAAA+B,GACA,gBAAA3B,GACA,eAAAC,GACA,iBAAAC,GACA,mBAAAL,GACA,aAAcS,GACd,mBAAoBC,GACpB,mBAAAY,EACA,YAAAnO,GACA,kBAAA8M,GACA,mBAAAC,GACA,cAAAwB,GACA,qBAAA9B,EACA,uBAAAU,GACA,iBAAAmB,GACA,kBAAmBC,GACnB,oBAAA7G,GACA,YAAalU,EACb,QAASiE,EAAsB,OAAYrB,EAC3C,WAAYsB,IAAqB,KAAsC,OAASA,GAAiB,WACjG,SAAUA,IAAqB,KAAsC,OAASA,GAAiB,QAAA,CAChG,CACH,EACA,QAAS,CACP,OAAOrL,EAAE,MAAO,CACd,MAAO,GAAG,KAAK,eAAe,SAAA,EAC7BA,EAAEyiB,GAAS,KAAM,CAClB,QAAS,IAAM,CAACziB,EAAE0iB,GAAS,KAAM,CAC/B,QAAS,IAAM1iB,EAAE0R,GAAoB,CACnC,IAAK,aACL,oBAAqB,KAAK,oBAC1B,OAAQ,KAAK,aACb,WAAY,KAAK,WACjB,UAAW,KAAK,gBAChB,UAAW,KAAK,UAChB,YAAa,KAAK,YAClB,wBAAyB,KAAK,wBAC9B,SAAU,KAAK,eACf,OAAQ,KAAK,uBAAyB,KAAK,WAC3C,QAAS,KAAK,QACd,YAAa,KAAK,qBAClB,eAAgB,KAAK,eACrB,gBAAiB,KAAK,gBACtB,SAAU,KAAK,SACf,UAAW,KAAK,UAChB,YAAa,KAAK,YAClB,WAAY,KAAK,WACjB,UAAW,KAAK,UAChB,SAAU,KAAK,eACf,KAAM,KAAK,WACX,MAAO,KAAK,YAAY,MAAM,kBAC9B,WAAY,KAAK,WACjB,WAAY,KAAK,WACjB,eAAgB,KAAK,YAAY,cAAc,kBAC/C,QAAS,KAAK,QACd,QAAS,KAAK,QACd,QAAS,KAAK,mBACd,eAAgB,KAAK,mBACrB,eAAgB,KAAK,mBACrB,QAAS,KAAK,YACd,OAAQ,KAAK,kBACb,QAAS,KAAK,mBACd,UAAW,KAAK,cAChB,cAAe,KAAK,mBACpB,eAAgB,KAAK,oBACrB,SAAU,KAAK,0BACf,kBAAmB,KAAK,iBAAA,EACvB,CACD,MAAO,IAAM,CACX,IAAI1I,EAAIS,EACR,MAAO,EAAEA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,CAAA,CAE3F,CAAA,CAAA,CACF,EAAGhJ,EAAE2iB,GAAW,CACf,IAAK,cACL,KAAM,KAAK,WACX,GAAI,KAAK,WACT,iBAAkB,KAAK,aAAe/F,GAAc,MACpD,eAAgB,KAAK,UACrB,MAAO,KAAK,oBAAsB,SAAW,OAC7C,SAAU,SACV,UAAW,KAAK,SAAA,EACf,CACD,QAAS,IAAM5c,EAAE2E,GAAY,CAC3B,KAAM,8BACN,OAAQ,KAAK,UACb,aAAc,KAAK,oBAAA,EAClB,CACD,QAAS,IAAM,CACb,IAAIqE,EAAIS,EAAImL,EACZ,OAAM,KAAK,YAAc,KAAK,mBAAqB,SAGlD5L,EAAK,KAAK,YAAc,MAAQA,IAAO,QAAkBA,EAAG,KAAK,IAAI,EAC/D4Z,GAAe5iB,EAAE4G,GAAqB,OAAO,OAAO,CAAC,EAAG,KAAK,UAAW,CAC7E,IAAK,UACL,SAAU,KAAK,0BACf,oBAAqB,KAAK,oBAC1B,cAAe,KAAK,qBAAuB,KAAK,cAChD,MAAO,CAAC,GAAG,KAAK,eAAe,eAAgB,KAAK,YAAa6C,EAAK,KAAK,aAAe,MAAQA,IAAO,OAAS,OAASA,EAAG,KAAK,EACnI,UAAW,KAAK,gBAChB,UAAW,GACX,WAAY,KAAK,WACjB,WAAY,KAAK,WACjB,YAAa,GACb,UAAW,KAAK,UAChB,MAAO,KAAK,YAAY,MAAM,mBAC9B,eAAgB,KAAK,YAAY,cAAc,mBAC/C,SAAU,KAAK,SACf,SAAU,KAAK,SACf,KAAM,KAAK,SACX,aAAc,KAAK,aACnB,YAAa,KAAK,YAClB,MAAO,KAAK,YACZ,MAAO,EAAEmL,EAAK,KAAK,aAAe,MAAQA,IAAO,OAAS,OAASA,EAAG,MAAO,KAAK,OAAO,EACzF,SAAU,KAAK,aACf,SAAU,KAAK,iBACf,QAAS,KAAK,gBACd,OAAQ,KAAK,eACb,UAAW,KAAK,kBAChB,SAAU,KAAK,iBACf,YAAa,KAAK,oBAClB,KAAM,KAAK,WACX,cAAe,KAAK,cACpB,yBAA0B,KAAK,wBAAA,CAChC,EAAG,CACF,MAAO,IAAM,CACX,IAAI5L,EAAIS,EACR,MAAO,EAAEA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,CAC1F,EACA,OAAQ,IAAM,CACZ,IAAIA,EAAIS,EACR,MAAO,EAAEA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,CAC3F,EACA,OAAQ,IAAM,CACZ,IAAIA,EAAIS,EACR,MAAO,EAAEA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,CAAA,CAE5F,CAAA,EAAG,KAAK,mBAAqB,OAAS,CAAC,CAAC6Z,GAAO,KAAK,UAAU,EAAG,CAACC,GAAc,KAAK,uBAAwB,OAAW,CACvH,QAAS,EAAA,CACV,CAAC,EAAI,CAAC,CAACA,GAAc,KAAK,uBAAwB,OAAW,CAC5D,QAAS,EACV,CAAA,CAAC,CAAC,GAnDM,IAmDN,CAEN,CAAA,CAAA,CACF,CAAC,CAAA,CACH,CAAC,CAAA,CAEN,CAAC,EC95BcC,GAAA,CACb,iBAAkB,QAClB,gBAAiB,YACjB,mBAAoB,YACpB,kBAAmB,QACnB,iBAAkB,YAClB,oBAAqB,YACrB,iBAAkB,QAClB,gBAAiB,YACjB,mBAAoB,YACpB,oBAAqB,OACrB,qBAAsB,OACtB,oBAAqB,OACrB,gBAAiB,OACjB,iBAAkB,QAClB,iBAAkB,YAClB,oBAAqB,YACrB,kBAAmB,YACnB,kBAAmB,YACnB,kBAAmB,YACnB,iBAAkB,OAClB,kBAAmB,QACnB,kBAAmB,YACnB,qBAAsB,YACtB,mBAAoB,YACpB,mBAAoB,YACpB,mBAAoB,YACpB,gBAAiB,OACjB,iBAAkB,QAClB,iBAAkB,YAClB,oBAAqB,YACrB,kBAAmB,YACnB,kBAAmB,YACnB,kBAAmB,WACrB,EC5BO,SAASzkB,GAAKyD,EAAM,CACzB,KAAM,CACJ,WAAAK,EACA,aAAAG,EACA,kBAAA6J,EACA,oBAAA/J,EACA,mBAAAsO,EACA,kBAAArO,EACA,YAAAoK,EACA,aAAA1K,EAEA,aAAAU,EACA,cAAAC,EACA,eAAAC,EAEA,WAAAG,EACA,YAAAC,EACA,aAAAC,CACJ,EAAMlB,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIqB,EAAe,EAAG,CACvD,YAAa,QACb,iBAAkB,QAClB,mBAAoB,QACpB,aAAc,aAAasJ,CAAW,GACtC,kBAAmB,aAAaA,CAAW,GAC3C,oBAAqB,aAAaA,CAAW,GAC7C,gBAAiBtK,EACjB,qBAAsBA,EACtB,uBAAwBA,EACxB,cAAeA,EACf,mBAAoBgK,EACpB,qBAAsB/J,EACtB,oBAAqBE,EACrB,sBAAuBD,EACvB,UAAW,QACX,eAAgB,QAChB,iBAAkB,QAClB,gBAAiB,QACjB,qBAAsB,QACtB,kBAAmBqO,EACnB,WAAY,kBACZ,gBAAiB,kBACjB,kBAAmB,kBACnB,iBAAkB,aAAapO,CAAY,GAC3C,mBAAoB,aAAamK,CAAW,GAC5C,iBAAkB1K,EAClB,cAAee,EACf,eAAgBC,EAChB,cAAeC,EACf,kBAAmBP,EACnB,mBAAoBC,EACpB,kBAAmBC,EACnB,oBAAqBF,EACrB,qBAAsBC,EACtB,oBAAqBC,EACrB,gBAAiBR,EACjB,wBAAyBE,CAC7B,CAAG,CACH,CACA,MAAM0gB,GAAkB1f,GAAY,CAClC,KAAM,aACN,OAAQC,GACR,MAAO,CACL,OAAQkZ,GACR,MAAOwG,GACP,UAAW5I,EACZ,EACD/b,KAAAA,EACF,CAAC,ECzEK4kB,GAAkB;AAAA;AAAA;AAAA;AAAA,EAKlBC,GAAqB,CAAC1c,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA,EAIvC,CAAC,EAqCY2c,GAAA7c,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,CAACA,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA,EAI1B,EAAGA,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA,EAI3B,EAAGzI,GAAE,wBAAyB;AAAA;AAAA,EAE9B,EAAGyI,EAAG,SAAU;AAAA;AAAA,EAEhB,EAAGzI,GAAE,wBAAyB,CAACyI,EAAG,kBAAmB,6BAA6B,CAAC,CAAC,EAAGA,EAAG,0BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAOnH,CAACA,EAAG,QAAS;AAAA;AAAA;AAAA,EAGf,CAAC,CAAC,EAAGA,EAAG,kBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAsBzB,CAACE,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA,GAKd,CAACF,EAAG,YAAa;AAAA;AAAA,EAEnB,CAAC,CAAC,EAAGG,GAAM,WAAY,CAACD,EAAG,QAASyc,GAAiBC,EAAkB,EAAGrlB,GAAE,UAAWolB,GAAiBC,EAAkB,EAAGrlB,GAAE,WAAY;AAAA;AAAA;AAAA;AAAA,GAIzI,CAAC2I,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA,EAIhB,CAAC,CAAC,EAAGA,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA,GAIhB,CAAC3I,GAAE,UAAW;AAAA;AAAA,EAEhB,CAAC,CAAC,CAAC,CAAC,EAAG2I,EAAG,WAAY;AAAA;AAAA;AAAA,GAGpB,CAACA,EAAG,iBAAkB;AAAA;AAAA;AAAA,EAGxB,CAAC,CAAC,CAAC,CAAC,EAAGA,EAAG,WAAY;AAAA;AAAA,GAEpB,CAACF,EAAG,0BAA2B;AAAA;AAAA,EAEjC,CAAC,CAAC,EAAGE,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA,GAIhB,CAACF,EAAG,0BAA2B,CAACA,EAAG,QAAS;AAAA;AAAA,EAE9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,ECrID,SAAS8c,GAAmBC,EAAiB,CAClD,IAAIta,EACJ,GAAI,CAACsa,EAAiB,MAAO,IAC7B,KAAM,CACJ,gBAAAC,CACJ,EAAMD,EACJ,GAAIC,IAAoB,OAAW,OAAOA,EAC1C,MAAMC,GAAkBxa,EAAKsa,EAAgB,aAAe,MAAQta,IAAO,OAAS,OAASA,EAAG,CAAC,EACjG,OAAI,OAAOwa,GAAmB,SAAiBA,GACvCA,GAAmB,KAAoC,OAASA,EAAe,QAAU,EACnG,CACA,SAASC,GAAoBC,EAAaC,EAAWC,EAAUC,EAAuB,CACpF,IAAIC,EAAkB,GAClBC,EAAiB,GACjBC,EAAiB,EACjBC,EAAgBN,EACpB,GAAIA,IAAc,EAChB,MAAO,CACL,gBAAiB,GACjB,eAAgB,GAChB,cAAAM,EACA,eAAAD,EACA,MAAO,CAAC,CACN,KAAM,OACN,MAAO,EACP,OAAQN,IAAgB,EACxB,kBAAmB,GACnB,iBAAkB,EACnB,CAAA,CACF,EAEH,GAAIC,IAAc,EAChB,MAAO,CACL,gBAAiB,GACjB,eAAgB,GAChB,cAAAM,EACA,eAAAD,EACA,MAAO,CAAC,CACN,KAAM,OACN,MAAO,EACP,OAAQN,IAAgB,EACxB,kBAAmB,GACnB,iBAAkB,EAC1B,EAAS,CACD,KAAM,OACN,MAAO,EACP,OAAQA,IAAgB,EACxB,kBAAmB,GACnB,iBAAkB,EACnB,CAAA,CACF,EAEH,MAAMQ,EAAY,EACZC,EAAWR,EACjB,IAAIS,EAAcV,EACdW,EAAYX,EAChB,MAAMY,GAAeV,EAAW,GAAK,EACrCS,GAAa,KAAK,KAAKC,CAAW,EAClCD,EAAY,KAAK,IAAI,KAAK,IAAIA,EAAWH,EAAYN,EAAW,CAAC,EAAGO,EAAW,CAAC,EAChFC,GAAe,KAAK,MAAME,CAAW,EACrCF,EAAc,KAAK,IAAI,KAAK,IAAIA,EAAaD,EAAWP,EAAW,CAAC,EAAGM,EAAY,CAAC,EACpF,IAAIK,EAAY,GACZC,EAAa,GACbJ,EAAcF,EAAY,IAAGK,EAAY,IACzCF,EAAYF,EAAW,IAAGK,EAAa,IAC3C,MAAMC,EAAQ,CAAE,EAChBA,EAAM,KAAK,CACT,KAAM,OACN,MAAO,EACP,OAAQf,IAAgB,EACxB,kBAAmB,GACnB,iBAAkB,EACtB,CAAG,EACGa,GACFT,EAAkB,GAClBE,EAAiBI,EAAc,EAC/BK,EAAM,KAAK,CACT,KAAM,gBACN,OAAQ,GACR,MAAO,OACP,QAASZ,EAAwBa,GAAYR,EAAY,EAAGE,EAAc,CAAC,EAAI,IACrF,CAAK,GACQD,GAAYD,EAAY,GACjCO,EAAM,KAAK,CACT,KAAM,OACN,MAAOP,EAAY,EACnB,kBAAmB,GACnB,iBAAkB,GAClB,OAAQR,IAAgBQ,EAAY,CAC1C,CAAK,EAEH,QAAShlB,EAAIklB,EAAallB,GAAKmlB,EAAW,EAAEnlB,EAC1CulB,EAAM,KAAK,CACT,KAAM,OACN,MAAOvlB,EACP,kBAAmB,GACnB,iBAAkB,GAClB,OAAQwkB,IAAgBxkB,CAC9B,CAAK,EAEH,OAAIslB,GACFT,EAAiB,GACjBE,EAAgBI,EAAY,EAC5BI,EAAM,KAAK,CACT,KAAM,eACN,OAAQ,GACR,MAAO,OACP,QAASZ,EAAwBa,GAAYL,EAAY,EAAGF,EAAW,CAAC,EAAI,IAClF,CAAK,GACQE,IAAcF,EAAW,GAAKM,EAAMA,EAAM,OAAS,CAAC,EAAE,QAAUN,EAAW,GACpFM,EAAM,KAAK,CACT,KAAM,OACN,iBAAkB,GAClB,kBAAmB,GACnB,MAAON,EAAW,EAClB,OAAQT,IAAgBS,EAAW,CACzC,CAAK,EAECM,EAAMA,EAAM,OAAS,CAAC,EAAE,QAAUN,GACpCM,EAAM,KAAK,CACT,KAAM,OACN,iBAAkB,GAClB,kBAAmB,GACnB,MAAON,EACP,OAAQT,IAAgBS,CAC9B,CAAK,EAEI,CACL,gBAAAL,EACA,eAAAC,EACA,eAAAC,EACA,cAAAC,EACA,MAAAQ,CACD,CACH,CACA,SAASC,GAAYC,EAAMC,EAAI,CAC7B,MAAMC,EAAQ,CAAE,EAChB,QAAS3lB,EAAIylB,EAAMzlB,GAAK0lB,EAAI,EAAE1lB,EAC5B2lB,EAAM,KAAK,CACT,MAAO,GAAG3lB,CAAC,GACX,MAAOA,CACb,CAAK,EAEH,OAAO2lB,CACT,CCnIa,MAAAvB,GAAkB,OAAO,OAAO,OAAO,OAAO,GAAIzc,GAAS,KAAK,EAAG,CAC9E,OAAQ,QACR,KAAM,OACN,YAAa,CACX,KAAM,OACN,QAAS,CACX,EACA,UAAW,OACX,UAAW,OACX,iBAAkB,CAChB,KAAM,OACN,QAAS,CACX,EACA,eAAgB,QAChB,SAAU,OACV,gBAAiB,OACjB,UAAW,CACT,KAAM,MACN,SAAU,CACR,MAAO,CAAC,EAAE,CAAA,CAEd,EACA,gBAAiB,QACjB,KAAM,CACJ,KAAM,OACN,QAAS,QACX,EACA,SAAU,QACV,SAAU,CACR,KAAM,OACN,QAAS,CACX,EACA,YAAa,OACb,KAAM,SACN,KAAM,SACN,KAAM,SACN,OAAQ,SACR,OAAQ,SACR,MAAO,SACP,aAAc,CACZ,KAAM,MACN,QAAS,CAAC,QAAS,cAAe,cAAc,CAClD,EACA,GAAI+V,GAAc,OAClB,sBAAuB,CACrB,KAAM,QACN,QAAS,EACX,EACA,gBAAiB,CAAC,SAAU,KAAK,EACjC,aAAc,CAAC,SAAU,KAAK,EAC9B,oBAAqB,CAAC,SAAU,KAAK,EACrC,iBAAkB,CAAC,SAAU,KAAK,EAElC,iBAAkB,CAAC,SAAU,KAAK,EAElC,SAAU,CAAC,SAAU,KAAK,CAC5B,CAAC,EACDkI,GAAe9mB,GAAgB,CAC7B,KAAM,aACN,MAAOslB,GACP,MAAO,OACP,MAAMrlB,EAAO,CAcL,KAAA,CACJ,wBAAA8mB,EACA,mBAAAje,EACA,oBAAAsE,EACA,aAAArE,CAAA,EACEC,GAAU/I,CAAK,EACbkJ,EAAWN,GAAS,aAAc,cAAehJ,GAAOmlB,GAAiB/kB,EAAO6I,CAAkB,EAClG,CACJ,UAAAsX,CAAA,EACEC,GAAU,YAAY,EACpBlgB,EAAUT,EAAI,IAAI,EAClBsnB,EAAsBtnB,EAAIO,EAAM,WAAW,EAC3CgnB,EAA0BvnB,EAAI2lB,GAAmBplB,CAAK,CAAC,EACvDinB,EAAgBhI,GAAe9V,GAAMnJ,EAAO,MAAM,EAAG+mB,CAAmB,EACxEG,EAAoBjI,GAAe9V,GAAMnJ,EAAO,UAAU,EAAGgnB,CAAuB,EACpFG,EAAqB5d,EAAS,IAAM,CAElC,KAAA,CACJ,UAAA6d,CAAA,EACEpnB,EACJ,GAAIonB,IAAc,OACT,OAAA,KAAK,IAAI,EAAG,KAAK,KAAKA,EAAYF,EAAkB,KAAK,CAAC,EAE7D,KAAA,CACJ,UAAAxB,CAAA,EACE1lB,EACJ,OAAI0lB,IAAc,OAAkB,KAAK,IAAIA,EAAW,CAAC,EAClD,CAAA,CACR,EACK2B,EAAiB5nB,EAAI,EAAE,EAC7B2X,GAAY,IAAM,CACXpX,EAAM,OACIqnB,EAAA,MAAQ,OAAOJ,EAAc,KAAK,CAAA,CAClD,EACK,MAAAK,EAAuB7nB,EAAI,EAAK,EAChC8nB,EAAwB9nB,EAAI,EAAK,EACjC+nB,EAAyB/nB,EAAI,EAAK,EAClCgoB,EAA0BhoB,EAAI,EAAK,EACnCioB,EAA8B,IAAM,CACpC1nB,EAAM,WACVsnB,EAAqB,MAAQ,GACJK,EAAA,EAC3B,EACMC,EAA8B,IAAM,CACpC5nB,EAAM,WACVsnB,EAAqB,MAAQ,GACJK,EAAA,EAC3B,EACME,EAA+B,IAAM,CACzCN,EAAsB,MAAQ,GACLI,EAAA,CAC3B,EACMG,EAA+B,IAAM,CACzCP,EAAsB,MAAQ,GACLI,EAAA,CAC3B,EACMI,EAA4BjpB,GAAA,CAChCkpB,EAAalpB,CAAK,CACpB,EACMmpB,EAAgB1e,EAAS,IAAMic,GAAoByB,EAAc,MAAOE,EAAmB,MAAOnnB,EAAM,SAAUA,EAAM,qBAAqB,CAAC,EACpJoX,GAAY,IAAM,CACX6Q,EAAc,MAAM,gBAGbA,EAAc,MAAM,iBAC9BX,EAAqB,MAAQ,GAC7BE,EAAuB,MAAQ,KAJ/BD,EAAsB,MAAQ,GAC9BE,EAAwB,MAAQ,GAIlC,CACD,EACK,MAAAS,GAAqB3e,EAAS,IAAM,CAClC,MAAAyQ,EAASmG,EAAU,MAAM,gBACxB,OAAAngB,EAAM,UAAU,IAAY8C,GAC7B,OAAOA,GAAS,SACX,CACL,MAAO,GAAGA,CAAI,MAAMkX,CAAM,GAC1B,MAAOlX,CACT,EAEOA,CAEV,CAAA,CACF,EACKqlB,EAAe5e,EAAS,IAAM,CAClC,IAAIwB,EAAIS,EACC,QAAAA,GAAMT,EAAK+b,GAA4B,KAA6C,OAASA,EAAwB,SAAW,MAAQ/b,IAAO,OAAS,OAASA,EAAG,cAAgB,MAAQS,IAAO,OAAS,OAASA,EAAG,YAAc3I,GAAY7C,EAAM,IAAI,CAAA,CACtQ,EACKooB,EAAgB7e,EAAS,IAAM,CACnC,IAAIwB,EAAIS,EACC,QAAAA,GAAMT,EAAK+b,GAA4B,KAA6C,OAASA,EAAwB,SAAW,MAAQ/b,IAAO,OAAS,OAASA,EAAG,cAAgB,MAAQS,IAAO,OAAS,OAASA,EAAG,aAAe3I,GAAY7C,EAAM,IAAI,CAAA,CACvQ,EACKqoB,EAAgB9e,EAAS,KACrB0d,EAAc,MAAQ,GAAKC,EAAkB,KACtD,EACKoB,EAAc/e,EAAS,IAAM,CACjC,MAAMgf,EAAWtB,EAAc,MAAQC,EAAkB,MAAQ,EAC3D,CACJ,UAAAE,CAAA,EACEpnB,EACJ,OAAIonB,IAAc,QACTmB,EAAWnB,EAAY,EAAIA,EAAY,EAEzCmB,CAAA,CACR,EACKC,EAAqBjf,EAAS,IAAM,CAClC,KAAA,CACJ,UAAA6d,CAAA,EACEpnB,EACA,OAAAonB,IAAc,OAAkBA,GAC5BpnB,EAAM,WAAa,GAAKknB,EAAkB,KAAA,CACnD,EACKle,EAAgBC,GAAO,aAAcH,EAAcD,CAAkB,EAC3E,SAAS8e,GAA2B,CAC7B7lB,GAAS,IAAM,CACd,IAAAiJ,EACE,KAAA,CACJ,MAAO0d,CAAA,EACLvoB,EACCuoB,IACEA,EAAA,UAAU,IAAI,qBAAqB,GACnC1d,EAAK7K,EAAQ,SAAW,MAAQ6K,IAAO,QAAkBA,EAAG,YAC5D0d,EAAA,UAAU,OAAO,qBAAqB,EAAA,CAC9C,CAAA,CAEH,SAAST,EAAaU,EAAM,CACtB,GAAAA,IAASzB,EAAc,MAAO,OAC5B,KAAA,CACJ,gBAAiB0B,EACjB,aAAAC,GACA,SAAA3L,GACA,OAAA4L,EAAA,EACE7oB,EACA2oB,GAAoBtY,GAAAsY,EAAeD,CAAI,EACvCE,IAAmBvY,GAAAuY,GAAcF,CAAI,EAErCzL,IAAe5M,GAAA4M,GAAUyL,CAAI,EACjC3B,EAAoB,MAAQ2B,EACxBG,KACaxB,EAAA,MAAQ,OAAOqB,CAAI,EACpC,CAEF,SAASI,EAAiBC,EAAU,CAC9B,GAAAA,IAAa7B,EAAkB,MAAO,OACpC,KAAA,CACJ,oBAAqB8B,EACrB,iBAAAC,GACA,iBAAAC,EAAA,EACElpB,EACAgpB,GAAwB3Y,GAAA2Y,EAAmBD,CAAQ,EACnDE,IAAuB5Y,GAAA4Y,GAAkBF,CAAQ,EAEjDG,IAAuB7Y,GAAA6Y,GAAkBH,CAAQ,EACrD/B,EAAwB,MAAQ+B,EAG5B5B,EAAmB,MAAQF,EAAc,OAC3Ce,EAAab,EAAmB,KAAK,CACvC,CAEF,SAASgC,GAAU,CACjB,GAAInpB,EAAM,SAAU,OACpB,MAAM0oB,EAAO,KAAK,IAAIzB,EAAc,MAAQ,EAAGE,EAAmB,KAAK,EACvEa,EAAaU,CAAI,CAAA,CAEnB,SAASU,IAAW,CAClB,GAAIppB,EAAM,SAAU,OACpB,MAAM0oB,EAAO,KAAK,IAAIzB,EAAc,MAAQ,EAAG,CAAC,EAChDe,EAAaU,CAAI,CAAA,CAEnB,SAASW,GAAc,CACrB,GAAIrpB,EAAM,SAAU,OACpB,MAAM0oB,EAAO,KAAK,IAAIT,EAAc,MAAM,cAAed,EAAmB,KAAK,EACjFa,EAAaU,CAAI,CAAA,CAEnB,SAASY,GAAe,CACtB,GAAItpB,EAAM,SAAU,OACpB,MAAM0oB,EAAO,KAAK,IAAIT,EAAc,MAAM,eAAgB,CAAC,EAC3DD,EAAaU,CAAI,CAAA,CAEnB,SAASa,EAAuBzqB,EAAO,CACrCgqB,EAAiBhqB,CAAK,CAAA,CAExB,SAAS0qB,GAAc,CACrB,MAAMd,EAAO,OAAO,SAASrB,EAAe,KAAK,EAC7C,OAAO,MAAMqB,CAAI,IACRV,EAAA,KAAK,IAAI,EAAG,KAAK,IAAIU,EAAMvB,EAAmB,KAAK,CAAC,CAAC,EAC7DnnB,EAAM,SACTqnB,EAAe,MAAQ,IACzB,CAEF,SAASoC,GAA0B,CACrBD,EAAA,CAAA,CAEd,SAASE,EAAoBC,EAAU,CACrC,GAAI,CAAA3pB,EAAM,SACV,OAAQ2pB,EAAS,KAAM,CACrB,IAAK,OACH3B,EAAa2B,EAAS,KAAK,EAC3B,MACF,IAAK,gBACUL,EAAA,EACb,MACF,IAAK,eACSD,EAAA,EACZ,KAAA,CACJ,CAEF,SAASO,GAAkB9qB,EAAO,CAChCuoB,EAAe,MAAQvoB,EAAM,QAAQ,OAAQ,EAAE,CAAA,CAEjDsY,GAAY,IAAM,CACX6P,EAAc,MACdC,EAAkB,MACES,EAAA,CAAA,CAC1B,EACK,MAAA7b,GAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAAzG,CAAA,EACE9C,EACE,CACJ,KAAM,CACJ,aAAA6pB,EACA,kBAAAC,GACA,oBAAAC,GACA,gBAAAC,GACA,qBAAAC,GACA,uBAAAC,GACA,cAAAC,GACA,mBAAAC,GACA,qBAAAC,GACA,oBAAAC,GACA,sBAAAC,GACA,UAAAC,GACA,eAAAC,GACA,iBAAAC,GACA,gBAAAC,EACA,qBAAAC,EACA,kBAAAC,GACA,WAAAC,GACA,gBAAAC,GACA,kBAAAC,GACA,iBAAAC,GACA,mBAAAC,GACA,iBAAAC,GACA,gBAAAC,GACA,wBAAAC,EACA,YAAAC,GACA,iBAAAC,EACA,mBAAAC,EACA,CAACnhB,GAAU,cAAevH,CAAI,CAAC,EAAG2oB,EAClC,CAACphB,GAAU,aAAcvH,CAAI,CAAC,EAAG4oB,EACjC,CAACrhB,GAAU,aAAcvH,CAAI,CAAC,EAAG6oB,GACjC,CAACthB,GAAU,cAAevH,CAAI,CAAC,EAAG8oB,GAClC,CAACvhB,GAAU,cAAevH,CAAI,CAAC,EAAG+oB,GAClC,CAACxhB,GAAU,eAAgBvH,CAAI,CAAC,EAAGgpB,GACnC,CAACzhB,GAAU,iBAAkBvH,CAAI,CAAC,EAAGipB,GACrC,CAAC1hB,GAAU,eAAgBvH,CAAI,CAAC,EAAGkpB,GACnC,CAAC3hB,GAAU,eAAgBvH,CAAI,CAAC,EAAGmpB,GACnC,CAAC5hB,GAAU,WAAYvH,CAAI,CAAC,EAAGopB,GAC/B,CAAC7hB,GAAU,iBAAkBvH,CAAI,CAAC,EAAGqpB,GACrC,CAAC9hB,GAAU,eAAgBvH,CAAI,CAAC,EAAGspB,GACnC,CAAC,GAAG/hB,GAAU,aAAcvH,CAAI,CAAC,KAAK,EAAGupB,GACzC,CAAC,GAAGhiB,GAAU,cAAevH,CAAI,CAAC,KAAK,EAAGwpB,EAC5C,EACA,OAAQ,CACN,qBAAAvgB,EAAA,GAEA7C,EAAS,MACN,MAAA,CACL,oBAAqB8iB,GACrB,oBAAqBC,GACrB,qBAAsBG,GACtB,mBAAoBR,GACpB,oBAAqBE,GACrB,kBAAmBH,GACnB,mBAAoBE,GACpB,uBAAwBS,GACxB,gBAAiBJ,GACjB,sBAAuB/B,GACvB,+BAAgCI,GAChC,4BAA6BH,GAC7B,6BAA8BE,GAC9B,8BAA+BD,GAC/B,iBAAkBG,GAClB,uBAAwBC,GACxB,0BAA2BI,GAC3B,wBAAyBF,EACzB,8BAA+BC,EAC/B,yBAA0BF,GAC1B,kBAAmBI,GACnB,wBAAyBC,GACzB,2BAA4BG,GAC5B,yBAA0BD,GAC1B,0BAA2BD,GAC3B,mBAAoBS,EACpB,yBAA0BN,GAC1B,aAAcpf,GACd,uBAAwBggB,GACxB,wBAAyBX,GACzB,iCAAkCC,EAClC,kBAAmBK,EACnB,sBAAuBW,GACvB,uBAAwBF,GACxB,wBAAyBnC,GACzB,8BAA+BC,GAC/B,gCAAiCC,GACjC,yBAA0BqB,EAC1B,mBAAoBD,GACpB,2BAA4BE,EAC5B,oBAAqB3B,EACrB,0BAA2BC,GAC3B,4BAA6BC,EAC/B,CAAA,CACD,EACK3c,GAAmBD,EAAsBE,GAAc,aAAc9D,EAAS,IAAM,CACxF,IAAIwI,EAAO,GACL,KAAA,CACJ,KAAAjP,CAAA,EACE9C,EACJ,OAAA+R,GAAQjP,EAAK,CAAC,EACPiP,CAAA,CACR,EAAGjG,GAAY9L,CAAK,EAAI,OAClB,MAAA,CACL,WAAYgJ,EACZ,gBAAiBH,EACjB,OAAQsX,EACR,QAAAjgB,EACA,WAAY+mB,EACZ,UAAW1d,EAAS,IACX0e,EAAc,MAAM,KAC5B,EACD,gBAAiBO,EACjB,YAAanB,EACb,gBAAiBa,GACjB,eAAgBhB,EAChB,UAAWiB,EACX,WAAYC,EACZ,YAAalf,EACb,gBAAiBie,EACjB,WAAYkB,EACZ,SAAUC,EACV,oBAAqBd,EACrB,qBAAsBC,EACtB,kBAAmBH,EACnB,mBAAoBC,EACpB,iBAAAQ,EACA,4BAAAL,EACA,4BAAAE,EACA,6BAAAC,EACA,6BAAAC,EACA,kBAAA8B,GACA,oBAAqBR,GACrB,mBAAoBD,EACpB,oBAAAO,EACA,uBAAAH,EACA,wBAAAE,EACA,QAAStc,EAAsB,OAAYrB,GAC3C,WAAYsB,IAAqB,KAAsC,OAASA,GAAiB,WACjG,SAAUA,IAAqB,KAAsC,OAASA,GAAiB,QACjG,CACF,EACA,QAAS,CAED,KAAA,CACJ,OAAAvL,EACA,gBAAAoQ,EACA,SAAAsH,EACA,QAAAgT,EACA,WAAAC,EACA,gBAAAC,EACA,UAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,YAAApf,EACA,OAAAqf,EACA,UAAAC,EACA,WAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,OAAArE,EACA,KAAAtd,EACA,KAAAD,EACA,OAAA6hB,EACA,OAAAnT,EACA,MAAA0F,EACA,KAAA0N,EACA,kBAAAxD,EACA,uBAAAL,GACA,oBAAA8D,EACA,oBAAA3D,EACA,mBAAA4D,EACA,wBAAA7D,EACA,SAAA/b,CAAA,EACE,KACJA,GAAa,MAAuCA,EAAS,EACvD,MAAA6f,EAAeJ,GAAUtrB,EAAO,OAChC2rB,EAAexT,GAAUnY,EAAO,OAChC4rB,EAAaliB,GAAQ1J,EAAO,KAC5B6rB,EAAapiB,GAAQzJ,EAAO,KAC5BoE,EAAcyZ,GAAS7d,EAAO,MACpC,OAAOE,EAAE,MAAO,CACd,IAAK,UACL,MAAO,CAAC,GAAGkQ,CAAe,cAAe,KAAK,WAAY,KAAK,YAAc,GAAGA,CAAe,mBAAoBsH,GAAY,GAAGtH,CAAe,wBAAyB4W,GAAU,GAAG5W,CAAe,qBAAqB,EAC3N,MAAOsa,CAAA,EACNgB,EAAexrB,EAAE,MAAO,CACzB,MAAO,GAAGkQ,CAAe,sBACxBsb,EAAa,CACd,KAAMf,EACN,SAAUQ,EACV,UAAWP,EACX,WAAY,KAAK,WACjB,SAAU,KAAK,SACf,UAAW,KAAK,eAAA,CACjB,CAAC,EAAI,KAAM,KAAK,aAAa,IAAYkB,IAAA,CACxC,OAAQA,GAAM,CACZ,IAAK,QACH,OAAO5rB,EAAEgZ,GAAU,KAAMhZ,EAAE,MAAO,CAChC,MAAO,CAAC,GAAGkQ,CAAe,mBAAoB,CAACwb,GAAc,GAAGxb,CAAe,4BAA6Bua,GAAc,GAAKA,EAAaC,GAAmBlT,IAAa,GAAGtH,CAAe,4BAA4B,EAC1N,QAASob,CAAA,EACRI,EAAaA,EAAW,CACzB,KAAMjB,EACN,SAAUQ,EACV,UAAWP,EACX,WAAY,KAAK,WACjB,SAAU,KAAK,SACf,UAAW,KAAK,eAAA,CACjB,EAAI1qB,EAAE4E,GAAW,CAChB,UAAWsL,CAAA,EACV,CACD,QAAS,IAAM,KAAK,WAAalQ,EAAE2B,GAAa,IAAI,EAAI3B,EAAEsB,GAAc,IAAI,CAAA,CAC7E,CAAC,EAAGwlB,EAAS9mB,EAAEgZ,GAAU,KAAMhZ,EAAE,MAAO,CACvC,MAAO,GAAGkQ,CAAe,0BAAA,EACxBlQ,EAAE6rB,GAAQ,CACX,MAAOV,EACP,cAAetD,EACf,KAAMkD,EACN,YAAa,GACb,SAAAvT,EACA,MAAO/L,EAAY,MAAM,MACzB,eAAgBA,EAAY,cAAc,MAC1C,SAAUic,CAAA,CACX,CAAC,EAAG,KAAW,IAAKgD,CAAe,EAAIC,EAAU,IAAI,CAAC/C,EAAUnG,IAAU,CACrE,IAAAqK,EACAzP,EACAC,EACE,KAAA,CACJ,KAAA7N,CAAA,EACEmZ,EACJ,OAAQnZ,EAAM,CACZ,IAAK,OAEH,MAAMsd,GAAWnE,EAAS,MACtB1jB,EACF4nB,EAAc5nB,EAAY,CACxB,KAAM,OACN,KAAM6nB,GACN,OAAQnE,EAAS,MAAA,CAClB,EAEakE,EAAAC,GAEhB,MACF,IAAK,eAEH,MAAMC,GAAkB,KAAK,kBAAoBhsB,EAAE4E,GAAW,CAC5D,UAAWsL,CAAA,EACV,CACD,QAAS,IAAM,KAAK,WAAalQ,EAAEwB,GAAkB,IAAI,EAAIxB,EAAEyB,GAAiB,IAAI,CAAA,CACrF,EAAIzB,EAAE4E,GAAW,CAChB,UAAWsL,CAAA,EACV,CACD,QAAS,IAAMlQ,EAAE4B,GAAU,IAAI,CAAA,CAChC,EACGsC,EACF4nB,EAAc5nB,EAAY,CACxB,KAAM,eACN,KAAM8nB,GACN,OAAQ,KAAK,mBAAqB,KAAK,mBAAA,CACxC,EAEaF,EAAAE,GAEhB3P,EAAe,KAAK,4BACpBC,EAAe,KAAK,4BACpB,MACF,IAAK,gBAEH,MAAM2P,EAAmB,KAAK,mBAAqBjsB,EAAE4E,GAAW,CAC9D,UAAWsL,CAAA,EACV,CACD,QAAS,IAAM,KAAK,WAAalQ,EAAEyB,GAAiB,IAAI,EAAIzB,EAAEwB,GAAkB,IAAI,CAAA,CACrF,EAAIxB,EAAE4E,GAAW,CAChB,UAAWsL,CAAA,EACV,CACD,QAAS,IAAMlQ,EAAE4B,GAAU,IAAI,CAAA,CAChC,EACGsC,EACF4nB,EAAc5nB,EAAY,CACxB,KAAM,gBACN,KAAM+nB,EACN,OAAQ,KAAK,oBAAsB,KAAK,oBAAA,CACzC,EAEaH,EAAAG,EAEhB5P,EAAe,KAAK,6BACpBC,EAAe,KAAK,6BACpB,KAAA,CAEE,MAAA4P,GAAWlsB,EAAE,MAAO,CACxB,IAAKyhB,EACL,MAAO,CAAC,GAAGvR,CAAe,mBAAoB0X,EAAS,QAAU,GAAG1X,CAAe,2BAA4BzB,IAAS,SAAWA,IAAS,iBAAmB,KAAK,sBAAwBA,IAAS,gBAAkB,KAAK,sBAAwB,GAAGyB,CAAe,0BAA2BsH,GAAY,GAAGtH,CAAe,6BAA8BzB,IAAS,QAAU,GAAGyB,CAAe,6BAA6B,EAC/Z,QAAS,IAAM,CACbyX,EAAoBC,CAAQ,CAC9B,EACA,aAAAvL,EACA,aAAAC,GACCwP,CAAW,EACd,GAAIrd,IAAS,QAAU,CAACmZ,EAAS,mBAAqB,CAACA,EAAS,iBACvD,OAAAsE,GACF,CACC,MAAA3vB,GAAMqrB,EAAS,OAAS,OAASA,EAAS,kBAAoB,gBAAkB,eAAiBA,EAAS,KAChH,OAAIA,EAAS,OAAS,QAAU,CAACA,EAAS,QACjCsE,GAEFlsB,EAAE4a,GAAY,CACnB,GAAI,KAAK,GACT,IAAAre,GACA,SAAAib,EACA,QAAS,QACT,cAAe,GACf,MAAO,CACL,MAAO,MACT,EACA,MAAO/L,EAAY,MAAM,UACzB,eAAgBA,EAAY,cAAc,UAC1C,sBAAuB,CACrB,MAAO,CACL,mBAAoB,CAClB,OAAQ,oCAAA,CACV,CAEJ,EACA,UAAW,KAAO,CAChB,MAAO,CACL,eAAgB,QAAA,CAClB,GAEF,KAAMgD,IAAS,OAAS,GAAQA,IAAS,gBAAkB,KAAK,qBAAuB,KAAK,oBAC5F,aAAuB1R,IAAA,CACjB0R,IAAS,SACT1R,GACE0R,IAAS,gBACX,KAAK,qBAAuB1R,GAE5B,KAAK,oBAAsBA,IAG7B,KAAK,qBAAuB,GAC5B,KAAK,oBAAsB,IAE/B,EACA,QAAS6qB,EAAS,OAAS,QAAUA,EAAS,QAAUA,EAAS,QAAU,CAAC,EAC5E,cAAe,KAAK,iBACpB,WAAY,GACZ,cAAe,EAAA,EACd,CACD,QAAS,IAAMsE,EAAA,CAChB,CAAA,CACH,CACD,EAAGlsB,EAAE,MAAO,CACX,MAAO,CAAC,GAAGkQ,CAAe,mBAAoB,CAACyb,GAAc,GAAGzb,CAAe,2BAA4B,CACzG,CAAC,GAAGA,CAAe,4BAA4B,EAAGua,EAAa,GAAKA,GAAcC,GAAmBlT,CAAA,CACtG,EACD,QAAS+T,CAAA,EACRI,EAAaA,EAAW,CACzB,KAAMlB,EACN,SAAUQ,EACV,UAAWP,EACX,UAAW,KAAK,gBAChB,WAAY,KAAK,WACjB,SAAU,KAAK,QAAA,CAChB,EAAI1qB,EAAE4E,GAAW,CAChB,UAAWsL,CAAA,EACV,CACD,QAAS,IAAM,KAAK,WAAalQ,EAAEsB,GAAc,IAAI,EAAItB,EAAE2B,GAAa,IAAI,CAC7E,CAAA,CAAC,CAAC,EACL,IAAK,cAED,MAAO,CAACmlB,GAAU8D,EAAiB5qB,EAAEmsB,GAAS,OAAO,OAAO,CAC1D,oBAAqB,GACrB,YAAa,GACb,cAAe,GACf,GAAI,KAAK,EAAA,EACR,KAAK,YAAa,CACnB,KAAMnB,EACN,QAASE,EACT,MAAOD,EACP,SAAAzT,EACA,MAAO/L,EAAY,MAAM,OACzB,eAAgBA,EAAY,cAAc,OAC1C,cAAe+b,EAChB,CAAA,CAAC,EAAI,KAEV,IAAK,eACH,MAAO,CAACV,GAAU+D,EAAkB7qB,EAAE,MAAO,CAC3C,MAAO,GAAGkQ,CAAe,0BACxB,EAAAmb,EAAOA,EAAK,EAAIvf,GAAY,KAAK,OAAO,KAAM,IAAM,CAACgf,EAAO,IAAI,CAAC,EAAG9qB,EAAE6rB,GAAQ,CAC/E,MAAOV,EACP,cAAetD,EACf,KAAMkD,EACN,YAAa,GACb,SAAAvT,EACA,MAAO/L,EAAY,MAAM,MACzB,eAAgBA,EAAY,cAAc,MAC1C,SAAUic,CACX,CAAA,CAAC,EAAI,KACR,QACS,OAAA,IAAA,CACX,CACD,EAAG+D,EAAezrB,EAAE,MAAO,CAC1B,MAAO,GAAGkQ,CAAe,sBACxBub,EAAa,CACd,KAAMhB,EACN,SAAUQ,EACV,UAAWP,EACX,WAAY,KAAK,WACjB,SAAU,KAAK,SACf,UAAW,KAAK,eAAA,CACjB,CAAC,EAAI,IAAI,CAAA,CAEd,CAAC,EC/sBc0B,GAAA,CACb,QAAS,QACT,oBAAqB,OACrB,qBAAsB,OACtB,oBAAqB,OACrB,mBAAoB,OACpB,uBAAwB,OACxB,wBAAyB,OACzB,uBAAwB,OACxB,sBAAuB,OACvB,2BAA4B,OAC5B,4BAA6B,OAC7B,2BAA4B,OAC5B,0BAA2B,OAC3B,uBAAwB,OACxB,wBAAyB,OACzB,uBAAwB,OACxB,sBAAuB,OACvB,2BAA4B,OAC5B,4BAA6B,OAC7B,2BAA4B,OAC5B,0BAA2B,MAC7B,ECjBO,SAAS9tB,GAAKyD,EAAM,CACzB,KAAM,CACJ,aAAAQ,EACA,WAAAH,EACA,aAAAD,EACA,WAAAM,EACA,aAAAR,EACA,cAAAoqB,EACA,aAAArqB,EACA,cAAAW,EACA,eAAAC,EACA,cAAAC,EACA,aAAAC,EACA,YAAAE,EACA,aAAAC,EACA,YAAAC,EACA,WAAAC,EACA,WAAAjB,EACA,gBAAAM,CACJ,EAAMT,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIqB,EAAe,EAAG,CACvD,kBAAmBJ,EACnB,mBAAoBC,EACpB,kBAAmBC,EACnB,iBAAkBC,EAClB,aAAAnB,EACA,cAAAW,EACA,eAAAC,EACA,cAAAC,EACA,aAAAC,EAEA,gBAAiBV,EACjB,qBAAsBA,EACtB,sBAAuBG,EACvB,2BAA4BA,EAC5B,MAAON,EACP,aAAAE,EACA,YAAaC,EACb,YAAaA,EACb,iBAAkBK,EAClB,kBAAmB6K,GAAY/K,EAAc,CAC3C,MAAO,EACb,CAAK,EACD,qBAAsBL,EAEtB,wBAAyB,OACzB,6BAA8B,OAC9B,8BAA+B,OAC/B,mCAAoC,OACpC,cAAemqB,EACf,qBAAsB,OACtB,oBAAqB,OACrB,oBAAqB,OACrB,yBAA0B9pB,EAC1B,0BAA2BA,EAC3B,6BAA8B,OAC9B,sBAAuBC,CAC3B,CAAG,CACH,CACA,MAAM8pB,GAAgBhpB,GAAY,CAChC,KAAM,WACN,OAAQC,GACR,MAAO,CACL,QAASgO,EACV,EACDjT,KAAAA,EACF,CAAC,ECvEc8E,GAAA,CACb,eAAgB,MAChB,gBAAiB,OACjB,eAAgB,OAChB,eAAgB,MAChB,gBAAiB,OACjB,eAAgB,OAChB,WAAY,OACZ,uBAAwB,MACxB,cAAe,MACf,WAAY,OACZ,iBAAkB,aAClB,aAAc,SACd,cAAe,WACf,mBAAoB,WACtB,ECFO,SAAS9E,GAAKyD,EAAM,CACzB,KAAM,CACJ,UAAAwqB,EACA,WAAAC,EACA,aAAAvqB,EACA,WAAAG,EACA,WAAAqqB,EACA,iBAAAC,EACA,gBAAAC,EACA,UAAA7b,EACA,aAAAvO,EACA,iBAAA8K,EACA,aAAArL,EACA,WAAA4qB,EACA,cAAAjqB,EACA,eAAAC,EACA,cAAAC,EACA,aAAAV,EACA,YAAAa,EACA,gBAAAR,EACA,kBAAAqqB,CACJ,EAAM9qB,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIqB,EAAe,EAAG,CACvD,mBAAoBjB,EACpB,WAAAyqB,EACA,aAAA5qB,EACA,cAAAW,EACA,eAAAC,EACA,cAAAC,EACA,YAAaiqB,GAAUP,EAAWpqB,CAAY,EAC9C,aAAc2qB,GAAUP,EAAWI,CAAe,EAClD,eAAgBG,GAAUP,EAAWI,CAAe,EACpD,eAAgBG,GAAUP,EAAWM,CAAiB,EACtD,QAASC,GAAUP,EAAWG,CAAgB,EAC9C,aAAcI,GAAUA,GAAUP,EAAWG,CAAgB,EAAGC,CAAe,EAC/E,eAAgBG,GAAUA,GAAUP,EAAWG,CAAgB,EAAGC,CAAe,EACjF,QAASJ,EACT,YAAanqB,EACb,YAAaqqB,EACb,aAAcpf,EACd,mBAAoBsf,EACpB,YAAa7b,EACb,kBAAmBvO,EAEnB,iBAAkBuqB,GAAUN,EAAYrqB,CAAY,EACpD,kBAAmB2qB,GAAUN,EAAYG,CAAe,EACxD,oBAAqBG,GAAUN,EAAYG,CAAe,EAC1D,oBAAqBG,GAAUN,EAAYK,CAAiB,EAC5D,aAAcC,GAAUN,EAAYE,CAAgB,EACpD,kBAAmBI,GAAUA,GAAUN,EAAYE,CAAgB,EAAGC,CAAe,EACrF,oBAAqBG,GAAUA,GAAUN,EAAYE,CAAgB,EAAGC,CAAe,EACvF,aAAcH,EAEd,mBAAoBM,GAAU7qB,EAAcE,CAAY,EACxD,oBAAqB2qB,GAAU7qB,EAAc0qB,CAAe,EAC5D,sBAAuBG,GAAU7qB,EAAc0qB,CAAe,EAC9D,sBAAuBG,GAAU7qB,EAAc4qB,CAAiB,EAChE,eAAgBC,GAAU7qB,EAAcyqB,CAAgB,EACxD,oBAAqBI,GAAUA,GAAU7qB,EAAcyqB,CAAgB,EAAGC,CAAe,EACzF,sBAAuBG,GAAUA,GAAU7qB,EAAcyqB,CAAgB,EAAGC,CAAe,EAC3F,eAAgB1qB,EAChB,gBAAiB,6CACjB,eAAgB,4CAEhB,aAAcM,EACd,YAAaS,EACb,eAAgBR,CACpB,CAAG,CACH,CACA,MAAMuqB,GAAiBzpB,GAAY,CACjC,KAAM,YACN,OAAQC,GACR,MAAO,CACL,OAAQypB,GACR,SAAUC,GACV,MAAOC,GACP,WAAYlK,GACZ,UAAWxf,GACX,MAAOC,GACP,QAAS8N,GACT,SAAU4b,GACV,SAAUb,EACX,EACD,KAAAhuB,EACF,CAAC,EC/FY8uB,GAAiB,OAAO,OAAO,OAAO,OAAO,GAAIvmB,GAAS,KAAK,EAAG,CAC7E,uBAAwB,SACxB,WAAY,CACV,KAAM,CAAC,OAAQ,OAAO,EACtB,QAAS,EACV,EACD,mBAAoB,CAClB,KAAM,QACN,QAAS,EACV,EACD,UAAW,CAAC,OAAQ,MAAM,EAC1B,UAAW,CAAC,OAAQ,MAAM,EAE1B,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAA,CAChB,EACD,aAAc,CAAC,OAAQ,QAAQ,EAC/B,SAAU,SACV,OAAQ,SACR,QAAS,CAAC,QAAQ,EAClB,KAAM,CACJ,KAAM,MACN,QAAS,IAAM,CAAA,CAChB,EACD,QAAS,QACT,SAAU,CACR,KAAM,QACN,QAAS,MACV,EACD,eAAgB,CACd,KAAM,QACN,QAAS,MACV,EACD,QAAS,QACT,QAAS,CAAC,OAAQ,MAAM,EACxB,sBAAuB,CACrB,KAAM,MACN,QAAS,IAAM,CAAA,CAChB,EACD,eAAgB,MAChB,WAAY,CACV,KAAM,QACN,QAAS,EACV,EACD,aAAc,QACd,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,OAAQ,QACR,uBAAwB,CACtB,KAAM,MACN,QAAS,CAAA,CACV,EACD,iBAAkB,QAClB,gBAAiB,MACjB,mBAAoB,QACpB,cAAe,QACf,eAAgB,QAChB,oBAAqB,QACrB,aAAc,CACZ,KAAM,OACN,QAAS,EACV,EACD,aAAc,SACd,aAAc,CACZ,KAAM,OACN,QAAS,EACV,EACD,YAAa,CACX,KAAM,OACN,QAAS,MACV,EACD,uBAAwB,QACxB,QAAS,CACP,KAAM,QACN,QAAS,EACV,EACD,YAAa,CACX,KAAM,OACN,QAAS,UACV,EACD,OAAQ,CACN,KAAM,OACN,QAAS,EACV,EACD,WAAY,QACZ,iBAAkB,CAChB,KAAM,OACN,QAAS,QACV,EACD,2BAA4B,CAC1B,KAAM,OACN,QAAS,SACV,EACD,uBAAwB,OACxB,eAAgB,OAChB,WAAY,SACZ,iBAAkB,SAClB,UAAW,CACT,KAAM,OACN,QAAS,CAAA,CACV,EACD,WAAY,SACZ,aAAc,SACd,OAAQ,SACR,gBAAiB,CAAC,SAAU,KAAK,EACjC,aAAc,CAAC,SAAU,KAAK,EAC9B,oBAAqB,CAAC,SAAU,KAAK,EACrC,iBAAkB,CAAC,SAAU,KAAK,EAClC,kBAAmB,CAAC,SAAU,KAAK,EACnC,eAAgB,CAAC,SAAU,KAAK,EAChC,mBAAoB,CAAC,SAAU,KAAK,EACpC,gBAAiB,CAAC,SAAU,KAAK,EACjC,0BAA2B,CAAC,SAAU,KAAK,EAC3C,uBAAwB,CAAC,SAAU,KAAK,EACxC,2BAA4B,CAAC,SAAU,KAAK,EAC5C,wBAAyB,CAAC,SAAU,KAAK,EACzC,SAAU,SAEV,aAAc,CAAC,SAAU,KAAK,EAC9B,iBAAkB,CAAC,SAAU,KAAK,EAClC,eAAgB,CAAC,SAAU,KAAK,EAChC,gBAAiB,CAAC,SAAU,KAAK,EACjC,uBAAwB,CAAC,SAAU,KAAK,CAC1C,CAAC,EACYwmB,GAAwBzf,GAAmB,cAAc,EC/HzD0f,GAAsB,GACtBC,GAAmB,GACzB,SAASC,GAAkBC,EAAK,CACrC,GAAIA,EAAI,OAAS,YACf,OAAOA,EAAI,QAAU,OAAYH,GAAsBjlB,GAAKolB,EAAI,KAAK,EAEvE,GAAIA,EAAI,OAAS,SACf,OAAOA,EAAI,QAAU,OAAYF,GAAmBllB,GAAKolB,EAAI,KAAK,EAEpE,GAAI,eAAcA,GAClB,OAAI,OAAOA,EAAI,OAAU,SAChBplB,GAAKolB,EAAI,KAAK,EAEhBA,EAAI,KACb,CACO,SAASC,GAAkBD,EAAK,CACrC,IAAIzkB,EAAIS,EACR,GAAIgkB,EAAI,OAAS,YACf,OAAOE,IAAc3kB,EAAKykB,EAAI,SAAW,MAAQzkB,IAAO,OAASA,EAAKskB,EAAmB,EAE3F,GAAIG,EAAI,OAAS,SACf,OAAOE,IAAclkB,EAAKgkB,EAAI,SAAW,MAAQhkB,IAAO,OAASA,EAAK8jB,EAAgB,EAExF,GAAI,eAAcE,GAGlB,OAAOE,GAAaF,EAAI,KAAK,CAC/B,CACO,SAASG,GAAUH,EAAK,CAC7B,OAAIA,EAAI,OAAS,YAAoB,kBACjCA,EAAI,OAAS,SAAiB,eAC3BA,EAAI,GACb,CACO,SAASI,GAA0BC,EAAQ,CAChD,OAAKA,IACD,OAAOA,GAAW,SACb,OAAO,OAAO,CAAE,EAAEA,CAAM,EAE1BA,EACT,CACO,SAASC,GAAeC,EAAO,CACpC,OAAIA,IAAU,SAAiB,EAAWA,IAAU,UAAkB,GAC/D,CACT,CAEO,SAASC,GAAyBlxB,EAAOmxB,EAAKC,EAAK,CACxD,OAAIA,IAAQ,SACVpxB,EAAQ,KAAK,IAAIA,EAAO,OAAOoxB,GAAQ,SAAWA,EAAM,OAAO,WAAWA,CAAG,CAAC,GAE5ED,IAAQ,SACVnxB,EAAQ,KAAK,IAAIA,EAAO,OAAOmxB,GAAQ,SAAWA,EAAM,OAAO,WAAWA,CAAG,CAAC,GAEzEnxB,CACT,CACO,SAASqxB,GAAuBC,EAAQC,EAAc,CAC3D,GAAIA,IAAiB,OACnB,MAAO,CACL,MAAOA,EACP,SAAUA,EACV,SAAUA,CACX,EAEH,MAAMC,EAAQb,GAAkBW,CAAM,EAChC,CACJ,SAAAG,EACA,SAAAC,CACJ,EAAMJ,EACJ,MAAO,CACL,MAAAE,EACA,SAAUZ,GAAaa,CAAQ,GAAKD,EACpC,SAAUZ,GAAac,CAAQ,CAChC,CACH,CACO,SAASC,GAAmBC,EAAKlN,EAAOmN,EAAc,CAC3D,OAAI,OAAOA,GAAiB,WAAmBA,EAAaD,EAAKlN,CAAK,EAC/DmN,GAAgB,EACzB,CAIO,SAASC,GAA2BR,EAAQ,CACjD,OAAOA,EAAO,qBAAuB,QAAaA,EAAO,oBAAsB,QAAaA,EAAO,4BAA8B,MACnI,CACO,SAASS,GAAiBT,EAAQ,CACvC,MAAI,aAAcA,EAAe,GAC1B,CAAC,CAACA,EAAO,MAClB,CACO,SAASU,GAAkBV,EAAQ,CACxC,MAAI,aAAcA,GAAYA,EAAO,SAAS,OAAe,GACtD,CAAC,CAACA,EAAO,SAClB,CACO,SAASW,GAAmBX,EAAQ,CACzC,MAAI,aAAcA,EAAe,GAC1B,CAAC,CAACA,EAAO,SAAW,CAAC,CAACA,EAAO,eAAiB,CAAC,CAACA,EAAO,iBAChE,CACA,SAASY,GAAejB,EAAO,CAC7B,GAAKA,GAA6B,GAAIA,IAAU,UAAW,MAAO,aAAtD,OAAO,UACnB,MAAO,EACT,CACO,SAASkB,GAAiBb,EAAQc,EAAkB,CACzD,OAAId,EAAO,SAAW,OAAkB,KACpCc,IAAqB,MAAQA,EAAiB,YAAcd,EAAO,IAC9D,CACL,UAAWA,EAAO,IAClB,OAAQA,EAAO,OACf,MAAOY,GAAe,EAAK,CAC5B,EAEM,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIE,CAAgB,EAAG,CACxD,MAAOF,GAAeE,EAAiB,KAAK,CAClD,CAAK,CAEL,CACO,SAASC,GAAgBf,EAAQgB,EAAiB,CACvD,OAAOA,EAAgB,KAAKpzB,GAASA,EAAM,YAAcoyB,EAAO,KAAOpyB,EAAM,KAAK,IAAM,MAC1F,CACA,SAASqzB,GAAcvyB,EAAO,CAC5B,OAAI,OAAOA,GAAU,SACZA,EAAM,QAAQ,KAAM,KAAK,EACvBA,GAAU,KACZ,GAEA,GAAGA,CAAK,GAAG,QAAQ,KAAM,KAAK,CAEzC,CACO,SAASwyB,GAAYC,EAASC,EAAMC,EAAYC,EAAc,CACnE,MAAMC,EAAoBJ,EAAQ,OAAOnB,GAAUA,EAAO,OAAS,UAAYA,EAAO,OAAS,aAAeA,EAAO,cAAgB,EAAK,EACpIwB,EAASD,EAAkB,IAAInC,GAC5BkC,EAAeA,EAAalC,CAAG,EAAIA,EAAI,KAC/C,EAAE,KAAK,GAAG,EACLqC,EAAOL,EAAK,IAAId,GACbiB,EAAkB,IAAInC,GACpBiC,EAAaA,EAAWf,EAAIlB,EAAI,GAAG,EAAGkB,EAAKlB,CAAG,EAAI6B,GAAcX,EAAIlB,EAAI,GAAG,CAAC,CACpF,EAAE,KAAK,GAAG,CACZ,EACD,MAAO,CAACoC,EAAQ,GAAGC,CAAI,EAAE,KAAK;AAAA,CAAI,CACpC,CCtIA,MAAAC,GAAe/xB,GAAgB,CAC7B,KAAM,wBACN,MAAO,CACL,OAAQ,CACN,KAAM,CAAC,OAAQ,MAAM,EACrB,SAAU,EACX,EACD,SAAU,CACR,KAAM,QACN,SAAU,EACX,EACD,gBAAiB,CACf,KAAM,SACN,SAAU,EAChB,CACG,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,0BAAA+xB,EACA,8BAAAC,CACN,EAAQlsB,GAAOspB,EAAqB,EAChC,MAAO,IAAM,CACX,KAAM,CACJ,OAAA6C,CACR,EAAUjyB,EACJ,OAAO+B,EAAEmwB,GAAW,CAClB,mBAAoB,GACpB,SAAUlyB,EAAM,SAChB,cAAegyB,EAA8B,MAAM,IAAIC,CAAM,EAC7D,QAASF,EAA0B,MAAM,IAAIE,CAAM,EACnD,gBAAiBjyB,EAAM,eAC/B,CAAO,CACF,CACL,CACA,CAAC,EClCDmyB,GAAepyB,GAAgB,CAC7B,KAAM,qBACN,MAAO,CACL,OAAQ,CACN,KAAM,CAAC,OAAQ,MAAM,EACrB,SAAU,EACX,EACD,SAAU,CACR,KAAM,QACN,SAAU,EACX,EACD,gBAAiB,CACf,KAAM,SACN,SAAU,EAChB,CACG,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,0BAAA+xB,EACA,YAAAK,CACN,EAAQtsB,GAAOspB,EAAqB,EAChC,MAAO,IAAM,CACX,KAAM,CACJ,OAAA6C,CACR,EAAUjyB,EACJ,OAAO+B,EAAEswB,GAAQ,CACf,KAAMD,EACN,SAAUpyB,EAAM,SAChB,QAAS+xB,EAA0B,MAAM,IAAIE,CAAM,EACnD,gBAAiBjyB,EAAM,eAC/B,CAAO,CACF,CACL,CACA,CAAC,EChCYsyB,GAAsBvyB,GAAgB,CACjD,KAAM,qBACN,MAAOwyB,GACP,aAAc,GACd,MAAMvyB,EAAO,CACX,MAAAqG,EACA,MAAApG,CACJ,EAAK,CACD,MAAMuyB,EAAkB/yB,EAAI,EAAK,EAC3BoJ,EAAqB4pB,GAAoB,EAC/C,OAAAC,GAAS,YAAa9yB,GAAOiJ,CAAkB,EAoBxC,CACL,aAAc2pB,EACd,cApBoB,IAAM,CAC1B,KAAM,CACJ,UAAAG,CACR,EAAU3yB,EACEiS,EAAkBpJ,EAAmB,MAC3C,OAAO9G,EAAE,OAAQ,OAAO,OAAO,CAAE,EAAE6wB,GAAWvsB,EAAO,CACnD,MAAO,CAAC,GAAG4L,CAAe,YAAa0gB,IAAc,OAAYE,GAAqB5gB,CAAe,EAAI,OAAWjS,EAAM,gBAAkB,QAAU8yB,GAAkB7gB,EAAiB,SAAS,EAAI,MAAS,EAC/M,MAAO0gB,IAAc,OAAY,CAC/B,aAAc,UACxB,EAAY,CACF,qBAAsBA,CAChC,CACA,CAAO,EAAG,CACF,aAAc,IAAM,CAClBH,EAAgB,MAAQ,EAClC,CACA,CAAO,EAAGG,EAAY1yB,EAAQ8B,EAAE,OAAQ,KAAM9B,CAAK,CAAC,CAC/C,CAIA,CACF,EACD,QAAS,CACP,OAAI,KAAK,aACA8B,EAAEgxB,GAAUH,GAAW,GAAI,KAAK,OAAQ,KAAK,MAAM,EAAG,KAAK,MAAM,EAEjE,KAAK,cAAe,CAEjC,CACA,CAAC,EC3CDI,GAAejzB,GAAgB,CAC7B,KAAM,gBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,IAAK,CACH,KAAM,OACN,SAAU,EACX,EACD,MAAO,CACL,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,UAAW,QACX,YAAa,CACX,KAAM,OACN,SAAU,EACX,EACD,WAAY,QACb,EACD,QAAS,CACP,IAAIgL,EACJ,KAAM,CACJ,UAAAkoB,EACA,OAAA7C,EACA,IAAAM,EACA,WAAAwC,CACN,EAAQ,KACJ,IAAIC,EACJ,KAAM,CACJ,OAAA7sB,EACA,IAAAhI,EACA,SAAA80B,CACN,EAAQhD,EAUJ,GATI9pB,GAAU,CAAC2sB,EACbE,EAAO7sB,EAAOoqB,EAAK,KAAK,KAAK,EAEzBuC,EACFE,GAAQpoB,EAAK2lB,EAAIpyB,CAAG,KAAO,MAAQyM,IAAO,OAAS,OAASA,EAAG,MAE/DooB,EAAOD,EAAaA,EAAWG,GAAI3C,EAAKpyB,CAAG,EAAGoyB,EAAKN,CAAM,EAAIiD,GAAI3C,EAAKpyB,CAAG,EAGzE80B,EACF,GAAI,OAAOA,GAAa,SAAU,CAChC,KAAM,CACJ,YAAA5lB,CACV,EAAY,KACJ,OAAI4iB,EAAO,oBAAsB,sBACxBruB,EAAEuwB,GAAqB,OAAO,OAAO,CAAA,EAAIc,EAAU,CACxD,MAAO5lB,EAAY,MAAM,SACzB,eAAgBA,EAAY,cAAc,QACtD,CAAW,EAAG,CACF,QAAS,IAAM2lB,CAC3B,CAAW,EAEIpxB,EAAEuxB,GAAW,OAAO,OAAO,CAAA,EAAIF,EAAU,CAC9C,MAAO5lB,EAAY,MAAM,SACzB,eAAgBA,EAAY,cAAc,QACpD,CAAS,EAAG,CACF,QAAS,IAAM2lB,CACzB,CAAS,CACT,KACQ,QAAOpxB,EAAE,OAAQ,CACf,MAAO,GAAG,KAAK,SAAS,0BACzB,EAAEoxB,CAAI,EAGX,OAAOA,CACX,CACA,CAAC,EC7EDI,GAAexzB,GAAgB,CAC7B,KAAM,yBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,SAAU,QACV,QAAS,QACT,QAAS,CACP,KAAM,SACN,SAAU,EACX,EACD,iBAAkB,CAChB,KAAM,QACP,EACD,QAAS,CACP,KAAM,OACN,SAAU,EAChB,CACG,EACD,QAAS,CACP,KAAM,CACJ,UAAAiG,CACN,EAAQ,KACJ,OAAOjE,EAAE,MAAO,CACd,MAAO,CAAC,GAAGiE,CAAS,6BAA8B,KAAK,UAAY,GAAGA,CAAS,sCAAsC,EACrH,QAAS,KAAK,QACd,YAAa3H,GAAK,CAChBA,EAAE,eAAgB,CAC1B,CACA,EAAO0D,EAAEyxB,GAAuB,KAAM,CAChC,QAAS,IACA,KAAK,QAAUzxB,EAAE0xB,GAAc,CACpC,IAAK,UACL,UAAW,KAAK,UAChB,OAAQ,GACR,YAAa,GACb,MAAO,GACR,CAAA,EAAI,KAAK,iBAAmB,KAAK,iBAAiB,CACjD,SAAU,KAAK,SACf,QAAS,KAAK,OACxB,CAAS,EAAI1xB,EAAE4E,GAAW,CAChB,UAAWX,EACX,IAAK,WACf,EAAW,CACD,QAAS,IAAMjE,EAAE2xB,GAAkB,IAAI,CACjD,CAAS,CAET,CAAK,CAAC,CACN,CACA,CAAC,EC9CDC,GAAe5zB,GAAgB,CAC7B,KAAM,sBACN,MAAO,CACL,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,eAAgB,CACd,KAAM,OACN,SAAU,EACX,EACD,SAAU,CACR,KAAM,QACN,SAAU,EACX,EACD,MAAO,CACL,KAAM,CAAC,MAAO,OAAQ,MAAM,EAC5B,QAAS,IACV,EACD,QAAS,CACP,KAAM,MACN,SAAU,EACX,EACD,UAAW,CACT,KAAM,SACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,SACN,SAAU,EACX,EACD,SAAU,CACR,KAAM,SACN,SAAU,EAChB,CACG,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,mBAAoB4zB,EACpB,aAAA9qB,CACN,EAAQC,GAAU/I,CAAK,EACbgJ,EAAgBC,GAAO,YAAaH,EAAc8qB,CAAqB,EACvE,CACJ,mBAAA/qB,EACA,eAAAgrB,EACA,UAAA1T,CACN,EAAQra,GAAOspB,EAAqB,EAG1B0E,EAAmBr0B,EAAIO,EAAM,KAAK,EAClC+zB,EAAwBxqB,EAAS,IAAM,CAC3C,KAAM,CACJ,MAAOyqB,CACf,EAAUF,EACJ,OAAK,MAAM,QAAQE,CAAa,EACzBA,EADmC,IAEhD,CAAK,EACKC,EAAqB1qB,EAAS,IAAM,CACxC,KAAM,CACJ,MAAOyqB,CACf,EAAUF,EACJ,OAAIlD,GAA2B5wB,EAAM,MAAM,EAClC,MAAM,QAAQg0B,CAAa,GAAKA,EAAc,QAAUA,EAAc,CAAC,GAAK,KAEhF,MAAM,QAAQA,CAAa,EACzB,KADmCA,CAEhD,CAAK,EACD,SAASE,EAASp1B,EAAO,CAGvBkB,EAAM,SAASlB,CAAK,CAC1B,CACI,SAASq1B,EAAar1B,EAAO,CACvBkB,EAAM,UAAY,MAAM,QAAQlB,CAAK,EACvCg1B,EAAiB,MAAQh1B,EAChB8xB,GAA2B5wB,EAAM,MAAM,GAAK,CAAC,MAAM,QAAQlB,CAAK,EAEzEg1B,EAAiB,MAAQ,CAACh1B,CAAK,EAE/Bg1B,EAAiB,MAAQh1B,CAEjC,CACI,SAASs1B,GAAqB,CAC5BF,EAASJ,EAAiB,KAAK,EAC/B9zB,EAAM,UAAW,CACvB,CACI,SAASq0B,GAAmB,CACtBr0B,EAAM,UAAY4wB,GAA2B5wB,EAAM,MAAM,EAC3Dk0B,EAAS,CAAA,CAAE,EAEXA,EAAS,IAAI,EAEfl0B,EAAM,QAAS,CACrB,CACI,MAAO,CACL,gBAAiB6I,EACjB,WAAYG,EACZ,YAAa6qB,EACb,OAAQ1T,EACR,mBAAoB4T,EACpB,gBAAiBE,EACjB,aAAAE,EACA,mBAAAC,EACA,iBAAAC,CACD,CACF,EACD,QAAS,CACP,KAAM,CACJ,YAAA7mB,EACA,OAAAqf,EACA,gBAAA5a,CACN,EAAQ,KACJ,OAAOlQ,EAAE,MAAO,CACd,MAAO,CAAC,GAAGkQ,CAAe,0BAA2B,KAAK,YAAc,GAAGA,CAAe,8BAA8B,CAC9H,EAAOlQ,EAAEgM,GAAY,KAAM,CACrB,QAAS,IAAM,CACb,KAAM,CACJ,mBAAAumB,EACA,aAAAH,CACV,EAAY,KACJ,OAAO,KAAK,SAAWpyB,EAAEwyB,GAAgB,CACvC,MAAOD,EACP,MAAO,GAAGriB,CAAe,iCACzB,cAAekiB,CACzB,EAAW,CACD,QAAS,IAAM,KAAK,QAAQ,IAAI3f,GACvBzS,EAAEmwB,GAAW,CAClB,IAAK1d,EAAO,MACZ,MAAOhH,EAAY,MAAM,SACzB,eAAgBA,EAAY,cAAc,SAC1C,MAAOgH,EAAO,KAC5B,EAAe,CACD,QAAS,IAAMA,EAAO,KACpC,CAAa,CACF,CACX,CAAS,EAAIzS,EAAEyyB,GAAa,CAClB,KAAM,KAAK,eACX,MAAO,GAAGviB,CAAe,iCACzB,MAAO,KAAK,gBACZ,cAAe,KAAK,YAC9B,EAAW,CACD,QAAS,IAAM,KAAK,QAAQ,IAAIuC,GAAUzS,EAAEswB,GAAQ,CAClD,IAAK7d,EAAO,MACZ,MAAOA,EAAO,MACd,MAAOhH,EAAY,MAAM,MACzB,eAAgBA,EAAY,cAAc,KACtD,EAAa,CACD,QAAS,IAAMgH,EAAO,KAClC,CAAW,CAAC,CACZ,CAAS,CACT,CACA,CAAK,EAAGzS,EAAE,MAAO,CACX,MAAO,GAAGkQ,CAAe,iCAC/B,EAAOlQ,EAAE0yB,GAAS,CACZ,KAAM,OACN,MAAOjnB,EAAY,MAAM,OACzB,eAAgBA,EAAY,cAAc,OAC1C,QAAS,KAAK,gBACpB,EAAO,CACD,QAAS,IAAMqf,EAAO,KAC5B,CAAK,EAAG9qB,EAAE0yB,GAAS,CACb,MAAOjnB,EAAY,MAAM,OACzB,eAAgBA,EAAY,cAAc,OAC1C,KAAM,UACN,KAAM,OACN,QAAS,KAAK,kBACpB,EAAO,CACD,QAAS,IAAMqf,EAAO,OACvB,CAAA,CAAC,CAAC,CACP,CACA,CAAC,ECjLD6H,GAAe30B,GAAgB,CAC7B,KAAM,wBACN,MAAO,CACL,OAAQ,CACN,KAAM,SACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,QACN,QAAS,EACV,EACD,KAAM,CACJ,KAAM,QACN,QAAS,EACf,CACG,EACD,QAAS,CACP,KAAM,CACJ,OAAAuG,EACA,OAAAquB,EACA,KAAAluB,CACN,EAAQ,KACJ,OAAOH,EAAO,CACZ,OAAAquB,EACA,KAAAluB,CACN,CAAK,CACL,CACA,CAAC,ECpBD,SAASmuB,GAAkBC,EAAoBC,EAAWC,EAAmB,CAC3E,MAAMC,EAAkB,OAAO,OAAO,CAAA,EAAIH,CAAkB,EAC5D,OAAAG,EAAgBF,CAAS,EAAIC,EACtBC,CACT,CACA,MAAAC,GAAel1B,GAAgB,CAC7B,KAAM,wBACN,MAAO,CACL,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAA,CACrB,CACG,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,wBAAA8mB,CACD,EAAG/d,GAAW,EACT,CACJ,eAAA8qB,EACA,mBAAAhrB,EACA,qBAAAqsB,EACA,qBAAAC,EACA,8BAAAC,EACA,aAAApN,EACA,gBAAAqN,EACA,0BAAAC,CACN,EAAQxvB,GAAOspB,EAAqB,EAC1BmG,EAAiB91B,EAAI,EAAK,EAC1B+1B,EAAiBN,EACjBO,EAAoBlsB,EAAS,IAC1BvJ,EAAM,OAAO,iBAAmB,EACxC,EACK01B,EAAuBnsB,EAAS,IAAM,CAC1C,MAAMosB,EAAcH,EAAe,MAAMx1B,EAAM,OAAO,GAAG,EACzD,GAAI21B,IAAgB,OAAW,CAC7B,KAAM,CACJ,MAAO7tB,CACjB,EAAY2tB,EACJ,OAAI3tB,EAAiB,GAAe,IAC5C,CACM,OAAO6tB,CACb,CAAK,EACKC,EAAYrsB,EAAS,IAAM,CAC/B,KAAM,CACJ,MAAOosB,CACf,EAAUD,EACJ,OAAI,MAAM,QAAQC,CAAW,EACpBA,EAAY,OAAS,EAEvBA,IAAgB,IAC7B,CAAK,EACKE,EAAwBtsB,EAAS,IAAM,CAC3C,IAAIwB,EAAIS,EACR,QAASA,GAAMT,EAAK+b,GAA4B,KAA6C,OAASA,EAAwB,SAAW,MAAQ/b,IAAO,OAAS,OAASA,EAAG,aAAe,MAAQS,IAAO,OAAS,OAASA,EAAG,eAAiBxL,EAAM,OAAO,YACpQ,CAAK,EACD,SAAS81B,EAAmBf,EAAmB,CAC7C,MAAMC,EAAkBJ,GAAkBY,EAAe,MAAOx1B,EAAM,OAAO,IAAK+0B,CAAiB,EACnGM,EAAgBL,EAAiBh1B,EAAM,MAAM,EACzCo1B,EAA8B,QAAU,SAC1CpN,EAAa,CAAC,CAEtB,CACI,SAAS+N,GAAyB,CAChCR,EAAe,MAAQ,EAC7B,CACI,SAASS,GAA0B,CACjCT,EAAe,MAAQ,EAC7B,CACI,MAAO,CACL,YAAa1B,EACb,gBAAiBhrB,EACjB,OAAQ+sB,EACR,YAAaL,EACb,mBAAoBM,EACpB,uBAAwBP,EACxB,eAAgBG,EAChB,kBAAmBC,EACnB,kBAAmBP,EACnB,mBAAAW,EACA,wBAAAE,EACA,uBAAAD,CACD,CACF,EACD,QAAS,CACP,KAAM,CACJ,YAAAvoB,EACA,gBAAAyE,EACA,uBAAA8jB,EACA,uBAAAE,CACN,EAAQ,KACJ,OAAOl0B,EAAEiZ,GAAU,OAAO,OAAO,CAC/B,KAAM,KAAK,YACX,aAAcyC,GAAK,KAAK,YAAcA,EACtC,QAAS,QACT,MAAOjQ,EAAY,MAAM,QACzB,eAAgBA,EAAY,cAAc,QAC1C,UAAW,QACZ,EAAEyoB,EAAwB,CACzB,MAAO,CACL,QAAS,CACjB,CACA,CAAK,EAAG,CACF,QAAS,IAAM,CACb,KAAM,CACJ,mBAAAC,CACV,EAAY,KACJ,GAAIA,EACF,OAAOn0B,EAAE2yB,GAAc,CACrB,yBAA0B,GAC1B,OAAQwB,EACR,OAAQ,KAAK,OACb,KAAM,KAAK,WACvB,CAAW,EAEH,KAAM,CACJ,iBAAAC,CACD,EAAG,KAAK,OACT,OAAOp0B,EAAE,MAAO,CACd,yBAA0B,GAC1B,MAAO,CAAC,GAAGkQ,CAAe,qBAAsB,CAC9C,CAAC,GAAGA,CAAe,4BAA4B,EAAG,KAAK,OACvD,CAAC,GAAGA,CAAe,0BAA0B,EAAG,KAAK,WACtD,CAAA,CACX,EAAWkkB,EAAmBA,EAAiB,CACrC,OAAQ,KAAK,OACb,KAAM,KAAK,WACrB,CAAS,EAAIp0B,EAAE4E,GAAW,CAChB,UAAWsL,CACrB,EAAW,CACD,QAAS,IAAMlQ,EAAE0B,GAAY,IAAI,CAC3C,CAAS,CAAC,CACH,EACD,QAAS,IAAM,CACb,KAAM,CACJ,iBAAA2yB,CACD,EAAG,KAAK,OACT,OAAOA,EAAmBA,EAAiB,CACzC,KAAML,CAChB,CAAS,EAAIh0B,EAAE4xB,GAAsB,CAC3B,MAAO,KAAK,kBACZ,eAAgB,OAAO,KAAK,OAAO,GAAG,EACtC,SAAU,KAAK,eACf,MAAO,KAAK,kBACZ,QAAS,KAAK,QACd,OAAQ,KAAK,OACb,SAAU,KAAK,mBACf,QAAS,KAAK,uBACd,UAAW,KAAK,uBAC1B,CAAS,CACT,CACA,CAAK,CACL,CACA,CAAC,ECjKD0C,GAAet2B,GAAgB,CAC7B,KAAM,qBACN,MAAO,CACL,cAAe,SACf,SAAU,SACV,YAAa,QACd,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,mBAAA6I,CACN,EAAQ/C,GAAOspB,EAAqB,EAC1BwG,EAAYn2B,EAAI,EAAK,EAC3B,IAAI62B,EAAS,EACb,SAASC,EAAUl4B,EAAG,CACpB,OAAOA,EAAE,OACf,CACI,SAASm4B,EAAgBn4B,EAAG,CAC1B,IAAI0M,EACJ1M,EAAE,eAAgB,EAClB,MAAMo4B,EAAiBb,EAAU,MACjCU,EAASC,EAAUl4B,CAAC,EACpBu3B,EAAU,MAAQ,GACba,IACH73B,GAAG,YAAa,OAAQ83B,CAAe,EACvC93B,GAAG,UAAW,OAAQ+3B,CAAa,GAClC5rB,EAAK/K,EAAM,iBAAmB,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,CAAK,EAErF,CACI,SAAS02B,EAAgBr4B,EAAG,CAC1B,IAAI0M,GACHA,EAAK/K,EAAM,YAAc,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,EAAOu2B,EAAUl4B,CAAC,EAAIi4B,CAAM,CACrG,CACI,SAASK,GAAgB,CACvB,IAAI5rB,EACJ6qB,EAAU,MAAQ,IACjB7qB,EAAK/K,EAAM,eAAiB,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,CAAK,EAC3EjB,GAAI,YAAa,OAAQ23B,CAAe,EACxC33B,GAAI,UAAW,OAAQ43B,CAAa,CAC1C,CACI,OAAAz3B,GAAgB,IAAM,CACpBH,GAAI,YAAa,OAAQ23B,CAAe,EACxC33B,GAAI,UAAW,OAAQ43B,CAAa,CAC1C,CAAK,EACM,CACL,gBAAiB9tB,EACjB,OAAQ+sB,EACR,gBAAAY,CACD,CACF,EACD,QAAS,CACP,KAAM,CACJ,gBAAAvkB,CACN,EAAQ,KACJ,OAAOlQ,EAAE,OAAQ,CACf,4BAA6B,GAC7B,MAAO,CAAC,GAAGkQ,CAAe,4BAA6B,KAAK,QAAU,GAAGA,CAAe,mCAAmC,EAC3H,YAAa,KAAK,eACxB,CAAK,CACL,CACA,CAAC,EC7DD2kB,GAAe72B,GAAgB,CAC7B,KAAM,wBACN,MAAO,CACL,OAAQ,CACN,KAAM,SACN,SAAU,EACX,EACD,MAAO,CAEL,KAAM,CAAC,OAAQ,OAAO,EACtB,QAAS,EACf,CACG,EACD,QAAS,CACP,KAAM,CACJ,OAAAuG,EACA,MAAAypB,CACN,EAAQ,KACJ,OAAOzpB,EAAO,CACZ,MAAAypB,CACN,CAAK,CACL,CACA,CAAC,ECjBD8G,GAAe92B,GAAgB,CAC7B,KAAM,WACN,MAAO,CACL,OAAQ,CACN,KAAM,OACN,SAAU,EAChB,CACG,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,wBAAA8mB,CACD,EAAG/d,GAAW,EACT,CACJ,mBAAA+tB,EACA,mBAAAjuB,CACN,EAAQ/C,GAAOspB,EAAqB,EAC1B2H,EAAextB,EAAS,IAAMutB,EAAmB,MAAM,KAAK94B,GAASA,EAAM,YAAcgC,EAAM,OAAO,GAAG,CAAC,EAC1G41B,EAAYrsB,EAAS,IAClBwtB,EAAa,QAAU,MAC/B,EACKC,EAAqBztB,EAAS,IAAM,CACxC,KAAM,CACJ,MAAO0tB,CACf,EAAUF,EACJ,OAAIE,GAAarB,EAAU,MAClBqB,EAAU,MAEZ,EACb,CAAK,EACKC,EAAwB3tB,EAAS,IAAM,CAC3C,IAAIwB,EAAIS,EACR,QAASA,GAAMT,EAAK+b,GAA4B,KAA6C,OAASA,EAAwB,SAAW,MAAQ/b,IAAO,OAAS,OAASA,EAAG,aAAe,MAAQS,IAAO,OAAS,OAASA,EAAG,eAAiBxL,EAAM,OAAO,YACpQ,CAAK,EACD,MAAO,CACL,gBAAiB6I,EACjB,OAAQ+sB,EACR,gBAAiBoB,EACjB,mBAAoBE,CACrB,CACF,EACD,QAAS,CACP,KAAM,CACJ,mBAAAC,EACA,gBAAAC,EACA,gBAAAnlB,CACN,EAAQ,KACE,CACJ,iBAAAolB,CACD,EAAG,KAAK,OACT,OAAOF,EAAqBp1B,EAAE60B,GAAc,CAC1C,OAAQO,EACR,MAAOC,CACb,CAAK,EAAIr1B,EAAE,OAAQ,CACb,MAAO,CAAC,GAAGkQ,CAAe,qBAAsBmlB,IAAoB,UAAY,GAAGnlB,CAAe,0BAA2BmlB,IAAoB,WAAa,GAAGnlB,CAAe,0BAA0B,CAChN,EAAOolB,EAAmBA,EAAiB,CACrC,MAAOD,CACb,CAAK,EAAIr1B,EAAE4E,GAAW,CAChB,UAAWsL,CACjB,EAAO,CACD,QAAS,IAAMlQ,EAAEqB,GAAe,IAAI,CAC1C,CAAK,CAAC,CACN,CACA,CAAC,ECnEYk0B,GAA2B3nB,GAAmB,iBAAiB,EAC/D4nB,GAAuB5nB,GAAmB,YAAY,EACtD6nB,GAA6B7nB,GAAmB,mBAAmB,ECFhF8nB,GAAe13B,GAAgB,CAC7B,KAAM,kBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EAChB,CACG,EACD,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,MAAO,GAAG,KAAK,SAAS,mBAC9B,CAAK,CACL,CACA,CAAC,ECXD21B,GAAe33B,GAAgB,CAC7B,KAAM,sBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EAChB,CACG,EACD,OAAQ,CACN,KAAM,CACJ,YAAA43B,EACA,cAAAC,CACN,EAAQ9xB,GAAOwxB,EAAwB,EAC7B,CACJ,eAAA5xB,EACA,cAAAE,EACA,aAAAC,EACA,gBAAAF,CACN,EAAQG,GAAOyxB,EAAoB,EAC/B,MAAO,CACL,WAAY3xB,EACZ,SAAU+xB,EACV,WAAYC,EACZ,YAAalyB,EACb,UAAWG,EACX,aAAcF,CACf,CACF,EACD,QAAS,CACP,IAAIoF,EACJ,KAAM,CACJ,UAAA/E,EACA,WAAA6xB,EACA,SAAAC,EACA,UAAA3xB,EACA,YAAAF,EACA,aAAAC,CACN,EAAQ,KACE,CACJ,QAAAE,CACD,EAAG,KAAK,OACHG,EAAOxE,EAAE,MAAO,OAAO,OAAO,CAClC,MAAO,GAAGiE,CAAS,kBACpB,EAAEG,GAAc,KAA+B,OAASA,EAAUC,CAAO,CAAC,EAAGrE,EAAE,MAAO,CACrF,MAAO,GAAGiE,CAAS,yBAAyBA,CAAS,8BAC3D,EAAOjE,EAAE,MAAO,CACV,uBAAwB,GACxB,MAAO,CAAC,GAAGiE,CAAS,gCAAiC8xB,GAAY,GAAG9xB,CAAS,0CAA0C,CAC7H,EAAOM,GAAOF,EAAQ,IAAI,CAAC,EAAGrE,EAAE,MAAO,CACjC,MAAO,GAAGiE,CAAS,+BACnB,uBAAwB,EAC9B,EAAOC,EAAcA,EAAYG,CAAO,EAAIE,IAAQyE,EAAK3E,EAAQ,SAAW,MAAQ2E,IAAO,OAASA,EAAK3E,EAAQ,KAAK,UAAU,CAAC,CAAC,EAAGrE,EAAE,MAAO,CACxI,MAAO,CAAC,GAAGiE,CAAS,gCAAiC6xB,GAAc,GAAG7xB,CAAS,4CAA4C,EAC3H,uBAAwB,EACzB,CAAA,CAAC,CAAC,EACH,OAAIE,EACKA,EAAa,CAClB,KAAAK,EACA,OAAQH,CAChB,CAAO,EAEIG,CACX,CACA,CAAC,ECtEM,SAASwxB,GAAc3xB,EAASsV,EAAe,CACpD,OAAOtV,EAAQ,OAAS,WAAaA,EAAQ,OAAS,QAAaA,EAAQsV,CAAa,IAAM,MAChG,CACO,SAASsc,GAAY5xB,EAAS,CACnC,OAAOA,EAAQ,OAAS,OAC1B,CACO,SAAS6xB,GAAc7xB,EAAS,CACrC,OAAOA,EAAQ,OAAS,SAC1B,CACO,SAAS8xB,GAAa9xB,EAAS,CACpC,OAAOA,EAAQ,OAAS,QAC1B,CCAA,MAAA+xB,GAAep4B,GAAgB,CAC7B,KAAM,iBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IACV,EACD,UAAW,CACT,KAAM,OACN,QAAS,aACV,EACD,MAAO,OACP,WAAY,OACb,EACD,MAAMC,EAAO,CACX,MAAMo4B,EAAYtyB,GAAOyxB,EAAoB,EACvC,CACJ,YAAAc,EACA,eAAAC,EACA,yBAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,cAAA3Y,EACA,eAAAra,EACA,cAAAizB,EACA,cAAA/yB,EACA,iBAAAgzB,EACA,gBAAAjzB,EACA,aAAAE,EACA,aAAAgzB,CACN,EAAQT,EACED,EAAkBryB,GAAO0xB,GAA4B,IAAI,EACzDsB,EAAgBhzB,GAAOwxB,EAAwB,EAC/CyB,EAAejzB,GAAOkzB,EAAuB,EAC7CC,EAAa1vB,EAAS,IAAMvJ,EAAM,OAAO,OAAO,EAChD43B,EAAgBruB,EAAS,IAAM,CACnC,KAAM,CACJ,MAAOmS,CACf,EAAUkd,EACJ,OAAOb,GAAc/3B,EAAM,OAAO,QAAS0b,CAAa,CAC9D,CAAK,EACK2F,EAAoB9X,EAAS,IAAM,CACvC,KAAM,CACJ,SAAAgQ,CACD,EAAGvZ,EAAM,OACV,OAAOuZ,CACb,CAAK,EACK2f,EAAiB3vB,EAAS,IAAM,CACpC,GAAI,CAACquB,EAAc,MAAO,MAAO,GACjC,KAAM,CACJ,IAAAt5B,EACA,SAAAib,CACD,EAAGvZ,EAAM,OACV,GAAIuZ,EAAU,MAAO,GACrB,KAAM,CACJ,MAAO4f,EACf,EAAUd,EACE,CACJ,MAAOe,CACf,EAAUd,EACE,CACJ,MAAOe,CACf,EAAUd,EACE,CACJ,MAAOe,CACf,EAAUd,EACJ,OAAIW,KAAa,KAAaG,EAAe,SAASh7B,CAAG,EACrD86B,IAAgB,KACXE,EAAe,SAASh7B,CAAG,GAAKg7B,EAAeA,EAAe,OAAS,CAAC,IAAMh7B,EAEnF+6B,IAA0B,KAAaC,EAAe,SAASh7B,CAAG,EAC/D,EACb,CAAK,EACKiB,EAAiBgK,EAAS,IACvB+uB,EAAe,QAAU,MAAQ,CAACI,EAAY,KACtD,EACKa,GAAyBn6B,GAAgB85B,EAAgB,IAAK35B,CAAc,EAC5Ei6B,EAA2BjwB,EAAS,IACjC,CAAC,EAAE4uB,GAAoB,MAA8CA,EAAgB,mBAAmB,MAChH,EACKsB,EAAqBh6B,EAAI,EAAK,EACpCmM,GAAQ4rB,GAA4B,CAClC,mBAAAiC,CACN,CAAK,EAED,SAASC,GAA2B,CAClCD,EAAmB,MAAQ,EACjC,CACI,SAASE,GAA0B,CACjCF,EAAmB,MAAQ,EACjC,CACI,SAAS/xB,GAAmB,CAC1B,KAAM,CACJ,UAAAkyB,EACA,OAAAnyB,CACR,EAAUzH,EACAyH,EAAO,UACNsY,EAAc,QACnBwY,EAAyB,MAAQqB,EACjCtB,EAAe,MAAQ,KACvBD,EAAY,MAAQ5wB,EAAO,IACjC,CACI,SAASE,GAAkB,CACzB,KAAM,CACJ,OAAAF,CACR,EAAUzH,EACAyH,EAAO,UACNsY,EAAc,OACfsY,EAAY,QAAU5wB,EAAO,KACjCC,EAAkB,CACxB,CACI,SAASiO,EAAiBtX,EAAG,CAE3B,GADI2B,EAAM,OAAO,UACb,CAAC+f,EAAc,MAAO,OAC1B,KAAM,CACJ,cAAA8Z,CACR,EAAUx7B,EACAw7B,GAAiB,CAAC1uB,GAAU,CAC9B,OAAQ0uB,CAChB,EAAS,gBAAgB,GAAK,CAAC1uB,GAAU,CACjC,OAAQ0uB,CACT,EAAE,eAAe,IAChBxB,EAAY,MAAQ,KAE5B,CACI,SAAS7wB,GAAc,CACrB,KAAM,CACJ,MAAOqwB,CACf,EAAUD,EACE,CACJ,OAAAnwB,CACR,EAAUzH,EACC+f,EAAc,OACf,CAAC8X,GAAc,CAACpwB,EAAO,WACzB2wB,EAAU,SAAS3wB,EAAO,IAAKA,EAAO,OAAO,EAC7C2wB,EAAU,aAAa,EAAK,EAEpC,CACI,MAAO,CACL,WAAYxyB,EACZ,YAAaF,EACb,WAAYizB,EACZ,eAAgBG,EAAc,YAC9B,kBAAmBA,EAAc,cACjC,UAAWD,EACX,YAAaE,EACb,SAAUL,EACV,kBAAmBnvB,EAAS,IACnBgwB,GAAuB,OAAS,CAACC,EAAyB,KAClE,EACD,QAASP,EACT,WAAYrB,EACZ,QAAStwB,GAAQ,IAAM,CACrB,KAAM,CACJ,MAAOgyB,CACjB,EAAYd,EACE,CACJ,IAAAl6B,CACD,EAAG0B,EAAM,OACV,OAAOs5B,EAAe,SAASh7B,CAAG,CAC1C,CAAO,EACD,YAAagJ,GAAQ,IAAM,CACzB,KAAM,CACJ,MAAOwyB,CACjB,EAAYrB,EACE,CACJ,IAAAn6B,CACD,EAAG0B,EAAM,OACJwjB,GAAQsW,EAAc,UAAUC,GAAKz7B,IAAQy7B,CAAC,EACpD,OAAIvW,KAAU,GAAW,GAClBA,GAAQsW,EAAc,OAAS,CAC9C,CAAO,EACD,OAAQxyB,GAAQ,IAAM,CACpB,KAAM,CACJ,MAAOwyB,CACjB,EAAYrB,EACE,CACJ,IAAAn6B,CACD,EAAG0B,EAAM,OACJwjB,GAAQsW,EAAc,UAAUC,GAAKz7B,IAAQy7B,CAAC,EACpD,OAAIvW,KAAU,GAAW,GAClBA,KAAUsW,EAAc,OAAS,CAChD,CAAO,EACD,eAAgBzY,EAChB,aAAc1b,EACd,UAAWE,EACX,YAAA2B,EACA,gBAAAG,EACA,iBAAAD,EACA,iBAAAiO,EACA,yBAAA+jB,EACA,wBAAAC,CACD,CACF,EACD,QAAS,CACP,IAAI5uB,EAAIS,EACR,KAAM,CACJ,SAAAwuB,EACA,QAAA5zB,EACA,kBAAA6zB,EACA,UAAAj0B,EACA,eAAAk0B,EACA,kBAAAC,EACA,YAAAl0B,EACA,WAAAm0B,EACA,aAAAl0B,EACA,UAAAC,EACA,MAAAnG,EACA,WAAAq6B,CACN,EAAQ,KACJ,IAAIC,EAAe,KACnB,GAAIL,EAAmB,CACrB,MAAMM,GAAoBxvB,EAAK,KAAK,aAAe,MAAQA,IAAO,OAAS,OAASA,EAAG,KAAK,KAAM3E,EAASA,EAAQ,QAAQ,EAC3Hk0B,EAAev4B,EAAE+2B,GAAe,OAAO,OAAO,CAAE,EAAEyB,EAAkB,CAClE,UAAWv0B,EACX,WAAY,KAAK,WACjB,QAAS,KAAK,OAAO,SACrB,UAAW,KAAK,OAAO,GAC/B,CAAO,CAAC,CACR,CACI,MAAMw0B,EAAe,CACnB,MAAO,CAAC,GAAGx0B,CAAS,wBAAyB,KAAK,SAAW,GAAGA,CAAS,iCAAkC,KAAK,QAAU,GAAGA,CAAS,gCAAiC,KAAK,aAAe,GAAGA,CAAS,sCAAuC,KAAK,gBAAkB,GAAGA,CAAS,iCAAiC,EAClT,YAAa,KAAK,gBAClB,aAAc,KAAK,iBACnB,aAAc,KAAK,iBACnB,QAAS,KAAK,WACf,EACKy0B,EAAkBt0B,GAAc,KAA+B,OAASA,EAAUC,CAAO,EACzFG,EAAOxE,EAAE,MAAO,OAAO,OAAO,CAClC,MAAO,CAAC,GAAGiE,CAAS,mBAAoBy0B,GAAoB,KAAqC,OAASA,EAAgB,KAAK,EAC/H,uBAAwB,EAC9B,EAAOA,CAAe,EAAG14B,EAAE,MAAO6wB,GAAW4H,EAAcx6B,CAAK,EAAG,CAAC+B,EAAE,MAAO,CACvE,MAAO,CAAC,GAAGiE,CAAS,gCAAiCk0B,GAAkB,GAAGl0B,CAAS,0CAA0C,CAC9H,EAAE,CAACo0B,EAAaA,EAAWh0B,CAAO,EAAIE,GAAOF,EAAQ,IAAI,CAAC,CAAC,EAAGrE,EAAE,MAAO,CACtE,uBAAwB,GACxB,MAAO,GAAGiE,CAAS,8BACzB,EAAOC,EAAcA,EAAYG,CAAO,EAAIE,IAAQkF,EAAKpF,EAAQ,KAAK,UAAU,KAAO,MAAQoF,IAAO,OAASA,EAAKpF,EAAQ,KAAK,CAAC,EAAGrE,EAAE,MAAO,CACxI,uBAAwB,GACxB,MAAO,CAAC,GAAGiE,CAAS,gCAAiCm0B,GAAqB,GAAGn0B,CAAS,4CAA4C,CACnI,EAAE,KAAK,WAAajE,EAAE24B,GAAO,KAAM,CAClC,QAAS,IAAM34B,EAAE2xB,GAAkB,IAAI,CAC7C,CAAK,EAAI,IAAI,CAAC,CAAC,EAAG,KAAK,WAAa3xB,EAAEyiB,GAAS,KAAM,CAC/C,QAAS,IAAM,CAACziB,EAAE0iB,GAAS,KAAM,CAC/B,QAAS,IAAM1iB,EAAE,MAAO,CACtB,MAAO,GAAGiE,CAAS,4BAC7B,EAAWjE,EAAE2iB,GAAW,CACd,KAAM,KAAK,kBACX,UAAW,KAAK,UAChB,GAAI2V,GAAa,KAAK,aAAe,OACrC,iBAAkB,CAACA,CAC7B,EAAW,CACD,QAAS,IACAt4B,EAAE,MAAO,CACd,MAAO,GAAGiE,CAAS,wBACjC,EAAeg0B,EAAWj4B,EAAE2E,GAAY,CAC1B,cAAe,KAAK,yBACpB,aAAc,KAAK,wBACnB,KAAM,8BACN,OAAQ,EACtB,EAAe,CACD,QAAS,IAAM4zB,CAChB,CAAA,EAAIA,CAAY,CAE7B,CAAS,CAAC,CACV,CAAO,CAAC,CACH,CAAA,EAAI,IAAI,EACT,OAAIp0B,EACKA,EAAa,CAClB,KAAAK,EACA,OAAQH,CAChB,CAAO,EAEIG,CACX,CACA,CAAC,EChSDo0B,GAAe56B,GAAgB,CAC7B,KAAM,iBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IACf,CACG,EACD,QAAS,CACP,KAAM,CACJ,OAAA0H,EACA,UAAAmyB,EACA,UAAA5zB,CACN,EAAQ,KACE,CACJ,SAAAvF,CACN,EAAQgH,EACJ,OAAO1F,EAAEgZ,GAAU,KAAMhZ,EAAE21B,GAAsB,CAC/C,UAAW1xB,EACX,OAAQyB,EACR,IAAKA,EAAO,GAClB,CAAK,EAAGhH,GAAa,KAA8B,OAASA,EAAS,IAAIC,GAAS,CAC5E,KAAM,CACJ,QAAA0F,CACR,EAAU1F,EACJ,OAAI0F,EAAQ,OAAS,GAAc,KAC/B6xB,GAAc7xB,CAAO,EAChBrE,EAAE01B,GAAkB,CACzB,UAAAzxB,EACA,IAAKtF,EAAM,GACrB,CAAS,EAECA,EAAM,SACRk6B,GAAK,WAAY,wDAAwD,EAClE,MAEF74B,EAAEo2B,GAAiB,CACxB,UAAWnyB,EACX,OAAQtF,EACR,UAAWk5B,EACX,IAAKl5B,EAAM,GACnB,CAAO,CACP,CAAK,CAAC,CACN,CACA,CAAC,ECzDDm6B,GAAe96B,GAAgB,CAC7B,KAAM,uBACN,MAAO,CACL,OAAQ,CACN,KAAM,OACN,SAAU,EAChB,CACG,EACD,QAAS,CACP,KAAM,CACJ,QAAS,CACP,OAAAuG,EACA,MAAAtG,CACR,CACK,EAAG,KAAK,OACT,OAAO+B,EAAE,MAAO/B,EAAO,CAACsG,GAAW,KAA4B,OAASA,EAAQ,CAAA,CAAC,CACrF,CACA,CAAC,ECNDwyB,GAAe/4B,GAAgB,CAC7B,KAAM,eACN,MAAO,CACL,WAAY,QACZ,UAAW,QACX,WAAY,CAAC,OAAQ,MAAM,EAC3B,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAA,CAChB,EACD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IACf,CACG,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,cAAA24B,EACA,iBAAAC,CACN,EAAQ9yB,GAAOyxB,EAAoB,EAC/B3rB,GAAQ0rB,GAA0B,CAChC,YAAa/tB,EAAS,IAAM,CAC1B,MAAM6wB,EAAazB,EAAc,MACjC,OAAO34B,EAAM,QAAQ,KAAKyH,GAAU,CAClC,IAAIsD,EACJ,GAAItD,EAAO,QACT,OAAQsD,EAAKtD,EAAO,YAAc,MAAQsD,IAAO,OAAS,OAASA,EAAG,KAAK,CAAC,CAC1E,QAAS+vB,CACV,IAAKV,EAAaA,EAAWU,CAAQ,EAAIA,EAAS,IAAI,EAEzD,KAAM,CACJ,QAAA10B,CACZ,EAAcqB,EACJ,OAAO2yB,EAAaA,EAAWh0B,CAAO,EAAIA,EAAQ,IAC5D,CAAS,CACT,CAAO,EACD,cAAemD,EAAS,IAAM,CAC5B,KAAM,CACJ,MAAOmS,CACjB,EAAYkd,EACJ,OAAO54B,EAAM,QAAQ,KAAKyH,GAAU,CAClC,IAAIsD,EACJ,GAAItD,EAAO,QACT,OAAQsD,EAAKtD,EAAO,YAAc,MAAQsD,IAAO,OAAS,OAASA,EAAG,KAAK,CAAC,CAC1E,QAAS+vB,CACvB,IAAkB/C,GAAc+C,EAAUpf,CAAa,CAAC,EAE9C,KAAM,CACJ,QAAAtV,CACZ,EAAcqB,EACJ,OAAOswB,GAAc3xB,EAASsV,CAAa,CACrD,CAAS,CACF,CAAA,CACP,CAAK,EACD,MAAMqf,EAAUt7B,EAAI,IAAI,EACxB,OAAAmM,GAAQovB,GAAuB,IAAI,EACnCpvB,GAAQqvB,GAAwB,IAAI,EACpCrvB,GAAQotB,GAAyB+B,CAAO,EACjC,CACL,QAAAA,CACD,CACF,EACD,QAAS,CACP,KAAM,CACJ,UAAAnB,EACA,UAAA5zB,EACA,WAAAq0B,CACN,EAAQ,KACEa,EAAkB,KAAK,QAAQ,IAAIzzB,GAAU,CACjD,KAAM,CACJ,QAAArB,CACR,EAAUqB,EACJ,OAAIrB,EAAQ,OAAS,GAAc,KAC/B8xB,GAAa9xB,CAAO,EACfrE,EAAE84B,GAAuB,CAC9B,OAAQpzB,EACR,IAAKA,EAAO,GACtB,CAAS,EAECwwB,GAAc7xB,CAAO,EAChBrE,EAAE01B,GAAkB,CACzB,UAAWzxB,EACX,IAAKyB,EAAO,GACtB,CAAS,EAECuwB,GAAY5xB,CAAO,EACdrE,EAAE44B,GAAgB,CACvB,UAAW30B,EACX,OAAQyB,EACR,UAAWmyB,EACX,IAAKnyB,EAAO,GACtB,CAAS,EAEI1F,EAAEo2B,GAAiB,CACxB,UAAWnyB,EACX,OAAQyB,EACR,UAAWmyB,EACX,IAAKnyB,EAAO,IACZ,MAAOrB,EAAQ,MACf,WAAYi0B,CACpB,CAAO,CACP,CAAK,EACD,OAAOt4B,EAAE,MAAO,CACd,MAAO,CAAC,GAAGiE,CAAS,iBAAkBq0B,GAAc,GAAGr0B,CAAS,4BAA4B,EAC5F,IAAK,SACX,EAAOq0B,EAAat4B,EAAEo5B,GAAa,CAC7B,aAAc,GAAGn1B,CAAS,yBAChC,EAAO,CACD,QAAS,IAAMk1B,CAChB,CAAA,EAAIA,EAAiB,KAAK,UAAYE,GAAY,CACjD,UAAAp1B,EACA,WAAY,KAAK,WACjB,WAAY,OACZ,kBAAmB,OACnB,kBAAmB,MACpB,CAAA,EAAI,IAAI,CACb,CACA,CAAC,EC3Gcq1B,GAAA/yB,EAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShC,CAACI,GAAuB,EAAIJ,EAAG,kBAAmB;AAAA;AAAA,GAEjD,CAACzI,GAAE,IAAK;AAAA;AAAA;AAAA;AAAA,GAIR,CAACA,GAAE,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlB,CAAC,CAAC,EAAGyI,EAAG,uBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS9B,CAACzI,GAAE,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlB,EAAG4I,GAAM,WAAY,CAACD,EAAG,UAAW;AAAA;AAAA,GAElC,CAACD,GAAG,iBAAkB;AAAA;AAAA,EAExB,EAAG1I,GAAE,YAAa,gDAAgD,CAAC,CAAC,EAAG2I,EAAG,SAAU;AAAA;AAAA,GAElF,CAACD,GAAG,iBAAkB;AAAA;AAAA,EAExB,EAAG1I,GAAE,YAAa,iDAAiD,CAAC,CAAC,EAAG2I,EAAG,eAAgB;AAAA;AAAA,GAEzF,CAACD,GAAG,iBAAkB;AAAA;AAAA,EAExB,CAAC,CAAC,CAAC,CAAC,EAAGC,EAAG,WAAY;AAAA;AAAA;AAAA,EAGtB,EAAGA,EAAG,QAAS;AAAA;AAAA;AAAA,GAGb,CAACD,GAAG,SAAU;AAAA;AAAA,GAEd,CAACC,EAAG,YAAa;AAAA;AAAA,EAEnB,CAAC,CAAC,CAAC,CAAC,EAAGD,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQlB,CAACC,EAAG,YAAa;AAAA;AAAA,EAEnB,EAAGF,EAAG,OAAQ;AAAA;AAAA,EAEd,CAAC,CAAC,EAAGC,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA,EAIjB,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYd,CAACC,EAAG,cAAe;AAAA;AAAA,EAErB,EAAGF,EAAG,OAAQ;AAAA;AAAA,EAEd,CAAC,CAAC,EAAGA,EAAG,gBAAiB,sBAAsB,CAAC,CAAC,EAAGA,EAAG,4BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpF,CAAC,CAAC,EAAGA,EAAG,mBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK5B,EAAGA,EAAG,wBAAyB;AAAA;AAAA;AAAA,EAG/B,EAAGzI,GAAE,IAAK,CAACyI,EAAG,YAAa;AAAA;AAAA;AAAA,EAG3B,CAAC,CAAC,EAAGG,GAAM,aAAc;AAAA;AAAA,EAEzB,EAAGD,EAAG,aAAc,CAACD,GAAG,UAAW;AAAA;AAAA,EAEnC,CAAC,CAAC,CAAC,CAAC,ECnIA+yB,GAAoB,CACxB,SAAU,CACR,KAAM,QACN,QAAS,EACV,EACD,SAAU,CACR,KAAM,QACN,QAAS,EACV,EACD,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,SAAU,QACV,UAAW,CACT,KAAM,OACN,QAAS,QACV,EACD,SAAU,CAAC,SAAU,KAAK,EAC1B,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAA,CAChB,EACD,UAAW,SACX,UAAW,QACX,YAAa,SACb,WAAY,SACZ,aAAc,SACd,UAAW,SACX,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,SAAU,CACR,KAAM,OACN,QAAS,KACV,EACD,cAAe,CACb,KAAM,OACN,QAAS,UACV,EAED,MAAO,CAAC,OAAQ,MAAM,CACxB,EACMC,GAAkB,OAAO,KAAKxd,EAAgB,EACvCyd,GAAgB,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIzd,EAAgB,EAAGud,EAAiB,EAAG1yB,GAAS,KAAK,EAChIwvB,GAAer4B,GAAgB,CAC7B,KAAM,WACN,aAAc,GACd,MAAOy7B,GACP,MAAMx7B,EAAO,CACX,MAAM8f,EAAsBrgB,EAAI,EAAK,EAC/BsgB,EAAgBd,GAAe9V,GAAMnJ,EAAO,MAAM,EAAG8f,CAAmB,EACxE2b,EAAclyB,EAAS,IAAM,CACjC,KAAM,CACJ,SAAAmyB,EACA,cAAAhgB,CACR,EAAU1b,EACJ,OAAO6c,GAAe7c,EAAM,QAAS,CACnC,OAAOuG,EAAM,CACX,OAAOA,EAAKm1B,CAAQ,CACrB,EACD,YAAYn1B,EAAM,CAChB,OAAOA,EAAK,WAAa,EAC1B,EACD,WAAWA,EAAM,CACf,OAAOA,EAAK,OAAS,WAAaA,EAAK,OAAS,QACjD,EACD,YAAYA,EAAM,CAChB,OAAOA,EAAKmV,CAAa,CACnC,CACA,CAAO,CACP,CAAK,EACKigB,EAAapyB,EAAS,IACnBkyB,EAAY,MAAM,SAC1B,EACKpD,EAAc54B,EAAI,IAAI,EACtB64B,EAAiB74B,EAAI,IAAI,EACzB84B,EAA2B94B,EAAI,IAAI,EACnCm8B,EAAgBryB,EAAS,IAAM,CACnC,IAAIwB,EAAIS,EAAImL,EACZ,OAAQA,GAAMnL,GAAMT,EAAKstB,EAAY,SAAW,MAAQttB,IAAO,OAASA,EAAKutB,EAAe,SAAW,MAAQ9sB,IAAO,OAASA,EAAK+sB,EAAyB,SAAW,MAAQ5hB,IAAO,OAASA,EAAK,IAC3M,CAAK,EACK6hB,EAAoBjvB,EAAS,IAAMkyB,EAAY,MAAM,QAAQG,EAAc,KAAK,EAAE,OAAO,EACzFnD,EAAmBlvB,EAAS,IAAMkyB,EAAY,MAAM,QAAQz7B,EAAM,KAAK,EAAE,OAAO,EAChF67B,EAAqBv0B,GAAQ,IAC1BtH,EAAM,UAAY+f,EAAc,KACxC,EACDliB,GAAY,CACV,QAAS,CACP,QAAS,CACP,QAAS,GACT,QAASi+B,CACV,EACD,WAAY,CACV,QAAS,GACT,QAASC,CACV,EACD,UAAW,CACT,QAAS,GACT,QAASC,CACV,EACD,UAAW,CACT,QAAS,GACT,QAASC,CACV,EACD,MAAO,CACL,QAAS,GACT,QAASC,CACV,EACD,OAAQC,CAChB,CACK,EAAEN,CAAkB,EACrB,KAAM,CACJ,mBAAAhzB,EACA,oBAAAsE,CACN,EAAQpE,GAAU/I,CAAK,EACbkJ,EAAWN,GAAS,WAAY,YAAahJ,GAAOyuB,GAAeruB,EAAO6I,CAAkB,EAClG+C,GAAQ2rB,GAAsB,CAC5B,cAAepuB,GAAMnJ,EAAO,YAAY,EACxC,iBAAkBmJ,GAAMnJ,EAAO,eAAe,EAC9C,eAAgBmJ,GAAMnJ,EAAO,aAAa,EAC1C,cAAemJ,GAAMnJ,EAAO,YAAY,EACxC,YAAAq4B,EACA,eAAAC,EACA,yBAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,YAAatvB,GAAMnJ,EAAO,UAAU,EACpC,cAAA+f,EACA,aAAc5W,GAAMnJ,EAAO,WAAW,EACtC,gBAAiBmJ,GAAMnJ,EAAO,cAAc,EAC5C,aAAcmJ,GAAMnJ,EAAO,WAAW,EACtC,SAAAo8B,EACA,aAAApa,CACN,CAAK,EAEDnjB,GAAMkhB,EAAejhB,GAAS,CACxB,CAACkB,EAAM,UAAY,CAAClB,GACtBu9B,EAAmB,CAE3B,CAAK,EAED,SAASD,EAAS99B,EAAKiI,EAAM,CAC3B,KAAM,CACJ,SAAA+1B,CACR,EAAUt8B,EACAs8B,GAAUjsB,GAAKisB,EAAUh+B,EAAKiI,CAAI,CAC5C,CACI,SAASyb,EAAaljB,EAAO,CAC3B,KAAM,CACJ,gBAAiB4e,EACjB,aAAAC,CACR,EAAU3d,EACA0d,GAAerN,GAAKqN,EAAe5e,CAAK,EACxC6e,GAActN,GAAKsN,EAAc7e,CAAK,EAC1CghB,EAAoB,MAAQhhB,CAClC,CACI,SAASu9B,GAAoB,CAC3BhE,EAAY,MAAQ,KACpBC,EAAe,MAAQ,KACvBC,EAAyB,MAAQ,IACvC,CACI,SAAS4D,GAAmB,CAC1Bna,EAAa,EAAK,CACxB,CACI,SAASia,GAAoB,CAC3BhY,EAAc,MAAM,CAC1B,CACI,SAAS8X,GAAqB,CAC5B9X,EAAc,OAAO,CAC3B,CACI,SAAS6X,GAAkB,CACzB7X,EAAc,IAAI,CACxB,CACI,SAAS+X,GAAoB,CAC3B/X,EAAc,MAAM,CAC1B,CACI,SAASiY,GAAqB,CAC5B,MAAMlyB,EAAcuyB,GAAgB,EAC/BvyB,GAAgB,MAA0CA,EAAY,QAAW+V,EAAc,QAClGqc,EAASpyB,EAAY,IAAKA,EAAY,OAAO,EAC7CgY,EAAa,EAAK,EAE1B,CACI,SAASua,IAAiB,CACxB,IAAIxxB,EACJ,KAAM,CACJ,MAAOnB,CACf,EAAU6xB,EACE,CACJ,MAAOe,CACf,EAAUZ,EACJ,MAAI,CAAChyB,GAAY4yB,IAAe,KAAa,MACrCzxB,EAAKnB,EAAS,QAAQ4yB,CAAU,KAAO,MAAQzxB,IAAO,OAASA,EAAK,IAClF,CACI,SAASkZ,EAAcwY,EAAW,CAChC,KAAM,CACJ,MAAOD,CACf,EAAUZ,EACE,CACJ,MAAO,CACL,sBAAAc,CACV,CACA,EAAUjB,EACJ,IAAIkB,EAAkB,KACtB,GAAIH,IAAe,KAAM,CACvB,MAAMI,EAAYF,EAAuB,EACrCE,IAAc,OAChBD,EAAkBC,EAAU,IAEtC,KAAa,CACL,MAAMC,EAAcN,GAAgB,EACpC,GAAIM,EAAa,CACf,IAAIC,EACJ,OAAQL,EAAS,CACf,IAAK,OACHK,EAAWD,EAAY,QAAS,EAChC,MACF,IAAK,KACHC,EAAWD,EAAY,QAAS,EAChC,MACF,IAAK,QACHC,EAAWD,EAAY,SAAU,EACjC,MACF,IAAK,OACHC,EAAWD,EAAY,UAAW,EAClC,KACd,CACcC,IAAUH,EAAkBG,EAAS,IACnD,CACA,CACUH,IAAoB,OACtBtE,EAAY,MAAQ,KACpBC,EAAe,MAAQqE,EAE/B,CACI,MAAM7wB,EAAavC,EAAS,IAAM,CAChC,KAAM,CACJ,KAAAzG,EACA,SAAAi6B,CACR,EAAU/8B,EACE,CACJ,OAAQ,CACN,qBAAA+L,CACD,EACD,KAAA1L,CACD,EAAG6I,EAAS,MACP,CACJ,QAAAwH,EACA,aAAAxM,EACA,aAAAH,EACA,sBAAAyI,GACA,CAACnC,GAAU,wBAAyBvH,CAAI,CAAC,EAAGk6B,EAC5C,CAAC3yB,GAAU,oBAAqBvH,CAAI,CAAC,EAAGm6B,EACxC,CAAC5yB,GAAU,wBAAyBvH,CAAI,CAAC,EAAGo6B,EAC5C,CAAC7yB,GAAU,oBAAqBvH,CAAI,CAAC,EAAGq6B,EACxC,CAAC9yB,GAAU,WAAYvH,CAAI,CAAC,EAAGkK,EAC/B,CAAC3C,GAAU,eAAgBvH,CAAI,CAAC,EAAGmK,EACnC,CAAC5C,GAAU,iBAAkBvH,CAAI,CAAC,EAAGs6B,EAC7C,EAAU/8B,EACEyD,GAAO,CACX,aAAciI,EACd,gBAAiBiB,EACjB,cAAe0D,EACf,oBAAqB3M,EACrB,oBAAqBkJ,EACrB,0BAA2BkwB,EAC3B,+BAAgCD,EAChC,0BAA2BD,EAC3B,+BAAgCD,EAChC,uBAAwBI,GACxB,oBAAqBl5B,EACrB,8BAA+BsI,EAChC,EAED,OAAIuwB,GACFj5B,GAAK,WAAW,EAAIzD,EAAK,cACzByD,GAAK,wBAAwB,EAAIzD,EAAK,yBACtCyD,GAAK,yBAAyB,EAAIzD,EAAK,0BACvCyD,GAAK,uBAAuB,EAAIzD,EAAK,wBACrCyD,GAAK,6BAA6B,EAAIzD,EAAK,6BAC3CyD,GAAK,8BAA8B,EAAIzD,EAAK,8BAC5CyD,GAAK,oCAAoC,EAAIzD,EAAK,mCAClDyD,GAAK,kBAAkB,EAAIzD,EAAK,oBAChCyD,GAAK,kBAAkB,EAAIzD,EAAK,oBAChCyD,GAAK,6BAA6B,EAAIzD,EAAK,+BAE3CyD,GAAK,WAAW,EAAIzD,EAAK,MACzByD,GAAK,wBAAwB,EAAIzD,EAAK,iBACtCyD,GAAK,yBAAyB,EAAIzD,EAAK,kBACvCyD,GAAK,uBAAuB,EAAIzD,EAAK,gBACrCyD,GAAK,6BAA6B,EAAIzD,EAAK,qBAC3CyD,GAAK,8BAA8B,EAAIzD,EAAK,sBAC5CyD,GAAK,oCAAoC,EAAIzD,EAAK,2BAClDyD,GAAK,kBAAkB,EAAIzD,EAAK,YAChCyD,GAAK,kBAAkB,EAAIzD,EAAK,YAChCyD,GAAK,6BAA6B,EAAIzD,EAAK,sBAEtCyD,EACb,CAAK,EACKsJ,EAAmBD,EAAsBE,GAAc,WAAY9D,EAAS,IAAM,GAAGvJ,EAAM,KAAK,CAAC,CAAC,GAAGA,EAAM,SAAW,IAAM,EAAE,EAAE,EAAG8L,EAAY9L,CAAK,EAAI,OAC9J,MAAO,CACL,gBAAiB6I,EACjB,YAAaK,EAEb,QAASyyB,EAET,WAAY5b,EAEZ,iBAAkB,IAAM,CACjB/f,EAAM,UACXq8B,EAAmB,CACpB,EACD,aAAAra,EACA,QAAS7U,EAAsB,OAAYrB,EAC3C,WAAYsB,GAAqB,KAAsC,OAASA,EAAiB,WACjG,SAAUA,GAAqB,KAAsC,OAASA,EAAiB,QAChG,CACF,EACD,QAAS,CACP,MAAMiwB,EAAoB,CAAClf,EAAW1e,EAAKG,EAAOwe,EAAcC,IAAiB,CAC/E,IAAItT,EACJ,KAAM,CACJ,gBAAAkH,EACA,UAAAqrB,CACR,EAAU,MACHvyB,EAAK,KAAK,YAAc,MAAQA,IAAO,QAAkBA,EAAG,KAAK,IAAI,EACtE,MAAMwyB,GAAiBD,GAAc,KAA+B,OAASA,EAAU,OAAW,KAAK,QAAQ,IAAI7f,GAAKA,EAAE,OAAO,CAAC,IAAM,CAAE,EACpI+d,EAAgB,CACpB,IAAKz4B,GAAgBtD,CAAG,EACxB,MAAO,CAAC0e,EAAW,GAAGlM,CAAe,YAAa,KAAK,UAAU,EACjE,UAAWA,EACX,QAAS,KAAK,QACd,MAAO,CAAC,GAAGrS,EAAO,KAAK,OAAO,EAC9B,UAAW,KAAK,UAChB,WAAY,KAAK,WACjB,WAAY,KAAK,WACjB,aAAAwe,EACA,aAAAC,CACD,EACD,OAAOtc,EAAE+2B,GAAelG,GAAW,KAAK,OAAQ4I,EAAe+B,CAAa,CAAC,CAC9E,EACK,CACJ,YAAA/vB,CACN,EAAQ,KACEoN,EAAe,CACnB,KAAM,KAAK,WACX,MAAOpN,EAAY,MAAM,QACzB,eAAgBA,EAAY,cAAc,QAC1C,qBAAsB,KAAK,iBAC3B,mBAAoB6vB,EACpB,aAAc,KAAK,aACnB,gBAAiB,MAClB,EACD,OAAOt7B,EAAEiZ,GAAU,OAAO,OAAO,CAAE,EAAEuD,GAAK,KAAK,OAAQgd,EAAe,EAAG3gB,CAAY,EAAG,CACtF,QAAS,IAAM,CACb,IAAI7P,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,WAAa,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAChG,CACA,CAAK,CACL,CACA,CAAC,EChXKyyB,GAAS,WACTC,GAAU,YAChB,SAASC,GAAoB5/B,EAAS6/B,EAAqBC,EAAYC,EAAc,CACnF,OAAK//B,EACEQ,GAAO,CACZ,UAAWkW,KAAU1W,EACnB,OAAQQ,EAAG,CACT,KAAKk/B,GACHI,EAAW,EAAI,EACf,OACF,KAAKH,GACHI,EAAa,EAAI,EACjB,OACF,QACE,GAAI,OAAOrpB,GAAW,UAAYA,EAAO,MAAQlW,EAAK,CACpDkW,EAAO,SAASmpB,EAAoB,KAAK,EACzC,MACZ,CACA,CAEG,EAjBoB,IAAM,CAAE,CAkB/B,CACA,SAASG,GAAsBhgC,EAASqiB,EAAW,CACjD,OAAKriB,EACEA,EAAQ,IAAI0W,GAAU,CAC3B,OAAQA,EAAM,CACZ,IAAK,MACH,MAAO,CACL,MAAO2L,EAAU,cACjB,IAAKqd,EACN,EACH,IAAK,OACH,MAAO,CACL,MAAOrd,EAAU,gBACjB,IAAKsd,EACN,EACH,QACE,OAAOjpB,CACf,CACA,CAAG,EAhBoB,CAAE,CAiBzB,CACA,MAAAupB,GAAeh+B,GAAgB,CAC7B,KAAM,yBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EAChB,CACG,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,MAAOmvB,EACP,UAAAhP,EACA,gBAAA6d,EACA,oBAAAL,EACA,WAAAC,EACA,aAAAC,CACN,EAAQ/3B,GAAOspB,EAAqB,EAC1B6O,EAAkB10B,EAAS,IAAMm0B,GAAoBM,EAAgB,MAAOL,EAAqBC,EAAYC,CAAY,CAAC,EAC1HK,EAAa30B,EAAS,IAAMu0B,GAAsBE,EAAgB,MAAO7d,EAAU,KAAK,CAAC,EAC/F,MAAO,IAAM,CACX,IAAIpV,EAAIS,EAAImL,EAAIuN,EAChB,KAAM,CACJ,UAAAle,CACR,EAAUhG,EACJ,OAAO+B,EAAEq2B,GAAW,CAClB,OAAQ5sB,GAAMT,EAAKokB,EAAe,SAAW,MAAQpkB,IAAO,OAAS,OAASA,EAAG,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,SAChI,gBAAiB0Y,GAAMvN,EAAKwY,EAAe,kBAAoB,MAAQxY,IAAO,OAAS,OAASA,EAAG,SAAW,MAAQuN,IAAO,OAAS,OAASA,EAAG,SAClJ,QAASga,EAAW,MACpB,SAAUD,EAAgB,KAClC,EAAS,CACD,QAAS,IAAMl8B,EAAE4E,GAAW,CAC1B,UAAWX,EACX,MAAO,GAAGA,CAAS,yBAC7B,EAAW,CACD,QAAS,IAAMjE,EAAEo8B,GAAiB,IAAI,CACvC,CAAA,CACT,CAAO,CACF,CACL,CACA,CAAC,ECzED,SAASC,GAAYhO,EAAQ,CAC3B,OAAO,OAAOA,EAAO,OAAU,WAAaA,EAAO,MAAMA,CAAM,EAAIA,EAAO,KAC5E,CACA,MAAMiO,GAAyBt+B,GAAgB,CAC7C,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,GAAI,CACF,KAAM,OACN,SAAU,EACX,EACD,KAAM,CACJ,KAAM,MACN,SAAU,EACX,EACD,MAAO,MACR,EACD,QAAS,CACP,KAAM,CACJ,UAAAiG,EACA,GAAAs4B,EACA,KAAAC,EACA,MAAAjO,CACN,EAAQ,KACJ,OAAOvuB,EAAE,QAAS,CAChB,MAAO,CACL,YAAa,QACb,MAAAuuB,CACD,EACD,MAAO,GAAGtqB,CAAS,mBACzB,EAAOjE,EAAE,WAAY,KAAMw8B,EAAK,IAAI/O,GAAOztB,EAAE,MAAO,CAC9C,IAAKytB,EAAI,IACT,MAAOA,EAAI,KACjB,CAAK,CAAC,CAAC,EAAGztB,EAAE,QAAS,CACf,YAAau8B,EACb,MAAO,GAAGt4B,CAAS,mBACzB,EAAO,KAAK,MAAM,CAAC,CACnB,CACA,CAAC,EACDw4B,GAAez+B,GAAgB,CAC7B,KAAM,kBACN,MAAO,CACL,SAAU,CACR,KAAM,QACN,QAAS,EACf,CACG,EACD,OAAQ,CACN,KAAM,CACJ,mBAAA8I,EACA,WAAA41B,EACA,sBAAAC,EACA,uBAAAC,EACA,qBAAAC,EACA,kBAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,QAAAC,EACA,eAAAnL,EACA,gBAAAmK,EACA,mBAAAlH,EACA,YAAA1E,EACA,qBAAA6M,EACA,0BAAAC,EACA,uBAAAC,EACA,gBAAAC,EACA,uBAAAC,EACA,uBAAAC,EACA,wBAAAC,EACA,iBAAAC,EACA,aAAA3B,EACA,WAAAD,CACN,EAAQ93B,GAAOspB,EAAqB,EAC1BhmB,EAAiB3J,EAAK,EACtBggC,GAAahgC,EAAI,EAAE,EACzB,SAASigC,EAAmBphC,EAAK,CAC/B,MAAMqhC,EAAUF,GAAW,MAAMnhC,CAAG,EACpC,OAAOqhC,GAAY,KAA6B,OAASA,EAAQ,sBAAqB,EAAG,KAC/F,CACI,SAASC,GAA8B,CACjCf,EAAkB,MACpBhB,EAAc,EAEdD,EAAY,CAEpB,CACI,SAASiC,EAAqBxhC,EAAG+xB,EAAQ,CAIvC,GAHIjlB,GAAU9M,EAAG,iBAAiB,GAAK8M,GAAU9M,EAAG,oBAAoB,GAGpE,CAACwyB,GAAiBT,CAAM,EAAG,OAC/B,MAAM0P,EAAehJ,EAAmB,MAAM,KAAK94B,IAASA,GAAM,YAAcoyB,EAAO,GAAG,GAAK,KACzF2P,EAAa9O,GAAiBb,EAAQ0P,CAAY,EACxDN,EAAiBO,CAAU,CACjC,CACI,MAAMC,EAAsB,IAAI,IAChC,SAASC,EAAwB7P,EAAQ,CACvC4P,EAAoB,IAAI5P,EAAO,IAAKsP,EAAmBtP,EAAO,GAAG,CAAC,CACxE,CACI,SAAS8P,EAAmB9P,EAAQ+P,EAAe,CACjD,MAAMC,EAAaJ,EAAoB,IAAI5P,EAAO,GAAG,EACrD,GAAIgQ,IAAe,OACjB,OAEF,MAAMC,EAAmBD,EAAaD,EAChCG,GAAatQ,GAAyBqQ,EAAkBjQ,EAAO,SAAUA,EAAO,QAAQ,EAC9FiP,EAAuBgB,EAAkBC,GAAYlQ,EAAQsP,CAAkB,EAC/EJ,EAAuBlP,EAAQkQ,EAAU,CAC/C,CACI,MAAO,CACL,WAAAb,GACA,YAAArN,EACA,gBAAiB0E,EACjB,gBAAiBjuB,EACjB,QAAS41B,EACT,mBAAoBC,EACpB,oBAAqBC,EACrB,YAAaC,EACb,eAAgBC,EAChB,gBAAiBC,EACjB,KAAMC,EACN,KAAMC,EACN,YAAanL,EACb,aAAcmK,EACd,kBAAmBiB,EACnB,uBAAwBC,EACxB,aAAcE,EACd,oBAAqBD,EACrB,eAAA/1B,EACA,4BAAAw2B,EACA,qBAAAC,EACA,wBAAAN,EACA,wBAAAU,EACA,mBAAAC,CACD,CACF,EACD,QAAS,CACP,KAAM,CACJ,WAAAT,EACA,gBAAAxtB,EACA,mBAAAsuB,EACA,oBAAAC,EACA,YAAA/a,EACA,eAAAgb,EACA,gBAAAC,EACA,KAAA7O,EACA,KAAA0M,EACA,YAAA/wB,EACA,aAAAmzB,EACA,YAAAvO,EACA,SAAAwO,EACA,kBAAAC,EACA,uBAAAC,EACA,gBAAA1P,EACA,oBAAA2P,EACA,qBAAAlB,EACA,4BAAAD,EACA,wBAAAK,EACA,mBAAAC,CACN,EAAQ,KAEEc,EAAY,CAACtQ,EAAKuQ,EAASC,IAAmBxQ,EAAI,IAAI,CAAC,CAC3D,OAAAN,EACA,SAAA+Q,EACA,QAAAC,EACA,QAAAC,EACA,OAAAC,CACN,IAAU,CACJ,IAAIv2B,EAAIS,EACR,MAAMlN,GAAMqxB,GAAUS,CAAM,EACtB,CACJ,SAAAgD,CACR,EAAUhD,EAEEmR,EAAoB,IACpBnR,EAAO,OAAS,YACXA,EAAO,WAAa,GAAQruB,EAAEgZ,GAAU,KAAMhZ,EAAEmwB,GAAW,CAChE,IAAKzM,EACL,mBAAoB,GACpB,QAASgb,EACT,cAAeC,EACf,SAAUI,EACV,gBAAiBlB,CAC7B,CAAW,EAAGe,EAAe5+B,EAAEg8B,GAAe,CAClC,UAAW9rB,CACvB,CAAW,EAAI,IAAI,EAAI,KAERlQ,EAAEgZ,GAAU,KAAMhZ,EAAE,MAAO,CAChC,MAAO,GAAGkQ,CAAe,+BACnC,EAAWlQ,EAAE,MAAO,CACV,MAAO,GAAGkQ,CAAe,uBACnC,EAAWmhB,IAAa,IAAQA,GAAY,CAACA,EAAS,QAAUrxB,EAAE,MAAO,CAC/D,MAAO,GAAGkQ,CAAe,0BAC1B,EAAEmsB,GAAYhO,CAAM,CAAC,EAAIgD,GAAY,OAAOA,GAAa,SAAWrxB,EAAEuxB,GAAW,OAAO,OAAO,CAAA,EAAIF,EAAU,CAC5G,MAAO5lB,EAAY,MAAM,SACzB,eAAgBA,EAAY,cAAc,QACpD,CAAS,EAAG,CACF,QAAS,IAAM4wB,GAAYhO,CAAM,CAC3C,CAAS,EAAIgO,GAAYhO,CAAM,CAAC,EAAGS,GAAiBT,CAAM,EAAIruB,EAAE80B,GAAY,CAClE,OAAQzG,CAClB,CAAS,EAAI,IAAI,EAAGW,GAAmBX,CAAM,EAAIruB,EAAEkzB,GAAc,CACvD,OAAQ7E,EACR,QAASA,EAAO,aAC1B,CAAS,EAAI,KAAMU,GAAkBV,CAAM,EAAIruB,EAAEs0B,GAAc,CACrD,cAAe,IAAM,CACnB4J,EAAwB7P,CAAM,CAC/B,EACD,SAAU+P,GAAiB,CACzBD,EAAmB9P,EAAQ+P,CAAa,CACpD,CACS,CAAA,EAAI,IAAI,EAELqB,EAAYljC,MAAOiiC,EACnBkB,EAAanjC,MAAOkiC,EACpBkB,EAAgBT,GAAW,CAAC7Q,EAAO,MAAQ,MAAQ,KACzD,OAAOruB,EAAE2/B,EAAe,CACtB,IAAKt/B,GAAMq9B,EAAWnhC,EAAG,EAAI8D,EAC7B,IAAK9D,GACL,MAAO,CAAC2iC,GAAW,CAAC7Q,EAAO,MAAQ,CACjC,SAAU,WACV,KAAMuR,GAAKV,EAAQE,CAAQ,CAAC,EAC5B,IAAK,EACL,OAAQ,CAClB,EAAY,CACF,KAAMQ,IAAM52B,EAAKw1B,EAAmBjiC,EAAG,KAAO,MAAQyM,IAAO,OAAS,OAASA,EAAG,KAAK,EACvF,MAAO42B,IAAMn2B,EAAKg1B,EAAoBliC,EAAG,KAAO,MAAQkN,IAAO,OAAS,OAASA,EAAG,KAAK,CACnG,EAAW,CACD,MAAOm2B,GAAKvR,EAAO,KAAK,EACxB,UAAWA,EAAO,YAAcA,EAAO,MACvC,OAAQ8Q,CAClB,CAAS,EACD,QAASE,EACT,QAASC,EACT,eAAgB/iC,GAChB,MAAO,CAAC,GAAG2T,CAAe,kBAAmBuvB,GAAaC,IAAe,GAAGxvB,CAAe,yBAAyBuvB,EAAY,OAAS,OAAO,GAAI,CAClJ,CAAC,GAAGvvB,CAAe,yBAAyB,EAAGkf,GAAgBf,EAAQgB,CAAe,EACtF,CAAC,GAAGnf,CAAe,4BAA4B,EAAG8e,GAAmBX,CAAM,EAC3E,CAAC,GAAGne,CAAe,0BAA0B,EAAG4e,GAAiBT,CAAM,EACvE,CAAC,GAAGne,CAAe,2BAA2B,EAAGme,EAAO,OAAS,YACjE,CAAC,GAAGne,CAAe,sBAAsB,EAAGqvB,CACtD,EAAWlR,EAAO,SAAS,EACnB,QAASA,EAAO,OAAS,aAAeA,EAAO,OAAS,UAAY,EAAE,aAAcA,GAAU/xB,GAAK,CACjGwhC,EAAqBxhC,EAAG+xB,CAAM,CACxC,EAAY,MACL,EAAEmR,EAAiB,CAAE,CAC5B,CAAK,EACD,GAAIR,EAAqB,CACvB,KAAM,CACJ,aAAAa,CACR,EAAU,KACJ,IAAIC,EAAqB,EACrBC,EAAsB,EAC1B,OAAAvD,EAAK,QAAQ/O,GAAO,CACdA,EAAI,OAAO,QAAU,OACvBqS,IACSrS,EAAI,OAAO,QAAU,SAC9BsS,GAEV,CAAO,EACM//B,EAAEggC,GAAc,CACrB,IAAK,iBACL,MAAO,GAAG9vB,CAAe,gCACzB,MAAO,CACL,OAAQ0vB,GAAKC,CAAY,CAC1B,EACD,SAAU,KAAK,wBACf,QAASrD,EACT,SAAUqD,EACV,cAAe,GACf,MAAO,CAAC,CAAA,CAAE,EACV,cAAe,GACf,gBAAiBvD,GACjB,kBAAmB,CACjB,UAAWpsB,EACX,GAAImgB,EACJ,KAAAmM,EACA,MAAO7O,GAAa,KAAK,OAAO,CACjC,EACD,mBAAoB,CAAC,CACnB,cAAAsS,EACA,YAAAC,EACA,QAAAhB,CACV,IAAc,CACJ,MAAMvQ,EAAM6N,EAAK,IAAI,CAAC/O,EAAKhM,KAClB,CACL,OAAQgM,EAAI,OACZ,OAAQhM,IAAU+a,EAAK,OAAS,EAChC,SAAU/O,EAAI,MACd,QAAS,EACT,QAAS,CACV,EACF,EAAE,OAAO,CAAC,CACT,OAAAY,CACD,EAAE5M,IACG,GAAAwe,GAAiBxe,GAASA,GAASye,GAGnC7R,EAAO,MAIZ,EACK8R,EAAQlB,EAAUtQ,EAAKuQ,EAASU,GAAKC,CAAY,CAAC,EACxD,OAAAM,EAAM,OAAOL,EAAoB,EAAG9/B,EAAE,KAAM,CAC1C,QAASw8B,EAAK,OAASsD,EAAqBC,EAC5C,MAAO,CACL,cAAe,OACf,WAAY,SACZ,OAAQ,CACtB,CACA,CAAW,CAAC,EACK//B,EAAE,KAAM,CACb,MAAO,CACL,SAAU,UACxB,CACW,EAAEmgC,CAAK,CAClB,CACA,EAAS,CACD,QAAS,CAAC,CACR,qBAAAC,CACV,IAAcA,CACd,CAAO,CACP,CACI,MAAMC,EAAargC,EAAE,QAAS,CAC5B,MAAO,GAAGkQ,CAAe,oBACzB,YAAamgB,CACnB,EAAOP,EAAK,IAAInB,GACH3uB,EAAE,KAAM,CACb,MAAO,GAAGkQ,CAAe,gBAC1B,EAAE+uB,EAAUtQ,EAAK,KAAM,MAAS,CAAC,CACnC,CAAC,EACF,GAAI,CAACkQ,EACH,OAAOwB,EAET,KAAM,CACJ,wBAAA7C,EACA,QAAA8C,EACN,EAAQ,KACJ,OAAOtgC,EAAE,MAAO,CACd,MAAO,GAAGkQ,CAAe,gCACzB,SAAUstB,CAChB,EAAOx9B,EAAE,QAAS,CACZ,MAAO,GAAGkQ,CAAe,oBACzB,MAAO,CACL,SAAUyd,GAAa2S,EAAO,EAC9B,YAAaxB,CACrB,CACA,EAAO9+B,EAAE,WAAY,KAAMw8B,EAAK,IAAI/O,GAAOztB,EAAE,MAAO,CAC9C,IAAKytB,EAAI,IACT,MAAOA,EAAI,KACjB,CAAK,CAAC,CAAC,EAAG4S,CAAU,CAAC,CACrB,CACA,CAAC,EC7VD,SAASE,GAAQC,EAAUC,EAAiB,CAC1C,MAAMC,EAAQ,CAAE,EAChB,SAAS3mB,EAAS4mB,EAAIC,EAAW,CAC/BD,EAAG,QAAQE,GAAK,CACVA,EAAE,UAAYJ,EAAgB,IAAII,EAAE,GAAG,GACzCH,EAAM,KAAK,CACT,OAAQG,EACR,QAAS,GACT,IAAKA,EAAE,IACP,MAAOD,CACjB,CAAS,EACD7mB,EAAS8mB,EAAE,SAAUD,CAAS,GAE9BF,EAAM,KAAK,CACT,IAAKG,EAAE,IACP,OAAQA,EACR,QAAS,GACT,MAAOD,CACjB,CAAS,CAET,CAAK,CACL,CACE,OAAAJ,EAAS,QAAQM,GAAW,CAC1BJ,EAAM,KAAKI,CAAO,EAClB,KAAM,CACJ,SAAApiC,CACD,EAAGoiC,EAAQ,OACRpiC,GAAY+hC,EAAgB,IAAIK,EAAQ,GAAG,GAC7C/mB,EAASrb,EAAUoiC,EAAQ,KAAK,CAEtC,CAAG,EACMJ,CACT,CACA,MAAMpE,GAAyBt+B,GAAgB,CAC7C,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,GAAI,CACF,KAAM,OACN,SAAU,EACX,EACD,KAAM,CACJ,KAAM,MACN,SAAU,EACX,EACD,aAAc,SACd,aAAc,QACf,EACD,QAAS,CACP,KAAM,CACJ,UAAAiG,EACA,GAAAs4B,EACA,KAAAC,EACA,aAAAngB,EACA,aAAAC,CACN,EAAQ,KACJ,OAAOtc,EAAE,QAAS,CAChB,MAAO,CACL,YAAa,OACd,EACD,MAAO,GAAGiE,CAAS,oBACnB,aAAcoY,EACd,aAAcC,CACpB,EAAOtc,EAAE,WAAY,KAAMw8B,EAAK,IAAI/O,GAAOztB,EAAE,MAAO,CAC9C,IAAKytB,EAAI,IACT,MAAOA,EAAI,KACjB,CAAK,CAAC,CAAC,EAAGztB,EAAE,QAAS,CACf,YAAau8B,EACb,MAAO,GAAGt4B,CAAS,mBACzB,EAAO,KAAK,MAAM,CAAC,CACnB,CACA,CAAC,EACD88B,GAAe/iC,GAAgB,CAC7B,KAAM,gBACN,MAAO,CACL,SAAU,SACV,WAAY,QACZ,WAAY,QACZ,UAAW,MACZ,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,MAAO+iC,EACP,aAAAC,EACA,yBAAAC,EACA,mBAAAp6B,EACA,eAAAgrB,EACA,WAAA4K,EACA,QAAAO,EACA,iBAAAkE,EACA,oBAAAvF,EACA,sBAAAe,EACA,uBAAAC,EACA,qBAAAC,EACA,gBAAAuE,EACA,yBAAAC,EACA,kCAAAC,EACA,0BAAAC,EACA,mCAAAC,EACA,gBAAAC,EACA,YAAAnL,EACA,WAAAoL,EACA,mBAAA3M,EACA,iBAAA4M,EACA,kBAAAC,EACA,gBAAAC,GACA,gBAAAC,EACA,YAAAzR,EACA,qBAAA6M,EACA,wBAAA6E,EACA,UAAAC,EACA,YAAAC,EACA,aAAAC,EACA,WAAAC,EACA,WAAAC,EACA,UAAAC,EACA,iBAAAC,GACA,cAAAC,EACA,sBAAAC,EACA,oBAAAC,EACA,oBAAAC,EACA,YAAA7nB,EACA,kBAAA8nB,EACA,oBAAAC,GACA,wBAAAC,GACA,sBAAAC,GACA,QAAAC,EACA,UAAAC,EACA,WAAA7R,EACN,EAAQptB,GAAOspB,EAAqB,EAC1B4V,GAAkBl/B,GAAOm/B,EAA0B,EACnDC,GAAmBzlC,EAAI,IAAI,EAC3B2J,GAAiB3J,EAAI,IAAI,EACzB0lC,GAAa1lC,EAAI,IAAI,EACrB+K,GAAWlD,GAAQ,IAAM47B,EAAiB,MAAM,SAAW,CAAC,EAG5DkC,GAAgC99B,GAAQ,IAAMtH,EAAM,YAAc,CAACwK,GAAS,KAAK,EAEjF66B,GAAwB/9B,GAAQ,IAC7BtH,EAAM,YAAcwK,GAAS,KACrC,EACD,IAAI86B,GAAkB,GACtB,MAAMC,GAA6Bh8B,EAAS,IACnC,IAAI,IAAI05B,EAAyB,KAAK,CAC9C,EACD,SAASuC,GAAWlnC,EAAK,CACvB,IAAIyM,GACJ,OAAQA,GAAK6R,EAAY,MAAM,QAAQte,CAAG,KAAO,MAAQyM,KAAO,OAAS,OAASA,GAAG,OAC3F,CACI,SAAS60B,GAA4Bn4B,EAAQsI,GAAS01B,EAAU,CAC9D,MAAM5C,EAAU2C,GAAW/9B,EAAO,GAAG,EACrC,GAAI,CAACo7B,EAAS,CACZjI,GAAK,aAAc,iCAAiCnzB,EAAO,GAAG,EAAE,EAChE,MACR,CACM,GAAIg+B,EAAU,CACZ,MAAMC,EAAYxC,EAAiB,MAAM,UAAUyC,GAAQA,EAAK,MAAQL,EAAe,EACvF,GAAII,IAAc,GAAI,CACpB,MAAME,EAAe1C,EAAiB,MAAM,UAAUyC,IAAQA,GAAK,MAAQl+B,EAAO,GAAG,EAC/Eo+B,GAAQ,KAAK,IAAIH,EAAWE,CAAY,EACxCE,GAAM,KAAK,IAAIJ,EAAWE,CAAY,EACtCG,GAAiB,CAAE,EACzB7C,EAAiB,MAAM,MAAM2C,GAAOC,GAAM,CAAC,EAAE,QAAQlD,IAAK,CACnDA,GAAE,UACLmD,GAAe,KAAKnD,GAAE,GAAG,CAEvC,CAAW,EACG7yB,GACF+0B,EAAQiB,GAAgB,GAAOlD,CAAO,EAEtCkC,EAAUgB,GAAgBlD,CAAO,EAEnCyC,GAAkB79B,EAAO,IACzB,MACV,CACA,CACUsI,GACF+0B,EAAQr9B,EAAO,IAAK,GAAOo7B,CAAO,EAElCkC,EAAUt9B,EAAO,IAAKo7B,CAAO,EAE/ByC,GAAkB79B,EAAO,GAC/B,CACI,SAASu+B,GAAyBv+B,EAAQ,CACxC,MAAMo7B,GAAU2C,GAAW/9B,EAAO,GAAG,EACrC,GAAI,CAACo7B,GAAS,CACZjI,GAAK,aAAc,iCAAiCnzB,EAAO,GAAG,EAAE,EAChE,MACR,CACMq9B,EAAQr9B,EAAO,IAAK,GAAMo7B,EAAO,CACvC,CACI,SAASoD,GAAqB,CAC5B,GAAI,CAACb,GAA8B,MAAO,CACxC,KAAM,CACJ,MAAOc,EACjB,EAAYf,GACJ,OAAIe,IAGK,IAEjB,CACM,GAAIxC,EAAiB,MACnB,OAAOyC,GAAsB,EAE/B,KAAM,CACJ,MAAArnC,CACR,EAAUomC,GACJ,OAAIpmC,EAAcA,EAAM,aACjB,IACb,CAGI,SAASsnC,EAAqB9nC,EAAKmJ,GAAQ,CACzC,IAAIsD,EACJ,GAAIs5B,GAAiB,MAAM,IAAI/lC,CAAG,EAAG,OACrC,KAAM,CACJ,MAAO+nC,CACf,EAAUpD,EACEzf,EAAQ6iB,EAAsB,QAAQ/nC,CAAG,EACzCgoC,EAAmB,MAAM,KAAKD,CAAqB,EACrD,CAAC7iB,GACH8iB,EAAiB,OAAO9iB,EAAO,CAAC,EAChCohB,GAAwB0B,CAAgB,GAEpC7+B,IAAU,CAACA,GAAO,QAAU,CAACA,GAAO,eACtC48B,GAAiB,MAAM,IAAI/lC,CAAG,GACvByM,EAAKq5B,EAAU,SAAW,MAAQr5B,IAAO,QAAkBA,EAAG,KAAKq5B,EAAW38B,GAAO,OAAO,EAAE,KAAK,IAAM,CAC9G,KAAM,CACJ,MAAO8+B,EACrB,EAAgBtD,EACEuD,GAAyB,MAAM,KAAKD,EAA2B,EAEhE,CADSC,GAAuB,QAAQloC,CAAG,GAE9CkoC,GAAuB,KAAKloC,CAAG,EAEjCsmC,GAAwB4B,EAAsB,CAC1D,CAAW,EAAE,QAAQ,IAAM,CACfnC,GAAiB,MAAM,OAAO/lC,CAAG,CAC7C,CAAW,IAEDgoC,EAAiB,KAAKhoC,CAAG,EACzBsmC,GAAwB0B,CAAgB,EAGlD,CACI,SAASG,IAAwB,CAC/BpO,EAAY,MAAQ,IAC1B,CACI,SAAS8N,IAAuB,CAC9B,KAAM,CACJ,MAAArnC,CACR,EAAUsK,GACJ,OAAQtK,GAAU,KAA2B,OAASA,EAAM,YAAc,IAChF,CACI,SAAS4nC,IAAqB,CAC5B,KAAM,CACJ,MAAA5nC,CACR,EAAUsK,GACJ,OAAQtK,GAAU,KAA2B,OAASA,EAAM,aAAe,IACjF,CACI,SAASgM,GAAwBzM,EAAG,CAClC,IAAI0M,GACJ85B,GAAsBxmC,CAAC,GACtB0M,GAAKm6B,GAAiB,SAAW,MAAQn6B,KAAO,QAAkBA,GAAG,KAAM,CAClF,CACI,SAASC,GAAwB3M,EAAG,CAClC,IAAI0M,GACJ,KAAM,CACJ,SAAA5I,CACR,EAAUnC,EACAmC,GAAUA,EAAS9D,CAAC,GACvB0M,GAAKm6B,GAAiB,SAAW,MAAQn6B,KAAO,QAAkBA,GAAG,KAAM,CAClF,CACI,MAAMuZ,GAAiB,CACrB,mBAAA2hB,EACA,SAASU,EAAMC,GAAM,CACnB,IAAI77B,EAAIS,EACJk4B,EAAiB,OAClB34B,EAAK3B,GAAe,SAAW,MAAQ2B,IAAO,QAAkBA,EAAG,SAAS47B,EAAMC,EAAI,GAEtFp7B,EAAK05B,GAAiB,SAAW,MAAQ15B,IAAO,QAAkBA,EAAG,SAASm7B,EAAMC,EAAI,CAEnG,CACK,EAEKhnC,GAAQC,GAAE,CAAC,CAAC,CAChB,MAAOgnC,CACb,IAAU,CACJ,MAAMC,GAA6BC,GAC7BA,IAA0B,KAAa,KACpClnC,GAAE,eAAegnC,EAAO,WAAW,qBAAqBE,CAAqB,YAAa,CAC/F,UAAW,2BACrB,CAAS,EAEGC,EAA8BC,GAC9BA,IAA2B,KAAa,KACrCpnC,GAAE,eAAegnC,EAAO,WAAW,qBAAqBI,CAAsB,aAAc,CACjG,UAAW,4BACrB,CAAS,EAEH,OAAOpnC,GAAE,CAACinC,GAA2BD,EAAO,qBAAqB,EAAGG,EAA4BH,EAAO,sBAAsB,EAAGA,EAAO,+BAA+B,IAAIE,GAAyBD,GAA2BC,CAAqB,CAAC,EAAGF,EAAO,gCAAgC,IAAII,GAA0BD,EAA4BC,CAAsB,CAAC,CAAC,CAAC,CACvX,CAAK,CAAC,EACF,IAAIC,GAAoB,GACxB,OAAA9vB,GAAY,IAAM,CAChB,KAAM,CACJ,MAAO2vB,CACf,EAAU3D,EACE,CACJ,MAAO+D,EACf,EAAU9D,EACE,CACJ,MAAO4D,CACf,EAAU3D,EACE,CACJ,MAAO8D,CACf,EAAU7D,EACJ,GAAI,CAAC2D,IAAqBH,IAA0B,MAAQE,IAA2B,KACrF,OAEF,MAAMJ,EAAS,CACb,sBAAAE,EACA,+BAAAI,GACA,uBAAAF,EACA,gCAAAG,EACA,YAAAhV,CACD,EACDxyB,GAAM,MAAM,CACV,GAAI,KAAKwyB,CAAW,GACpB,MAAO,GACP,MAAOyU,EACP,eAAgBllC,GAChB,OAAQqjC,IAAoB,KAAqC,OAASA,GAAgB,gBAClG,CAAO,EACDkC,GAAoB,EAC1B,CAAK,EACDG,GAAY,IAAM,CAChBznC,GAAM,QAAQ,CACZ,GAAI,KAAKwyB,CAAW,GACpB,OAAQ4S,IAAoB,KAAqC,OAASA,GAAgB,gBAClG,CAAO,CACP,CAAK,EACM,OAAO,OAAO,CACnB,UAAWhC,EACX,iBAAkByB,EAClB,eAAA1B,EACA,YAAA3Q,EACA,iBAAA8S,GACA,eAAA97B,GACA,WAAA+7B,GACA,QAAS1B,EACT,gBAAiB56B,EACjB,YAAagrB,EACb,QAAS4K,EACT,KAAMO,EACN,QAASmF,EACT,mBAAoBkB,GACpB,2BAA4BD,GAC5B,MAAO56B,GACP,qBAAsBjB,EAAS,IAAM,CACnC,KAAM,CACJ,MAAO+9B,CACjB,EAAYpD,EACJ,IAAIqD,GAAc,GAkBlB,MAAO,CACL,KAlBWrE,EAAiB,MAAM,IAAIoE,EAAU,CAAC7/B,EAAQ+b,KACpD/b,EAAO,SAAQ8/B,GAAc,IAC3B,CACL,OAAA9/B,EACA,IAAKA,EAAO,IACZ,QAAS+b,EAAQ,IAAM,EACvB,MAAAA,CACD,GACC,CAAC/b,EAAQ+b,KACN/b,EAAO,SAAQ8/B,GAAc,IAC3B,CACL,OAAA9/B,EACA,IAAKA,EAAO,IACZ,QAAS,GACT,MAAA+b,CACD,EACF,EAGC,YAAA+jB,EACD,CACT,CAAO,EACD,iBAAkB5J,EAClB,mBAAoBe,EACpB,oBAAqBC,EACrB,YAAaC,EACb,aAAcuE,EACd,aAAcK,EACd,wBAAyB+B,GACzB,SAAUlN,EACV,gBAAiBvB,EACjB,cAAe4M,EACf,eAAgBC,EAChB,aAAcC,GACd,aAAcC,EACd,kBAAmB5E,EACnB,qBAAsB6E,EACtB,OAAQC,EACR,SAAUC,EACV,UAAWC,EACX,cAAeI,GACf,WAAYC,EACZ,mBAAoBC,EACpB,iBAAkBC,EAClB,eAAgBE,EAChB,oBAAAC,GACA,wBAAA75B,GACA,wBAAAE,GACA,sBAAAy7B,GACA,qBAAAN,GACA,mBAAAO,GACA,sBAAA7B,GACA,4BAAAjF,GACA,yBAAAoG,GACA,qBAAAI,EACA,WAAAlT,EACD,EAAE5O,EAAc,CAClB,EACD,QAAS,CACP,KAAM,CACJ,YAAA9W,EACA,QAAA60B,EACA,gBAAApwB,EACA,cAAA1E,EACA,UAAAi6B,EACA,kBAAA3G,EACA,WAAA4G,EACA,cAAAC,EACA,SAAAvlC,EACA,oBAAAwiC,CACN,EAAQ,KACEtK,EAAagI,IAAY,QAAamF,IAAc,QAAaC,EAKjEE,EAAoB,CAACtN,GAAcwG,IAAsB,OACzD+G,EAAcvF,IAAY,QAAasF,EACvCE,EAAe,CACnB,SAAUnY,GAAa2S,CAAO,GAAK,MACpC,EACGA,IAASwF,EAAa,MAAQ,QAClC,MAAMC,EAAY/lC,EAAEgM,GAAY,OAAO,OAAO,CAAE,EAAE,KAAK,eAAgB,CACrE,IAAK,mBACL,WAAYssB,GAAcsN,EAC1B,MAAO,GAAG11B,CAAe,8BACzB,MAAQ,KAAK,MAAyB,OAAjB,KAAK,UAC1B,MAAOzE,EAAY,MAAM,UACzB,eAAgBA,EAAY,cAAc,UAC1C,aAAcq6B,EACd,UAAWt6B,EAAgB,KAAK,qBAAuB,OACvD,QAASA,EAAgB,KAAK,mBAAqB,OACnD,oBAAqB,CACnB,OAAQ,CACT,EACD,kBAAmB,CACjB,OAAQ,CACT,EACD,YAAaq6B,EACb,SAAUr6B,EAAgB,OAAY,KAAK,sBAC3C,2BAA4Bo3B,EAC5B,SAAUxiC,CAChB,CAAK,EAAG,CACF,QAAS,IAAM,CAEb,MAAM4lC,EAAa,CAAE,EAEfC,EAAU,CAAE,EACZ,CACJ,KAAAzJ,EACA,qBAAA0J,EACA,YAAAz6B,EACA,mBAAA+yB,EACA,oBAAAC,EACA,YAAA/a,EACA,aAAAkL,EACA,gBAAAS,GACA,wBAAA8W,EACA,mBAAAC,EACA,YAAA/V,EACA,qBAAAgW,EACA,WAAAC,EACA,SAAAC,EACA,sBAAA7B,EACA,aAAA8B,EACA,QAAAC,EACA,4BAAA5I,EACA,yBAAAoG,GACA,qBAAAI,EACA,aAAAqC,EACA,aAAAC,EACA,eAAAC,CACV,EAAY,KACE,CACJ,OAAQC,CAClB,EAAYrK,EACJ,IAAIsK,EAEJ,KAAM,CACJ,KAAMC,GACN,YAAAvB,EACV,EAAYU,EACEc,GAAuBxB,GAAcjF,GAAQwG,GAAeZ,CAAuB,EAAIY,GAC7F,GAAIN,EAAS,CACX,MAAMQ,GAAcR,EAAQ,KAAK,gBAAgB,EACjD,GAAI,MAAM,QAAQQ,EAAW,EAAG,CAC9B,MAAMC,GAAiBD,GAAY,IAAI,CAACtY,GAAKzvB,MAAO,CAClD,aAAc,GACd,IAAK,gBAAgBA,EAAC,GACtB,OAAQ,CACN,QAASyvB,GACT,SAAU,EACX,EACD,MAAO,EACrB,EAAc,EACFmY,EAAa,KAAK,mBAAqB,MAAQ,CAAC,GAAGI,GAAgB,GAAGF,EAAoB,EAAI,CAAC,GAAGA,GAAsB,GAAGE,EAAc,CACrJ,KAAiB,CACL,MAAMA,GAAiB,CACrB,aAAc,GACd,IAAK,gBACL,OAAQ,CACN,QAASD,GACT,SAAU,EACX,EACD,MAAO,EACR,EACDH,EAAa,KAAK,mBAAqB,MAAQ,CAACI,GAAgB,GAAGF,EAAoB,EAAI,CAAC,GAAGA,GAAsBE,EAAc,CAC/I,CACA,MACUJ,EAAaE,GAEf,MAAMG,EAAc3B,GAAc,CAChC,MAAO5F,GAAK,KAAK,MAAM,CACjC,EAAY,OAEEwH,EAAgB,CAAE,EACxBN,EAAW,QAAQhG,IAAW,CACxB0F,GAAgBL,EAAwB,IAAIrF,GAAQ,GAAG,IAAM,CAACwF,GAAcA,EAAWxF,GAAQ,OAAO,OAAO,GAC/GsG,EAAc,KAAKtG,GAAS,CAC1B,cAAe,GACf,IAAK,GAAGA,GAAQ,GAAG,UAEnB,OAAQA,GAAQ,OAChB,MAAOA,GAAQ,KAC7B,CAAa,EAEDsG,EAAc,KAAKtG,EAAO,CAEtC,CAAS,EACD,KAAM,CACJ,OAAQuG,EAClB,EAAYD,EACEE,GAAgB,CAAE,EACxBP,GAAc,QAAQ,CAAC,CACrB,OAAArhC,EACD,EAAE6hC,KAAa,CACdD,GAAcC,EAAQ,EAAI7hC,GAAO,GAC3C,CAAS,EACD,MAAM8hC,GAAYpB,EAAqB,KAAK,UAAY,KAClDqB,GAAcD,KAAc,KAAO,OAAY,GAAGA,EAAS,KAC3D7H,GAAgB,KAAK,eAAiB,MAAQ,KACpD,IAAIG,GAAqB,EACrBC,GAAsB,EACtB6G,GACFpK,EAAK,QAAQ/O,IAAO,CACdA,GAAI,OAAO,QAAU,OACvBqS,KACSrS,GAAI,OAAO,QAAU,SAC9BsS,IAEd,CAAW,EAEH,MAAMd,GAAY,CAAC,CAEjB,QAAA6B,GACA,kBAAA4G,GACA,UAAAC,GAEA,WAAAC,GACA,cAAA3H,GACA,YAAAC,EACA,QAAAhB,CACV,IAAc,CACJ,KAAM,CACJ,MAAO2I,EACnB,EAAc/G,GACJ,GAAI,kBAAmBA,GAAS,CAC9B,KAAM,CACJ,OAAQ,CACN,IAAAvkC,EACA,QAAA8H,EAChB,CACA,EAAgBy8B,GACJ,OAAO9gC,EAAE,KAAM,CACb,MAAO,GAAGkQ,CAAe,kBAAkBA,CAAe,2BAC1D,IAAK,GAAG3T,CAAG,UACzB,EAAeyD,EAAE,KAAM,CACT,MAAO,CAAC,GAAGkQ,CAAe,iBAAkB,GAAGA,CAAe,2BAA4Bw3B,GAAoB,IAAML,IAAY,GAAGn3B,CAAe,0BAA0B,EAC5K,QAAS22B,CACvB,EAAeT,EAAqBpmC,EAAE,MAAO,CAC/B,MAAO,GAAGkQ,CAAe,qBACzB,MAAO,CACL,MAAOu3B,EACvB,CACA,EAAejB,EAAaniC,GAASwjC,EAAc,CAAC,EAAIrB,EAAaniC,GAASwjC,EAAc,CAAC,CAAC,CAC9F,CACU,MAAM3W,GAAY,iBAAkB4P,GAC9ByE,GAAU,CAACrU,IAAa4P,GAAQ,QAChC,CACJ,OAAAp7B,GACA,IAAKwqB,EACjB,EAAc4Q,GACE,CACJ,QAASgH,EACrB,EAAcpiC,GACEqiC,GAAW5B,EAAwB,IAAIjW,EAAM,EAC7CjyB,GAAQsoC,EAAWA,EAASuB,GAASD,EAAc,EAAI,OACvDG,EAAqB,OAAOpZ,GAAiB,SAAWA,EAAeF,GAAmBoZ,GAASD,GAAgBjZ,CAAY,EAC/HqZ,GAAeL,GAAapL,EAAK,OAAO,CAAC/O,EAAKhM,KAC9C,GAAAwe,IAAiBxe,IAASA,IAASye,GACnCzS,EAAI,OAAO,MAIhB,EAAI+O,EACC0L,EAAoBN,GAAahI,IAAM8G,GAAiB,KAAkC,OAASA,EAAaoB,GAASD,EAAc,IAAMlB,CAAY,EAAI,OAC7JxG,EAAQ8H,GAAa,IAAIxa,GAAO,CACpC,IAAIzkB,GAAIS,GAAImL,GAAIuN,GAAI,GACpB,MAAMid,GAAW3R,EAAI,MACrB,GAAIia,MAAqB1B,EAAY,CACnC,MAAMmC,GAAkBnC,EAAW0B,EAAiB,EAC9CU,GAAyBD,GAAgB,QAAQ/I,EAAQ,EAC/D,GAAI,CAACgJ,GACH,OAAAD,GAAgB,OAAOC,GAAwB,CAAC,EACzC,IAEvB,CAEY,KAAM,CACJ,OAAA/Z,EACd,EAAgBZ,EACE4a,GAASza,GAAUH,CAAG,EACtB,CACJ,QAAA6R,GACA,QAAAD,EACd,EAAgBhR,GACEia,GAAgBpX,KAAcloB,GAAK83B,GAAQ,OAAO,QAAQuH,EAAM,KAAO,MAAQr/B,KAAO,OAAS,OAASA,GAAG,UAAY,EAC3Hq2B,GAAUA,GAAQyI,GAASD,EAAc,EAAI,EACzCU,GAAgBrX,KAAcznB,GAAKq3B,GAAQ,OAAO,QAAQuH,EAAM,KAAO,MAAQ5+B,KAAO,OAAS,OAASA,GAAG,UAAY,EAC3H61B,GAAUA,GAAQwI,GAASD,EAAc,EAAI,EACzCW,GAAYpJ,GAAWkJ,KAAkBzB,EACzC4B,GAAYf,GAAoBa,KAAkBlB,GAClDqB,GAAeH,GAAgB,EAMrC,GALIG,KACFzC,EAAQyB,EAAiB,EAAI,CAC3B,CAACtI,EAAQ,EAAG,CAAA,CACb,GAECkJ,GAAgB,GAAKI,GACvB,QAASxpC,GAAIwoC,GAAmBxoC,GAAIwoC,GAAoBa,GAAe,EAAErpC,GAAG,CACtEwpC,IACFzC,EAAQyB,EAAiB,EAAEtI,EAAQ,EAAE,KAAKkI,GAAcpoC,EAAC,CAAC,EAE5D,QAASG,GAAI+/B,GAAU//B,GAAI+/B,GAAWkJ,GAAe,EAAEjpC,GACjDH,KAAMwoC,IAAqBroC,KAAM+/B,KAG/BlgC,MAAK8mC,EAGTA,EAAW9mC,EAAC,EAAE,KAAKG,EAAC,EAFpB2mC,EAAW9mC,EAAC,EAAI,CAACG,EAAC,EAKtC,CAEY,MAAM+3B,GAAWsR,GAAe,KAAK,SAAW,KAC1C,CACJ,UAAAC,EACd,EAAgBta,GACEua,GAAoBD,IAAc,KAA+B,OAASA,GAAUb,GAASD,EAAc,EAC3GgB,GAAoB,CACxB,kBAAmB,EACpB,EACKC,GAAqBza,GAAO,MAAQ,KAAOsR,GACjD,OAAO3/B,EAAE8oC,GAAoB,OAAO,OAAO,CAAA,EAAIF,GAAmB,CAChE,IAAKP,GACL,MAAO,CAAC,CACN,UAAWha,GAAO,OAAS,OAC3B,MAAOuR,GAAKvR,GAAO,KAAK,CACzB,EAAEuZ,IAAc,CACf,OAAQM,CACxB,EAAiBN,IAAc,CAACvZ,GAAO,MAAQ,CAC/B,SAAU,WACV,KAAMuR,GAAKV,EAAQE,EAAQ,CAAC,EAC5B,IAAK,EACL,OAAQ,CACxB,EAAkB,CACF,KAAMQ,IAAMhrB,GAAK4pB,EAAmB6J,EAAM,KAAO,MAAQzzB,KAAO,OAAS,OAASA,GAAG,KAAK,EAC1F,MAAOgrB,IAAMzd,GAAKsc,EAAoB4J,EAAM,KAAO,MAAQlmB,KAAO,OAAS,OAASA,GAAG,KAAK,CAC5G,EAAiB0mB,IAAoBD,IAAsB,KAAuC,OAASA,GAAkB,QAAU,EAAE,EAC3H,QAASN,GACT,QAASX,GAAY,OAAYY,GACjC,eAAgBF,GAChB,MAAO,CAAC,GAAGn4B,CAAe,iBAAkBme,GAAO,UAAWua,IAAsB,KAAuC,OAASA,GAAkB,MAAO1X,IAAa,GAAGhhB,CAAe,0BAA2BknB,KAAa,MAAQ6O,EAAQyB,EAAiB,EAAEtI,EAAQ,EAAE,SAAShI,EAAQ,GAAK,GAAGlnB,CAAe,wBAAyBkf,GAAgBf,GAAQgB,EAAe,GAAK,GAAGnf,CAAe,0BAA2Bme,GAAO,OAAS,GAAGne,CAAe,yBAAyBme,GAAO,KAAK,GAAIA,GAAO,OAAS,GAAGne,CAAe,mBAAmBme,GAAO,KAAK,SAAUA,GAAO,OAAS,aAAe,GAAGne,CAAe,4BAA6Bme,GAAO,OAAS,UAAY,GAAGne,CAAe,yBAA0Bs4B,IAAa,GAAGt4B,CAAe,2BAA4Bu4B,IAAa,GAAGv4B,CAAe,0BAA0B,CACz1B,CAAa,EAAGs1B,IAAepG,KAAaiH,EAAuB,CAAC0C,GAAOF,GAAkB,iBAAiB,EAAI3X,GAAY,EAAI4P,GAAQ,OAAO,MAAO9gC,EAAE,MAAO,CACnJ,MAAO,GAAGkQ,CAAe,qBACzB,MAAOi3B,CACrB,CAAa,CAAC,EAAGjW,IAAa4P,GAAQ,OAAO,OAAS9gC,EAAE,MAAO,CACjD,MAAO,GAAGkQ,CAAe,gCACvC,CAAa,EAAIlQ,EAAEwxB,GAAe,CACpB,MAAO,GAAGthB,CAAe,6BACzB,UAAWA,EACX,SAAU63B,GACV,QAASD,GACT,iBAAkB,KAAK,iBACvB,QAASnC,EAAc,IAAI7E,GAAQ,GAAG,EACtC,QAAS,IAAM,CACbuD,EAAqBnU,GAAQ4Q,GAAQ,MAAM,CAC3D,CACa,CAAA,CAAC,EAAI,KAAMzS,GAAO,OAAS,YAAe6C,GActC,KAdkD7C,GAAO,WAAa,GAAQruB,EAAEowB,GAAiB,CACpG,IAAK1M,EACL,OAAQwM,GACR,SAAU4Q,GAAQ,OAAO,SACzB,gBAAiB,IAAM,CACrBmD,GAAyBnD,GAAQ,MAAM,CACvD,CACA,CAAa,EAAI9gC,EAAE+vB,GAAoB,CACzB,IAAKrM,EACL,OAAQwM,GACR,SAAU4Q,GAAQ,OAAO,SACzB,gBAAiB,CAAC9yB,GAAS1R,KAAM,CAC/BuhC,EAA4BiD,GAAQ,OAAQ9yB,GAAS1R,GAAE,QAAQ,CAC/E,CACa,CAAA,EAAW+xB,GAAO,OAAS,SAAY6C,GAQ5B,KARwC,CAAC7C,GAAO,YAAgB,MAAKA,GAAO,cAAgB,MAAQ,KAAO,SAAkB,GAAG,KAAKA,GAAQyZ,EAAO,EAAK9nC,EAAEwxB,GAAe,CACpL,UAAWthB,EACX,QAAS43B,GACT,SAAUC,GACV,iBAAkB,KAAK,iBACvB,QAAS,IAAM,CACb1D,EAAqBnU,GAAQ,IAAI,CACjD,CACa,CAAA,EAAI,KAAclwB,EAAEixB,GAAM,CACzB,UAAW/gB,EACX,MAAO23B,GACP,IAAKC,GACL,OAAQzZ,GACR,UAAW6C,GACX,YAAazlB,EACb,WAAY,KAAK,UAC/B,CAAa,CAAC,CACd,CAAW,EACD,OAAIm8B,IACE9H,IAAsBC,IACxBI,EAAM,OAAOL,GAAoB,EAAG9/B,EAAE,KAAM,CAC1C,QAASw8B,EAAK,OAASsD,GAAqBC,GAC5C,MAAO,CACL,cAAe,OACf,WAAY,SACZ,OAAQ,CAC1B,CACA,CAAe,CAAC,EAGM//B,EAAE,KAAM,OAAO,OAAO,CAAE,EAAE/B,GAAO,CAC3C,aAAc3B,GAAK,CACjB,IAAI0M,GACJ,KAAK,SAAWknB,IACflnB,GAAK/K,IAAU,KAA2B,OAASA,GAAM,gBAAkB,MAAQ+K,KAAO,QAAkBA,GAAG,KAAK/K,GAAO3B,CAAC,CAC9H,EACD,IAAK4zB,GACL,MAAO,CAAC,GAAGhgB,CAAe,iBAAkBghB,IAAa,GAAGhhB,CAAe,0BAA2Bq1B,IAAW,GAAGr1B,CAAe,0BAA2B63B,IAAY,GAAG73B,CAAe,2BAA4B83B,EAAoB/pC,IAAU,KAA2B,OAASA,GAAM,KAAK,EACrS,MAAO,CAACA,IAAU,KAA2B,OAASA,GAAM,MAAO2pC,IAAc,CAC/E,OAAQM,CACT,CAAA,CACF,CAAA,EAAG/H,CAAK,CAEV,EACD,OAAK30B,EA6BIxL,EAAEiM,GAAa,CACpB,IAAK,iBACL,MAAOm7B,EACP,SAAU,KAAK,aACf,gBAAiB9K,GACjB,kBAAmB,CACjB,UAAWpsB,EACX,GAAImgB,EACJ,KAAAmM,EACA,aAAckI,CACf,EACD,cAAe,GACf,SAAU,KAAK,wBACf,SAAU,KAAK,wBACf,WAAYoB,EACZ,cAAe,CAACc,EAChB,QAASpK,EACT,mBAAoBoK,EAAiB,CAAC,CACpC,UAAAoC,GACA,KAAApF,GACA,cAAA3D,GACA,YAAAC,GACA,QAAAhB,EACd,IACqBD,GAAU,CACf,kBAAmB+J,GACnB,UAAW,GACX,WAAY,GACZ,QAASpF,GACT,cAAA3D,GACA,YAAAC,GACA,QAAAhB,EAChB,CAAe,EACC,MAChB,EAAa,CACD,QAAS,CAAC,CACR,KAAA0E,GACA,MAAAniB,GACA,qBAAA2e,EACd,IACkBA,IACGnB,GAAU,CACf,QAAS2E,GACT,kBAAmBniB,GACnB,UAAW,GACX,WAAY,GACZ,cAAe,EACf,YAAa,EACb,QAAQwnB,GAAQ,CACd,MAAO,EACzB,CACA,CAAe,CAEf,CAAW,EAjFMjpC,EAAE,QAAS,CAChB,MAAO,GAAGkQ,CAAe,oBACzB,aAAcw0B,EACd,MAAO,CACL,YAAa,KAAK,iBAChC,CACA,EAAa1kC,EAAE,WAAY,KAAMw8B,EAAK,IAAI/O,IAAOztB,EAAE,MAAO,CAC9C,IAAKytB,GAAI,IACT,MAAOA,GAAI,KACZ,CAAA,CAAC,CAAC,EAAG,KAAK,WAAaztB,EAAEy8B,GAAa,CACrC,SAAU,EACtB,CAAW,EAAI,KAAO,KAAK,MAeX,KAfmBz8B,EAAE,QAAS,CAClC,YAAaqwB,EACb,MAAO,GAAGngB,CAAe,mBAC1B,EAAEk3B,EAAc,IAAI,CAACtG,GAAS4G,KACtBzI,GAAU,CACf,QAAA6B,GACA,kBAAA4G,GACA,UAAW,GACX,WAAY,GACZ,cAAe,GACf,YAAa,GACb,QAAQuB,GAAQ,CACd,MAAO,EACvB,CACA,CAAa,CACF,CAAC,CAAQ,CAyDpB,CACA,CAAK,EACD,GAAI,KAAK,MAAO,CACd,MAAMC,EAAkB,IAAMlpC,EAAE,MAAO,CACrC,MAAO,CAAC,GAAGkQ,CAAe,oBAAqB,KAAK,SAAW,GAAGA,CAAe,yBAAyB,EAC1G,MAAO,KAAK,UACZ,IAAK,YACb,EAASpE,GAAY,KAAK,eAAe,MAAO,IAAM,CAAC9L,EAAE+L,GAAQ,CACzD,MAAO,KAAK,YAAY,MAAM,MAC9B,eAAgB,KAAK,YAAY,cAAc,KAChD,CAAA,CAAC,CAAC,CAAC,EACJ,OAAI,KAAK,2BACA/L,EAAEgZ,GAAU,KAAM+sB,EAAWmD,EAAe,CAAE,EAE9ClpC,EAAEmpC,GAAiB,CACxB,SAAU,KAAK,QACzB,EAAW,CACD,QAASD,CACnB,CAAS,CAET,CACI,OAAOnD,CACX,CACA,CAAC,ECv4BDqD,GAAeprC,GAAgB,CAC7B,KAAM,YACN,OAAQ,CACN,KAAM,CACJ,mBAAA8I,EACA,qBAAAuiC,EACA,oBAAAC,EACA,aAAArI,EACA,aAAAiB,EACA,aAAAqH,EACA,cAAAC,EACA,uBAAApM,EACA,gBAAAqM,CACN,EAAQ1lC,GAAOspB,EAAqB,EAC1Bqc,EAAgBhsC,EAAI,IAAI,EACxBisC,EAAcjsC,EAAI,IAAI,EACtBksC,EAAYlsC,EAAI,IAAI,EACpBmsC,EAA2BnsC,EAAI,EAAE4rC,EAAoB,MAAM,QAAUD,EAAqB,MAAM,OAAO,EACvGS,EAAetiC,EAAS,KACrB,CACL,UAAWmmB,GAAauU,EAAa,KAAK,EAC1C,UAAWvU,GAAa4b,EAAa,KAAK,CAC3C,EACF,EACD,SAASQ,EAAiBC,EAAO,CAC/B/I,EAAa,MAAQ+I,EAAM,YAAY,MACvCP,EAAiB,EACZI,EAAyB,QAC5BA,EAAyB,MAAQ,GAEzC,CACI,SAASI,GAAmB,CAC1B,IAAIjhC,EACJ,KAAM,CACJ,MAAAjM,CACR,EAAU2sC,EACJ,OAAI3sC,EACEqgC,EAAuB,QAChBp0B,EAAKjM,EAAM,kBAAoB,MAAQiM,IAAO,OAAS,OAASA,EAAG,YAAc,KAEnFjM,EAAM,IAGV,IACb,CACI,SAASmtC,GAAiB,CACxB,KAAM,CACJ,MAAAntC,CACR,EAAU4sC,EACJ,OAAI5sC,EACKA,EAAM,mBAAoB,EAE5B,IACb,CACI,MAAMwlB,EAAiB,CACrB,eAAA2nB,EACA,iBAAAD,EACA,SAASrF,EAAMC,EAAM,CACnB,IAAI77B,GACHA,EAAK2gC,EAAY,SAAW,MAAQ3gC,IAAO,QAAkBA,EAAG,SAAS47B,EAAMC,CAAI,CAC5F,CACK,EACD,OAAAxvB,GAAY,IAAM,CAChB,KAAM,CACJ,MAAOqR,CACf,EAAUkjB,EACJ,GAAI,CAACljB,EAAQ,OACb,MAAMyjB,EAA0B,GAAGrjC,EAAmB,KAAK,8CACvD+iC,EAAyB,MAC3B,WAAW,IAAM,CACfnjB,EAAO,UAAU,OAAOyjB,CAAuB,CAChD,EAAE,CAAC,EAEJzjB,EAAO,UAAU,IAAIyjB,CAAuB,CAEpD,CAAK,EACM,OAAO,OAAO,CACnB,UAAWjI,EACX,gBAAiBp7B,EACjB,UAAA8iC,EACA,cAAAF,EACA,YAAAC,EACA,UAAWG,EACX,WAAYN,EACZ,iBAAAO,CACD,EAAExnB,CAAc,CAClB,EACD,QAAS,CACP,KAAM,CACJ,gBAAArS,EACA,UAAAu1B,EACA,WAAAC,CACN,EAAQ,KACE0E,EAAe3E,IAAc,QAAa,CAACC,EACjD,OAAO1lC,EAAE,MAAO,CACd,MAAO,GAAGkQ,CAAe,yBACzB,IAAK,WACN,EAAEk6B,EAAe,KAAOpqC,EAAEy8B,GAAa,CACtC,IAAK,eACX,CAAK,EAAGz8B,EAAE+gC,GAAW,CACf,IAAK,cACL,UAAW,KAAK,UAChB,WAAYqJ,EACZ,WAAY1E,EACZ,SAAU,KAAK,gBACrB,CAAK,CAAC,CACN,CACA,CAAC,EC7GK2E,GAAmBC,GAAwB,EAkDjDzsC,GAAeC,GAAE,CAACyI,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAa/B,CAACA,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA,EAI5B,EAAGE,EAAG,cAAe,CAAC3I,GAAE,IAAK,CAACyI,EAAG,qBAAsB,CAACzI,GAAE,IAAK,CAACyI,EAAG,wBAAyB;AAAA;AAAA;AAAA;AAAA,GAI1F,CAACzI,GAAE,IAAK,CAACyI,EAAG,6BAA8B,iBAAkB,CAGhEzI,GAAE,eAAgB,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGA,GAAE,IAAK,CAACyI,EAAG,6BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWvF,CAACI,GAAwB,CAC3B,kBAAmB,mCACrB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGJ,EAAG,gCAAiC;AAAA;AAAA;AAAA;AAAA;AAAA,EAK1C,EAAGA,EAAG,oBAAqB;AAAA;AAAA;AAAA,EAG3B,EAAGA,EAAG,4BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWjC,CAACE,EAAG,WAAY,CAACF,EAAG,OAAQ,4BAA6B,CAACgkC,GAAqB,CACjF,kBAAmB,eACrB,CAAC,CAAC,CAAC,EAAGhkC,EAAG,YAAa,4BAA6B,CAACgkC,GAAqB,CACvE,kBAAmB,eACrB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGhkC,EAAG,eAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQvB,CAACgkC,GAAoB,CAAE,CAAC,EAAGhkC,EAAG,OAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMtC,CAACgkC,GAAoB,CAAE,CAAC,EAAGhkC,EAAG,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAM3C,CAACgkC,GAAsB,CAAA,CAAC,CAAC,CAAC,EAAGhkC,EAAG,mBAAoB;AAAA;AAAA;AAAA,EAGtD,EAAGA,EAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,GAKrB,CAACA,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO3B,EAAGE,EAAG,UAAW,sDAAuD,CAACF,EAAG,gBAAiB,qDAAqD,CAAC,CAAC,EAAGG,GAAM,UAAW,CAAC5I,GAAE,UAAW,oDAAqD,CAACA,GAAE,IAAK,CAACyI,EAAG,gBAAiB,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGA,EAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcxV,CAACE,EAAG,aAAc;AAAA;AAAA,GAElB,CAACA,EAAG,WAAY;AAAA;AAAA,EAElB,CAAC,CAAC,EAAG4jC,GAAkB5jC,EAAG,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKvC,EAAGD,GAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,GAKrB,CAACA,GAAG,QAAS;AAAA;AAAA;AAAA,EAGf,CAAC,CAAC,EAAGA,GAAG,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpB,EAAGC,EAAG,QAAS;AAAA;AAAA,EAEf,EAAGA,EAAG,UAAW;AAAA;AAAA,EAEjB,EAAGA,EAAG,WAAY;AAAA;AAAA,GAEhB,CAACD,GAAG,WAAY;AAAA;AAAA,EAElB,EAAG1I,GAAE,UAAW;AAAA;AAAA,EAEhB,CAAC,CAAC,EAAGyI,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAW3B,CAACA,EAAG,YAAa,2CAA2C,EAAGE,EAAG,OAAQ,CAACF,EAAG,YAAa;AAAA;AAAA,EAE7F,CAAC,CAAC,EAAGE,EAAG,MAAO,CAACF,EAAG,YAAa;AAAA;AAAA,EAEhC,CAAC,CAAC,EAAGE,EAAG,YAAa;AAAA;AAAA,EAErB,CAAC,CAAC,EAAGF,EAAG,2BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQlC,CAACzI,GAAE,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYjB,EAAG2I,EAAG,SAAU,CAAC3I,GAAE,WAAY;AAAA;AAAA,EAE/B,CAAC,CAAC,EAAGA,GAAE,iBAAkB;AAAA;AAAA,EAEzB,CAAC,CAAC,EAAGyI,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgB3B,CAACzI,GAAE,UAAW;AAAA;AAAA,EAEhB,EAAG2I,EAAG,OAAQ;AAAA;AAAA,EAEd,EAAGA,EAAG,SAAU;AAAA;AAAA;AAAA,EAGhB,CAAC,CAAC,CAAC,CAAC,EAAGF,EAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAazB,CAACE,EAAG,SAAU,CAACF,EAAG,4BAA6B;AAAA;AAAA,EAEjD,CAAC,CAAC,EAAGE,EAAG,WAAY;AAAA;AAAA,GAElB,CAGJ3I,GAAE,WAAY;AAAA;AAAA,EAEZ,EAAGA,GAAE,YAAa;AAAA;AAAA,EAElB,CAAC,CAAC,EAAG2I,EAAG,UAAW;AAAA;AAAA,EAEnB,EAAGA,EAAG,QAAS;AAAA;AAAA,EAEf,EAAGA,EAAG,UAAW;AAAA;AAAA,EAEjB,EAAGD,GAAG,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQlB,EAAGC,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA,EAI3B,EAAG4jC,EAAgB,CAAC,EAAG9jC,EAAG,mBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAU5C,CAACE,EAAG,OAAQ;AAAA;AAAA,EAEd,CAAC,CAAC,EAAGD,GAAG,aAAc;AAAA;AAAA;AAAA;AAAA,EAItB,EAAGD,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,EAAGE,EAAG,UAAW,CAACF,EAAG,qBAAsB;AAAA;AAAA;AAAA,EAG3C,CAAC,CAAC,EAAGE,EAAG,gBAAiB,CAACF,EAAG,gBAAiB;AAAA;AAAA,GAE5C,CAACzI,GAAE,sBAAuB;AAAA;AAAA,EAE5B,CAAC,CAAC,CAAC,CAAC,EAAG4I,GAAM,cAAe,CAACH,EAAG,gBAAiB;AAAA;AAAA,GAE/C,CAACE,EAAG,OAAQ;AAAA;AAAA,EAEd,CAAC,CAAC,EAAGF,EAAG,gBAAiB;AAAA;AAAA,GAEvB,CAACE,EAAG,WAAY;AAAA;AAAA,EAElB,CAAC,CAAC,CAAC,CAAC,EAAGA,EAAG,WAAY,CAACF,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhD,CAAC,CAAC,EAAGA,EAAG,wBAAyB,CAACE,EAAG,sBAAuB,CAACF,EAAG,gBAAiB,CAACzI,GAAE,sBAAuB,mBAAmB,CAAC,CAAC,EAAGyI,EAAG,gBAAiB,CAACzI,GAAE,sBAAuB,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG2I,EAAG,kBAAmB,CAACF,EAAG,gBAAiB,CAACE,EAAG,WAAY;AAAA;AAAA,EAExQ,CAAC,CAAC,CAAC,CAAC,EAAGF,EAAG,mBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ9B,EAAGA,EAAG,+BAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQpC,CAACzI,GAAE,qFAAsF;AAAA;AAAA;AAAA;AAAA,EAI3F,CAAC,CAAC,EAAGyI,EAAG,yBAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlC,CAAC,CAAC,EAAGA,EAAG,yBAA0B,CAACA,EAAG,YAAa;AAAA;AAAA,EAEnD,EAAGC,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA,GAIb,CAACD,EAAG,WAAY;AAAA;AAAA;AAAA,EAGlB,EAAGA,EAAG,QAAS;AAAA;AAAA;AAAA,EAGf,CAAC,CAAC,EAAGC,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMhB,CAACD,EAAG,SAAU,CAACzI,GAAE,qBAAsB;AAAA;AAAA,EAEzC,EAAGA,GAAE,eAAgB;AAAA;AAAA,EAErB,CAAC,CAAC,CAAC,CAAC,EAAGyI,EAAG,UAAW;AAAA;AAAA,EAErB,CAAC,CAAC,EAAGikC,GAAYjkC,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlC,CAAC,EAAGkkC,GAAclkC,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASnC,CAAC,CAAC,CAAC,EACL,SAAS+jC,IAAyB,CAChC,MAAO,CAAC7jC,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA,GAIvB,CAAC3I,GAAE,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUjB,CAAC,CAAC,EAAG2I,EAAG,cAAe;AAAA;AAAA;AAAA;AAAA,GAIrB,CAAC3I,GAAE,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUlB,CAAC,CAAC,CAAC,CACL,CC/bO,SAAS4sC,GAASzsC,EAAOwxB,EAAM,CACpC,KAAM,CACJ,iBAAA0R,EACA,YAAAtmB,EACA,mBAAA8vB,CACJ,EAAMlb,EACEmb,EAAgCltC,EAAIO,EAAM,qBAAqB,EAC/D4sC,EAAmBrjC,EAAS,IAAM,CACtC,IAAIwB,EACJ,KAAM,CACJ,eAAA8hC,CACN,EAAQ7sC,EACE8sC,EAAaD,IAAmB,OAAYF,EAA8B,MAAQE,EACxF,QAAM9hC,EAAK2hC,EAAmB,SAAW,MAAQ3hC,IAAO,OAAS,OAASA,EAAG,YAAc,GAClF,CACL,YAAa+hC,EAAW,MAAM,EAAG,CAAC,EAClC,kBAAmB,CAAA,CACpB,EAEIlwB,EAAY,MAAM,eAAekwB,EAAY,CAClD,QAAS9sC,EAAM,QACf,eAAgBA,EAAM,sBAC5B,CAAK,CACL,CAAG,EACK+sC,EAA0BxjC,EAAS,IAAMqjC,EAAiB,MAAM,WAAW,EAC3EI,EAA8BzjC,EAAS,IAAMqjC,EAAiB,MAAM,iBAAiB,EACrF7a,EAA4BxoB,EAAS,IAClC,IAAI,IAAIwjC,EAAwB,KAAK,CAC7C,EACK/a,EAAgCzoB,EAAS,IACtC,IAAI,IAAIyjC,EAA4B,KAAK,CACjD,EACKC,EAAmC1jC,EAAS,IAAM,CACtD,KAAM,CACJ,MAAO2jC,CACb,EAAQnb,EACJ,OAAOmR,EAAiB,MAAM,OAAO,CAACiK,EAAO1lC,IAAW,CACtD,KAAM,CACJ,IAAAnJ,GACA,SAAAib,CACR,EAAU9R,EACJ,OAAO0lC,GAAS,CAAC5zB,GAAY2zB,EAAuB,IAAI5uC,EAAG,EAAI,EAAI,EACpE,EAAE,CAAC,CACR,CAAG,EACK8uC,EAAoC7jC,EAAS,IAC1C25B,EAAiB,MAAM,OAAOyC,GAAQA,EAAK,QAAQ,EAAE,MAC7D,EACK7G,EAAqBv1B,EAAS,IAAM,CACxC,KAAM,CACJ,OAAA8jC,CACD,EAAGnK,EAAiB,MACf,CACJ,MAAOoK,CACb,EAAQtb,EACJ,OAAOib,EAAiC,MAAQ,GAAKA,EAAiC,MAAQI,EAASD,EAAkC,OAASlK,EAAiB,MAAM,KAAK2G,GAAWyD,EAA2B,IAAIzD,EAAQ,GAAG,CAAC,CACxO,CAAG,EACKhL,EAAoBt1B,EAAS,IAAM,CACvC,KAAM,CACJ,OAAA8jC,CACD,EAAGnK,EAAiB,MACrB,OAAO+J,EAAiC,QAAU,GAAKA,EAAiC,QAAUI,EAASD,EAAkC,KACjJ,CAAG,EACKlO,EAA4B31B,EAAS,IAClC25B,EAAiB,MAAM,SAAW,CAC1C,EACD,SAASqK,EAAuBC,EAAM9c,EAAK+c,EAAQ,CACjD,KAAM,CACJ,0BAA2BC,GAC3B,uBAAAC,EACA,uBAAAC,CACN,EAAQ5tC,EACE6xB,EAAO,CAAE,EACT,CACJ,MAAO,CACL,QAAAxU,CACR,CACA,EAAQT,EACJ4wB,EAAK,QAAQlvC,GAAO,CAClB,IAAIyM,EACJ,MAAM2lB,GAAO3lB,EAAKsS,EAAQ/e,CAAG,KAAO,MAAQyM,IAAO,OAAS,OAASA,EAAG,QACxE8mB,EAAK,KAAKnB,CAAG,CACnB,CAAK,EACGgd,IACFr9B,GAAKq9B,GAAyBF,EAAM3b,EAAM,CACxC,IAAAnB,EACA,OAAA+c,CACR,CAAO,EAECE,GACFt9B,GAAKs9B,EAAwBH,EAAM3b,EAAM,CACvC,IAAAnB,EACA,OAAA+c,CACR,CAAO,EAECG,GACFv9B,GAAKu9B,EAAwBJ,EAAM3b,EAAM,CACvC,IAAAnB,EACA,OAAA+c,CACR,CAAO,EAEHd,EAA8B,MAAQa,CAC1C,CACE,SAAS1I,EAAQ7S,EAAQ4b,EAAS,GAAOhL,EAAS,CAChD,GAAI,CAAA7iC,EAAM,QACV,IAAI6tC,EAAQ,CACVN,EAAuB,MAAM,QAAQtb,CAAM,EAAIA,EAAO,MAAM,EAAG,CAAC,EAAI,CAACA,CAAM,EAAG4Q,EAAS,OAAO,EAC9F,MACN,CACI0K,EAAuB3wB,EAAY,MAAM,MAAMqV,EAAQ8a,EAAwB,MAAO,CACpF,QAAS/sC,EAAM,QACf,eAAgBA,EAAM,sBAC5B,CAAK,EAAE,YAAa6iC,EAAS,OAAO,EACpC,CACE,SAASkC,EAAU9S,EAAQ4Q,EAAS,CAC9B7iC,EAAM,SACVutC,EAAuB3wB,EAAY,MAAM,QAAQqV,EAAQ8a,EAAwB,MAAO,CACtF,QAAS/sC,EAAM,QACf,eAAgBA,EAAM,sBAC5B,CAAK,EAAE,YAAa6iC,EAAS,SAAS,CACtC,CACE,SAASjF,EAAWkQ,EAAkB,GAAO,CAC3C,KAAM,CACJ,MAAO1d,CACb,EAAQsc,EACJ,GAAI,CAACtc,GAAUpwB,EAAM,QAAS,OAC9B,MAAM+lC,EAAiB,CAAE,GACxB+H,EAAkBlxB,EAAY,MAAM,UAAYsmB,EAAiB,OAAO,QAAQz7B,IAAU,CACpFA,GAAO,UACVs+B,EAAe,KAAKt+B,GAAO,GAAG,CAEtC,CAAK,EAED8lC,EAAuB3wB,EAAY,MAAM,MAAMmpB,EAAgBgH,EAAwB,MAAO,CAC5F,QAAS,GACT,eAAgB/sC,EAAM,sBAC5B,CAAK,EAAE,YAAa,OAAW,UAAU,CACzC,CACE,SAAS69B,EAAaiQ,EAAkB,GAAO,CAC7C,KAAM,CACJ,MAAO1d,CACb,EAAQsc,EACJ,GAAI,CAACtc,GAAUpwB,EAAM,QAAS,OAC9B,MAAM+tC,EAAmB,CAAE,GAC1BD,EAAkBlxB,EAAY,MAAM,UAAYsmB,EAAiB,OAAO,QAAQz7B,IAAU,CACpFA,GAAO,UACVsmC,EAAiB,KAAKtmC,GAAO,GAAG,CAExC,CAAK,EAED8lC,EAAuB3wB,EAAY,MAAM,QAAQmxB,EAAkBhB,EAAwB,MAAO,CAChG,QAAS,GACT,eAAgB/sC,EAAM,sBAC5B,CAAK,EAAE,YAAa,OAAW,YAAY,CAC3C,CACE,MAAO,CACL,0BAAA+xB,EACA,wBAAAgb,EACA,8BAAA/a,EACA,mBAAA8M,EACA,kBAAAD,EACA,0BAAAK,EACA,uBAAAqO,EACA,WAAA3P,EACA,aAAAC,EACA,QAAAiH,EACA,UAAAC,CACD,CACH,CCtKgB,SAAAiJ,GAAUhuC,EAAO4c,EAAa,CACtC,MAAA4mB,EAAkBl8B,GAAQ,IAAM,CACzB,UAAAkoB,KAAOxvB,EAAM,QAClB,GAAAwvB,EAAI,OAAS,SAIf,OAAOA,EAAI,YAEf,CACD,EACK8U,EAAgBh9B,GAAQ,IAAM,CAE9B,IAAA+gC,EACO,UAAA7Y,KAAOxvB,EAAM,QAClB,GAAAwvB,EAAI,OAAS,SAAU,CACzB6Y,EAAa7Y,EAAI,WACjB,KAAA,CAGG,OAAA6Y,CAAA,CACR,EACK4F,EAAiCxuC,EAAIO,EAAM,iBAAoBwjC,GAAoB,MAA8CA,EAAgB,OAAU,IAAM,CACrK,MAAM0K,EAAe,CAAC,EACV,OAAAtxB,EAAA,MAAM,UAAU,QAAkBnV,GAAA,CACxC,IAAAsD,EACC,GAAAA,EAAKu5B,EAAc,SAAW,MAAQv5B,IAAO,SAAkBA,EAAG,KAAKu5B,EAAe78B,EAAO,OAAO,GAC1FymC,EAAA,KAAKzmC,EAAO,GAAG,CAC9B,CACD,EACMymC,CAAA,GACF,EAAAtxB,EAAY,MAAM,eAAe,EAAI5c,EAAM,sBAAsB,EAClEmuC,EAA+BhlC,GAAMnJ,EAAO,iBAAiB,EAC7DukC,EAAwBp7B,GAAMnJ,EAAO,oBAAoB,EACzDijC,EAA2BhkB,GAAekvB,EAA8BF,CAA8B,EAC5G,SAASrJ,EAAwBsJ,EAAc,CACvC,KAAA,CACJ,wBAAAE,EACA,2BAA4BC,CAAA,EAC1BruC,EACAouC,GACF/9B,GAAK+9B,EAAyBF,CAAY,EAExCG,GACFh+B,GAAKg+B,EAA0BH,CAAY,EAE7CD,EAA+B,MAAQC,CAAA,CAElC,MAAA,CACL,sBAAA3J,EACA,yBAAAtB,EACA,gBAAAO,EACA,cAAAc,EACA,wBAAAM,CACF,CACF,CCvDA,SAAS0J,GAAe/c,EAASgd,EAAmB,CAClD,MAAM1c,EAAO,CAAE,EACT0M,EAAO,CAAE,EACTiQ,EAAkB,CAAE,EACpBC,EAAa,IAAI,QACvB,IAAIC,EAAW,GACXC,EAAe,EACfC,EAAc,GACdC,EAAmB,EACvB,SAASC,EAAevd,EAASwd,EAAc,CACzCA,EAAeL,IACjB7c,EAAKkd,CAAY,EAAI,CAAE,EACvBL,EAAWK,GAEbxd,EAAQ,QAAQnB,GAAU,CACxB,GAAI,aAAcA,EAChB0e,EAAe1e,EAAO,SAAU2e,EAAe,CAAC,MAC3C,CACL,MAAMzwC,EAAM,QAAS8xB,EAASA,EAAO,IAAM,OAC3CmO,EAAK,KAAK,CACR,IAAK5O,GAAUS,CAAM,EACrB,MAAOD,GAAuBC,EAAQ9xB,IAAQ,OAAYoxB,GAAa6e,EAAkBjwC,CAAG,CAAC,EAAI,MAAS,EAC1G,OAAA8xB,EACA,MAAOye,IAEP,MAAOze,EAAO,QAAU,OAAY,IAAM,OAAOA,EAAO,KAAK,CACvE,CAAS,EACDue,GAAgB,EACXC,IACHA,EAAc,CAAC,CAACxe,EAAO,UAEzBoe,EAAgB,KAAKpe,CAAM,CACnC,CACA,CAAK,CACL,CACE0e,EAAevd,EAAS,CAAC,EACzBsd,EAAmB,EACnB,SAASG,EAAgBzd,EAASwd,EAAc,CAC9C,IAAIE,EAAiB,EACrB1d,EAAQ,QAAQnB,GAAU,CACxB,IAAIrlB,EACJ,GAAI,aAAcqlB,EAAQ,CAGxB,MAAM8e,EAAyBL,EACzBM,EAAU,CACd,OAAA/e,EACA,SAAUye,EACV,QAAS,EACT,QAAS,EACT,OAAQ,EACT,EACDG,EAAgB5e,EAAO,SAAU2e,EAAe,CAAC,EACjD3e,EAAO,SAAS,QAAQgf,GAAe,CACrC,IAAIrkC,EAAIS,EACR2jC,EAAQ,UAAY3jC,GAAMT,EAAK0jC,EAAW,IAAIW,CAAW,KAAO,MAAQrkC,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQS,IAAO,OAASA,EAAK,CACxJ,CAAS,EACG0jC,EAAyBC,EAAQ,UAAYR,IAC/CQ,EAAQ,OAAS,IAEnBV,EAAW,IAAIre,EAAQ+e,CAAO,EAC9Btd,EAAKkd,CAAY,EAAE,KAAKI,CAAO,CACvC,KAAa,CACL,GAAIN,EAAmBI,EAAgB,CACrCJ,GAAoB,EACpB,MACV,CACQ,IAAIzN,EAAU,EACV,iBAAkBhR,IACpBgR,GAAWr2B,EAAKqlB,EAAO,gBAAkB,MAAQrlB,IAAO,OAASA,EAAK,GAEpEq2B,EAAU,IACZ6N,EAAiBJ,EAAmBzN,GAEtC,MAAME,EAASuN,EAAmBzN,IAAYuN,EACxCQ,EAAU,CACd,OAAA/e,EACA,QAAAgR,EACA,SAAUyN,EACV,QAASH,EAAWK,EAAe,EACnC,OAAAzN,CACD,EACDmN,EAAW,IAAIre,EAAQ+e,CAAO,EAC9Btd,EAAKkd,CAAY,EAAE,KAAKI,CAAO,EAC/BN,GAAoB,CAC5B,CACA,CAAK,CACL,CACE,OAAAG,EAAgBzd,EAAS,CAAC,EACnB,CACL,YAAAqd,EACA,KAAA/c,EACA,KAAA0M,EACA,gBAAAiQ,CACD,CACH,CACO,SAASa,GAAervC,EAAOuuC,EAAmB,CACvD,MAAMe,EAAc/lC,EAAS,IAAM+kC,GAAetuC,EAAM,QAASuuC,CAAiB,CAAC,EACnF,MAAO,CACL,QAAShlC,EAAS,IAAM+lC,EAAY,MAAM,IAAI,EAC9C,QAAS/lC,EAAS,IAAM+lC,EAAY,MAAM,IAAI,EAC9C,eAAgB/lC,EAAS,IAAM+lC,EAAY,MAAM,WAAW,EAC5D,mBAAoB/lC,EAAS,IAAM+lC,EAAY,MAAM,eAAe,CACrE,CACH,CCzGO,SAASC,IAAe,CAC7B,MAAMC,EAAqB/vC,EAAI,EAAE,EACjC,SAAS8uC,EAAkBjwC,EAAK,CAC9B,OAAOkxC,EAAmB,MAAMlxC,CAAG,CACvC,CACE,SAASghC,EAAuBlP,EAAQE,EAAO,CACzCQ,GAAkBV,CAAM,GAAK,QAASA,IACxCof,EAAmB,MAAMpf,EAAO,GAAG,EAAIE,EAE7C,CACE,SAASmf,GAAsB,CAC7BD,EAAmB,MAAQ,CAAE,CACjC,CACE,MAAO,CACL,kBAAAjB,EACA,uBAAAjP,EACA,oBAAAmQ,CACD,CACH,CChBO,SAASC,GAAU1vC,EAAO,CAC/B,iBAAA2vC,EACA,qBAAA/Q,EACA,aAAAoE,CACF,EAAG,CACD,IAAI4M,EAAiB,EACrB,MAAMC,EAAgBpwC,EAAK,EACrB2jC,EAA2B3jC,EAAI,IAAI,EACnC4jC,EAAoC5jC,EAAI,EAAE,EAC1C6jC,EAA4B7jC,EAAI,IAAI,EACpC8jC,EAAqC9jC,EAAI,EAAE,EAC3CqwC,EAAkBvmC,EAAS,IACxBmmB,GAAa1vB,EAAM,OAAO,CAClC,EACKqrC,EAAsB9hC,EAAS,IAC5BvJ,EAAM,QAAQ,OAAOowB,GAAUA,EAAO,QAAU,MAAM,CAC9D,EACKgb,EAAuB7hC,EAAS,IAC7BvJ,EAAM,QAAQ,OAAOowB,GAAUA,EAAO,QAAU,OAAO,CAC/D,EACKsO,EAAwBn1B,EAAS,IAAM,CAC3C,MAAMgoB,EAAU,CAAE,EAClB,IAAIwe,EAAO,EACX,SAASj0B,EAASyiB,EAAM,CACtBA,EAAK,QAAQ/O,GAAO,CAClB,MAAMwgB,EAAe,CACnB,MAAOD,EACP,IAAK,CACN,EACDxe,EAAQ5B,GAAUH,CAAG,CAAC,EAAIwgB,EACtB,aAAcxgB,GAChB1T,EAAS0T,EAAI,QAAQ,EACrBwgB,EAAa,IAAMD,IAEnBA,GAAQxgB,GAAkBC,CAAG,GAAK,EAClCwgB,EAAa,IAAMD,EAE7B,CAAO,CACP,CACI,OAAAj0B,EAASuvB,EAAoB,KAAK,EAC3B9Z,CACX,CAAG,EACKoN,EAAyBp1B,EAAS,IAAM,CAC5C,MAAMgoB,EAAU,CAAE,EAClB,IAAI0e,EAAQ,EACZ,SAASn0B,EAASyiB,EAAM,CACtB,QAASt9B,EAAIs9B,EAAK,OAAS,EAAGt9B,GAAK,EAAG,EAAEA,EAAG,CACzC,MAAMuuB,EAAM+O,EAAKt9B,CAAC,EACZ+uC,EAAe,CACnB,MAAOC,EACP,IAAK,CACN,EACD1e,EAAQ5B,GAAUH,CAAG,CAAC,EAAIwgB,EACtB,aAAcxgB,GAChB1T,EAAS0T,EAAI,QAAQ,EACrBwgB,EAAa,IAAMC,IAEnBA,GAAS1gB,GAAkBC,CAAG,GAAK,EACnCwgB,EAAa,IAAMC,EAE7B,CACA,CACI,OAAAn0B,EAASsvB,EAAqB,KAAK,EAC5B7Z,CACX,CAAG,EACD,SAAS2e,GAA8B,CACrC,IAAInlC,EAAIS,EAER,KAAM,CACJ,MAAO2kC,CACb,EAAQ9E,EACJ,IAAI+E,EAAY,EAChB,KAAM,CACJ,MAAO7P,CACb,EAAQ7B,EACJ,IAAIqI,EAAwB,KAC5B,QAAS9lC,EAAI,EAAGA,EAAIkvC,EAAiB,OAAQ,EAAElvC,EAAG,CAChD,MAAM3C,EAAMqxB,GAAUwgB,EAAiBlvC,CAAC,CAAC,EACzC,GAAI2uC,KAAoB7kC,EAAKw1B,EAAmBjiC,CAAG,KAAO,MAAQyM,IAAO,OAAS,OAASA,EAAG,QAAU,GAAKqlC,EAC3GrJ,EAAwBzoC,EACxB8xC,IAAc5kC,EAAK+0B,EAAmBjiC,CAAG,KAAO,MAAQkN,IAAO,OAAS,OAASA,EAAG,MAAQ,MAE5F,MAER,CACI43B,EAAyB,MAAQ2D,CACrC,CACE,SAASsJ,GAAuC,CAC9ChN,EAAkC,MAAQ,CAAE,EAC5C,IAAIiN,EAAwBtwC,EAAM,QAAQ,KAAKwvB,GAAOG,GAAUH,CAAG,IAAM4T,EAAyB,KAAK,EACvG,KAAOkN,GAAyB,aAAcA,GAAuB,CACnE,MAAMjD,EAASiD,EAAsB,SAAS,OAC9C,GAAIjD,IAAW,EAAG,MAClB,MAAMkD,EAA4BD,EAAsB,SAASjD,EAAS,CAAC,EAC3EhK,EAAkC,MAAM,KAAK1T,GAAU4gB,CAAyB,CAAC,EACjFD,EAAwBC,CAC9B,CACA,CACE,SAASC,GAA+B,CACtC,IAAIzlC,EAAIS,EAER,KAAM,CACJ,MAAOilC,CACb,EAAQrF,EACEsF,EAAc,OAAO1wC,EAAM,OAAO,EAClC,CACJ,MAAO2wC,CACb,EAAQ3N,EACJ,GAAI2N,IAAe,KAAM,OACzB,IAAIC,EAAa,EACb3J,EAAyB,KAC7B,KAAM,CACJ,MAAOzG,CACb,EAAQ7B,EACJ,QAAS19B,EAAIwvC,EAAkB,OAAS,EAAGxvC,GAAK,EAAG,EAAEA,EAAG,CACtD,MAAM3C,EAAMqxB,GAAU8gB,EAAkBxvC,CAAC,CAAC,EAC1C,GAAI,KAAK,MAAM2uC,KAAoB7kC,EAAKy1B,EAAoBliC,CAAG,KAAO,MAAQyM,IAAO,OAAS,OAASA,EAAG,QAAU,GAAK4lC,EAAaC,CAAU,EAAIF,EAClJzJ,EAAyB3oC,EACzBsyC,IAAeplC,EAAKg1B,EAAoBliC,CAAG,KAAO,MAAQkN,IAAO,OAAS,OAASA,EAAG,MAAQ,MAE9F,MAER,CACI83B,EAA0B,MAAQ2D,CACtC,CACE,SAAS4J,GAAwC,CAC/CtN,EAAmC,MAAQ,CAAE,EAC7C,IAAIuN,EAAyB9wC,EAAM,QAAQ,KAAKwvB,GAAOG,GAAUH,CAAG,IAAM8T,EAA0B,KAAK,EACzG,KAAOwN,GAA0B,aAAcA,GAA0BA,EAAuB,SAAS,QAAQ,CAC/G,MAAMC,EAA6BD,EAAuB,SAAS,CAAC,EACpEvN,EAAmC,MAAM,KAAK5T,GAAUohB,CAA0B,CAAC,EACnFD,EAAyBC,CAC/B,CACA,CACE,SAASC,GAAoB,CAC3B,MAAMpf,EAAS+d,EAAiB,MAAQA,EAAiB,MAAM,iBAAgB,EAAK,KAC9Ex1B,EAAOw1B,EAAiB,MAAQA,EAAiB,MAAM,eAAc,EAAK,KAChF,MAAO,CACL,OAAA/d,EACA,KAAAzX,CACD,CACL,CACE,SAAS82B,GAA2B,CAClC,KAAM,CACJ,KAAA92B,CACD,EAAG62B,EAAmB,EACnB72B,IACFA,EAAK,UAAY,EAEvB,CACE,SAASolB,GAA0B,CAC7BsQ,EAAc,QAAU,OAC1BqB,GAAoB1F,CAAe,EAEnCqE,EAAc,MAAQ,MAE5B,CACE,SAAShL,EAAsBxmC,EAAG,CAChC,IAAI0M,GACHA,EAAK/K,EAAM,YAAc,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,EAAO3B,CAAC,EACvEwxC,EAAc,QAAU,OAC1BqB,GAAoB1F,CAAe,EAEnCqE,EAAc,MAAQ,MAE5B,CACE,SAASrE,GAAkB,CAIzB,KAAM,CACJ,OAAA5Z,EACA,KAAAzX,CACD,EAAG62B,EAAmB,EACvB,GAAI,CAAC72B,EAAM,OACX,KAAM,CACJ,MAAOw2B,CACb,EAAQ3N,EACJ,GAAI2N,IAAe,KACnB,IAAI3wC,EAAM,WAAaA,EAAM,WAAY,CACvC,GAAI,CAAC4xB,EAAQ,OAEb,MAAMuf,EAAgBvB,EAAiBhe,EAAO,WAC9Cie,EAAc,MAAQsB,IAAkB,EAAI,OAAS,OACjDtB,EAAc,QAAU,QAC1BD,EAAiBhe,EAAO,WACxBzX,EAAK,WAAay1B,IAElBA,EAAiBz1B,EAAK,WACtByX,EAAO,WAAage,EAE5B,MACMA,EAAiBz1B,EAAK,WAExB+1B,EAA6B,EAC7BG,EAAsC,EACtCG,EAA8B,EAC9BK,EAAuC,EAC3C,CACE,SAASlM,GAAoBoL,EAAM,CACjC,KAAM,CACJ,OAAAne,CACD,EAAGof,EAAmB,EAClBpf,IACLA,EAAO,WAAame,EACpBvE,EAAiB,EACrB,CACE,OAAA3sC,GAAM+/B,EAAsB,IAAM,CAChCqS,EAA0B,CAC9B,CAAG,EACM,CACL,gBAAAnB,EACA,sBAAApR,EACA,uBAAAC,EACA,oBAAA0M,EACA,qBAAAD,EACA,yBAAAhI,EACA,kCAAAC,EACA,0BAAAC,EACA,mCAAAC,EACA,gBAAAiI,EACA,sBAAA3G,EACA,wBAAAtF,EACA,oBAAAoF,EACD,CACH,CClOA,SAASyM,GAAoBC,EAAQ,CACnC,OAAI,OAAOA,GAAW,UAAY,OAAOA,EAAO,UAAa,SACpDA,EAAO,SAET,EACT,CACA,SAASC,GAAgBD,EAAQvc,EAAW,CAC1C,OAAIA,IAAcuc,IAAW,QAAaA,IAAW,WAAa,OAAOA,GAAW,UAAYA,EAAO,UAAY,WAC1GE,GAAmBzc,CAAS,EAEjC,OAAOuc,GAAW,WACbA,EAELA,GAAU,OAAOA,GAAW,UAAYA,EAAO,SAAWA,EAAO,UAAY,UACxEA,EAAO,QAET,EACT,CACA,SAASE,GAAmBzc,EAAW,CACrC,MAAO,CAAC0c,EAAMC,IAAS,CACrB,MAAMC,EAASF,EAAK1c,CAAS,EACvB6c,EAASF,EAAK3c,CAAS,EAC7B,OAAI4c,GAAW,KACTC,GAAW,KAAqC,EAC7C,GACEA,GAAW,KACb,EACE,OAAOD,GAAW,UAAY,OAAOC,GAAW,SAClDD,EAASC,EACP,OAAOD,GAAW,UAAY,OAAOC,GAAW,SAClDD,EAAO,cAAcC,CAAM,EAE7B,CACR,CACH,CACO,SAASC,GAAU5xC,EAAO,CAC/B,mBAAA6xC,EACA,gBAAAC,CACF,EAAG,CACD,MAAMC,EAAmB,CAAE,EAE3BF,EAAmB,MAAM,QAAQzhB,GAAU,CACzC,IAAIrlB,EACAqlB,EAAO,SAAW,QACpB4hB,EAA+BD,EAAkB,CAC/C,UAAW3hB,EAAO,IAClB,OAAQA,EAAO,OACf,OAAQrlB,EAAKqlB,EAAO,oBAAsB,MAAQrlB,IAAO,OAASA,EAAK,EAC/E,CAAO,CAEP,CAAG,EACD,MAAMknC,EAA2BxyC,EAAIsyC,CAAgB,EAC/Cjb,EAAqBvtB,EAAS,IAAM,CAGxC,MAAM2oC,EAAiCL,EAAmB,MAAM,OAAOzhB,GAAUA,EAAO,OAAS,aAAeA,EAAO,SAAW,SAAcA,EAAO,YAAc,UAAYA,EAAO,YAAc,WAAaA,EAAO,YAAc,GAAM,EAExO+hB,EAAeD,EAA+B,OAAO1iB,GAAOA,EAAI,YAAc,EAAK,EACzF,GAAI2iB,EAAa,OACf,OAAOA,EAAa,IAAI/hB,IACf,CACL,UAAWA,EAAO,IAGlB,MAAOA,EAAO,UACd,OAAQA,EAAO,MAChB,EACF,EAIH,GAAI8hB,EAA+B,OAAQ,MAAO,CAAE,EACpD,KAAM,CACJ,MAAOE,CACb,EAAQH,EACJ,OAAI,MAAM,QAAQG,CAAqB,EAC9BA,EACEA,EACF,CAACA,CAAqB,EAEtB,CAAE,CAEf,CAAG,EACKC,EAAgB9oC,EAAS,IAAM,CACnC,MAAM+oC,EAAgBxb,EAAmB,MAAM,MAAO,EAAC,KAAK,CAACn0B,EAAG,IAAM,CACpE,MAAM4vC,EAAgBnB,GAAoBzuC,EAAE,MAAM,GAAK,EAEvD,OADsByuC,GAAoB,EAAE,MAAM,GAAK,GAChCmB,CAC7B,CAAK,EACD,OAAID,EAAc,OACKR,EAAgB,MAAM,MAAO,EAC9B,KAAK,CAACU,EAASC,IAAY,CAC7C,IAAIC,EAAgB,EACpB,OAAAJ,EAAc,KAAKK,GAAe,CAChC,KAAM,CACJ,UAAA7d,EACA,OAAAuc,EACA,MAAAthB,CACZ,EAAc4iB,EACEC,EAAYtB,GAAgBD,EAAQvc,CAAS,EACnD,OAAI8d,GAAa7iB,IACf2iB,EAAgBE,EAAUJ,EAAQ,QAASC,EAAQ,OAAO,EACtDC,IAAkB,IACpBA,EAAgBA,EAAgB5iB,GAAeC,CAAK,EAC7C,IAGJ,EACjB,CAAS,EACM2iB,CACf,CAAO,EAEIZ,EAAgB,KAC3B,CAAG,EACD,SAASe,EAAsB5b,EAAW,CACxC,IAAI/F,EAAmB4F,EAAmB,MAAM,MAAO,EAEvD,OAAIG,GAAama,GAAoBna,EAAU,MAAM,IAAM,IAEzD/F,EAAmBA,EAAiB,OAAO+F,GAAama,GAAoBna,EAAU,MAAM,IAAM,EAAK,EACvG+a,EAA+B9gB,EAAkB+F,CAAS,EACnD/F,GACE+F,GAKJ,IACX,CACE,SAASuI,EAAiBvI,EAAW,CACnC,MAAM6b,EAAkBD,EAAsB5b,CAAS,EACvD8b,EAAeD,CAAe,CAClC,CACE,SAASC,EAAe9b,EAAW,CACjC,KAAM,CACJ,kBAAmB+b,EACnB,eAAAC,EACA,eAAAC,CACN,EAAQlzC,EACAgzC,GACF3iC,GAAK2iC,EAAiB/b,CAAS,EAE7Bgc,GACF5iC,GAAK4iC,EAAgBhc,CAAS,EAE5Bic,GACF7iC,GAAK6iC,EAAgBjc,CAAS,EAEhCgb,EAAyB,MAAQhb,CACrC,CACE,SAASkc,EAAKre,EAAW/E,EAAQ,SAAU,CACzC,GAAI,CAAC+E,EACHse,EAAa,MACR,CACL,MAAMjB,EAAeN,EAAmB,MAAM,KAAKzhB,GAAUA,EAAO,OAAS,aAAeA,EAAO,OAAS,UAAYA,EAAO,MAAQ0E,CAAS,EAChJ,GAAI,EAAEqd,GAAiB,MAA2CA,EAAa,QAAS,OACxF,MAAMd,EAASc,EAAa,OAC5B3S,EAAiB,CACf,UAAA1K,EACA,OAAAuc,EACA,MAAAthB,CACR,CAAO,CACP,CACA,CACE,SAASqjB,GAAc,CACrBL,EAAe,IAAI,CACvB,CACE,SAASf,EAA+BqB,EAAYpc,EAAW,CAC7D,MAAMzT,EAAQ6vB,EAAW,UAAUr1C,IAAUi5B,GAAc,KAA+B,OAASA,EAAU,YAAcj5B,EAAM,YAAci5B,EAAU,SAAS,EAC9JzT,IAAU,QAAaA,GAAS,EAClC6vB,EAAW7vB,CAAK,EAAIyT,EAEpBoc,EAAW,KAAKpc,CAAS,CAE/B,CACE,MAAO,CACL,YAAAmc,EACA,KAAAD,EACA,cAAAd,EACA,mBAAAvb,EACA,iBAAA0I,CACD,CACH,CCjLO,SAAS8T,GAAatzC,EAAO,CAClC,mBAAA6xC,CACF,EAAG,CACK,MAAAnF,EAAqBnjC,EAAS,IAAM,CACxC,MAAMgqC,EAA6BhV,GAAA,CACjC,QAASt9B,EAAI,EAAGA,EAAIs9B,EAAK,OAAQ,EAAEt9B,EAAG,CAC9B,MAAAuuB,EAAM+O,EAAKt9B,CAAC,EAClB,GAAI,aAAcuuB,EACT,OAAA+jB,EAAmB/jB,EAAI,QAAQ,EACxC,GAAWA,EAAI,OAAS,YACf,OAAAA,CACT,CAEK,OAAA,IACT,EACO,OAAA+jB,EAAmBvzC,EAAM,OAAO,CAAA,CACxC,EACK4c,EAAcrT,EAAS,IAAM,CAC3B,KAAA,CACJ,YAAAiqC,CAAA,EACExzC,EACG,OAAA6c,GAAe7c,EAAM,KAAM,CAChC,oBAAqB,GACrB,OAAQA,EAAM,OACd,YAAwB6pC,GAAAA,EAAQ2J,CAAW,EAC3C,YAAwB3J,GAAA,CACtB,IAAI9+B,EAAIS,EACR,MAAK,MAAAA,GAAMT,EAAK2hC,EAAmB,SAAW,MAAQ3hC,IAAO,OAAS,OAASA,EAAG,YAAc,MAAQS,IAAO,SAAkBA,EAAG,KAAKT,EAAI8+B,CAAO,EAG7I,CACT,CACD,CAAA,CACF,EACK/F,EAA0Bx8B,GAAQ,IAAM,CACtC,KAAA,CACJ,QAAAiqB,CAAA,EACEvxB,EACE,CACJ,OAAAqtC,CAAA,EACE9b,EACJ,IAAIkiB,EAA0B,KAC9B,QAASxyC,EAAI,EAAGA,EAAIosC,EAAQ,EAAEpsC,EAAG,CACzB,MAAAuuB,EAAM+B,EAAQtwB,CAAC,EAIjB,GAHA,CAACuuB,EAAI,MAAQikB,IAA4B,OACjBA,EAAAxyC,GAExB,SAAUuuB,GAAOA,EAAI,KAChB,OAAAvuB,CACT,CAEF,OAAOwyC,GAA2B,CAAA,CACnC,EACKC,EAA6Bj0C,EAAI,EAAE,EACnC,CACJ,WAAAk0C,CAAA,EACE3zC,EACE4zC,EAA6Bn0C,EAAIk0C,GAAaA,EAAW,aAAe,CAAK,EAC7E3sB,EAA0BvnB,EAAI2lB,GAAmBuuB,CAAU,CAAC,EAC5Dze,EAAuB3rB,EAAS,IAAM,CAC1C,MAAMsqC,EAA8BhC,EAAmB,MAAM,OAAiBzhB,GACrEA,EAAO,qBAAuB,QAAaA,EAAO,oBAAsB,MAChF,EACK0jB,EAAwB,CAAC,EAC/B,OAAAD,EAA4B,QAAkBzjB,GAAA,CACxC,IAAArlB,EACAqlB,EAAO,OAAS,aAAeA,EAAO,OAAS,WAC/CA,EAAO,qBAAuB,OACV0jB,EAAA1jB,EAAO,GAAG,GAAKrlB,EAAKqlB,EAAO,qBAAuB,MAAQrlB,IAAO,OAASA,EAAK,KAE/E+oC,EAAA1jB,EAAO,GAAG,EAAIA,EAAO,mBAC7C,CACD,EACqB,OAAO,OAAOR,GAA0B8jB,EAA2B,KAAK,EAAGI,CAAqB,CAC/G,CACR,EACKhC,EAAkBvoC,EAAS,IAAM,CACrC,MAAMwqC,EAAoB7e,EAAqB,MACzC,CACJ,QAAA3D,CAAA,EACEvxB,EACJ,SAASg0C,EAAoBlf,GAAW,CACtC,MAAO,CAACmf,GAAmBvjB,KAAQ,CAAC,CAAC,CAAC,OAAOA,GAAIoE,EAAS,CAAC,EAAE,QAAQ,OAAOmf,EAAiB,CAAC,CAAA,CAE1F,KAAA,CACJ,MAAO,CACL,UAAWziB,CAAA,CACb,EACE5U,EACEs3B,EAAgB,CAAC,EACvB,OAAA3iB,EAAQ,QAAkBnB,IAAA,CACpBA,GAAO,OAAS,aAAeA,GAAO,OAAS,UAAY,aAAcA,IAG7E8jB,EAAc,KAAK,CAAC9jB,GAAO,IAAKA,EAAM,CAAC,CAAA,CACxC,EACMoB,EAAOA,EAAK,OAAiB/pB,IAAA,CAC5B,KAAA,CACJ,QAASipB,EAAA,EACPjpB,GAEJ,SAAW,CAACqtB,GAAW1E,CAAM,IAAK8jB,EAAe,CAC3C,IAAAC,EAA2BJ,EAAkBjf,EAAS,EAKtD,GAJAqf,GAA4B,OAC3B,MAAM,QAAQA,CAAwB,IACzCA,EAA2B,CAACA,CAAwB,GAElD,CAACA,EAAyB,QAAQ,SAEtC,MAAMt4B,GAASuU,EAAO,SAAW,UAAY4jB,EAAoBlf,EAAS,EAAI1E,EAAO,OACjF,GAAAA,GAAU,OAAOvU,IAAW,WAC1B,GAAAuU,EAAO,aAAe,OACpB,GAAA+jB,EAAyB,KAA0BF,IAAA,CAACp4B,GAAOo4B,GAAmBvjB,EAAG,CAAC,EAC7E,MAAA,OAEJ,CACL,GAAIyjB,EAAyB,KAAKF,IAAqBp4B,GAAOo4B,GAAmBvjB,EAAG,CAAC,EACnF,SAEO,MAAA,EACT,CAEJ,CAEK,MAAA,EACR,CAAA,EAAI,CAAC,CAAA,CACP,EACK,CACJ,cAAA2hB,EACA,iBAAA7S,EACA,mBAAA1I,EACA,KAAAqc,EACA,YAAAC,CAAA,EACExB,GAAU5xC,EAAO,CACnB,mBAAA6xC,EACA,gBAAAC,CAAA,CACD,EAEkBD,EAAA,MAAM,QAAkBzhB,GAAA,CACrC,IAAArlB,EACJ,GAAIqlB,EAAO,OAAQ,CACjB,MAAMgkB,EAA4BhkB,EAAO,0BACrCA,EAAO,eACTsjB,EAA2B,MAAMtjB,EAAO,GAAG,EAAIgkB,GAA6B,CAAC,EACpEA,IAA8B,OAEvCV,EAA2B,MAAMtjB,EAAO,GAAG,EAAIgkB,IAA8B,KAAO,CAAA,EAAKA,EAE9DV,EAAA,MAAMtjB,EAAO,GAAG,GAAKrlB,EAAKqlB,EAAO,4BAA8B,MAAQrlB,IAAO,OAASA,EAAK,IACzH,CACF,CACD,EACK,MAAAspC,EAA2B9qC,EAAS,IAAM,CACxC,KAAA,CACJ,WAAAoqC,CAAA,EACE3zC,EACA2zC,GAAAA,IAAe,GACnB,OAAOA,EAAW,IAAA,CACnB,EACKW,EAAwB/qC,EAAS,IAAM,CACrC,KAAA,CACJ,WAAAoqC,CAAA,EACE3zC,EACA2zC,GAAAA,IAAe,GACnB,OAAOA,EAAW,QAAA,CACnB,EACKY,EAAwBt1B,GAAeo1B,EAA0BT,CAA0B,EAC3F1sB,EAAoBjI,GAAeq1B,EAAuBttB,CAAuB,EACjFwtB,EAA8BltC,GAAQ,IAAM,CAChD,MAAMohB,EAAO6rB,EAAsB,MACnC,OAAOv0C,EAAM,OAAS0oB,EAAO,KAAK,IAAI,EAAG,KAAK,IAAI,KAAK,KAAKopB,EAAgB,MAAM,OAAS5qB,EAAkB,KAAK,EAAGwB,CAAI,CAAC,CAAA,CAC3H,EACKvB,EAAqB5d,EAAS,IAAM,CAClC,KAAA,CACJ,WAAAoqC,CAAA,EACE3zC,EACJ,GAAI2zC,EAAY,CACR,KAAA,CACJ,UAAAjuB,CAAA,EACEiuB,EACA,GAAAjuB,IAAc,OAAkB,OAAAA,CAAA,CAE/B,CACR,EACKwd,EAAmB35B,EAAS,IAAM,CACtC,GAAIvJ,EAAM,OAAe,OAAA4c,EAAY,MAAM,UAC3C,GAAI,CAAC5c,EAAM,WAAY,OAAOqyC,EAAc,MAC5C,MAAMtpB,EAAW7B,EAAkB,MAC7ButB,GAAcD,EAA4B,MAAQ,GAAKzrB,EAC7D,OAAOspB,EAAc,MAAM,MAAMoC,EAAYA,EAAa1rB,CAAQ,CAAA,CACnE,EACK4U,EAAsBp0B,EAAS,IAC5B25B,EAAiB,MAAM,IAAIz7B,GAAUA,EAAO,OAAO,CAC3D,EACD,SAASitC,GAAmBhsB,EAAM,CAC1B,KAAA,CACJ,WAAAirB,CAAA,EACE3zC,EACJ,GAAI2zC,EAAY,CACR,KAAA,CACJ,SAAA12B,EACA,gBAAiB0L,EACjB,aAAAC,CAAA,EACE+qB,EACA12B,GAAe5M,GAAA4M,EAAUyL,CAAI,EAC7BE,GAAmBvY,GAAAuY,EAAcF,CAAI,EACrCC,GAAoBtY,GAAAsY,EAAeD,CAAI,EAC3CV,EAAaU,CAAI,CAAA,CACnB,CAEF,SAASisB,EAAuB5rB,EAAU,CAClC,KAAA,CACJ,WAAA4qB,CAAA,EACE3zC,EACJ,GAAI2zC,EAAY,CACR,KAAA,CACJ,iBAAAzqB,EACA,oBAAqBF,EACrB,iBAAAC,CAAA,EACE0qB,EACAzqB,GAAuB7Y,GAAA6Y,EAAkBH,CAAQ,EACjDE,GAAuB5Y,GAAA4Y,EAAkBF,CAAQ,EACjDC,GAAwB3Y,GAAA2Y,EAAmBD,CAAQ,EACvDD,EAAiBC,CAAQ,CAAA,CAC3B,CAEI,MAAAP,EAAqBjf,EAAS,IAAM,CACxC,GAAIvJ,EAAM,OAAQ,CACV,KAAA,CACJ,WAAA2zC,CAAA,EACE3zC,EACJ,GAAI2zC,EAAY,CACR,KAAA,CACJ,UAAAvsB,CAAA,EACEusB,EACA,GAAAvsB,IAAc,OAAkB,OAAAA,CAAA,CAE/B,MAAA,CAET,OAAO0qB,EAAgB,MAAM,MAAA,CAC9B,EACK8C,EAAsBrrC,EAAS,IAC5B,OAAO,OAAO,OAAO,OAAO,GAAIvJ,EAAM,UAAU,EAAG,CAExD,SAAU,OACV,aAAc,OACd,iBAAkB,OAClB,iBAAkB,OAClB,gBAAiB00C,GACjB,oBAAqBC,EAIrB,KAAMH,EAA4B,MAClC,SAAUttB,EAAkB,MAC5B,UAAWsB,EAAmB,QAAU,OAAYrB,EAAmB,MAAQ,OAC/E,UAAWqB,EAAmB,KAAA,CAC/B,CACF,EACD,SAASR,EAAaU,EAAM,CACpB,KAAA,CACJ,gBAAiBC,EACjB,aAAAksB,EACA,aAAAjsB,CAAA,EACE5oB,EACA4oB,GAAmBvY,GAAAuY,EAAcF,CAAI,EACrCC,GAAoBtY,GAAAsY,EAAeD,CAAI,EACvCmsB,GAAmBxkC,GAAAwkC,EAAcnsB,CAAI,EACzCkrB,EAA2B,MAAQlrB,CAAA,CAErC,SAASI,EAAiBC,EAAU,CAC5B,KAAA,CACJ,oBAAqBC,EACrB,iBAAAE,EACA,iBAAAD,CAAA,EACEjpB,EACAkpB,GAAuB7Y,GAAA6Y,EAAkBH,CAAQ,EACjDE,GAAuB5Y,GAAA4Y,EAAkBF,CAAQ,EACjDC,GAAwB3Y,GAAA2Y,EAAmBD,CAAQ,EACvD/B,EAAwB,MAAQ+B,CAAA,CAEzB,SAAAsM,EAAgByf,EAASC,EAAc,CACxC,KAAA,CACJ,gBAAAC,EACA,mBAAoBC,EACpB,gBAAAC,CAAA,EACEl1C,EACAg1C,GAAiB3kC,GAAK2kC,EAAiBF,EAASC,CAAY,EAC5DE,GAAkB5kC,GAAK4kC,EAAkBH,EAASC,CAAY,EAC9DG,GAAiB7kC,GAAK6kC,EAAiBJ,EAASC,CAAY,EAChErB,EAA2B,MAAQoB,CAAA,CAErC,SAASzV,EAAuBhP,EAAc8kB,EAAc/kB,EAAQglB,EAAgB,CAC9E,IAAArqC,GACHA,EAAK/K,EAAM,0BAA4B,MAAQ+K,IAAO,QAAkBA,EAAG,KAAK/K,EAAOqwB,EAAc8kB,EAAc/kB,EAAQglB,CAAc,CAAA,CAE5I,SAAS1sB,EAAKA,EAAM,CAClBV,EAAaU,CAAI,CAAA,CAEnB,SAAS2sB,GAAc,CACRC,EAAA,CAAA,CAEf,SAASA,GAAe,CACtBR,GAAQ,CAAA,CAAE,CAAA,CAEZ,SAASA,GAAQA,EAAS,CACxBj5B,EAAOi5B,CAAO,CAAA,CAEhB,SAASj5B,EAAOi5B,EAAS,CAClBA,EAEMA,IACkBpB,EAAA,MAAQ9jB,GAA0BklB,CAAO,GAFpEpB,EAA2B,MAAQ,CAAC,CAKtC,CAEK,MAAA,CACL,YAAA92B,EACA,qBAAsB43B,EACtB,oBAAAI,EACA,iBAAA1R,EACA,oBAAAvF,EACA,qBAAAzI,EACA,mBAAA4B,EACA,YAAar3B,EAAI,IAAI,EACrB,mBAAAitC,EACA,wBAAA5I,EACA,gBAAAzO,EACA,iBAAAmK,EACA,iBAAA1W,EACA,aAAAd,EACA,uBAAAqX,EAEA,OAAAxjB,EACA,QAAAi5B,GACA,YAAAO,EACA,aAAAC,EACA,YAAAlC,EACA,KAAA1qB,EACA,KAAAyqB,CACF,CACF,CC7UA,MAAAoC,GAAex1C,GAAgB,CAC7B,KAAM,YACN,MAAO,CAAC,eAAe,EACvB,MAAOovB,GACP,MAAO,OACP,MAAMnvB,EAAO,CACX,MAAAC,CAAA,EACC,CAoBK,KAAA,CACJ,kBAAA6P,EACA,mBAAAjH,EACA,oBAAAsE,EACA,aAAArE,CAAA,EACEC,GAAU/I,CAAK,EACbgJ,EAAgBC,GAAO,YAAaH,EAAcD,CAAkB,EACpE2sC,EAA0BjsC,EAAS,IAAM,CACvC,KAAA,CACJ,eAAAksC,CAAA,EACEz1C,EAGA,OAAA8P,EAAkB,MAAc,GAChC2lC,IAAmB,OAAkBA,EAClC,EAAA,CACR,EACKvsC,EAAWN,GAAS,YAAa,cAAehJ,GAAOkvB,GAAgB9uB,EAAO6I,CAAkB,EAChGm6B,EAAevjC,EAAI,IAAI,EACvBkwC,EAAmBlwC,EAAI,IAAI,EAC3B,CACJ,kBAAA8uC,EACA,oBAAAkB,EACA,uBAAAnQ,GACEiQ,GAAa,EACX,CACJ,QAAAxQ,EACA,QAAAC,EACA,mBAAA6S,EACA,eAAA6D,CAAA,EACErG,GAAervC,EAAOuuC,CAAiB,EACrC,CACJ,YAAA3xB,EACA,qBAAAgiB,EACA,iBAAAsE,EACA,oBAAAvF,EACA,mBAAA+O,EACA,YAAArU,EACA,oBAAAuc,GACA,qBAAA1f,EACA,mBAAA4B,EACA,wBAAAgN,EACA,aAAA9b,EACA,gBAAAqN,EACA,uBAAAgK,EACA,iBAAAG,EACA,OAAA3jB,EACA,QAAAi5B,EACA,YAAAO,EACA,aAAAC,GACA,YAAAlC,EACA,KAAA1qB,EACA,KAAAyqB,CAAA,EACEG,GAAatzC,EAAO,CACtB,mBAAA6xC,CAAA,CACD,EACK8D,EAAyB73C,GAAA,CACvB,KAAA,CACJ,SAAA83C,EAAW,WACX,iBAAAC,EAAmB,EACrB,EAAI/3C,GAAW,CAAC,EACV0zB,EAAOqkB,EAAmB71C,EAAM,KAAO29B,EAAoB,MAC3DmY,GAAUxkB,GAAYtxB,EAAM,QAASwxB,EAAMxxB,EAAM,WAAYA,EAAM,YAAY,EAC/E+1C,GAAO,IAAI,KAAK,CAACD,EAAO,EAAG,CAC/B,KAAM,wBAAA,CACP,EACKE,GAAc,IAAI,gBAAgBD,EAAI,EACnCvzC,GAAAwzC,GAAaJ,EAAS,SAAS,MAAM,EAAIA,EAAW,GAAGA,CAAQ,MAAM,EAC9E,IAAI,gBAAgBI,EAAW,CACjC,EACM,CACJ,WAAApY,EACA,aAAAC,EACA,QAAAiH,GACA,UAAAC,GACA,0BAAA7F,GACA,mBAAAJ,EACA,kBAAAD,EACA,0BAAA9M,GACA,8BAAAC,EAAA,EACEya,GAASzsC,EAAO,CAClB,mBAAA0sC,EACA,YAAA9vB,EACA,iBAAAsmB,CAAA,CACD,EACK,CACJ,sBAAAqB,GACA,yBAAAtB,GACA,gBAAAO,GACA,cAAAc,GACA,wBAAAM,EAAA,EACEoJ,GAAUhuC,EAAO4c,CAAW,EAC1B,CACJ,sBAAAioB,GACA,wBAAAtF,GACA,gBAAAiM,GACA,oBAAA7G,GACA,yBAAAvB,GACA,kCAAAC,GACA,0BAAAC,EACA,mCAAAC,EACA,oBAAA8H,GACA,qBAAAD,GACA,sBAAA1M,GACA,uBAAAC,EAAA,EACE+Q,GAAU1vC,EAAO,CACnB,aAAAgjC,EACA,iBAAA2M,EACA,qBAAA/Q,CAAA,CACD,EACK,CACJ,UAAAze,EAAA,EACEC,GAAU,WAAW,EACnB6e,GAAuB11B,EAAS,IAIhCvJ,EAAM,eAAiBA,EAAM,YAAcA,EAAM,YAAc,QAAa01C,EAAe,MACtF,QAEF11C,EAAM,WACd,EACD4L,GAAQwjB,GAAuB,CAC7B,MAAApvB,EACA,YAAA4c,EACA,oBAAqBzT,GAAMnJ,EAAO,kBAAkB,EACpD,iBAAkBP,EAAQ,IAAA,GAAK,EAC/B,MAAAQ,EACA,UAAWkJ,GAAMnJ,EAAO,QAAQ,EAChC,wBAAA8jC,EACA,aAAAd,EACA,YAAaiT,GAAS,EACtB,YAAA5d,EACA,mBAAAxvB,EACA,eAAgBK,EAChB,WAAYK,EAAS,IAAMvJ,EAAM,OAAO,EACxC,QAAA++B,EACA,QAAAC,EACA,iBAAAkE,EACA,yBAAAE,GACA,kCAAAC,GACA,0BAAAC,EACA,mCAAAC,EACA,oBAAA8H,GACA,qBAAAD,GACA,sBAAA1M,GACA,uBAAAC,GACA,qBAAAC,EACA,mBAAAE,EACA,kBAAAD,EACA,mBAAA/H,EACA,qBAAA5B,EACA,WAAY/rB,GAAMnJ,EAAO,SAAS,EAClC,gBAAiBmJ,GAAMnJ,EAAO,cAAc,EAC5C,0BAAA+xB,GACA,yBAAAkR,GACA,8BAAAjR,GACA,UAAA7R,GACA,cAAAmkB,GACA,sBAAAC,GACA,UAAWp7B,GAAMnJ,EAAO,QAAQ,EAChC,gBAAAwjC,GACA,WAAYr6B,GAAMnJ,EAAO,SAAS,EAClC,iBAAkBmJ,GAAMnJ,EAAO,eAAe,EAC9C,kBAAmBmJ,GAAMnJ,EAAO,gBAAgB,EAChD,gBAAiBmJ,GAAMnJ,EAAO,cAAc,EAC5C,gBAAiBmJ,GAAMnJ,EAAO,cAAc,EAC5C,uBAAwBmJ,GAAMnJ,EAAO,qBAAqB,EAC1D,gBAAiBmJ,GAAMnJ,EAAO,cAAc,EAC5C,YAAamJ,GAAMnJ,EAAO,UAAU,EACpC,WAAYmJ,GAAMnJ,EAAO,SAAS,EAClC,gBAAiBuJ,EAAS,IAAM,CACxB,KAAA,CACJ,MAAO2sC,CAAA,EACLxJ,EACJ,OAAOwJ,GAAoB,KAAqC,OAASA,EAAgB,OAAA,CAC1F,EACD,oBAAAvY,EACA,qBAAsBp0B,EAAS,IAAM,CAC7B,KAAA,CACJ,KAAM,CACJ,mBAAA4C,EACA,cAAAgqC,EACA,mBAAAC,CAAA,GAEAltC,EAAS,MACN,MAAA,CACL,qBAAsBitC,EACtB,2BAA4BC,EAC5B,2BAA4BjqC,CAC9B,CAAA,CACD,EACD,UAAWhD,GAAMnJ,EAAO,QAAQ,EAChC,qBAAAi/B,GACA,aAAc91B,GAAMnJ,EAAO,WAAW,EACtC,aAAcmJ,GAAMnJ,EAAO,WAAW,EACtC,cAAemJ,GAAMnJ,EAAO,YAAY,EACxC,0BAAAk/B,GACA,8BAA+B/1B,GAAMnJ,EAAO,4BAA4B,EACxE,oBAAqBmJ,GAAMnJ,EAAO,kBAAkB,EACpD,0BAA2BmJ,GAAMnJ,EAAO,wBAAwB,EAChE,kBAAmBmJ,GAAMnJ,EAAO,gBAAgB,EAChD,gBAAAwrC,GACA,aAAAxjB,EACA,gBAAAqN,EACA,kBAAAkZ,EACA,uBAAAlP,EACA,oBAAAoQ,EACA,uBAAAnQ,EACA,iBAAAE,EACA,QAAAsF,GACA,UAAAC,GACA,WAAAnH,EACA,aAAAC,EACA,wBAAA+G,GACA,wBAAArF,GACA,sBAAAsF,GACA,oBAAAF,GACA,WAAYx7B,GAAMnJ,EAAO,YAAY,CAAA,CACtC,EACD,MAAMskB,GAAiB,CACrB,OAAAzI,EACA,QAAAi5B,EACA,aAAAQ,GACA,YAAAlC,EACA,KAAA1qB,EACA,KAAAyqB,EACA,YAAAkC,EACA,YAAAM,EACA,SAAU,CAAChP,EAAMC,IAAS,CACpB,IAAA77B,GACHA,EAAK4kC,EAAiB,SAAW,MAAQ5kC,IAAO,QAAkBA,EAAG,SAAS47B,EAAMC,CAAI,CAAA,CAE7F,EACM96B,GAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAAzG,CAAA,EACE9C,EACE,CACJ,OAAQ,CACN,qBAAA+L,CACF,EACA,KAAM,CACJ,YAAA0C,EACA,aAAA4nC,EACA,eAAAC,GACA,oBAAAC,GACA,sBAAAC,GACA,eAAAC,GACA,oBAAAC,GACA,sBAAAC,GACA,QAAAC,GACA,aAAAC,GACA,QAAAC,GACA,YAAAC,GACA,YAAAC,GACA,aAAAC,GACA,mBAAAC,GACA,YAAAC,GACA,kBAAAC,GACA,WAAAC,GACA,aAAAtzC,GACA,WAAA4qB,GACA,aAAA2oB,GACA,aAAAC,GACA,iBAAAC,GACA,kBAAAC,GACA,kBAAAC,GACA,mBAAAC,GACA,eAAAC,GACA,eAAAC,GACA,oBAAAC,GACA,oBAAAC,GACA,iBAAAC,GACA,aAAAC,GACA,eAAAC,GACA,gBAAAC,GACA,WAAAC,GACA,uBAAAC,GACA,cAAAC,GACA,aAAAzrC,GACA,YAAAC,GACA,eAAAyrC,GACA,eAAAC,GACA,oBAAAC,GACA,sBAAAC,GACA,CAACruC,GAAU,WAAYvH,CAAI,CAAC,EAAGkK,GAC/B,CAAC3C,GAAU,YAAavH,CAAI,CAAC,EAAG61C,GAChC,CAACtuC,GAAU,YAAavH,CAAI,CAAC,EAAG81C,EAAA,GAEhC1vC,EAAS,MACN,MAAA,CACL,gBAAiB8D,GACjB,iBAAkB2rC,GAClB,iBAAkBC,GAClB,aAAc7sC,EACd,oBAAqBhI,GACrB,kBAAmB4qB,GACnB,mBAAoBlgB,EACpB,yBAA0B+oC,GAC1B,2BAA4BG,GAC5B,eAAgBf,GAChB,qBAAsBC,GACtB,qBAAsBU,GACtB,2BAA4BE,GAC5B,uBAAwBG,GACxB,6BAA8BG,GAC9B,eAAgBjB,GAChB,qBAAsBT,EACtB,qBAAsBiB,GACtB,2BAA4BI,GAC5B,uBAAwBG,GACxB,6BAA8BC,GAC9B,oBAAqBd,GACrB,oBAAqBD,GACrB,qBAAsBE,GACtB,4BAA6BC,GAC7B,oBAAqBC,GACrB,2BAA4BC,GAC5B,kBAAmBC,GACnB,wBAAyBW,GACzB,oBAAqBC,GACrB,wBAAyBE,GACzB,uBAAwBD,GACxB,kBAAmBE,GACnB,+BAAgCC,GAChC,qBAAsBC,GACtB,mBAAoBxrC,GACpB,oBAAqBD,GACrB,sBAAuB0rC,GACvB,uBAAwBC,GACxB,6BAA8BC,GAC9B,+BAAgCC,GAChC,qBAAsBpC,GACtB,2BAA4BC,GAC5B,6BAA8BC,GAC9B,qBAAsBC,GACtB,2BAA4BC,GAC5B,6BAA8BC,EAChC,CAAA,CACD,EACKvpC,EAAmBD,EAAsBE,GAAc,aAAc9D,EAAS,IAAMvJ,EAAM,KAAK,CAAC,CAAC,EAAG8L,GAAY9L,CAAK,EAAI,OACzH64C,GAA0BtvC,EAAS,IAAM,CACzC,GAAA,CAACvJ,EAAM,WAAmB,MAAA,GAC1B,GAAAA,EAAM,mBAA2B,MAAA,GACrC,MAAM84C,EAAmBlE,GAAoB,MACvC,CACJ,UAAAlvB,CAAA,EACEozB,EACA,OAAApzB,IAAc,OAAkBA,EAAY,EACzCozB,EAAiB,WAAaA,EAAiB,UAAYA,EAAiB,UAAYA,EAAiB,QAAA,CACjH,EACD,OAAO,OAAO,OAAO,CACnB,iBAAAnJ,EACA,gBAAiB9mC,EACjB,WAAYG,EACZ,YAAaE,EACb,cAAeg6B,EACf,eAAgBpzB,EAChB,qBAAsB0lC,EACtB,iBAAkBZ,GAClB,qBAAsBiE,GACtB,QAAS1rC,EAAsB,OAAYrB,GAC3C,WAAYsB,GAAqB,KAAsC,OAASA,EAAiB,WACjG,SAAUA,GAAqB,KAAsC,OAASA,EAAiB,UAC9FkX,EAAc,CACnB,EACA,QAAS,CACD,KAAA,CACJ,gBAAArS,EACA,WAAAxE,EACA,SAAAC,EACA,OAAA7L,EACA,UAAAk3C,CAAA,EACE,KACJ,OAAArrC,GAAa,MAAuCA,EAAS,EACtD3L,EAAE,MAAO,CACd,MAAO,CAAC,GAAGkQ,CAAe,cAAe,KAAK,YAAc,GAAGA,CAAe,mBAAoBxE,EAAY,CAC5G,CAAC,GAAGwE,CAAe,uBAAuB,EAAG,KAAK,eAClD,CAAC,GAAGA,CAAe,8BAA8B,EAAG,KAAK,qBACzD,CAAC,GAAGA,CAAe,0BAA0B,EAAG,KAAK,WACrD,CAAC,GAAGA,CAAe,4BAA4B,EAAG,KAAK,aACvD,CAAC,GAAGA,CAAe,sBAAsB,EAAG,KAAK,QACjD,CAAC,GAAGA,CAAe,0BAA0B,EAAG,KAAK,UAAA,CACtD,EACD,MAAO,KAAK,OAAA,EACXlQ,EAAE,MAAO,CACV,MAAO,GAAGkQ,CAAe,qBAAA,EACxBlQ,EAAEopC,GAAW,CACd,IAAK,kBACN,CAAA,CAAC,EAAG,KAAK,qBAAuBppC,EAAE,MAAO,CACxC,MAAO,GAAGkQ,CAAe,yBACxB,EAAAlQ,EAAE8kB,GAAa,OAAO,OAAO,CAC9B,MAAO,KAAK,YAAY,MAAM,WAC9B,eAAgB,KAAK,YAAY,cAAc,WAC/C,SAAU,KAAK,OAAA,EACd,KAAK,gBAAgB,CAAC,CAAC,EAAI,KAAM9kB,EAAE2E,GAAY,CAChD,KAAM,6BAAA,EACL,CACD,QAAS,IACA,KAAK,QAAU3E,EAAE,MAAO,CAC7B,MAAO,GAAGkQ,CAAe,6BAAA,EACxBpE,GAAYhM,EAAO,QAAS,IAAM,CAACE,EAAE0xB,GAAc,OAAO,OAAO,CAClE,UAAWxhB,EACX,YAAa,IACZ8mC,CAAS,CAAC,CAAC,CAAC,CAAC,EAAI,IACtB,CACD,CAAC,CAAA,CAEN,CAAC,ECncYC,GAAyD,CACpE,MAAM,QAAQ52C,EAAI62C,EAAS,CACzB,MAAMn3C,GAAS,EACfm3C,EAAQ,MAAM72C,EAAG,eAAe,EAAE,CAAC,CAAC,CACtC,EACA,MAAM,QAAQA,EAAI62C,EAAS,CACzB,MAAMn3C,GAAS,EACfm3C,EAAQ,MAAM72C,EAAG,eAAe,EAAE,CAAC,CAAC,CAAA,CAExC,ECHM82C,GAA8B1nB,GAA6B,CAC/D,MAAM2nB,EAAaC,GAAoC,CACrD,GAAG5nB,EACHlrB,OAAOujC,EAASP,EAAU,OACxB,OAAO3kB,GAAc00B,GAAA,OAAA,CAAA,MAAA,mBAAA,EAAA,EAEhB7nB,EAAAA,EAAKlrB,SAALkrB,YAAAA,EAAAA,KAAAA,EAAcqY,EAASP,EAAS,CAAA,EAEnC,CACE,CACE0P,GACCl2C,GAAkB,CACjBq2C,EAAW7oB,MAAQgpB,KAAKppB,IACtBopB,KAAKC,KAAKz2C,EAAKwtB,MAAQ,EAAE,EACxB6oB,EAAW7oB,OAAoB,EAChCkpB,OAAOL,EAAW5oB,UAAY,CAAC,CACjC,CACD,CAAA,CACF,CAEL,CACF,CACF,CAAC,EACD,OAAO4oB,CACT,EAEaM,GAAgB/oB,GACpB,GAAGgpB,GAAUhpB,CAAG,EAAEipB,YAAY,WACnCD,GAAUhpB,CAAG,EAAEkpB,SAAW,IAAI,GAIrBC,GAAqBA,IAAM,CACtC,KAAM,CAAEC,mBAAAA,CAAoB,EAAGC,GAAiB,EAC1CC,EAAWZ,GAA2C,CAC1D96C,IAAK,KACL27C,MAAO,OACPC,MAAO,OACP5pB,MAAO,QACP6pB,UAAW,GACX9I,OAAO+I,EAAMC,EAAM,CACjB,OAAOD,EAAK9b,GAAK+b,EAAK/b,EACvB,EACDh4B,OAAOoqB,EAAK,CACV,OAAO4pB,GAAM5pB,EAAI4N,EAAE,EAAEic,OAAO,gBAAgB,CAC9C,CACF,CAAC,EACKC,EAAWpB,GAA2C,CAC1D96C,IAAK,QACL27C,MAAO,OACP3pB,MAAO,QACP6pB,UAAW,GACX9I,OAAO+I,EAAMC,EAAM,CACjB,OACGP,EAAmBM,EAAK9b,EAAE,GAAK8b,EAAK9b,KACpCwb,EAAmBO,EAAK/b,EAAE,GAAK+b,EAAK/b,GAExC,EACDh4B,OAAOoqB,EAAK,CACV,OAAO4pB,GAAMR,EAAmBppB,EAAI4N,EAAE,GAAK5N,EAAI4N,EAAE,EAAEic,OACjD,gBACF,CACF,CACF,CAAC,EAEKE,EAAYvB,GAAiC,CACjD56C,IAAK,iBACL27C,MAAO,KACPS,eAAgB,GAChBnqB,SAAU,IACV1U,OAAO/c,EAAO4xB,EAAK,CACjB,OAAO+oB,GAAa/oB,CAAG,EAAEiqB,SAAS77C,EAAM87C,SAAQ,CAAE,CACnD,EACDt0C,OAAOoqB,EAAK,CACV,OAAO+oB,GAAa/oB,CAAG,CACzB,CACF,CAAC,EACKmqB,EAAa3B,GAAiC,CAClD56C,IAAK,UACLiyB,SAAU,IACV0pB,MAAO,OACPS,eAAgB,GAChB7+B,OAAO/c,EAAO4xB,EAAK,CACjB,OAAO5xB,EAAM87C,SAAQ,GAAME,GAAWpqB,CAAG,EAAEhuB,IAC5C,EACDgoC,UAAUha,EAAK,CACb,MAAO,CACLqqB,SAAU,CACRC,GAAKF,GAAWpqB,CAAG,EAAEhuB,IAAI,CAC3B,CACD,CACF,EACD4D,OAAOoqB,EAAK,CACV,OAAOoqB,GAAWpqB,CAAG,EAAEhuB,IACzB,CACF,CAAC,EACKu4C,EAAW/B,GAAiC,CAChD56C,IAAK,QACL27C,MAAO,OACP1pB,SAAU,IACVma,UAAUha,EAAK,CACb,MAAO,CACLqqB,SAAU,CACRC,GAAKtqB,EAAIwqB,KAAK,CAChB,CACD,CACF,EACD50C,OAAOoqB,EAAK,CACV,OAAOA,EAAIwqB,KACb,CACF,CAAC,EACKC,EAAoBjC,GAAiC,CACzD56C,IAAK,iBACL27C,MAAO,OACP1pB,SAAU,IACVjqB,OAAOoqB,EAAK,CACV,OAAOoqB,GAAWpqB,CAAG,EAAE0qB,WACzB,CACF,CAAC,EACKC,EAAoBnC,GAAiC,CACzD56C,IAAK,iBACL27C,MAAO,MACP1pB,SAAU,IACVjqB,OAAOoqB,EAAK,CACV,OAAA2oB,GAAAiC,GAAA,KAAA,CAAAC,QAAAA,IAAmBT,CAAAA,GAAWpqB,CAAG,EAAE8qB,WAAW,CAAA,CAAA,CAChD,CACF,CAAC,EAEKC,EAAgBrC,GAA2C,CAC/D96C,IAAK,aACL27C,MAAO,OACPS,eAAgB,GAChB7+B,OAAO/c,EAAO4xB,EAAK,CACjB,OAAO5xB,EAAM87C,YAAclqB,EAAIgrB,UAChC,EACDhR,UAAUha,EAAK,CACb,MAAO,CACLqqB,SAAU,CACRC,GAAKtqB,EAAIgrB,UAAU,CACrB,CACD,CACF,EACDp1C,OAAOoqB,EAAK,CACV,OAAA2oB,GAAA,MAAA,CAAA,MAAA,6CAAAA,CAAAA,GAAAiC,GAAA,KAAA,CAAAC,QAAAA,IAEgB7qB,CAAAA,EAAIgrB,UAAU,CAAA,CAAA,CAAA,CAAA,CAGhC,CACF,CAAC,EASD,MAAO,CACL1B,SAAAA,EACAQ,SAAAA,EACAC,UAAAA,EACAI,WAAAA,EACAI,SAAAA,EACAE,kBAAAA,EACAE,kBAAAA,EACAI,cAAAA,EACAE,cAhBoBA,IAAM,CAC1BlB,EAAUnqB,MAAQ,OAClBuqB,EAAWvqB,MAAQ,OACnB2qB,EAAS3qB,MAAQ,OACjB6qB,EAAkB7qB,MAAQ,OAC1B+qB,EAAkB/qB,MAAQ,MAC3B,CAWA,CACH","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]}
1
+ {"version":3,"file":"table-DwQXCy-b.js","sources":["../../node_modules/.pnpm/vooks@0.2.12_vue@3.5.13_typescript@5.7.3_/node_modules/vooks/es/use-keyboard.js","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/composable/use-deferred-true.mjs","../../node_modules/.pnpm/vueuc@0.4.64_vue@3.5.13_typescript@5.7.3_/node_modules/vueuc/es/overflow/src/index.js","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/composable/use-resize.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/dom/download.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/naive/attribute.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/naive/prop.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/vue/create-ref-setter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_utils/vue/merge-handlers.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/ArrowDown.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/Backward.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/Checkmark.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/FastBackward.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/FastForward.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/Filter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/Forward.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/icons/More.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/focus-detector/src/FocusDetector.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/src/SelectGroupHeader.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/src/SelectOption.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/select-menu/src/SelectMenu.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/src/common-props.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/tag/src/Tag.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/selection/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/selection/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/selection/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/_internal/selection/src/Selection.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/select/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/src/interface.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/src/PopselectPanel.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/popselect/src/Popselect.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/select/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/select/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/select/src/Select.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/pagination/src/Pagination.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/interface.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/BodyCheckbox.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/BodyRadio.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/ellipsis/src/PerformantEllipsis.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/Cell.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/ExpandTrigger.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterMenu.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderFilter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterButton.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/ResizeButton.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderSorter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/SortButton.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/context.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownDivider.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownGroupHeader.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownOption.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownGroup.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownRenderOption.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/DropdownMenu.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/dropdown/src/Dropdown.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/SelectionMenu.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/Header.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/TableParts/Body.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/MainTable.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-check.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-expand.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-group-header.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-resizable.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-scroll.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-sorter.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/data-table/src/use-table-data.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/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}","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}","export function largerSize(size) {\n switch (size) {\n case 'tiny':\n return 'small';\n case 'small':\n return 'medium';\n case 'medium':\n return 'large';\n case 'large':\n return 'huge';\n }\n}\nexport function smallerSize(size) {\n switch (size) {\n case 'tiny':\n return 'mini';\n case 'small':\n return 'tiny';\n case 'medium':\n return 'small';\n case 'large':\n return 'medium';\n case 'huge':\n return 'large';\n }\n throw new Error(`${size} has no smaller size.`);\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 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: 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-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 type { Snapshot } from './types';\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 { snapshotImportTime } = useStorageStore();\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","smallerSize","size","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","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","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","snapshotImportTime","useStorageStore","ctimeCol","title","fixed","sortOrder","rowA","rowB","dayjs","format","mtimeCol","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]}