yuyeon 0.2.1-rc.1 → 0.2.1-rc.11

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 (397) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +5514 -7176
  3. package/dist/yuyeon.umd.cjs +4 -26
  4. package/lib/components/alert/YAlert.mjs +2 -2
  5. package/lib/components/alert/YAlert.mjs.map +1 -1
  6. package/lib/components/alert/YAlert.scss +75 -76
  7. package/lib/components/alert/index.mjs.map +1 -1
  8. package/lib/components/app/YApp.mjs +3 -2
  9. package/lib/components/app/YApp.mjs.map +1 -1
  10. package/lib/components/app/YApp.scss +14 -14
  11. package/lib/components/app/index.mjs.map +1 -1
  12. package/lib/components/badge/YBadge.mjs +2 -2
  13. package/lib/components/badge/YBadge.mjs.map +1 -1
  14. package/lib/components/badge/YBadge.scss +76 -76
  15. package/lib/components/badge/index.mjs.map +1 -1
  16. package/lib/components/bench/YBench.mjs +2 -3
  17. package/lib/components/bench/YBench.mjs.map +1 -1
  18. package/lib/components/bench/index.mjs.map +1 -1
  19. package/lib/components/button/YButton.mjs +4 -4
  20. package/lib/components/button/YButton.mjs.map +1 -1
  21. package/lib/components/button/YButton.scss +128 -129
  22. package/lib/components/button/index.mjs.map +1 -1
  23. package/lib/components/card/YCard.mjs +3 -2
  24. package/lib/components/card/YCard.mjs.map +1 -1
  25. package/lib/components/card/YCard.scss +45 -43
  26. package/lib/components/card/YCardBody.mjs +2 -1
  27. package/lib/components/card/YCardBody.mjs.map +1 -1
  28. package/lib/components/card/YCardFooter.mjs +2 -1
  29. package/lib/components/card/YCardFooter.mjs.map +1 -1
  30. package/lib/components/card/YCardHeader.mjs +2 -1
  31. package/lib/components/card/YCardHeader.mjs.map +1 -1
  32. package/lib/components/checkbox/YCheckbox.mjs +2 -2
  33. package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
  34. package/lib/components/checkbox/YCheckbox.scss +48 -48
  35. package/lib/components/checkbox/YInputCheckbox.mjs +2 -1
  36. package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -1
  37. package/lib/components/checkbox/YInputCheckbox.scss +84 -86
  38. package/lib/components/checkbox/index.mjs +1 -1
  39. package/lib/components/checkbox/index.mjs.map +1 -1
  40. package/lib/components/chip/YChip.mjs +50 -42
  41. package/lib/components/chip/YChip.mjs.map +1 -1
  42. package/lib/components/chip/YChip.scss +6 -1
  43. package/lib/components/date-picker/YDateCalendar.mjs +3 -3
  44. package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
  45. package/lib/components/date-picker/YDateCalendar.scss +84 -82
  46. package/lib/components/date-picker/YDatePicker.mjs +2 -2
  47. package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
  48. package/lib/components/date-picker/YDatePicker.scss +3 -3
  49. package/lib/components/date-picker/YDatePickerControl.mjs +2 -2
  50. package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
  51. package/lib/components/date-picker/YDatePickerControl.scss +35 -35
  52. package/lib/components/date-picker/YMonthPicker.mjs +3 -3
  53. package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
  54. package/lib/components/date-picker/YMonthPicker.scss +25 -25
  55. package/lib/components/date-picker/YYearPicker.mjs +3 -2
  56. package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
  57. package/lib/components/date-picker/YYearPicker.scss +23 -23
  58. package/lib/components/date-picker/index.mjs.map +1 -1
  59. package/lib/components/dialog/YDialog.mjs +3 -3
  60. package/lib/components/dialog/YDialog.mjs.map +1 -1
  61. package/lib/components/dialog/YDialog.scss +50 -50
  62. package/lib/components/dialog/index.mjs.map +1 -1
  63. package/lib/components/divider/YDivider.mjs +1 -2
  64. package/lib/components/divider/YDivider.mjs.map +1 -1
  65. package/lib/components/divider/YDivider.scss +2 -3
  66. package/lib/components/divider/index.mjs.map +1 -1
  67. package/lib/components/dropdown/YDropdown.mjs +2 -2
  68. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  69. package/lib/components/dropdown/YDropdown.scss +27 -28
  70. package/lib/components/dropdown/index.mjs.map +1 -1
  71. package/lib/components/field-input/YFieldInput.mjs +2 -2
  72. package/lib/components/field-input/YFieldInput.mjs.map +1 -1
  73. package/lib/components/field-input/YFieldInput.scss +66 -66
  74. package/lib/components/field-input/index.mjs.map +1 -1
  75. package/lib/components/form/YForm.mjs +3 -2
  76. package/lib/components/form/YForm.mjs.map +1 -1
  77. package/lib/components/hover/YHover.mjs +2 -2
  78. package/lib/components/hover/YHover.mjs.map +1 -1
  79. package/lib/components/hover/index.mjs.map +1 -1
  80. package/lib/components/icon/YIcon.mjs +3 -2
  81. package/lib/components/icon/YIcon.mjs.map +1 -1
  82. package/lib/components/icon/YIcon.scss +18 -18
  83. package/lib/components/icon/index.mjs.map +1 -1
  84. package/lib/components/icons/YIconCheckbox.mjs +1 -1
  85. package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
  86. package/lib/components/icons/YIconCheckbox.scss +60 -60
  87. package/lib/components/icons/YIconClear.mjs +1 -1
  88. package/lib/components/icons/YIconClear.mjs.map +1 -1
  89. package/lib/components/icons/YIconDropdown.mjs +1 -1
  90. package/lib/components/icons/YIconDropdown.mjs.map +1 -1
  91. package/lib/components/icons/YIconExpand.mjs +1 -1
  92. package/lib/components/icons/YIconExpand.mjs.map +1 -1
  93. package/lib/components/icons/YIconPageControl.mjs +1 -1
  94. package/lib/components/icons/YIconPageControl.mjs.map +1 -1
  95. package/lib/components/icons/YIconSort.mjs +1 -1
  96. package/lib/components/icons/YIconSort.mjs.map +1 -1
  97. package/lib/components/icons/YIconSort.scss +24 -23
  98. package/lib/components/icons/index.mjs +1 -1
  99. package/lib/components/icons/index.mjs.map +1 -1
  100. package/lib/components/img/YImg.mjs +6 -7
  101. package/lib/components/img/YImg.mjs.map +1 -1
  102. package/lib/components/input/YInput.mjs +3 -4
  103. package/lib/components/input/YInput.mjs.map +1 -1
  104. package/lib/components/input/YInput.scss +258 -254
  105. package/lib/components/input/index.mjs.map +1 -1
  106. package/lib/components/ip-field/YIpField.scss +74 -74
  107. package/lib/components/ip-field/YIpv4Field.mjs +2 -2
  108. package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
  109. package/lib/components/ip-field/index.mjs.map +1 -1
  110. package/lib/components/layer/YLayer.mjs +2 -2
  111. package/lib/components/layer/YLayer.mjs.map +1 -1
  112. package/lib/components/layer/YLayer.scss +38 -38
  113. package/lib/components/layer/active-delay.mjs.map +1 -1
  114. package/lib/components/layer/active-stack.mjs.map +1 -1
  115. package/lib/components/layer/base.mjs.map +1 -1
  116. package/lib/components/layer/content.mjs.map +1 -1
  117. package/lib/components/layer/scroll-strategies.mjs +1 -1
  118. package/lib/components/layer/scroll-strategies.mjs.map +1 -1
  119. package/lib/components/list/YList.mjs +2 -2
  120. package/lib/components/list/YList.mjs.map +1 -1
  121. package/lib/components/list/YList.scss +3 -3
  122. package/lib/components/list/YListItem.mjs +2 -2
  123. package/lib/components/list/YListItem.mjs.map +1 -1
  124. package/lib/components/list/YListItem.scss +62 -62
  125. package/lib/components/list/index.mjs.map +1 -1
  126. package/lib/components/loading/YSpinnerRing.mjs +1 -1
  127. package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
  128. package/lib/components/menu/YMenu.mjs +5 -4
  129. package/lib/components/menu/YMenu.mjs.map +1 -1
  130. package/lib/components/menu/YMenu.scss +25 -22
  131. package/lib/components/menu/index.mjs.map +1 -1
  132. package/lib/components/navigation/YNavigation.mjs +2 -1
  133. package/lib/components/navigation/YNavigation.mjs.map +1 -1
  134. package/lib/components/pagination/YPagination.mjs +2 -2
  135. package/lib/components/pagination/YPagination.mjs.map +1 -1
  136. package/lib/components/pagination/YPagination.scss +52 -51
  137. package/lib/components/pagination/index.mjs.map +1 -1
  138. package/lib/components/panel/YDividePanel.mjs.map +1 -1
  139. package/lib/components/panel/YDividePanel.scss +43 -43
  140. package/lib/components/panel/index.mjs.map +1 -1
  141. package/lib/components/plate/YPlate.mjs +2 -1
  142. package/lib/components/plate/YPlate.mjs.map +1 -1
  143. package/lib/components/plate/YPlate.scss +9 -9
  144. package/lib/components/progress-bar/YProgressBar.mjs +40 -52
  145. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  146. package/lib/components/progress-bar/YProgressBar.scss +10 -4
  147. package/lib/components/select/YSelect.mjs +6 -15
  148. package/lib/components/select/YSelect.mjs.map +1 -1
  149. package/lib/components/select/YSelect.scss +43 -43
  150. package/lib/components/select/index.mjs.map +1 -1
  151. package/lib/components/slider/YSlider.mjs +26 -0
  152. package/lib/components/slider/YSlider.mjs.map +1 -0
  153. package/lib/components/slider/index.mjs +2 -0
  154. package/lib/components/slider/index.mjs.map +1 -0
  155. package/lib/components/snackbar/YSnackbar.mjs +8 -9
  156. package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
  157. package/lib/components/snackbar/YSnackbar.scss +38 -38
  158. package/lib/components/switch/YSwitch.mjs +2 -1
  159. package/lib/components/switch/YSwitch.mjs.map +1 -1
  160. package/lib/components/switch/YSwitch.scss +204 -198
  161. package/lib/components/tab/YTab.mjs +2 -3
  162. package/lib/components/tab/YTab.mjs.map +1 -1
  163. package/lib/components/tab/YTab.scss +6 -3
  164. package/lib/components/tab/YTabs.mjs +2 -2
  165. package/lib/components/tab/YTabs.mjs.map +1 -1
  166. package/lib/components/tab/YTabs.scss +8 -10
  167. package/lib/components/tab/index.mjs.map +1 -1
  168. package/lib/components/tab/types.mjs.map +1 -1
  169. package/lib/components/table/YDataTable.mjs +5 -5
  170. package/lib/components/table/YDataTable.mjs.map +1 -1
  171. package/lib/components/table/YDataTableBody.mjs +2 -2
  172. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  173. package/lib/components/table/YDataTableCell.mjs +2 -1
  174. package/lib/components/table/YDataTableCell.mjs.map +1 -1
  175. package/lib/components/table/YDataTableControl.mjs +1 -1
  176. package/lib/components/table/YDataTableControl.mjs.map +1 -1
  177. package/lib/components/table/YDataTableControl.scss +7 -7
  178. package/lib/components/table/YDataTableHead.mjs +4 -4
  179. package/lib/components/table/YDataTableHead.mjs.map +1 -1
  180. package/lib/components/table/YDataTableLayer.mjs +2 -1
  181. package/lib/components/table/YDataTableLayer.mjs.map +1 -1
  182. package/lib/components/table/YDataTableRow.mjs +2 -1
  183. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  184. package/lib/components/table/YDataTableServer.mjs +8 -7
  185. package/lib/components/table/YDataTableServer.mjs.map +1 -1
  186. package/lib/components/table/YTable.mjs +14 -19
  187. package/lib/components/table/YTable.mjs.map +1 -1
  188. package/lib/components/table/YTable.scss +157 -152
  189. package/lib/components/table/composibles/header.mjs +10 -3
  190. package/lib/components/table/composibles/header.mjs.map +1 -1
  191. package/lib/components/table/composibles/items.mjs.map +1 -1
  192. package/lib/components/table/composibles/measure.mjs +37 -0
  193. package/lib/components/table/composibles/measure.mjs.map +1 -0
  194. package/lib/components/table/composibles/options.mjs.map +1 -1
  195. package/lib/components/table/composibles/pagination.mjs.map +1 -1
  196. package/lib/components/table/composibles/selection.mjs +13 -5
  197. package/lib/components/table/composibles/selection.mjs.map +1 -1
  198. package/lib/components/table/composibles/sorted-items.mjs +1 -1
  199. package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
  200. package/lib/components/table/composibles/sorting.mjs +1 -2
  201. package/lib/components/table/composibles/sorting.mjs.map +1 -1
  202. package/lib/components/table/index.mjs.map +1 -1
  203. package/lib/components/table/types/common.mjs.map +1 -1
  204. package/lib/components/table/types/header.mjs.map +1 -1
  205. package/lib/components/table/types/index.mjs.map +1 -1
  206. package/lib/components/table/types/row.mjs.map +1 -1
  207. package/lib/components/text-ellipsis/YTextEllipsis.mjs +4 -2
  208. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
  209. package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
  210. package/lib/components/text-ellipsis/index.mjs.map +1 -1
  211. package/lib/components/text-highlighter/YTextHighlighter.mjs +2 -1
  212. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
  213. package/lib/components/text-interpolation/YTi.mjs +2 -1
  214. package/lib/components/text-interpolation/YTi.mjs.map +1 -1
  215. package/lib/components/text-interpolation/index.mjs.map +1 -1
  216. package/lib/components/textarea/YTextarea.mjs +2 -2
  217. package/lib/components/textarea/YTextarea.mjs.map +1 -1
  218. package/lib/components/textarea/YTextarea.scss +25 -25
  219. package/lib/components/textarea/index.mjs.map +1 -1
  220. package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
  221. package/lib/components/toggle-button/index.mjs.map +1 -1
  222. package/lib/components/tooltip/YTooltip.mjs +3 -3
  223. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  224. package/lib/components/tooltip/YTooltip.scss +19 -19
  225. package/lib/components/tooltip/index.mjs.map +1 -1
  226. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  227. package/lib/components/tree-view/YTreeView.mjs +1 -1
  228. package/lib/components/tree-view/YTreeView.mjs.map +1 -1
  229. package/lib/components/tree-view/YTreeView.scss +81 -79
  230. package/lib/components/tree-view/YTreeViewNode.mjs +2 -1
  231. package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
  232. package/lib/components/tree-view/index.mjs.map +1 -1
  233. package/lib/components/tree-view/types.mjs.map +1 -1
  234. package/lib/components/tree-view/util.mjs.map +1 -1
  235. package/lib/composables/choice.mjs.map +1 -1
  236. package/lib/composables/communication.mjs.map +1 -1
  237. package/lib/composables/component.mjs.map +1 -1
  238. package/lib/composables/coordinate/arrangement.mjs.map +1 -1
  239. package/lib/composables/coordinate/levitation.mjs.map +1 -1
  240. package/lib/composables/coordinate/utils/point.mjs.map +1 -1
  241. package/lib/composables/date/factory.mjs.map +1 -1
  242. package/lib/composables/date/index.mjs +1 -1
  243. package/lib/composables/date/index.mjs.map +1 -1
  244. package/lib/composables/date/setting.mjs.map +1 -1
  245. package/lib/composables/date/types.mjs.map +1 -1
  246. package/lib/composables/defaults/index.mjs +3 -3
  247. package/lib/composables/defaults/index.mjs.map +1 -1
  248. package/lib/composables/defaults/types.mjs.map +1 -1
  249. package/lib/composables/dimension.mjs +1 -1
  250. package/lib/composables/dimension.mjs.map +1 -1
  251. package/lib/composables/focus.mjs +1 -1
  252. package/lib/composables/focus.mjs.map +1 -1
  253. package/lib/composables/form.mjs.map +1 -1
  254. package/lib/composables/i18n/index.mjs.map +1 -1
  255. package/lib/composables/icon.mjs +5 -4
  256. package/lib/composables/icon.mjs.map +1 -1
  257. package/lib/composables/layer-group.mjs +1 -1
  258. package/lib/composables/layer-group.mjs.map +1 -1
  259. package/lib/composables/layout.mjs +1 -1
  260. package/lib/composables/layout.mjs.map +1 -1
  261. package/lib/composables/list-items.mjs.map +1 -1
  262. package/lib/composables/progress.mjs +7 -2
  263. package/lib/composables/progress.mjs.map +1 -1
  264. package/lib/composables/ref.mjs +1 -1
  265. package/lib/composables/ref.mjs.map +1 -1
  266. package/lib/composables/resize-observer.mjs +1 -3
  267. package/lib/composables/resize-observer.mjs.map +1 -1
  268. package/lib/composables/scope.mjs +1 -2
  269. package/lib/composables/scope.mjs.map +1 -1
  270. package/lib/composables/theme/factory.mjs.map +1 -1
  271. package/lib/composables/theme/index.mjs +1 -1
  272. package/lib/composables/theme/index.mjs.map +1 -1
  273. package/lib/composables/theme/setting.mjs.map +1 -1
  274. package/lib/composables/theme/types.mjs.map +1 -1
  275. package/lib/composables/timing.mjs +1 -1
  276. package/lib/composables/timing.mjs.map +1 -1
  277. package/lib/composables/transition.mjs +1 -1
  278. package/lib/composables/transition.mjs.map +1 -1
  279. package/lib/composables/validation.mjs +1 -1
  280. package/lib/composables/validation.mjs.map +1 -1
  281. package/lib/composables/vue-router.mjs +1 -1
  282. package/lib/composables/vue-router.mjs.map +1 -1
  283. package/lib/index.mjs +4 -4
  284. package/lib/index.mjs.map +1 -1
  285. package/lib/util/anchor.mjs.map +1 -1
  286. package/lib/util/array.mjs.map +1 -1
  287. package/lib/util/color/const.mjs +1 -1
  288. package/lib/util/color/const.mjs.map +1 -1
  289. package/lib/util/component/component.mjs +2 -1
  290. package/lib/util/component/component.mjs.map +1 -1
  291. package/lib/util/component/index.mjs +2 -1
  292. package/lib/util/component/index.mjs.map +1 -1
  293. package/lib/util/component/inject-self.mjs.map +1 -1
  294. package/lib/util/component/props.mjs +1 -1
  295. package/lib/util/component/props.mjs.map +1 -1
  296. package/lib/util/date/index.mjs.map +1 -1
  297. package/lib/util/dom.mjs.map +1 -1
  298. package/lib/util/reactivity.mjs +3 -3
  299. package/lib/util/reactivity.mjs.map +1 -1
  300. package/lib/util/rect.mjs.map +1 -1
  301. package/lib/util/ui.mjs.map +1 -1
  302. package/lib/util/validation.mjs.map +1 -1
  303. package/package.json +1 -1
  304. package/types/abstract/items.d.ts +4 -4
  305. package/types/components/app/YApp.d.ts +1 -1
  306. package/types/components/badge/YBadge.d.ts +5 -39
  307. package/types/components/bench/YBench.d.ts +1 -1
  308. package/types/components/button/YButton.d.ts +10 -69
  309. package/types/components/card/YCard.d.ts +1 -6
  310. package/types/components/card/YCardBody.d.ts +1 -1
  311. package/types/components/card/YCardFooter.d.ts +1 -1
  312. package/types/components/card/YCardHeader.d.ts +1 -1
  313. package/types/components/checkbox/YCheckbox.d.ts +1 -26
  314. package/types/components/checkbox/YInputCheckbox.d.ts +2 -26
  315. package/types/components/checkbox/index.d.ts +1 -0
  316. package/types/components/chip/YChip.d.ts +29 -25
  317. package/types/components/date-picker/YDateCalendar.d.ts +3 -31
  318. package/types/components/date-picker/YDatePicker.d.ts +13 -42
  319. package/types/components/date-picker/YDatePickerControl.d.ts +12 -44
  320. package/types/components/date-picker/YMonthPicker.d.ts +1 -5
  321. package/types/components/date-picker/YYearPicker.d.ts +1 -7
  322. package/types/components/dialog/YDialog.d.ts +72 -315
  323. package/types/components/divider/YDivider.d.ts +1 -3
  324. package/types/components/dropdown/YDropdown.d.ts +70 -243
  325. package/types/components/field-input/YFieldInput.d.ts +14 -120
  326. package/types/components/form/YForm.d.ts +2 -24
  327. package/types/components/hover/YHover.d.ts +4 -26
  328. package/types/components/icon/YIcon.d.ts +3 -18
  329. package/types/components/icons/YIconCheckbox.d.ts +1 -9
  330. package/types/components/icons/YIconClear.d.ts +1 -1
  331. package/types/components/icons/YIconDropdown.d.ts +1 -1
  332. package/types/components/icons/YIconExpand.d.ts +1 -1
  333. package/types/components/icons/YIconPageControl.d.ts +1 -8
  334. package/types/components/icons/YIconSort.d.ts +1 -10
  335. package/types/components/icons/index.d.ts +8 -46
  336. package/types/components/img/YImg.d.ts +7 -47
  337. package/types/components/input/YInput.d.ts +11 -99
  338. package/types/components/ip-field/YIpv4Field.d.ts +2 -70
  339. package/types/components/layer/YLayer.d.ts +35 -152
  340. package/types/components/layer/content.d.ts +1 -1
  341. package/types/components/layer/scroll-strategies.d.ts +1 -1
  342. package/types/components/list/YList.d.ts +1 -6
  343. package/types/components/list/YListItem.d.ts +3 -21
  344. package/types/components/loading/YSpinnerRing.d.ts +1 -1
  345. package/types/components/menu/YMenu.d.ts +17 -282
  346. package/types/components/navigation/YNavigation.d.ts +1 -1
  347. package/types/components/pagination/YPagination.d.ts +7 -47
  348. package/types/components/plate/YPlate.d.ts +1 -3
  349. package/types/components/progress-bar/YProgressBar.d.ts +3 -43
  350. package/types/components/select/YSelect.d.ts +263 -899
  351. package/types/components/slider/YSlider.d.ts +16 -0
  352. package/types/components/slider/index.d.ts +0 -0
  353. package/types/components/snackbar/YSnackbar.d.ts +43 -188
  354. package/types/components/switch/YSwitch.d.ts +1 -43
  355. package/types/components/tab/YTab.d.ts +14 -80
  356. package/types/components/tab/YTabs.d.ts +6 -39
  357. package/types/components/table/YDataTable.d.ts +35 -177
  358. package/types/components/table/YDataTableBody.d.ts +3 -26
  359. package/types/components/table/YDataTableCell.d.ts +1 -30
  360. package/types/components/table/YDataTableControl.d.ts +3 -18
  361. package/types/components/table/YDataTableHead.d.ts +3 -21
  362. package/types/components/table/YDataTableLayer.d.ts +1 -3
  363. package/types/components/table/YDataTableRow.d.ts +1 -9
  364. package/types/components/table/YDataTableServer.d.ts +38 -183
  365. package/types/components/table/YTable.d.ts +5 -24
  366. package/types/components/table/composibles/header.d.ts +9 -1
  367. package/types/components/table/composibles/items.d.ts +3 -3
  368. package/types/components/table/composibles/measure.d.ts +8 -0
  369. package/types/components/table/composibles/pagination.d.ts +3 -3
  370. package/types/components/table/composibles/selection.d.ts +13 -13
  371. package/types/components/table/composibles/sorting.d.ts +1 -1
  372. package/types/components/table/types/header.d.ts +1 -0
  373. package/types/components/table/types/index.d.ts +1 -1
  374. package/types/components/text-ellipsis/YTextEllipsis.d.ts +1 -8
  375. package/types/components/text-highlighter/YTextHighlighter.d.ts +2 -17
  376. package/types/components/text-interpolation/YTi.d.ts +1 -10
  377. package/types/components/textarea/YTextarea.d.ts +15 -111
  378. package/types/components/tooltip/YTooltip.d.ts +27 -261
  379. package/types/components/tree-view/YTreeView.d.ts +2 -2
  380. package/types/components/tree-view/YTreeViewNode.d.ts +10 -67
  381. package/types/composables/choice.d.ts +1 -1
  382. package/types/composables/coordinate/index.d.ts +6 -6
  383. package/types/composables/coordinate/utils/point.d.ts +1 -1
  384. package/types/composables/form.d.ts +2 -2
  385. package/types/composables/icon.d.ts +5 -22
  386. package/types/composables/layer-group.d.ts +1 -1
  387. package/types/composables/list-items.d.ts +10 -10
  388. package/types/composables/progress.d.ts +1 -0
  389. package/types/composables/timing.d.ts +1 -1
  390. package/types/composables/transition.d.ts +1 -1
  391. package/types/composables/validation.d.ts +3 -3
  392. package/types/composables/vue-router.d.ts +1 -1
  393. package/types/index.d.ts +1 -1
  394. package/types/util/Rect.d.ts +1 -1
  395. package/types/util/component/component.d.ts +2 -1
  396. package/types/util/component/index.d.ts +4 -4
  397. package/types/util/component/inject-self.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTable.mjs","names":["computed","defineComponent","provide","toRef","useRender","useResizeObserver","toStyleSizeValue","chooseProps","propsFactory","YDataTableBody","pressYDataTableBodyProps","YDataTableControl","YDataTableHead","pressYDataTableHeadProps","YDataTableLayer","YTable","pressYTableProps","createHeader","pressDataTableHeader","pressDataTableItemsProps","useItems","useOptions","createPagination","pressDataTablePaginationProps","providePagination","usePaginatedItems","pressDataTableSelectionProps","provideSelection","createSorting","pressDataTableSortProps","provideSorting","useSortedItems","pressDataTableProps","width","String","Number","search","YDataTable","name","props","emits","value","page","pageSize","sortBy","options","click:row","e","setup","_ref","slots","emit","multiSort","columns","headers","enableSelect","items","toggleSort","total","length","startIndex","endIndex","pageLength","setPageSize","setPage","sortedItems","paginatedItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","pageItems","resizeObservedRef","headObserveRef","contentRect","headRect","slotProps","yDataTableHeadProps","yDataTableBodyProps","yTableProps","_createVNode","_mergeProps","loading","hideNoData","height","top","leading","_Fragment","default","thead","tbody","tfoot","trailing","bottom","prepend","append"],"sources":["../../../src/components/table/YDataTable.tsx"],"sourcesContent":["import { PropType, computed, defineComponent, provide, toRef } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { useResizeObserver } from '../../composables/resize-observer';\r\nimport { toStyleSizeValue } from '../../util';\r\nimport { chooseProps, propsFactory } from '../../util/component';\r\nimport { YDataTableBody, pressYDataTableBodyProps } from './YDataTableBody';\r\nimport { YDataTableControl } from './YDataTableControl';\r\nimport { YDataTableHead, pressYDataTableHeadProps } from './YDataTableHead';\r\nimport { YDataTableLayer } from './YDataTableLayer';\r\nimport { YTable, pressYTableProps } from './YTable';\r\nimport { createHeader, pressDataTableHeader } from './composibles/header';\r\nimport { pressDataTableItemsProps, useItems } from './composibles/items';\r\nimport { useOptions } from './composibles/options';\r\nimport {\r\n createPagination,\r\n pressDataTablePaginationProps,\r\n providePagination,\r\n usePaginatedItems,\r\n} from './composibles/pagination';\r\nimport {\r\n pressDataTableSelectionProps,\r\n provideSelection,\r\n} from './composibles/selection';\r\nimport {\r\n createSorting,\r\n pressDataTableSortProps,\r\n provideSorting,\r\n} from './composibles/sorting';\r\nimport { YDataTableSlotProps } from './types';\r\nimport { useSortedItems } from './composibles/sorted-items';\r\n\r\nexport const pressDataTableProps = propsFactory(\r\n {\r\n ...pressYDataTableBodyProps(),\r\n width: [String, Number] as PropType<string | number>,\r\n search: String as PropType<string>,\r\n ...pressDataTableHeader(),\r\n ...pressDataTableItemsProps(),\r\n ...pressDataTableSortProps(),\r\n ...pressDataTableSelectionProps(),\r\n ...pressYDataTableHeadProps(),\r\n ...pressYTableProps(),\r\n },\r\n 'DataTable',\r\n);\r\n\r\nexport const YDataTable = defineComponent({\r\n name: 'YDataTable',\r\n props: {\r\n ...pressDataTablePaginationProps(),\r\n ...pressDataTableProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: any[]) => true,\r\n 'update:page': (page: number) => true,\r\n 'update:pageSize': (pageSize: number) => true,\r\n 'update:sortBy': (sortBy: any) => true,\r\n 'update:options': (options: any) => true,\r\n 'click:row': (e: Event, value: { row: any }) => true,\r\n 'scroll': (e: Event) => true,\r\n },\r\n setup(props, { slots, emit }) {\r\n const { page, pageSize } = createPagination(props);\r\n const { sortBy, multiSort } = createSorting(props);\r\n const { columns, headers } = createHeader(props, {\r\n enableSelect: toRef(props, 'enableSelect'),\r\n });\r\n const { items } = useItems(props, columns);\r\n const { toggleSort } = provideSorting({ sortBy, multiSort, page });\r\n const total = computed(() => items.value.length);\r\n const { startIndex, endIndex, pageLength, setPageSize, setPage } =\r\n providePagination({\r\n page,\r\n pageSize,\r\n total,\r\n });\r\n const { sortedItems } = useSortedItems(props, items, sortBy);\r\n const { paginatedItems } = usePaginatedItems({\r\n items: sortedItems,\r\n startIndex,\r\n endIndex,\r\n pageSize,\r\n });\r\n const {\r\n isSelected,\r\n select,\r\n selectAll,\r\n toggleSelect,\r\n someSelected,\r\n allSelected,\r\n } = provideSelection(props, { allItems: items, pageItems: items });\r\n\r\n const { resizeObservedRef: headObserveRef, contentRect: headRect } =\r\n useResizeObserver();\r\n\r\n useOptions(\r\n {\r\n page,\r\n pageSize,\r\n search: toRef(props, 'search'),\r\n sortBy,\r\n },\r\n emit,\r\n );\r\n\r\n provide('y-data-table', {\r\n toggleSort,\r\n sortBy,\r\n headRect,\r\n });\r\n\r\n const slotProps = computed<YDataTableSlotProps>(() => {\r\n return {\r\n // pagination\r\n page: page.value,\r\n pageSize: pageSize.value,\r\n pageLength: pageLength.value,\r\n setPageSize,\r\n setPage,\r\n // sorting\r\n sortBy: sortBy.value,\r\n toggleSort,\r\n // selection\r\n someSelected: someSelected.value,\r\n allSelected: allSelected.value,\r\n isSelected,\r\n select,\r\n selectAll,\r\n toggleSelect,\r\n //\r\n items: items.value,\r\n columns: columns.value,\r\n headers: headers.value,\r\n };\r\n });\r\n\r\n useRender(() => {\r\n const yDataTableHeadProps = chooseProps(props, YDataTableHead.props);\r\n const yDataTableBodyProps = chooseProps(props, YDataTableBody.props);\r\n const yTableProps = chooseProps(props, YTable.props);\r\n return (\r\n <YTable\r\n class={[\r\n 'y-data-table',\r\n {\r\n 'y-data-table--no-data':\r\n !props.loading && props.items.length < 1 && !props.hideNoData,\r\n },\r\n ]}\r\n {...yTableProps}\r\n style={{\r\n '--y-table-head-height': toStyleSizeValue(headRect.value?.height),\r\n }}\r\n >\r\n {{\r\n top: () => slots.top?.(slotProps.value),\r\n leading: () =>\r\n slots.leading ? (\r\n slots.leading(slotProps.value)\r\n ) : (\r\n <>\r\n <YDataTableLayer\r\n v-slots={slots}\r\n slot-props={slotProps.value}\r\n ></YDataTableLayer>\r\n </>\r\n ),\r\n default: () =>\r\n slots.default ? (\r\n slots.default(slotProps.value)\r\n ) : (\r\n <>\r\n <thead ref={headObserveRef}>\r\n <YDataTableHead\r\n v-slots={slots}\r\n {...yDataTableHeadProps}\r\n ></YDataTableHead>\r\n </thead>\r\n {slots.thead?.(slotProps.value)}\r\n <tbody>\r\n <YDataTableBody\r\n v-slots={slots}\r\n {...yDataTableBodyProps}\r\n items={paginatedItems.value}\r\n ></YDataTableBody>\r\n </tbody>\r\n {slots.tbody?.(slotProps.value)}\r\n {slots.tfoot?.(slotProps.value)}\r\n </>\r\n ),\r\n trailing: () => slots.trailing?.(slotProps.value),\r\n bottom: () =>\r\n slots.bottom ? (\r\n slots.bottom(slotProps.value)\r\n ) : (\r\n <YDataTableControl\r\n v-slots={{\r\n prepend: slots['control.prepend'],\r\n append: slots['control.append'],\r\n }}\r\n ></YDataTableControl>\r\n ),\r\n }}\r\n </YTable>\r\n );\r\n });\r\n return { paginatedItems };\r\n },\r\n});\r\n\r\nexport type YDataTable = InstanceType<typeof YDataTable>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDataTable.mjs","names":["computed","provide","toRef","useRender","useResizeObserver","chooseProps","defineComponent","propsFactory","toStyleSizeValue","YDataTableBody","pressYDataTableBodyProps","YDataTableControl","YDataTableHead","pressYDataTableHeadProps","YDataTableLayer","YTable","pressYTableProps","createHeader","pressDataTableHeader","pressDataTableItemsProps","useItems","useOptions","createPagination","pressDataTablePaginationProps","providePagination","usePaginatedItems","pressDataTableSelectionProps","provideSelection","useSortedItems","createSorting","pressDataTableSortProps","provideSorting","pressDataTableProps","width","String","Number","search","YDataTable","name","props","emits","value","page","pageSize","sortBy","options","click:row","e","scroll","setup","_ref","slots","emit","multiSort","columns","headers","enableSelect","items","toggleSort","total","length","startIndex","endIndex","pageLength","setPageSize","setPage","sortedItems","paginatedItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","pageItems","resizeObservedRef","headObserveRef","contentRect","headRect","slotProps","yDataTableHeadProps","yDataTableBodyProps","yTableProps","_createVNode","_mergeProps","loading","hideNoData","height","top","leading","_Fragment","default","thead","tbody","tfoot","trailing","bottom","prepend","append"],"sources":["../../../src/components/table/YDataTable.tsx"],"sourcesContent":["import { type PropType, computed, provide, toRef } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { useResizeObserver } from '@/composables/resize-observer';\nimport { chooseProps, defineComponent, propsFactory } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport { YDataTableBody, pressYDataTableBodyProps } from './YDataTableBody';\nimport { YDataTableControl } from './YDataTableControl';\nimport { YDataTableHead, pressYDataTableHeadProps } from './YDataTableHead';\nimport { YDataTableLayer } from './YDataTableLayer';\nimport { YTable, pressYTableProps } from './YTable';\nimport { createHeader, pressDataTableHeader } from './composibles/header';\nimport { pressDataTableItemsProps, useItems } from './composibles/items';\nimport { useOptions } from './composibles/options';\nimport {\n createPagination,\n pressDataTablePaginationProps,\n providePagination,\n usePaginatedItems,\n} from './composibles/pagination';\nimport {\n pressDataTableSelectionProps,\n provideSelection,\n} from './composibles/selection';\nimport { useSortedItems } from './composibles/sorted-items';\nimport {\n createSorting,\n pressDataTableSortProps,\n provideSorting,\n} from './composibles/sorting';\nimport { YDataTableSlotProps } from './types';\n\nexport const pressDataTableProps = propsFactory(\n {\n ...pressYDataTableBodyProps(),\n width: [String, Number] as PropType<string | number>,\n search: String as PropType<string>,\n ...pressDataTableHeader(),\n ...pressDataTableItemsProps(),\n ...pressDataTableSortProps(),\n ...pressDataTableSelectionProps(),\n ...pressYDataTableHeadProps(),\n ...pressYTableProps(),\n },\n 'DataTable',\n);\n\nexport const YDataTable = defineComponent({\n name: 'YDataTable',\n props: {\n ...pressDataTablePaginationProps(),\n ...pressDataTableProps(),\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 'click:row': (e: Event, value: { row: any }) => true,\n scroll: (e: Event) => true,\n },\n setup(props, { slots, emit }) {\n const { page, pageSize } = createPagination(props);\n const { sortBy, multiSort } = createSorting(props);\n const { columns, headers } = createHeader(props, {\n enableSelect: toRef(props, 'enableSelect'),\n });\n const { items } = useItems(props, columns);\n const { toggleSort } = provideSorting({ sortBy, multiSort, page });\n const total = computed(() => items.value.length);\n const { startIndex, endIndex, pageLength, setPageSize, setPage } =\n providePagination({\n page,\n pageSize,\n total,\n });\n const { sortedItems } = useSortedItems(props, items, sortBy);\n const { paginatedItems } = usePaginatedItems({\n items: sortedItems,\n startIndex,\n endIndex,\n pageSize,\n });\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect,\n someSelected,\n allSelected,\n } = provideSelection(props, { allItems: items, pageItems: items });\n\n const { resizeObservedRef: headObserveRef, contentRect: headRect } =\n useResizeObserver();\n\n useOptions(\n {\n page,\n pageSize,\n search: toRef(props, 'search'),\n sortBy,\n },\n emit,\n );\n\n provide('y-data-table', {\n toggleSort,\n sortBy,\n headRect,\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 // selection\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n //\n items: items.value,\n columns: columns.value,\n headers: headers.value,\n };\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 <>\n <YDataTableLayer\n v-slots={slots}\n slot-props={slotProps.value}\n ></YDataTableLayer>\n </>\n ),\n default: () =>\n slots.default ? (\n slots.default(slotProps.value)\n ) : (\n <>\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 v-slots={slots}\n {...yDataTableBodyProps}\n items={paginatedItems.value}\n ></YDataTableBody>\n </tbody>\n {slots.tbody?.(slotProps.value)}\n {slots.tfoot?.(slotProps.value)}\n </>\n ),\n trailing: () => slots.trailing?.(slotProps.value),\n bottom: () =>\n slots.bottom ? (\n slots.bottom(slotProps.value)\n ) : (\n <YDataTableControl\n v-slots={{\n prepend: slots['control.prepend'],\n append: slots['control.append'],\n }}\n ></YDataTableControl>\n ),\n }}\n </YTable>\n );\n });\n return { paginatedItems };\n },\n});\n\nexport type YDataTable = InstanceType<typeof YDataTable>;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from "vue";
2
- import { defineComponent, mergeProps } from 'vue';
2
+ import { mergeProps } from 'vue';
3
3
  import { useRender } from "../../composables/component.mjs";
4
- import { propsFactory } from "../../util/component/index.mjs";
4
+ import { defineComponent, propsFactory } from "../../util/component/index.mjs";
5
5
  import { YDataTableRow } from "./YDataTableRow.mjs";
6
6
  import { useHeader } from "./composibles/header.mjs";
7
7
  import { useSelection } from "./composibles/selection.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableBody.mjs","names":["defineComponent","mergeProps","useRender","propsFactory","YDataTableRow","useHeader","useSelection","pressYDataTableBodyProps","items","type","Array","default","loading","Boolean","String","loadingText","hideNoData","noDataText","rowProps","Function","Object","rowHeight","Number","YDataTableBody","name","props","emits","setup","_ref","slots","emit","columns","isSelected","toggleSelect","_createVNode","value","length","_Fragment","body","map","item","index","stateProps","raw","internalItem","slotProps","key","onClick","event","undefined","onDblclick","onContextmenu"],"sources":["../../../src/components/table/YDataTableBody.tsx"],"sourcesContent":["import { PropType, defineComponent, mergeProps } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { propsFactory } from '../../util/component';\r\nimport { YDataTableRow } from './YDataTableRow';\r\nimport { useHeader } from './composibles/header';\r\nimport { useSelection } from './composibles/selection';\r\nimport { DataTableItem, RowProps } from './types';\r\n\r\nexport const pressYDataTableBodyProps = propsFactory(\r\n {\r\n items: {\r\n type: Array as PropType<readonly DataTableItem[]>,\r\n default: () => [],\r\n },\r\n loading: [Boolean, String],\r\n loadingText: String,\r\n hideNoData: Boolean,\r\n noDataText: {\r\n type: String,\r\n default: '',\r\n },\r\n rowProps: [Function, Object] as PropType<RowProps<any>>,\r\n rowHeight: Number,\r\n 'onClick:row': Function as PropType<(e: Event, value: any) => void>,\r\n 'onDblclick:row': Function as PropType<(e: Event, value: any) => void>,\r\n 'onContextmenu:row': Function as PropType<(e: Event, value: any) => void>,\r\n },\r\n 'YDataTableBody',\r\n);\r\n\r\nexport const YDataTableBody = defineComponent({\r\n name: 'YDataTableBody',\r\n props: {\r\n ...pressYDataTableBodyProps(),\r\n },\r\n emits: ['click:row'],\r\n setup(props, { slots, emit }) {\r\n const { columns } = useHeader();\r\n const { isSelected, toggleSelect } = useSelection();\r\n\r\n useRender(() => {\r\n if (props.loading) {\r\n return (\r\n <tr>\r\n <td colspan={columns.value.length} class={'y-data-table__loading'}>\r\n {slots.loading ? slots.loading() : <div>{props.loadingText}</div>}\r\n </td>\r\n </tr>\r\n );\r\n }\r\n if (!props.loading && props.items.length < 1 && !props.hideNoData) {\r\n return (\r\n <tr key=\"no-data\" class=\"y-data-table__no-data\">\r\n <td colspan={columns.value.length}>\r\n {slots['no-data']?.() ?? props.noDataText}\r\n </td>\r\n </tr>\r\n );\r\n }\r\n return (\r\n <>\r\n {slots.body\r\n ? slots.body?.(props)\r\n : props.items.map((item, index) => {\r\n const stateProps = {\r\n index,\r\n item: item.raw,\r\n internalItem: item,\r\n columns: columns.value,\r\n isSelected,\r\n toggleSelect,\r\n };\r\n const slotProps = {\r\n ...stateProps,\r\n props: mergeProps(\r\n {\r\n key: `item__${item.key ?? item.index}`,\r\n item,\r\n onClick: props['onClick:row']\r\n ? (event: Event) => {\r\n props['onClick:row']?.(event, { ...stateProps });\r\n }\r\n : undefined,\r\n onDblclick: props['onDblclick:row']\r\n ? (event: Event) => {\r\n props['onDblclick:row']?.(event, { ...stateProps });\r\n }\r\n : undefined,\r\n onContextmenu: props['onContextmenu:row']\r\n ? (event: Event) => {\r\n props['onContextmenu:row']?.(event, {\r\n ...stateProps,\r\n });\r\n }\r\n : undefined,\r\n index,\r\n },\r\n typeof props.rowProps === 'function'\r\n ? props.rowProps({\r\n item: stateProps.item,\r\n index: stateProps.index,\r\n internalItem: stateProps.internalItem,\r\n })\r\n : props.rowProps,\r\n ),\r\n };\r\n return (\r\n <>\r\n {slots.item ? (\r\n slots.item(slotProps)\r\n ) : (\r\n <YDataTableRow\r\n v-slots={slots}\r\n {...slotProps.props}\r\n ></YDataTableRow>\r\n )}\r\n </>\r\n );\r\n })}\r\n </>\r\n );\r\n });\r\n\r\n // end\r\n return {};\r\n },\r\n});\r\n\r\nexport type YDataTableBody = InstanceType<typeof YDataTableBody>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDataTableBody.mjs","names":["mergeProps","useRender","defineComponent","propsFactory","YDataTableRow","useHeader","useSelection","pressYDataTableBodyProps","items","type","Array","default","loading","Boolean","String","loadingText","hideNoData","noDataText","rowProps","Function","Object","rowHeight","Number","YDataTableBody","name","props","emits","setup","_ref","slots","emit","columns","isSelected","toggleSelect","_createVNode","value","length","_Fragment","body","map","item","index","stateProps","raw","internalItem","slotProps","key","onClick","event","undefined","onDblclick","onContextmenu"],"sources":["../../../src/components/table/YDataTableBody.tsx"],"sourcesContent":["import { type PropType, mergeProps } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport { YDataTableRow } from './YDataTableRow';\nimport { useHeader } from './composibles/header';\nimport { useSelection } from './composibles/selection';\nimport { DataTableItem, RowProps } from './types';\n\nexport const pressYDataTableBodyProps = propsFactory(\n {\n items: {\n type: Array as PropType<readonly DataTableItem[]>,\n default: () => [],\n },\n loading: [Boolean, String],\n loadingText: String,\n hideNoData: Boolean,\n noDataText: {\n type: String,\n default: '',\n },\n rowProps: [Function, Object] as PropType<RowProps<any>>,\n rowHeight: Number,\n 'onClick:row': Function as PropType<(e: Event, value: any) => void>,\n 'onDblclick:row': Function as PropType<(e: Event, value: any) => void>,\n 'onContextmenu:row': Function as PropType<(e: Event, value: any) => void>,\n },\n 'YDataTableBody',\n);\n\nexport const YDataTableBody = defineComponent({\n name: 'YDataTableBody',\n props: {\n ...pressYDataTableBodyProps(),\n },\n emits: ['click:row'],\n setup(props, { slots, emit }) {\n const { columns } = useHeader();\n const { isSelected, toggleSelect } = useSelection();\n\n useRender(() => {\n if (props.loading) {\n return (\n <tr>\n <td colspan={columns.value.length} class={'y-data-table__loading'}>\n {slots.loading ? slots.loading() : <div>{props.loadingText}</div>}\n </td>\n </tr>\n );\n }\n if (!props.loading && props.items.length < 1 && !props.hideNoData) {\n return (\n <tr key=\"no-data\" class=\"y-data-table__no-data\">\n <td colspan={columns.value.length}>\n {slots['no-data']?.() ?? props.noDataText}\n </td>\n </tr>\n );\n }\n return (\n <>\n {slots.body\n ? slots.body?.(props)\n : props.items.map((item, index) => {\n const stateProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isSelected,\n toggleSelect,\n };\n const slotProps = {\n ...stateProps,\n props: mergeProps(\n {\n key: `item__${item.key ?? item.index}`,\n item,\n onClick: props['onClick:row']\n ? (event: Event) => {\n props['onClick:row']?.(event, { ...stateProps });\n }\n : undefined,\n onDblclick: props['onDblclick:row']\n ? (event: Event) => {\n props['onDblclick:row']?.(event, { ...stateProps });\n }\n : undefined,\n onContextmenu: props['onContextmenu:row']\n ? (event: Event) => {\n props['onContextmenu:row']?.(event, {\n ...stateProps,\n });\n }\n : undefined,\n index,\n },\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: stateProps.item,\n index: stateProps.index,\n internalItem: stateProps.internalItem,\n })\n : props.rowProps,\n ),\n };\n return (\n <>\n {slots.item ? (\n slots.item(slotProps)\n ) : (\n <YDataTableRow\n v-slots={slots}\n {...slotProps.props}\n ></YDataTableRow>\n )}\n </>\n );\n })}\n </>\n );\n });\n\n // end\n return {};\n },\n});\n\nexport type YDataTableBody = InstanceType<typeof YDataTableBody>;\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
- import { computed, defineComponent } from 'vue';
2
+ import { computed } from 'vue';
3
3
  import { useRender } from "../../composables/component.mjs";
4
+ import { defineComponent } from "../../util/component/index.mjs";
4
5
  import { toStyleSizeValue } from "../../util/ui.mjs";
5
6
  export const YDataTableCell = defineComponent({
6
7
  name: 'YDataTableCell',
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableCell.mjs","names":["computed","defineComponent","useRender","toStyleSizeValue","YDataTableCell","name","functional","props","type","String","default","fixed","fixedOffset","Number","width","maxWidth","height","align","emits","setup","_ref","slots","emit","attrs","offsetStyle","ret","undefined","ElTag","_createVNode","_mergeProps","value","e"],"sources":["../../../src/components/table/YDataTableCell.tsx"],"sourcesContent":["import { CSSProperties, PropType, computed, defineComponent } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { toStyleSizeValue } from '../../util/ui';\r\n\r\nexport const YDataTableCell = defineComponent({\r\n name: 'YDataTableCell',\r\n functional: true,\r\n props: {\r\n type: {\r\n type: String as PropType<'head' | 'data'>,\r\n default: 'data',\r\n },\r\n fixed: {\r\n type: String as PropType<'lead' | 'last'>,\r\n },\r\n fixedOffset: {\r\n type: Number as PropType<number>,\r\n },\r\n width: {\r\n type: [Number, String] as PropType<string | number>,\r\n },\r\n maxWidth: {\r\n type: [Number, String] as PropType<string | number>,\r\n },\r\n height: {\r\n type: [Number, String] as PropType<string | number>,\r\n },\r\n align: {\r\n type: String as PropType<'start' | 'center' | 'end'>,\r\n default: 'start',\r\n },\r\n },\r\n emits: ['click'],\r\n setup(props, { slots, emit, attrs }) {\r\n const offsetStyle = computed(() => {\r\n const ret: CSSProperties = {};\r\n if (props.fixed && props.fixedOffset !== undefined) {\r\n if (props.fixed === 'lead') {\r\n ret['left'] = toStyleSizeValue(props.fixedOffset);\r\n } else if (props.fixed === 'last') {\r\n ret['left'] = toStyleSizeValue(props.fixedOffset);\r\n }\r\n }\r\n return ret;\r\n });\r\n\r\n useRender(() => {\r\n const ElTag = props.type === 'head' ? 'th' : 'td';\r\n return (\r\n <ElTag\r\n class={[\r\n `y-data-table__${ElTag}`,\r\n 'y-data-table-cell',\r\n {\r\n 'y-data-table-cell--fixed': props.fixed,\r\n [`y-data-table-cell--fixed-${props.fixed}`]: props.fixed,\r\n [`y-data-table-cell--align-${props.align}`]: props.align,\r\n },\r\n ]}\r\n style={{\r\n width: toStyleSizeValue(props.width),\r\n height: toStyleSizeValue(props.height),\r\n maxWidth: toStyleSizeValue(props.maxWidth),\r\n ...offsetStyle.value,\r\n }}\r\n {...attrs}\r\n onClick={(e) => emit('click', e)}\r\n >\r\n {slots.default?.()}\r\n </ElTag>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableCell = InstanceType<typeof YDataTableCell>;\r\n"],"mappings":";AAAA,SAAkCA,QAAQ,EAAEC,eAAe,QAAQ,KAAK;AAAC,SAEhEC,SAAS;AAAA,SACTC,gBAAgB;AAEzB,OAAO,MAAMC,cAAc,GAAGH,eAAe,CAAC;EAC5CI,IAAI,EAAE,gBAAgB;EACtBC,UAAU,EAAE,IAAI;EAChBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJA,IAAI,EAAEC,MAAmC;MACzCC,OAAO,EAAE;IACX,CAAC;IACDC,KAAK,EAAE;MACLH,IAAI,EAAEC;IACR,CAAC;IACDG,WAAW,EAAE;MACXJ,IAAI,EAAEK;IACR,CAAC;IACDC,KAAK,EAAE;MACLN,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDM,QAAQ,EAAE;MACRP,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDO,MAAM,EAAE;MACNR,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDQ,KAAK,EAAE;MACLT,IAAI,EAAEC,MAA8C;MACpDC,OAAO,EAAE;IACX;EACF,CAAC;EACDQ,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,KAAKA,CAACZ,KAAK,EAAAa,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IACjC,MAAMI,WAAW,GAAGxB,QAAQ,CAAC,MAAM;MACjC,MAAMyB,GAAkB,GAAG,CAAC,CAAC;MAC7B,IAAIlB,KAAK,CAACI,KAAK,IAAIJ,KAAK,CAACK,WAAW,KAAKc,SAAS,EAAE;QAClD,IAAInB,KAAK,CAACI,KAAK,KAAK,MAAM,EAAE;UAC1Bc,GAAG,CAAC,MAAM,CAAC,GAAGtB,gBAAgB,CAACI,KAAK,CAACK,WAAW,CAAC;QACnD,CAAC,MAAM,IAAIL,KAAK,CAACI,KAAK,KAAK,MAAM,EAAE;UACjCc,GAAG,CAAC,MAAM,CAAC,GAAGtB,gBAAgB,CAACI,KAAK,CAACK,WAAW,CAAC;QACnD;MACF;MACA,OAAOa,GAAG;IACZ,CAAC,CAAC;IAEFvB,SAAS,CAAC,MAAM;MACd,MAAMyB,KAAK,GAAGpB,KAAK,CAACC,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI;MACjD,OAAAoB,YAAA,CAAAD,KAAA,EAAAE,WAAA;QAAA,SAEW,CACJ,iBAAgBF,KAAM,EAAC,EACxB,mBAAmB,EACnB;UACE,0BAA0B,EAAEpB,KAAK,CAACI,KAAK;UACvC,CAAE,4BAA2BJ,KAAK,CAACI,KAAM,EAAC,GAAGJ,KAAK,CAACI,KAAK;UACxD,CAAE,4BAA2BJ,KAAK,CAACU,KAAM,EAAC,GAAGV,KAAK,CAACU;QACrD,CAAC,CACF;QAAA,SACM;UACLH,KAAK,EAAEX,gBAAgB,CAACI,KAAK,CAACO,KAAK,CAAC;UACpCE,MAAM,EAAEb,gBAAgB,CAACI,KAAK,CAACS,MAAM,CAAC;UACtCD,QAAQ,EAAEZ,gBAAgB,CAACI,KAAK,CAACQ,QAAQ,CAAC;UAC1C,GAAGS,WAAW,CAACM;QACjB;MAAC,GACGP,KAAK;QAAA,WACCQ,CAAC,IAAKT,IAAI,CAAC,OAAO,EAAES,CAAC;MAAC;QAAArB,OAAA,EAAAA,CAAA,MAE/BW,KAAK,CAACX,OAAO,GAAG,CAAC;MAAA;IAGxB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTableCell.mjs","names":["computed","useRender","defineComponent","toStyleSizeValue","YDataTableCell","name","functional","props","type","String","default","fixed","fixedOffset","Number","width","maxWidth","height","align","emits","setup","_ref","slots","emit","attrs","offsetStyle","ret","undefined","ElTag","_createVNode","_mergeProps","value","e"],"sources":["../../../src/components/table/YDataTableCell.tsx"],"sourcesContent":["import { type CSSProperties, type PropType, computed } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nexport const YDataTableCell = defineComponent({\n name: 'YDataTableCell',\n functional: true,\n props: {\n type: {\n type: String as PropType<'head' | 'data'>,\n default: 'data',\n },\n fixed: {\n type: String as PropType<'lead' | 'last'>,\n },\n fixedOffset: {\n type: Number as PropType<number>,\n },\n width: {\n type: [Number, String] as PropType<string | number>,\n },\n maxWidth: {\n type: [Number, String] as PropType<string | number>,\n },\n height: {\n type: [Number, String] as PropType<string | number>,\n },\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'start',\n },\n },\n emits: ['click'],\n setup(props, { slots, emit, attrs }) {\n const offsetStyle = computed(() => {\n const ret: CSSProperties = {};\n if (props.fixed && props.fixedOffset !== undefined) {\n if (props.fixed === 'lead') {\n ret['left'] = toStyleSizeValue(props.fixedOffset);\n } else if (props.fixed === 'last') {\n ret['left'] = toStyleSizeValue(props.fixedOffset);\n }\n }\n return ret;\n });\n\n useRender(() => {\n const ElTag = props.type === 'head' ? 'th' : 'td';\n return (\n <ElTag\n class={[\n `y-data-table__${ElTag}`,\n 'y-data-table-cell',\n {\n 'y-data-table-cell--fixed': props.fixed,\n [`y-data-table-cell--fixed-${props.fixed}`]: props.fixed,\n [`y-data-table-cell--align-${props.align}`]: props.align,\n },\n ]}\n style={{\n width: toStyleSizeValue(props.width),\n height: toStyleSizeValue(props.height),\n maxWidth: toStyleSizeValue(props.maxWidth),\n ...offsetStyle.value,\n }}\n {...attrs}\n onClick={(e) => emit('click', e)}\n >\n {slots.default?.()}\n </ElTag>\n );\n });\n },\n});\n\nexport type YDataTableCell = InstanceType<typeof YDataTableCell>;\n"],"mappings":";AAAA,SAA4CA,QAAQ,QAAQ,KAAK;AAAC,SAEzDC,SAAS;AAAA,SACTC,eAAe;AAAA,SACfC,gBAAgB;AAEzB,OAAO,MAAMC,cAAc,GAAGF,eAAe,CAAC;EAC5CG,IAAI,EAAE,gBAAgB;EACtBC,UAAU,EAAE,IAAI;EAChBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJA,IAAI,EAAEC,MAAmC;MACzCC,OAAO,EAAE;IACX,CAAC;IACDC,KAAK,EAAE;MACLH,IAAI,EAAEC;IACR,CAAC;IACDG,WAAW,EAAE;MACXJ,IAAI,EAAEK;IACR,CAAC;IACDC,KAAK,EAAE;MACLN,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDM,QAAQ,EAAE;MACRP,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDO,MAAM,EAAE;MACNR,IAAI,EAAE,CAACK,MAAM,EAAEJ,MAAM;IACvB,CAAC;IACDQ,KAAK,EAAE;MACLT,IAAI,EAAEC,MAA8C;MACpDC,OAAO,EAAE;IACX;EACF,CAAC;EACDQ,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,KAAKA,CAACZ,KAAK,EAAAa,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IACjC,MAAMI,WAAW,GAAGxB,QAAQ,CAAC,MAAM;MACjC,MAAMyB,GAAkB,GAAG,CAAC,CAAC;MAC7B,IAAIlB,KAAK,CAACI,KAAK,IAAIJ,KAAK,CAACK,WAAW,KAAKc,SAAS,EAAE;QAClD,IAAInB,KAAK,CAACI,KAAK,KAAK,MAAM,EAAE;UAC1Bc,GAAG,CAAC,MAAM,CAAC,GAAGtB,gBAAgB,CAACI,KAAK,CAACK,WAAW,CAAC;QACnD,CAAC,MAAM,IAAIL,KAAK,CAACI,KAAK,KAAK,MAAM,EAAE;UACjCc,GAAG,CAAC,MAAM,CAAC,GAAGtB,gBAAgB,CAACI,KAAK,CAACK,WAAW,CAAC;QACnD;MACF;MACA,OAAOa,GAAG;IACZ,CAAC,CAAC;IAEFxB,SAAS,CAAC,MAAM;MACd,MAAM0B,KAAK,GAAGpB,KAAK,CAACC,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI;MACjD,OAAAoB,YAAA,CAAAD,KAAA,EAAAE,WAAA;QAAA,SAEW,CACJ,iBAAgBF,KAAM,EAAC,EACxB,mBAAmB,EACnB;UACE,0BAA0B,EAAEpB,KAAK,CAACI,KAAK;UACvC,CAAE,4BAA2BJ,KAAK,CAACI,KAAM,EAAC,GAAGJ,KAAK,CAACI,KAAK;UACxD,CAAE,4BAA2BJ,KAAK,CAACU,KAAM,EAAC,GAAGV,KAAK,CAACU;QACrD,CAAC,CACF;QAAA,SACM;UACLH,KAAK,EAAEX,gBAAgB,CAACI,KAAK,CAACO,KAAK,CAAC;UACpCE,MAAM,EAAEb,gBAAgB,CAACI,KAAK,CAACS,MAAM,CAAC;UACtCD,QAAQ,EAAEZ,gBAAgB,CAACI,KAAK,CAACQ,QAAQ,CAAC;UAC1C,GAAGS,WAAW,CAACM;QACjB;MAAC,GACGP,KAAK;QAAA,WACCQ,CAAC,IAAKT,IAAI,CAAC,OAAO,EAAES,CAAC;MAAC;QAAArB,OAAA,EAAAA,CAAA,MAE/BW,KAAK,CAACX,OAAO,GAAG,CAAC;MAAA;IAGxB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { defineComponent } from 'vue';
3
2
  import { useRender } from "../../composables/component.mjs";
4
3
  import { propsFactory } from "../../util/index.mjs";
4
+ import { defineComponent } from "../../util/component/index.mjs";
5
5
  import { YButton } from "../button/index.mjs";
6
6
  import { YFieldInput } from "../field-input/index.mjs";
7
7
  import { YIconExpand, YIconPageControl } from "../icons/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableControl.mjs","names":["defineComponent","useRender","propsFactory","YButton","YFieldInput","YIconExpand","YIconPageControl","YPagination","pressDataTablePaginationProps","pressYDataTableControlPropsOptions","pageLength","Number","setPageSize","Function","setPage","YDataTableControl","name","components","props","setup","_ref","slots","_createVNode","prepend","default","_Fragment","page","append"],"sources":["../../../src/components/table/YDataTableControl.tsx"],"sourcesContent":["import { PropType, defineComponent } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { propsFactory } from '../../util';\nimport { YButton } from '../button';\nimport { YFieldInput } from '../field-input';\nimport { YIconExpand, YIconPageControl } from '../icons';\nimport { YPagination } from '../pagination';\nimport { pressDataTablePaginationProps } from './composibles/pagination';\n\nimport './YDataTableControl.scss';\n\nexport const pressYDataTableControlPropsOptions = propsFactory(\n {\n pageLength: Number as PropType<number>,\n setPageSize: Function as PropType<(pageSize: number) => void>,\n setPage: Function as PropType<(page: number) => void>,\n ...pressDataTablePaginationProps(),\n },\n 'YDataTableControl',\n);\n\nexport const YDataTableControl = defineComponent({\n name: 'YDataTableControl',\n components: {\n YButton,\n YIconExpand,\n YFieldInput,\n YIconPageControl,\n },\n props: pressYDataTableControlPropsOptions(),\n setup(props, { slots }) {\n useRender(() => {\n return (\n <footer class={['y-data-table-control']}>\n {slots.prepend?.(props)}\n {slots.default ? (\n slots.default()\n ) : (\n <>\n <div class=\"y-data-table-control__start\"></div>\n <div class=\"y-data-table-control__end\">\n <YPagination\n model-value={props.page}\n onUpdate:modelValue={props.setPage}\n length={props.pageLength}\n totalVisible={0}\n ></YPagination>\n </div>\n </>\n )}\n {slots.append?.(props)}\n </footer>\n );\n });\n },\n});\n\nexport type YDataTableControl = InstanceType<typeof YDataTableControl>;\n"],"mappings":";AAAA,SAAmBA,eAAe,QAAQ,KAAK;AAAC,SAEvCC,SAAS;AAAA,SACTC,YAAY;AAAA,SACZC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,WAAW,EAAEC,gBAAgB;AAAA,SAC7BC,WAAW;AAAA,SACXC,6BAA6B;AAEtC;AAEA,OAAO,MAAMC,kCAAkC,GAAGP,YAAY,CAC5D;EACEQ,UAAU,EAAEC,MAA0B;EACtCC,WAAW,EAAEC,QAAgD;EAC7DC,OAAO,EAAED,QAA4C;EACrD,GAAGL,6BAA6B,CAAC;AACnC,CAAC,EACD,mBACF,CAAC;AAED,OAAO,MAAMO,iBAAiB,GAAGf,eAAe,CAAC;EAC/CgB,IAAI,EAAE,mBAAmB;EACzBC,UAAU,EAAE;IACVd,OAAO;IACPE,WAAW;IACXD,WAAW;IACXE;EACF,CAAC;EACDY,KAAK,EAAET,kCAAkC,CAAC,CAAC;EAC3CU,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpBnB,SAAS,CAAC,MAAM;MACd,OAAAqB,YAAA;QAAA,SACiB,CAAC,sBAAsB;MAAC,IACpCD,KAAK,CAACE,OAAO,GAAGL,KAAK,CAAC,EACtBG,KAAK,CAACG,OAAO,GACZH,KAAK,CAACG,OAAO,CAAC,CAAC,GAAAF,YAAA,CAAAG,SAAA,SAAAH,YAAA;QAAA;MAAA,UAAAA,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAAf,WAAA;QAAA,eAMIW,KAAK,CAACQ,IAAI;QAAA,uBACFR,KAAK,CAACJ,OAAO;QAAA,UAC1BI,KAAK,CAACR,UAAU;QAAA,gBACV;MAAC,YAItB,EACAW,KAAK,CAACM,MAAM,GAAGT,KAAK,CAAC;IAG5B,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTableControl.mjs","names":["useRender","propsFactory","defineComponent","YButton","YFieldInput","YIconExpand","YIconPageControl","YPagination","pressDataTablePaginationProps","pressYDataTableControlPropsOptions","pageLength","Number","setPageSize","Function","setPage","YDataTableControl","name","components","props","setup","_ref","slots","_createVNode","prepend","default","_Fragment","page","append"],"sources":["../../../src/components/table/YDataTableControl.tsx"],"sourcesContent":["import { type PropType } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { propsFactory } from '@/util';\nimport { defineComponent } from '@/util/component';\n\nimport { YButton } from '../button';\nimport { YFieldInput } from '../field-input';\nimport { YIconExpand, YIconPageControl } from '../icons';\nimport { YPagination } from '../pagination';\nimport { pressDataTablePaginationProps } from './composibles/pagination';\n\nimport './YDataTableControl.scss';\n\nexport const pressYDataTableControlPropsOptions = propsFactory(\n {\n pageLength: Number as PropType<number>,\n setPageSize: Function as PropType<(pageSize: number) => void>,\n setPage: Function as PropType<(page: number) => void>,\n ...pressDataTablePaginationProps(),\n },\n 'YDataTableControl',\n);\n\nexport const YDataTableControl = defineComponent({\n name: 'YDataTableControl',\n components: {\n YButton,\n YIconExpand,\n YFieldInput,\n YIconPageControl,\n },\n props: pressYDataTableControlPropsOptions(),\n setup(props, { slots }) {\n useRender(() => {\n return (\n <footer class={['y-data-table-control']}>\n {slots.prepend?.(props)}\n {slots.default ? (\n slots.default()\n ) : (\n <>\n <div class=\"y-data-table-control__start\"></div>\n <div class=\"y-data-table-control__end\">\n <YPagination\n model-value={props.page}\n onUpdate:modelValue={props.setPage}\n length={props.pageLength}\n totalVisible={0}\n ></YPagination>\n </div>\n </>\n )}\n {slots.append?.(props)}\n </footer>\n );\n });\n },\n});\n\nexport type YDataTableControl = InstanceType<typeof YDataTableControl>;\n"],"mappings":";SAESA,SAAS;AAAA,SACTC,YAAY;AAAA,SACZC,eAAe;AAAA,SAEfC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,WAAW,EAAEC,gBAAgB;AAAA,SAC7BC,WAAW;AAAA,SACXC,6BAA6B;AAEtC;AAEA,OAAO,MAAMC,kCAAkC,GAAGR,YAAY,CAC5D;EACES,UAAU,EAAEC,MAA0B;EACtCC,WAAW,EAAEC,QAAgD;EAC7DC,OAAO,EAAED,QAA4C;EACrD,GAAGL,6BAA6B,CAAC;AACnC,CAAC,EACD,mBACF,CAAC;AAED,OAAO,MAAMO,iBAAiB,GAAGb,eAAe,CAAC;EAC/Cc,IAAI,EAAE,mBAAmB;EACzBC,UAAU,EAAE;IACVd,OAAO;IACPE,WAAW;IACXD,WAAW;IACXE;EACF,CAAC;EACDY,KAAK,EAAET,kCAAkC,CAAC,CAAC;EAC3CU,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpBpB,SAAS,CAAC,MAAM;MACd,OAAAsB,YAAA;QAAA,SACiB,CAAC,sBAAsB;MAAC,IACpCD,KAAK,CAACE,OAAO,GAAGL,KAAK,CAAC,EACtBG,KAAK,CAACG,OAAO,GACZH,KAAK,CAACG,OAAO,CAAC,CAAC,GAAAF,YAAA,CAAAG,SAAA,SAAAH,YAAA;QAAA;MAAA,UAAAA,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAAf,WAAA;QAAA,eAMIW,KAAK,CAACQ,IAAI;QAAA,uBACFR,KAAK,CAACJ,OAAO;QAAA,UAC1BI,KAAK,CAACR,UAAU;QAAA,gBACV;MAAC,YAItB,EACAW,KAAK,CAACM,MAAM,GAAGT,KAAK,CAAC;IAG5B,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- .y-data-table-control {
2
- display: flex;
3
- align-items: center;
4
- justify-content: space-between;
5
- padding: 8px 16px;
6
- gap: 8px;
7
- }
1
+ .y-data-table-control {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: space-between;
5
+ padding: 8px 16px;
6
+ gap: 8px;
7
+ }
@@ -1,14 +1,14 @@
1
1
  import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
- import { defineComponent } from 'vue';
3
2
  import { useRender } from "../../composables/component.mjs";
3
+ import { wrapInArray } from "../../util/index.mjs";
4
+ import { defineComponent, propsFactory } from "../../util/component/index.mjs";
4
5
  import { toStyleSizeValue } from "../../util/ui.mjs";
5
- import { propsFactory } from "../../util/component/index.mjs";
6
+ import { YIconCheckbox } from "../icons/YIconCheckbox.mjs";
6
7
  import { YIconSort } from "../icons/YIconSort.mjs";
7
8
  import { YDataTableCell } from "./YDataTableCell.mjs";
8
9
  import { useHeader } from "./composibles/header.mjs";
9
10
  import { useSelection } from "./composibles/selection.mjs";
10
11
  import { useSorting } from "./composibles/sorting.mjs";
11
- import { YIconCheckbox } from "../icons/index.mjs";
12
12
  export const pressYDataTableHeadProps = propsFactory({
13
13
  multiSort: Boolean,
14
14
  sortAscIcon: {
@@ -88,7 +88,7 @@ export const YDataTableHead = defineComponent({
88
88
  'y-data-table-header--sortable': column.sortable,
89
89
  'y-data-table-header--sorted': isSorted(column),
90
90
  'y-data-table-header--select': column.key === 'data-table-select'
91
- }],
91
+ }, ...wrapInArray(column.headerClasses ?? [])],
92
92
  "style": {
93
93
  width: toStyleSizeValue(column.width),
94
94
  minWidth: toStyleSizeValue(column.width),
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableHead.mjs","names":["defineComponent","useRender","toStyleSizeValue","propsFactory","YIconSort","YDataTableCell","useHeader","useSelection","useSorting","YIconCheckbox","pressYDataTableHeadProps","multiSort","Boolean","sortAscIcon","type","String","default","sortDescIcon","dualSortIcon","sticky","YDataTableHead","name","components","props","setup","_ref","slots","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","selectables","columns","headers","getFixedStyles","column","y","fixed","undefined","position","zIndex","left","fixedOffset","top","onClick","e","getSortDirection","found","value","find","by","key","order","YDataTableTh","_ref2","x","_createVNode","_mergeProps","align","lastFixed","sortable","width","minWidth","maxWidth","rowspan","colspan","headerSlotName","headerSlotProps","length","stopPropagation","text","_Fragment","head","map","row"],"sources":["../../../src/components/table/YDataTableHead.tsx"],"sourcesContent":["import { CSSProperties, defineComponent } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { toStyleSizeValue } from '../../util/ui';\r\nimport { propsFactory } from '../../util/component';\r\nimport { YIconSort } from '../icons/YIconSort';\r\nimport { YDataTableCell } from './YDataTableCell';\r\nimport { useHeader } from './composibles/header';\r\nimport { useSelection } from './composibles/selection';\r\nimport { useSorting } from './composibles/sorting';\r\n\r\nimport { YIconCheckbox } from '../icons';\r\nimport { InternalDataTableHeader } from './types';\r\n\r\nexport const pressYDataTableHeadProps = propsFactory(\r\n {\r\n multiSort: Boolean,\r\n sortAscIcon: {\r\n type: String,\r\n default: '@sortAsc',\r\n },\r\n sortDescIcon: {\r\n type: String,\r\n default: '@sortDesc',\r\n },\r\n dualSortIcon: Boolean,\r\n sticky: Boolean,\r\n },\r\n 'YDataTableHead',\r\n);\r\n\r\nexport const YDataTableHead = defineComponent({\r\n name: 'YDataTableHead',\r\n components: {\r\n YDataTableCell,\r\n },\r\n props: {\r\n ...pressYDataTableHeadProps(),\r\n },\r\n setup(props, { slots }) {\r\n const { toggleSort, sortBy, isSorted } = useSorting();\r\n const { someSelected, allSelected, selectAll, showSelectAll, selectables } =\r\n useSelection();\r\n const { columns, headers } = useHeader();\r\n\r\n const getFixedStyles = (\r\n column: InternalDataTableHeader,\r\n y: number,\r\n ): CSSProperties | undefined => {\r\n if (!props.sticky && !column.fixed) return undefined;\r\n\r\n return {\r\n position: 'sticky',\r\n zIndex: column.fixed ? 4 : props.sticky ? 3 : undefined,\r\n left: column.fixed ? toStyleSizeValue(column.fixedOffset) : undefined,\r\n top: props.sticky\r\n ? `calc(var(--v-table-header-height) * ${y})`\r\n : undefined,\r\n };\r\n };\r\n\r\n function onClick(e: Event) {\r\n //\r\n }\r\n\r\n function getSortDirection(column: InternalDataTableHeader) {\r\n const found = sortBy.value.find((by) => by.key === column.key);\r\n if (!found) {\r\n return undefined;\r\n }\r\n if (found.order === 'asc') {\r\n return 'asc';\r\n }\r\n if (found.order === 'desc') {\r\n return 'desc';\r\n }\r\n }\r\n\r\n const YDataTableTh = ({\r\n column,\r\n x,\r\n y,\r\n }: {\r\n column: InternalDataTableHeader;\r\n x: number;\r\n y: number;\r\n }) => {\r\n return (\r\n <YDataTableCell\r\n type=\"head\"\r\n align={column.align}\r\n fixed={\r\n column.fixed ? (column.lastFixed ? 'last' : 'lead') : undefined\r\n }\r\n class={[\r\n 'y-data-table-header',\r\n {\r\n 'y-data-table-header--sortable': column.sortable,\r\n 'y-data-table-header--sorted': isSorted(column),\r\n 'y-data-table-header--select': column.key === 'data-table-select',\r\n },\r\n ]}\r\n style={{\r\n width: toStyleSizeValue(column.width),\r\n minWidth: toStyleSizeValue(column.width),\r\n maxWidth: toStyleSizeValue(column.maxWidth),\r\n ...getFixedStyles(column, y),\r\n }}\r\n {...{ rowspan: column.rowspan, colspan: column.colspan }}\r\n onClick={onClick}\r\n >\r\n {{\r\n default: () => {\r\n const headerSlotName = `header.${column.key}` as const;\r\n const headerSlotProps = {\r\n column,\r\n selectAll,\r\n isSorted,\r\n toggleSort,\r\n sortBy: sortBy.value,\r\n someSelected: someSelected.value,\r\n allSelected: allSelected.value,\r\n selectables: selectables.value,\r\n getSortDirection,\r\n };\r\n\r\n if (slots[headerSlotName]) {\r\n return slots[headerSlotName]?.(headerSlotProps);\r\n }\r\n\r\n if (column.key === 'data-table-select') {\r\n return (\r\n slots['header.data-table-select']?.(headerSlotProps) ??\r\n (showSelectAll && (\r\n <YIconCheckbox\r\n checked={allSelected.value}\r\n indeterminate={!allSelected.value && someSelected.value}\r\n disabled={selectables.value.length < 1}\r\n {...{\r\n onClick: (e: MouseEvent) => {\r\n e.stopPropagation();\r\n selectAll(!allSelected.value);\r\n },\r\n }}\r\n ></YIconCheckbox>\r\n ))\r\n );\r\n }\r\n\r\n return (\r\n <div class=\"y-data-table-header__content\">\r\n <span class=\"y-data-table-header__text\">{column.text}</span>\r\n <span\r\n class={[\r\n 'y-data-table-header__sorting-icon',\r\n {\r\n 'y-data-table-header__sorting-icon--disabled':\r\n !column.sortable,\r\n },\r\n ]}\r\n onClick={\r\n column.sortable\r\n ? (e) => {\r\n e.stopPropagation();\r\n toggleSort(column);\r\n }\r\n : undefined\r\n }\r\n >\r\n <YIconSort\r\n disabled={!column.sortable}\r\n direction={getSortDirection(column)}\r\n ></YIconSort>\r\n </span>\r\n </div>\r\n );\r\n },\r\n }}\r\n </YDataTableCell>\r\n );\r\n };\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n {slots.head\r\n ? slots.head?.(props)\r\n : headers.value.map((row, y) => (\r\n <tr>\r\n {row.map((column, x) => (\r\n <YDataTableTh column={column} x={x} y={y} />\r\n ))}\r\n </tr>\r\n ))}\r\n </>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableHead = InstanceType<typeof YDataTableHead>;\r\n"],"mappings":";AAAA,SAAwBA,eAAe,QAAQ,KAAK;AAAC,SAE5CC,SAAS;AAAA,SACTC,gBAAgB;AAAA,SAChBC,YAAY;AAAA,SACZC,SAAS;AAAA,SACTC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,YAAY;AAAA,SACZC,UAAU;AAAA,SAEVC,aAAa;AAGtB,OAAO,MAAMC,wBAAwB,GAAGP,YAAY,CAClD;EACEQ,SAAS,EAAEC,OAAO;EAClBC,WAAW,EAAE;IACXC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAE;IACZH,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDE,YAAY,EAAEN,OAAO;EACrBO,MAAM,EAAEP;AACV,CAAC,EACD,gBACF,CAAC;AAED,OAAO,MAAMQ,cAAc,GAAGpB,eAAe,CAAC;EAC5CqB,IAAI,EAAE,gBAAgB;EACtBC,UAAU,EAAE;IACVjB;EACF,CAAC;EACDkB,KAAK,EAAE;IACL,GAAGb,wBAAwB,CAAC;EAC9B,CAAC;EACDc,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAM;MAAEE,UAAU;MAAEC,MAAM;MAAEC;IAAS,CAAC,GAAGrB,UAAU,CAAC,CAAC;IACrD,MAAM;MAAEsB,YAAY;MAAEC,WAAW;MAAEC,SAAS;MAAEC,aAAa;MAAEC;IAAY,CAAC,GACxE3B,YAAY,CAAC,CAAC;IAChB,MAAM;MAAE4B,OAAO;MAAEC;IAAQ,CAAC,GAAG9B,SAAS,CAAC,CAAC;IAExC,MAAM+B,cAAc,GAAGA,CACrBC,MAA+B,EAC/BC,CAAS,KACqB;MAC9B,IAAI,CAAChB,KAAK,CAACJ,MAAM,IAAI,CAACmB,MAAM,CAACE,KAAK,EAAE,OAAOC,SAAS;MAEpD,OAAO;QACLC,QAAQ,EAAE,QAAQ;QAClBC,MAAM,EAAEL,MAAM,CAACE,KAAK,GAAG,CAAC,GAAGjB,KAAK,CAACJ,MAAM,GAAG,CAAC,GAAGsB,SAAS;QACvDG,IAAI,EAAEN,MAAM,CAACE,KAAK,GAAGtC,gBAAgB,CAACoC,MAAM,CAACO,WAAW,CAAC,GAAGJ,SAAS;QACrEK,GAAG,EAAEvB,KAAK,CAACJ,MAAM,GACZ,uCAAsCoB,CAAE,GAAE,GAC3CE;MACN,CAAC;IACH,CAAC;IAED,SAASM,OAAOA,CAACC,CAAQ,EAAE;MACzB;IAAA;IAGF,SAASC,gBAAgBA,CAACX,MAA+B,EAAE;MACzD,MAAMY,KAAK,GAAGtB,MAAM,CAACuB,KAAK,CAACC,IAAI,CAAEC,EAAE,IAAKA,EAAE,CAACC,GAAG,KAAKhB,MAAM,CAACgB,GAAG,CAAC;MAC9D,IAAI,CAACJ,KAAK,EAAE;QACV,OAAOT,SAAS;MAClB;MACA,IAAIS,KAAK,CAACK,KAAK,KAAK,KAAK,EAAE;QACzB,OAAO,KAAK;MACd;MACA,IAAIL,KAAK,CAACK,KAAK,KAAK,MAAM,EAAE;QAC1B,OAAO,MAAM;MACf;IACF;IAEA,MAAMC,YAAY,GAAGC,KAAA,IAQf;MAAA,IARgB;QACpBnB,MAAM;QACNoB,CAAC;QACDnB;MAKF,CAAC,GAAAkB,KAAA;MACC,OAAAE,YAAA,CAAAtD,cAAA,EAAAuD,WAAA;QAAA;QAAA,SAGWtB,MAAM,CAACuB,KAAK;QAAA,SAEjBvB,MAAM,CAACE,KAAK,GAAIF,MAAM,CAACwB,SAAS,GAAG,MAAM,GAAG,MAAM,GAAIrB,SAAS;QAAA,SAE1D,CACL,qBAAqB,EACrB;UACE,+BAA+B,EAAEH,MAAM,CAACyB,QAAQ;UAChD,6BAA6B,EAAElC,QAAQ,CAACS,MAAM,CAAC;UAC/C,6BAA6B,EAAEA,MAAM,CAACgB,GAAG,KAAK;QAChD,CAAC,CACF;QAAA,SACM;UACLU,KAAK,EAAE9D,gBAAgB,CAACoC,MAAM,CAAC0B,KAAK,CAAC;UACrCC,QAAQ,EAAE/D,gBAAgB,CAACoC,MAAM,CAAC0B,KAAK,CAAC;UACxCE,QAAQ,EAAEhE,gBAAgB,CAACoC,MAAM,CAAC4B,QAAQ,CAAC;UAC3C,GAAG7B,cAAc,CAACC,MAAM,EAAEC,CAAC;QAC7B;MAAC;QACK4B,OAAO,EAAE7B,MAAM,CAAC6B,OAAO;QAAEC,OAAO,EAAE9B,MAAM,CAAC8B;MAAO;QAAA,WAC7CrB;MAAO;QAGd/B,OAAO,EAAEA,CAAA,KAAM;UACb,MAAMqD,cAAc,GAAI,UAAS/B,MAAM,CAACgB,GAAI,EAAU;UACtD,MAAMgB,eAAe,GAAG;YACtBhC,MAAM;YACNN,SAAS;YACTH,QAAQ;YACRF,UAAU;YACVC,MAAM,EAAEA,MAAM,CAACuB,KAAK;YACpBrB,YAAY,EAAEA,YAAY,CAACqB,KAAK;YAChCpB,WAAW,EAAEA,WAAW,CAACoB,KAAK;YAC9BjB,WAAW,EAAEA,WAAW,CAACiB,KAAK;YAC9BF;UACF,CAAC;UAED,IAAIvB,KAAK,CAAC2C,cAAc,CAAC,EAAE;YACzB,OAAO3C,KAAK,CAAC2C,cAAc,CAAC,GAAGC,eAAe,CAAC;UACjD;UAEA,IAAIhC,MAAM,CAACgB,GAAG,KAAK,mBAAmB,EAAE;YACtC,OACE5B,KAAK,CAAC,0BAA0B,CAAC,GAAG4C,eAAe,CAAC,KACnDrC,aAAa,IAAA0B,YAAA,CAAAlD,aAAA,EAAAmD,WAAA;cAAA,WAED7B,WAAW,CAACoB,KAAK;cAAA,iBACX,CAACpB,WAAW,CAACoB,KAAK,IAAIrB,YAAY,CAACqB,KAAK;cAAA,YAC7CjB,WAAW,CAACiB,KAAK,CAACoB,MAAM,GAAG;YAAC;cAEpCxB,OAAO,EAAGC,CAAa,IAAK;gBAC1BA,CAAC,CAACwB,eAAe,CAAC,CAAC;gBACnBxC,SAAS,CAAC,CAACD,WAAW,CAACoB,KAAK,CAAC;cAC/B;YAAC,SAGN,CAAC;UAEN;UAEA,OAAAQ,YAAA;YAAA;UAAA,IAAAA,YAAA;YAAA;UAAA,IAE6CrB,MAAM,CAACmC,IAAI,IAAAd,YAAA;YAAA,SAE3C,CACL,mCAAmC,EACnC;cACE,6CAA6C,EAC3C,CAACrB,MAAM,CAACyB;YACZ,CAAC,CACF;YAAA,WAECzB,MAAM,CAACyB,QAAQ,GACVf,CAAC,IAAK;cACLA,CAAC,CAACwB,eAAe,CAAC,CAAC;cACnB7C,UAAU,CAACW,MAAM,CAAC;YACpB,CAAC,GACDG;UAAS,IAAAkB,YAAA,CAAAvD,SAAA;YAAA,YAIH,CAACkC,MAAM,CAACyB,QAAQ;YAAA,aACfd,gBAAgB,CAACX,MAAM;UAAC;QAK7C;MAAC;IAIT,CAAC;IAEDrC,SAAS,CAAC,MAAM;MACd,OAAA0D,YAAA,CAAAe,SAAA,SAEKhD,KAAK,CAACiD,IAAI,GACPjD,KAAK,CAACiD,IAAI,GAAGpD,KAAK,CAAC,GACnBa,OAAO,CAACe,KAAK,CAACyB,GAAG,CAAC,CAACC,GAAG,EAAEtC,CAAC,KAAAoB,YAAA,cAEpBkB,GAAG,CAACD,GAAG,CAAC,CAACtC,MAAM,EAAEoB,CAAC,KAAAC,YAAA,CAAAH,YAAA;QAAA,UACKlB,MAAM;QAAA,KAAKoB,CAAC;QAAA,KAAKnB;MAAC,QACzC,CAAC,EAEL,CAAC;IAGZ,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTableHead.mjs","names":["useRender","wrapInArray","defineComponent","propsFactory","toStyleSizeValue","YIconCheckbox","YIconSort","YDataTableCell","useHeader","useSelection","useSorting","pressYDataTableHeadProps","multiSort","Boolean","sortAscIcon","type","String","default","sortDescIcon","dualSortIcon","sticky","YDataTableHead","name","components","props","setup","_ref","slots","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","selectables","columns","headers","getFixedStyles","column","y","fixed","undefined","position","zIndex","left","fixedOffset","top","onClick","e","getSortDirection","found","value","find","by","key","order","YDataTableTh","_ref2","x","_createVNode","_mergeProps","align","lastFixed","sortable","headerClasses","width","minWidth","maxWidth","rowspan","colspan","headerSlotName","headerSlotProps","length","stopPropagation","text","_Fragment","head","map","row"],"sources":["../../../src/components/table/YDataTableHead.tsx"],"sourcesContent":["import { type CSSProperties } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { wrapInArray } from '@/util';\nimport { defineComponent, propsFactory } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport { YIconCheckbox } from '../icons/YIconCheckbox';\nimport { YIconSort } from '../icons/YIconSort';\nimport { YDataTableCell } from './YDataTableCell';\nimport { useHeader } from './composibles/header';\nimport { useSelection } from './composibles/selection';\nimport { useSorting } from './composibles/sorting';\nimport { InternalDataTableHeader } from './types';\n\nexport const pressYDataTableHeadProps = propsFactory(\n {\n multiSort: Boolean,\n sortAscIcon: {\n type: String,\n default: '@sortAsc',\n },\n sortDescIcon: {\n type: String,\n default: '@sortDesc',\n },\n dualSortIcon: Boolean,\n sticky: Boolean,\n },\n 'YDataTableHead',\n);\n\nexport const YDataTableHead = defineComponent({\n name: 'YDataTableHead',\n components: {\n YDataTableCell,\n },\n props: {\n ...pressYDataTableHeadProps(),\n },\n setup(props, { slots }) {\n const { toggleSort, sortBy, isSorted } = useSorting();\n const { someSelected, allSelected, selectAll, showSelectAll, selectables } =\n useSelection();\n const { columns, headers } = useHeader();\n\n const getFixedStyles = (\n column: InternalDataTableHeader,\n y: number,\n ): CSSProperties | undefined => {\n if (!props.sticky && !column.fixed) return undefined;\n\n return {\n position: 'sticky',\n zIndex: column.fixed ? 4 : props.sticky ? 3 : undefined,\n left: column.fixed ? toStyleSizeValue(column.fixedOffset) : undefined,\n top: props.sticky\n ? `calc(var(--v-table-header-height) * ${y})`\n : undefined,\n };\n };\n\n function onClick(e: Event) {\n //\n }\n\n function getSortDirection(column: InternalDataTableHeader) {\n const found = sortBy.value.find((by) => by.key === column.key);\n if (!found) {\n return undefined;\n }\n if (found.order === 'asc') {\n return 'asc';\n }\n if (found.order === 'desc') {\n return 'desc';\n }\n }\n\n const YDataTableTh = ({\n column,\n x,\n y,\n }: {\n column: InternalDataTableHeader;\n x: number;\n y: number;\n }) => {\n return (\n <YDataTableCell\n type=\"head\"\n align={column.align}\n fixed={\n column.fixed ? (column.lastFixed ? 'last' : 'lead') : undefined\n }\n class={[\n 'y-data-table-header',\n {\n 'y-data-table-header--sortable': column.sortable,\n 'y-data-table-header--sorted': isSorted(column),\n 'y-data-table-header--select': column.key === 'data-table-select',\n },\n ...wrapInArray(column.headerClasses ?? []),\n ]}\n style={{\n width: toStyleSizeValue(column.width),\n minWidth: toStyleSizeValue(column.width),\n maxWidth: toStyleSizeValue(column.maxWidth),\n ...getFixedStyles(column, y),\n }}\n {...{ rowspan: column.rowspan, colspan: column.colspan }}\n onClick={onClick}\n >\n {{\n default: () => {\n const headerSlotName = `header.${column.key}` as const;\n const headerSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectables: selectables.value,\n getSortDirection,\n };\n\n if (slots[headerSlotName]) {\n return slots[headerSlotName]?.(headerSlotProps);\n }\n\n if (column.key === 'data-table-select') {\n return (\n slots['header.data-table-select']?.(headerSlotProps) ??\n (showSelectAll && (\n <YIconCheckbox\n checked={allSelected.value}\n indeterminate={!allSelected.value && someSelected.value}\n disabled={selectables.value.length < 1}\n {...{\n onClick: (e: MouseEvent) => {\n e.stopPropagation();\n selectAll(!allSelected.value);\n },\n }}\n ></YIconCheckbox>\n ))\n );\n }\n\n return (\n <div class=\"y-data-table-header__content\">\n <span class=\"y-data-table-header__text\">{column.text}</span>\n <span\n class={[\n 'y-data-table-header__sorting-icon',\n {\n 'y-data-table-header__sorting-icon--disabled':\n !column.sortable,\n },\n ]}\n onClick={\n column.sortable\n ? (e) => {\n e.stopPropagation();\n toggleSort(column);\n }\n : undefined\n }\n >\n <YIconSort\n disabled={!column.sortable}\n direction={getSortDirection(column)}\n ></YIconSort>\n </span>\n </div>\n );\n },\n }}\n </YDataTableCell>\n );\n };\n\n useRender(() => {\n return (\n <>\n {slots.head\n ? slots.head?.(props)\n : headers.value.map((row, y) => (\n <tr>\n {row.map((column, x) => (\n <YDataTableTh column={column} x={x} y={y} />\n ))}\n </tr>\n ))}\n </>\n );\n });\n },\n});\n\nexport type YDataTableHead = InstanceType<typeof YDataTableHead>;\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { defineComponent, inject } from 'vue';
2
+ import { inject } from 'vue';
3
3
  import { useRender } from "../../composables/component.mjs";
4
+ import { defineComponent } from "../../util/component/index.mjs";
4
5
  export const YDataTableLayer = defineComponent({
5
6
  name: 'YDataTableLayer',
6
7
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableLayer.mjs","names":["defineComponent","inject","useRender","YDataTableLayer","name","props","slotProps","Object","setup","_ref","slots","YTableWire","_createVNode","layer","_Fragment"],"sources":["../../../src/components/table/YDataTableLayer.tsx"],"sourcesContent":["import { defineComponent, inject } from 'vue';\nimport type { PropType, Ref } from 'vue';\n\nimport { useRender } from '../../composables/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<{ containerRect: Ref<DOMRect> }>('YTable');\n\n useRender(() => {\n return (\n <div class={['y-data-table-layer']}>\n {slots.layer ? (\n slots.layer?.(props.slotProps)\n ) : (\n <>\n <div class={['y-data-table-layer__head']}>\n {slots['layer-head']?.(props.slotProps)}\n </div>\n <div class={['y-data-table-layer__body']}>\n {slots['layer-body']?.(props.slotProps)}\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,SAASA,eAAe,EAAEC,MAAM,QAAQ,KAAK;AAAC,SAGrCC,SAAS;AAElB,OAAO,MAAMC,eAAe,GAAGH,eAAe,CAAC;EAC7CI,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,GAAGV,MAAM,CAAkC,QAAQ,CAAC;IAEpEC,SAAS,CAAC,MAAM;MACd,OAAAU,YAAA;QAAA,SACc,CAAC,oBAAoB;MAAC,IAC/BF,KAAK,CAACG,KAAK,GACVH,KAAK,CAACG,KAAK,GAAGR,KAAK,CAACC,SAAS,CAAC,GAAAM,YAAA,CAAAE,SAAA,SAAAF,YAAA;QAAA,SAGhB,CAAC,0BAA0B;MAAC,IACrCF,KAAK,CAAC,YAAY,CAAC,GAAGL,KAAK,CAACC,SAAS,CAAC,IAAAM,YAAA;QAAA,SAE7B,CAAC,0BAA0B;MAAC,IACrCF,KAAK,CAAC,YAAY,CAAC,GAAGL,KAAK,CAACC,SAAS,CAAC,IAG5C;IAGP,CAAC,CAAC;IAEF,OAAO;MACLK;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTableLayer.mjs","names":["inject","useRender","defineComponent","YDataTableLayer","name","props","slotProps","Object","setup","_ref","slots","YTableWire","_createVNode","layer","_Fragment"],"sources":["../../../src/components/table/YDataTableLayer.tsx"],"sourcesContent":["import { type PropType, type Ref, inject } from 'vue';\n\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<{ containerRect: Ref<DOMRect> }>('YTable');\n\n useRender(() => {\n return (\n <div class={['y-data-table-layer']}>\n {slots.layer ? (\n slots.layer?.(props.slotProps)\n ) : (\n <>\n <div class={['y-data-table-layer__head']}>\n {slots['layer-head']?.(props.slotProps)}\n </div>\n <div class={['y-data-table-layer__body']}>\n {slots['layer-body']?.(props.slotProps)}\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,SAE7CC,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,GAAGX,MAAM,CAAkC,QAAQ,CAAC;IAEpEC,SAAS,CAAC,MAAM;MACd,OAAAW,YAAA;QAAA,SACc,CAAC,oBAAoB;MAAC,IAC/BF,KAAK,CAACG,KAAK,GACVH,KAAK,CAACG,KAAK,GAAGR,KAAK,CAACC,SAAS,CAAC,GAAAM,YAAA,CAAAE,SAAA,SAAAF,YAAA;QAAA,SAGhB,CAAC,0BAA0B;MAAC,IACrCF,KAAK,CAAC,YAAY,CAAC,GAAGL,KAAK,CAACC,SAAS,CAAC,IAAAM,YAAA;QAAA,SAE7B,CAAC,0BAA0B;MAAC,IACrCF,KAAK,CAAC,YAAY,CAAC,GAAGL,KAAK,CAACC,SAAS,CAAC,IAG5C;IAGP,CAAC,CAAC;IAEF,OAAO;MACLK;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
- import { computed, defineComponent } from 'vue';
2
+ import { computed } from 'vue';
3
3
  import { useRender } from "../../composables/component.mjs";
4
4
  import { getPropertyFromItem } from "../../util/common.mjs";
5
+ import { defineComponent } from "../../util/component/index.mjs";
5
6
  import { propsFactory } from "../../util/component/index.mjs";
6
7
  import { YIconCheckbox } from "../icons/index.mjs";
7
8
  import { YDataTableCell } from "./YDataTableCell.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableRow.mjs","names":["computed","defineComponent","useRender","getPropertyFromItem","propsFactory","YIconCheckbox","YDataTableCell","useHeader","useSelection","pressYDataTableRowProps","index","Number","onClick","Function","onContextmenu","onDblclick","onHover","YDataTableRow","name","props","item","Object","cellProps","setup","_ref","emit","slots","isSelected","toggleSelect","columns","selected","arrayClasses","classes","ret","push","Array","isArray","forEach","c","_createVNode","value","map","column","colIndex","slotProps","raw","internalItem","key","result","call","_mergeProps","align","fixed","lastFixed","undefined","fixedOffset","width","maxWidth","default","slotName","selectable","e","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import { PropType, computed, defineComponent, ref } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { getPropertyFromItem } from '../../util/common';\r\nimport { bindClasses, propsFactory } from '../../util/component';\r\nimport { YIconCheckbox } from '../icons';\r\nimport { YDataTableCell } from './YDataTableCell';\r\nimport { useHeader } from './composibles/header';\r\nimport { useSelection } from './composibles/selection';\r\nimport { CellProps, DataTableItem } from './types';\r\n\r\nexport const pressYDataTableRowProps = propsFactory(\r\n {\r\n index: Number as PropType<number>,\r\n onClick: Function as PropType<(...args: any[]) => void>,\r\n onContextmenu: Function as PropType<(...args: any[]) => void>,\r\n onDblclick: Function as PropType<(...args: any[]) => void>,\r\n onHover: Function as PropType<(...args: any[]) => void>,\r\n },\r\n 'YDataTableRow',\r\n);\r\n\r\nexport const YDataTableRow = defineComponent({\r\n name: 'YDataTableRow',\r\n props: {\r\n item: Object as PropType<DataTableItem>,\r\n cellProps: [Object, Function] as PropType<CellProps>,\r\n ...pressYDataTableRowProps(),\r\n },\r\n setup(props, { emit, slots }) {\r\n const { isSelected, toggleSelect } = useSelection();\r\n const { columns } = useHeader();\r\n\r\n const selected = computed(() => props.item && isSelected(props.item));\r\n\r\n function arrayClasses(classes: string | string[]) {\r\n const ret: string[] = [];\r\n if (typeof classes === 'string') {\r\n ret.push(classes);\r\n }\r\n if (Array.isArray(classes)) {\r\n classes.forEach((c) => {\r\n if (typeof c === 'string') ret.push(c);\r\n });\r\n }\r\n return ret;\r\n }\r\n\r\n useRender(() => {\r\n return (\r\n <tr\r\n class={[\r\n 'y-data-table__row',\r\n { 'y-data-table__row--selected': selected.value },\r\n ]}\r\n onClick={props.onClick as any}\r\n onContextmenu={props.onContextmenu as any}\r\n onDblclick={props.onDblclick as any}\r\n >\r\n {props.item &&\r\n columns.value.map((column, colIndex) => {\r\n const item = props.item!;\r\n const slotProps = {\r\n index: props.index!,\r\n item: props.item!.raw,\r\n internalItem: props.item!,\r\n columns: columns.value,\r\n value: getPropertyFromItem(item.columns, column.key),\r\n selected: selected.value,\r\n toggleSelect,\r\n };\r\n\r\n const classes = computed(() => {\r\n const ret: string[] = [];\r\n if (typeof column.classes === 'function') {\r\n const result = column.classes.call(\r\n null,\r\n slotProps.item,\r\n slotProps.index,\r\n column,\r\n );\r\n if (result) {\r\n ret.push(...arrayClasses(result));\r\n }\r\n } else if (column.classes) {\r\n ret.push(...arrayClasses(column.classes));\r\n }\r\n\r\n return ret;\r\n });\r\n\r\n const cellProps =\r\n typeof props.cellProps === 'function'\r\n ? props.cellProps({\r\n index: slotProps.index,\r\n column,\r\n internalItem: slotProps.internalItem,\r\n item: slotProps.item,\r\n value: slotProps.value,\r\n selected: slotProps.selected,\r\n })\r\n : props.cellProps;\r\n\r\n return (\r\n <YDataTableCell\r\n align={column.align}\r\n fixed={\r\n column.fixed\r\n ? column.lastFixed\r\n ? 'last'\r\n : 'lead'\r\n : undefined\r\n }\r\n fixedOffset={column.fixedOffset}\r\n width={column.width}\r\n maxWidth={column.maxWidth}\r\n class={[\r\n 'y-data-table-data',\r\n {\r\n 'y-data-table-data--select':\r\n column.key === 'data-table-select',\r\n },\r\n ...classes.value,\r\n ]}\r\n {...cellProps}\r\n >\r\n {{\r\n default: () => {\r\n const slotName = `item.${column.key}`;\r\n\r\n if (slots[slotName]) {\r\n return slots[slotName]?.(slotProps);\r\n }\r\n\r\n if (column.key === 'data-table-select') {\r\n return (\r\n slots['item.data-table-select']?.(slotProps) ?? (\r\n <YIconCheckbox\r\n checked={isSelected(item)}\r\n disabled={!item.selectable}\r\n {...{\r\n onClick: (e: MouseEvent) => {\r\n e.stopPropagation();\r\n toggleSelect(item);\r\n },\r\n }}\r\n ></YIconCheckbox>\r\n )\r\n );\r\n }\r\n\r\n return slotProps.value;\r\n },\r\n }}\r\n </YDataTableCell>\r\n );\r\n })}\r\n </tr>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableRow = InstanceType<typeof YDataTableRow>;\r\n"],"mappings":";AAAA,SAAmBA,QAAQ,EAAEC,eAAe,QAAa,KAAK;AAAC,SAEtDC,SAAS;AAAA,SACTC,mBAAmB;AAAA,SACNC,YAAY;AAAA,SACzBC,aAAa;AAAA,SACbC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,YAAY;AAGrB,OAAO,MAAMC,uBAAuB,GAAGL,YAAY,CACjD;EACEM,KAAK,EAAEC,MAA0B;EACjCC,OAAO,EAAEC,QAA8C;EACvDC,aAAa,EAAED,QAA8C;EAC7DE,UAAU,EAAEF,QAA8C;EAC1DG,OAAO,EAAEH;AACX,CAAC,EACD,eACF,CAAC;AAED,OAAO,MAAMI,aAAa,GAAGhB,eAAe,CAAC;EAC3CiB,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAE;IACLC,IAAI,EAAEC,MAAiC;IACvCC,SAAS,EAAE,CAACD,MAAM,EAAER,QAAQ,CAAwB;IACpD,GAAGJ,uBAAuB,CAAC;EAC7B,CAAC;EACDc,KAAKA,CAACJ,KAAK,EAAAK,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC1B,MAAM;MAAEG,UAAU;MAAEC;IAAa,CAAC,GAAGpB,YAAY,CAAC,CAAC;IACnD,MAAM;MAAEqB;IAAQ,CAAC,GAAGtB,SAAS,CAAC,CAAC;IAE/B,MAAMuB,QAAQ,GAAG9B,QAAQ,CAAC,MAAMmB,KAAK,CAACC,IAAI,IAAIO,UAAU,CAACR,KAAK,CAACC,IAAI,CAAC,CAAC;IAErE,SAASW,YAAYA,CAACC,OAA0B,EAAE;MAChD,MAAMC,GAAa,GAAG,EAAE;MACxB,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;QAC/BC,GAAG,CAACC,IAAI,CAACF,OAAO,CAAC;MACnB;MACA,IAAIG,KAAK,CAACC,OAAO,CAACJ,OAAO,CAAC,EAAE;QAC1BA,OAAO,CAACK,OAAO,CAAEC,CAAC,IAAK;UACrB,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAEL,GAAG,CAACC,IAAI,CAACI,CAAC,CAAC;QACxC,CAAC,CAAC;MACJ;MACA,OAAOL,GAAG;IACZ;IAEA/B,SAAS,CAAC,MAAM;MACd,OAAAqC,YAAA;QAAA,SAEW,CACL,mBAAmB,EACnB;UAAE,6BAA6B,EAAET,QAAQ,CAACU;QAAM,CAAC,CAClD;QAAA,WACQrB,KAAK,CAACP,OAAO;QAAA,iBACPO,KAAK,CAACL,aAAa;QAAA,cACtBK,KAAK,CAACJ;MAAU,IAE3BI,KAAK,CAACC,IAAI,IACTS,OAAO,CAACW,KAAK,CAACC,GAAG,CAAC,CAACC,MAAM,EAAEC,QAAQ,KAAK;QACtC,MAAMvB,IAAI,GAAGD,KAAK,CAACC,IAAK;QACxB,MAAMwB,SAAS,GAAG;UAChBlC,KAAK,EAAES,KAAK,CAACT,KAAM;UACnBU,IAAI,EAAED,KAAK,CAACC,IAAI,CAAEyB,GAAG;UACrBC,YAAY,EAAE3B,KAAK,CAACC,IAAK;UACzBS,OAAO,EAAEA,OAAO,CAACW,KAAK;UACtBA,KAAK,EAAErC,mBAAmB,CAACiB,IAAI,CAACS,OAAO,EAAEa,MAAM,CAACK,GAAG,CAAC;UACpDjB,QAAQ,EAAEA,QAAQ,CAACU,KAAK;UACxBZ;QACF,CAAC;QAED,MAAMI,OAAO,GAAGhC,QAAQ,CAAC,MAAM;UAC7B,MAAMiC,GAAa,GAAG,EAAE;UACxB,IAAI,OAAOS,MAAM,CAACV,OAAO,KAAK,UAAU,EAAE;YACxC,MAAMgB,MAAM,GAAGN,MAAM,CAACV,OAAO,CAACiB,IAAI,CAChC,IAAI,EACJL,SAAS,CAACxB,IAAI,EACdwB,SAAS,CAAClC,KAAK,EACfgC,MACF,CAAC;YACD,IAAIM,MAAM,EAAE;cACVf,GAAG,CAACC,IAAI,CAAC,GAAGH,YAAY,CAACiB,MAAM,CAAC,CAAC;YACnC;UACF,CAAC,MAAM,IAAIN,MAAM,CAACV,OAAO,EAAE;YACzBC,GAAG,CAACC,IAAI,CAAC,GAAGH,YAAY,CAACW,MAAM,CAACV,OAAO,CAAC,CAAC;UAC3C;UAEA,OAAOC,GAAG;QACZ,CAAC,CAAC;QAEF,MAAMX,SAAS,GACb,OAAOH,KAAK,CAACG,SAAS,KAAK,UAAU,GACjCH,KAAK,CAACG,SAAS,CAAC;UACdZ,KAAK,EAAEkC,SAAS,CAAClC,KAAK;UACtBgC,MAAM;UACNI,YAAY,EAAEF,SAAS,CAACE,YAAY;UACpC1B,IAAI,EAAEwB,SAAS,CAACxB,IAAI;UACpBoB,KAAK,EAAEI,SAAS,CAACJ,KAAK;UACtBV,QAAQ,EAAEc,SAAS,CAACd;QACtB,CAAC,CAAC,GACFX,KAAK,CAACG,SAAS;QAErB,OAAAiB,YAAA,CAAAjC,cAAA,EAAA4C,WAAA;UAAA,SAEWR,MAAM,CAACS,KAAK;UAAA,SAEjBT,MAAM,CAACU,KAAK,GACRV,MAAM,CAACW,SAAS,GACd,MAAM,GACN,MAAM,GACRC,SAAS;UAAA,eAEFZ,MAAM,CAACa,WAAW;UAAA,SACxBb,MAAM,CAACc,KAAK;UAAA,YACTd,MAAM,CAACe,QAAQ;UAAA,SAClB,CACL,mBAAmB,EACnB;YACE,2BAA2B,EACzBf,MAAM,CAACK,GAAG,KAAK;UACnB,CAAC,EACD,GAAGf,OAAO,CAACQ,KAAK;QACjB,GACGlB,SAAS;UAGXoC,OAAO,EAAEA,CAAA,KAAM;YACb,MAAMC,QAAQ,GAAI,QAAOjB,MAAM,CAACK,GAAI,EAAC;YAErC,IAAIrB,KAAK,CAACiC,QAAQ,CAAC,EAAE;cACnB,OAAOjC,KAAK,CAACiC,QAAQ,CAAC,GAAGf,SAAS,CAAC;YACrC;YAEA,IAAIF,MAAM,CAACK,GAAG,KAAK,mBAAmB,EAAE;cACtC,OACErB,KAAK,CAAC,wBAAwB,CAAC,GAAGkB,SAAS,CAAC,IAAAL,YAAA,CAAAlC,aAAA,EAAA6C,WAAA;gBAAA,WAE/BvB,UAAU,CAACP,IAAI,CAAC;gBAAA,YACf,CAACA,IAAI,CAACwC;cAAU;gBAExBhD,OAAO,EAAGiD,CAAa,IAAK;kBAC1BA,CAAC,CAACC,eAAe,CAAC,CAAC;kBACnBlC,YAAY,CAACR,IAAI,CAAC;gBACpB;cAAC,SAGN;YAEL;YAEA,OAAOwB,SAAS,CAACJ,KAAK;UACxB;QAAC;MAIT,CAAC,CAAC;IAGV,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDataTableRow.mjs","names":["computed","useRender","getPropertyFromItem","defineComponent","propsFactory","YIconCheckbox","YDataTableCell","useHeader","useSelection","pressYDataTableRowProps","index","Number","onClick","Function","onContextmenu","onDblclick","onHover","YDataTableRow","name","props","item","Object","cellProps","setup","_ref","emit","slots","isSelected","toggleSelect","columns","selected","arrayClasses","classes","ret","push","Array","isArray","forEach","c","_createVNode","value","map","column","colIndex","slotProps","raw","internalItem","key","result","call","_mergeProps","align","fixed","lastFixed","undefined","fixedOffset","width","maxWidth","default","slotName","selectable","e","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import { type PropType, computed } from 'vue';\n\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 { useHeader } from './composibles/header';\nimport { useSelection } from './composibles/selection';\nimport { CellProps, DataTableItem } from './types';\n\nexport const pressYDataTableRowProps = propsFactory(\n {\n index: Number as PropType<number>,\n onClick: Function as PropType<(...args: any[]) => void>,\n onContextmenu: Function as PropType<(...args: any[]) => void>,\n onDblclick: Function as PropType<(...args: any[]) => void>,\n onHover: 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 setup(props, { emit, slots }) {\n const { isSelected, toggleSelect } = useSelection();\n const { columns } = useHeader();\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 useRender(() => {\n return (\n <tr\n class={[\n 'y-data-table__row',\n { 'y-data-table__row--selected': selected.value },\n ]}\n onClick={props.onClick as any}\n onContextmenu={props.onContextmenu as any}\n onDblclick={props.onDblclick as any}\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 };\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.lastFixed\n ? 'last'\n : 'lead'\n : undefined\n }\n fixedOffset={column.fixedOffset}\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 <YIconCheckbox\n checked={isSelected(item)}\n disabled={!item.selectable}\n {...{\n onClick: (e: MouseEvent) => {\n e.stopPropagation();\n toggleSelect(item);\n },\n }}\n ></YIconCheckbox>\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,10 +1,9 @@
1
1
  import { mergeProps as _mergeProps, createVNode as _createVNode, resolveDirective as _resolveDirective, Fragment as _Fragment } from "vue";
2
- import { toRef } from '@vue/runtime-core';
3
- import { computed, defineComponent, provide } from 'vue';
2
+ import { computed, provide, ref, toRef } from 'vue';
4
3
  import { useRender } from "../../composables/component.mjs";
5
4
  import { useResizeObserver } from "../../composables/resize-observer.mjs";
6
- import { toStyleSizeValue } from "../../util/index.mjs";
7
- import { chooseProps, propsFactory } from "../../util/component/index.mjs";
5
+ import { chooseProps, defineComponent, propsFactory } from "../../util/component/index.mjs";
6
+ import { toStyleSizeValue } from "../../util/ui.mjs";
8
7
  import { pressDataTableProps } from "./YDataTable.mjs";
9
8
  import { YDataTableBody } from "./YDataTableBody.mjs";
10
9
  import { YDataTableControl } from "./YDataTableControl.mjs";
@@ -95,10 +94,12 @@ export const YDataTableServer = defineComponent({
95
94
  allItems: items,
96
95
  pageItems: items
97
96
  });
97
+ const headRect = ref();
98
98
  const {
99
- resizeObservedRef: headObserveRef,
100
- contentRect: headRect
101
- } = useResizeObserver();
99
+ resizeObservedRef: headObserveRef
100
+ } = useResizeObserver(entries => {
101
+ requestAnimationFrame(() => headRect.value = entries?.[0].contentRect);
102
+ });
102
103
  useOptions({
103
104
  page,
104
105
  pageSize,
@@ -1 +1 @@
1
- {"version":3,"file":"YDataTableServer.mjs","names":["toRef","computed","defineComponent","provide","useRender","useResizeObserver","toStyleSizeValue","chooseProps","propsFactory","pressDataTableProps","YDataTableBody","YDataTableControl","YDataTableHead","YDataTableLayer","YTable","createHeader","useItems","useOptions","createPagination","pressDataTablePaginationProps","providePagination","provideSelection","createSorting","provideSorting","pressDataTableServerProps","total","type","Number","String","required","YDataTableServer","name","components","props","emits","value","page","pageSize","sortBy","options","click:row","e","setup","_ref","slots","emit","multiSort","parseInt","columns","headers","enableSelect","items","toggleSort","pageLength","setPageSize","setPage","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","pageItems","resizeObservedRef","headObserveRef","contentRect","headRect","search","slotProps","yDataTableHeadProps","yDataTableBodyProps","yTableProps","_createVNode","_mergeProps","loading","length","hideNoData","height","top","leading","_Fragment","default","thead","tbody","tfoot","trailing","bottom","prepend"],"sources":["../../../src/components/table/YDataTableServer.tsx"],"sourcesContent":["import { toRef } from '@vue/runtime-core';\r\nimport { PropType, computed, defineComponent, provide } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { useResizeObserver } from '../../composables/resize-observer';\r\nimport { toStyleSizeValue } from '../../util';\r\nimport { chooseProps, propsFactory } from '../../util/component';\r\nimport { pressDataTableProps } from './YDataTable';\r\nimport { YDataTableBody } from './YDataTableBody';\r\nimport { YDataTableControl } from './YDataTableControl';\r\nimport { YDataTableHead } from './YDataTableHead';\r\nimport { YDataTableLayer } from './YDataTableLayer';\r\nimport { YTable } from './YTable';\r\nimport { createHeader } from './composibles/header';\r\nimport { useItems } from './composibles/items';\r\nimport { useOptions } from './composibles/options';\r\nimport {\r\n createPagination,\r\n pressDataTablePaginationProps,\r\n providePagination,\r\n} from './composibles/pagination';\r\nimport { provideSelection } from './composibles/selection';\r\nimport { createSorting, provideSorting } from './composibles/sorting';\r\nimport { YDataTableSlotProps } from './types';\r\n\r\nexport const pressDataTableServerProps = propsFactory(\r\n {\r\n total: {\r\n type: [Number, String] as PropType<number | string>,\r\n required: true,\r\n },\r\n ...pressDataTablePaginationProps(),\r\n ...pressDataTableProps(),\r\n },\r\n 'YDataTableServer',\r\n);\r\n\r\nexport const YDataTableServer = defineComponent({\r\n name: 'YDataTableServer',\r\n components: {\r\n YTable,\r\n YDataTableLayer,\r\n YDataTableHead,\r\n YDataTableBody,\r\n YDataTableControl,\r\n },\r\n props: {\r\n ...pressDataTableServerProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: any[]) => true,\r\n 'update:page': (page: number) => true,\r\n 'update:pageSize': (pageSize: number) => true,\r\n 'update:sortBy': (sortBy: any) => true,\r\n 'update:options': (options: any) => true,\r\n 'click:row': (e: Event, value: { row: any }) => true,\r\n },\r\n setup(props, { slots, emit }) {\r\n const { page, pageSize } = createPagination(props);\r\n const { sortBy, multiSort } = createSorting(props);\r\n const total = computed(() => parseInt(props.total as string));\r\n const { columns, headers } = createHeader(props, {\r\n enableSelect: toRef(props, 'enableSelect'),\r\n });\r\n const { items } = useItems(props, columns);\r\n\r\n const { toggleSort } = provideSorting({ sortBy, multiSort, page });\r\n const { pageLength, setPageSize, setPage } = providePagination({\r\n page,\r\n pageSize,\r\n total,\r\n });\r\n const {\r\n isSelected,\r\n select,\r\n selectAll,\r\n toggleSelect,\r\n someSelected,\r\n allSelected,\r\n } = provideSelection(props, { allItems: items, pageItems: items });\r\n\r\n const { resizeObservedRef: headObserveRef, contentRect: headRect } =\r\n useResizeObserver();\r\n\r\n useOptions(\r\n {\r\n page,\r\n pageSize,\r\n search: toRef(props, 'search'),\r\n sortBy,\r\n },\r\n emit,\r\n );\r\n\r\n provide('y-data-table', {\r\n toggleSort,\r\n sortBy,\r\n headRect,\r\n });\r\n\r\n const slotProps = computed<YDataTableSlotProps>(() => {\r\n return {\r\n // pagination\r\n page: page.value,\r\n pageSize: pageSize.value,\r\n pageLength: pageLength.value,\r\n setPageSize,\r\n setPage,\r\n // sorting\r\n sortBy: sortBy.value,\r\n toggleSort,\r\n // selection\r\n someSelected: someSelected.value,\r\n allSelected: allSelected.value,\r\n isSelected,\r\n select,\r\n selectAll,\r\n toggleSelect,\r\n //\r\n items: items.value,\r\n columns: columns.value,\r\n headers: headers.value,\r\n };\r\n });\r\n\r\n useRender(() => {\r\n const yDataTableHeadProps = chooseProps(props, YDataTableHead.props);\r\n const yDataTableBodyProps = chooseProps(props, YDataTableBody.props);\r\n const yTableProps = chooseProps(props, YTable.props);\r\n return (\r\n <YTable\r\n class={[\r\n 'y-data-table',\r\n {\r\n 'y-data-table--no-data':\r\n !props.loading && props.items.length < 1 && !props.hideNoData,\r\n },\r\n ]}\r\n {...yTableProps}\r\n style={{\r\n '--y-table-head-height': toStyleSizeValue(headRect.value?.height),\r\n }}\r\n >\r\n {{\r\n top: () => slots.top?.(slotProps.value),\r\n leading: () =>\r\n slots.leading ? (\r\n slots.leading(slotProps.value)\r\n ) : (\r\n <>\r\n <YDataTableLayer v-slots={slots}></YDataTableLayer>\r\n </>\r\n ),\r\n default: () =>\r\n slots.default ? (\r\n slots.default(slotProps.value)\r\n ) : (\r\n <>\r\n <thead ref={headObserveRef}>\r\n <YDataTableHead\r\n v-slots={slots}\r\n {...yDataTableHeadProps}\r\n ></YDataTableHead>\r\n </thead>\r\n {slots.thead?.(slotProps.value)}\r\n <tbody>\r\n <YDataTableBody\r\n v-slots={slots}\r\n {...yDataTableBodyProps}\r\n items={items.value}\r\n ></YDataTableBody>\r\n </tbody>\r\n {slots.tbody?.(slotProps.value)}\r\n {slots.tfoot?.(slotProps.value)}\r\n </>\r\n ),\r\n trailing: () => slots.trailing?.(slotProps.value),\r\n bottom: () =>\r\n slots.bottom ? (\r\n slots.bottom(slotProps.value)\r\n ) : (\r\n <YDataTableControl\r\n v-slots={{\r\n prepend: slots['control.prepend'],\r\n }}\r\n ></YDataTableControl>\r\n ),\r\n }}\r\n </YTable>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableServer = InstanceType<typeof YDataTableServer>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDataTableServer.mjs","names":["computed","provide","ref","toRef","useRender","useResizeObserver","chooseProps","defineComponent","propsFactory","toStyleSizeValue","pressDataTableProps","YDataTableBody","YDataTableControl","YDataTableHead","YDataTableLayer","YTable","createHeader","useItems","useOptions","createPagination","pressDataTablePaginationProps","providePagination","provideSelection","createSorting","provideSorting","pressDataTableServerProps","total","type","Number","String","required","YDataTableServer","name","components","props","emits","value","page","pageSize","sortBy","options","click:row","e","setup","_ref","slots","emit","multiSort","parseInt","columns","headers","enableSelect","items","toggleSort","pageLength","setPageSize","setPage","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","pageItems","headRect","resizeObservedRef","headObserveRef","entries","requestAnimationFrame","contentRect","search","slotProps","yDataTableHeadProps","yDataTableBodyProps","yTableProps","_createVNode","_mergeProps","loading","length","hideNoData","height","top","leading","_Fragment","default","thead","tbody","tfoot","trailing","bottom","prepend"],"sources":["../../../src/components/table/YDataTableServer.tsx"],"sourcesContent":["import { type PropType, computed, provide, ref, toRef } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { useResizeObserver } from '@/composables/resize-observer';\nimport { chooseProps, defineComponent, propsFactory } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport { pressDataTableProps } from './YDataTable';\nimport { YDataTableBody } from './YDataTableBody';\nimport { YDataTableControl } from './YDataTableControl';\nimport { YDataTableHead } from './YDataTableHead';\nimport { YDataTableLayer } from './YDataTableLayer';\nimport { YTable } from './YTable';\nimport { createHeader } from './composibles/header';\nimport { useItems } from './composibles/items';\nimport { useOptions } from './composibles/options';\nimport {\n createPagination,\n pressDataTablePaginationProps,\n providePagination,\n} from './composibles/pagination';\nimport { provideSelection } from './composibles/selection';\nimport { createSorting, provideSorting } from './composibles/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 ...pressDataTablePaginationProps(),\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 'click:row': (e: Event, value: { row: any }) => true,\n },\n setup(props, { slots, emit }) {\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\n const headRect = ref<DOMRectReadOnly>();\n const { resizeObservedRef: headObserveRef } = useResizeObserver(\n (entries) => {\n requestAnimationFrame(\n () => (headRect.value = entries?.[0].contentRect),\n );\n },\n );\n\n useOptions(\n {\n page,\n pageSize,\n search: toRef(props, 'search'),\n sortBy,\n },\n emit,\n );\n\n provide('y-data-table', {\n toggleSort,\n sortBy,\n headRect,\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 // selection\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n //\n items: items.value,\n columns: columns.value,\n headers: headers.value,\n };\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 <>\n <YDataTableLayer v-slots={slots}></YDataTableLayer>\n </>\n ),\n default: () =>\n slots.default ? (\n slots.default(slotProps.value)\n ) : (\n <>\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 v-slots={slots}\n {...yDataTableBodyProps}\n items={items.value}\n ></YDataTableBody>\n </tbody>\n {slots.tbody?.(slotProps.value)}\n {slots.tfoot?.(slotProps.value)}\n </>\n ),\n trailing: () => slots.trailing?.(slotProps.value),\n bottom: () =>\n slots.bottom ? (\n slots.bottom(slotProps.value)\n ) : (\n <YDataTableControl\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,9 +1,9 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { defineComponent, provide } from 'vue';
2
+ import { provide } from 'vue';
3
+ import { useRectMeasure } from "./composibles/measure.mjs";
3
4
  import { useRender } from "../../composables/component.mjs";
4
- import { useResizeObserver } from "../../composables/resize-observer.mjs";
5
+ import { defineComponent, propsFactory } from "../../util/component/index.mjs";
5
6
  import { toStyleSizeValue } from "../../util/ui.mjs";
6
- import { propsFactory } from "../../util/component/index.mjs";
7
7
  import "./YTable.scss";
8
8
  export const pressYTableProps = propsFactory({
9
9
  tag: {
@@ -33,26 +33,21 @@ export const YTable = defineComponent({
33
33
  emit
34
34
  } = _ref;
35
35
  const {
36
- resizeObservedRef,
37
- contentRect
38
- } = useResizeObserver();
39
- const {
40
- resizeObservedRef: wrapperRef,
41
- contentRect: wrapperRect
42
- } = useResizeObserver();
43
- const {
44
- resizeObservedRef: tableRef,
45
- contentRect: tableRect
46
- } = useResizeObserver();
36
+ containerRef,
37
+ wrapperRef,
38
+ tableRef,
39
+ containerRect,
40
+ wrapperRect
41
+ } = useRectMeasure();
47
42
  provide('YTable', {
48
- containerRect: contentRect
43
+ containerRect
49
44
  });
50
45
  function onScroll(e) {
51
46
  emit('scroll', e);
52
47
  }
53
48
  useRender(() => {
54
49
  const ElTag = props.tag ?? 'div';
55
- const containerHeight = props.flexHeight ? contentRect.value?.height ?? props.height : props.height;
50
+ const containerHeight = props.flexHeight ? containerRect.value?.height ?? props.height : props.height;
56
51
  return _createVNode(ElTag, {
57
52
  "class": ['y-table', {
58
53
  'y-table--fixed-head': props.fixedHead,
@@ -60,12 +55,12 @@ export const YTable = defineComponent({
60
55
  'y-table--flex-height': props.flexHeight
61
56
  }],
62
57
  "style": {
63
- '--y-table-container-width': toStyleSizeValue(contentRect.value?.width),
58
+ '--y-table-container-width': toStyleSizeValue(containerRect.value?.width),
64
59
  '--y-table-wrapper-width': toStyleSizeValue(wrapperRect.value?.width)
65
60
  }
66
61
  }, {
67
62
  default: () => [slots.top?.(), slots.default ? _createVNode("div", {
68
- "ref": resizeObservedRef,
63
+ "ref": containerRef,
69
64
  "class": ['y-table__container']
70
65
  }, [slots.leading?.(), _createVNode("div", {
71
66
  "ref": wrapperRef,
@@ -76,7 +71,7 @@ export const YTable = defineComponent({
76
71
  "onScroll": onScroll
77
72
  }, [_createVNode("table", {
78
73
  "ref": tableRef
79
- }, [slots.default()])]), slots.trailing?.()]) : slots.container?.(resizeObservedRef, contentRect), slots.bottom?.()]
74
+ }, [slots.default()])]), slots.trailing?.()]) : slots.container?.(containerRef, containerRect), slots.bottom?.()]
80
75
  });
81
76
  });
82
77
  }