yuyeon 0.3.4-rc.3 → 0.3.5

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 (448) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +4170 -3973
  3. package/dist/yuyeon.umd.cjs +3 -3
  4. package/lib/abstract/items.js.map +1 -1
  5. package/lib/components/alert/YAlert.js +3 -4
  6. package/lib/components/alert/YAlert.js.map +1 -1
  7. package/lib/components/alert/index.js.map +1 -1
  8. package/lib/components/app/YApp.js +2 -2
  9. package/lib/components/app/YApp.js.map +1 -1
  10. package/lib/components/app/index.js.map +1 -1
  11. package/lib/components/badge/YBadge.js +7 -5
  12. package/lib/components/badge/YBadge.js.map +1 -1
  13. package/lib/components/badge/YBadge.scss +3 -2
  14. package/lib/components/badge/index.js.map +1 -1
  15. package/lib/components/bench/YBench.js +3 -4
  16. package/lib/components/bench/YBench.js.map +1 -1
  17. package/lib/components/bench/index.js.map +1 -1
  18. package/lib/components/button/YButton.js +1 -2
  19. package/lib/components/button/YButton.js.map +1 -1
  20. package/lib/components/button/index.js.map +1 -1
  21. package/lib/components/card/YCard.js.map +1 -1
  22. package/lib/components/card/YCard.scss +2 -2
  23. package/lib/components/card/YCardBody.js.map +1 -1
  24. package/lib/components/card/YCardFooter.js.map +1 -1
  25. package/lib/components/card/YCardHeader.js.map +1 -1
  26. package/lib/components/card/index.js.map +1 -1
  27. package/lib/components/checkbox/YCheckbox.js +1 -2
  28. package/lib/components/checkbox/YCheckbox.js.map +1 -1
  29. package/lib/components/checkbox/YInputCheckbox.js +1 -2
  30. package/lib/components/checkbox/YInputCheckbox.js.map +1 -1
  31. package/lib/components/checkbox/index.js.map +1 -1
  32. package/lib/components/chip/YChip.js +1 -2
  33. package/lib/components/chip/YChip.js.map +1 -1
  34. package/lib/components/chip/index.js.map +1 -1
  35. package/lib/components/date-picker/YDateCalendar.js +59 -54
  36. package/lib/components/date-picker/YDateCalendar.js.map +1 -1
  37. package/lib/components/date-picker/YDatePicker.js +24 -25
  38. package/lib/components/date-picker/YDatePicker.js.map +1 -1
  39. package/lib/components/date-picker/YDatePickerControl.js +19 -20
  40. package/lib/components/date-picker/YDatePickerControl.js.map +1 -1
  41. package/lib/components/date-picker/YMonthPicker.js +10 -11
  42. package/lib/components/date-picker/YMonthPicker.js.map +1 -1
  43. package/lib/components/date-picker/YYearPicker.js +11 -13
  44. package/lib/components/date-picker/YYearPicker.js.map +1 -1
  45. package/lib/components/date-picker/index.js.map +1 -1
  46. package/lib/components/default-provider/YDefaultProvider.js.map +1 -1
  47. package/lib/components/default-provider/index.js.map +1 -1
  48. package/lib/components/dialog/YDialog.js +32 -32
  49. package/lib/components/dialog/YDialog.js.map +1 -1
  50. package/lib/components/dialog/index.js.map +1 -1
  51. package/lib/components/divider/YDivider.js +5 -5
  52. package/lib/components/divider/YDivider.js.map +1 -1
  53. package/lib/components/divider/index.js.map +1 -1
  54. package/lib/components/draggable/YDraggable.js +10 -11
  55. package/lib/components/draggable/YDraggable.js.map +1 -1
  56. package/lib/components/draggable/index.js.map +1 -1
  57. package/lib/components/dropdown/YDropdown.js +16 -17
  58. package/lib/components/dropdown/YDropdown.js.map +1 -1
  59. package/lib/components/dropdown/index.js.map +1 -1
  60. package/lib/components/field-input/YFieldInput.js +39 -39
  61. package/lib/components/field-input/YFieldInput.js.map +1 -1
  62. package/lib/components/field-input/index.js.map +1 -1
  63. package/lib/components/form/YForm.js +12 -14
  64. package/lib/components/form/YForm.js.map +1 -1
  65. package/lib/components/form/index.js.map +1 -1
  66. package/lib/components/hover/YHover.js +9 -8
  67. package/lib/components/hover/YHover.js.map +1 -1
  68. package/lib/components/hover/index.js.map +1 -1
  69. package/lib/components/icon/YIcon.js +2 -4
  70. package/lib/components/icon/YIcon.js.map +1 -1
  71. package/lib/components/icon/index.js.map +1 -1
  72. package/lib/components/icons/YIconCheckbox.js +7 -6
  73. package/lib/components/icons/YIconCheckbox.js.map +1 -1
  74. package/lib/components/icons/YIconClear.js +2 -1
  75. package/lib/components/icons/YIconClear.js.map +1 -1
  76. package/lib/components/icons/YIconDropdown.js +2 -1
  77. package/lib/components/icons/YIconDropdown.js.map +1 -1
  78. package/lib/components/icons/YIconExpand.js +1 -0
  79. package/lib/components/icons/YIconExpand.js.map +1 -1
  80. package/lib/components/icons/YIconPageControl.js +7 -6
  81. package/lib/components/icons/YIconPageControl.js.map +1 -1
  82. package/lib/components/icons/YIconSort.js +6 -5
  83. package/lib/components/icons/YIconSort.js.map +1 -1
  84. package/lib/components/icons/YIconSort.scss +2 -0
  85. package/lib/components/icons/index.js.map +1 -1
  86. package/lib/components/img/YImg.js +42 -37
  87. package/lib/components/img/YImg.js.map +1 -1
  88. package/lib/components/img/index.js +1 -1
  89. package/lib/components/img/index.js.map +1 -1
  90. package/lib/components/index.js +1 -0
  91. package/lib/components/index.js.map +1 -1
  92. package/lib/components/input/YInput.js +1 -2
  93. package/lib/components/input/YInput.js.map +1 -1
  94. package/lib/components/input/YInput.scss +10 -9
  95. package/lib/components/input/index.js.map +1 -1
  96. package/lib/components/ip-field/YIpv4Field.js +1 -2
  97. package/lib/components/ip-field/YIpv4Field.js.map +1 -1
  98. package/lib/components/ip-field/index.js.map +1 -1
  99. package/lib/components/layer/YLayer.js +38 -25
  100. package/lib/components/layer/YLayer.js.map +1 -1
  101. package/lib/components/layer/active-delay.js.map +1 -1
  102. package/lib/components/layer/active-stack.js.map +1 -1
  103. package/lib/components/layer/base.js +11 -1
  104. package/lib/components/layer/base.js.map +1 -1
  105. package/lib/components/layer/content.js.map +1 -1
  106. package/lib/components/layer/index.js.map +1 -1
  107. package/lib/components/layer/scroll-strategies.js.map +1 -1
  108. package/lib/components/list/YList.js +1 -2
  109. package/lib/components/list/YList.js.map +1 -1
  110. package/lib/components/list/YListItem.js +1 -2
  111. package/lib/components/list/YListItem.js.map +1 -1
  112. package/lib/components/list/index.js.map +1 -1
  113. package/lib/components/loading/YSpinnerRing.js.map +1 -1
  114. package/lib/components/loading/index.js.map +1 -1
  115. package/lib/components/menu/YMenu.js +24 -27
  116. package/lib/components/menu/YMenu.js.map +1 -1
  117. package/lib/components/menu/YMenu.scss +3 -4
  118. package/lib/components/menu/index.js.map +1 -1
  119. package/lib/components/navigation/YNavigation.js +1 -2
  120. package/lib/components/navigation/YNavigation.js.map +1 -1
  121. package/lib/components/navigation/index.js.map +1 -1
  122. package/lib/components/pagination/YPagination.js +1 -2
  123. package/lib/components/pagination/YPagination.js.map +1 -1
  124. package/lib/components/pagination/index.js.map +1 -1
  125. package/lib/components/panel/YDividePanel.js +1 -2
  126. package/lib/components/panel/YDividePanel.js.map +1 -1
  127. package/lib/components/panel/YDividePanel.scss +1 -0
  128. package/lib/components/panel/index.js.map +1 -1
  129. package/lib/components/plate/YPlate.js +3 -4
  130. package/lib/components/plate/YPlate.js.map +1 -1
  131. package/lib/components/plate/index.js.map +1 -1
  132. package/lib/components/progress-bar/YProgressBar.js +1 -2
  133. package/lib/components/progress-bar/YProgressBar.js.map +1 -1
  134. package/lib/components/progress-bar/index.js.map +1 -1
  135. package/lib/components/progress-ring/YProgressRing.js +3 -4
  136. package/lib/components/progress-ring/YProgressRing.js.map +1 -1
  137. package/lib/components/progress-ring/index.js.map +1 -1
  138. package/lib/components/radio/YRadio.js +1 -1
  139. package/lib/components/radio/YRadio.js.map +1 -1
  140. package/lib/components/radio/YRadioIcon.js.map +1 -1
  141. package/lib/components/radio/YRadioIcon.scss +2 -3
  142. package/lib/components/radio/index.js.map +1 -1
  143. package/lib/components/select/YSelect.js +41 -42
  144. package/lib/components/select/YSelect.js.map +1 -1
  145. package/lib/components/select/index.js.map +1 -1
  146. package/lib/components/slider/YSlider.js.map +1 -1
  147. package/lib/components/slider/index.js.map +1 -1
  148. package/lib/components/slider/slider.js.map +1 -1
  149. package/lib/components/snackbar/YSnackbar.js +6 -6
  150. package/lib/components/snackbar/YSnackbar.js.map +1 -1
  151. package/lib/components/snackbar/index.js.map +1 -1
  152. package/lib/components/switch/YSwitch.js +1 -2
  153. package/lib/components/switch/YSwitch.js.map +1 -1
  154. package/lib/components/switch/index.js.map +1 -1
  155. package/lib/components/tab/YTab.js +2 -3
  156. package/lib/components/tab/YTab.js.map +1 -1
  157. package/lib/components/tab/YTab.scss +1 -1
  158. package/lib/components/tab/YTabs.js +1 -2
  159. package/lib/components/tab/YTabs.js.map +1 -1
  160. package/lib/components/tab/index.js.map +1 -1
  161. package/lib/components/tab/shared.js.map +1 -1
  162. package/lib/components/tab/types.js.map +1 -1
  163. package/lib/components/table/YDataTable.js +1 -2
  164. package/lib/components/table/YDataTable.js.map +1 -1
  165. package/lib/components/table/YDataTableBody.js +2 -3
  166. package/lib/components/table/YDataTableBody.js.map +1 -1
  167. package/lib/components/table/YDataTableCell.js +1 -2
  168. package/lib/components/table/YDataTableCell.js.map +1 -1
  169. package/lib/components/table/YDataTableControl.js +1 -1
  170. package/lib/components/table/YDataTableControl.js.map +1 -1
  171. package/lib/components/table/YDataTableHead.js +1 -1
  172. package/lib/components/table/YDataTableHead.js.map +1 -1
  173. package/lib/components/table/YDataTableLayer.js +1 -2
  174. package/lib/components/table/YDataTableLayer.js.map +1 -1
  175. package/lib/components/table/YDataTableLayerRow.js +1 -2
  176. package/lib/components/table/YDataTableLayerRow.js.map +1 -1
  177. package/lib/components/table/YDataTableLayerRows.js +3 -4
  178. package/lib/components/table/YDataTableLayerRows.js.map +1 -1
  179. package/lib/components/table/YDataTableRow.js +1 -2
  180. package/lib/components/table/YDataTableRow.js.map +1 -1
  181. package/lib/components/table/YDataTableServer.js +1 -2
  182. package/lib/components/table/YDataTableServer.js.map +1 -1
  183. package/lib/components/table/YTable.js +1 -2
  184. package/lib/components/table/YTable.js.map +1 -1
  185. package/lib/components/table/composables/expand.js.map +1 -1
  186. package/lib/components/table/composables/header.js.map +1 -1
  187. package/lib/components/table/composables/items.js.map +1 -1
  188. package/lib/components/table/composables/measure.js +1 -1
  189. package/lib/components/table/composables/measure.js.map +1 -1
  190. package/lib/components/table/composables/options.js.map +1 -1
  191. package/lib/components/table/composables/pagination.js.map +1 -1
  192. package/lib/components/table/composables/provides.js.map +1 -1
  193. package/lib/components/table/composables/selection.js.map +1 -1
  194. package/lib/components/table/composables/sorted-items.js.map +1 -1
  195. package/lib/components/table/composables/sorting.js.map +1 -1
  196. package/lib/components/table/index.js.map +1 -1
  197. package/lib/components/table/types/common.js.map +1 -1
  198. package/lib/components/table/types/header.js.map +1 -1
  199. package/lib/components/table/types/index.js.map +1 -1
  200. package/lib/components/table/types/item.js.map +1 -1
  201. package/lib/components/table/types/row.js.map +1 -1
  202. package/lib/components/text-ellipsis/YTextEllipsis.js +1 -2
  203. package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -1
  204. package/lib/components/text-ellipsis/index.js.map +1 -1
  205. package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -1
  206. package/lib/components/text-highlighter/index.js.map +1 -1
  207. package/lib/components/text-interpolation/YTi.js +2 -2
  208. package/lib/components/text-interpolation/YTi.js.map +1 -1
  209. package/lib/components/text-interpolation/index.js.map +1 -1
  210. package/lib/components/textarea/YTextarea.js +1 -2
  211. package/lib/components/textarea/YTextarea.js.map +1 -1
  212. package/lib/components/textarea/index.js.map +1 -1
  213. package/lib/components/toggle-button/YToggleButton.js.map +1 -1
  214. package/lib/components/toggle-button/index.js.map +1 -1
  215. package/lib/components/tooltip/YTooltip.js +18 -19
  216. package/lib/components/tooltip/YTooltip.js.map +1 -1
  217. package/lib/components/tooltip/index.js.map +1 -1
  218. package/lib/components/transitions/expand-transition.js.map +1 -1
  219. package/lib/components/transitions/index.js.map +1 -1
  220. package/lib/components/tree-view/YTreeView.js +1 -2
  221. package/lib/components/tree-view/YTreeView.js.map +1 -1
  222. package/lib/components/tree-view/YTreeViewNode.js +1 -2
  223. package/lib/components/tree-view/YTreeViewNode.js.map +1 -1
  224. package/lib/components/tree-view/index.js.map +1 -1
  225. package/lib/components/tree-view/tree-view.js.map +1 -1
  226. package/lib/components/tree-view/types.js.map +1 -1
  227. package/lib/components/tree-view/util.js.map +1 -1
  228. package/lib/composables/choice-link.js.map +1 -1
  229. package/lib/composables/choice.js.map +1 -1
  230. package/lib/composables/communication.js.map +1 -1
  231. package/lib/composables/component.js.map +1 -1
  232. package/lib/composables/coordinate/arrangement.js.map +1 -1
  233. package/lib/composables/coordinate/index.js +23 -13
  234. package/lib/composables/coordinate/index.js.map +1 -1
  235. package/lib/composables/coordinate/levitation.js +81 -52
  236. package/lib/composables/coordinate/levitation.js.map +1 -1
  237. package/lib/composables/coordinate/types.js.map +1 -1
  238. package/lib/composables/coordinate/utils/point.js.map +1 -1
  239. package/lib/composables/date/factory.js.map +1 -1
  240. package/lib/composables/date/index.js.map +1 -1
  241. package/lib/composables/date/setting.js.map +1 -1
  242. package/lib/composables/date/types.js.map +1 -1
  243. package/lib/composables/defaults/index.js.map +1 -1
  244. package/lib/composables/defaults/share.js.map +1 -1
  245. package/lib/composables/defaults/types.js.map +1 -1
  246. package/lib/composables/dimension.js.map +1 -1
  247. package/lib/composables/focus.js.map +1 -1
  248. package/lib/composables/form.js +5 -5
  249. package/lib/composables/form.js.map +1 -1
  250. package/lib/composables/i18n/index.js.map +1 -1
  251. package/lib/composables/i18n/locale.js.map +1 -1
  252. package/lib/composables/i18n/rtl.js.map +1 -1
  253. package/lib/composables/i18n/share.js.map +1 -1
  254. package/lib/composables/icon.js +1 -2
  255. package/lib/composables/icon.js.map +1 -1
  256. package/lib/composables/index.js.map +1 -1
  257. package/lib/composables/layer-group.js.map +1 -1
  258. package/lib/composables/layout.js.map +1 -1
  259. package/lib/composables/list-items.js.map +1 -1
  260. package/lib/composables/progress.js.map +1 -1
  261. package/lib/composables/ref.js.map +1 -1
  262. package/lib/composables/resize-observer.js.map +1 -1
  263. package/lib/composables/scope.js.map +1 -1
  264. package/lib/composables/style-color.js +6 -5
  265. package/lib/composables/style-color.js.map +1 -1
  266. package/lib/composables/theme/factory.js.map +1 -1
  267. package/lib/composables/theme/helper.js.map +1 -1
  268. package/lib/composables/theme/index.js +8 -1
  269. package/lib/composables/theme/index.js.map +1 -1
  270. package/lib/composables/theme/setting.js.map +1 -1
  271. package/lib/composables/theme/types.js.map +1 -1
  272. package/lib/composables/timing.js +13 -5
  273. package/lib/composables/timing.js.map +1 -1
  274. package/lib/composables/transition.js.map +1 -1
  275. package/lib/composables/validation.js +4 -1
  276. package/lib/composables/validation.js.map +1 -1
  277. package/lib/composables/vue-router.js.map +1 -1
  278. package/lib/directives/complement-click/index.js.map +1 -1
  279. package/lib/directives/index.js +3 -0
  280. package/lib/directives/index.js.map +1 -0
  281. package/lib/directives/plate-wave/index.js +2 -2
  282. package/lib/directives/plate-wave/index.js.map +1 -1
  283. package/lib/directives/plate-wave/plate-wave.scss +17 -6
  284. package/lib/directives/theme-class/index.js +24 -0
  285. package/lib/directives/theme-class/index.js.map +1 -0
  286. package/lib/etc/index.js.map +1 -1
  287. package/lib/i18n/built-in.js.map +1 -1
  288. package/lib/i18n/config.js.map +1 -1
  289. package/lib/i18n/types.js.map +1 -1
  290. package/lib/index.js +3 -3
  291. package/lib/index.js.map +1 -1
  292. package/lib/locales/en.js.map +1 -1
  293. package/lib/locales/index.js.map +1 -1
  294. package/lib/locales/ko.js.map +1 -1
  295. package/lib/mixins/di.js.map +1 -1
  296. package/lib/mixins/rebind-attrs.js +0 -2
  297. package/lib/mixins/rebind-attrs.js.map +1 -1
  298. package/lib/styles/_elevation.scss +0 -1
  299. package/lib/styles/base.scss +3 -1
  300. package/lib/styles/settings/_elevation.scss +12 -12
  301. package/lib/styles/settings/_provided.scss +23 -23
  302. package/lib/styles/theme/dark.scss +3 -3
  303. package/lib/styles/theme/index.scss +0 -1
  304. package/lib/styles/theme/light.scss +3 -3
  305. package/lib/styles/util/_mixin.scss +16 -16
  306. package/lib/types/index.js.map +1 -1
  307. package/lib/util/anchor.js.map +1 -1
  308. package/lib/util/array.js.map +1 -1
  309. package/lib/util/collection.js.map +1 -1
  310. package/lib/util/color/apca.js +1 -0
  311. package/lib/util/color/apca.js.map +1 -1
  312. package/lib/util/color/const.js.map +1 -1
  313. package/lib/util/color/contrast/contrast.js.map +1 -1
  314. package/lib/util/color/conversion.js.map +1 -1
  315. package/lib/util/color/hct/cam16.js.map +1 -1
  316. package/lib/util/color/hct/hct-solver.js +6 -6
  317. package/lib/util/color/hct/hct-solver.js.map +1 -1
  318. package/lib/util/color/hct/hct.js.map +1 -1
  319. package/lib/util/color/hct/viewing-conditions.js +6 -4
  320. package/lib/util/color/hct/viewing-conditions.js.map +1 -1
  321. package/lib/util/color/index.js +13 -13
  322. package/lib/util/color/index.js.map +1 -1
  323. package/lib/util/color/palettes/core-palette.js.map +1 -1
  324. package/lib/util/color/palettes/tonal-palette.js +3 -3
  325. package/lib/util/color/palettes/tonal-palette.js.map +1 -1
  326. package/lib/util/color/types.js.map +1 -1
  327. package/lib/util/color/utils/math-utils.js +62 -62
  328. package/lib/util/color/utils/math-utils.js.map +1 -1
  329. package/lib/util/common.js +28 -13
  330. package/lib/util/common.js.map +1 -1
  331. package/lib/util/component/component.js.map +1 -1
  332. package/lib/util/component/index.js.map +1 -1
  333. package/lib/util/component/inject-self.js.map +1 -1
  334. package/lib/util/component/props.js.map +1 -1
  335. package/lib/util/component/types.js.map +1 -1
  336. package/lib/util/date/adapters/yuyeon-date-adapter.js +3 -3
  337. package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -1
  338. package/lib/util/date/built-in.js +2 -0
  339. package/lib/util/date/built-in.js.map +1 -1
  340. package/lib/util/date/index.js +1 -1
  341. package/lib/util/date/index.js.map +1 -1
  342. package/lib/util/date/types.js.map +1 -1
  343. package/lib/util/debounce.js +1 -1
  344. package/lib/util/debounce.js.map +1 -1
  345. package/lib/util/dom.js +10 -1
  346. package/lib/util/dom.js.map +1 -1
  347. package/lib/util/environments.js.map +1 -1
  348. package/lib/util/frame-scheduler.js +3 -3
  349. package/lib/util/frame-scheduler.js.map +1 -1
  350. package/lib/util/index.js +11 -11
  351. package/lib/util/index.js.map +1 -1
  352. package/lib/util/reactivity.js +3 -3
  353. package/lib/util/reactivity.js.map +1 -1
  354. package/lib/util/rect.js.map +1 -1
  355. package/lib/util/scroll.js.map +1 -1
  356. package/lib/util/string.js +3 -1
  357. package/lib/util/string.js.map +1 -1
  358. package/lib/util/ui.js +8 -7
  359. package/lib/util/ui.js.map +1 -1
  360. package/lib/util/validation.js.map +1 -1
  361. package/package.json +132 -123
  362. package/types/abstract/items.d.ts +4 -4
  363. package/types/components/alert/YAlert.d.ts +2 -2
  364. package/types/components/badge/YBadge.d.ts +9 -3
  365. package/types/components/button/YButton.d.ts +3 -3
  366. package/types/components/checkbox/YCheckbox.d.ts +4 -4
  367. package/types/components/chip/YChip.d.ts +0 -3
  368. package/types/components/date-picker/YDateCalendar.d.ts +4 -3
  369. package/types/components/date-picker/YDatePickerControl.d.ts +7 -7
  370. package/types/components/dialog/YDialog.d.ts +116 -6484
  371. package/types/components/draggable/YDraggable.d.ts +6 -6
  372. package/types/components/dropdown/YDropdown.d.ts +87 -87
  373. package/types/components/field-input/YFieldInput.d.ts +14 -14
  374. package/types/components/form/YForm.d.ts +3 -3
  375. package/types/components/icon/YIcon.d.ts +4 -4
  376. package/types/components/icons/YIconPageControl.d.ts +1 -1
  377. package/types/components/icons/YIconSort.d.ts +1 -1
  378. package/types/components/icons/index.d.ts +4 -4
  379. package/types/components/img/YImg.d.ts +30 -27
  380. package/types/components/img/index.d.ts +1 -0
  381. package/types/components/index.d.ts +1 -0
  382. package/types/components/input/YInput.d.ts +13 -13
  383. package/types/components/ip-field/YIpv4Field.d.ts +5 -5
  384. package/types/components/layer/YLayer.d.ts +59 -3242
  385. package/types/components/layer/base.d.ts +4 -0
  386. package/types/components/layer/scroll-strategies.d.ts +4 -4
  387. package/types/components/menu/YMenu.d.ts +83 -6451
  388. package/types/components/pagination/YPagination.d.ts +3 -3
  389. package/types/components/select/YSelect.d.ts +172 -496
  390. package/types/components/slider/YSlider.d.ts +1 -1
  391. package/types/components/snackbar/YSnackbar.d.ts +55 -55
  392. package/types/components/tab/YTab.d.ts +3 -3
  393. package/types/components/tab/YTabs.d.ts +1 -1
  394. package/types/components/table/YDataTable.d.ts +30 -87
  395. package/types/components/table/YDataTableBody.d.ts +3 -3
  396. package/types/components/table/YDataTableCell.d.ts +2 -2
  397. package/types/components/table/YDataTableControl.d.ts +6 -6
  398. package/types/components/table/YDataTableLayer.d.ts +2 -2
  399. package/types/components/table/YDataTableRow.d.ts +1 -1
  400. package/types/components/table/YDataTableServer.d.ts +37 -94
  401. package/types/components/table/YTable.d.ts +3 -3
  402. package/types/components/table/composables/expand.d.ts +4 -4
  403. package/types/components/table/composables/header.d.ts +16 -48
  404. package/types/components/table/composables/items.d.ts +2 -2
  405. package/types/components/table/composables/pagination.d.ts +10 -10
  406. package/types/components/table/composables/selection.d.ts +6 -6
  407. package/types/components/table/composables/sorting.d.ts +8 -14
  408. package/types/components/table/types/item.d.ts +1 -1
  409. package/types/components/textarea/YTextarea.d.ts +30 -30
  410. package/types/components/tooltip/YTooltip.d.ts +67 -67
  411. package/types/components/tree-view/YTreeView.d.ts +7 -7
  412. package/types/components/tree-view/YTreeViewNode.d.ts +5 -5
  413. package/types/components/tree-view/tree-view.d.ts +2 -2
  414. package/types/composables/choice.d.ts +2 -2
  415. package/types/composables/coordinate/index.d.ts +28 -3207
  416. package/types/composables/coordinate/levitation.d.ts +4 -2
  417. package/types/composables/coordinate/types.d.ts +1 -0
  418. package/types/composables/dimension.d.ts +6 -6
  419. package/types/composables/form.d.ts +17 -27
  420. package/types/composables/list-items.d.ts +3 -3
  421. package/types/composables/style-color.d.ts +22 -1
  422. package/types/composables/theme/index.d.ts +1 -0
  423. package/types/composables/transition.d.ts +10 -10
  424. package/types/composables/validation.d.ts +6 -6
  425. package/types/composables/vue-router.d.ts +3 -3
  426. package/types/declares.d.ts +1 -0
  427. package/types/directives/index.d.ts +2 -0
  428. package/types/directives/plate-wave/index.d.ts +7 -1
  429. package/types/globals.d.ts +19 -20
  430. package/types/shims.d.ts +9 -3
  431. package/types/types/index.d.ts +3 -0
  432. package/types/util/anchor.d.ts +1 -1
  433. package/types/util/common.d.ts +3 -0
  434. package/types/util/component/component.d.ts +1 -2
  435. package/types/util/component/props.d.ts +1 -1
  436. package/types/util/component/types.d.ts +1 -1
  437. package/types/util/date/index.d.ts +1 -1
  438. package/types/util/dom.d.ts +2 -0
  439. package/types/util/index.d.ts +11 -11
  440. package/types/components/table/composibles/header.d.ts +0 -207
  441. package/types/components/table/composibles/items.d.ts +0 -55
  442. package/types/components/table/composibles/measure.d.ts +0 -8
  443. package/types/components/table/composibles/options.d.ts +0 -11
  444. package/types/components/table/composibles/pagination.d.ts +0 -81
  445. package/types/components/table/composibles/selection.d.ts +0 -82
  446. package/types/components/table/composibles/sorted-items.d.ts +0 -7
  447. package/types/components/table/composibles/sorting.d.ts +0 -62
  448. /package/types/directives/{theme-class.d.ts → theme-class/index.d.ts} +0 -0
@@ -1,5 +1,4 @@
1
- import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { inject } from 'vue';
1
+ import { inject, Fragment as _Fragment, createVNode as _createVNode } from 'vue';
3
2
  import { YDataTableInjectionKey, YTableInjectionKey } from "./composables/provides.js";
4
3
  import { useRender } from "../../composables/component.js";
5
4
  import { defineComponent } from "../../util/component/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableLayer.js","names":["inject","YDataTableInjectionKey","YTableInjectionKey","useRender","defineComponent","YDataTableLayer","name","props","slotProps","Object","setup","_ref","slots","YTableWire","YDataTableWire","scopedSlotProps","YTable","YDataTable","_createVNode","layer","_Fragment"],"sources":["../../../src/components/table/YDataTableLayer.tsx"],"sourcesContent":["import { type PropType, type Ref, inject } from 'vue';\n\nimport {\n YDataTableInjectionKey,\n YTableInjectionKey,\n} from '@/components/table/composables/provides';\nimport { useRender } from '@/composables/component';\nimport { defineComponent } from '@/util/component';\n\nexport const YDataTableLayer = defineComponent({\n name: 'YDataTableLayer',\n props: {\n slotProps: Object as PropType<any>,\n },\n setup(props, { slots }) {\n const YTableWire = inject(YTableInjectionKey);\n const YDataTableWire = inject(YDataTableInjectionKey);\n\n useRender(() => {\n const scopedSlotProps = {\n ...props.slotProps,\n YTable: YTableWire,\n YDataTable: YDataTableWire,\n };\n\n return (\n <div class={['y-data-table-layer']}>\n {slots.layer ? (\n slots.layer?.(scopedSlotProps)\n ) : (\n <>\n <div class={['y-data-table-layer__head']}>\n {slots['layer-head']?.(scopedSlotProps)}\n </div>\n <div class={['y-data-table-layer__body']}>\n {slots['layer-body']?.(scopedSlotProps)}\n </div>\n </>\n )}\n </div>\n );\n });\n\n return {\n YTableWire,\n };\n },\n});\n\nexport type YDataTableLayer = InstanceType<typeof YDataTableLayer>;\n"],"mappings":";AAAA,SAAkCA,MAAM,QAAQ,KAAK;AAAC,SAGpDC,sBAAsB,EACtBC,kBAAkB;AAAA,SAEXC,SAAS;AAAA,SACTC,eAAe;AAExB,OAAO,MAAMC,eAAe,GAAGD,eAAe,CAAC;EAC7CE,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAE;IACLC,SAAS,EAAEC;EACb,CAAC;EACDC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,UAAU,GAAGb,MAAM,CAACE,kBAAkB,CAAC;IAC7C,MAAMY,cAAc,GAAGd,MAAM,CAACC,sBAAsB,CAAC;IAErDE,SAAS,CAAC,MAAM;MACd,MAAMY,eAAe,GAAG;QACtB,GAAGR,KAAK,CAACC,SAAS;QAClBQ,MAAM,EAAEH,UAAU;QAClBI,UAAU,EAAEH;MACd,CAAC;MAED,OAAAI,YAAA;QAAA,SACc,CAAC,oBAAoB;MAAC,IAC/BN,KAAK,CAACO,KAAK,GACVP,KAAK,CAACO,KAAK,GAAGJ,eAAe,CAAC,GAAAG,YAAA,CAAAE,SAAA,SAAAF,YAAA;QAAA,SAGhB,CAAC,0BAA0B;MAAC,IACrCN,KAAK,CAAC,YAAY,CAAC,GAAGG,eAAe,CAAC,IAAAG,YAAA;QAAA,SAE7B,CAAC,0BAA0B;MAAC,IACrCN,KAAK,CAAC,YAAY,CAAC,GAAGG,eAAe,CAAC,IAG5C;IAGP,CAAC,CAAC;IAEF,OAAO;MACLF;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTableLayer.js","names":["inject","Fragment","_Fragment","createVNode","_createVNode","YDataTableInjectionKey","YTableInjectionKey","useRender","defineComponent","YDataTableLayer","name","props","slotProps","Object","setup","_ref","slots","YTableWire","YDataTableWire","scopedSlotProps","YTable","YDataTable","layer"],"sources":["../../../src/components/table/YDataTableLayer.tsx"],"sourcesContent":["import { type PropType, type Ref, inject } from 'vue';\n\nimport {\n YDataTableInjectionKey,\n YTableInjectionKey,\n} from '@/components/table/composables/provides';\nimport { useRender } from '@/composables/component';\nimport { defineComponent } from '@/util/component';\n\nexport const YDataTableLayer = defineComponent({\n name: 'YDataTableLayer',\n props: {\n slotProps: Object as PropType<any>,\n },\n setup(props, { slots }) {\n const YTableWire = inject(YTableInjectionKey);\n const YDataTableWire = inject(YDataTableInjectionKey);\n\n useRender(() => {\n const scopedSlotProps = {\n ...props.slotProps,\n YTable: YTableWire,\n YDataTable: YDataTableWire,\n };\n\n return (\n <div class={['y-data-table-layer']}>\n {slots.layer ? (\n slots.layer?.(scopedSlotProps)\n ) : (\n <>\n <div class={['y-data-table-layer__head']}>\n {slots['layer-head']?.(scopedSlotProps)}\n </div>\n <div class={['y-data-table-layer__body']}>\n {slots['layer-body']?.(scopedSlotProps)}\n </div>\n </>\n )}\n </div>\n );\n });\n\n return {\n YTableWire,\n };\n },\n});\n\nexport type YDataTableLayer = InstanceType<typeof YDataTableLayer>;\n"],"mappings":"AAAA,SAAkCA,MAAM,EAAAC,QAAA,IAAAC,SAAA,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAGpDC,sBAAsB,EACtBC,kBAAkB;AAAA,SAEXC,SAAS;AAAA,SACTC,eAAe;AAExB,OAAO,MAAMC,eAAe,GAAGD,eAAe,CAAC;EAC7CE,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAE;IACLC,SAAS,EAAEC;EACb,CAAC;EACDC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,UAAU,GAAGjB,MAAM,CAACM,kBAAkB,CAAC;IAC7C,MAAMY,cAAc,GAAGlB,MAAM,CAACK,sBAAsB,CAAC;IAErDE,SAAS,CAAC,MAAM;MACd,MAAMY,eAAe,GAAG;QACtB,GAAGR,KAAK,CAACC,SAAS;QAClBQ,MAAM,EAAEH,UAAU;QAClBI,UAAU,EAAEH;MACd,CAAC;MAED,OAAAd,YAAA;QAAA,SACc,CAAC,oBAAoB;MAAC,IAC/BY,KAAK,CAACM,KAAK,GACVN,KAAK,CAACM,KAAK,GAAGH,eAAe,CAAC,GAAAf,YAAA,CAAAF,SAAA,SAAAE,YAAA;QAAA,SAGhB,CAAC,0BAA0B;MAAC,IACrCY,KAAK,CAAC,YAAY,CAAC,GAAGG,eAAe,CAAC,IAAAf,YAAA;QAAA,SAE7B,CAAC,0BAA0B;MAAC,IACrCY,KAAK,CAAC,YAAY,CAAC,GAAGG,eAAe,CAAC,IAG5C;IAGP,CAAC,CAAC;IAEF,OAAO;MACLF;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,4 @@
1
- import { withDirectives as _withDirectives, createVNode as _createVNode, vShow as _vShow } from "vue";
2
- import { computed, onBeforeUnmount, ref, shallowRef, useTemplateRef, watch } from 'vue';
1
+ import { computed, onBeforeUnmount, ref, shallowRef, useTemplateRef, watch, vShow as _vShow, createVNode as _createVNode, withDirectives as _withDirectives } from 'vue';
3
2
  import { useRender } from "../../composables/component.js";
4
3
  import { defineComponent } from "../../util/component/index.js";
5
4
  import { toStyleSizeValue } from "../../util/ui.js";
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableLayerRow.js","names":["computed","onBeforeUnmount","ref","shallowRef","useTemplateRef","watch","useRender","defineComponent","toStyleSizeValue","YDataTableLayerRow","name","props","layerProps","Object","item","width","type","Number","scrollTop","default","headRect","classes","Function","styles","slots","setup","_ref","observer","layerRowRef","rect","show","rowEl","computedStyles","propStyles","height","value","transform","offsetTop","computedClasses","propClassResult","Array","isArray","rowRef","$el","immediate","neo","old","unobserve","ResizeObserver","getClientRects","observe","disconnect","_withDirectives","_createVNode","_vShow"],"sources":["../../../src/components/table/YDataTableLayerRow.tsx"],"sourcesContent":["import {\n type PropType,\n SlotsType,\n computed,\n onBeforeUnmount,\n ref,\n shallowRef,\n useTemplateRef,\n watch,\n} from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nexport type YDataTableLayerRowDefaultSlotProps = {\n item: any;\n width: number | undefined;\n height: number | undefined;\n scrollTop: number;\n};\n\nexport const YDataTableLayerRow = defineComponent({\n name: 'YDataTableLayerRow',\n props: {\n layerProps: Object as PropType<any>,\n item: Object as PropType<any>,\n width: {\n type: Number as PropType<number>,\n },\n scrollTop: {\n type: Number as PropType<number>,\n default: 0,\n },\n headRect: Object as PropType<DOMRect>,\n classes: Function as PropType<(item: any) => string[] | string>,\n styles: Object as PropType<(item: any, originStyle: any) => any>,\n },\n slots: Object as SlotsType<{\n default: (slotProps: YDataTableLayerRowDefaultSlotProps) => any;\n }>,\n setup(props, { slots }) {\n const observer = shallowRef<ResizeObserver | null>(null);\n\n const layerRowRef = useTemplateRef<HTMLElement>('layerRowRef');\n const rect = shallowRef<DOMRectList | null>(null);\n const show = shallowRef(false);\n\n const rowEl = ref();\n\n const computedStyles = computed(() => {\n const propStyles =\n props.styles?.(props.item, {\n width: props.width,\n height: rect.value?.[0]?.height,\n }) ?? {};\n\n return {\n transform: `translateY(${props.scrollTop * -1 + (rowEl.value?.offsetTop ?? 0) - (props.headRect?.height ?? 40)}px)`,\n width: toStyleSizeValue(propStyles?.width ?? props.width),\n height: toStyleSizeValue(propStyles?.height ?? rect.value?.[0]?.height),\n };\n });\n\n const computedClasses = computed(() => {\n const propClassResult = props.classes?.(props.item);\n return Array.isArray(propClassResult)\n ? propClassResult\n : [propClassResult];\n });\n\n watch(\n () => props.item?.rowRef.value,\n () => {\n rowEl.value = props.item?.rowRef.value?.$el;\n },\n {\n immediate: true,\n },\n );\n\n watch(\n rowEl,\n (neo, old) => {\n if (neo) {\n observer.value?.unobserve(neo);\n observer.value = new ResizeObserver(() => {\n rect.value = neo.getClientRects();\n });\n observer.value.observe(neo);\n show.value = true;\n } else {\n show.value = false;\n if (old && neo !== old) {\n observer.value?.unobserve(old);\n }\n }\n },\n { immediate: true },\n );\n\n onBeforeUnmount(() => {\n if (observer.value) {\n observer.value.disconnect();\n observer.value = null;\n }\n });\n\n useRender(() => (\n <div\n ref={layerRowRef}\n v-show={show.value}\n class={['y-data-table-layer-row', ...computedClasses.value]}\n style={computedStyles.value}\n >\n {slots.default &&\n slots.default({\n item: props.item,\n width: props.width,\n height: rect.value?.[0]?.height,\n scrollTop: props.scrollTop,\n })}\n </div>\n ));\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDataTableLayerRow.js","names":["computed","onBeforeUnmount","ref","shallowRef","useTemplateRef","watch","vShow","_vShow","createVNode","_createVNode","withDirectives","_withDirectives","useRender","defineComponent","toStyleSizeValue","YDataTableLayerRow","name","props","layerProps","Object","item","width","type","Number","scrollTop","default","headRect","classes","Function","styles","slots","setup","_ref","observer","layerRowRef","rect","show","rowEl","computedStyles","propStyles","height","value","transform","offsetTop","computedClasses","propClassResult","Array","isArray","rowRef","$el","immediate","neo","old","unobserve","ResizeObserver","getClientRects","observe","disconnect"],"sources":["../../../src/components/table/YDataTableLayerRow.tsx"],"sourcesContent":["import {\n type PropType,\n SlotsType,\n computed,\n onBeforeUnmount,\n ref,\n shallowRef,\n useTemplateRef,\n watch,\n} from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nexport type YDataTableLayerRowDefaultSlotProps = {\n item: any;\n width: number | undefined;\n height: number | undefined;\n scrollTop: number;\n};\n\nexport const YDataTableLayerRow = defineComponent({\n name: 'YDataTableLayerRow',\n props: {\n layerProps: Object as PropType<any>,\n item: Object as PropType<any>,\n width: {\n type: Number as PropType<number>,\n },\n scrollTop: {\n type: Number as PropType<number>,\n default: 0,\n },\n headRect: Object as PropType<DOMRect>,\n classes: Function as PropType<(item: any) => string[] | string>,\n styles: Object as PropType<(item: any, originStyle: any) => any>,\n },\n slots: Object as SlotsType<{\n default: (slotProps: YDataTableLayerRowDefaultSlotProps) => any;\n }>,\n setup(props, { slots }) {\n const observer = shallowRef<ResizeObserver | null>(null);\n\n const layerRowRef = useTemplateRef<HTMLElement>('layerRowRef');\n const rect = shallowRef<DOMRectList | null>(null);\n const show = shallowRef(false);\n\n const rowEl = ref();\n\n const computedStyles = computed(() => {\n const propStyles =\n props.styles?.(props.item, {\n width: props.width,\n height: rect.value?.[0]?.height,\n }) ?? {};\n\n return {\n transform: `translateY(${props.scrollTop * -1 + (rowEl.value?.offsetTop ?? 0) - (props.headRect?.height ?? 40)}px)`,\n width: toStyleSizeValue(propStyles?.width ?? props.width),\n height: toStyleSizeValue(propStyles?.height ?? rect.value?.[0]?.height),\n };\n });\n\n const computedClasses = computed(() => {\n const propClassResult = props.classes?.(props.item);\n return Array.isArray(propClassResult)\n ? propClassResult\n : [propClassResult];\n });\n\n watch(\n () => props.item?.rowRef.value,\n () => {\n rowEl.value = props.item?.rowRef.value?.$el;\n },\n {\n immediate: true,\n },\n );\n\n watch(\n rowEl,\n (neo, old) => {\n if (neo) {\n observer.value?.unobserve(neo);\n observer.value = new ResizeObserver(() => {\n rect.value = neo.getClientRects();\n });\n observer.value.observe(neo);\n show.value = true;\n } else {\n show.value = false;\n if (old && neo !== old) {\n observer.value?.unobserve(old);\n }\n }\n },\n { immediate: true },\n );\n\n onBeforeUnmount(() => {\n if (observer.value) {\n observer.value.disconnect();\n observer.value = null;\n }\n });\n\n useRender(() => (\n <div\n ref={layerRowRef}\n v-show={show.value}\n class={['y-data-table-layer-row', ...computedClasses.value]}\n style={computedStyles.value}\n >\n {slots.default &&\n slots.default({\n item: props.item,\n width: props.width,\n height: rect.value?.[0]?.height,\n scrollTop: props.scrollTop,\n })}\n </div>\n ));\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,4 @@
1
- import { withDirectives as _withDirectives, createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
2
- import { computed, shallowRef, watch } from 'vue';
1
+ import { computed, shallowRef, watch, createVNode as _createVNode } from 'vue';
3
2
  import { useRender } from "../../composables/index.js";
4
3
  import { defineComponent } from "../../util/component/index.js";
5
4
  import { YDataTableLayerRow } from "./YDataTableLayerRow.js";
@@ -46,14 +45,14 @@ export const YDataTableLayerRows = defineComponent({
46
45
  useRender(() => _createVNode("div", {
47
46
  "class": "y-data-table-layer-rows"
48
47
  }, [props.items?.map(item => {
49
- return _withDirectives(_createVNode(YDataTableLayerRow, {
48
+ return _createVNode(YDataTableLayerRow, {
50
49
  "item": item,
51
50
  "head-rect": headRect,
52
51
  "scroll-top": scrollTop.value,
53
52
  "width": rowWidth.value,
54
53
  "classes": props.classes,
55
54
  "styles": props.styles
56
- }, null), [[_resolveDirective("slot"), slots]]);
55
+ }, slots);
57
56
  })]));
58
57
  }
59
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableLayerRows.js","names":["computed","shallowRef","watch","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","_createVNode","map","item","_withDirectives","_resolveDirective"],"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-slot={slots}\n ></YDataTableLayerRow>\n );\n })}\n </div>\n ));\n },\n});\n"],"mappings":";AAAA,SAAmCA,QAAQ,EAAEC,UAAU,EAAEC,KAAK,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,GAAGpB,UAAU,CAAwB,IAAI,CAAC;IAC/D,MAAMqB,gBAAgB,GAAGrB,UAAU,CAAC,CAAC,CAAC;IACtC,MAAMsB,SAAS,GAAGtB,UAAU,CAAC,CAAC,CAAC;IAC/B,MAAMuB,QAAQ,GAAGvB,UAAU,CAAC,CAAC,CAAC;IAE9B,MAAMwB,SAAS,GAAGzB,QAAQ,CACxB,MAAMQ,KAAK,CAACC,UAAU,EAAEiB,MAAM,EAAEC,UAAU,CAACC,KAC7C,CAAC;IAED,MAAMC,QAAQ,GAAG7B,QAAQ,CACvB,MAAMQ,KAAK,CAACC,UAAU,EAAEqB,UAAU,EAAED,QAAQ,CAACD,KAC/C,CAAC;IAED1B,KAAK,CACHuB,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,MAAAqC,YAAA;MAAA;IAAA,IAELhC,KAAK,CAACG,KAAK,EAAE8B,GAAG,CAAEC,IAAI,IAAK;MAC1B,OAAAC,eAAA,CAAAH,YAAA,CAAAnC,kBAAA;QAAA,QAEUqC,IAAI;QAAA,aACCb,QAAQ;QAAA,cACPN,SAAS,CAACK,KAAK;QAAA,SACpBJ,QAAQ,CAACI,KAAK;QAAA,WACZpB,KAAK,CAACK,OAAO;QAAA,UACdL,KAAK,CAACO;MAAM,YAAA6B,iBAAA,UACZ1B,KAAK;IAGnB,CAAC,CAAC,EAEL,CAAC;EACJ;AACF,CAAC,CAAC"}
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,5 +1,4 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
- import { computed, getCurrentInstance } from 'vue';
1
+ import { computed, getCurrentInstance, createVNode as _createVNode, mergeProps as _mergeProps } from 'vue';
3
2
  import { YButton } from "../button/YButton.js";
4
3
  import { useExpand } from "./composables/expand.js";
5
4
  import { useHeader } from "./composables/header.js";
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableRow.js","names":["computed","getCurrentInstance","YButton","useExpand","useHeader","useSelection","useRender","getPropertyFromItem","defineComponent","propsFactory","YIconCheckbox","YDataTableCell","pressYDataTableRowProps","index","Number","onHover","Function","onMousedown","onClick","onDblclick","onContextmenu","onKeydown","YDataTableRow","name","props","item","Object","cellProps","emits","setup","_ref","emit","slots","vm","columns","isSelected","toggleSelect","isExpanded","toggleExpand","selected","arrayClasses","classes","ret","push","Array","isArray","forEach","c","event","proxy","$el","_createVNode","value","map","column","colIndex","slotProps","raw","internalItem","key","el","result","call","_mergeProps","align","fixed","lastFixed","undefined","fixedOffset","rightOffset","width","maxWidth","default","slotName","selectable","e","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import { type PropType, computed, getCurrentInstance } from 'vue';\n\nimport { YButton } from '@/components/button/YButton';\nimport { useExpand } from '@/components/table/composables/expand';\nimport { useHeader } from '@/components/table/composables/header';\nimport { useSelection } from '@/components/table/composables/selection';\nimport { useRender } from '@/composables/component';\nimport { getPropertyFromItem } from '@/util/common';\nimport { defineComponent } from '@/util/component';\nimport { propsFactory } from '@/util/component';\n\nimport { YIconCheckbox } from '../icons';\nimport { YDataTableCell } from './YDataTableCell';\nimport { CellProps, DataTableItem, type FixedPropType } from './types';\n\nexport const pressYDataTableRowProps = propsFactory(\n {\n index: Number as PropType<number>,\n onHover: Function as PropType<(...args: any[]) => void>,\n onMousedown: Function as PropType<(...args: any[]) => void>,\n onClick: Function as PropType<(...args: any[]) => void>,\n onDblclick: Function as PropType<(...args: any[]) => void>,\n onContextmenu: Function as PropType<(...args: any[]) => void>,\n onKeydown: Function as PropType<(...args: any[]) => void>,\n },\n 'YDataTableRow',\n);\n\nexport const YDataTableRow = defineComponent({\n name: 'YDataTableRow',\n props: {\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps>,\n ...pressYDataTableRowProps(),\n },\n emits: ['hover', 'mousedown', 'click', 'dblclick', 'contextmenu'],\n setup(props, { emit, slots }) {\n const vm = getCurrentInstance();\n const { columns } = useHeader();\n const { isSelected, toggleSelect } = useSelection();\n const { isExpanded, toggleExpand } = useExpand();\n\n const selected = computed(() => props.item && isSelected(props.item));\n\n function arrayClasses(classes: string | string[]) {\n const ret: string[] = [];\n if (typeof classes === 'string') {\n ret.push(classes);\n }\n if (Array.isArray(classes)) {\n classes.forEach((c) => {\n if (typeof c === 'string') ret.push(c);\n });\n }\n return ret;\n }\n\n function onMousedown(event: MouseEvent) {\n props.onMousedown?.(event, vm?.proxy?.$el);\n }\n\n function onClick(event: MouseEvent) {\n props.onClick?.(event, vm?.proxy?.$el);\n }\n\n function onContextmenu(event: MouseEvent) {\n props.onContextmenu?.(event, vm?.proxy?.$el);\n }\n\n function onDblclick(event: MouseEvent) {\n props.onDblclick?.(event, vm?.proxy?.$el);\n }\n\n function onKeydown(event: KeyboardEvent) {\n props.onKeydown?.(event, vm?.proxy?.$el);\n }\n\n useRender(() => {\n return (\n <tr\n class={[\n 'y-data-table__row',\n {\n 'y-data-table__row--selected': selected.value,\n 'y-data-table__row--expanded': isExpanded(props.item!),\n },\n ]}\n onClick={props.onClick && onClick}\n onContextmenu={props.onContextmenu && onContextmenu}\n onDblclick={props.onDblclick && onDblclick}\n onMousedown={props.onMousedown && onMousedown}\n onKeydown={props.onKeydown && onKeydown}\n >\n {props.item &&\n columns.value.map((column, colIndex) => {\n const item = props.item!;\n const slotProps = {\n index: props.index!,\n item: props.item!.raw,\n internalItem: props.item!,\n columns: columns.value,\n value: getPropertyFromItem(item.columns, column.key),\n selected: selected.value,\n toggleSelect,\n isExpanded,\n toggleExpand,\n el: vm?.proxy?.$el,\n };\n\n const classes = computed(() => {\n const ret: string[] = [];\n if (typeof column.classes === 'function') {\n const result = column.classes.call(\n null,\n slotProps.item,\n slotProps.index,\n column,\n );\n if (result) {\n ret.push(...arrayClasses(result));\n }\n } else if (column.classes) {\n ret.push(...arrayClasses(column.classes));\n }\n\n return ret;\n });\n\n const cellProps =\n typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n column,\n internalItem: slotProps.internalItem,\n item: slotProps.item,\n value: slotProps.value,\n selected: slotProps.selected,\n })\n : props.cellProps;\n\n return (\n <YDataTableCell\n align={column.align}\n fixed={\n column.fixed\n ? (((column.fixed === 'right' ? 'trail' : 'lead') +\n (column.lastFixed ? '-last' : '')) as FixedPropType)\n : undefined\n }\n fixedOffset={column.fixedOffset}\n rightOffset={column.rightOffset}\n width={column.width}\n maxWidth={column.maxWidth}\n class={[\n 'y-data-table-data',\n {\n 'y-data-table-data--select':\n column.key === 'data-table-select',\n },\n ...classes.value,\n ]}\n {...cellProps}\n >\n {{\n default: () => {\n const slotName = `item.${column.key}`;\n\n if (slots[slotName]) {\n return slots[slotName]?.(slotProps);\n }\n\n if (column.key === 'data-table-select') {\n return (\n slots['item.data-table-select']?.(slotProps) ?? (\n <YButton\n variation={'text,small'}\n disabled={!item.selectable}\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n if (item.selectable) toggleSelect(item);\n }}\n >\n <YIconCheckbox\n checked={isSelected(item)}\n disabled={!item.selectable}\n ></YIconCheckbox>\n </YButton>\n )\n );\n }\n\n return slotProps.value;\n },\n }}\n </YDataTableCell>\n );\n })}\n </tr>\n );\n });\n },\n});\n\nexport type YDataTableRow = InstanceType<typeof YDataTableRow>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDataTableRow.js","names":["computed","getCurrentInstance","createVNode","_createVNode","mergeProps","_mergeProps","YButton","useExpand","useHeader","useSelection","useRender","getPropertyFromItem","defineComponent","propsFactory","YIconCheckbox","YDataTableCell","pressYDataTableRowProps","index","Number","onHover","Function","onMousedown","onClick","onDblclick","onContextmenu","onKeydown","YDataTableRow","name","props","item","Object","cellProps","emits","setup","_ref","emit","slots","vm","columns","isSelected","toggleSelect","isExpanded","toggleExpand","selected","arrayClasses","classes","ret","push","Array","isArray","forEach","c","event","proxy","$el","value","map","column","colIndex","slotProps","raw","internalItem","key","el","result","call","align","fixed","lastFixed","undefined","fixedOffset","rightOffset","width","maxWidth","default","slotName","selectable","e","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import { type PropType, computed, getCurrentInstance } from 'vue';\n\nimport { YButton } from '@/components/button/YButton';\nimport { useExpand } from '@/components/table/composables/expand';\nimport { useHeader } from '@/components/table/composables/header';\nimport { useSelection } from '@/components/table/composables/selection';\nimport { useRender } from '@/composables/component';\nimport { getPropertyFromItem } from '@/util/common';\nimport { defineComponent } from '@/util/component';\nimport { propsFactory } from '@/util/component';\n\nimport { YIconCheckbox } from '../icons';\nimport { YDataTableCell } from './YDataTableCell';\nimport { CellProps, DataTableItem, type FixedPropType } from './types';\n\nexport const pressYDataTableRowProps = propsFactory(\n {\n index: Number as PropType<number>,\n onHover: Function as PropType<(...args: any[]) => void>,\n onMousedown: Function as PropType<(...args: any[]) => void>,\n onClick: Function as PropType<(...args: any[]) => void>,\n onDblclick: Function as PropType<(...args: any[]) => void>,\n onContextmenu: Function as PropType<(...args: any[]) => void>,\n onKeydown: Function as PropType<(...args: any[]) => void>,\n },\n 'YDataTableRow',\n);\n\nexport const YDataTableRow = defineComponent({\n name: 'YDataTableRow',\n props: {\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps>,\n ...pressYDataTableRowProps(),\n },\n emits: ['hover', 'mousedown', 'click', 'dblclick', 'contextmenu'],\n setup(props, { emit, slots }) {\n const vm = getCurrentInstance();\n const { columns } = useHeader();\n const { isSelected, toggleSelect } = useSelection();\n const { isExpanded, toggleExpand } = useExpand();\n\n const selected = computed(() => props.item && isSelected(props.item));\n\n function arrayClasses(classes: string | string[]) {\n const ret: string[] = [];\n if (typeof classes === 'string') {\n ret.push(classes);\n }\n if (Array.isArray(classes)) {\n classes.forEach((c) => {\n if (typeof c === 'string') ret.push(c);\n });\n }\n return ret;\n }\n\n function onMousedown(event: MouseEvent) {\n props.onMousedown?.(event, vm?.proxy?.$el);\n }\n\n function onClick(event: MouseEvent) {\n props.onClick?.(event, vm?.proxy?.$el);\n }\n\n function onContextmenu(event: MouseEvent) {\n props.onContextmenu?.(event, vm?.proxy?.$el);\n }\n\n function onDblclick(event: MouseEvent) {\n props.onDblclick?.(event, vm?.proxy?.$el);\n }\n\n function onKeydown(event: KeyboardEvent) {\n props.onKeydown?.(event, vm?.proxy?.$el);\n }\n\n useRender(() => {\n return (\n <tr\n class={[\n 'y-data-table__row',\n {\n 'y-data-table__row--selected': selected.value,\n 'y-data-table__row--expanded': isExpanded(props.item!),\n },\n ]}\n onClick={props.onClick && onClick}\n onContextmenu={props.onContextmenu && onContextmenu}\n onDblclick={props.onDblclick && onDblclick}\n onMousedown={props.onMousedown && onMousedown}\n onKeydown={props.onKeydown && onKeydown}\n >\n {props.item &&\n columns.value.map((column, colIndex) => {\n const item = props.item!;\n const slotProps = {\n index: props.index!,\n item: props.item!.raw,\n internalItem: props.item!,\n columns: columns.value,\n value: getPropertyFromItem(item.columns, column.key),\n selected: selected.value,\n toggleSelect,\n isExpanded,\n toggleExpand,\n el: vm?.proxy?.$el,\n };\n\n const classes = computed(() => {\n const ret: string[] = [];\n if (typeof column.classes === 'function') {\n const result = column.classes.call(\n null,\n slotProps.item,\n slotProps.index,\n column,\n );\n if (result) {\n ret.push(...arrayClasses(result));\n }\n } else if (column.classes) {\n ret.push(...arrayClasses(column.classes));\n }\n\n return ret;\n });\n\n const cellProps =\n typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n column,\n internalItem: slotProps.internalItem,\n item: slotProps.item,\n value: slotProps.value,\n selected: slotProps.selected,\n })\n : props.cellProps;\n\n return (\n <YDataTableCell\n align={column.align}\n fixed={\n column.fixed\n ? (((column.fixed === 'right' ? 'trail' : 'lead') +\n (column.lastFixed ? '-last' : '')) as FixedPropType)\n : undefined\n }\n fixedOffset={column.fixedOffset}\n rightOffset={column.rightOffset}\n width={column.width}\n maxWidth={column.maxWidth}\n class={[\n 'y-data-table-data',\n {\n 'y-data-table-data--select':\n column.key === 'data-table-select',\n },\n ...classes.value,\n ]}\n {...cellProps}\n >\n {{\n default: () => {\n const slotName = `item.${column.key}`;\n\n if (slots[slotName]) {\n return slots[slotName]?.(slotProps);\n }\n\n if (column.key === 'data-table-select') {\n return (\n slots['item.data-table-select']?.(slotProps) ?? (\n <YButton\n variation={'text,small'}\n disabled={!item.selectable}\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n if (item.selectable) toggleSelect(item);\n }}\n >\n <YIconCheckbox\n checked={isSelected(item)}\n disabled={!item.selectable}\n ></YIconCheckbox>\n </YButton>\n )\n );\n }\n\n return slotProps.value;\n },\n }}\n </YDataTableCell>\n );\n })}\n </tr>\n );\n });\n },\n});\n\nexport type YDataTableRow = InstanceType<typeof YDataTableRow>;\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,4 @@
1
- import { mergeProps as _mergeProps, Fragment as _Fragment, createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
2
- import { Fragment, computed, provide, ref, toRef } from 'vue';
1
+ import { Fragment, computed, provide, ref, toRef, createVNode as _createVNode, Fragment as _Fragment, mergeProps as _mergeProps } from 'vue';
3
2
  import { provideExpand } from "./composables/expand.js";
4
3
  import { YDataTableInjectionKey } from "./composables/provides.js";
5
4
  import { useRender } from "../../composables/component.js";
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableServer.js","names":["Fragment","computed","provide","ref","toRef","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","_createVNode","_mergeProps","loading","length","hideNoData","height","top","leading","_Fragment","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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"}
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,5 +1,4 @@
1
- import { createVNode as _createVNode } from "vue";
2
- import { provide } from 'vue';
1
+ import { provide, createVNode as _createVNode } from 'vue';
3
2
  import { useRender } from "../../composables/component.js";
4
3
  import { defineComponent, propsFactory } from "../../util/component/index.js";
5
4
  import { toStyleSizeValue } from "../../util/ui.js";
@@ -1 +1 @@
1
- {"version":3,"file":"YTable.js","names":["provide","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","_createVNode","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, { containerRect, tableRef, wrapperRef, wrapperRect });\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,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;IAElBL,OAAO,CAACM,kBAAkB,EAAE;MAAEuB,aAAa;MAAED,QAAQ;MAAEE,UAAU;MAAEC;IAAY,CAAC,CAAC;IAEjF,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,GACpCa,aAAa,CAACM,KAAK,EAAErB,MAAM,IAAIO,KAAK,CAACP,MAAM,GAC3CO,KAAK,CAACP,MAAM;MAChB,OAAAsB,YAAA,CAAAH,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,EAAEE,KACvB,CAAC;UACD,yBAAyB,EAAEjC,gBAAgB,CACzC2B,WAAW,CAACI,KAAK,EAAEE,KACrB;QACF;MAAC;QAAA1B,OAAA,EAAAA,CAAA,MAEAc,KAAK,CAACa,GAAG,GAAG,CAAC,EACbb,KAAK,CAACd,OAAO,GAAAyB,YAAA;UAAA,OACFT,YAAY;UAAA,SAAS,CAAC,oBAAoB;QAAC,IAClDF,KAAK,CAACc,OAAO,GAAG,CAAC,EAAAH,YAAA;UAAA,SAET,CAAC,kBAAkB,CAAC;UAAA,SACpB;YACLtB,MAAM,EAAEV,gBAAgB,CAAC8B,eAAe;UAC1C,CAAC;UAAA,YACSjB;QAAQ,IAAAmB,YAAA;UAAA,OAENR;QAAQ,IAAGH,KAAK,CAACd,OAAO,CAAC,CAAC,MAEvCc,KAAK,CAACe,QAAQ,GAAG,CAAC,KAGrBf,KAAK,CAACgB,SAAS,GAAGd,YAAY,EAAEE,aAAa,CAC9C,EACAJ,KAAK,CAACiB,MAAM,GAAG,CAAC;MAAA;IAGvB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
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 +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 type InjectionKey,\n type PropType,\n type Ref,\n inject,\n provide,\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,SAIEA,MAAM,EACNC,OAAO,QACF,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,CAAE,iBAAgBnB,uBAAuB,CAACoB,WAAY,EAAC,CAAC;EACzE;EACA,OAAOF,QAAQ;AACjB"}
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 +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 {\r\n type DeepReadonly,\r\n type InjectionKey,\r\n type PropType,\r\n type Ref,\r\n inject,\r\n provide,\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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"}
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":"AAAA,SAEEA,MAAM,EAGNC,OAAO,EAEPC,GAAG,EACHC,WAAW,QACN,KAAK;AAAC,SAEJC,WAAW;AAAA,SACXC,YAAY;AAIrB,OAAO,MAAMC,oBAAoB,GAAGD,YAAY,CAC9C;EACEE,OAAO,EAAE;IACPC,IAAI,EAAEC,KAAkD;IACxDC,OAAO,EAAEA,CAAA,KAAM;EACjB;AACF,CAAC,EACD,oBACF,CAAC;AAED,OAAO,MAAMC,uBAGX,GAAGC,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAM3C,OAAO,SAASC,YAAYA,CAC1BC,KAAkB,EAClBC,OAEC,EACD;EACA,MAAMT,OAAO,GAAGL,GAAG,CAA8B,EAAE,CAAC;EACpD,MAAMe,OAAO,GAAGf,GAAG,CAA4B,EAAE,CAAC;EAElDC,WAAW,CAAC,MAAM;IAChB,MAAMe,IAAI,GAAGH,KAAK,CAACR,OAAO,EAAEY,MAAM,GAC9B,CAACJ,KAAK,CAACR,OAAO,CAAsB,GACpC,EAAE;IACN,MAAMa,IAAI,GAAGF,IAAI,CAACG,OAAO,CAAC,CAACC,GAAG,EAAEC,KAAK,KACnCD,GAAG,CAACE,GAAG,CAAEC,MAAM,KAAM;MAAEA,MAAM;MAAEC,QAAQ,EAAEH;IAAM,CAAC,CAAC,CACnD,CAAC;IACD,MAAMI,QAAQ,GAAGT,IAAI,CAACC,MAAM;IAC5B,MAAMS,aAAa,GAAG;MAAEC,IAAI,EAAE,EAAE;MAAEC,QAAQ,EAAE;IAAM,CAAC;IACnD,MAAMC,mBAAmB,GAAG;MAAE,GAAGH,aAAa;MAAEI,KAAK,EAAE;IAAG,CAAC;IAE3D,IAAIhB,OAAO,EAAEiB,YAAY,EAAEC,KAAK,EAAE;MAChC,MAAMC,UAAU,GAAGf,IAAI,CAACgB,SAAS,CAC/BC,IAAA;QAAA,IAAC;UAAEZ;QAAO,CAAC,GAAAY,IAAA;QAAA,OAAKZ,MAAM,CAACa,GAAG,KAAK,mBAAmB;MAAA,CACpD,CAAC;MACD,IAAIH,UAAU,GAAG,CAAC,EAAE;QAClB,MAAMI,KAAK,GAAGnB,IAAI,CAACoB,IAAI,CACrBC,KAAA;UAAA,IAAC;YAAEhB;UAAO,CAAC,GAAAgB,KAAA;UAAA,OAAKhB,MAAM,EAAEc,KAAK,KAAK,IAAI,IAAId,MAAM,EAAEc,KAAK,KAAK,MAAM;QAAA,CACpE,CAAC;QACDnB,IAAI,CAACsB,OAAO,CAAC;UACXjB,MAAM,EAAE;YACN,GAAGM,mBAAmB;YACtBO,GAAG,EAAE,mBAAmB;YACxBK,OAAO,EAAEhB,QAAQ;YACjBY;UACF,CAAC;UACDb,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ,CAAC,MAAM;QACLN,IAAI,CAACwB,MAAM,CAACT,UAAU,EAAE,CAAC,EAAE;UACzBV,MAAM,EAAE;YACN,GAAGM,mBAAmB;YACtB,GAAGX,IAAI,CAACe,UAAU,CAAC,CAACV;UACtB,CAAC;UACDC,QAAQ,EAAEN,IAAI,CAACe,UAAU,CAAC,CAACT;QAC7B,CAAC,CAAC;MACJ;IACF;IAEA,MAAMmB,SAAsC,GAAGzC,WAAW,CAACuB,QAAQ,CAAC,CAACH,GAAG,CACtE,MAAM,EACR,CAAC;IACD,MAAMsB,YAAY,GAAG1C,WAAW,CAACuB,QAAQ,CAAC,CAACoB,IAAI,CAAC,CAAC,CAAC;IAElD3B,IAAI,CAAC4B,OAAO,CAACC,KAAA,IAA0B;MAAA,IAAzB;QAAExB,MAAM;QAAEC;MAAS,CAAC,GAAAuB,KAAA;MAChC,MAAM;QAAEX;MAAI,CAAC,GAAGb,MAAM;MACtB,KACE,IAAIyB,CAAC,GAAGxB,QAAQ,EAChBwB,CAAC,IAAIxB,QAAQ,IAAID,MAAM,CAACkB,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EACzCO,CAAC,IAAI,CAAC,EACN;QACAL,SAAS,CAACK,CAAC,CAAC,CAACC,IAAI,CAAC;UAChB,GAAG1B,MAAM;UACTa,GAAG;UACHc,WAAW,EAAEN,YAAY,CAACI,CAAC,CAAC;UAC5BpB,QAAQ,EAAEL,MAAM,CAACK,QAAQ,IAAI,CAAC,CAACQ;QACjC,CAAC,CAAC;QACFQ,YAAY,CAACI,CAAC,CAAC,IAAIG,MAAM,CAAC5B,MAAM,CAACO,KAAK,IAAI,CAAC,CAAC;MAC9C;IACF,CAAC,CAAC;IAEFa,SAAS,CAACG,OAAO,CAAE1B,GAAG,IAAK;MACzB,KAAK,IAAI4B,CAAC,GAAG5B,GAAG,CAACH,MAAM,GAAG,CAAC,EAAE+B,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;QACxC,IAAI5B,GAAG,CAAC4B,CAAC,CAAC,CAACX,KAAK,KAAK,IAAI,IAAIjB,GAAG,CAAC4B,CAAC,CAAC,CAACX,KAAK,KAAK,MAAM,EAAE;UACpDjB,GAAG,CAAC4B,CAAC,CAAC,CAACI,SAAS,GAAG,IAAI;UACvB;QACF;MACF;MACA;MACA,MAAMC,UAAU,GAAGjC,GAAG,CAACkC,MAAM,CAAEC,GAAG,IAAKA,GAAG,CAAClB,KAAK,KAAK,OAAO,CAAC;MAC7D,IAAImB,YAAY,GAAG,CAAC;MACpB,KAAK,IAAIR,CAAC,GAAGK,UAAU,CAACpC,MAAM,GAAG,CAAC,EAAE+B,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;QAC/CK,UAAU,CAACL,CAAC,CAAC,CAACS,WAAW,GAAGD,YAAY;QACxCA,YAAY,IAAIL,MAAM,CAACE,UAAU,CAACL,CAAC,CAAC,CAAClB,KAAK,IAAI,CAAC,CAAC;QAChD,IAAIkB,CAAC,KAAK,CAAC,EAAE;UACXK,UAAU,CAACL,CAAC,CAAC,CAACI,SAAS,GAAG,IAAI;QAChC;MACF;IACF,CAAC,CAAC;IAEF,MAAMM,IAAI,GAAG,IAAIC,GAAG,CAAC,CAAC;IACtBtD,OAAO,CAAC2B,KAAK,GAAGW,SAAS,CAACrB,GAAG,CAAEF,GAAG,IAAK;MACrC,MAAMwC,QAAQ,GAAG,EAAE;MACnB,KAAK,MAAMrC,MAAM,IAAIH,GAAG,EAAE;QACxB,IAAI,CAACsC,IAAI,CAACG,GAAG,CAACtC,MAAM,CAACa,GAAG,CAAC,EAAE;UACzBsB,IAAI,CAACI,GAAG,CAACvC,MAAM,CAACa,GAAG,CAAC;UACpBwB,QAAQ,CAACX,IAAI,CAAC1B,MAAM,CAAC;QACvB;MACF;MACA,OAAOqC,QAAQ;IACjB,CAAC,CAAC;IACF7C,OAAO,CAACiB,KAAK,GAAGW,SAAS,CAACA,SAAS,CAAC1B,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;EACvD,CAAC,CAAC;EAEF,MAAM8C,IAAI,GAAG;IAAE1D,OAAO;IAAEU;EAAQ,CAAC;EAEjChB,OAAO,CAACU,uBAAuB,EAAEsD,IAAI,CAAC;EAEtC,OAAOA,IAAI;AACb;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMD,IAAI,GAAGjE,MAAM,CAACW,uBAAuB,CAAC;EAC5C,IAAI,CAACsD,IAAI,EAAE;IACT,MAAM,IAAIE,KAAK,CAAC,iBAAiBxD,uBAAuB,CAACyD,WAAW,EAAE,CAAC;EACzE;EACA,OAAOH,IAAI;AACb","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 { type PropType, type Ref, computed, 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,SAAkCA,QAAQ,EAAEC,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"}
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":[]}
@@ -20,7 +20,7 @@ export function useRectMeasure() {
20
20
  if (rect) {
21
21
  const obj = {};
22
22
  for (const key in rect) {
23
- if (typeof rect[key] !== "function") {
23
+ if (typeof rect[key] !== 'function') {
24
24
  obj[key] = rect[key];
25
25
  }
26
26
  }
@@ -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\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 = 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;IAEF;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,GAAGQ,EAAE,CAACC,aAAa,CAAC,mBAAmB,CAAC,IAAmBC,SAAS;IACtF;EACF,CAAC,CAAC;EAEF,OAAO;IACLZ,YAAY;IACZP,UAAU;IACVD,QAAQ;IACRE,aAAa;IACbC,WAAW;IACXC;EACF,CAAC;AACH"}
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 +1 @@
1
- {"version":3,"file":"options.js","names":["computed","watch","deepEqual","useOptions","_ref","emit","page","pageSize","sortBy","search","options","value","optionsCache","deep","immediate"],"sources":["../../../../src/components/table/composables/options.ts"],"sourcesContent":["import { type Ref, computed, watch } from 'vue';\r\n\r\nimport { deepEqual } from '@/util/common';\r\n\r\nimport { SortOption } from '../types';\r\n\r\ntype DataTableOptionsState = {\r\n page: Ref<number>;\r\n pageSize: Ref<number>;\r\n sortBy: Ref<readonly SortOption[]>;\r\n search: Ref<string | undefined>;\r\n};\r\n\r\nexport function useOptions(\r\n { page, pageSize, sortBy, search }: DataTableOptionsState,\r\n emit: Function,\r\n) {\r\n const options = computed(() => {\r\n return {\r\n page: page.value,\r\n pageSize: pageSize.value,\r\n sortBy: sortBy.value,\r\n search: search.value,\r\n };\r\n });\r\n\r\n watch(\r\n () => search?.value,\r\n () => {\r\n page.value = 1;\r\n },\r\n );\r\n\r\n let optionsCache = null as unknown;\r\n\r\n watch(\r\n options,\r\n () => {\r\n if (deepEqual(optionsCache, options.value)) {\r\n return;\r\n }\r\n emit('update:options', options.value);\r\n optionsCache = options.value;\r\n },\r\n { deep: true, immediate: true },\r\n );\r\n}\r\n"],"mappings":"AAAA,SAAmBA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAEvCC,SAAS;AAWlB,OAAO,SAASC,UAAUA,CAAAC,IAAA,EAExBC,IAAc,EACd;EAAA,IAFA;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAA8B,CAAC,GAAAL,IAAA;EAGzD,MAAMM,OAAO,GAAGV,QAAQ,CAAC,MAAM;IAC7B,OAAO;MACLM,IAAI,EAAEA,IAAI,CAACK,KAAK;MAChBJ,QAAQ,EAAEA,QAAQ,CAACI,KAAK;MACxBH,MAAM,EAAEA,MAAM,CAACG,KAAK;MACpBF,MAAM,EAAEA,MAAM,CAACE;IACjB,CAAC;EACH,CAAC,CAAC;EAEFV,KAAK,CACH,MAAMQ,MAAM,EAAEE,KAAK,EACnB,MAAM;IACJL,IAAI,CAACK,KAAK,GAAG,CAAC;EAChB,CACF,CAAC;EAED,IAAIC,YAAY,GAAG,IAAe;EAElCX,KAAK,CACHS,OAAO,EACP,MAAM;IACJ,IAAIR,SAAS,CAACU,YAAY,EAAEF,OAAO,CAACC,KAAK,CAAC,EAAE;MAC1C;IACF;IACAN,IAAI,CAAC,gBAAgB,EAAEK,OAAO,CAACC,KAAK,CAAC;IACrCC,YAAY,GAAGF,OAAO,CAACC,KAAK;EAC9B,CAAC,EACD;IAAEE,IAAI,EAAE,IAAI;IAAEC,SAAS,EAAE;EAAK,CAChC,CAAC;AACH"}
1
+ {"version":3,"file":"options.js","names":["computed","watch","deepEqual","useOptions","_ref","emit","page","pageSize","sortBy","search","options","value","optionsCache","deep","immediate"],"sources":["../../../../src/components/table/composables/options.ts"],"sourcesContent":["import { type Ref, computed, watch } from 'vue';\n\nimport { deepEqual } from '@/util/common';\n\nimport { SortOption } from '../types';\n\ntype DataTableOptionsState = {\n page: Ref<number>;\n pageSize: Ref<number>;\n sortBy: Ref<readonly SortOption[]>;\n search: Ref<string | undefined>;\n};\n\nexport function useOptions(\n { page, pageSize, sortBy, search }: DataTableOptionsState,\n emit: Function,\n) {\n const options = computed(() => {\n return {\n page: page.value,\n pageSize: pageSize.value,\n sortBy: sortBy.value,\n search: search.value,\n };\n });\n\n watch(\n () => search?.value,\n () => {\n page.value = 1;\n },\n );\n\n let optionsCache = null as unknown;\n\n watch(\n options,\n () => {\n if (deepEqual(optionsCache, options.value)) {\n return;\n }\n emit('update:options', options.value);\n optionsCache = options.value;\n },\n { deep: true, immediate: true },\n );\n}\n"],"mappings":"AAAA,SAAmBA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAEvCC,SAAS;AAWlB,OAAO,SAASC,UAAUA,CAAAC,IAAA,EAExBC,IAAc,EACd;EAAA,IAFA;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAA8B,CAAC,GAAAL,IAAA;EAGzD,MAAMM,OAAO,GAAGV,QAAQ,CAAC,MAAM;IAC7B,OAAO;MACLM,IAAI,EAAEA,IAAI,CAACK,KAAK;MAChBJ,QAAQ,EAAEA,QAAQ,CAACI,KAAK;MACxBH,MAAM,EAAEA,MAAM,CAACG,KAAK;MACpBF,MAAM,EAAEA,MAAM,CAACE;IACjB,CAAC;EACH,CAAC,CAAC;EAEFV,KAAK,CACH,MAAMQ,MAAM,EAAEE,KAAK,EACnB,MAAM;IACJL,IAAI,CAACK,KAAK,GAAG,CAAC;EAChB,CACF,CAAC;EAED,IAAIC,YAAY,GAAG,IAAe;EAElCX,KAAK,CACHS,OAAO,EACP,MAAM;IACJ,IAAIR,SAAS,CAACU,YAAY,EAAEF,OAAO,CAACC,KAAK,CAAC,EAAE;MAC1C;IACF;IACAN,IAAI,CAAC,gBAAgB,EAAEK,OAAO,CAACC,KAAK,CAAC;IACrCC,YAAY,GAAGF,OAAO,CAACC,KAAK;EAC9B,CAAC,EACD;IAAEE,IAAI,EAAE,IAAI;IAAEC,SAAS,EAAE;EAAK,CAChC,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","names":["computed","inject","provide","watch","useModelDuplex","clamp","propsFactory","Y_DATA_TABLE_PAGINATION_KEY","Symbol","for","pressDataTablePaginationProps","page","type","Number","String","default","pageSize","createPagination","props","undefined","value","providePagination","options","total","startIndex","endIndex","Math","min","pageLength","ceil","setPageSize","noReset","nextPage","prevPage","setPage","data","usePagination","Error","description","usePaginatedItems","items","paginatedItems","slice"],"sources":["../../../../src/components/table/composables/pagination.ts"],"sourcesContent":["import type { InjectionKey, PropType, Ref } from 'vue';\r\nimport { computed, inject, provide, watch } from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { clamp } from '@/util/common';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport { DataTableProvidePaginationData } from '../types';\r\n\r\nexport const Y_DATA_TABLE_PAGINATION_KEY: InjectionKey<{\r\n page: Ref<number>;\r\n pageSize: Ref<number>;\r\n startIndex: Ref<number>;\r\n endIndex: Ref<number>;\r\n pageLength: Ref<number>;\r\n total: Ref<number>;\r\n prevPage: () => void;\r\n nextPage: () => void;\r\n setPage: (page: number) => void;\r\n setPageSize: (size: number) => void;\r\n}> = Symbol.for('yuyeon.data-table.pagination');\r\n\r\nexport const pressDataTablePaginationProps = propsFactory(\r\n {\r\n page: {\r\n type: [Number, String] as PropType<number | string>,\r\n default: 1,\r\n },\r\n pageSize: {\r\n type: [Number, String] as PropType<number | string>,\r\n default: 10,\r\n },\r\n },\r\n 'YDataTable--pagination',\r\n);\r\n\r\ntype PaginationProps = {\r\n page: number | string;\r\n 'onUpdate:page': ((v: any) => void) | undefined;\r\n pageSize: number | string;\r\n 'onUpdate:pageSize': ((v: any) => void) | undefined;\r\n total?: number | string;\r\n};\r\n\r\nexport function createPagination(props: PaginationProps) {\r\n const page = useModelDuplex(\r\n props,\r\n 'page',\r\n undefined,\r\n (value) => +(value ?? 1),\r\n );\r\n const pageSize = useModelDuplex(\r\n props,\r\n 'pageSize',\r\n undefined,\r\n (value) => +(value ?? 10),\r\n );\r\n return { page, pageSize };\r\n}\r\n\r\nexport function providePagination(options: {\r\n page: Ref<number>;\r\n pageSize: Ref<number>;\r\n total: Ref<number>;\r\n}) {\r\n const { page, pageSize, total } = options;\r\n const startIndex = computed(() => {\r\n if (pageSize.value === -1) return 0;\r\n\r\n return pageSize.value * (page.value - 1);\r\n });\r\n\r\n const endIndex = computed(() => {\r\n if (pageSize.value === -1) return total.value;\r\n\r\n return Math.min(total.value, startIndex.value + pageSize.value);\r\n });\r\n\r\n const pageLength = computed(() => {\r\n if (pageSize.value === -1 || total.value === 0) return 1;\r\n\r\n return Math.ceil(total.value / pageSize.value);\r\n });\r\n\r\n watch([page, pageLength], () => {\r\n if (page.value > pageLength.value) {\r\n page.value = pageLength.value;\r\n }\r\n });\r\n\r\n function setPageSize(value: number, noReset?: boolean) {\r\n pageSize.value = value;\r\n if (!noReset) {\r\n page.value = 1;\r\n }\r\n }\r\n\r\n function nextPage() {\r\n page.value = clamp(page.value + 1, 1, pageLength.value);\r\n }\r\n\r\n function prevPage() {\r\n page.value = clamp(page.value - 1, 1, pageLength.value);\r\n }\r\n\r\n function setPage(value: number) {\r\n page.value = clamp(value, 1, pageLength.value);\r\n }\r\n\r\n const data: DataTableProvidePaginationData = {\r\n page,\r\n pageSize,\r\n startIndex,\r\n endIndex,\r\n pageLength,\r\n total,\r\n nextPage,\r\n prevPage,\r\n setPage,\r\n setPageSize,\r\n };\r\n\r\n provide(Y_DATA_TABLE_PAGINATION_KEY, data);\r\n\r\n return data;\r\n}\r\n\r\nexport function usePagination() {\r\n const data = inject(Y_DATA_TABLE_PAGINATION_KEY);\r\n if (!data) {\r\n throw new Error(`Not provided: ${Y_DATA_TABLE_PAGINATION_KEY.description}`);\r\n }\r\n return data;\r\n}\r\n\r\nexport function usePaginatedItems<T>(options: {\r\n items: Ref<readonly T[]>;\r\n startIndex: Ref<number>;\r\n endIndex: Ref<number>;\r\n pageSize: Ref<number>;\r\n}) {\r\n const { items, startIndex, endIndex, pageSize } = options;\r\n const paginatedItems = computed(() => {\r\n if (pageSize.value <= 0) return items.value;\r\n\r\n return items.value.slice(startIndex.value, endIndex.value);\r\n });\r\n\r\n return { paginatedItems };\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","names":["computed","inject","provide","watch","useModelDuplex","clamp","propsFactory","Y_DATA_TABLE_PAGINATION_KEY","Symbol","for","pressDataTablePaginationProps","page","type","Number","String","default","pageSize","createPagination","props","undefined","value","providePagination","options","total","startIndex","endIndex","Math","min","pageLength","ceil","setPageSize","noReset","nextPage","prevPage","setPage","data","usePagination","Error","description","usePaginatedItems","items","paginatedItems","slice"],"sources":["../../../../src/components/table/composables/pagination.ts"],"sourcesContent":["import type { InjectionKey, PropType, Ref } from 'vue';\nimport { computed, inject, provide, watch } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { clamp } from '@/util/common';\nimport { propsFactory } from '@/util/component';\n\nimport { DataTableProvidePaginationData } from '../types';\n\nexport const Y_DATA_TABLE_PAGINATION_KEY: InjectionKey<{\n page: Ref<number>;\n pageSize: Ref<number>;\n startIndex: Ref<number>;\n endIndex: Ref<number>;\n pageLength: Ref<number>;\n total: Ref<number>;\n prevPage: () => void;\n nextPage: () => void;\n setPage: (page: number) => void;\n setPageSize: (size: number) => void;\n}> = Symbol.for('yuyeon.data-table.pagination');\n\nexport const pressDataTablePaginationProps = propsFactory(\n {\n page: {\n type: [Number, String] as PropType<number | string>,\n default: 1,\n },\n pageSize: {\n type: [Number, String] as PropType<number | string>,\n default: 10,\n },\n },\n 'YDataTable--pagination',\n);\n\ntype PaginationProps = {\n page: number | string;\n 'onUpdate:page': ((v: any) => void) | undefined;\n pageSize: number | string;\n 'onUpdate:pageSize': ((v: any) => void) | undefined;\n total?: number | string;\n};\n\nexport function createPagination(props: PaginationProps) {\n const page = useModelDuplex(\n props,\n 'page',\n undefined,\n (value) => +(value ?? 1),\n );\n const pageSize = useModelDuplex(\n props,\n 'pageSize',\n undefined,\n (value) => +(value ?? 10),\n );\n return { page, pageSize };\n}\n\nexport function providePagination(options: {\n page: Ref<number>;\n pageSize: Ref<number>;\n total: Ref<number>;\n}) {\n const { page, pageSize, total } = options;\n const startIndex = computed(() => {\n if (pageSize.value === -1) return 0;\n\n return pageSize.value * (page.value - 1);\n });\n\n const endIndex = computed(() => {\n if (pageSize.value === -1) return total.value;\n\n return Math.min(total.value, startIndex.value + pageSize.value);\n });\n\n const pageLength = computed(() => {\n if (pageSize.value === -1 || total.value === 0) return 1;\n\n return Math.ceil(total.value / pageSize.value);\n });\n\n watch([page, pageLength], () => {\n if (page.value > pageLength.value) {\n page.value = pageLength.value;\n }\n });\n\n function setPageSize(value: number, noReset?: boolean) {\n pageSize.value = value;\n if (!noReset) {\n page.value = 1;\n }\n }\n\n function nextPage() {\n page.value = clamp(page.value + 1, 1, pageLength.value);\n }\n\n function prevPage() {\n page.value = clamp(page.value - 1, 1, pageLength.value);\n }\n\n function setPage(value: number) {\n page.value = clamp(value, 1, pageLength.value);\n }\n\n const data: DataTableProvidePaginationData = {\n page,\n pageSize,\n startIndex,\n endIndex,\n pageLength,\n total,\n nextPage,\n prevPage,\n setPage,\n setPageSize,\n };\n\n provide(Y_DATA_TABLE_PAGINATION_KEY, data);\n\n return data;\n}\n\nexport function usePagination() {\n const data = inject(Y_DATA_TABLE_PAGINATION_KEY);\n if (!data) {\n throw new Error(`Not provided: ${Y_DATA_TABLE_PAGINATION_KEY.description}`);\n }\n return data;\n}\n\nexport function usePaginatedItems<T>(options: {\n items: Ref<readonly T[]>;\n startIndex: Ref<number>;\n endIndex: Ref<number>;\n pageSize: Ref<number>;\n}) {\n const { items, startIndex, endIndex, pageSize } = options;\n const paginatedItems = computed(() => {\n if (pageSize.value <= 0) return items.value;\n\n return items.value.slice(startIndex.value, endIndex.value);\n });\n\n return { paginatedItems };\n}\n"],"mappings":"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","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}> =\n Symbol.for('y-data-table');\n"],"mappings":"AAIA,OAAO,MAAMA,kBAKX,GAAGC,MAAM,CAACC,GAAG,CAAC,SAAS,CAAC;AAE1B,OAAO,MAAMC,sBAIX,GACAF,MAAM,CAACC,GAAG,CAAC,cAAc,CAAC"}
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":[]}