yuyeon 0.3.5 → 0.3.6-beta.1

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 (139) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +2394 -2332
  3. package/dist/yuyeon.umd.cjs +3 -3
  4. package/lib/abstract/items.js.map +1 -1
  5. package/lib/components/alert/YAlert.js +2 -2
  6. package/lib/components/alert/YAlert.js.map +1 -1
  7. package/lib/components/badge/YBadge.js.map +1 -1
  8. package/lib/components/badge/YBadge.scss +87 -87
  9. package/lib/components/card/YCard.js.map +1 -1
  10. package/lib/components/checkbox/YCheckbox.js.map +1 -1
  11. package/lib/components/date-picker/YDateCalendar.js.map +1 -1
  12. package/lib/components/date-picker/YDatePicker.js.map +1 -1
  13. package/lib/components/date-picker/YDatePickerControl.js.map +1 -1
  14. package/lib/components/date-picker/YMonthPicker.js.map +1 -1
  15. package/lib/components/date-picker/YYearPicker.js.map +1 -1
  16. package/lib/components/dialog/YDialog.js.map +1 -1
  17. package/lib/components/divider/YDivider.js.map +1 -1
  18. package/lib/components/draggable/YDraggable.js.map +1 -1
  19. package/lib/components/draggable/index.js.map +1 -1
  20. package/lib/components/dropdown/YDropdown.js.map +1 -1
  21. package/lib/components/field-input/YFieldInput.js.map +1 -1
  22. package/lib/components/form/YForm.js.map +1 -1
  23. package/lib/components/hover/YHover.js.map +1 -1
  24. package/lib/components/icon/YIcon.js.map +1 -1
  25. package/lib/components/icons/YIconCheckbox.js.map +1 -1
  26. package/lib/components/icons/YIconCheckbox.scss +4 -5
  27. package/lib/components/icons/YIconClear.js.map +1 -1
  28. package/lib/components/icons/YIconDropdown.js.map +1 -1
  29. package/lib/components/icons/YIconExpand.js.map +1 -1
  30. package/lib/components/icons/YIconPageControl.js.map +1 -1
  31. package/lib/components/icons/YIconSort.js.map +1 -1
  32. package/lib/components/img/YImg.js +4 -4
  33. package/lib/components/img/YImg.js.map +1 -1
  34. package/lib/components/img/index.js.map +1 -1
  35. package/lib/components/index.js.map +1 -1
  36. package/lib/components/input/YInput.js.map +1 -1
  37. package/lib/components/layer/YLayer.js.map +1 -1
  38. package/lib/components/layer/base.js +2 -2
  39. package/lib/components/layer/base.js.map +1 -1
  40. package/lib/components/layer/content.js.map +1 -1
  41. package/lib/components/list/YListItem.js.map +1 -1
  42. package/lib/components/menu/YMenu.js +2 -2
  43. package/lib/components/menu/YMenu.js.map +1 -1
  44. package/lib/components/panel/YDividePanel.js.map +1 -1
  45. package/lib/components/panel/YDividePanel.scss +44 -44
  46. package/lib/components/plate/YPlate.js +2 -2
  47. package/lib/components/plate/YPlate.js.map +1 -1
  48. package/lib/components/radio/YRadio.js.map +1 -1
  49. package/lib/components/radio/YRadioIcon.js.map +1 -1
  50. package/lib/components/radio/index.js.map +1 -1
  51. package/lib/components/select/YSelect.js.map +1 -1
  52. package/lib/components/slider/YSlider.js.map +1 -1
  53. package/lib/components/slider/index.js.map +1 -1
  54. package/lib/components/switch/YSwitch.js.map +1 -1
  55. package/lib/components/tab/YTab.js.map +1 -1
  56. package/lib/components/tab/YTabs.js.map +1 -1
  57. package/lib/components/table/YDataTable.js.map +1 -1
  58. package/lib/components/table/YDataTableBody.js.map +1 -1
  59. package/lib/components/table/YDataTableControl.js.map +1 -1
  60. package/lib/components/table/YDataTableControl.scss +17 -17
  61. package/lib/components/table/YDataTableLayerRows.js.map +1 -1
  62. package/lib/components/table/YDataTableServer.js.map +1 -1
  63. package/lib/components/table/YTable.js.map +1 -1
  64. package/lib/components/table/composables/expand.js.map +1 -1
  65. package/lib/components/table/composables/header.js.map +1 -1
  66. package/lib/components/table/composables/items.js.map +1 -1
  67. package/lib/components/table/composables/measure.js.map +1 -1
  68. package/lib/components/table/composables/provides.js.map +1 -1
  69. package/lib/components/table/types/item.js.map +1 -1
  70. package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -1
  71. package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -1
  72. package/lib/components/text-interpolation/YTi.js.map +1 -1
  73. package/lib/components/tooltip/YTooltip.js +2 -2
  74. package/lib/components/tooltip/YTooltip.js.map +1 -1
  75. package/lib/components/tree-view/YTreeView.js +23 -28
  76. package/lib/components/tree-view/YTreeView.js.map +1 -1
  77. package/lib/components/tree-view/YTreeViewNode.js +58 -20
  78. package/lib/components/tree-view/YTreeViewNode.js.map +1 -1
  79. package/lib/components/tree-view/tree-view.js +61 -8
  80. package/lib/components/tree-view/tree-view.js.map +1 -1
  81. package/lib/components/tree-view/types.js.map +1 -1
  82. package/lib/composables/choice.js.map +1 -1
  83. package/lib/composables/coordinate/index.js.map +1 -1
  84. package/lib/composables/coordinate/levitation.js +2 -2
  85. package/lib/composables/coordinate/levitation.js.map +1 -1
  86. package/lib/composables/coordinate/types.js.map +1 -1
  87. package/lib/composables/defaults/types.js.map +1 -1
  88. package/lib/composables/form.js.map +1 -1
  89. package/lib/composables/style-color.js.map +1 -1
  90. package/lib/composables/theme/index.js.map +1 -1
  91. package/lib/composables/theme/types.js.map +1 -1
  92. package/lib/composables/timing.js.map +1 -1
  93. package/lib/composables/validation.js.map +1 -1
  94. package/lib/directives/index.js.map +1 -1
  95. package/lib/directives/plate-wave/index.js +2 -2
  96. package/lib/directives/plate-wave/index.js.map +1 -1
  97. package/lib/directives/plate-wave/plate-wave.scss +44 -44
  98. package/lib/directives/theme-class/index.js.map +1 -1
  99. package/lib/etc/index.js.map +1 -1
  100. package/lib/i18n/built-in.js.map +1 -1
  101. package/lib/i18n/config.js.map +1 -1
  102. package/lib/i18n/types.js.map +1 -1
  103. package/lib/index.js.map +1 -1
  104. package/lib/locales/en.js.map +1 -1
  105. package/lib/locales/ko.js.map +1 -1
  106. package/lib/styles/settings/_provided.scss +33 -33
  107. package/lib/styles/theme/index.scss +4 -4
  108. package/lib/types/index.js.map +1 -1
  109. package/lib/util/color/apca.js +30 -30
  110. package/lib/util/color/apca.js.map +1 -1
  111. package/lib/util/color/const.js.map +1 -1
  112. package/lib/util/color/hct/cam16.js +95 -95
  113. package/lib/util/color/hct/cam16.js.map +1 -1
  114. package/lib/util/color/hct/hct-solver.js +107 -107
  115. package/lib/util/color/hct/hct-solver.js.map +1 -1
  116. package/lib/util/color/hct/hct.js +71 -71
  117. package/lib/util/color/hct/hct.js.map +1 -1
  118. package/lib/util/color/index.js +12 -12
  119. package/lib/util/color/index.js.map +1 -1
  120. package/lib/util/common.js.map +1 -1
  121. package/lib/util/component/component.js.map +1 -1
  122. package/lib/util/component/inject-self.js.map +1 -1
  123. package/lib/util/component/props.js.map +1 -1
  124. package/lib/util/component/types.js.map +1 -1
  125. package/lib/util/date/built-in.js.map +1 -1
  126. package/lib/util/date/index.js.map +1 -1
  127. package/lib/util/date/types.js.map +1 -1
  128. package/lib/util/debounce.js.map +1 -1
  129. package/lib/util/dom.js.map +1 -1
  130. package/lib/util/index.js.map +1 -1
  131. package/lib/util/string.js.map +1 -1
  132. package/lib/util/ui.js.map +1 -1
  133. package/package.json +132 -132
  134. package/types/components/tree-view/YTreeView.d.ts +18 -26
  135. package/types/components/tree-view/YTreeViewNode.d.ts +71 -1
  136. package/types/components/tree-view/tree-view.d.ts +17 -1
  137. package/types/declares.d.ts +1 -1
  138. package/types/globals.d.ts +19 -19
  139. package/types/shims.d.ts +64 -64
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableControl.js","names":["pressDataTablePaginationProps","useRender","propsFactory","defineComponent","YButton","YFieldInput","YIconExpand","YIconPageControl","YPagination","pressYDataTableControlPropsOptions","pageLength","Number","setPageSize","Function","setPage","paginationProps","type","Object","YDataTableControl","name","components","props","setup","_ref","slots","_createVNode","prepend","default","_Fragment","_mergeProps","page","append"],"sources":["../../../src/components/table/YDataTableControl.tsx"],"sourcesContent":["import { type PropType } from 'vue';\n\nimport { pressDataTablePaginationProps } from '@/components/table/composables/pagination';\nimport { useRender } from '@/composables/component';\nimport { propsFactory } from '@/util';\nimport { defineComponent } from '@/util/component';\n\nimport { YButton } from '../button';\nimport { YFieldInput } from '../field-input';\nimport { YIconExpand, YIconPageControl } from '../icons';\nimport { YPagination } from '../pagination';\n\nimport './YDataTableControl.scss';\n\nexport const pressYDataTableControlPropsOptions = propsFactory(\n {\n pageLength: Number as PropType<number>,\n setPageSize: Function as PropType<(pageSize: number) => void>,\n setPage: Function as PropType<(page: number) => void>,\n paginationProps: {\n type: Object,\n },\n ...pressDataTablePaginationProps(),\n },\n 'YDataTableControl',\n);\n\nexport const YDataTableControl = defineComponent({\n name: 'YDataTableControl',\n components: {\n YButton,\n YIconExpand,\n YFieldInput,\n YIconPageControl,\n },\n props: pressYDataTableControlPropsOptions(),\n setup(props, { slots }) {\n useRender(() => {\n return (\n <footer class={['y-data-table-control']}>\n {slots.prepend?.(props)}\n {slots.default ? (\n slots.default()\n ) : (\n <>\n <div class=\"y-data-table-control__start\"></div>\n <div class=\"y-data-table-control__end\">\n <YPagination\n {...props.paginationProps}\n model-value={props.page}\n onUpdate:modelValue={props.setPage}\n length={props.pageLength}\n ></YPagination>\n </div>\n </>\n )}\n {slots.append?.(props)}\n </footer>\n );\n });\n },\n});\n\nexport type YDataTableControl = InstanceType<typeof YDataTableControl>;\n"],"mappings":";SAESA,6BAA6B;AAAA,SAC7BC,SAAS;AAAA,SACTC,YAAY;AAAA,SACZC,eAAe;AAAA,SAEfC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,WAAW,EAAEC,gBAAgB;AAAA,SAC7BC,WAAW;AAEpB;AAEA,OAAO,MAAMC,kCAAkC,GAAGP,YAAY,CAC5D;EACEQ,UAAU,EAAEC,MAA0B;EACtCC,WAAW,EAAEC,QAAgD;EAC7DC,OAAO,EAAED,QAA4C;EACrDE,eAAe,EAAE;IACfC,IAAI,EAAEC;EACR,CAAC;EACD,GAAGjB,6BAA6B,CAAC;AACnC,CAAC,EACD,mBACF,CAAC;AAED,OAAO,MAAMkB,iBAAiB,GAAGf,eAAe,CAAC;EAC/CgB,IAAI,EAAE,mBAAmB;EACzBC,UAAU,EAAE;IACVhB,OAAO;IACPE,WAAW;IACXD,WAAW;IACXE;EACF,CAAC;EACDc,KAAK,EAAEZ,kCAAkC,CAAC,CAAC;EAC3Ca,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpBtB,SAAS,CAAC,MAAM;MACd,OAAAwB,YAAA;QAAA,SACiB,CAAC,sBAAsB;MAAC,IACpCD,KAAK,CAACE,OAAO,GAAGL,KAAK,CAAC,EACtBG,KAAK,CAACG,OAAO,GACZH,KAAK,CAACG,OAAO,CAAC,CAAC,GAAAF,YAAA,CAAAG,SAAA,SAAAH,YAAA;QAAA;MAAA,UAAAA,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAAjB,WAAA,EAAAqB,WAAA,CAMLR,KAAK,CAACN,eAAe;QAAA,eACZM,KAAK,CAACS,IAAI;QAAA,uBACFT,KAAK,CAACP,OAAO;QAAA,UAC1BO,KAAK,CAACX;MAAU,aAI/B,EACAc,KAAK,CAACO,MAAM,GAAGV,KAAK,CAAC;IAG5B,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"YDataTableControl.js","names":["pressDataTablePaginationProps","useRender","propsFactory","defineComponent","YButton","YFieldInput","YIconExpand","YIconPageControl","YPagination","pressYDataTableControlPropsOptions","pageLength","Number","setPageSize","Function","setPage","paginationProps","type","Object","YDataTableControl","name","components","props","setup","_ref","slots","_createVNode","prepend","default","_Fragment","_mergeProps","page","append"],"sources":["../../../src/components/table/YDataTableControl.tsx"],"sourcesContent":["import { type PropType } from 'vue';\r\n\r\nimport { pressDataTablePaginationProps } from '@/components/table/composables/pagination';\r\nimport { useRender } from '@/composables/component';\r\nimport { propsFactory } from '@/util';\r\nimport { defineComponent } from '@/util/component';\r\n\r\nimport { YButton } from '../button';\r\nimport { YFieldInput } from '../field-input';\r\nimport { YIconExpand, YIconPageControl } from '../icons';\r\nimport { YPagination } from '../pagination';\r\n\r\nimport './YDataTableControl.scss';\r\n\r\nexport const pressYDataTableControlPropsOptions = propsFactory(\r\n {\r\n pageLength: Number as PropType<number>,\r\n setPageSize: Function as PropType<(pageSize: number) => void>,\r\n setPage: Function as PropType<(page: number) => void>,\r\n paginationProps: {\r\n type: Object,\r\n },\r\n ...pressDataTablePaginationProps(),\r\n },\r\n 'YDataTableControl',\r\n);\r\n\r\nexport const YDataTableControl = defineComponent({\r\n name: 'YDataTableControl',\r\n components: {\r\n YButton,\r\n YIconExpand,\r\n YFieldInput,\r\n YIconPageControl,\r\n },\r\n props: pressYDataTableControlPropsOptions(),\r\n setup(props, { slots }) {\r\n useRender(() => {\r\n return (\r\n <footer class={['y-data-table-control']}>\r\n {slots.prepend?.(props)}\r\n {slots.default ? (\r\n slots.default()\r\n ) : (\r\n <>\r\n <div class=\"y-data-table-control__start\"></div>\r\n <div class=\"y-data-table-control__end\">\r\n <YPagination\r\n {...props.paginationProps}\r\n model-value={props.page}\r\n onUpdate:modelValue={props.setPage}\r\n length={props.pageLength}\r\n ></YPagination>\r\n </div>\r\n </>\r\n )}\r\n {slots.append?.(props)}\r\n </footer>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableControl = InstanceType<typeof YDataTableControl>;\r\n"],"mappings":";SAESA,6BAA6B;AAAA,SAC7BC,SAAS;AAAA,SACTC,YAAY;AAAA,SACZC,eAAe;AAAA,SAEfC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,WAAW,EAAEC,gBAAgB;AAAA,SAC7BC,WAAW;AAEpB;AAEA,OAAO,MAAMC,kCAAkC,GAAGP,YAAY,CAC5D;EACEQ,UAAU,EAAEC,MAA0B;EACtCC,WAAW,EAAEC,QAAgD;EAC7DC,OAAO,EAAED,QAA4C;EACrDE,eAAe,EAAE;IACfC,IAAI,EAAEC;EACR,CAAC;EACD,GAAGjB,6BAA6B,CAAC;AACnC,CAAC,EACD,mBACF,CAAC;AAED,OAAO,MAAMkB,iBAAiB,GAAGf,eAAe,CAAC;EAC/CgB,IAAI,EAAE,mBAAmB;EACzBC,UAAU,EAAE;IACVhB,OAAO;IACPE,WAAW;IACXD,WAAW;IACXE;EACF,CAAC;EACDc,KAAK,EAAEZ,kCAAkC,CAAC,CAAC;EAC3Ca,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpBtB,SAAS,CAAC,MAAM;MACd,OAAAwB,YAAA;QAAA,SACiB,CAAC,sBAAsB;MAAC,IACpCD,KAAK,CAACE,OAAO,GAAGL,KAAK,CAAC,EACtBG,KAAK,CAACG,OAAO,GACZH,KAAK,CAACG,OAAO,CAAC,CAAC,GAAAF,YAAA,CAAAG,SAAA,SAAAH,YAAA;QAAA;MAAA,UAAAA,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAAjB,WAAA,EAAAqB,WAAA,CAMLR,KAAK,CAACN,eAAe;QAAA,eACZM,KAAK,CAACS,IAAI;QAAA,uBACFT,KAAK,CAACP,OAAO;QAAA,UAC1BO,KAAK,CAACX;MAAU,aAI/B,EACAc,KAAK,CAACO,MAAM,GAAGV,KAAK,CAAC;IAG5B,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,17 +1,17 @@
1
- .y-data-table-control {
2
- display: flex;
3
- align-items: center;
4
- justify-content: space-between;
5
- padding: 8px 16px;
6
- gap: 8px;
7
-
8
- &__start, &__end {
9
- flex: 1 1;
10
- }
11
-
12
- &__end {
13
- flex: 1 1;
14
- display: flex;
15
- justify-content: flex-end;
16
- }
17
- }
1
+ .y-data-table-control {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: space-between;
5
+ padding: 8px 16px;
6
+ gap: 8px;
7
+
8
+ &__start, &__end {
9
+ flex: 1 1;
10
+ }
11
+
12
+ &__end {
13
+ flex: 1 1;
14
+ display: flex;
15
+ justify-content: flex-end;
16
+ }
17
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableLayerRows.js","names":["computed","shallowRef","watch","createVNode","_createVNode","useRender","defineComponent","YDataTableLayerRow","YDataTableLayerRows","name","props","layerProps","Object","items","Array","classes","Function","styles","single","Boolean","slots","setup","_ref","wrapperObserver","wrapperOffsetTop","scrollTop","rowWidth","wrapperEl","YTable","wrapperRef","value","headRect","YDataTable","neo","onScrollWrapper","addEventListener","ResizeObserver","offsetTop","clientWidth","observe","immediate","requestAnimationFrame","map","item"],"sources":["../../../src/components/table/YDataTableLayerRows.tsx"],"sourcesContent":["import { type PropType, SlotsType, computed, shallowRef, watch } from 'vue';\n\nimport { useRender } from '@/composables';\nimport { defineComponent } from '@/util/component';\n\nimport {\n YDataTableLayerRow,\n type YDataTableLayerRowDefaultSlotProps,\n} from './YDataTableLayerRow';\n\nimport './YDataTableLayerRows.scss';\n\nexport const YDataTableLayerRows = defineComponent({\n name: 'YDataTableLayerRows',\n props: {\n layerProps: Object as PropType<any>,\n items: Array as PropType<any[]>,\n classes: Function as PropType<(item: any) => string[] | string>,\n styles: Object as PropType<(item: any, originStyle: any) => any>,\n single: Boolean as PropType<boolean>,\n },\n slots: Object as SlotsType<{\n default: (slotProps: YDataTableLayerRowDefaultSlotProps) => any;\n }>,\n setup(props, { slots }) {\n // wrapper\n const wrapperObserver = shallowRef<ResizeObserver | null>(null);\n const wrapperOffsetTop = shallowRef(0);\n const scrollTop = shallowRef(0);\n const rowWidth = shallowRef(0);\n\n const wrapperEl = computed(\n () => props.layerProps?.YTable?.wrapperRef.value,\n );\n\n const headRect = computed(\n () => props.layerProps?.YDataTable?.headRect.value,\n );\n\n watch(\n wrapperEl,\n (neo) => {\n if (neo) {\n onScrollWrapper();\n neo.addEventListener('scroll', onScrollWrapper);\n wrapperObserver.value = new ResizeObserver(() => {\n wrapperOffsetTop.value = neo.offsetTop ?? 0;\n rowWidth.value = neo?.clientWidth ?? 0;\n });\n wrapperObserver.value.observe(neo);\n }\n },\n { immediate: true },\n );\n\n function onScrollWrapper() {\n requestAnimationFrame(() => {\n scrollTop.value = wrapperEl.value?.scrollTop ?? 0;\n });\n }\n\n useRender(() => (\n <div class=\"y-data-table-layer-rows\">\n {props.items?.map((item) => {\n return (\n <YDataTableLayerRow\n item={item}\n head-rect={headRect}\n scroll-top={scrollTop.value}\n width={rowWidth.value}\n classes={props.classes}\n styles={props.styles}\n v-slots={slots}\n ></YDataTableLayerRow>\n );\n })}\n </div>\n ));\n },\n});\n"],"mappings":"AAAA,SAAmCA,QAAQ,EAAEC,UAAU,EAAEC,KAAK,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAEnEC,SAAS;AAAA,SACTC,eAAe;AAAA,SAGtBC,kBAAkB;AAIpB;AAEA,OAAO,MAAMC,mBAAmB,GAAGF,eAAe,CAAC;EACjDG,IAAI,EAAE,qBAAqB;EAC3BC,KAAK,EAAE;IACLC,UAAU,EAAEC,MAAuB;IACnCC,KAAK,EAAEC,KAAwB;IAC/BC,OAAO,EAAEC,QAAsD;IAC/DC,MAAM,EAAEL,MAAwD;IAChEM,MAAM,EAAEC;EACV,CAAC;EACDC,KAAK,EAAER,MAEL;EACFS,KAAKA,CAACX,KAAK,EAAAY,IAAA,EAAa;IAAA,IAAX;MAAEF;IAAM,CAAC,GAAAE,IAAA;IACpB;IACA,MAAMC,eAAe,GAAGtB,UAAU,CAAwB,IAAI,CAAC;IAC/D,MAAMuB,gBAAgB,GAAGvB,UAAU,CAAC,CAAC,CAAC;IACtC,MAAMwB,SAAS,GAAGxB,UAAU,CAAC,CAAC,CAAC;IAC/B,MAAMyB,QAAQ,GAAGzB,UAAU,CAAC,CAAC,CAAC;IAE9B,MAAM0B,SAAS,GAAG3B,QAAQ,CACxB,MAAMU,KAAK,CAACC,UAAU,EAAEiB,MAAM,EAAEC,UAAU,CAACC,KAC7C,CAAC;IAED,MAAMC,QAAQ,GAAG/B,QAAQ,CACvB,MAAMU,KAAK,CAACC,UAAU,EAAEqB,UAAU,EAAED,QAAQ,CAACD,KAC/C,CAAC;IAED5B,KAAK,CACHyB,SAAS,EACRM,GAAG,IAAK;MACP,IAAIA,GAAG,EAAE;QACPC,eAAe,CAAC,CAAC;QACjBD,GAAG,CAACE,gBAAgB,CAAC,QAAQ,EAAED,eAAe,CAAC;QAC/CX,eAAe,CAACO,KAAK,GAAG,IAAIM,cAAc,CAAC,MAAM;UAC/CZ,gBAAgB,CAACM,KAAK,GAAGG,GAAG,CAACI,SAAS,IAAI,CAAC;UAC3CX,QAAQ,CAACI,KAAK,GAAGG,GAAG,EAAEK,WAAW,IAAI,CAAC;QACxC,CAAC,CAAC;QACFf,eAAe,CAACO,KAAK,CAACS,OAAO,CAACN,GAAG,CAAC;MACpC;IACF,CAAC,EACD;MAAEO,SAAS,EAAE;IAAK,CACpB,CAAC;IAED,SAASN,eAAeA,CAAA,EAAG;MACzBO,qBAAqB,CAAC,MAAM;QAC1BhB,SAAS,CAACK,KAAK,GAAGH,SAAS,CAACG,KAAK,EAAEL,SAAS,IAAI,CAAC;MACnD,CAAC,CAAC;IACJ;IAEApB,SAAS,CAAC,MAAAD,YAAA;MAAA;IAAA,IAELM,KAAK,CAACG,KAAK,EAAE6B,GAAG,CAAEC,IAAI,IAAK;MAC1B,OAAAvC,YAAA,CAAAG,kBAAA;QAAA,QAEUoC,IAAI;QAAA,aACCZ,QAAQ;QAAA,cACPN,SAAS,CAACK,KAAK;QAAA,SACpBJ,QAAQ,CAACI,KAAK;QAAA,WACZpB,KAAK,CAACK,OAAO;QAAA,UACdL,KAAK,CAACO;MAAM,GACXG,KAAK;IAGpB,CAAC,CAAC,EAEL,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"YDataTableLayerRows.js","names":["computed","shallowRef","watch","createVNode","_createVNode","useRender","defineComponent","YDataTableLayerRow","YDataTableLayerRows","name","props","layerProps","Object","items","Array","classes","Function","styles","single","Boolean","slots","setup","_ref","wrapperObserver","wrapperOffsetTop","scrollTop","rowWidth","wrapperEl","YTable","wrapperRef","value","headRect","YDataTable","neo","onScrollWrapper","addEventListener","ResizeObserver","offsetTop","clientWidth","observe","immediate","requestAnimationFrame","map","item"],"sources":["../../../src/components/table/YDataTableLayerRows.tsx"],"sourcesContent":["import { type PropType, SlotsType, computed, shallowRef, watch } from 'vue';\r\n\r\nimport { useRender } from '@/composables';\r\nimport { defineComponent } from '@/util/component';\r\n\r\nimport {\r\n YDataTableLayerRow,\r\n type YDataTableLayerRowDefaultSlotProps,\r\n} from './YDataTableLayerRow';\r\n\r\nimport './YDataTableLayerRows.scss';\r\n\r\nexport const YDataTableLayerRows = defineComponent({\r\n name: 'YDataTableLayerRows',\r\n props: {\r\n layerProps: Object as PropType<any>,\r\n items: Array as PropType<any[]>,\r\n classes: Function as PropType<(item: any) => string[] | string>,\r\n styles: Object as PropType<(item: any, originStyle: any) => any>,\r\n single: Boolean as PropType<boolean>,\r\n },\r\n slots: Object as SlotsType<{\r\n default: (slotProps: YDataTableLayerRowDefaultSlotProps) => any;\r\n }>,\r\n setup(props, { slots }) {\r\n // wrapper\r\n const wrapperObserver = shallowRef<ResizeObserver | null>(null);\r\n const wrapperOffsetTop = shallowRef(0);\r\n const scrollTop = shallowRef(0);\r\n const rowWidth = shallowRef(0);\r\n\r\n const wrapperEl = computed(\r\n () => props.layerProps?.YTable?.wrapperRef.value,\r\n );\r\n\r\n const headRect = computed(\r\n () => props.layerProps?.YDataTable?.headRect.value,\r\n );\r\n\r\n watch(\r\n wrapperEl,\r\n (neo) => {\r\n if (neo) {\r\n onScrollWrapper();\r\n neo.addEventListener('scroll', onScrollWrapper);\r\n wrapperObserver.value = new ResizeObserver(() => {\r\n wrapperOffsetTop.value = neo.offsetTop ?? 0;\r\n rowWidth.value = neo?.clientWidth ?? 0;\r\n });\r\n wrapperObserver.value.observe(neo);\r\n }\r\n },\r\n { immediate: true },\r\n );\r\n\r\n function onScrollWrapper() {\r\n requestAnimationFrame(() => {\r\n scrollTop.value = wrapperEl.value?.scrollTop ?? 0;\r\n });\r\n }\r\n\r\n useRender(() => (\r\n <div class=\"y-data-table-layer-rows\">\r\n {props.items?.map((item) => {\r\n return (\r\n <YDataTableLayerRow\r\n item={item}\r\n head-rect={headRect}\r\n scroll-top={scrollTop.value}\r\n width={rowWidth.value}\r\n classes={props.classes}\r\n styles={props.styles}\r\n v-slots={slots}\r\n ></YDataTableLayerRow>\r\n );\r\n })}\r\n </div>\r\n ));\r\n },\r\n});\r\n"],"mappings":"AAAA,SAAmCA,QAAQ,EAAEC,UAAU,EAAEC,KAAK,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAEnEC,SAAS;AAAA,SACTC,eAAe;AAAA,SAGtBC,kBAAkB;AAIpB;AAEA,OAAO,MAAMC,mBAAmB,GAAGF,eAAe,CAAC;EACjDG,IAAI,EAAE,qBAAqB;EAC3BC,KAAK,EAAE;IACLC,UAAU,EAAEC,MAAuB;IACnCC,KAAK,EAAEC,KAAwB;IAC/BC,OAAO,EAAEC,QAAsD;IAC/DC,MAAM,EAAEL,MAAwD;IAChEM,MAAM,EAAEC;EACV,CAAC;EACDC,KAAK,EAAER,MAEL;EACFS,KAAKA,CAACX,KAAK,EAAAY,IAAA,EAAa;IAAA,IAAX;MAAEF;IAAM,CAAC,GAAAE,IAAA;IACpB;IACA,MAAMC,eAAe,GAAGtB,UAAU,CAAwB,IAAI,CAAC;IAC/D,MAAMuB,gBAAgB,GAAGvB,UAAU,CAAC,CAAC,CAAC;IACtC,MAAMwB,SAAS,GAAGxB,UAAU,CAAC,CAAC,CAAC;IAC/B,MAAMyB,QAAQ,GAAGzB,UAAU,CAAC,CAAC,CAAC;IAE9B,MAAM0B,SAAS,GAAG3B,QAAQ,CACxB,MAAMU,KAAK,CAACC,UAAU,EAAEiB,MAAM,EAAEC,UAAU,CAACC,KAC7C,CAAC;IAED,MAAMC,QAAQ,GAAG/B,QAAQ,CACvB,MAAMU,KAAK,CAACC,UAAU,EAAEqB,UAAU,EAAED,QAAQ,CAACD,KAC/C,CAAC;IAED5B,KAAK,CACHyB,SAAS,EACRM,GAAG,IAAK;MACP,IAAIA,GAAG,EAAE;QACPC,eAAe,CAAC,CAAC;QACjBD,GAAG,CAACE,gBAAgB,CAAC,QAAQ,EAAED,eAAe,CAAC;QAC/CX,eAAe,CAACO,KAAK,GAAG,IAAIM,cAAc,CAAC,MAAM;UAC/CZ,gBAAgB,CAACM,KAAK,GAAGG,GAAG,CAACI,SAAS,IAAI,CAAC;UAC3CX,QAAQ,CAACI,KAAK,GAAGG,GAAG,EAAEK,WAAW,IAAI,CAAC;QACxC,CAAC,CAAC;QACFf,eAAe,CAACO,KAAK,CAACS,OAAO,CAACN,GAAG,CAAC;MACpC;IACF,CAAC,EACD;MAAEO,SAAS,EAAE;IAAK,CACpB,CAAC;IAED,SAASN,eAAeA,CAAA,EAAG;MACzBO,qBAAqB,CAAC,MAAM;QAC1BhB,SAAS,CAACK,KAAK,GAAGH,SAAS,CAACG,KAAK,EAAEL,SAAS,IAAI,CAAC;MACnD,CAAC,CAAC;IACJ;IAEApB,SAAS,CAAC,MAAAD,YAAA;MAAA;IAAA,IAELM,KAAK,CAACG,KAAK,EAAE6B,GAAG,CAAEC,IAAI,IAAK;MAC1B,OAAAvC,YAAA,CAAAG,kBAAA;QAAA,QAEUoC,IAAI;QAAA,aACCZ,QAAQ;QAAA,cACPN,SAAS,CAACK,KAAK;QAAA,SACpBJ,QAAQ,CAACI,KAAK;QAAA,WACZpB,KAAK,CAACK,OAAO;QAAA,UACdL,KAAK,CAACO;MAAM,GACXG,KAAK;IAGpB,CAAC,CAAC,EAEL,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableServer.js","names":["Fragment","computed","provide","ref","toRef","createVNode","_createVNode","_Fragment","mergeProps","_mergeProps","provideExpand","YDataTableInjectionKey","useRender","useResizeObserver","omit","chooseProps","defineComponent","propsFactory","debounce","toStyleSizeValue","pressDataTableProps","YDataTableBody","YDataTableControl","pressYDataTableControlPropsOptions","YDataTableHead","YDataTableLayer","YTable","createHeader","useItems","useOptions","createPagination","providePagination","provideSelection","createSorting","provideSorting","pressDataTableServerProps","total","type","Number","String","required","YDataTableServer","name","components","props","emits","value","page","pageSize","sortBy","options","expanded","click:row","e","setup","_ref","slots","emit","TableBodyRef","multiSort","parseInt","columns","headers","enableSelect","items","toggleSort","pageLength","setPageSize","setPage","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","pageItems","isExpanded","toggleExpand","headRect","debounceMeasureHead","measureHead","resizeObservedRef","headObserveRef","entries","search","slotProps","contentRect","yDataTableHeadProps","yDataTableBodyProps","yTableProps","loading","length","hideNoData","height","top","leading","default","thead","tbody","tfoot","trailing","bottom","paginationProps","prepend"],"sources":["../../../src/components/table/YDataTableServer.tsx"],"sourcesContent":["import { Fragment, type PropType, computed, provide, ref, toRef } from 'vue';\n\nimport { provideExpand } from '@/components/table/composables/expand';\nimport { YDataTableInjectionKey } from '@/components/table/composables/provides';\nimport { useRender } from '@/composables/component';\nimport { useResizeObserver } from '@/composables/resize-observer';\nimport { omit } from '@/util/common';\nimport { chooseProps, defineComponent, propsFactory } from '@/util/component';\nimport { debounce } from '@/util/debounce';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport { pressDataTableProps } from './YDataTable';\nimport { YDataTableBody } from './YDataTableBody';\nimport {\n YDataTableControl,\n pressYDataTableControlPropsOptions,\n} from './YDataTableControl';\nimport { YDataTableHead } from './YDataTableHead';\nimport { YDataTableLayer } from './YDataTableLayer';\nimport { YTable } from './YTable';\nimport { createHeader } from './composables/header';\nimport { useItems } from './composables/items';\nimport { useOptions } from './composables/options';\nimport { createPagination, providePagination } from './composables/pagination';\nimport { provideSelection } from './composables/selection';\nimport { createSorting, provideSorting } from './composables/sorting';\nimport { YDataTableSlotProps } from './types';\n\nexport const pressDataTableServerProps = propsFactory(\n {\n total: {\n type: [Number, String] as PropType<number | string>,\n required: true,\n },\n ...omit(pressYDataTableControlPropsOptions(), [\n 'setPage',\n 'setPageSize',\n 'pageLength',\n ]),\n ...pressDataTableProps(),\n },\n 'YDataTableServer',\n);\n\nexport const YDataTableServer = defineComponent({\n name: 'YDataTableServer',\n components: {\n YTable,\n YDataTableLayer,\n YDataTableHead,\n YDataTableBody,\n YDataTableControl,\n },\n props: {\n ...pressDataTableServerProps(),\n },\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:pageSize': (pageSize: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (expanded: any[]) => true,\n 'click:row': (e: Event, value: { row: any }) => true,\n },\n setup(props, { slots, emit }) {\n const TableBodyRef = ref();\n const { page, pageSize } = createPagination(props);\n const { sortBy, multiSort } = createSorting(props);\n const total = computed(() => parseInt(props.total as string));\n const { columns, headers } = createHeader(props, {\n enableSelect: toRef(props, 'enableSelect'),\n });\n const { items } = useItems(props, columns);\n\n const { toggleSort } = provideSorting({ sortBy, multiSort, page });\n const { pageLength, setPageSize, setPage } = providePagination({\n page,\n pageSize,\n total,\n });\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect,\n someSelected,\n allSelected,\n } = provideSelection(props, { allItems: items, pageItems: items });\n const { isExpanded, toggleExpand } = provideExpand(props);\n\n const headRect = ref<DOMRectReadOnly>();\n const debounceMeasureHead = debounce(measureHead, 100);\n const { resizeObservedRef: headObserveRef } = useResizeObserver(\n (entries) => {\n debounceMeasureHead(entries);\n },\n );\n\n useOptions(\n {\n page,\n pageSize,\n search: toRef(props, 'search'),\n sortBy,\n },\n emit,\n );\n\n const slotProps = computed<YDataTableSlotProps>(() => {\n return {\n // pagination\n page: page.value,\n pageSize: pageSize.value,\n pageLength: pageLength.value,\n setPageSize,\n setPage,\n // sorting\n sortBy: sortBy.value,\n toggleSort,\n // expand\n isExpanded,\n toggleExpand,\n // selection\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n // matrix\n items: items.value,\n columns: columns.value,\n headers: headers.value,\n //\n TableBodyRef,\n };\n });\n\n function measureHead(entries: ResizeObserverEntry[]) {\n headRect.value = entries?.[0].contentRect;\n }\n\n provide(YDataTableInjectionKey, {\n toggleSort,\n sortBy,\n headRect,\n });\n\n useRender(() => {\n const yDataTableHeadProps = chooseProps(props, YDataTableHead.props);\n const yDataTableBodyProps = chooseProps(props, YDataTableBody.props);\n const yTableProps = chooseProps(props, YTable.props);\n return (\n <YTable\n class={[\n 'y-data-table',\n {\n 'y-data-table--no-data':\n !props.loading && props.items.length < 1 && !props.hideNoData,\n },\n ]}\n {...yTableProps}\n style={{\n '--y-table-head-height': toStyleSizeValue(headRect.value?.height),\n }}\n >\n {{\n top: () => slots.top?.(slotProps.value),\n leading: () =>\n slots.leading ? (\n slots.leading(slotProps.value)\n ) : (\n <Fragment>\n <YDataTableLayer\n v-slots={slots}\n slotProps={slotProps.value}\n ></YDataTableLayer>\n </Fragment>\n ),\n default: () =>\n slots.default ? (\n slots.default(slotProps.value)\n ) : (\n <Fragment>\n <thead ref={headObserveRef}>\n <YDataTableHead\n v-slots={slots}\n {...yDataTableHeadProps}\n ></YDataTableHead>\n </thead>\n {slots.thead?.(slotProps.value)}\n <tbody>\n <YDataTableBody\n ref={TableBodyRef}\n v-slots={slots}\n {...yDataTableBodyProps}\n items={items.value}\n ></YDataTableBody>\n </tbody>\n {slots.tbody?.(slotProps.value)}\n {slots.tfoot?.(slotProps.value)}\n </Fragment>\n ),\n trailing: () => slots.trailing?.(slotProps.value),\n bottom: () =>\n slots.bottom ? (\n slots.bottom(slotProps.value)\n ) : (\n <YDataTableControl\n {...chooseProps(slotProps.value, YDataTableControl.props)}\n paginationProps={props.paginationProps}\n v-slots={{\n prepend: slots['control.prepend'],\n }}\n ></YDataTableControl>\n ),\n }}\n </YTable>\n );\n });\n },\n});\n\nexport type YDataTableServer = InstanceType<typeof YDataTableServer>;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"YDataTableServer.js","names":["Fragment","computed","provide","ref","toRef","createVNode","_createVNode","_Fragment","mergeProps","_mergeProps","provideExpand","YDataTableInjectionKey","useRender","useResizeObserver","omit","chooseProps","defineComponent","propsFactory","debounce","toStyleSizeValue","pressDataTableProps","YDataTableBody","YDataTableControl","pressYDataTableControlPropsOptions","YDataTableHead","YDataTableLayer","YTable","createHeader","useItems","useOptions","createPagination","providePagination","provideSelection","createSorting","provideSorting","pressDataTableServerProps","total","type","Number","String","required","YDataTableServer","name","components","props","emits","value","page","pageSize","sortBy","options","expanded","click:row","e","setup","_ref","slots","emit","TableBodyRef","multiSort","parseInt","columns","headers","enableSelect","items","toggleSort","pageLength","setPageSize","setPage","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","pageItems","isExpanded","toggleExpand","headRect","debounceMeasureHead","measureHead","resizeObservedRef","headObserveRef","entries","search","slotProps","contentRect","yDataTableHeadProps","yDataTableBodyProps","yTableProps","loading","length","hideNoData","height","top","leading","default","thead","tbody","tfoot","trailing","bottom","paginationProps","prepend"],"sources":["../../../src/components/table/YDataTableServer.tsx"],"sourcesContent":["import { Fragment, type PropType, computed, provide, ref, toRef } from 'vue';\r\n\r\nimport { provideExpand } from '@/components/table/composables/expand';\r\nimport { YDataTableInjectionKey } from '@/components/table/composables/provides';\r\nimport { useRender } from '@/composables/component';\r\nimport { useResizeObserver } from '@/composables/resize-observer';\r\nimport { omit } from '@/util/common';\r\nimport { chooseProps, defineComponent, propsFactory } from '@/util/component';\r\nimport { debounce } from '@/util/debounce';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport { pressDataTableProps } from './YDataTable';\r\nimport { YDataTableBody } from './YDataTableBody';\r\nimport {\r\n YDataTableControl,\r\n pressYDataTableControlPropsOptions,\r\n} from './YDataTableControl';\r\nimport { YDataTableHead } from './YDataTableHead';\r\nimport { YDataTableLayer } from './YDataTableLayer';\r\nimport { YTable } from './YTable';\r\nimport { createHeader } from './composables/header';\r\nimport { useItems } from './composables/items';\r\nimport { useOptions } from './composables/options';\r\nimport { createPagination, providePagination } from './composables/pagination';\r\nimport { provideSelection } from './composables/selection';\r\nimport { createSorting, provideSorting } from './composables/sorting';\r\nimport { YDataTableSlotProps } from './types';\r\n\r\nexport const pressDataTableServerProps = propsFactory(\r\n {\r\n total: {\r\n type: [Number, String] as PropType<number | string>,\r\n required: true,\r\n },\r\n ...omit(pressYDataTableControlPropsOptions(), [\r\n 'setPage',\r\n 'setPageSize',\r\n 'pageLength',\r\n ]),\r\n ...pressDataTableProps(),\r\n },\r\n 'YDataTableServer',\r\n);\r\n\r\nexport const YDataTableServer = defineComponent({\r\n name: 'YDataTableServer',\r\n components: {\r\n YTable,\r\n YDataTableLayer,\r\n YDataTableHead,\r\n YDataTableBody,\r\n YDataTableControl,\r\n },\r\n props: {\r\n ...pressDataTableServerProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: any[]) => true,\r\n 'update:page': (page: number) => true,\r\n 'update:pageSize': (pageSize: number) => true,\r\n 'update:sortBy': (sortBy: any) => true,\r\n 'update:options': (options: any) => true,\r\n 'update:expanded': (expanded: any[]) => true,\r\n 'click:row': (e: Event, value: { row: any }) => true,\r\n },\r\n setup(props, { slots, emit }) {\r\n const TableBodyRef = ref();\r\n const { page, pageSize } = createPagination(props);\r\n const { sortBy, multiSort } = createSorting(props);\r\n const total = computed(() => parseInt(props.total as string));\r\n const { columns, headers } = createHeader(props, {\r\n enableSelect: toRef(props, 'enableSelect'),\r\n });\r\n const { items } = useItems(props, columns);\r\n\r\n const { toggleSort } = provideSorting({ sortBy, multiSort, page });\r\n const { pageLength, setPageSize, setPage } = providePagination({\r\n page,\r\n pageSize,\r\n total,\r\n });\r\n const {\r\n isSelected,\r\n select,\r\n selectAll,\r\n toggleSelect,\r\n someSelected,\r\n allSelected,\r\n } = provideSelection(props, { allItems: items, pageItems: items });\r\n const { isExpanded, toggleExpand } = provideExpand(props);\r\n\r\n const headRect = ref<DOMRectReadOnly>();\r\n const debounceMeasureHead = debounce(measureHead, 100);\r\n const { resizeObservedRef: headObserveRef } = useResizeObserver(\r\n (entries) => {\r\n debounceMeasureHead(entries);\r\n },\r\n );\r\n\r\n useOptions(\r\n {\r\n page,\r\n pageSize,\r\n search: toRef(props, 'search'),\r\n sortBy,\r\n },\r\n emit,\r\n );\r\n\r\n const slotProps = computed<YDataTableSlotProps>(() => {\r\n return {\r\n // pagination\r\n page: page.value,\r\n pageSize: pageSize.value,\r\n pageLength: pageLength.value,\r\n setPageSize,\r\n setPage,\r\n // sorting\r\n sortBy: sortBy.value,\r\n toggleSort,\r\n // expand\r\n isExpanded,\r\n toggleExpand,\r\n // selection\r\n someSelected: someSelected.value,\r\n allSelected: allSelected.value,\r\n isSelected,\r\n select,\r\n selectAll,\r\n toggleSelect,\r\n // matrix\r\n items: items.value,\r\n columns: columns.value,\r\n headers: headers.value,\r\n //\r\n TableBodyRef,\r\n };\r\n });\r\n\r\n function measureHead(entries: ResizeObserverEntry[]) {\r\n headRect.value = entries?.[0].contentRect;\r\n }\r\n\r\n provide(YDataTableInjectionKey, {\r\n toggleSort,\r\n sortBy,\r\n headRect,\r\n });\r\n\r\n useRender(() => {\r\n const yDataTableHeadProps = chooseProps(props, YDataTableHead.props);\r\n const yDataTableBodyProps = chooseProps(props, YDataTableBody.props);\r\n const yTableProps = chooseProps(props, YTable.props);\r\n return (\r\n <YTable\r\n class={[\r\n 'y-data-table',\r\n {\r\n 'y-data-table--no-data':\r\n !props.loading && props.items.length < 1 && !props.hideNoData,\r\n },\r\n ]}\r\n {...yTableProps}\r\n style={{\r\n '--y-table-head-height': toStyleSizeValue(headRect.value?.height),\r\n }}\r\n >\r\n {{\r\n top: () => slots.top?.(slotProps.value),\r\n leading: () =>\r\n slots.leading ? (\r\n slots.leading(slotProps.value)\r\n ) : (\r\n <Fragment>\r\n <YDataTableLayer\r\n v-slots={slots}\r\n slotProps={slotProps.value}\r\n ></YDataTableLayer>\r\n </Fragment>\r\n ),\r\n default: () =>\r\n slots.default ? (\r\n slots.default(slotProps.value)\r\n ) : (\r\n <Fragment>\r\n <thead ref={headObserveRef}>\r\n <YDataTableHead\r\n v-slots={slots}\r\n {...yDataTableHeadProps}\r\n ></YDataTableHead>\r\n </thead>\r\n {slots.thead?.(slotProps.value)}\r\n <tbody>\r\n <YDataTableBody\r\n ref={TableBodyRef}\r\n v-slots={slots}\r\n {...yDataTableBodyProps}\r\n items={items.value}\r\n ></YDataTableBody>\r\n </tbody>\r\n {slots.tbody?.(slotProps.value)}\r\n {slots.tfoot?.(slotProps.value)}\r\n </Fragment>\r\n ),\r\n trailing: () => slots.trailing?.(slotProps.value),\r\n bottom: () =>\r\n slots.bottom ? (\r\n slots.bottom(slotProps.value)\r\n ) : (\r\n <YDataTableControl\r\n {...chooseProps(slotProps.value, YDataTableControl.props)}\r\n paginationProps={props.paginationProps}\r\n v-slots={{\r\n prepend: slots['control.prepend'],\r\n }}\r\n ></YDataTableControl>\r\n ),\r\n }}\r\n </YTable>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableServer = InstanceType<typeof YDataTableServer>;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"YTable.js","names":["provide","createVNode","_createVNode","useRender","defineComponent","propsFactory","toStyleSizeValue","useRectMeasure","YTableInjectionKey","pressYTableProps","tag","type","String","default","fixedHead","Boolean","height","Number","flexHeight","onScroll","Function","YTable","name","props","emits","setup","_ref","slots","emit","containerRef","tableRef","containerRect","wrapperRef","wrapperRect","e","ElTag","containerHeight","value","width","top","leading","trailing","container","bottom"],"sources":["../../../src/components/table/YTable.tsx"],"sourcesContent":["import { type PropType, provide } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent, propsFactory } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport { useRectMeasure } from './composables/measure';\n\nimport './YTable.scss';\nimport { YTableInjectionKey } from '@/components/table/composables/provides';\n\nexport const pressYTableProps = propsFactory(\n {\n tag: {\n type: String as PropType<string>,\n default: 'div',\n },\n fixedHead: {\n type: Boolean as PropType<boolean>,\n },\n height: {\n type: [Number, String] as PropType<number | string>,\n },\n flexHeight: {\n type: Boolean as PropType<boolean>,\n },\n onScroll: Function as PropType<(e: Event) => void>,\n },\n 'YTable',\n);\n\nexport const YTable = defineComponent({\n name: 'YTable',\n props: {\n ...pressYTableProps(),\n },\n emits: ['scroll'],\n setup(props, { slots, emit }) {\n const { containerRef, tableRef, containerRect, wrapperRef, wrapperRect } =\n useRectMeasure();\n\n provide(YTableInjectionKey, {\n containerRect,\n tableRef,\n wrapperRef,\n wrapperRect,\n });\n\n function onScroll(e: Event) {\n emit('scroll', e);\n }\n\n useRender(() => {\n const ElTag = (props.tag as keyof HTMLElementTagNameMap) ?? 'div';\n const containerHeight = props.flexHeight\n ? (containerRect.value?.height ?? props.height)\n : props.height;\n return (\n <ElTag\n class={[\n 'y-table',\n {\n 'y-table--fixed-head': props.fixedHead,\n 'y-table--fixed-height': props.flexHeight || props.height,\n 'y-table--flex-height': props.flexHeight,\n },\n ]}\n style={{\n '--y-table-container-width': toStyleSizeValue(\n containerRect.value?.width,\n ),\n '--y-table-wrapper-width': toStyleSizeValue(\n wrapperRect.value?.width,\n ),\n }}\n >\n {slots.top?.()}\n {slots.default ? (\n <div ref={containerRef} class={['y-table__container']}>\n {slots.leading?.()}\n <div\n class={['y-table__wrapper']}\n style={{\n height: toStyleSizeValue(containerHeight),\n }}\n onScroll={onScroll}\n >\n <table ref={tableRef}>{slots.default()}</table>\n </div>\n {slots.trailing?.()}\n </div>\n ) : (\n slots.container?.(containerRef, containerRect)\n )}\n {slots.bottom?.()}\n </ElTag>\n );\n });\n },\n});\n\nexport type YTable = InstanceType<typeof YTable>;\n"],"mappings":"AAAA,SAAwBA,OAAO,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAEpCC,SAAS;AAAA,SACTC,eAAe,EAAEC,YAAY;AAAA,SAC7BC,gBAAgB;AAAA,SAEhBC,cAAc;AAEvB;AAAuB,SACdC,kBAAkB;AAE3B,OAAO,MAAMC,gBAAgB,GAAGJ,YAAY,CAC1C;EACEK,GAAG,EAAE;IACHC,IAAI,EAAEC,MAA0B;IAChCC,OAAO,EAAE;EACX,CAAC;EACDC,SAAS,EAAE;IACTH,IAAI,EAAEI;EACR,CAAC;EACDC,MAAM,EAAE;IACNL,IAAI,EAAE,CAACM,MAAM,EAAEL,MAAM;EACvB,CAAC;EACDM,UAAU,EAAE;IACVP,IAAI,EAAEI;EACR,CAAC;EACDI,QAAQ,EAAEC;AACZ,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAMC,MAAM,GAAGjB,eAAe,CAAC;EACpCkB,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;IACL,GAAGd,gBAAgB,CAAC;EACtB,CAAC;EACDe,KAAK,EAAE,CAAC,QAAQ,CAAC;EACjBC,KAAKA,CAACF,KAAK,EAAAG,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC1B,MAAM;MAAEG,YAAY;MAAEC,QAAQ;MAAEC,aAAa;MAAEC,UAAU;MAAEC;IAAY,CAAC,GACtE1B,cAAc,CAAC,CAAC;IAElBP,OAAO,CAACQ,kBAAkB,EAAE;MAC1BuB,aAAa;MACbD,QAAQ;MACRE,UAAU;MACVC;IACF,CAAC,CAAC;IAEF,SAASd,QAAQA,CAACe,CAAQ,EAAE;MAC1BN,IAAI,CAAC,QAAQ,EAAEM,CAAC,CAAC;IACnB;IAEA/B,SAAS,CAAC,MAAM;MACd,MAAMgC,KAAK,GAAIZ,KAAK,CAACb,GAAG,IAAoC,KAAK;MACjE,MAAM0B,eAAe,GAAGb,KAAK,CAACL,UAAU,GACnCa,aAAa,CAACM,KAAK,EAAErB,MAAM,IAAIO,KAAK,CAACP,MAAM,GAC5CO,KAAK,CAACP,MAAM;MAChB,OAAAd,YAAA,CAAAiC,KAAA;QAAA,SAEW,CACL,SAAS,EACT;UACE,qBAAqB,EAAEZ,KAAK,CAACT,SAAS;UACtC,uBAAuB,EAAES,KAAK,CAACL,UAAU,IAAIK,KAAK,CAACP,MAAM;UACzD,sBAAsB,EAAEO,KAAK,CAACL;QAChC,CAAC,CACF;QAAA,SACM;UACL,2BAA2B,EAAEZ,gBAAgB,CAC3CyB,aAAa,CAACM,KAAK,EAAEC,KACvB,CAAC;UACD,yBAAyB,EAAEhC,gBAAgB,CACzC2B,WAAW,CAACI,KAAK,EAAEC,KACrB;QACF;MAAC;QAAAzB,OAAA,EAAAA,CAAA,MAEAc,KAAK,CAACY,GAAG,GAAG,CAAC,EACbZ,KAAK,CAACd,OAAO,GAAAX,YAAA;UAAA,OACF2B,YAAY;UAAA,SAAS,CAAC,oBAAoB;QAAC,IAClDF,KAAK,CAACa,OAAO,GAAG,CAAC,EAAAtC,YAAA;UAAA,SAET,CAAC,kBAAkB,CAAC;UAAA,SACpB;YACLc,MAAM,EAAEV,gBAAgB,CAAC8B,eAAe;UAC1C,CAAC;UAAA,YACSjB;QAAQ,IAAAjB,YAAA;UAAA,OAEN4B;QAAQ,IAAGH,KAAK,CAACd,OAAO,CAAC,CAAC,MAEvCc,KAAK,CAACc,QAAQ,GAAG,CAAC,KAGrBd,KAAK,CAACe,SAAS,GAAGb,YAAY,EAAEE,aAAa,CAC9C,EACAJ,KAAK,CAACgB,MAAM,GAAG,CAAC;MAAA;IAGvB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"YTable.js","names":["provide","createVNode","_createVNode","useRender","defineComponent","propsFactory","toStyleSizeValue","useRectMeasure","YTableInjectionKey","pressYTableProps","tag","type","String","default","fixedHead","Boolean","height","Number","flexHeight","onScroll","Function","YTable","name","props","emits","setup","_ref","slots","emit","containerRef","tableRef","containerRect","wrapperRef","wrapperRect","e","ElTag","containerHeight","value","width","top","leading","trailing","container","bottom"],"sources":["../../../src/components/table/YTable.tsx"],"sourcesContent":["import { type PropType, provide } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { defineComponent, propsFactory } from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport { useRectMeasure } from './composables/measure';\r\n\r\nimport './YTable.scss';\r\nimport { YTableInjectionKey } from '@/components/table/composables/provides';\r\n\r\nexport const pressYTableProps = propsFactory(\r\n {\r\n tag: {\r\n type: String as PropType<string>,\r\n default: 'div',\r\n },\r\n fixedHead: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n height: {\r\n type: [Number, String] as PropType<number | string>,\r\n },\r\n flexHeight: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n onScroll: Function as PropType<(e: Event) => void>,\r\n },\r\n 'YTable',\r\n);\r\n\r\nexport const YTable = defineComponent({\r\n name: 'YTable',\r\n props: {\r\n ...pressYTableProps(),\r\n },\r\n emits: ['scroll'],\r\n setup(props, { slots, emit }) {\r\n const { containerRef, tableRef, containerRect, wrapperRef, wrapperRect } =\r\n useRectMeasure();\r\n\r\n provide(YTableInjectionKey, {\r\n containerRect,\r\n tableRef,\r\n wrapperRef,\r\n wrapperRect,\r\n });\r\n\r\n function onScroll(e: Event) {\r\n emit('scroll', e);\r\n }\r\n\r\n useRender(() => {\r\n const ElTag = (props.tag as keyof HTMLElementTagNameMap) ?? 'div';\r\n const containerHeight = props.flexHeight\r\n ? (containerRect.value?.height ?? props.height)\r\n : props.height;\r\n return (\r\n <ElTag\r\n class={[\r\n 'y-table',\r\n {\r\n 'y-table--fixed-head': props.fixedHead,\r\n 'y-table--fixed-height': props.flexHeight || props.height,\r\n 'y-table--flex-height': props.flexHeight,\r\n },\r\n ]}\r\n style={{\r\n '--y-table-container-width': toStyleSizeValue(\r\n containerRect.value?.width,\r\n ),\r\n '--y-table-wrapper-width': toStyleSizeValue(\r\n wrapperRect.value?.width,\r\n ),\r\n }}\r\n >\r\n {slots.top?.()}\r\n {slots.default ? (\r\n <div ref={containerRef} class={['y-table__container']}>\r\n {slots.leading?.()}\r\n <div\r\n class={['y-table__wrapper']}\r\n style={{\r\n height: toStyleSizeValue(containerHeight),\r\n }}\r\n onScroll={onScroll}\r\n >\r\n <table ref={tableRef}>{slots.default()}</table>\r\n </div>\r\n {slots.trailing?.()}\r\n </div>\r\n ) : (\r\n slots.container?.(containerRef, containerRect)\r\n )}\r\n {slots.bottom?.()}\r\n </ElTag>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YTable = InstanceType<typeof YTable>;\r\n"],"mappings":"AAAA,SAAwBA,OAAO,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAEpCC,SAAS;AAAA,SACTC,eAAe,EAAEC,YAAY;AAAA,SAC7BC,gBAAgB;AAAA,SAEhBC,cAAc;AAEvB;AAAuB,SACdC,kBAAkB;AAE3B,OAAO,MAAMC,gBAAgB,GAAGJ,YAAY,CAC1C;EACEK,GAAG,EAAE;IACHC,IAAI,EAAEC,MAA0B;IAChCC,OAAO,EAAE;EACX,CAAC;EACDC,SAAS,EAAE;IACTH,IAAI,EAAEI;EACR,CAAC;EACDC,MAAM,EAAE;IACNL,IAAI,EAAE,CAACM,MAAM,EAAEL,MAAM;EACvB,CAAC;EACDM,UAAU,EAAE;IACVP,IAAI,EAAEI;EACR,CAAC;EACDI,QAAQ,EAAEC;AACZ,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAMC,MAAM,GAAGjB,eAAe,CAAC;EACpCkB,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;IACL,GAAGd,gBAAgB,CAAC;EACtB,CAAC;EACDe,KAAK,EAAE,CAAC,QAAQ,CAAC;EACjBC,KAAKA,CAACF,KAAK,EAAAG,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC1B,MAAM;MAAEG,YAAY;MAAEC,QAAQ;MAAEC,aAAa;MAAEC,UAAU;MAAEC;IAAY,CAAC,GACtE1B,cAAc,CAAC,CAAC;IAElBP,OAAO,CAACQ,kBAAkB,EAAE;MAC1BuB,aAAa;MACbD,QAAQ;MACRE,UAAU;MACVC;IACF,CAAC,CAAC;IAEF,SAASd,QAAQA,CAACe,CAAQ,EAAE;MAC1BN,IAAI,CAAC,QAAQ,EAAEM,CAAC,CAAC;IACnB;IAEA/B,SAAS,CAAC,MAAM;MACd,MAAMgC,KAAK,GAAIZ,KAAK,CAACb,GAAG,IAAoC,KAAK;MACjE,MAAM0B,eAAe,GAAGb,KAAK,CAACL,UAAU,GACnCa,aAAa,CAACM,KAAK,EAAErB,MAAM,IAAIO,KAAK,CAACP,MAAM,GAC5CO,KAAK,CAACP,MAAM;MAChB,OAAAd,YAAA,CAAAiC,KAAA;QAAA,SAEW,CACL,SAAS,EACT;UACE,qBAAqB,EAAEZ,KAAK,CAACT,SAAS;UACtC,uBAAuB,EAAES,KAAK,CAACL,UAAU,IAAIK,KAAK,CAACP,MAAM;UACzD,sBAAsB,EAAEO,KAAK,CAACL;QAChC,CAAC,CACF;QAAA,SACM;UACL,2BAA2B,EAAEZ,gBAAgB,CAC3CyB,aAAa,CAACM,KAAK,EAAEC,KACvB,CAAC;UACD,yBAAyB,EAAEhC,gBAAgB,CACzC2B,WAAW,CAACI,KAAK,EAAEC,KACrB;QACF;MAAC;QAAAzB,OAAA,EAAAA,CAAA,MAEAc,KAAK,CAACY,GAAG,GAAG,CAAC,EACbZ,KAAK,CAACd,OAAO,GAAAX,YAAA;UAAA,OACF2B,YAAY;UAAA,SAAS,CAAC,oBAAoB;QAAC,IAClDF,KAAK,CAACa,OAAO,GAAG,CAAC,EAAAtC,YAAA;UAAA,SAET,CAAC,kBAAkB,CAAC;UAAA,SACpB;YACLc,MAAM,EAAEV,gBAAgB,CAAC8B,eAAe;UAC1C,CAAC;UAAA,YACSjB;QAAQ,IAAAjB,YAAA;UAAA,OAEN4B;QAAQ,IAAGH,KAAK,CAACd,OAAO,CAAC,CAAC,MAEvCc,KAAK,CAACc,QAAQ,GAAG,CAAC,KAGrBd,KAAK,CAACe,SAAS,GAAGb,YAAY,EAAEE,aAAa,CAC9C,EACAJ,KAAK,CAACgB,MAAM,GAAG,CAAC;MAAA;IAGvB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"expand.js","names":["inject","provide","useModelDuplex","propsFactory","pressDataTableExpandProps","enableExpand","Boolean","expanded","type","Array","default","Y_DATA_TABLE_EXPAND_KEY","Symbol","for","provideExpand","props","expands","v","Set","isExpanded","item","value","has","expand","neo","add","delete","toggleExpand","useExpand","instance","Error","description"],"sources":["../../../../src/components/table/composables/expand.ts"],"sourcesContent":["import {\n inject,\n type InjectionKey,\n type PropType,\n provide,\n type Ref,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { propsFactory } from '@/util/component/props';\n\nimport type { DataTableItem } from '../types/item';\n\nexport const pressDataTableExpandProps = propsFactory(\n {\n enableExpand: Boolean,\n expanded: {\n type: Array as PropType<readonly string[]>,\n default: () => [],\n },\n },\n 'YDataTable--expand',\n);\n\ntype DataTableExpandProps = {\n enableExpand: boolean;\n expanded: readonly string[];\n 'onUpdate:expanded': ((value: any[]) => void) | undefined;\n};\n\nconst Y_DATA_TABLE_EXPAND_KEY: InjectionKey<{\n expands: Ref<Set<string>>;\n isExpanded: (item: DataTableItem) => boolean;\n expand: (item: DataTableItem, value: boolean) => void;\n toggleExpand: (item: DataTableItem) => void;\n}> = Symbol.for('yuyeon.data-table.expand');\n\nexport function provideExpand(props: DataTableExpandProps) {\n const expands = useModelDuplex(\n props,\n 'expanded',\n props.expanded ?? [],\n (v) => new Set(v),\n (v) => [...v],\n );\n\n function isExpanded(item: DataTableItem) {\n return expands.value.has(item.value);\n }\n\n function expand(item: DataTableItem, value: boolean) {\n const neo = new Set(expands.value);\n if (value) {\n neo.add(item.value);\n } else {\n neo.delete(item.value);\n }\n\n expands.value = neo;\n }\n\n function toggleExpand(item: DataTableItem) {\n expand(item, !isExpanded(item));\n }\n\n provide(Y_DATA_TABLE_EXPAND_KEY, {\n expands,\n isExpanded,\n expand,\n toggleExpand,\n });\n\n return {\n expands,\n isExpanded,\n expand,\n toggleExpand,\n };\n}\n\nexport function useExpand() {\n const instance = inject(Y_DATA_TABLE_EXPAND_KEY);\n if (!instance) {\n throw new Error(`Not provided: ${Y_DATA_TABLE_EXPAND_KEY.description}`);\n }\n return instance;\n}\n"],"mappings":"AAAA,SACEA,MAAM,EAGNC,OAAO,QAEF,KAAK;AAAC,SAEJC,cAAc;AAAA,SACdC,YAAY;AAIrB,OAAO,MAAMC,yBAAyB,GAAGD,YAAY,CACnD;EACEE,YAAY,EAAEC,OAAO;EACrBC,QAAQ,EAAE;IACRC,IAAI,EAAEC,KAAoC;IAC1CC,OAAO,EAAEA,CAAA,KAAM;EACjB;AACF,CAAC,EACD,oBACF,CAAC;AAQD,MAAMC,uBAKJ,GAAGC,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAE3C,OAAO,SAASC,aAAaA,CAACC,KAA2B,EAAE;EACzD,MAAMC,OAAO,GAAGd,cAAc,CAC5Ba,KAAK,EACL,UAAU,EACVA,KAAK,CAACR,QAAQ,IAAI,EAAE,EACnBU,CAAC,IAAK,IAAIC,GAAG,CAACD,CAAC,CAAC,EAChBA,CAAC,IAAK,CAAC,GAAGA,CAAC,CACd,CAAC;EAED,SAASE,UAAUA,CAACC,IAAmB,EAAE;IACvC,OAAOJ,OAAO,CAACK,KAAK,CAACC,GAAG,CAACF,IAAI,CAACC,KAAK,CAAC;EACtC;EAEA,SAASE,MAAMA,CAACH,IAAmB,EAAEC,KAAc,EAAE;IACnD,MAAMG,GAAG,GAAG,IAAIN,GAAG,CAACF,OAAO,CAACK,KAAK,CAAC;IAClC,IAAIA,KAAK,EAAE;MACTG,GAAG,CAACC,GAAG,CAACL,IAAI,CAACC,KAAK,CAAC;IACrB,CAAC,MAAM;MACLG,GAAG,CAACE,MAAM,CAACN,IAAI,CAACC,KAAK,CAAC;IACxB;IAEAL,OAAO,CAACK,KAAK,GAAGG,GAAG;EACrB;EAEA,SAASG,YAAYA,CAACP,IAAmB,EAAE;IACzCG,MAAM,CAACH,IAAI,EAAE,CAACD,UAAU,CAACC,IAAI,CAAC,CAAC;EACjC;EAEAnB,OAAO,CAACU,uBAAuB,EAAE;IAC/BK,OAAO;IACPG,UAAU;IACVI,MAAM;IACNI;EACF,CAAC,CAAC;EAEF,OAAO;IACLX,OAAO;IACPG,UAAU;IACVI,MAAM;IACNI;EACF,CAAC;AACH;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMC,QAAQ,GAAG7B,MAAM,CAACW,uBAAuB,CAAC;EAChD,IAAI,CAACkB,QAAQ,EAAE;IACb,MAAM,IAAIC,KAAK,CAAC,iBAAiBnB,uBAAuB,CAACoB,WAAW,EAAE,CAAC;EACzE;EACA,OAAOF,QAAQ;AACjB","ignoreList":[]}
1
+ {"version":3,"file":"expand.js","names":["inject","provide","useModelDuplex","propsFactory","pressDataTableExpandProps","enableExpand","Boolean","expanded","type","Array","default","Y_DATA_TABLE_EXPAND_KEY","Symbol","for","provideExpand","props","expands","v","Set","isExpanded","item","value","has","expand","neo","add","delete","toggleExpand","useExpand","instance","Error","description"],"sources":["../../../../src/components/table/composables/expand.ts"],"sourcesContent":["import {\r\n inject,\r\n type InjectionKey,\r\n type PropType,\r\n provide,\r\n type Ref,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { propsFactory } from '@/util/component/props';\r\n\r\nimport type { DataTableItem } from '../types/item';\r\n\r\nexport const pressDataTableExpandProps = propsFactory(\r\n {\r\n enableExpand: Boolean,\r\n expanded: {\r\n type: Array as PropType<readonly string[]>,\r\n default: () => [],\r\n },\r\n },\r\n 'YDataTable--expand',\r\n);\r\n\r\ntype DataTableExpandProps = {\r\n enableExpand: boolean;\r\n expanded: readonly string[];\r\n 'onUpdate:expanded': ((value: any[]) => void) | undefined;\r\n};\r\n\r\nconst Y_DATA_TABLE_EXPAND_KEY: InjectionKey<{\r\n expands: Ref<Set<string>>;\r\n isExpanded: (item: DataTableItem) => boolean;\r\n expand: (item: DataTableItem, value: boolean) => void;\r\n toggleExpand: (item: DataTableItem) => void;\r\n}> = Symbol.for('yuyeon.data-table.expand');\r\n\r\nexport function provideExpand(props: DataTableExpandProps) {\r\n const expands = useModelDuplex(\r\n props,\r\n 'expanded',\r\n props.expanded ?? [],\r\n (v) => new Set(v),\r\n (v) => [...v],\r\n );\r\n\r\n function isExpanded(item: DataTableItem) {\r\n return expands.value.has(item.value);\r\n }\r\n\r\n function expand(item: DataTableItem, value: boolean) {\r\n const neo = new Set(expands.value);\r\n if (value) {\r\n neo.add(item.value);\r\n } else {\r\n neo.delete(item.value);\r\n }\r\n\r\n expands.value = neo;\r\n }\r\n\r\n function toggleExpand(item: DataTableItem) {\r\n expand(item, !isExpanded(item));\r\n }\r\n\r\n provide(Y_DATA_TABLE_EXPAND_KEY, {\r\n expands,\r\n isExpanded,\r\n expand,\r\n toggleExpand,\r\n });\r\n\r\n return {\r\n expands,\r\n isExpanded,\r\n expand,\r\n toggleExpand,\r\n };\r\n}\r\n\r\nexport function useExpand() {\r\n const instance = inject(Y_DATA_TABLE_EXPAND_KEY);\r\n if (!instance) {\r\n throw new Error(`Not provided: ${Y_DATA_TABLE_EXPAND_KEY.description}`);\r\n }\r\n return instance;\r\n}\r\n"],"mappings":"AAAA,SACEA,MAAM,EAGNC,OAAO,QAEF,KAAK;AAAC,SAEJC,cAAc;AAAA,SACdC,YAAY;AAIrB,OAAO,MAAMC,yBAAyB,GAAGD,YAAY,CACnD;EACEE,YAAY,EAAEC,OAAO;EACrBC,QAAQ,EAAE;IACRC,IAAI,EAAEC,KAAoC;IAC1CC,OAAO,EAAEA,CAAA,KAAM;EACjB;AACF,CAAC,EACD,oBACF,CAAC;AAQD,MAAMC,uBAKJ,GAAGC,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAE3C,OAAO,SAASC,aAAaA,CAACC,KAA2B,EAAE;EACzD,MAAMC,OAAO,GAAGd,cAAc,CAC5Ba,KAAK,EACL,UAAU,EACVA,KAAK,CAACR,QAAQ,IAAI,EAAE,EACnBU,CAAC,IAAK,IAAIC,GAAG,CAACD,CAAC,CAAC,EAChBA,CAAC,IAAK,CAAC,GAAGA,CAAC,CACd,CAAC;EAED,SAASE,UAAUA,CAACC,IAAmB,EAAE;IACvC,OAAOJ,OAAO,CAACK,KAAK,CAACC,GAAG,CAACF,IAAI,CAACC,KAAK,CAAC;EACtC;EAEA,SAASE,MAAMA,CAACH,IAAmB,EAAEC,KAAc,EAAE;IACnD,MAAMG,GAAG,GAAG,IAAIN,GAAG,CAACF,OAAO,CAACK,KAAK,CAAC;IAClC,IAAIA,KAAK,EAAE;MACTG,GAAG,CAACC,GAAG,CAACL,IAAI,CAACC,KAAK,CAAC;IACrB,CAAC,MAAM;MACLG,GAAG,CAACE,MAAM,CAACN,IAAI,CAACC,KAAK,CAAC;IACxB;IAEAL,OAAO,CAACK,KAAK,GAAGG,GAAG;EACrB;EAEA,SAASG,YAAYA,CAACP,IAAmB,EAAE;IACzCG,MAAM,CAACH,IAAI,EAAE,CAACD,UAAU,CAACC,IAAI,CAAC,CAAC;EACjC;EAEAnB,OAAO,CAACU,uBAAuB,EAAE;IAC/BK,OAAO;IACPG,UAAU;IACVI,MAAM;IACNI;EACF,CAAC,CAAC;EAEF,OAAO;IACLX,OAAO;IACPG,UAAU;IACVI,MAAM;IACNI;EACF,CAAC;AACH;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMC,QAAQ,GAAG7B,MAAM,CAACW,uBAAuB,CAAC;EAChD,IAAI,CAACkB,QAAQ,EAAE;IACb,MAAM,IAAIC,KAAK,CAAC,iBAAiBnB,uBAAuB,CAACoB,WAAW,EAAE,CAAC;EACzE;EACA,OAAOF,QAAQ;AACjB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","names":["inject","provide","ref","watchEffect","getRangeArr","propsFactory","pressDataTableHeader","headers","type","Array","default","Y_DATA_TABLE_HEADER_KEY","Symbol","for","createHeader","props","options","columns","rows","length","flat","flatMap","row","index","map","column","rowIndex","rowCount","defaultHeader","text","sortable","defaultActionHeader","width","enableSelect","value","foundIndex","findIndex","_ref","key","fixed","some","_ref2","unshift","rowspan","splice","fixedRows","fixedOffsets","fill","forEach","_ref3","i","push","fixedOffset","Number","lastFixed","rightFixed","filter","col","rightOffsets","rightOffset","seen","Set","filtered","has","add","data","useHeader","Error","description"],"sources":["../../../../src/components/table/composables/header.ts"],"sourcesContent":["import {\n type DeepReadonly,\n inject,\n type InjectionKey,\n type PropType,\n provide,\n type Ref,\n ref,\n watchEffect,\n} from 'vue';\n\nimport { getRangeArr } from '@/util/common';\nimport { propsFactory } from '@/util/component';\n\nimport { type DataTableHeader, type InternalDataTableHeader } from '../types';\n\nexport const pressDataTableHeader = propsFactory(\n {\n headers: {\n type: Array as PropType<DeepReadonly<DataTableHeader[]>>,\n default: () => [],\n },\n },\n 'YDataTable--header',\n);\n\nexport const Y_DATA_TABLE_HEADER_KEY: InjectionKey<{\n headers: Ref<InternalDataTableHeader[][]>;\n columns: Ref<InternalDataTableHeader[]>;\n}> = Symbol.for('yuyeon.data-table.header');\n\ntype HeaderProps = {\n headers: DeepReadonly<DataTableHeader[]> | undefined;\n};\n\nexport function createHeader(\n props: HeaderProps,\n options?: {\n enableSelect?: Ref<boolean>;\n },\n) {\n const headers = ref<InternalDataTableHeader[][]>([]);\n const columns = ref<InternalDataTableHeader[]>([]);\n\n watchEffect(() => {\n const rows = props.headers?.length\n ? [props.headers as DataTableHeader[]]\n : [];\n const flat = rows.flatMap((row, index) =>\n row.map((column) => ({ column, rowIndex: index })),\n );\n const rowCount = rows.length;\n const defaultHeader = { text: '', sortable: false };\n const defaultActionHeader = { ...defaultHeader, width: 48 };\n\n if (options?.enableSelect?.value) {\n const foundIndex = flat.findIndex(\n ({ column }) => column.key === 'data-table-select',\n );\n if (foundIndex < 0) {\n const fixed = flat.some(\n ({ column }) => column?.fixed === true || column?.fixed === 'left',\n );\n flat.unshift({\n column: {\n ...defaultActionHeader,\n key: 'data-table-select',\n rowspan: rowCount,\n fixed,\n },\n rowIndex: 0,\n });\n } else {\n flat.splice(foundIndex, 1, {\n column: {\n ...defaultActionHeader,\n ...flat[foundIndex].column,\n },\n rowIndex: flat[foundIndex].rowIndex,\n });\n }\n }\n\n const fixedRows: InternalDataTableHeader[][] = getRangeArr(rowCount).map(\n () => [],\n );\n const fixedOffsets = getRangeArr(rowCount).fill(0);\n\n flat.forEach(({ column, rowIndex }) => {\n const { key } = column;\n for (\n let i = rowIndex;\n i <= rowIndex + (column.rowspan ?? 1) - 1;\n i += 1\n ) {\n fixedRows[i].push({\n ...column,\n key,\n fixedOffset: fixedOffsets[i],\n sortable: column.sortable ?? !!key,\n });\n fixedOffsets[i] += Number(column.width ?? 0);\n }\n });\n\n fixedRows.forEach((row) => {\n for (let i = row.length - 1; i >= 0; i--) {\n if (row[i].fixed === true || row[i].fixed === 'left') {\n row[i].lastFixed = true;\n break;\n }\n }\n // fixed right\n const rightFixed = row.filter((col) => col.fixed === 'right');\n let rightOffsets = 0;\n for (let i = rightFixed.length - 1; i >= 0; i--) {\n rightFixed[i].rightOffset = rightOffsets;\n rightOffsets += Number(rightFixed[i].width ?? 0);\n if (i === 0) {\n rightFixed[i].lastFixed = true;\n }\n }\n });\n\n const seen = new Set();\n headers.value = fixedRows.map((row) => {\n const filtered = [];\n for (const column of row) {\n if (!seen.has(column.key)) {\n seen.add(column.key);\n filtered.push(column);\n }\n }\n return filtered;\n });\n columns.value = fixedRows[fixedRows.length - 1] || [];\n });\n\n const data = { headers, columns };\n\n provide(Y_DATA_TABLE_HEADER_KEY, data);\n\n return data;\n}\n\nexport function useHeader() {\n const data = inject(Y_DATA_TABLE_HEADER_KEY);\n if (!data) {\n throw new Error(`Not provided: ${Y_DATA_TABLE_HEADER_KEY.description}`);\n }\n return data;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"header.js","names":["inject","provide","ref","watchEffect","getRangeArr","propsFactory","pressDataTableHeader","headers","type","Array","default","Y_DATA_TABLE_HEADER_KEY","Symbol","for","createHeader","props","options","columns","rows","length","flat","flatMap","row","index","map","column","rowIndex","rowCount","defaultHeader","text","sortable","defaultActionHeader","width","enableSelect","value","foundIndex","findIndex","_ref","key","fixed","some","_ref2","unshift","rowspan","splice","fixedRows","fixedOffsets","fill","forEach","_ref3","i","push","fixedOffset","Number","lastFixed","rightFixed","filter","col","rightOffsets","rightOffset","seen","Set","filtered","has","add","data","useHeader","Error","description"],"sources":["../../../../src/components/table/composables/header.ts"],"sourcesContent":["import {\r\n type DeepReadonly,\r\n inject,\r\n type InjectionKey,\r\n type PropType,\r\n provide,\r\n type Ref,\r\n ref,\r\n watchEffect,\r\n} from 'vue';\r\n\r\nimport { getRangeArr } from '@/util/common';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport { type DataTableHeader, type InternalDataTableHeader } from '../types';\r\n\r\nexport const pressDataTableHeader = propsFactory(\r\n {\r\n headers: {\r\n type: Array as PropType<DeepReadonly<DataTableHeader[]>>,\r\n default: () => [],\r\n },\r\n },\r\n 'YDataTable--header',\r\n);\r\n\r\nexport const Y_DATA_TABLE_HEADER_KEY: InjectionKey<{\r\n headers: Ref<InternalDataTableHeader[][]>;\r\n columns: Ref<InternalDataTableHeader[]>;\r\n}> = Symbol.for('yuyeon.data-table.header');\r\n\r\ntype HeaderProps = {\r\n headers: DeepReadonly<DataTableHeader[]> | undefined;\r\n};\r\n\r\nexport function createHeader(\r\n props: HeaderProps,\r\n options?: {\r\n enableSelect?: Ref<boolean>;\r\n },\r\n) {\r\n const headers = ref<InternalDataTableHeader[][]>([]);\r\n const columns = ref<InternalDataTableHeader[]>([]);\r\n\r\n watchEffect(() => {\r\n const rows = props.headers?.length\r\n ? [props.headers as DataTableHeader[]]\r\n : [];\r\n const flat = rows.flatMap((row, index) =>\r\n row.map((column) => ({ column, rowIndex: index })),\r\n );\r\n const rowCount = rows.length;\r\n const defaultHeader = { text: '', sortable: false };\r\n const defaultActionHeader = { ...defaultHeader, width: 48 };\r\n\r\n if (options?.enableSelect?.value) {\r\n const foundIndex = flat.findIndex(\r\n ({ column }) => column.key === 'data-table-select',\r\n );\r\n if (foundIndex < 0) {\r\n const fixed = flat.some(\r\n ({ column }) => column?.fixed === true || column?.fixed === 'left',\r\n );\r\n flat.unshift({\r\n column: {\r\n ...defaultActionHeader,\r\n key: 'data-table-select',\r\n rowspan: rowCount,\r\n fixed,\r\n },\r\n rowIndex: 0,\r\n });\r\n } else {\r\n flat.splice(foundIndex, 1, {\r\n column: {\r\n ...defaultActionHeader,\r\n ...flat[foundIndex].column,\r\n },\r\n rowIndex: flat[foundIndex].rowIndex,\r\n });\r\n }\r\n }\r\n\r\n const fixedRows: InternalDataTableHeader[][] = getRangeArr(rowCount).map(\r\n () => [],\r\n );\r\n const fixedOffsets = getRangeArr(rowCount).fill(0);\r\n\r\n flat.forEach(({ column, rowIndex }) => {\r\n const { key } = column;\r\n for (\r\n let i = rowIndex;\r\n i <= rowIndex + (column.rowspan ?? 1) - 1;\r\n i += 1\r\n ) {\r\n fixedRows[i].push({\r\n ...column,\r\n key,\r\n fixedOffset: fixedOffsets[i],\r\n sortable: column.sortable ?? !!key,\r\n });\r\n fixedOffsets[i] += Number(column.width ?? 0);\r\n }\r\n });\r\n\r\n fixedRows.forEach((row) => {\r\n for (let i = row.length - 1; i >= 0; i--) {\r\n if (row[i].fixed === true || row[i].fixed === 'left') {\r\n row[i].lastFixed = true;\r\n break;\r\n }\r\n }\r\n // fixed right\r\n const rightFixed = row.filter((col) => col.fixed === 'right');\r\n let rightOffsets = 0;\r\n for (let i = rightFixed.length - 1; i >= 0; i--) {\r\n rightFixed[i].rightOffset = rightOffsets;\r\n rightOffsets += Number(rightFixed[i].width ?? 0);\r\n if (i === 0) {\r\n rightFixed[i].lastFixed = true;\r\n }\r\n }\r\n });\r\n\r\n const seen = new Set();\r\n headers.value = fixedRows.map((row) => {\r\n const filtered = [];\r\n for (const column of row) {\r\n if (!seen.has(column.key)) {\r\n seen.add(column.key);\r\n filtered.push(column);\r\n }\r\n }\r\n return filtered;\r\n });\r\n columns.value = fixedRows[fixedRows.length - 1] || [];\r\n });\r\n\r\n const data = { headers, columns };\r\n\r\n provide(Y_DATA_TABLE_HEADER_KEY, data);\r\n\r\n return data;\r\n}\r\n\r\nexport function useHeader() {\r\n const data = inject(Y_DATA_TABLE_HEADER_KEY);\r\n if (!data) {\r\n throw new Error(`Not provided: ${Y_DATA_TABLE_HEADER_KEY.description}`);\r\n }\r\n return data;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"items.js","names":["computed","ref","getPropertyFromItem","propsFactory","pressDataTableItemsProps","items","type","Array","default","itemKey","String","Function","itemSelectable","returnItem","Boolean","updateItem","props","item","index","columns","rowRef","key","value","selectable","itemColumns","reduce","acc","column","_bindRowRef","el","raw","updateItems","map","useItems"],"sources":["../../../../src/components/table/composables/items.ts"],"sourcesContent":["import { computed, type PropType, type Ref, ref } from 'vue';\n\nimport { getPropertyFromItem } from '@/util/common';\nimport { propsFactory } from '@/util/component';\n\nimport { DataTableItem, InternalDataTableHeader } from '../types';\n\nexport type DataTableItemsProps = {\n items: any[];\n itemKey: any;\n itemSelectable: any;\n returnItem: boolean;\n};\n\nexport const pressDataTableItemsProps = propsFactory(\n {\n items: {\n type: Array as PropType<DataTableItemsProps['items']>,\n default: () => [],\n },\n itemKey: {\n type: [String, Array, Function] as PropType<any>,\n default: 'id',\n },\n itemSelectable: {\n type: [String, Array, Function] as PropType<any>,\n default: null,\n },\n returnItem: Boolean,\n },\n 'YDataTable--items',\n);\n\nexport function updateItem(\n props: Omit<DataTableItemsProps, 'items'>,\n item: any,\n index: number,\n columns: InternalDataTableHeader[],\n): DataTableItem {\n const rowRef = ref<any | null>(null);\n const key = getPropertyFromItem(item, props.itemKey);\n const value = props.returnItem ? item : key;\n let selectable;\n if (typeof props.itemSelectable === 'function') {\n selectable = !!props.itemSelectable(item);\n } else {\n selectable = getPropertyFromItem(item, props.itemSelectable, true);\n }\n\n const itemColumns = columns.reduce(\n (acc, column) => {\n acc[column.key] = getPropertyFromItem(item, column.value ?? column.key);\n return acc;\n },\n {} as Record<string, unknown>,\n );\n\n function _bindRowRef(el: any | null) {\n rowRef.value = el;\n }\n\n return {\n index,\n key,\n value,\n selectable,\n columns: itemColumns,\n raw: item,\n rowRef,\n _bindRowRef,\n };\n}\n\nexport function updateItems(\n props: Omit<DataTableItemsProps, 'items'>,\n items: DataTableItemsProps['items'],\n columns: InternalDataTableHeader[],\n): DataTableItem[] {\n return items.map((item, index) => updateItem(props, item, index, columns));\n}\n\nexport function useItems(\n props: DataTableItemsProps,\n columns: Ref<InternalDataTableHeader[]>,\n) {\n const items = computed(() => {\n return updateItems(props, props.items, columns.value);\n });\n return { items };\n}\n"],"mappings":"AAAA,SAASA,QAAQ,EAA2BC,GAAG,QAAQ,KAAK;AAAC,SAEpDC,mBAAmB;AAAA,SACnBC,YAAY;AAWrB,OAAO,MAAMC,wBAAwB,GAAGD,YAAY,CAClD;EACEE,KAAK,EAAE;IACLC,IAAI,EAAEC,KAA+C;IACrDC,OAAO,EAAEA,CAAA,KAAM;EACjB,CAAC;EACDC,OAAO,EAAE;IACPH,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAAkB;IAChDH,OAAO,EAAE;EACX,CAAC;EACDI,cAAc,EAAE;IACdN,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAAkB;IAChDH,OAAO,EAAE;EACX,CAAC;EACDK,UAAU,EAAEC;AACd,CAAC,EACD,mBACF,CAAC;AAED,OAAO,SAASC,UAAUA,CACxBC,KAAyC,EACzCC,IAAS,EACTC,KAAa,EACbC,OAAkC,EACnB;EACf,MAAMC,MAAM,GAAGnB,GAAG,CAAa,IAAI,CAAC;EACpC,MAAMoB,GAAG,GAAGnB,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACP,OAAO,CAAC;EACpD,MAAMa,KAAK,GAAGN,KAAK,CAACH,UAAU,GAAGI,IAAI,GAAGI,GAAG;EAC3C,IAAIE,UAAU;EACd,IAAI,OAAOP,KAAK,CAACJ,cAAc,KAAK,UAAU,EAAE;IAC9CW,UAAU,GAAG,CAAC,CAACP,KAAK,CAACJ,cAAc,CAACK,IAAI,CAAC;EAC3C,CAAC,MAAM;IACLM,UAAU,GAAGrB,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACJ,cAAc,EAAE,IAAI,CAAC;EACpE;EAEA,MAAMY,WAAW,GAAGL,OAAO,CAACM,MAAM,CAChC,CAACC,GAAG,EAAEC,MAAM,KAAK;IACfD,GAAG,CAACC,MAAM,CAACN,GAAG,CAAC,GAAGnB,mBAAmB,CAACe,IAAI,EAAEU,MAAM,CAACL,KAAK,IAAIK,MAAM,CAACN,GAAG,CAAC;IACvE,OAAOK,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EAED,SAASE,WAAWA,CAACC,EAAc,EAAE;IACnCT,MAAM,CAACE,KAAK,GAAGO,EAAE;EACnB;EAEA,OAAO;IACLX,KAAK;IACLG,GAAG;IACHC,KAAK;IACLC,UAAU;IACVJ,OAAO,EAAEK,WAAW;IACpBM,GAAG,EAAEb,IAAI;IACTG,MAAM;IACNQ;EACF,CAAC;AACH;AAEA,OAAO,SAASG,WAAWA,CACzBf,KAAyC,EACzCX,KAAmC,EACnCc,OAAkC,EACjB;EACjB,OAAOd,KAAK,CAAC2B,GAAG,CAAC,CAACf,IAAI,EAAEC,KAAK,KAAKH,UAAU,CAACC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,OAAO,CAAC,CAAC;AAC5E;AAEA,OAAO,SAASc,QAAQA,CACtBjB,KAA0B,EAC1BG,OAAuC,EACvC;EACA,MAAMd,KAAK,GAAGL,QAAQ,CAAC,MAAM;IAC3B,OAAO+B,WAAW,CAACf,KAAK,EAAEA,KAAK,CAACX,KAAK,EAAEc,OAAO,CAACG,KAAK,CAAC;EACvD,CAAC,CAAC;EACF,OAAO;IAAEjB;EAAM,CAAC;AAClB","ignoreList":[]}
1
+ {"version":3,"file":"items.js","names":["computed","ref","getPropertyFromItem","propsFactory","pressDataTableItemsProps","items","type","Array","default","itemKey","String","Function","itemSelectable","returnItem","Boolean","updateItem","props","item","index","columns","rowRef","key","value","selectable","itemColumns","reduce","acc","column","_bindRowRef","el","raw","updateItems","map","useItems"],"sources":["../../../../src/components/table/composables/items.ts"],"sourcesContent":["import { computed, type PropType, type Ref, ref } from 'vue';\r\n\r\nimport { getPropertyFromItem } from '@/util/common';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport { DataTableItem, InternalDataTableHeader } from '../types';\r\n\r\nexport type DataTableItemsProps = {\r\n items: any[];\r\n itemKey: any;\r\n itemSelectable: any;\r\n returnItem: boolean;\r\n};\r\n\r\nexport const pressDataTableItemsProps = propsFactory(\r\n {\r\n items: {\r\n type: Array as PropType<DataTableItemsProps['items']>,\r\n default: () => [],\r\n },\r\n itemKey: {\r\n type: [String, Array, Function] as PropType<any>,\r\n default: 'id',\r\n },\r\n itemSelectable: {\r\n type: [String, Array, Function] as PropType<any>,\r\n default: null,\r\n },\r\n returnItem: Boolean,\r\n },\r\n 'YDataTable--items',\r\n);\r\n\r\nexport function updateItem(\r\n props: Omit<DataTableItemsProps, 'items'>,\r\n item: any,\r\n index: number,\r\n columns: InternalDataTableHeader[],\r\n): DataTableItem {\r\n const rowRef = ref<any | null>(null);\r\n const key = getPropertyFromItem(item, props.itemKey);\r\n const value = props.returnItem ? item : key;\r\n let selectable;\r\n if (typeof props.itemSelectable === 'function') {\r\n selectable = !!props.itemSelectable(item);\r\n } else {\r\n selectable = getPropertyFromItem(item, props.itemSelectable, true);\r\n }\r\n\r\n const itemColumns = columns.reduce(\r\n (acc, column) => {\r\n acc[column.key] = getPropertyFromItem(item, column.value ?? column.key);\r\n return acc;\r\n },\r\n {} as Record<string, unknown>,\r\n );\r\n\r\n function _bindRowRef(el: any | null) {\r\n rowRef.value = el;\r\n }\r\n\r\n return {\r\n index,\r\n key,\r\n value,\r\n selectable,\r\n columns: itemColumns,\r\n raw: item,\r\n rowRef,\r\n _bindRowRef,\r\n };\r\n}\r\n\r\nexport function updateItems(\r\n props: Omit<DataTableItemsProps, 'items'>,\r\n items: DataTableItemsProps['items'],\r\n columns: InternalDataTableHeader[],\r\n): DataTableItem[] {\r\n return items.map((item, index) => updateItem(props, item, index, columns));\r\n}\r\n\r\nexport function useItems(\r\n props: DataTableItemsProps,\r\n columns: Ref<InternalDataTableHeader[]>,\r\n) {\r\n const items = computed(() => {\r\n return updateItems(props, props.items, columns.value);\r\n });\r\n return { items };\r\n}\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAA2BC,GAAG,QAAQ,KAAK;AAAC,SAEpDC,mBAAmB;AAAA,SACnBC,YAAY;AAWrB,OAAO,MAAMC,wBAAwB,GAAGD,YAAY,CAClD;EACEE,KAAK,EAAE;IACLC,IAAI,EAAEC,KAA+C;IACrDC,OAAO,EAAEA,CAAA,KAAM;EACjB,CAAC;EACDC,OAAO,EAAE;IACPH,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAAkB;IAChDH,OAAO,EAAE;EACX,CAAC;EACDI,cAAc,EAAE;IACdN,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAAkB;IAChDH,OAAO,EAAE;EACX,CAAC;EACDK,UAAU,EAAEC;AACd,CAAC,EACD,mBACF,CAAC;AAED,OAAO,SAASC,UAAUA,CACxBC,KAAyC,EACzCC,IAAS,EACTC,KAAa,EACbC,OAAkC,EACnB;EACf,MAAMC,MAAM,GAAGnB,GAAG,CAAa,IAAI,CAAC;EACpC,MAAMoB,GAAG,GAAGnB,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACP,OAAO,CAAC;EACpD,MAAMa,KAAK,GAAGN,KAAK,CAACH,UAAU,GAAGI,IAAI,GAAGI,GAAG;EAC3C,IAAIE,UAAU;EACd,IAAI,OAAOP,KAAK,CAACJ,cAAc,KAAK,UAAU,EAAE;IAC9CW,UAAU,GAAG,CAAC,CAACP,KAAK,CAACJ,cAAc,CAACK,IAAI,CAAC;EAC3C,CAAC,MAAM;IACLM,UAAU,GAAGrB,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACJ,cAAc,EAAE,IAAI,CAAC;EACpE;EAEA,MAAMY,WAAW,GAAGL,OAAO,CAACM,MAAM,CAChC,CAACC,GAAG,EAAEC,MAAM,KAAK;IACfD,GAAG,CAACC,MAAM,CAACN,GAAG,CAAC,GAAGnB,mBAAmB,CAACe,IAAI,EAAEU,MAAM,CAACL,KAAK,IAAIK,MAAM,CAACN,GAAG,CAAC;IACvE,OAAOK,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EAED,SAASE,WAAWA,CAACC,EAAc,EAAE;IACnCT,MAAM,CAACE,KAAK,GAAGO,EAAE;EACnB;EAEA,OAAO;IACLX,KAAK;IACLG,GAAG;IACHC,KAAK;IACLC,UAAU;IACVJ,OAAO,EAAEK,WAAW;IACpBM,GAAG,EAAEb,IAAI;IACTG,MAAM;IACNQ;EACF,CAAC;AACH;AAEA,OAAO,SAASG,WAAWA,CACzBf,KAAyC,EACzCX,KAAmC,EACnCc,OAAkC,EACjB;EACjB,OAAOd,KAAK,CAAC2B,GAAG,CAAC,CAACf,IAAI,EAAEC,KAAK,KAAKH,UAAU,CAACC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,OAAO,CAAC,CAAC;AAC5E;AAEA,OAAO,SAASc,QAAQA,CACtBjB,KAA0B,EAC1BG,OAAuC,EACvC;EACA,MAAMd,KAAK,GAAGL,QAAQ,CAAC,MAAM;IAC3B,OAAO+B,WAAW,CAACf,KAAK,EAAEA,KAAK,CAACX,KAAK,EAAEc,OAAO,CAACG,KAAK,CAAC;EACvD,CAAC,CAAC;EACF,OAAO;IAAEjB;EAAM,CAAC;AAClB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"measure.js","names":["ref","shallowRef","watch","useResizeObserver","debounce","useRectMeasure","tableRef","wrapperRef","containerRect","wrapperRect","tableRect","debounceMeasure","measure","resizeObservedRef","containerRef","entries","value","contentRect","rect","getBoundingClientRect","obj","key","clientWidth","neo","el","querySelector","undefined"],"sources":["../../../../src/components/table/composables/measure.ts"],"sourcesContent":["import { ref, shallowRef, watch } from 'vue';\n\nimport { useResizeObserver } from '@/composables/resize-observer';\nimport { debounce } from '@/util/debounce';\n\nexport function useRectMeasure() {\n const tableRef = ref<HTMLTableElement>();\n const wrapperRef = ref<HTMLElement>();\n\n const containerRect = shallowRef<DOMRectReadOnly>();\n const wrapperRect = shallowRef<DOMRectReadOnly>();\n const tableRect = shallowRef<DOMRectReadOnly>();\n\n const debounceMeasure = debounce(measure, 100);\n\n const { resizeObservedRef: containerRef } = useResizeObserver((entries) => {\n debounceMeasure(entries);\n });\n\n function measure(entries: any) {\n containerRect.value = entries?.[0]?.contentRect;\n\n if (wrapperRef.value) {\n const rect = wrapperRef.value.getBoundingClientRect();\n\n if (rect) {\n const obj: any = {};\n for (const key in rect) {\n if (typeof rect[key as keyof DOMRect] !== 'function') {\n obj[key] = rect[key as keyof DOMRect];\n }\n }\n wrapperRect.value = {\n ...obj,\n clientWidth: wrapperRef.value?.clientWidth ?? 0,\n };\n }\n }\n\n if (tableRef.value) {\n const rect = tableRef.value?.getBoundingClientRect();\n if (rect) {\n tableRect.value = rect;\n }\n }\n }\n\n watch(tableRef, (neo) => {\n if (neo) {\n const el = containerRef.value!;\n wrapperRef.value =\n (el.querySelector('.y-table__wrapper') as HTMLElement) || undefined;\n }\n });\n\n return {\n containerRef,\n wrapperRef,\n tableRef,\n containerRect,\n wrapperRect,\n tableRect,\n };\n}\n"],"mappings":"AAAA,SAASA,GAAG,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAEpCC,iBAAiB;AAAA,SACjBC,QAAQ;AAEjB,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,MAAMC,QAAQ,GAAGN,GAAG,CAAmB,CAAC;EACxC,MAAMO,UAAU,GAAGP,GAAG,CAAc,CAAC;EAErC,MAAMQ,aAAa,GAAGP,UAAU,CAAkB,CAAC;EACnD,MAAMQ,WAAW,GAAGR,UAAU,CAAkB,CAAC;EACjD,MAAMS,SAAS,GAAGT,UAAU,CAAkB,CAAC;EAE/C,MAAMU,eAAe,GAAGP,QAAQ,CAACQ,OAAO,EAAE,GAAG,CAAC;EAE9C,MAAM;IAAEC,iBAAiB,EAAEC;EAAa,CAAC,GAAGX,iBAAiB,CAAEY,OAAO,IAAK;IACzEJ,eAAe,CAACI,OAAO,CAAC;EAC1B,CAAC,CAAC;EAEF,SAASH,OAAOA,CAACG,OAAY,EAAE;IAC7BP,aAAa,CAACQ,KAAK,GAAGD,OAAO,GAAG,CAAC,CAAC,EAAEE,WAAW;IAE/C,IAAIV,UAAU,CAACS,KAAK,EAAE;MACpB,MAAME,IAAI,GAAGX,UAAU,CAACS,KAAK,CAACG,qBAAqB,CAAC,CAAC;MAErD,IAAID,IAAI,EAAE;QACR,MAAME,GAAQ,GAAG,CAAC,CAAC;QACnB,KAAK,MAAMC,GAAG,IAAIH,IAAI,EAAE;UACtB,IAAI,OAAOA,IAAI,CAACG,GAAG,CAAkB,KAAK,UAAU,EAAE;YACpDD,GAAG,CAACC,GAAG,CAAC,GAAGH,IAAI,CAACG,GAAG,CAAkB;UACvC;QACF;QACAZ,WAAW,CAACO,KAAK,GAAG;UAClB,GAAGI,GAAG;UACNE,WAAW,EAAEf,UAAU,CAACS,KAAK,EAAEM,WAAW,IAAI;QAChD,CAAC;MACH;IACF;IAEA,IAAIhB,QAAQ,CAACU,KAAK,EAAE;MAClB,MAAME,IAAI,GAAGZ,QAAQ,CAACU,KAAK,EAAEG,qBAAqB,CAAC,CAAC;MACpD,IAAID,IAAI,EAAE;QACRR,SAAS,CAACM,KAAK,GAAGE,IAAI;MACxB;IACF;EACF;EAEAhB,KAAK,CAACI,QAAQ,EAAGiB,GAAG,IAAK;IACvB,IAAIA,GAAG,EAAE;MACP,MAAMC,EAAE,GAAGV,YAAY,CAACE,KAAM;MAC9BT,UAAU,CAACS,KAAK,GACbQ,EAAE,CAACC,aAAa,CAAC,mBAAmB,CAAC,IAAoBC,SAAS;IACvE;EACF,CAAC,CAAC;EAEF,OAAO;IACLZ,YAAY;IACZP,UAAU;IACVD,QAAQ;IACRE,aAAa;IACbC,WAAW;IACXC;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"measure.js","names":["ref","shallowRef","watch","useResizeObserver","debounce","useRectMeasure","tableRef","wrapperRef","containerRect","wrapperRect","tableRect","debounceMeasure","measure","resizeObservedRef","containerRef","entries","value","contentRect","rect","getBoundingClientRect","obj","key","clientWidth","neo","el","querySelector","undefined"],"sources":["../../../../src/components/table/composables/measure.ts"],"sourcesContent":["import { ref, shallowRef, watch } from 'vue';\r\n\r\nimport { useResizeObserver } from '@/composables/resize-observer';\r\nimport { debounce } from '@/util/debounce';\r\n\r\nexport function useRectMeasure() {\r\n const tableRef = ref<HTMLTableElement>();\r\n const wrapperRef = ref<HTMLElement>();\r\n\r\n const containerRect = shallowRef<DOMRectReadOnly>();\r\n const wrapperRect = shallowRef<DOMRectReadOnly>();\r\n const tableRect = shallowRef<DOMRectReadOnly>();\r\n\r\n const debounceMeasure = debounce(measure, 100);\r\n\r\n const { resizeObservedRef: containerRef } = useResizeObserver((entries) => {\r\n debounceMeasure(entries);\r\n });\r\n\r\n function measure(entries: any) {\r\n containerRect.value = entries?.[0]?.contentRect;\r\n\r\n if (wrapperRef.value) {\r\n const rect = wrapperRef.value.getBoundingClientRect();\r\n\r\n if (rect) {\r\n const obj: any = {};\r\n for (const key in rect) {\r\n if (typeof rect[key as keyof DOMRect] !== 'function') {\r\n obj[key] = rect[key as keyof DOMRect];\r\n }\r\n }\r\n wrapperRect.value = {\r\n ...obj,\r\n clientWidth: wrapperRef.value?.clientWidth ?? 0,\r\n };\r\n }\r\n }\r\n\r\n if (tableRef.value) {\r\n const rect = tableRef.value?.getBoundingClientRect();\r\n if (rect) {\r\n tableRect.value = rect;\r\n }\r\n }\r\n }\r\n\r\n watch(tableRef, (neo) => {\r\n if (neo) {\r\n const el = containerRef.value!;\r\n wrapperRef.value =\r\n (el.querySelector('.y-table__wrapper') as HTMLElement) || undefined;\r\n }\r\n });\r\n\r\n return {\r\n containerRef,\r\n wrapperRef,\r\n tableRef,\r\n containerRect,\r\n wrapperRect,\r\n tableRect,\r\n };\r\n}\r\n"],"mappings":"AAAA,SAASA,GAAG,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAEpCC,iBAAiB;AAAA,SACjBC,QAAQ;AAEjB,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,MAAMC,QAAQ,GAAGN,GAAG,CAAmB,CAAC;EACxC,MAAMO,UAAU,GAAGP,GAAG,CAAc,CAAC;EAErC,MAAMQ,aAAa,GAAGP,UAAU,CAAkB,CAAC;EACnD,MAAMQ,WAAW,GAAGR,UAAU,CAAkB,CAAC;EACjD,MAAMS,SAAS,GAAGT,UAAU,CAAkB,CAAC;EAE/C,MAAMU,eAAe,GAAGP,QAAQ,CAACQ,OAAO,EAAE,GAAG,CAAC;EAE9C,MAAM;IAAEC,iBAAiB,EAAEC;EAAa,CAAC,GAAGX,iBAAiB,CAAEY,OAAO,IAAK;IACzEJ,eAAe,CAACI,OAAO,CAAC;EAC1B,CAAC,CAAC;EAEF,SAASH,OAAOA,CAACG,OAAY,EAAE;IAC7BP,aAAa,CAACQ,KAAK,GAAGD,OAAO,GAAG,CAAC,CAAC,EAAEE,WAAW;IAE/C,IAAIV,UAAU,CAACS,KAAK,EAAE;MACpB,MAAME,IAAI,GAAGX,UAAU,CAACS,KAAK,CAACG,qBAAqB,CAAC,CAAC;MAErD,IAAID,IAAI,EAAE;QACR,MAAME,GAAQ,GAAG,CAAC,CAAC;QACnB,KAAK,MAAMC,GAAG,IAAIH,IAAI,EAAE;UACtB,IAAI,OAAOA,IAAI,CAACG,GAAG,CAAkB,KAAK,UAAU,EAAE;YACpDD,GAAG,CAACC,GAAG,CAAC,GAAGH,IAAI,CAACG,GAAG,CAAkB;UACvC;QACF;QACAZ,WAAW,CAACO,KAAK,GAAG;UAClB,GAAGI,GAAG;UACNE,WAAW,EAAEf,UAAU,CAACS,KAAK,EAAEM,WAAW,IAAI;QAChD,CAAC;MACH;IACF;IAEA,IAAIhB,QAAQ,CAACU,KAAK,EAAE;MAClB,MAAME,IAAI,GAAGZ,QAAQ,CAACU,KAAK,EAAEG,qBAAqB,CAAC,CAAC;MACpD,IAAID,IAAI,EAAE;QACRR,SAAS,CAACM,KAAK,GAAGE,IAAI;MACxB;IACF;EACF;EAEAhB,KAAK,CAACI,QAAQ,EAAGiB,GAAG,IAAK;IACvB,IAAIA,GAAG,EAAE;MACP,MAAMC,EAAE,GAAGV,YAAY,CAACE,KAAM;MAC9BT,UAAU,CAACS,KAAK,GACbQ,EAAE,CAACC,aAAa,CAAC,mBAAmB,CAAC,IAAoBC,SAAS;IACvE;EACF,CAAC,CAAC;EAEF,OAAO;IACLZ,YAAY;IACZP,UAAU;IACVD,QAAQ;IACRE,aAAa;IACbC,WAAW;IACXC;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"provides.js","names":["YTableInjectionKey","Symbol","for","YDataTableInjectionKey"],"sources":["../../../../src/components/table/composables/provides.ts"],"sourcesContent":["import { type InjectionKey, Ref, ShallowRef } from 'vue';\nimport type { InternalDataTableHeader } from '@/components/table/types';\nimport { createSorting } from '@/components/table/composables/sorting';\n\nexport const YTableInjectionKey: InjectionKey<{\n tableRef: Ref<HTMLTableElement | undefined>;\n containerRect: ShallowRef<DOMRectReadOnly | undefined>;\n wrapperRef: Ref<HTMLElement | undefined>;\n wrapperRect: ShallowRef<DOMRectReadOnly | undefined>;\n}> = Symbol.for('y-table');\n\nexport const YDataTableInjectionKey: InjectionKey<{\n toggleSort: (column: InternalDataTableHeader) => void;\n sortBy: ReturnType<typeof createSorting>['sortBy'];\n headRect: Ref<DOMRectReadOnly | undefined>;\n}> = Symbol.for('y-data-table');\n"],"mappings":"AAIA,OAAO,MAAMA,kBAKX,GAAGC,MAAM,CAACC,GAAG,CAAC,SAAS,CAAC;AAE1B,OAAO,MAAMC,sBAIX,GAAGF,MAAM,CAACC,GAAG,CAAC,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"provides.js","names":["YTableInjectionKey","Symbol","for","YDataTableInjectionKey"],"sources":["../../../../src/components/table/composables/provides.ts"],"sourcesContent":["import { type InjectionKey, Ref, ShallowRef } from 'vue';\r\nimport type { InternalDataTableHeader } from '@/components/table/types';\r\nimport { createSorting } from '@/components/table/composables/sorting';\r\n\r\nexport const YTableInjectionKey: InjectionKey<{\r\n tableRef: Ref<HTMLTableElement | undefined>;\r\n containerRect: ShallowRef<DOMRectReadOnly | undefined>;\r\n wrapperRef: Ref<HTMLElement | undefined>;\r\n wrapperRect: ShallowRef<DOMRectReadOnly | undefined>;\r\n}> = Symbol.for('y-table');\r\n\r\nexport const YDataTableInjectionKey: InjectionKey<{\r\n toggleSort: (column: InternalDataTableHeader) => void;\r\n sortBy: ReturnType<typeof createSorting>['sortBy'];\r\n headRect: Ref<DOMRectReadOnly | undefined>;\r\n}> = Symbol.for('y-data-table');\r\n"],"mappings":"AAIA,OAAO,MAAMA,kBAKX,GAAGC,MAAM,CAACC,GAAG,CAAC,SAAS,CAAC;AAE1B,OAAO,MAAMC,sBAIX,GAAGF,MAAM,CAACC,GAAG,CAAC,cAAc,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","names":[],"sources":["../../../../src/components/table/types/item.ts"],"sourcesContent":["import {\n provideSelection,\n SelectableItem,\n} from '@/components/table/composables/selection';\nimport { InternalDataTableHeader } from './header';\n\ntype ItemSlotBase<T> = {\n index: number;\n item: T;\n internalItem: DataTableItem<T>;\n selected: boolean;\n isSelected: ReturnType<typeof provideSelection>['isSelected'];\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect'];\n};\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any;\n column: InternalDataTableHeader;\n};\n\nexport interface DataTableItem<T = any> extends SelectableItem {\n index: number;\n columns: Record<string, any>;\n raw: T;\n rowRef?: any;\n readonly _bindRowRef: (el: any | null) => void;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"item.js","names":[],"sources":["../../../../src/components/table/types/item.ts"],"sourcesContent":["import {\r\n provideSelection,\r\n SelectableItem,\r\n} from '@/components/table/composables/selection';\r\nimport { InternalDataTableHeader } from './header';\r\n\r\ntype ItemSlotBase<T> = {\r\n index: number;\r\n item: T;\r\n internalItem: DataTableItem<T>;\r\n selected: boolean;\r\n isSelected: ReturnType<typeof provideSelection>['isSelected'];\r\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect'];\r\n};\r\n\r\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\r\n value: any;\r\n column: InternalDataTableHeader;\r\n};\r\n\r\nexport interface DataTableItem<T = any> extends SelectableItem {\r\n index: number;\r\n columns: Record<string, any>;\r\n raw: T;\r\n rowRef?: any;\r\n readonly _bindRowRef: (el: any | null) => void;\r\n}\r\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"YTextEllipsis.js","names":["computed","ref","watch","createVNode","_createVNode","useRender","useResizeObserver","defineComponent","YTextEllipsis","name","props","text","type","String","default","position","setup","resizeObservedRef","contentRect","isOverflow","containerWidth","value","width","title","startText","length","Math","round","substring","endText","neo","scrollWidth","offsetWidth","overflowed"],"sources":["../../../src/components/text-ellipsis/YTextEllipsis.tsx"],"sourcesContent":["import { computed, ref, watch } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { useResizeObserver } from '@/composables/resize-observer';\nimport { defineComponent } from '@/util/component';\n\nimport './YTextEllipsis.scss';\n\nexport const YTextEllipsis = defineComponent({\n name: 'YTextEllipsis',\n props: {\n text: {\n type: String,\n default: '',\n },\n position: {\n type: String,\n },\n },\n setup(props) {\n const { resizeObservedRef, contentRect } = useResizeObserver();\n\n const isOverflow = ref(false);\n\n const containerWidth = computed(() => {\n return contentRect.value?.width;\n });\n\n const title = computed(() => {\n return props.text;\n });\n\n const startText = computed(() => {\n if (isOverflow.value) {\n const length = Math.round(props.text.length * 0.5);\n return props.text.substring(0, length);\n }\n return props.text;\n });\n\n const endText = computed(() => {\n if (isOverflow.value) {\n const length = Math.round(props.text.length * 0.5);\n return props.text.substring(length, props.text.length);\n }\n return props.text;\n });\n\n watch(containerWidth, (neo) => {\n if (resizeObservedRef.value && neo != null) {\n isOverflow.value =\n resizeObservedRef.value.scrollWidth >\n resizeObservedRef.value.offsetWidth;\n }\n });\n\n useRender(() => {\n return (\n <span\n title={title.value}\n class={['y-text-ellipsis', { overflowed: isOverflow.value }]}\n >\n <span ref={resizeObservedRef} class=\"y-text-ellipsis__origin\">\n {props.text}\n </span>\n {isOverflow.value && (\n <span class=\"y-text-ellipsis__start\">{startText.value}</span>\n )}\n\n {isOverflow.value && (\n <span class=\"y-text-ellipsis__end\">{endText.value}</span>\n )}\n </span>\n );\n });\n },\n});\n\nexport type YTextEllipsis = InstanceType<typeof YTextEllipsis>;\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,GAAG,EAAEC,KAAK,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAElCC,SAAS;AAAA,SACTC,iBAAiB;AAAA,SACjBC,eAAe;AAExB;AAEA,OAAO,MAAMC,aAAa,GAAGD,eAAe,CAAC;EAC3CE,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,QAAQ,EAAE;MACRH,IAAI,EAAEC;IACR;EACF,CAAC;EACDG,KAAKA,CAACN,KAAK,EAAE;IACX,MAAM;MAAEO,iBAAiB;MAAEC;IAAY,CAAC,GAAGZ,iBAAiB,CAAC,CAAC;IAE9D,MAAMa,UAAU,GAAGlB,GAAG,CAAC,KAAK,CAAC;IAE7B,MAAMmB,cAAc,GAAGpB,QAAQ,CAAC,MAAM;MACpC,OAAOkB,WAAW,CAACG,KAAK,EAAEC,KAAK;IACjC,CAAC,CAAC;IAEF,MAAMC,KAAK,GAAGvB,QAAQ,CAAC,MAAM;MAC3B,OAAOU,KAAK,CAACC,IAAI;IACnB,CAAC,CAAC;IAEF,MAAMa,SAAS,GAAGxB,QAAQ,CAAC,MAAM;MAC/B,IAAImB,UAAU,CAACE,KAAK,EAAE;QACpB,MAAMI,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACjB,KAAK,CAACC,IAAI,CAACc,MAAM,GAAG,GAAG,CAAC;QAClD,OAAOf,KAAK,CAACC,IAAI,CAACiB,SAAS,CAAC,CAAC,EAAEH,MAAM,CAAC;MACxC;MACA,OAAOf,KAAK,CAACC,IAAI;IACnB,CAAC,CAAC;IAEF,MAAMkB,OAAO,GAAG7B,QAAQ,CAAC,MAAM;MAC7B,IAAImB,UAAU,CAACE,KAAK,EAAE;QACpB,MAAMI,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACjB,KAAK,CAACC,IAAI,CAACc,MAAM,GAAG,GAAG,CAAC;QAClD,OAAOf,KAAK,CAACC,IAAI,CAACiB,SAAS,CAACH,MAAM,EAAEf,KAAK,CAACC,IAAI,CAACc,MAAM,CAAC;MACxD;MACA,OAAOf,KAAK,CAACC,IAAI;IACnB,CAAC,CAAC;IAEFT,KAAK,CAACkB,cAAc,EAAGU,GAAG,IAAK;MAC7B,IAAIb,iBAAiB,CAACI,KAAK,IAAIS,GAAG,IAAI,IAAI,EAAE;QAC1CX,UAAU,CAACE,KAAK,GACdJ,iBAAiB,CAACI,KAAK,CAACU,WAAW,GACnCd,iBAAiB,CAACI,KAAK,CAACW,WAAW;MACvC;IACF,CAAC,CAAC;IAEF3B,SAAS,CAAC,MAAM;MACd,OAAAD,YAAA;QAAA,SAEWmB,KAAK,CAACF,KAAK;QAAA,SACX,CAAC,iBAAiB,EAAE;UAAEY,UAAU,EAAEd,UAAU,CAACE;QAAM,CAAC;MAAC,IAAAjB,YAAA;QAAA,OAEjDa,iBAAiB;QAAA;MAAA,IACzBP,KAAK,CAACC,IAAI,IAEZQ,UAAU,CAACE,KAAK,IAAAjB,YAAA;QAAA;MAAA,IACuBoB,SAAS,CAACH,KAAK,EACtD,EAEAF,UAAU,CAACE,KAAK,IAAAjB,YAAA;QAAA;MAAA,IACqByB,OAAO,CAACR,KAAK,EAClD;IAGP,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"YTextEllipsis.js","names":["computed","ref","watch","createVNode","_createVNode","useRender","useResizeObserver","defineComponent","YTextEllipsis","name","props","text","type","String","default","position","setup","resizeObservedRef","contentRect","isOverflow","containerWidth","value","width","title","startText","length","Math","round","substring","endText","neo","scrollWidth","offsetWidth","overflowed"],"sources":["../../../src/components/text-ellipsis/YTextEllipsis.tsx"],"sourcesContent":["import { computed, ref, watch } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { useResizeObserver } from '@/composables/resize-observer';\r\nimport { defineComponent } from '@/util/component';\r\n\r\nimport './YTextEllipsis.scss';\r\n\r\nexport const YTextEllipsis = defineComponent({\r\n name: 'YTextEllipsis',\r\n props: {\r\n text: {\r\n type: String,\r\n default: '',\r\n },\r\n position: {\r\n type: String,\r\n },\r\n },\r\n setup(props) {\r\n const { resizeObservedRef, contentRect } = useResizeObserver();\r\n\r\n const isOverflow = ref(false);\r\n\r\n const containerWidth = computed(() => {\r\n return contentRect.value?.width;\r\n });\r\n\r\n const title = computed(() => {\r\n return props.text;\r\n });\r\n\r\n const startText = computed(() => {\r\n if (isOverflow.value) {\r\n const length = Math.round(props.text.length * 0.5);\r\n return props.text.substring(0, length);\r\n }\r\n return props.text;\r\n });\r\n\r\n const endText = computed(() => {\r\n if (isOverflow.value) {\r\n const length = Math.round(props.text.length * 0.5);\r\n return props.text.substring(length, props.text.length);\r\n }\r\n return props.text;\r\n });\r\n\r\n watch(containerWidth, (neo) => {\r\n if (resizeObservedRef.value && neo != null) {\r\n isOverflow.value =\r\n resizeObservedRef.value.scrollWidth >\r\n resizeObservedRef.value.offsetWidth;\r\n }\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <span\r\n title={title.value}\r\n class={['y-text-ellipsis', { overflowed: isOverflow.value }]}\r\n >\r\n <span ref={resizeObservedRef} class=\"y-text-ellipsis__origin\">\r\n {props.text}\r\n </span>\r\n {isOverflow.value && (\r\n <span class=\"y-text-ellipsis__start\">{startText.value}</span>\r\n )}\r\n\r\n {isOverflow.value && (\r\n <span class=\"y-text-ellipsis__end\">{endText.value}</span>\r\n )}\r\n </span>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YTextEllipsis = InstanceType<typeof YTextEllipsis>;\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,GAAG,EAAEC,KAAK,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAElCC,SAAS;AAAA,SACTC,iBAAiB;AAAA,SACjBC,eAAe;AAExB;AAEA,OAAO,MAAMC,aAAa,GAAGD,eAAe,CAAC;EAC3CE,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,QAAQ,EAAE;MACRH,IAAI,EAAEC;IACR;EACF,CAAC;EACDG,KAAKA,CAACN,KAAK,EAAE;IACX,MAAM;MAAEO,iBAAiB;MAAEC;IAAY,CAAC,GAAGZ,iBAAiB,CAAC,CAAC;IAE9D,MAAMa,UAAU,GAAGlB,GAAG,CAAC,KAAK,CAAC;IAE7B,MAAMmB,cAAc,GAAGpB,QAAQ,CAAC,MAAM;MACpC,OAAOkB,WAAW,CAACG,KAAK,EAAEC,KAAK;IACjC,CAAC,CAAC;IAEF,MAAMC,KAAK,GAAGvB,QAAQ,CAAC,MAAM;MAC3B,OAAOU,KAAK,CAACC,IAAI;IACnB,CAAC,CAAC;IAEF,MAAMa,SAAS,GAAGxB,QAAQ,CAAC,MAAM;MAC/B,IAAImB,UAAU,CAACE,KAAK,EAAE;QACpB,MAAMI,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACjB,KAAK,CAACC,IAAI,CAACc,MAAM,GAAG,GAAG,CAAC;QAClD,OAAOf,KAAK,CAACC,IAAI,CAACiB,SAAS,CAAC,CAAC,EAAEH,MAAM,CAAC;MACxC;MACA,OAAOf,KAAK,CAACC,IAAI;IACnB,CAAC,CAAC;IAEF,MAAMkB,OAAO,GAAG7B,QAAQ,CAAC,MAAM;MAC7B,IAAImB,UAAU,CAACE,KAAK,EAAE;QACpB,MAAMI,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACjB,KAAK,CAACC,IAAI,CAACc,MAAM,GAAG,GAAG,CAAC;QAClD,OAAOf,KAAK,CAACC,IAAI,CAACiB,SAAS,CAACH,MAAM,EAAEf,KAAK,CAACC,IAAI,CAACc,MAAM,CAAC;MACxD;MACA,OAAOf,KAAK,CAACC,IAAI;IACnB,CAAC,CAAC;IAEFT,KAAK,CAACkB,cAAc,EAAGU,GAAG,IAAK;MAC7B,IAAIb,iBAAiB,CAACI,KAAK,IAAIS,GAAG,IAAI,IAAI,EAAE;QAC1CX,UAAU,CAACE,KAAK,GACdJ,iBAAiB,CAACI,KAAK,CAACU,WAAW,GACnCd,iBAAiB,CAACI,KAAK,CAACW,WAAW;MACvC;IACF,CAAC,CAAC;IAEF3B,SAAS,CAAC,MAAM;MACd,OAAAD,YAAA;QAAA,SAEWmB,KAAK,CAACF,KAAK;QAAA,SACX,CAAC,iBAAiB,EAAE;UAAEY,UAAU,EAAEd,UAAU,CAACE;QAAM,CAAC;MAAC,IAAAjB,YAAA;QAAA,OAEjDa,iBAAiB;QAAA;MAAA,IACzBP,KAAK,CAACC,IAAI,IAEZQ,UAAU,CAACE,KAAK,IAAAjB,YAAA;QAAA;MAAA,IACuBoB,SAAS,CAACH,KAAK,EACtD,EAEAF,UAAU,CAACE,KAAK,IAAAjB,YAAA;QAAA;MAAA,IACqByB,OAAO,CAACR,KAAK,EAClD;IAGP,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"YTextHighlighter.js","names":["h","defineComponent","escapeRegExp","YTextHighlighter","name","props","text","type","String","keyword","color","sensitive","Boolean","computed","splitText","split","stack","keyExp","RegExp","length","index","search","push","isKeyword","substring","methods","createItem","staticClass","createHighlightKeywordItem","class","style","backgroundColor","createSplitTexts","map","splitItem","render","children"],"sources":["../../../src/components/text-highlighter/YTextHighlighter.ts"],"sourcesContent":["import { type VNode, h } from 'vue';\n\nimport { defineComponent } from '@/util/component';\nimport { escapeRegExp } from '@/util/string';\n\nimport './YTextHighlighter.scss';\n\nexport const YTextHighlighter = defineComponent({\n name: 'YTextHighlighter',\n props: {\n text: {\n type: String,\n },\n keyword: {\n type: String,\n },\n color: {\n type: String,\n },\n sensitive: {\n type: Boolean,\n },\n },\n computed: {\n splitText(): { text: string; isKeyword: boolean }[] {\n const { keyword, text } = this;\n if (keyword && text) {\n const split: { text: string; isKeyword: boolean }[] = [];\n let stack = text;\n const keyExp = new RegExp(\n escapeRegExp(keyword),\n this.sensitive ? '' : 'i',\n );\n while (stack.length > 0) {\n const index = stack.search(keyExp);\n if (index < 0) {\n split.push({ text: stack, isKeyword: false });\n stack = '';\n } else if (index < 1) {\n split.push({\n text: stack.substring(0, keyword.length),\n isKeyword: true,\n });\n stack = stack.substring(keyword.length, stack.length);\n } else {\n split.push({ text: stack.substring(0, index), isKeyword: false });\n split.push({\n text: stack.substring(index, index + keyword.length),\n isKeyword: true,\n });\n stack = stack.substring(index + keyword.length, stack.length);\n }\n }\n return split;\n }\n return [{ text: this.text || '', isKeyword: false }];\n },\n },\n methods: {\n createItem(text: string): VNode {\n return h(\n 'span',\n {\n staticClass: 'y-text-highlighter__item',\n },\n [text],\n );\n },\n createHighlightKeywordItem(text: string): VNode {\n return h(\n 'span',\n {\n staticClass: 'y-text-highlighter__item',\n class: 'y-text-highlighter__item--highlight',\n style: {\n backgroundColor: this.color,\n },\n },\n [text],\n );\n },\n createSplitTexts(): VNode[] {\n return this.splitText.map((splitItem) => {\n if (splitItem.isKeyword) {\n return this.createHighlightKeywordItem(splitItem.text);\n }\n return this.createItem(splitItem.text);\n });\n },\n },\n render(): VNode {\n const children = this.createSplitTexts();\n return h('span', { staticClass: 'y-text-highlighter' }, children);\n },\n});\n\nexport type YTextHighlighter = InstanceType<typeof YTextHighlighter>;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"YTextHighlighter.js","names":["h","defineComponent","escapeRegExp","YTextHighlighter","name","props","text","type","String","keyword","color","sensitive","Boolean","computed","splitText","split","stack","keyExp","RegExp","length","index","search","push","isKeyword","substring","methods","createItem","staticClass","createHighlightKeywordItem","class","style","backgroundColor","createSplitTexts","map","splitItem","render","children"],"sources":["../../../src/components/text-highlighter/YTextHighlighter.ts"],"sourcesContent":["import { type VNode, h } from 'vue';\r\n\r\nimport { defineComponent } from '@/util/component';\r\nimport { escapeRegExp } from '@/util/string';\r\n\r\nimport './YTextHighlighter.scss';\r\n\r\nexport const YTextHighlighter = defineComponent({\r\n name: 'YTextHighlighter',\r\n props: {\r\n text: {\r\n type: String,\r\n },\r\n keyword: {\r\n type: String,\r\n },\r\n color: {\r\n type: String,\r\n },\r\n sensitive: {\r\n type: Boolean,\r\n },\r\n },\r\n computed: {\r\n splitText(): { text: string; isKeyword: boolean }[] {\r\n const { keyword, text } = this;\r\n if (keyword && text) {\r\n const split: { text: string; isKeyword: boolean }[] = [];\r\n let stack = text;\r\n const keyExp = new RegExp(\r\n escapeRegExp(keyword),\r\n this.sensitive ? '' : 'i',\r\n );\r\n while (stack.length > 0) {\r\n const index = stack.search(keyExp);\r\n if (index < 0) {\r\n split.push({ text: stack, isKeyword: false });\r\n stack = '';\r\n } else if (index < 1) {\r\n split.push({\r\n text: stack.substring(0, keyword.length),\r\n isKeyword: true,\r\n });\r\n stack = stack.substring(keyword.length, stack.length);\r\n } else {\r\n split.push({ text: stack.substring(0, index), isKeyword: false });\r\n split.push({\r\n text: stack.substring(index, index + keyword.length),\r\n isKeyword: true,\r\n });\r\n stack = stack.substring(index + keyword.length, stack.length);\r\n }\r\n }\r\n return split;\r\n }\r\n return [{ text: this.text || '', isKeyword: false }];\r\n },\r\n },\r\n methods: {\r\n createItem(text: string): VNode {\r\n return h(\r\n 'span',\r\n {\r\n staticClass: 'y-text-highlighter__item',\r\n },\r\n [text],\r\n );\r\n },\r\n createHighlightKeywordItem(text: string): VNode {\r\n return h(\r\n 'span',\r\n {\r\n staticClass: 'y-text-highlighter__item',\r\n class: 'y-text-highlighter__item--highlight',\r\n style: {\r\n backgroundColor: this.color,\r\n },\r\n },\r\n [text],\r\n );\r\n },\r\n createSplitTexts(): VNode[] {\r\n return this.splitText.map((splitItem) => {\r\n if (splitItem.isKeyword) {\r\n return this.createHighlightKeywordItem(splitItem.text);\r\n }\r\n return this.createItem(splitItem.text);\r\n });\r\n },\r\n },\r\n render(): VNode {\r\n const children = this.createSplitTexts();\r\n return h('span', { staticClass: 'y-text-highlighter' }, children);\r\n },\r\n});\r\n\r\nexport type YTextHighlighter = InstanceType<typeof YTextHighlighter>;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"YTi.js","names":["computed","createVNode","_createVNode","useRender","getObjectValueByPath","defineComponent","simpleBraceParse","YTi","name","props","text","String","item","Object","tag","type","default","setup","_ref","slots","parsed","getValue","key","ElTag","nodes","value","map","frag","content"],"sources":["../../../src/components/text-interpolation/YTi.tsx"],"sourcesContent":["import { computed, type PropType } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { getObjectValueByPath } from '@/util/common';\nimport { defineComponent } from '@/util/component';\nimport { simpleBraceParse } from '@/util/string';\n\nexport const YTi = defineComponent({\n name: 'YTi',\n props: {\n text: String,\n item: Object,\n tag: {\n type: String as PropType<keyof HTMLElementTagNameMap>,\n default: 'span',\n },\n },\n setup(props, { slots }) {\n const parsed = computed(() => {\n return simpleBraceParse(props.text ?? '');\n });\n\n function getValue(key: string) {\n return getObjectValueByPath(props.item, key);\n }\n\n useRender(() => {\n const ElTag = props.tag as keyof HTMLElementTagNameMap;\n return (\n <ElTag>\n {slots.default\n ? slots.default?.({ nodes: parsed.value })\n : parsed.value.map((frag) => {\n if (frag.type === 'text') {\n return frag.content;\n }\n if (frag.type === 'variable') {\n return slots?.[frag.content]\n ? slots[frag.content]?.({\n key: frag.content,\n value: getValue(frag.content),\n })\n : getValue(frag.content);\n }\n return frag.content;\n })}\n </ElTag>\n );\n });\n },\n});\n\nexport type YTi = InstanceType<typeof YTi>;\n"],"mappings":"AAAA,SAASA,QAAQ,EAAAC,WAAA,IAAAC,YAAA,QAAuB,KAAK;AAAC,SAErCC,SAAS;AAAA,SACTC,oBAAoB;AAAA,SACpBC,eAAe;AAAA,SACfC,gBAAgB;AAEzB,OAAO,MAAMC,GAAG,GAAGF,eAAe,CAAC;EACjCG,IAAI,EAAE,KAAK;EACXC,KAAK,EAAE;IACLC,IAAI,EAAEC,MAAM;IACZC,IAAI,EAAEC,MAAM;IACZC,GAAG,EAAE;MACHC,IAAI,EAAEJ,MAA+C;MACrDK,OAAO,EAAE;IACX;EACF,CAAC;EACDC,KAAKA,CAACR,KAAK,EAAAS,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,MAAM,GAAGpB,QAAQ,CAAC,MAAM;MAC5B,OAAOM,gBAAgB,CAACG,KAAK,CAACC,IAAI,IAAI,EAAE,CAAC;IAC3C,CAAC,CAAC;IAEF,SAASW,QAAQA,CAACC,GAAW,EAAE;MAC7B,OAAOlB,oBAAoB,CAACK,KAAK,CAACG,IAAI,EAAEU,GAAG,CAAC;IAC9C;IAEAnB,SAAS,CAAC,MAAM;MACd,MAAMoB,KAAK,GAAGd,KAAK,CAACK,GAAkC;MACtD,OAAAZ,YAAA,CAAAqB,KAAA;QAAAP,OAAA,EAAAA,CAAA,MAEKG,KAAK,CAACH,OAAO,GACVG,KAAK,CAACH,OAAO,GAAG;UAAEQ,KAAK,EAAEJ,MAAM,CAACK;QAAM,CAAC,CAAC,GACxCL,MAAM,CAACK,KAAK,CAACC,GAAG,CAAEC,IAAI,IAAK;UACzB,IAAIA,IAAI,CAACZ,IAAI,KAAK,MAAM,EAAE;YACxB,OAAOY,IAAI,CAACC,OAAO;UACrB;UACA,IAAID,IAAI,CAACZ,IAAI,KAAK,UAAU,EAAE;YAC5B,OAAOI,KAAK,GAAGQ,IAAI,CAACC,OAAO,CAAC,GACxBT,KAAK,CAACQ,IAAI,CAACC,OAAO,CAAC,GAAG;cACpBN,GAAG,EAAEK,IAAI,CAACC,OAAO;cACjBH,KAAK,EAAEJ,QAAQ,CAACM,IAAI,CAACC,OAAO;YAC9B,CAAC,CAAC,GACFP,QAAQ,CAACM,IAAI,CAACC,OAAO,CAAC;UAC5B;UACA,OAAOD,IAAI,CAACC,OAAO;QACrB,CAAC,CAAC;MAAA;IAGZ,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"YTi.js","names":["computed","createVNode","_createVNode","useRender","getObjectValueByPath","defineComponent","simpleBraceParse","YTi","name","props","text","String","item","Object","tag","type","default","setup","_ref","slots","parsed","getValue","key","ElTag","nodes","value","map","frag","content"],"sources":["../../../src/components/text-interpolation/YTi.tsx"],"sourcesContent":["import { computed, type PropType } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { getObjectValueByPath } from '@/util/common';\r\nimport { defineComponent } from '@/util/component';\r\nimport { simpleBraceParse } from '@/util/string';\r\n\r\nexport const YTi = defineComponent({\r\n name: 'YTi',\r\n props: {\r\n text: String,\r\n item: Object,\r\n tag: {\r\n type: String as PropType<keyof HTMLElementTagNameMap>,\r\n default: 'span',\r\n },\r\n },\r\n setup(props, { slots }) {\r\n const parsed = computed(() => {\r\n return simpleBraceParse(props.text ?? '');\r\n });\r\n\r\n function getValue(key: string) {\r\n return getObjectValueByPath(props.item, key);\r\n }\r\n\r\n useRender(() => {\r\n const ElTag = props.tag as keyof HTMLElementTagNameMap;\r\n return (\r\n <ElTag>\r\n {slots.default\r\n ? slots.default?.({ nodes: parsed.value })\r\n : parsed.value.map((frag) => {\r\n if (frag.type === 'text') {\r\n return frag.content;\r\n }\r\n if (frag.type === 'variable') {\r\n return slots?.[frag.content]\r\n ? slots[frag.content]?.({\r\n key: frag.content,\r\n value: getValue(frag.content),\r\n })\r\n : getValue(frag.content);\r\n }\r\n return frag.content;\r\n })}\r\n </ElTag>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YTi = InstanceType<typeof YTi>;\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAAAC,WAAA,IAAAC,YAAA,QAAuB,KAAK;AAAC,SAErCC,SAAS;AAAA,SACTC,oBAAoB;AAAA,SACpBC,eAAe;AAAA,SACfC,gBAAgB;AAEzB,OAAO,MAAMC,GAAG,GAAGF,eAAe,CAAC;EACjCG,IAAI,EAAE,KAAK;EACXC,KAAK,EAAE;IACLC,IAAI,EAAEC,MAAM;IACZC,IAAI,EAAEC,MAAM;IACZC,GAAG,EAAE;MACHC,IAAI,EAAEJ,MAA+C;MACrDK,OAAO,EAAE;IACX;EACF,CAAC;EACDC,KAAKA,CAACR,KAAK,EAAAS,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,MAAM,GAAGpB,QAAQ,CAAC,MAAM;MAC5B,OAAOM,gBAAgB,CAACG,KAAK,CAACC,IAAI,IAAI,EAAE,CAAC;IAC3C,CAAC,CAAC;IAEF,SAASW,QAAQA,CAACC,GAAW,EAAE;MAC7B,OAAOlB,oBAAoB,CAACK,KAAK,CAACG,IAAI,EAAEU,GAAG,CAAC;IAC9C;IAEAnB,SAAS,CAAC,MAAM;MACd,MAAMoB,KAAK,GAAGd,KAAK,CAACK,GAAkC;MACtD,OAAAZ,YAAA,CAAAqB,KAAA;QAAAP,OAAA,EAAAA,CAAA,MAEKG,KAAK,CAACH,OAAO,GACVG,KAAK,CAACH,OAAO,GAAG;UAAEQ,KAAK,EAAEJ,MAAM,CAACK;QAAM,CAAC,CAAC,GACxCL,MAAM,CAACK,KAAK,CAACC,GAAG,CAAEC,IAAI,IAAK;UACzB,IAAIA,IAAI,CAACZ,IAAI,KAAK,MAAM,EAAE;YACxB,OAAOY,IAAI,CAACC,OAAO;UACrB;UACA,IAAID,IAAI,CAACZ,IAAI,KAAK,UAAU,EAAE;YAC5B,OAAOI,KAAK,GAAGQ,IAAI,CAACC,OAAO,CAAC,GACxBT,KAAK,CAACQ,IAAI,CAACC,OAAO,CAAC,GAAG;cACpBN,GAAG,EAAEK,IAAI,CAACC,OAAO;cACjBH,KAAK,EAAEJ,QAAQ,CAACM,IAAI,CAACC,OAAO;YAC9B,CAAC,CAAC,GACFP,QAAQ,CAACM,IAAI,CAACC,OAAO,CAAC;UAC5B;UACA,OAAOD,IAAI,CAACC,OAAO;QACrB,CAAC,CAAC;MAAA;IAGZ,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -30,8 +30,8 @@ const YTooltipPropOptions = {
30
30
  };
31
31
  export const pressYTooltipPropsOptions = propsFactory(YTooltipPropOptions, "YTooltip");
32
32
 
33
- /**
34
- * # Component
33
+ /**
34
+ * # Component
35
35
  */
36
36
  export const YTooltip = defineComponent({
37
37
  name: NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"YTooltip.js","names":["computed","nextTick","ref","watch","Fragment","_Fragment","createVNode","_createVNode","mergeProps","_mergeProps","useModelDuplex","useRender","pressPolyTransitionPropsOptions","omit","bindClasses","chooseProps","defineComponent","propsFactory","pressYLayerProps","YLayer","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","coordinateStrategy","scrollStrategy","openOnHover","align","offset","transition","pressYTooltipPropsOptions","YTooltip","name","props","emits","setup","_ref","slots","emit","expose","layer$","contentEl","baseEl","value","classes","boundClasses","model","active","get","set","v","disabled","hovered","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","el","addEventListener","unbindHover","removeEventListener","old","$event","_len","arguments","length","args","_key","base","_len2","_key2","el$"],"sources":["../../../src/components/tooltip/YTooltip.tsx"],"sourcesContent":["import { computed, nextTick, type PropType, ref, watch } from \"vue\";\n\nimport { useModelDuplex } from \"@/composables/communication\";\nimport { useRender } from \"@/composables/component\";\nimport { pressPolyTransitionPropsOptions } from \"@/composables/transition\";\nimport { omit } from \"@/util/common\";\nimport {\n\tbindClasses,\n\tchooseProps,\n\tdefineComponent,\n\tpropsFactory,\n} from \"@/util/component\";\n\nimport { pressYLayerProps, YLayer } from \"../layer\";\nimport { useDelay } from \"../layer/active-delay\";\nimport { YPlate } from \"../plate\";\n\nimport \"./YTooltip.scss\";\n\nconst NAME = \"YTooltip\";\n\nconst YTooltipPropOptions = {\n\ttooltipClasses: {\n\t\ttype: [Array, String, Object] as PropType<\n\t\t\tstring[] | string | Record<string, any>\n\t\t>,\n\t},\n\tpreventClip: {\n\t\ttype: Boolean as PropType<boolean>,\n\t\tdefault: true,\n\t},\n\t...pressYLayerProps({\n\t\tcoordinateStrategy: \"levitation\" as const,\n\t\tscrollStrategy: \"reposition\" as const,\n\t\topenOnHover: true,\n\t\talign: \"center\",\n\t\toffset: 8,\n\t}),\n\t...pressPolyTransitionPropsOptions({\n\t\ttransition: \"fade\",\n\t}),\n};\n\nexport const pressYTooltipPropsOptions = propsFactory(\n\tYTooltipPropOptions,\n\t\"YTooltip\",\n);\n\n/**\n * # Component\n */\nexport const YTooltip = defineComponent<\n\tReturnType<typeof pressYTooltipPropsOptions>\n>({\n\tname: NAME,\n\tprops: {\n\t\t...pressYTooltipPropsOptions(),\n\t},\n\temits: [\"update:modelValue\"],\n\tsetup(props, { slots, emit, expose }) {\n\t\tconst layer$ = ref<typeof YLayer>();\n\t\tconst contentEl = ref<HTMLElement>();\n\t\tconst baseEl = computed(() => {\n\t\t\treturn layer$.value?.baseEl;\n\t\t});\n\n\t\tconst classes = computed(() => {\n\t\t\tconst boundClasses = bindClasses(props.tooltipClasses);\n\t\t\treturn {\n\t\t\t\t...boundClasses,\n\t\t\t\t\"y-tooltip\": true,\n\t\t\t};\n\t\t});\n\n\t\tconst model = useModelDuplex(props);\n\n\t\tconst active = computed({\n\t\t\tget: (): boolean => {\n\t\t\t\treturn !!model.value;\n\t\t\t},\n\t\t\tset: (v: boolean) => {\n\t\t\t\tif (!(v && props.disabled)) model.value = v;\n\t\t\t},\n\t\t});\n\n\t\tconst hovered = computed(() => !!layer$.value?.hovered);\n\n\t\twatch(active, (neo) => {\n\t\t\tif (neo) {\n\t\t\t\tnextTick(() => {\n\t\t\t\t\tconst $content = layer$.value?.content$;\n\t\t\t\t\tcontentEl.value = $content;\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tconst { startOpenDelay, startCloseDelay } = useDelay(\n\t\t\tprops,\n\t\t\t(changeActive) => {\n\t\t\t\tif (!changeActive && props.openOnHover && !hovered.value) {\n\t\t\t\t\tactive.value = false;\n\t\t\t\t} else if (changeActive) {\n\t\t\t\t\tactive.value = true;\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\n\t\tfunction onMouseenter(e: MouseEvent) {\n\t\t\tif (props.openOnHover) {\n\t\t\t\tstartOpenDelay();\n\t\t\t}\n\t\t}\n\n\t\tfunction onMouseleave(e: MouseEvent) {\n\t\t\tif (props.openOnHover) {\n\t\t\t\tstartCloseDelay();\n\t\t\t}\n\t\t}\n\n\t\twatch(hovered, (value) => {\n\t\t\tif (!value) {\n\t\t\t\tstartCloseDelay();\n\t\t\t}\n\t\t});\n\n\t\tfunction bindHover(el: HTMLElement) {\n\t\t\tel.addEventListener?.(\"mouseenter\", onMouseenter);\n\t\t\tel.addEventListener?.(\"mouseleave\", onMouseleave);\n\t\t}\n\n\t\tfunction unbindHover(el: HTMLElement) {\n\t\t\tel.removeEventListener?.(\"mouseenter\", onMouseenter);\n\t\t\tel.removeEventListener?.(\"mouseleave\", onMouseleave);\n\t\t}\n\n\t\twatch(\n\t\t\t() => layer$.value?.baseEl,\n\t\t\t(neo, old) => {\n\t\t\t\tif (neo) {\n\t\t\t\t\tbindHover(neo);\n\t\t\t\t} else if (old) {\n\t\t\t\t\tunbindHover(old);\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\n\t\texpose({\n\t\t\tlayer$,\n\t\t\tbaseEl,\n\t\t});\n\n\t\tuseRender(() => {\n\t\t\treturn (\n\t\t\t\t<YLayer\n\t\t\t\t\tref={layer$}\n\t\t\t\t\t{...omit(chooseProps(props, YLayer.props), [\"scrim\"])}\n\t\t\t\t\tclasses={classes.value}\n\t\t\t\t\tscrim={false}\n\t\t\t\t\ttransition={props.transition}\n\t\t\t\t\tv-model={active.value}\n\t\t\t\t>\n\t\t\t\t\t{{\n\t\t\t\t\t\tdefault: (...args: any) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<YPlate></YPlate>\n\t\t\t\t\t\t\t\t\t<div class=\"y-tooltip__content\">\n\t\t\t\t\t\t\t\t\t\t{slots.default?.(...args) ?? \"\"}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbase: (...args: any[]) => slots.base?.(...args),\n\t\t\t\t\t}}\n\t\t\t\t</YLayer>\n\t\t\t);\n\t\t});\n\n\t\treturn {\n\t\t\tlayer$,\n\t\t\tel$: layer$,\n\t\t\tbaseEl,\n\t\t\tactive,\n\t\t};\n\t},\n});\n\nexport type YTooltip = InstanceType<typeof YTooltip>;\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,QAAQ,EAAiBC,GAAG,EAAEC,KAAK,EAAAC,QAAA,IAAAC,SAAA,EAAAC,WAAA,IAAAC,YAAA,EAAAC,UAAA,IAAAC,WAAA,QAAQ,KAAK;AAAC,SAE3DC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,+BAA+B;AAAA,SAC/BC,IAAI;AAAA,SAEZC,WAAW,EACXC,WAAW,EACXC,eAAe,EACfC,YAAY;AAAA,SAGJC,gBAAgB,EAAEC,MAAM;AAAA,SACxBC,QAAQ;AAAA,SACRC,MAAM;AAEf;AAEA,MAAMC,IAAI,GAAG,UAAU;AAEvB,MAAMC,mBAAmB,GAAG;EAC3BC,cAAc,EAAE;IACfC,IAAI,EAAE,CAACC,KAAK,EAAEC,MAAM,EAAEC,MAAM;EAG7B,CAAC;EACDC,WAAW,EAAE;IACZJ,IAAI,EAAEK,OAA4B;IAClCC,OAAO,EAAE;EACV,CAAC;EACD,GAAGb,gBAAgB,CAAC;IACnBc,kBAAkB,EAAE,YAAqB;IACzCC,cAAc,EAAE,YAAqB;IACrCC,WAAW,EAAE,IAAI;IACjBC,KAAK,EAAE,QAAQ;IACfC,MAAM,EAAE;EACT,CAAC,CAAC;EACF,GAAGxB,+BAA+B,CAAC;IAClCyB,UAAU,EAAE;EACb,CAAC;AACF,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGrB,YAAY,CACpDM,mBAAmB,EACnB,UACD,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMgB,QAAQ,GAAGvB,eAAe,CAErC;EACDwB,IAAI,EAAElB,IAAI;EACVmB,KAAK,EAAE;IACN,GAAGH,yBAAyB,CAAC;EAC9B,CAAC;EACDI,KAAK,EAAE,CAAC,mBAAmB,CAAC;EAC5BC,KAAKA,CAACF,KAAK,EAAAG,IAAA,EAA2B;IAAA,IAAzB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAO,CAAC,GAAAH,IAAA;IACnC,MAAMI,MAAM,GAAG9C,GAAG,CAAgB,CAAC;IACnC,MAAM+C,SAAS,GAAG/C,GAAG,CAAc,CAAC;IACpC,MAAMgD,MAAM,GAAGlD,QAAQ,CAAC,MAAM;MAC7B,OAAOgD,MAAM,CAACG,KAAK,EAAED,MAAM;IAC5B,CAAC,CAAC;IAEF,MAAME,OAAO,GAAGpD,QAAQ,CAAC,MAAM;MAC9B,MAAMqD,YAAY,GAAGvC,WAAW,CAAC2B,KAAK,CAACjB,cAAc,CAAC;MACtD,OAAO;QACN,GAAG6B,YAAY;QACf,WAAW,EAAE;MACd,CAAC;IACF,CAAC,CAAC;IAEF,MAAMC,KAAK,GAAG5C,cAAc,CAAC+B,KAAK,CAAC;IAEnC,MAAMc,MAAM,GAAGvD,QAAQ,CAAC;MACvBwD,GAAG,EAAEA,CAAA,KAAe;QACnB,OAAO,CAAC,CAACF,KAAK,CAACH,KAAK;MACrB,CAAC;MACDM,GAAG,EAAGC,CAAU,IAAK;QACpB,IAAI,EAAEA,CAAC,IAAIjB,KAAK,CAACkB,QAAQ,CAAC,EAAEL,KAAK,CAACH,KAAK,GAAGO,CAAC;MAC5C;IACD,CAAC,CAAC;IAEF,MAAME,OAAO,GAAG5D,QAAQ,CAAC,MAAM,CAAC,CAACgD,MAAM,CAACG,KAAK,EAAES,OAAO,CAAC;IAEvDzD,KAAK,CAACoD,MAAM,EAAGM,GAAG,IAAK;MACtB,IAAIA,GAAG,EAAE;QACR5D,QAAQ,CAAC,MAAM;UACd,MAAM6D,QAAQ,GAAGd,MAAM,CAACG,KAAK,EAAEY,QAAQ;UACvCd,SAAS,CAACE,KAAK,GAAGW,QAAQ;QAC3B,CAAC,CAAC;MACH;IACD,CAAC,CAAC;IAEF,MAAM;MAAEE,cAAc;MAAEC;IAAgB,CAAC,GAAG7C,QAAQ,CACnDqB,KAAK,EACJyB,YAAY,IAAK;MACjB,IAAI,CAACA,YAAY,IAAIzB,KAAK,CAACP,WAAW,IAAI,CAAC0B,OAAO,CAACT,KAAK,EAAE;QACzDI,MAAM,CAACJ,KAAK,GAAG,KAAK;MACrB,CAAC,MAAM,IAAIe,YAAY,EAAE;QACxBX,MAAM,CAACJ,KAAK,GAAG,IAAI;MACpB;IACD,CACD,CAAC;IAED,SAASgB,YAAYA,CAACC,CAAa,EAAE;MACpC,IAAI3B,KAAK,CAACP,WAAW,EAAE;QACtB8B,cAAc,CAAC,CAAC;MACjB;IACD;IAEA,SAASK,YAAYA,CAACD,CAAa,EAAE;MACpC,IAAI3B,KAAK,CAACP,WAAW,EAAE;QACtB+B,eAAe,CAAC,CAAC;MAClB;IACD;IAEA9D,KAAK,CAACyD,OAAO,EAAGT,KAAK,IAAK;MACzB,IAAI,CAACA,KAAK,EAAE;QACXc,eAAe,CAAC,CAAC;MAClB;IACD,CAAC,CAAC;IAEF,SAASK,SAASA,CAACC,EAAe,EAAE;MACnCA,EAAE,CAACC,gBAAgB,GAAG,YAAY,EAAEL,YAAY,CAAC;MACjDI,EAAE,CAACC,gBAAgB,GAAG,YAAY,EAAEH,YAAY,CAAC;IAClD;IAEA,SAASI,WAAWA,CAACF,EAAe,EAAE;MACrCA,EAAE,CAACG,mBAAmB,GAAG,YAAY,EAAEP,YAAY,CAAC;MACpDI,EAAE,CAACG,mBAAmB,GAAG,YAAY,EAAEL,YAAY,CAAC;IACrD;IAEAlE,KAAK,CACJ,MAAM6C,MAAM,CAACG,KAAK,EAAED,MAAM,EAC1B,CAACW,GAAG,EAAEc,GAAG,KAAK;MACb,IAAId,GAAG,EAAE;QACRS,SAAS,CAACT,GAAG,CAAC;MACf,CAAC,MAAM,IAAIc,GAAG,EAAE;QACfF,WAAW,CAACE,GAAG,CAAC;MACjB;IACD,CACD,CAAC;IAED5B,MAAM,CAAC;MACNC,MAAM;MACNE;IACD,CAAC,CAAC;IAEFvC,SAAS,CAAC,MAAM;MACf,OAAAJ,YAAA,CAAAY,MAAA,EAAAV,WAAA;QAAA,OAEOuC;MAAM,GACPnC,IAAI,CAACE,WAAW,CAAC0B,KAAK,EAAEtB,MAAM,CAACsB,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAAA,WAC5CW,OAAO,CAACD,KAAK;QAAA,SACf,KAAK;QAAA,cACAV,KAAK,CAACJ,UAAU;QAAA,cACnBkB,MAAM,CAACJ,KAAK;QAAA,uBAAAyB,MAAA,IAAZrB,MAAM,CAACJ,KAAK,GAAAyB;MAAA;QAGpB7C,OAAO,EAAE,SAAAA,CAAA,EAAkB;UAAA,SAAA8C,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAdC,IAAI,OAAAtD,KAAA,CAAAmD,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;YAAJD,IAAI,CAAAC,IAAA,IAAAH,SAAA,CAAAG,IAAA;UAAA;UAChB,OAAA1E,YAAA,CAAAF,SAAA,SAAAE,YAAA,CAAAc,MAAA,eAAAd,YAAA;YAAA;UAAA,IAIIsC,KAAK,CAACd,OAAO,GAAG,GAAGiD,IAAI,CAAC,IAAI,EAAE;QAInC,CAAC;QACDE,IAAI,EAAE,SAAAA,CAAA;UAAA,SAAAC,KAAA,GAAAL,SAAA,CAAAC,MAAA,EAAIC,IAAI,OAAAtD,KAAA,CAAAyD,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;YAAJJ,IAAI,CAAAI,KAAA,IAAAN,SAAA,CAAAM,KAAA;UAAA;UAAA,OAAYvC,KAAK,CAACqC,IAAI,GAAG,GAAGF,IAAI,CAAC;QAAA;MAAA;IAInD,CAAC,CAAC;IAEF,OAAO;MACNhC,MAAM;MACNqC,GAAG,EAAErC,MAAM;MACXE,MAAM;MACNK;IACD,CAAC;EACF;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"YTooltip.js","names":["computed","nextTick","ref","watch","Fragment","_Fragment","createVNode","_createVNode","mergeProps","_mergeProps","useModelDuplex","useRender","pressPolyTransitionPropsOptions","omit","bindClasses","chooseProps","defineComponent","propsFactory","pressYLayerProps","YLayer","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","coordinateStrategy","scrollStrategy","openOnHover","align","offset","transition","pressYTooltipPropsOptions","YTooltip","name","props","emits","setup","_ref","slots","emit","expose","layer$","contentEl","baseEl","value","classes","boundClasses","model","active","get","set","v","disabled","hovered","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","el","addEventListener","unbindHover","removeEventListener","old","$event","_len","arguments","length","args","_key","base","_len2","_key2","el$"],"sources":["../../../src/components/tooltip/YTooltip.tsx"],"sourcesContent":["import { computed, nextTick, type PropType, ref, watch } from \"vue\";\r\n\r\nimport { useModelDuplex } from \"@/composables/communication\";\r\nimport { useRender } from \"@/composables/component\";\r\nimport { pressPolyTransitionPropsOptions } from \"@/composables/transition\";\r\nimport { omit } from \"@/util/common\";\r\nimport {\r\n\tbindClasses,\r\n\tchooseProps,\r\n\tdefineComponent,\r\n\tpropsFactory,\r\n} from \"@/util/component\";\r\n\r\nimport { pressYLayerProps, YLayer } from \"../layer\";\r\nimport { useDelay } from \"../layer/active-delay\";\r\nimport { YPlate } from \"../plate\";\r\n\r\nimport \"./YTooltip.scss\";\r\n\r\nconst NAME = \"YTooltip\";\r\n\r\nconst YTooltipPropOptions = {\r\n\ttooltipClasses: {\r\n\t\ttype: [Array, String, Object] as PropType<\r\n\t\t\tstring[] | string | Record<string, any>\r\n\t\t>,\r\n\t},\r\n\tpreventClip: {\r\n\t\ttype: Boolean as PropType<boolean>,\r\n\t\tdefault: true,\r\n\t},\r\n\t...pressYLayerProps({\r\n\t\tcoordinateStrategy: \"levitation\" as const,\r\n\t\tscrollStrategy: \"reposition\" as const,\r\n\t\topenOnHover: true,\r\n\t\talign: \"center\",\r\n\t\toffset: 8,\r\n\t}),\r\n\t...pressPolyTransitionPropsOptions({\r\n\t\ttransition: \"fade\",\r\n\t}),\r\n};\r\n\r\nexport const pressYTooltipPropsOptions = propsFactory(\r\n\tYTooltipPropOptions,\r\n\t\"YTooltip\",\r\n);\r\n\r\n/**\r\n * # Component\r\n */\r\nexport const YTooltip = defineComponent<\r\n\tReturnType<typeof pressYTooltipPropsOptions>\r\n>({\r\n\tname: NAME,\r\n\tprops: {\r\n\t\t...pressYTooltipPropsOptions(),\r\n\t},\r\n\temits: [\"update:modelValue\"],\r\n\tsetup(props, { slots, emit, expose }) {\r\n\t\tconst layer$ = ref<typeof YLayer>();\r\n\t\tconst contentEl = ref<HTMLElement>();\r\n\t\tconst baseEl = computed(() => {\r\n\t\t\treturn layer$.value?.baseEl;\r\n\t\t});\r\n\r\n\t\tconst classes = computed(() => {\r\n\t\t\tconst boundClasses = bindClasses(props.tooltipClasses);\r\n\t\t\treturn {\r\n\t\t\t\t...boundClasses,\r\n\t\t\t\t\"y-tooltip\": true,\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\tconst model = useModelDuplex(props);\r\n\r\n\t\tconst active = computed({\r\n\t\t\tget: (): boolean => {\r\n\t\t\t\treturn !!model.value;\r\n\t\t\t},\r\n\t\t\tset: (v: boolean) => {\r\n\t\t\t\tif (!(v && props.disabled)) model.value = v;\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tconst hovered = computed(() => !!layer$.value?.hovered);\r\n\r\n\t\twatch(active, (neo) => {\r\n\t\t\tif (neo) {\r\n\t\t\t\tnextTick(() => {\r\n\t\t\t\t\tconst $content = layer$.value?.content$;\r\n\t\t\t\t\tcontentEl.value = $content;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst { startOpenDelay, startCloseDelay } = useDelay(\r\n\t\t\tprops,\r\n\t\t\t(changeActive) => {\r\n\t\t\t\tif (!changeActive && props.openOnHover && !hovered.value) {\r\n\t\t\t\t\tactive.value = false;\r\n\t\t\t\t} else if (changeActive) {\r\n\t\t\t\t\tactive.value = true;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t);\r\n\r\n\t\tfunction onMouseenter(e: MouseEvent) {\r\n\t\t\tif (props.openOnHover) {\r\n\t\t\t\tstartOpenDelay();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction onMouseleave(e: MouseEvent) {\r\n\t\t\tif (props.openOnHover) {\r\n\t\t\t\tstartCloseDelay();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\twatch(hovered, (value) => {\r\n\t\t\tif (!value) {\r\n\t\t\t\tstartCloseDelay();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfunction bindHover(el: HTMLElement) {\r\n\t\t\tel.addEventListener?.(\"mouseenter\", onMouseenter);\r\n\t\t\tel.addEventListener?.(\"mouseleave\", onMouseleave);\r\n\t\t}\r\n\r\n\t\tfunction unbindHover(el: HTMLElement) {\r\n\t\t\tel.removeEventListener?.(\"mouseenter\", onMouseenter);\r\n\t\t\tel.removeEventListener?.(\"mouseleave\", onMouseleave);\r\n\t\t}\r\n\r\n\t\twatch(\r\n\t\t\t() => layer$.value?.baseEl,\r\n\t\t\t(neo, old) => {\r\n\t\t\t\tif (neo) {\r\n\t\t\t\t\tbindHover(neo);\r\n\t\t\t\t} else if (old) {\r\n\t\t\t\t\tunbindHover(old);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t);\r\n\r\n\t\texpose({\r\n\t\t\tlayer$,\r\n\t\t\tbaseEl,\r\n\t\t});\r\n\r\n\t\tuseRender(() => {\r\n\t\t\treturn (\r\n\t\t\t\t<YLayer\r\n\t\t\t\t\tref={layer$}\r\n\t\t\t\t\t{...omit(chooseProps(props, YLayer.props), [\"scrim\"])}\r\n\t\t\t\t\tclasses={classes.value}\r\n\t\t\t\t\tscrim={false}\r\n\t\t\t\t\ttransition={props.transition}\r\n\t\t\t\t\tv-model={active.value}\r\n\t\t\t\t>\r\n\t\t\t\t\t{{\r\n\t\t\t\t\t\tdefault: (...args: any) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t<YPlate></YPlate>\r\n\t\t\t\t\t\t\t\t\t<div class=\"y-tooltip__content\">\r\n\t\t\t\t\t\t\t\t\t\t{slots.default?.(...args) ?? \"\"}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tbase: (...args: any[]) => slots.base?.(...args),\r\n\t\t\t\t\t}}\r\n\t\t\t\t</YLayer>\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\treturn {\r\n\t\t\tlayer$,\r\n\t\t\tel$: layer$,\r\n\t\t\tbaseEl,\r\n\t\t\tactive,\r\n\t\t};\r\n\t},\r\n});\r\n\r\nexport type YTooltip = InstanceType<typeof YTooltip>;\r\n"],"mappings":"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","ignoreList":[]}