yuyeon 0.3.4-rc.4 → 0.3.6-beta.0

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 (451) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +3963 -3707
  3. package/dist/yuyeon.umd.cjs +3 -3
  4. package/lib/abstract/items.js.map +1 -1
  5. package/lib/components/alert/YAlert.js +1 -2
  6. package/lib/components/alert/YAlert.js.map +1 -1
  7. package/lib/components/alert/index.js.map +1 -1
  8. package/lib/components/app/YApp.js +2 -2
  9. package/lib/components/app/YApp.js.map +1 -1
  10. package/lib/components/app/index.js.map +1 -1
  11. package/lib/components/badge/YBadge.js +7 -5
  12. package/lib/components/badge/YBadge.js.map +1 -1
  13. package/lib/components/badge/YBadge.scss +87 -86
  14. package/lib/components/badge/index.js.map +1 -1
  15. package/lib/components/bench/YBench.js +3 -4
  16. package/lib/components/bench/YBench.js.map +1 -1
  17. package/lib/components/bench/index.js.map +1 -1
  18. package/lib/components/button/YButton.js +1 -2
  19. package/lib/components/button/YButton.js.map +1 -1
  20. package/lib/components/button/index.js.map +1 -1
  21. package/lib/components/card/YCard.js.map +1 -1
  22. package/lib/components/card/YCard.scss +2 -2
  23. package/lib/components/card/YCardBody.js.map +1 -1
  24. package/lib/components/card/YCardFooter.js.map +1 -1
  25. package/lib/components/card/YCardHeader.js.map +1 -1
  26. package/lib/components/card/index.js.map +1 -1
  27. package/lib/components/checkbox/YCheckbox.js +1 -2
  28. package/lib/components/checkbox/YCheckbox.js.map +1 -1
  29. package/lib/components/checkbox/YInputCheckbox.js +1 -2
  30. package/lib/components/checkbox/YInputCheckbox.js.map +1 -1
  31. package/lib/components/checkbox/index.js.map +1 -1
  32. package/lib/components/chip/YChip.js +1 -2
  33. package/lib/components/chip/YChip.js.map +1 -1
  34. package/lib/components/chip/index.js.map +1 -1
  35. package/lib/components/date-picker/YDateCalendar.js +59 -54
  36. package/lib/components/date-picker/YDateCalendar.js.map +1 -1
  37. package/lib/components/date-picker/YDatePicker.js +24 -25
  38. package/lib/components/date-picker/YDatePicker.js.map +1 -1
  39. package/lib/components/date-picker/YDatePickerControl.js +19 -20
  40. package/lib/components/date-picker/YDatePickerControl.js.map +1 -1
  41. package/lib/components/date-picker/YMonthPicker.js +10 -11
  42. package/lib/components/date-picker/YMonthPicker.js.map +1 -1
  43. package/lib/components/date-picker/YYearPicker.js +11 -13
  44. package/lib/components/date-picker/YYearPicker.js.map +1 -1
  45. package/lib/components/date-picker/index.js.map +1 -1
  46. package/lib/components/default-provider/YDefaultProvider.js.map +1 -1
  47. package/lib/components/default-provider/index.js.map +1 -1
  48. package/lib/components/dialog/YDialog.js +32 -32
  49. package/lib/components/dialog/YDialog.js.map +1 -1
  50. package/lib/components/dialog/index.js.map +1 -1
  51. package/lib/components/divider/YDivider.js +5 -5
  52. package/lib/components/divider/YDivider.js.map +1 -1
  53. package/lib/components/divider/index.js.map +1 -1
  54. package/lib/components/draggable/YDraggable.js +10 -11
  55. package/lib/components/draggable/YDraggable.js.map +1 -1
  56. package/lib/components/draggable/index.js.map +1 -1
  57. package/lib/components/dropdown/YDropdown.js +16 -17
  58. package/lib/components/dropdown/YDropdown.js.map +1 -1
  59. package/lib/components/dropdown/index.js.map +1 -1
  60. package/lib/components/field-input/YFieldInput.js +39 -39
  61. package/lib/components/field-input/YFieldInput.js.map +1 -1
  62. package/lib/components/field-input/index.js.map +1 -1
  63. package/lib/components/form/YForm.js +12 -14
  64. package/lib/components/form/YForm.js.map +1 -1
  65. package/lib/components/form/index.js.map +1 -1
  66. package/lib/components/hover/YHover.js +9 -8
  67. package/lib/components/hover/YHover.js.map +1 -1
  68. package/lib/components/hover/index.js.map +1 -1
  69. package/lib/components/icon/YIcon.js +2 -4
  70. package/lib/components/icon/YIcon.js.map +1 -1
  71. package/lib/components/icon/index.js.map +1 -1
  72. package/lib/components/icons/YIconCheckbox.js +7 -6
  73. package/lib/components/icons/YIconCheckbox.js.map +1 -1
  74. package/lib/components/icons/YIconCheckbox.scss +4 -5
  75. package/lib/components/icons/YIconClear.js +2 -1
  76. package/lib/components/icons/YIconClear.js.map +1 -1
  77. package/lib/components/icons/YIconDropdown.js +2 -1
  78. package/lib/components/icons/YIconDropdown.js.map +1 -1
  79. package/lib/components/icons/YIconExpand.js +1 -0
  80. package/lib/components/icons/YIconExpand.js.map +1 -1
  81. package/lib/components/icons/YIconPageControl.js +7 -6
  82. package/lib/components/icons/YIconPageControl.js.map +1 -1
  83. package/lib/components/icons/YIconSort.js +6 -5
  84. package/lib/components/icons/YIconSort.js.map +1 -1
  85. package/lib/components/icons/YIconSort.scss +2 -0
  86. package/lib/components/icons/index.js.map +1 -1
  87. package/lib/components/img/YImg.js +38 -33
  88. package/lib/components/img/YImg.js.map +1 -1
  89. package/lib/components/img/index.js +1 -1
  90. package/lib/components/img/index.js.map +1 -1
  91. package/lib/components/index.js +1 -0
  92. package/lib/components/index.js.map +1 -1
  93. package/lib/components/input/YInput.js +1 -2
  94. package/lib/components/input/YInput.js.map +1 -1
  95. package/lib/components/input/YInput.scss +9 -8
  96. package/lib/components/input/index.js.map +1 -1
  97. package/lib/components/ip-field/YIpv4Field.js +1 -2
  98. package/lib/components/ip-field/YIpv4Field.js.map +1 -1
  99. package/lib/components/ip-field/index.js.map +1 -1
  100. package/lib/components/layer/YLayer.js +38 -25
  101. package/lib/components/layer/YLayer.js.map +1 -1
  102. package/lib/components/layer/active-delay.js.map +1 -1
  103. package/lib/components/layer/active-stack.js.map +1 -1
  104. package/lib/components/layer/base.js +11 -1
  105. package/lib/components/layer/base.js.map +1 -1
  106. package/lib/components/layer/content.js.map +1 -1
  107. package/lib/components/layer/index.js.map +1 -1
  108. package/lib/components/layer/scroll-strategies.js.map +1 -1
  109. package/lib/components/list/YList.js +1 -2
  110. package/lib/components/list/YList.js.map +1 -1
  111. package/lib/components/list/YListItem.js +1 -2
  112. package/lib/components/list/YListItem.js.map +1 -1
  113. package/lib/components/list/index.js.map +1 -1
  114. package/lib/components/loading/YSpinnerRing.js.map +1 -1
  115. package/lib/components/loading/index.js.map +1 -1
  116. package/lib/components/menu/YMenu.js +22 -25
  117. package/lib/components/menu/YMenu.js.map +1 -1
  118. package/lib/components/menu/YMenu.scss +3 -4
  119. package/lib/components/menu/index.js.map +1 -1
  120. package/lib/components/navigation/YNavigation.js +1 -2
  121. package/lib/components/navigation/YNavigation.js.map +1 -1
  122. package/lib/components/navigation/index.js.map +1 -1
  123. package/lib/components/pagination/YPagination.js +1 -2
  124. package/lib/components/pagination/YPagination.js.map +1 -1
  125. package/lib/components/pagination/index.js.map +1 -1
  126. package/lib/components/panel/YDividePanel.js +1 -2
  127. package/lib/components/panel/YDividePanel.js.map +1 -1
  128. package/lib/components/panel/YDividePanel.scss +44 -43
  129. package/lib/components/panel/index.js.map +1 -1
  130. package/lib/components/plate/YPlate.js +1 -2
  131. package/lib/components/plate/YPlate.js.map +1 -1
  132. package/lib/components/plate/index.js.map +1 -1
  133. package/lib/components/progress-bar/YProgressBar.js +1 -2
  134. package/lib/components/progress-bar/YProgressBar.js.map +1 -1
  135. package/lib/components/progress-bar/index.js.map +1 -1
  136. package/lib/components/progress-ring/YProgressRing.js +3 -4
  137. package/lib/components/progress-ring/YProgressRing.js.map +1 -1
  138. package/lib/components/progress-ring/index.js.map +1 -1
  139. package/lib/components/radio/YRadio.js +1 -1
  140. package/lib/components/radio/YRadio.js.map +1 -1
  141. package/lib/components/radio/YRadioIcon.js.map +1 -1
  142. package/lib/components/radio/YRadioIcon.scss +2 -3
  143. package/lib/components/radio/index.js.map +1 -1
  144. package/lib/components/select/YSelect.js +41 -42
  145. package/lib/components/select/YSelect.js.map +1 -1
  146. package/lib/components/select/index.js.map +1 -1
  147. package/lib/components/slider/YSlider.js.map +1 -1
  148. package/lib/components/slider/index.js.map +1 -1
  149. package/lib/components/slider/slider.js.map +1 -1
  150. package/lib/components/snackbar/YSnackbar.js +6 -6
  151. package/lib/components/snackbar/YSnackbar.js.map +1 -1
  152. package/lib/components/snackbar/index.js.map +1 -1
  153. package/lib/components/switch/YSwitch.js +1 -2
  154. package/lib/components/switch/YSwitch.js.map +1 -1
  155. package/lib/components/switch/index.js.map +1 -1
  156. package/lib/components/tab/YTab.js +2 -3
  157. package/lib/components/tab/YTab.js.map +1 -1
  158. package/lib/components/tab/YTab.scss +1 -1
  159. package/lib/components/tab/YTabs.js +1 -2
  160. package/lib/components/tab/YTabs.js.map +1 -1
  161. package/lib/components/tab/index.js.map +1 -1
  162. package/lib/components/tab/shared.js.map +1 -1
  163. package/lib/components/tab/types.js.map +1 -1
  164. package/lib/components/table/YDataTable.js +1 -2
  165. package/lib/components/table/YDataTable.js.map +1 -1
  166. package/lib/components/table/YDataTableBody.js +2 -3
  167. package/lib/components/table/YDataTableBody.js.map +1 -1
  168. package/lib/components/table/YDataTableCell.js +1 -2
  169. package/lib/components/table/YDataTableCell.js.map +1 -1
  170. package/lib/components/table/YDataTableControl.js +1 -1
  171. package/lib/components/table/YDataTableControl.js.map +1 -1
  172. package/lib/components/table/YDataTableControl.scss +17 -17
  173. package/lib/components/table/YDataTableHead.js +1 -1
  174. package/lib/components/table/YDataTableHead.js.map +1 -1
  175. package/lib/components/table/YDataTableLayer.js +1 -2
  176. package/lib/components/table/YDataTableLayer.js.map +1 -1
  177. package/lib/components/table/YDataTableLayerRow.js +1 -2
  178. package/lib/components/table/YDataTableLayerRow.js.map +1 -1
  179. package/lib/components/table/YDataTableLayerRows.js +3 -4
  180. package/lib/components/table/YDataTableLayerRows.js.map +1 -1
  181. package/lib/components/table/YDataTableRow.js +1 -2
  182. package/lib/components/table/YDataTableRow.js.map +1 -1
  183. package/lib/components/table/YDataTableServer.js +1 -2
  184. package/lib/components/table/YDataTableServer.js.map +1 -1
  185. package/lib/components/table/YTable.js +1 -2
  186. package/lib/components/table/YTable.js.map +1 -1
  187. package/lib/components/table/composables/expand.js.map +1 -1
  188. package/lib/components/table/composables/header.js.map +1 -1
  189. package/lib/components/table/composables/items.js.map +1 -1
  190. package/lib/components/table/composables/measure.js +1 -1
  191. package/lib/components/table/composables/measure.js.map +1 -1
  192. package/lib/components/table/composables/options.js.map +1 -1
  193. package/lib/components/table/composables/pagination.js.map +1 -1
  194. package/lib/components/table/composables/provides.js.map +1 -1
  195. package/lib/components/table/composables/selection.js.map +1 -1
  196. package/lib/components/table/composables/sorted-items.js.map +1 -1
  197. package/lib/components/table/composables/sorting.js.map +1 -1
  198. package/lib/components/table/index.js.map +1 -1
  199. package/lib/components/table/types/common.js.map +1 -1
  200. package/lib/components/table/types/header.js.map +1 -1
  201. package/lib/components/table/types/index.js.map +1 -1
  202. package/lib/components/table/types/item.js.map +1 -1
  203. package/lib/components/table/types/row.js.map +1 -1
  204. package/lib/components/text-ellipsis/YTextEllipsis.js +1 -2
  205. package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -1
  206. package/lib/components/text-ellipsis/index.js.map +1 -1
  207. package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -1
  208. package/lib/components/text-highlighter/index.js.map +1 -1
  209. package/lib/components/text-interpolation/YTi.js +2 -2
  210. package/lib/components/text-interpolation/YTi.js.map +1 -1
  211. package/lib/components/text-interpolation/index.js.map +1 -1
  212. package/lib/components/textarea/YTextarea.js +1 -2
  213. package/lib/components/textarea/YTextarea.js.map +1 -1
  214. package/lib/components/textarea/index.js.map +1 -1
  215. package/lib/components/toggle-button/YToggleButton.js.map +1 -1
  216. package/lib/components/toggle-button/index.js.map +1 -1
  217. package/lib/components/tooltip/YTooltip.js +20 -21
  218. package/lib/components/tooltip/YTooltip.js.map +1 -1
  219. package/lib/components/tooltip/index.js.map +1 -1
  220. package/lib/components/transitions/expand-transition.js.map +1 -1
  221. package/lib/components/transitions/index.js.map +1 -1
  222. package/lib/components/tree-view/YTreeView.js +23 -29
  223. package/lib/components/tree-view/YTreeView.js.map +1 -1
  224. package/lib/components/tree-view/YTreeViewNode.js +58 -21
  225. package/lib/components/tree-view/YTreeViewNode.js.map +1 -1
  226. package/lib/components/tree-view/index.js.map +1 -1
  227. package/lib/components/tree-view/tree-view.js +61 -8
  228. package/lib/components/tree-view/tree-view.js.map +1 -1
  229. package/lib/components/tree-view/types.js.map +1 -1
  230. package/lib/components/tree-view/util.js.map +1 -1
  231. package/lib/composables/choice-link.js.map +1 -1
  232. package/lib/composables/choice.js.map +1 -1
  233. package/lib/composables/communication.js.map +1 -1
  234. package/lib/composables/component.js.map +1 -1
  235. package/lib/composables/coordinate/arrangement.js.map +1 -1
  236. package/lib/composables/coordinate/index.js +23 -13
  237. package/lib/composables/coordinate/index.js.map +1 -1
  238. package/lib/composables/coordinate/levitation.js +79 -50
  239. package/lib/composables/coordinate/levitation.js.map +1 -1
  240. package/lib/composables/coordinate/types.js.map +1 -1
  241. package/lib/composables/coordinate/utils/point.js.map +1 -1
  242. package/lib/composables/date/factory.js.map +1 -1
  243. package/lib/composables/date/index.js.map +1 -1
  244. package/lib/composables/date/setting.js.map +1 -1
  245. package/lib/composables/date/types.js.map +1 -1
  246. package/lib/composables/defaults/index.js.map +1 -1
  247. package/lib/composables/defaults/share.js.map +1 -1
  248. package/lib/composables/defaults/types.js.map +1 -1
  249. package/lib/composables/dimension.js.map +1 -1
  250. package/lib/composables/focus.js.map +1 -1
  251. package/lib/composables/form.js +5 -5
  252. package/lib/composables/form.js.map +1 -1
  253. package/lib/composables/i18n/index.js.map +1 -1
  254. package/lib/composables/i18n/locale.js.map +1 -1
  255. package/lib/composables/i18n/rtl.js.map +1 -1
  256. package/lib/composables/i18n/share.js.map +1 -1
  257. package/lib/composables/icon.js +1 -2
  258. package/lib/composables/icon.js.map +1 -1
  259. package/lib/composables/index.js.map +1 -1
  260. package/lib/composables/layer-group.js.map +1 -1
  261. package/lib/composables/layout.js.map +1 -1
  262. package/lib/composables/list-items.js.map +1 -1
  263. package/lib/composables/progress.js.map +1 -1
  264. package/lib/composables/ref.js.map +1 -1
  265. package/lib/composables/resize-observer.js.map +1 -1
  266. package/lib/composables/scope.js.map +1 -1
  267. package/lib/composables/style-color.js +6 -5
  268. package/lib/composables/style-color.js.map +1 -1
  269. package/lib/composables/theme/factory.js.map +1 -1
  270. package/lib/composables/theme/helper.js.map +1 -1
  271. package/lib/composables/theme/index.js +8 -1
  272. package/lib/composables/theme/index.js.map +1 -1
  273. package/lib/composables/theme/setting.js.map +1 -1
  274. package/lib/composables/theme/types.js.map +1 -1
  275. package/lib/composables/timing.js +13 -5
  276. package/lib/composables/timing.js.map +1 -1
  277. package/lib/composables/transition.js.map +1 -1
  278. package/lib/composables/validation.js.map +1 -1
  279. package/lib/composables/vue-router.js.map +1 -1
  280. package/lib/directives/complement-click/index.js.map +1 -1
  281. package/lib/directives/index.js +3 -0
  282. package/lib/directives/index.js.map +1 -0
  283. package/lib/directives/plate-wave/index.js.map +1 -1
  284. package/lib/directives/plate-wave/plate-wave.scss +44 -33
  285. package/lib/directives/theme-class/index.js +24 -0
  286. package/lib/directives/theme-class/index.js.map +1 -0
  287. package/lib/etc/index.js.map +1 -1
  288. package/lib/i18n/built-in.js.map +1 -1
  289. package/lib/i18n/config.js.map +1 -1
  290. package/lib/i18n/types.js.map +1 -1
  291. package/lib/index.js +3 -3
  292. package/lib/index.js.map +1 -1
  293. package/lib/locales/en.js.map +1 -1
  294. package/lib/locales/index.js.map +1 -1
  295. package/lib/locales/ko.js.map +1 -1
  296. package/lib/mixins/di.js.map +1 -1
  297. package/lib/mixins/rebind-attrs.js +0 -2
  298. package/lib/mixins/rebind-attrs.js.map +1 -1
  299. package/lib/styles/_elevation.scss +0 -1
  300. package/lib/styles/base.scss +3 -1
  301. package/lib/styles/settings/_elevation.scss +12 -12
  302. package/lib/styles/settings/_provided.scss +33 -33
  303. package/lib/styles/theme/dark.scss +3 -3
  304. package/lib/styles/theme/index.scss +4 -5
  305. package/lib/styles/theme/light.scss +3 -3
  306. package/lib/styles/util/_mixin.scss +16 -16
  307. package/lib/types/index.js.map +1 -1
  308. package/lib/util/anchor.js.map +1 -1
  309. package/lib/util/array.js.map +1 -1
  310. package/lib/util/collection.js.map +1 -1
  311. package/lib/util/color/apca.js +31 -30
  312. package/lib/util/color/apca.js.map +1 -1
  313. package/lib/util/color/const.js.map +1 -1
  314. package/lib/util/color/contrast/contrast.js.map +1 -1
  315. package/lib/util/color/conversion.js.map +1 -1
  316. package/lib/util/color/hct/cam16.js +95 -95
  317. package/lib/util/color/hct/cam16.js.map +1 -1
  318. package/lib/util/color/hct/hct-solver.js +113 -113
  319. package/lib/util/color/hct/hct-solver.js.map +1 -1
  320. package/lib/util/color/hct/hct.js +71 -71
  321. package/lib/util/color/hct/hct.js.map +1 -1
  322. package/lib/util/color/hct/viewing-conditions.js +6 -4
  323. package/lib/util/color/hct/viewing-conditions.js.map +1 -1
  324. package/lib/util/color/index.js +12 -12
  325. package/lib/util/color/index.js.map +1 -1
  326. package/lib/util/color/palettes/core-palette.js.map +1 -1
  327. package/lib/util/color/palettes/tonal-palette.js +3 -3
  328. package/lib/util/color/palettes/tonal-palette.js.map +1 -1
  329. package/lib/util/color/types.js.map +1 -1
  330. package/lib/util/color/utils/math-utils.js +62 -62
  331. package/lib/util/color/utils/math-utils.js.map +1 -1
  332. package/lib/util/common.js +28 -13
  333. package/lib/util/common.js.map +1 -1
  334. package/lib/util/component/component.js.map +1 -1
  335. package/lib/util/component/index.js.map +1 -1
  336. package/lib/util/component/inject-self.js.map +1 -1
  337. package/lib/util/component/props.js.map +1 -1
  338. package/lib/util/component/types.js.map +1 -1
  339. package/lib/util/date/adapters/yuyeon-date-adapter.js +3 -3
  340. package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -1
  341. package/lib/util/date/built-in.js +2 -0
  342. package/lib/util/date/built-in.js.map +1 -1
  343. package/lib/util/date/index.js +1 -1
  344. package/lib/util/date/index.js.map +1 -1
  345. package/lib/util/date/types.js.map +1 -1
  346. package/lib/util/debounce.js +1 -1
  347. package/lib/util/debounce.js.map +1 -1
  348. package/lib/util/dom.js +10 -1
  349. package/lib/util/dom.js.map +1 -1
  350. package/lib/util/environments.js.map +1 -1
  351. package/lib/util/frame-scheduler.js +3 -3
  352. package/lib/util/frame-scheduler.js.map +1 -1
  353. package/lib/util/index.js +11 -11
  354. package/lib/util/index.js.map +1 -1
  355. package/lib/util/reactivity.js +3 -3
  356. package/lib/util/reactivity.js.map +1 -1
  357. package/lib/util/rect.js.map +1 -1
  358. package/lib/util/scroll.js.map +1 -1
  359. package/lib/util/string.js +3 -1
  360. package/lib/util/string.js.map +1 -1
  361. package/lib/util/ui.js +8 -7
  362. package/lib/util/ui.js.map +1 -1
  363. package/lib/util/validation.js.map +1 -1
  364. package/package.json +11 -2
  365. package/types/abstract/items.d.ts +4 -4
  366. package/types/components/alert/YAlert.d.ts +2 -2
  367. package/types/components/badge/YBadge.d.ts +9 -3
  368. package/types/components/button/YButton.d.ts +3 -3
  369. package/types/components/checkbox/YCheckbox.d.ts +4 -4
  370. package/types/components/chip/YChip.d.ts +0 -3
  371. package/types/components/date-picker/YDateCalendar.d.ts +4 -3
  372. package/types/components/date-picker/YDatePickerControl.d.ts +7 -7
  373. package/types/components/dialog/YDialog.d.ts +116 -6484
  374. package/types/components/draggable/YDraggable.d.ts +6 -6
  375. package/types/components/dropdown/YDropdown.d.ts +87 -87
  376. package/types/components/field-input/YFieldInput.d.ts +14 -14
  377. package/types/components/form/YForm.d.ts +3 -3
  378. package/types/components/icon/YIcon.d.ts +4 -4
  379. package/types/components/icons/YIconPageControl.d.ts +1 -1
  380. package/types/components/icons/YIconSort.d.ts +1 -1
  381. package/types/components/icons/index.d.ts +4 -4
  382. package/types/components/img/YImg.d.ts +30 -27
  383. package/types/components/img/index.d.ts +1 -0
  384. package/types/components/index.d.ts +1 -0
  385. package/types/components/input/YInput.d.ts +13 -13
  386. package/types/components/ip-field/YIpv4Field.d.ts +5 -5
  387. package/types/components/layer/YLayer.d.ts +59 -3242
  388. package/types/components/layer/base.d.ts +4 -0
  389. package/types/components/layer/scroll-strategies.d.ts +4 -4
  390. package/types/components/menu/YMenu.d.ts +83 -6451
  391. package/types/components/pagination/YPagination.d.ts +3 -3
  392. package/types/components/select/YSelect.d.ts +172 -496
  393. package/types/components/slider/YSlider.d.ts +1 -1
  394. package/types/components/snackbar/YSnackbar.d.ts +55 -55
  395. package/types/components/tab/YTab.d.ts +3 -3
  396. package/types/components/tab/YTabs.d.ts +1 -1
  397. package/types/components/table/YDataTable.d.ts +30 -87
  398. package/types/components/table/YDataTableBody.d.ts +3 -3
  399. package/types/components/table/YDataTableCell.d.ts +2 -2
  400. package/types/components/table/YDataTableControl.d.ts +6 -6
  401. package/types/components/table/YDataTableLayer.d.ts +2 -2
  402. package/types/components/table/YDataTableRow.d.ts +1 -1
  403. package/types/components/table/YDataTableServer.d.ts +37 -94
  404. package/types/components/table/YTable.d.ts +3 -3
  405. package/types/components/table/composables/expand.d.ts +4 -4
  406. package/types/components/table/composables/header.d.ts +16 -48
  407. package/types/components/table/composables/items.d.ts +2 -2
  408. package/types/components/table/composables/pagination.d.ts +10 -10
  409. package/types/components/table/composables/selection.d.ts +6 -6
  410. package/types/components/table/composables/sorting.d.ts +8 -14
  411. package/types/components/table/types/item.d.ts +1 -1
  412. package/types/components/textarea/YTextarea.d.ts +30 -30
  413. package/types/components/tooltip/YTooltip.d.ts +67 -67
  414. package/types/components/tree-view/YTreeView.d.ts +21 -29
  415. package/types/components/tree-view/YTreeViewNode.d.ts +76 -6
  416. package/types/components/tree-view/tree-view.d.ts +19 -3
  417. package/types/composables/choice.d.ts +2 -2
  418. package/types/composables/coordinate/index.d.ts +28 -3207
  419. package/types/composables/coordinate/levitation.d.ts +4 -2
  420. package/types/composables/coordinate/types.d.ts +1 -0
  421. package/types/composables/dimension.d.ts +6 -6
  422. package/types/composables/form.d.ts +17 -27
  423. package/types/composables/list-items.d.ts +3 -3
  424. package/types/composables/style-color.d.ts +22 -1
  425. package/types/composables/theme/index.d.ts +1 -0
  426. package/types/composables/transition.d.ts +10 -10
  427. package/types/composables/validation.d.ts +6 -6
  428. package/types/composables/vue-router.d.ts +3 -3
  429. package/types/declares.d.ts +1 -0
  430. package/types/directives/index.d.ts +2 -0
  431. package/types/directives/plate-wave/index.d.ts +7 -1
  432. package/types/globals.d.ts +4 -5
  433. package/types/shims.d.ts +65 -59
  434. package/types/types/index.d.ts +3 -0
  435. package/types/util/anchor.d.ts +1 -1
  436. package/types/util/common.d.ts +3 -0
  437. package/types/util/component/component.d.ts +1 -2
  438. package/types/util/component/props.d.ts +1 -1
  439. package/types/util/component/types.d.ts +1 -1
  440. package/types/util/date/index.d.ts +1 -1
  441. package/types/util/dom.d.ts +2 -0
  442. package/types/util/index.d.ts +11 -11
  443. package/types/components/table/composibles/header.d.ts +0 -207
  444. package/types/components/table/composibles/items.d.ts +0 -55
  445. package/types/components/table/composibles/measure.d.ts +0 -8
  446. package/types/components/table/composibles/options.d.ts +0 -11
  447. package/types/components/table/composibles/pagination.d.ts +0 -81
  448. package/types/components/table/composibles/selection.d.ts +0 -82
  449. package/types/components/table/composibles/sorted-items.d.ts +0 -7
  450. package/types/components/table/composibles/sorting.d.ts +0 -62
  451. /package/types/directives/{theme-class.d.ts → theme-class/index.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"YTooltip.js","names":["computed","nextTick","ref","watch","useModelDuplex","useRender","pressPolyTransitionPropsOptions","omit","bindClasses","chooseProps","defineComponent","propsFactory","YLayer","pressYLayerProps","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","coordinateStrategy","scrollStrategy","openOnHover","align","offset","transition","pressYTooltipPropsOptions","YTooltip","name","props","emits","setup","_ref","slots","emit","expose","layer$","contentEl","baseEl","value","classes","boundClasses","model","active","get","set","v","disabled","hovered","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","el","addEventListener","unbindHover","removeEventListener","old","_createVNode","_Fragment","_mergeProps","$event","_len","arguments","length","args","_key","base","_len2","_key2","el$"],"sources":["../../../src/components/tooltip/YTooltip.tsx"],"sourcesContent":["import { type PropType, computed, nextTick, ref, watch } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { pressPolyTransitionPropsOptions } from '@/composables/transition';\nimport { omit } from '@/util/common';\nimport {\n bindClasses,\n chooseProps,\n defineComponent,\n propsFactory,\n} from '@/util/component';\n\nimport { YLayer, pressYLayerProps } from '../layer';\nimport { useDelay } from '../layer/active-delay';\nimport { YPlate } from '../plate';\n\nimport './YTooltip.scss';\n\nconst NAME = 'YTooltip';\n\nconst YTooltipPropOptions = {\n tooltipClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n preventClip: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n ...pressYLayerProps({\n coordinateStrategy: 'levitation' as const,\n scrollStrategy: 'reposition' as const,\n openOnHover: true,\n align: 'center',\n offset: 8,\n }),\n ...pressPolyTransitionPropsOptions({\n transition: 'fade',\n }),\n};\n\nexport const pressYTooltipPropsOptions = propsFactory(\n YTooltipPropOptions,\n 'YTooltip',\n);\n\n/**\n * # Component\n */\nexport const YTooltip = defineComponent<\n ReturnType<typeof pressYTooltipPropsOptions>\n>({\n name: NAME,\n props: {\n ...pressYTooltipPropsOptions(),\n },\n emits: ['update:modelValue'],\n setup(props, { slots, emit, expose }) {\n const layer$ = ref<typeof YLayer>();\n const contentEl = ref<HTMLElement>();\n const baseEl = computed(() => {\n return layer$.value?.baseEl;\n });\n\n const classes = computed(() => {\n const boundClasses = bindClasses(props.tooltipClasses);\n return {\n ...boundClasses,\n 'y-tooltip': true,\n };\n });\n\n const model = useModelDuplex(props);\n\n const active = computed({\n get: (): boolean => {\n return !!model.value;\n },\n set: (v: boolean) => {\n if (!(v && props.disabled)) model.value = v;\n },\n });\n\n const hovered = computed(() => !!layer$.value?.hovered);\n\n watch(active, (neo) => {\n if (neo) {\n nextTick(() => {\n const $content = layer$.value?.content$;\n contentEl.value = $content;\n });\n }\n });\n\n const { startOpenDelay, startCloseDelay } = useDelay(\n props,\n (changeActive) => {\n if (!changeActive && props.openOnHover && !hovered.value) {\n active.value = false;\n } else if (changeActive) {\n active.value = true;\n }\n },\n );\n\n function onMouseenter(e: MouseEvent) {\n if (props.openOnHover) {\n startOpenDelay();\n }\n }\n\n function onMouseleave(e: MouseEvent) {\n if (props.openOnHover) {\n startCloseDelay();\n }\n }\n\n watch(hovered, (value) => {\n if (!value) {\n startCloseDelay();\n }\n });\n\n function bindHover(el: HTMLElement) {\n el.addEventListener?.('mouseenter', onMouseenter);\n el.addEventListener?.('mouseleave', onMouseleave);\n }\n\n function unbindHover(el: HTMLElement) {\n el.removeEventListener?.('mouseenter', onMouseenter);\n el.removeEventListener?.('mouseleave', onMouseleave);\n }\n\n watch(\n () => layer$.value?.baseEl,\n (neo, old) => {\n if (neo) {\n bindHover(neo);\n } else if (old) {\n unbindHover(old);\n }\n },\n );\n\n expose({\n layer$,\n baseEl,\n });\n\n useRender(() => {\n return (\n <>\n <YLayer\n ref={layer$}\n {...omit(chooseProps(props, YLayer.props), ['scrim'])}\n classes={classes.value}\n scrim={false}\n transition={props.transition}\n v-model={active.value}\n >\n {{\n default: (...args: any) => {\n return (\n <>\n <YPlate></YPlate>\n <div class=\"y-tooltip__content\">\n {slots.default?.(...args) ?? ''}\n </div>\n </>\n );\n },\n base: (...args: any[]) => slots.base?.(...args),\n }}\n </YLayer>\n </>\n );\n });\n\n return {\n layer$,\n el$: layer$,\n baseEl,\n active,\n };\n },\n});\n\nexport type YTooltip = InstanceType<typeof YTooltip>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YTooltip.js","names":["computed","nextTick","ref","watch","Fragment","_Fragment","createVNode","_createVNode","mergeProps","_mergeProps","useModelDuplex","useRender","pressPolyTransitionPropsOptions","omit","bindClasses","chooseProps","defineComponent","propsFactory","pressYLayerProps","YLayer","useDelay","YPlate","NAME","YTooltipPropOptions","tooltipClasses","type","Array","String","Object","preventClip","Boolean","default","coordinateStrategy","scrollStrategy","openOnHover","align","offset","transition","pressYTooltipPropsOptions","YTooltip","name","props","emits","setup","_ref","slots","emit","expose","layer$","contentEl","baseEl","value","classes","boundClasses","model","active","get","set","v","disabled","hovered","neo","$content","content$","startOpenDelay","startCloseDelay","changeActive","onMouseenter","e","onMouseleave","bindHover","el","addEventListener","unbindHover","removeEventListener","old","$event","_len","arguments","length","args","_key","base","_len2","_key2","el$"],"sources":["../../../src/components/tooltip/YTooltip.tsx"],"sourcesContent":["import { computed, nextTick, type PropType, ref, watch } from \"vue\";\r\n\r\nimport { useModelDuplex } from \"@/composables/communication\";\r\nimport { useRender } from \"@/composables/component\";\r\nimport { pressPolyTransitionPropsOptions } from \"@/composables/transition\";\r\nimport { omit } from \"@/util/common\";\r\nimport {\r\n\tbindClasses,\r\n\tchooseProps,\r\n\tdefineComponent,\r\n\tpropsFactory,\r\n} from \"@/util/component\";\r\n\r\nimport { pressYLayerProps, YLayer } from \"../layer\";\r\nimport { useDelay } from \"../layer/active-delay\";\r\nimport { YPlate } from \"../plate\";\r\n\r\nimport \"./YTooltip.scss\";\r\n\r\nconst NAME = \"YTooltip\";\r\n\r\nconst YTooltipPropOptions = {\r\n\ttooltipClasses: {\r\n\t\ttype: [Array, String, Object] as PropType<\r\n\t\t\tstring[] | string | Record<string, any>\r\n\t\t>,\r\n\t},\r\n\tpreventClip: {\r\n\t\ttype: Boolean as PropType<boolean>,\r\n\t\tdefault: true,\r\n\t},\r\n\t...pressYLayerProps({\r\n\t\tcoordinateStrategy: \"levitation\" as const,\r\n\t\tscrollStrategy: \"reposition\" as const,\r\n\t\topenOnHover: true,\r\n\t\talign: \"center\",\r\n\t\toffset: 8,\r\n\t}),\r\n\t...pressPolyTransitionPropsOptions({\r\n\t\ttransition: \"fade\",\r\n\t}),\r\n};\r\n\r\nexport const pressYTooltipPropsOptions = propsFactory(\r\n\tYTooltipPropOptions,\r\n\t\"YTooltip\",\r\n);\r\n\r\n/**\r\n * # Component\r\n */\r\nexport const YTooltip = defineComponent<\r\n\tReturnType<typeof pressYTooltipPropsOptions>\r\n>({\r\n\tname: NAME,\r\n\tprops: {\r\n\t\t...pressYTooltipPropsOptions(),\r\n\t},\r\n\temits: [\"update:modelValue\"],\r\n\tsetup(props, { slots, emit, expose }) {\r\n\t\tconst layer$ = ref<typeof YLayer>();\r\n\t\tconst contentEl = ref<HTMLElement>();\r\n\t\tconst baseEl = computed(() => {\r\n\t\t\treturn layer$.value?.baseEl;\r\n\t\t});\r\n\r\n\t\tconst classes = computed(() => {\r\n\t\t\tconst boundClasses = bindClasses(props.tooltipClasses);\r\n\t\t\treturn {\r\n\t\t\t\t...boundClasses,\r\n\t\t\t\t\"y-tooltip\": true,\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\tconst model = useModelDuplex(props);\r\n\r\n\t\tconst active = computed({\r\n\t\t\tget: (): boolean => {\r\n\t\t\t\treturn !!model.value;\r\n\t\t\t},\r\n\t\t\tset: (v: boolean) => {\r\n\t\t\t\tif (!(v && props.disabled)) model.value = v;\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tconst hovered = computed(() => !!layer$.value?.hovered);\r\n\r\n\t\twatch(active, (neo) => {\r\n\t\t\tif (neo) {\r\n\t\t\t\tnextTick(() => {\r\n\t\t\t\t\tconst $content = layer$.value?.content$;\r\n\t\t\t\t\tcontentEl.value = $content;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst { startOpenDelay, startCloseDelay } = useDelay(\r\n\t\t\tprops,\r\n\t\t\t(changeActive) => {\r\n\t\t\t\tif (!changeActive && props.openOnHover && !hovered.value) {\r\n\t\t\t\t\tactive.value = false;\r\n\t\t\t\t} else if (changeActive) {\r\n\t\t\t\t\tactive.value = true;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t);\r\n\r\n\t\tfunction onMouseenter(e: MouseEvent) {\r\n\t\t\tif (props.openOnHover) {\r\n\t\t\t\tstartOpenDelay();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction onMouseleave(e: MouseEvent) {\r\n\t\t\tif (props.openOnHover) {\r\n\t\t\t\tstartCloseDelay();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\twatch(hovered, (value) => {\r\n\t\t\tif (!value) {\r\n\t\t\t\tstartCloseDelay();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfunction bindHover(el: HTMLElement) {\r\n\t\t\tel.addEventListener?.(\"mouseenter\", onMouseenter);\r\n\t\t\tel.addEventListener?.(\"mouseleave\", onMouseleave);\r\n\t\t}\r\n\r\n\t\tfunction unbindHover(el: HTMLElement) {\r\n\t\t\tel.removeEventListener?.(\"mouseenter\", onMouseenter);\r\n\t\t\tel.removeEventListener?.(\"mouseleave\", onMouseleave);\r\n\t\t}\r\n\r\n\t\twatch(\r\n\t\t\t() => layer$.value?.baseEl,\r\n\t\t\t(neo, old) => {\r\n\t\t\t\tif (neo) {\r\n\t\t\t\t\tbindHover(neo);\r\n\t\t\t\t} else if (old) {\r\n\t\t\t\t\tunbindHover(old);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t);\r\n\r\n\t\texpose({\r\n\t\t\tlayer$,\r\n\t\t\tbaseEl,\r\n\t\t});\r\n\r\n\t\tuseRender(() => {\r\n\t\t\treturn (\r\n\t\t\t\t<YLayer\r\n\t\t\t\t\tref={layer$}\r\n\t\t\t\t\t{...omit(chooseProps(props, YLayer.props), [\"scrim\"])}\r\n\t\t\t\t\tclasses={classes.value}\r\n\t\t\t\t\tscrim={false}\r\n\t\t\t\t\ttransition={props.transition}\r\n\t\t\t\t\tv-model={active.value}\r\n\t\t\t\t>\r\n\t\t\t\t\t{{\r\n\t\t\t\t\t\tdefault: (...args: any) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t<YPlate></YPlate>\r\n\t\t\t\t\t\t\t\t\t<div class=\"y-tooltip__content\">\r\n\t\t\t\t\t\t\t\t\t\t{slots.default?.(...args) ?? \"\"}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tbase: (...args: any[]) => slots.base?.(...args),\r\n\t\t\t\t\t}}\r\n\t\t\t\t</YLayer>\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\treturn {\r\n\t\t\tlayer$,\r\n\t\t\tel$: layer$,\r\n\t\t\tbaseEl,\r\n\t\t\tactive,\r\n\t\t};\r\n\t},\r\n});\r\n\r\nexport type YTooltip = InstanceType<typeof YTooltip>;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/tooltip/index.ts"],"sourcesContent":["export * from './YTooltip';\n"],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/tooltip/index.ts"],"sourcesContent":["export * from './YTooltip';\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"expand-transition.js","names":["Transition","defineComponent","h","ref","kebabToCamel","createExpandTransition","isHorizon","arguments","length","undefined","direction","name","sizeProperty","offsetProperty","getExpandTransitionHooks","cache","relay","resetStyle","el","_originStyle","style","overflow","flex","size","cacheSize","rect","getBoundingClientRect","value","onBeforeEnter","_parent","parentNode","transition","onEnter","originStyle","setProperty","offsetSize","requestAnimationFrame","onAfterEnter","onEnterCancelled","onLeave","onAfterLeave","onLeaveCancelled","props","disabled","type","Boolean","default","setup","_ref","slots","cacheValue","css"],"sources":["../../../src/components/transitions/expand-transition.ts"],"sourcesContent":["import {\n type PropType,\n type Ref,\n Transition,\n defineComponent,\n h,\n ref,\n} from 'vue';\n\nimport { kebabToCamel } from '@/util/string';\n\ntype HTMLParentElement = (Node & ParentNode & HTMLElement) | null;\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: HTMLParentElement;\n _originStyle?: {\n transition: string;\n overflow: string;\n height?: string | null;\n width?: string | null;\n flex: string;\n };\n}\n\nexport function createExpandTransition(isHorizon = false) {\n const direction = isHorizon ? 'h' : 'v';\n const name = `expand-${direction}-transition`;\n const sizeProperty = isHorizon ? 'width' : 'height';\n const offsetProperty = kebabToCamel(`offset-${sizeProperty}`) as\n | 'offsetWidth'\n | 'offsetHeight';\n\n function getExpandTransitionHooks(\n cache: Ref<number | undefined>,\n relay: boolean,\n ): Record<string, any> {\n function resetStyle(el: HTMLExpandElement) {\n if (el._originStyle) {\n el.style.overflow = el._originStyle.overflow;\n el.style.flex = el._originStyle.flex;\n const size = el._originStyle[sizeProperty];\n if (size != null) {\n el.style[sizeProperty] = size;\n }\n }\n delete el._originStyle;\n }\n\n function cacheSize(el: HTMLExpandElement) {\n if (relay && el) {\n const rect = el.getBoundingClientRect();\n cache.value = rect?.[sizeProperty];\n }\n }\n\n return {\n onBeforeEnter(el: HTMLExpandElement) {\n el._parent = el.parentNode as HTMLParentElement;\n el._originStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n flex: el.style.flex,\n };\n },\n onEnter(el: HTMLExpandElement) {\n const originStyle = el._originStyle;\n el.style.setProperty('transition', 'none', 'important');\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n const offsetSize = `${el[offsetProperty]}px`;\n if (relay && cache.value != null) {\n el.style[sizeProperty] = `${cache.value}px`;\n } else {\n el.style[sizeProperty] = '0';\n }\n el.getBoundingClientRect();\n el.style.transition = originStyle?.transition ?? '';\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offsetSize;\n });\n },\n onAfterEnter(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onEnterCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeave(el: HTMLExpandElement) {\n cacheSize(el);\n if (relay) {\n return;\n }\n el._originStyle = {\n transition: '',\n overflow: el.style.overflow,\n flex: el.style.flex,\n [sizeProperty]: el.style[sizeProperty],\n };\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n el.getBoundingClientRect();\n requestAnimationFrame(() => {\n el.style[sizeProperty] = '0';\n });\n },\n onAfterLeave(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeaveCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n };\n }\n\n return defineComponent({\n name,\n props: {\n disabled: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n relay: Boolean,\n },\n setup(props, { slots }) {\n const cacheValue = ref<number | undefined>();\n return () =>\n h(\n Transition,\n {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.disabled\n ? {}\n : getExpandTransitionHooks(cacheValue, props.relay)),\n },\n slots.default,\n );\n },\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"expand-transition.js","names":["Transition","defineComponent","h","ref","kebabToCamel","createExpandTransition","isHorizon","arguments","length","undefined","direction","name","sizeProperty","offsetProperty","getExpandTransitionHooks","cache","relay","resetStyle","el","_originStyle","style","overflow","flex","size","cacheSize","rect","getBoundingClientRect","value","onBeforeEnter","_parent","parentNode","transition","onEnter","originStyle","setProperty","offsetSize","requestAnimationFrame","onAfterEnter","onEnterCancelled","onLeave","onAfterLeave","onLeaveCancelled","props","disabled","type","Boolean","default","setup","_ref","slots","cacheValue","css"],"sources":["../../../src/components/transitions/expand-transition.ts"],"sourcesContent":["import {\n type PropType,\n type Ref,\n Transition,\n defineComponent,\n h,\n ref,\n} from 'vue';\n\nimport { kebabToCamel } from '@/util/string';\n\ntype HTMLParentElement = (Node & ParentNode & HTMLElement) | null;\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: HTMLParentElement;\n _originStyle?: {\n transition: string;\n overflow: string;\n height?: string | null;\n width?: string | null;\n flex: string;\n };\n}\n\nexport function createExpandTransition(isHorizon = false) {\n const direction = isHorizon ? 'h' : 'v';\n const name = `expand-${direction}-transition`;\n const sizeProperty = isHorizon ? 'width' : 'height';\n const offsetProperty = kebabToCamel(`offset-${sizeProperty}`) as\n | 'offsetWidth'\n | 'offsetHeight';\n\n function getExpandTransitionHooks(\n cache: Ref<number | undefined>,\n relay: boolean,\n ): Record<string, any> {\n function resetStyle(el: HTMLExpandElement) {\n if (el._originStyle) {\n el.style.overflow = el._originStyle.overflow;\n el.style.flex = el._originStyle.flex;\n const size = el._originStyle[sizeProperty];\n if (size != null) {\n el.style[sizeProperty] = size;\n }\n }\n delete el._originStyle;\n }\n\n function cacheSize(el: HTMLExpandElement) {\n if (relay && el) {\n const rect = el.getBoundingClientRect();\n cache.value = rect?.[sizeProperty];\n }\n }\n\n return {\n onBeforeEnter(el: HTMLExpandElement) {\n el._parent = el.parentNode as HTMLParentElement;\n el._originStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n flex: el.style.flex,\n };\n },\n onEnter(el: HTMLExpandElement) {\n const originStyle = el._originStyle;\n el.style.setProperty('transition', 'none', 'important');\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n const offsetSize = `${el[offsetProperty]}px`;\n if (relay && cache.value != null) {\n el.style[sizeProperty] = `${cache.value}px`;\n } else {\n el.style[sizeProperty] = '0';\n }\n el.getBoundingClientRect();\n el.style.transition = originStyle?.transition ?? '';\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offsetSize;\n });\n },\n onAfterEnter(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onEnterCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeave(el: HTMLExpandElement) {\n cacheSize(el);\n if (relay) {\n return;\n }\n el._originStyle = {\n transition: '',\n overflow: el.style.overflow,\n flex: el.style.flex,\n [sizeProperty]: el.style[sizeProperty],\n };\n el.style.overflow = 'hidden';\n el.style.flex = '0 0 auto';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n el.getBoundingClientRect();\n requestAnimationFrame(() => {\n el.style[sizeProperty] = '0';\n });\n },\n onAfterLeave(el: HTMLExpandElement) {\n resetStyle(el);\n },\n onLeaveCancelled(el: HTMLExpandElement) {\n resetStyle(el);\n },\n };\n }\n\n return defineComponent({\n name,\n props: {\n disabled: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n relay: Boolean,\n },\n setup(props, { slots }) {\n const cacheValue = ref<number | undefined>();\n return () =>\n h(\n Transition,\n {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.disabled\n ? {}\n : getExpandTransitionHooks(cacheValue, props.relay)),\n },\n slots.default,\n );\n },\n });\n}\n"],"mappings":"AAAA,SAGEA,UAAU,EACVC,eAAe,EACfC,CAAC,EACDC,GAAG,QACE,KAAK;AAAC,SAEJC,YAAY;AAcrB,OAAO,SAASC,sBAAsBA,CAAA,EAAoB;EAAA,IAAnBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EACtD,MAAMG,SAAS,GAAGJ,SAAS,GAAG,GAAG,GAAG,GAAG;EACvC,MAAMK,IAAI,GAAG,UAAUD,SAAS,aAAa;EAC7C,MAAME,YAAY,GAAGN,SAAS,GAAG,OAAO,GAAG,QAAQ;EACnD,MAAMO,cAAc,GAAGT,YAAY,CAAC,UAAUQ,YAAY,EAAE,CAE1C;EAElB,SAASE,wBAAwBA,CAC/BC,KAA8B,EAC9BC,KAAc,EACO;IACrB,SAASC,UAAUA,CAACC,EAAqB,EAAE;MACzC,IAAIA,EAAE,CAACC,YAAY,EAAE;QACnBD,EAAE,CAACE,KAAK,CAACC,QAAQ,GAAGH,EAAE,CAACC,YAAY,CAACE,QAAQ;QAC5CH,EAAE,CAACE,KAAK,CAACE,IAAI,GAAGJ,EAAE,CAACC,YAAY,CAACG,IAAI;QACpC,MAAMC,IAAI,GAAGL,EAAE,CAACC,YAAY,CAACP,YAAY,CAAC;QAC1C,IAAIW,IAAI,IAAI,IAAI,EAAE;UAChBL,EAAE,CAACE,KAAK,CAACR,YAAY,CAAC,GAAGW,IAAI;QAC/B;MACF;MACA,OAAOL,EAAE,CAACC,YAAY;IACxB;IAEA,SAASK,SAASA,CAACN,EAAqB,EAAE;MACxC,IAAIF,KAAK,IAAIE,EAAE,EAAE;QACf,MAAMO,IAAI,GAAGP,EAAE,CAACQ,qBAAqB,CAAC,CAAC;QACvCX,KAAK,CAACY,KAAK,GAAGF,IAAI,GAAGb,YAAY,CAAC;MACpC;IACF;IAEA,OAAO;MACLgB,aAAaA,CAACV,EAAqB,EAAE;QACnCA,EAAE,CAACW,OAAO,GAAGX,EAAE,CAACY,UAA+B;QAC/CZ,EAAE,CAACC,YAAY,GAAG;UAChBY,UAAU,EAAEb,EAAE,CAACE,KAAK,CAACW,UAAU;UAC/BV,QAAQ,EAAEH,EAAE,CAACE,KAAK,CAACC,QAAQ;UAC3B,CAACT,YAAY,GAAGM,EAAE,CAACE,KAAK,CAACR,YAAY,CAAC;UACtCU,IAAI,EAAEJ,EAAE,CAACE,KAAK,CAACE;QACjB,CAAC;MACH,CAAC;MACDU,OAAOA,CAACd,EAAqB,EAAE;QAC7B,MAAMe,WAAW,GAAGf,EAAE,CAACC,YAAY;QACnCD,EAAE,CAACE,KAAK,CAACc,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC;QACvDhB,EAAE,CAACE,KAAK,CAACC,QAAQ,GAAG,QAAQ;QAC5BH,EAAE,CAACE,KAAK,CAACE,IAAI,GAAG,UAAU;QAC1B,MAAMa,UAAU,GAAG,GAAGjB,EAAE,CAACL,cAAc,CAAC,IAAI;QAC5C,IAAIG,KAAK,IAAID,KAAK,CAACY,KAAK,IAAI,IAAI,EAAE;UAChCT,EAAE,CAACE,KAAK,CAACR,YAAY,CAAC,GAAG,GAAGG,KAAK,CAACY,KAAK,IAAI;QAC7C,CAAC,MAAM;UACLT,EAAE,CAACE,KAAK,CAACR,YAAY,CAAC,GAAG,GAAG;QAC9B;QACAM,EAAE,CAACQ,qBAAqB,CAAC,CAAC;QAC1BR,EAAE,CAACE,KAAK,CAACW,UAAU,GAAGE,WAAW,EAAEF,UAAU,IAAI,EAAE;QAEnDK,qBAAqB,CAAC,MAAM;UAC1BlB,EAAE,CAACE,KAAK,CAACR,YAAY,CAAC,GAAGuB,UAAU;QACrC,CAAC,CAAC;MACJ,CAAC;MACDE,YAAYA,CAACnB,EAAqB,EAAE;QAClCD,UAAU,CAACC,EAAE,CAAC;MAChB,CAAC;MACDoB,gBAAgBA,CAACpB,EAAqB,EAAE;QACtCD,UAAU,CAACC,EAAE,CAAC;MAChB,CAAC;MACDqB,OAAOA,CAACrB,EAAqB,EAAE;QAC7BM,SAAS,CAACN,EAAE,CAAC;QACb,IAAIF,KAAK,EAAE;UACT;QACF;QACAE,EAAE,CAACC,YAAY,GAAG;UAChBY,UAAU,EAAE,EAAE;UACdV,QAAQ,EAAEH,EAAE,CAACE,KAAK,CAACC,QAAQ;UAC3BC,IAAI,EAAEJ,EAAE,CAACE,KAAK,CAACE,IAAI;UACnB,CAACV,YAAY,GAAGM,EAAE,CAACE,KAAK,CAACR,YAAY;QACvC,CAAC;QACDM,EAAE,CAACE,KAAK,CAACC,QAAQ,GAAG,QAAQ;QAC5BH,EAAE,CAACE,KAAK,CAACE,IAAI,GAAG,UAAU;QAC1BJ,EAAE,CAACE,KAAK,CAACR,YAAY,CAAC,GAAG,GAAGM,EAAE,CAACL,cAAc,CAAC,IAAI;QAClDK,EAAE,CAACQ,qBAAqB,CAAC,CAAC;QAC1BU,qBAAqB,CAAC,MAAM;UAC1BlB,EAAE,CAACE,KAAK,CAACR,YAAY,CAAC,GAAG,GAAG;QAC9B,CAAC,CAAC;MACJ,CAAC;MACD4B,YAAYA,CAACtB,EAAqB,EAAE;QAClCD,UAAU,CAACC,EAAE,CAAC;MAChB,CAAC;MACDuB,gBAAgBA,CAACvB,EAAqB,EAAE;QACtCD,UAAU,CAACC,EAAE,CAAC;MAChB;IACF,CAAC;EACH;EAEA,OAAOjB,eAAe,CAAC;IACrBU,IAAI;IACJ+B,KAAK,EAAE;MACLC,QAAQ,EAAE;QACRC,IAAI,EAAEC,OAA4B;QAClCC,OAAO,EAAE;MACX,CAAC;MACD9B,KAAK,EAAE6B;IACT,CAAC;IACDE,KAAKA,CAACL,KAAK,EAAAM,IAAA,EAAa;MAAA,IAAX;QAAEC;MAAM,CAAC,GAAAD,IAAA;MACpB,MAAME,UAAU,GAAG/C,GAAG,CAAqB,CAAC;MAC5C,OAAO,MACLD,CAAC,CACCF,UAAU,EACV;QACEW,IAAI,EAAE+B,KAAK,CAACC,QAAQ,GAAG,EAAE,GAAGhC,IAAI;QAChCwC,GAAG,EAAE,CAACT,KAAK,CAACC,QAAQ;QACpB,IAAID,KAAK,CAACC,QAAQ,GACd,CAAC,CAAC,GACF7B,wBAAwB,CAACoC,UAAU,EAAER,KAAK,CAAC1B,KAAK,CAAC;MACvD,CAAC,EACDiC,KAAK,CAACH,OACR,CAAC;IACL;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createExpandTransition","YExpandVTransition","YExpandHTransition"],"sources":["../../../src/components/transitions/index.ts"],"sourcesContent":["import { createExpandTransition } from './expand-transition';\n\nexport const YExpandVTransition = createExpandTransition(false);\nexport const YExpandHTransition = createExpandTransition(true);\n\nexport type YExpandVTransition = InstanceType<typeof YExpandVTransition>;\nexport type YExpandHTransition = InstanceType<typeof YExpandHTransition>;\n"],"mappings":"SAASA,sBAAsB;AAE/B,OAAO,MAAMC,kBAAkB,GAAGD,sBAAsB,CAAC,KAAK,CAAC;AAC/D,OAAO,MAAME,kBAAkB,GAAGF,sBAAsB,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"index.js","names":["createExpandTransition","YExpandVTransition","YExpandHTransition"],"sources":["../../../src/components/transitions/index.ts"],"sourcesContent":["import { createExpandTransition } from './expand-transition';\n\nexport const YExpandVTransition = createExpandTransition(false);\nexport const YExpandHTransition = createExpandTransition(true);\n\nexport type YExpandVTransition = InstanceType<typeof YExpandVTransition>;\nexport type YExpandHTransition = InstanceType<typeof YExpandHTransition>;\n"],"mappings":"SAASA,sBAAsB;AAE/B,OAAO,MAAMC,kBAAkB,GAAGD,sBAAsB,CAAC,KAAK,CAAC;AAC/D,OAAO,MAAME,kBAAkB,GAAGF,sBAAsB,CAAC,IAAI,CAAC","ignoreList":[]}
@@ -1,19 +1,18 @@
1
- import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { computed, defineComponent, onMounted, ref, shallowRef, watch } from 'vue';
1
+ import { computed, defineComponent, onMounted, ref, shallowRef, watch, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps, createTextVNode as _createTextVNode } from "vue";
3
2
  import { provideTreeView } from "./tree-view.js";
4
3
  import { useRender } from "../../composables/component.js";
5
4
  import { differenceBetween } from "../../util/array.js";
6
5
  import { isColorValue } from "../../util/color/index.js";
7
- import { deepEqual, getObjectValueByPath, hasOwnProperty } from "../../util/common.js";
6
+ import { deepEqual, getObjectValueByPath } from "../../util/common.js";
8
7
  import { chooseProps } from "../../util/component/index.js";
9
8
  import { debounce } from "../../util/debounce.js";
10
9
  import { YProgressBar } from "../progress-bar/index.js";
11
- import { YTreeViewNode, pressYTreeViewNodeProps } from "./YTreeViewNode.js";
12
10
  import { filterTreeItem, filterTreeItems, getKeys } from "./util.js";
11
+ import { pressYTreeViewNodeProps, YTreeViewNode } from "./YTreeViewNode.js";
13
12
  import "./YTreeView.scss";
14
13
  const treeViewNodeProps = pressYTreeViewNodeProps();
15
14
  export const YTreeView = defineComponent({
16
- name: 'YTreeView',
15
+ name: "YTreeView",
17
16
  props: {
18
17
  expanded: {
19
18
  type: [Array],
@@ -24,23 +23,11 @@ export const YTreeView = defineComponent({
24
23
  default: () => []
25
24
  },
26
25
  multipleActive: Boolean,
27
- activeStrategy: {
28
- /**
29
- * cascade: only descendent leaves
30
- * relative: cascade after check parent (ancestor)
31
- */
32
- type: String,
33
- default: 'independent'
34
- },
35
26
  onlyEventActiveStrategy: Boolean,
36
27
  selected: {
37
28
  type: [Array],
38
29
  default: () => []
39
30
  },
40
- selectStrategy: {
41
- type: String,
42
- default: 'leaf'
43
- },
44
31
  returnItem: Boolean,
45
32
  defaultExpand: [Boolean, String, Number],
46
33
  filter: Function,
@@ -50,11 +37,10 @@ export const YTreeView = defineComponent({
50
37
  },
51
38
  ...treeViewNodeProps
52
39
  },
53
- emits: ['update:expanded', 'update:active', 'update:selected'],
40
+ emits: ["update:expanded", "update:active", "update:selected"],
54
41
  setup(props, _ref) {
55
42
  let {
56
43
  slots,
57
- emit,
58
44
  expose
59
45
  } = _ref;
60
46
  const filterItemsFn = shallowRef(debounce(excludeItem, props.searchDebounceWait));
@@ -79,7 +65,7 @@ export const YTreeView = defineComponent({
79
65
  isExcluded
80
66
  } = provideTreeView(props);
81
67
  function excludeItem(items) {
82
- let search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
68
+ let search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
83
69
  let filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : filterTreeItem;
84
70
  const excluded = new Set();
85
71
  if (!search) {
@@ -95,7 +81,7 @@ export const YTreeView = defineComponent({
95
81
  return;
96
82
  }
97
83
  for (const item of items) {
98
- filterTreeItems(filter, item, search ?? '', props.itemKey, props.itemText, props.itemChildren, excluded);
84
+ filterTreeItems(filter, item, search ?? "", props.itemKey, props.itemText, props.itemChildren, excluded);
99
85
  }
100
86
  excludedSet.value = excluded;
101
87
  searchLoading.value = false;
@@ -118,7 +104,7 @@ export const YTreeView = defineComponent({
118
104
  for (const item of items) {
119
105
  const key = getObjectValueByPath(item, props.itemKey);
120
106
  const children = getObjectValueByPath(item, props.itemChildren) ?? [];
121
- const exist = hasOwnProperty(nodes.value, key);
107
+ const exist = Object.hasOwn(nodes.value, key);
122
108
  const existNode = exist ? nodes.value[key] : {
123
109
  vnode: null,
124
110
  selected: selected.value?.includes(key) ?? false,
@@ -175,8 +161,12 @@ export const YTreeView = defineComponent({
175
161
  if (deepEqual(old, valuesOfKey)) {
176
162
  return;
177
163
  }
178
- old.forEach(key => updater(key, false));
179
- valuesOfKey.forEach(key => updater(key, true));
164
+ old.forEach(key => {
165
+ updater(key, false);
166
+ });
167
+ valuesOfKey.forEach(key => {
168
+ updater(key, true);
169
+ });
180
170
  emitter();
181
171
  }
182
172
  watch(expanded, neo => {
@@ -195,7 +185,9 @@ export const YTreeView = defineComponent({
195
185
  if (diff.length < 1 && neoKeys.length < oldKeys.length) {
196
186
  return;
197
187
  }
198
- diff.forEach(k => delete nodes.value[k]);
188
+ diff.forEach(k => {
189
+ delete nodes.value[k];
190
+ });
199
191
 
200
192
  // init
201
193
  const oldSelected = [...selectedSet.value];
@@ -213,7 +205,7 @@ export const YTreeView = defineComponent({
213
205
  filterItemsFn.value(neo, props.search, props.filter);
214
206
  }, {
215
207
  deep: true,
216
- flush: 'sync'
208
+ flush: "sync"
217
209
  });
218
210
 
219
211
  // Provide & Issue
@@ -226,7 +218,7 @@ export const YTreeView = defineComponent({
226
218
  });
227
219
  const classes = computed(() => {
228
220
  return {
229
- 'y-tree-view': true
221
+ "y-tree-view": true
230
222
  };
231
223
  });
232
224
  const styles = computed(() => {
@@ -246,7 +238,9 @@ export const YTreeView = defineComponent({
246
238
  if (props.defaultExpand != null && props.defaultExpand !== false) {
247
239
  expandedCache.value = [...expand(props.defaultExpand)];
248
240
  } else {
249
- expanded.value.forEach(v => updateExpanded(getNodeKey(v), true));
241
+ expanded.value.forEach(v => {
242
+ updateExpanded(getNodeKey(v), true);
243
+ });
250
244
  emitExpanded();
251
245
  }
252
246
  for (const activeValue of props.active.map(getNodeKey)) {
@@ -276,7 +270,7 @@ export const YTreeView = defineComponent({
276
270
  }), slots);
277
271
  }) : _createVNode("div", {
278
272
  "class": "y-tree-view__no-data"
279
- }, [slots['no-data'] ? slots['no-data']() : _createVNode("span", null, [_createTextVNode("No Data")])])])]);
273
+ }, [slots["no-data"] ? slots["no-data"]() : _createVNode("span", null, [_createTextVNode("No Data")])])])]);
280
274
  });
281
275
  return {
282
276
  nodes,
@@ -1 +1 @@
1
- {"version":3,"file":"YTreeView.js","names":["computed","defineComponent","onMounted","ref","shallowRef","watch","provideTreeView","useRender","differenceBetween","isColorValue","deepEqual","getObjectValueByPath","hasOwnProperty","chooseProps","debounce","YProgressBar","YTreeViewNode","pressYTreeViewNodeProps","filterTreeItem","filterTreeItems","getKeys","treeViewNodeProps","YTreeView","name","props","expanded","type","Array","default","active","multipleActive","Boolean","activeStrategy","String","onlyEventActiveStrategy","selected","selectStrategy","returnItem","defaultExpand","Number","filter","Function","searchDebounceWait","emits","setup","_ref","slots","emit","expose","filterItemsFn","excludeItem","expandedCache","nodes","expandedSet","selectedSet","activeSet","searchLoading","excludedSet","issueVnodeState","updateExpanded","updateActive","updateSelected","emitExpanded","emitActive","emitSelected","isExcluded","items","search","arguments","length","undefined","excluded","Set","value","diff","forEach","key","item","itemKey","itemText","itemChildren","expand","getNodeKey","itemOrKey","updateNodes","parentKey","level","children","exist","existNode","vnode","includes","indeterminate","node","childKeys","map","child","add","neo","deep","until","Object","entries","_ref2","stateWatcher","stateSet","updater","emitter","valuesOfKey","v","old","oldKeys","keys","nodeKey","neoKeys","k","oldSelected","oldActive","clear","flush","renderLeaves","slice","leaf","classes","styles","color","activeColor","activeValue","selectedValue","_createVNode","_Fragment","_mergeProps","_createTextVNode"],"sources":["../../../src/components/tree-view/YTreeView.tsx"],"sourcesContent":["import {\n type PropType,\n type Ref,\n computed,\n defineComponent,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { provideTreeView } from '@/components/tree-view/tree-view';\nimport { useRender } from '@/composables/component';\nimport { CandidateKey } from '@/types';\nimport { differenceBetween } from '@/util/array';\nimport { isColorValue } from '@/util/color';\nimport { deepEqual, getObjectValueByPath, hasOwnProperty } from '@/util/common';\nimport { chooseProps } from '@/util/component';\nimport { debounce } from '@/util/debounce';\n\nimport { YProgressBar } from '../progress-bar';\nimport { YTreeViewNode, pressYTreeViewNodeProps } from './YTreeViewNode';\nimport { NodeState, TreeviewFilterFn } from './types';\nimport { filterTreeItem, filterTreeItems, getKeys } from './util';\n\nimport './YTreeView.scss';\n\nconst treeViewNodeProps = pressYTreeViewNodeProps();\n\nexport const YTreeView = defineComponent({\n name: 'YTreeView',\n props: {\n expanded: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n active: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n multipleActive: Boolean,\n activeStrategy: {\n /**\n * cascade: only descendent leaves\n * relative: cascade after check parent (ancestor)\n */\n type: String as PropType<'independent' | 'cascade' | 'relative'>,\n default: 'independent',\n },\n onlyEventActiveStrategy: Boolean,\n selected: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n selectStrategy: {\n type: String as PropType<'independent' | 'cascade'>,\n default: 'leaf',\n },\n returnItem: Boolean,\n defaultExpand: [Boolean, String, Number],\n filter: Function as PropType<TreeviewFilterFn>,\n searchDebounceWait: {\n type: Number as PropType<number>,\n default: 700,\n },\n ...treeViewNodeProps,\n },\n emits: ['update:expanded', 'update:active', 'update:selected'],\n setup(props, { slots, emit, expose }) {\n const filterItemsFn = shallowRef(\n debounce(excludeItem, props.searchDebounceWait),\n );\n const expandedCache = ref<CandidateKey[]>([]);\n\n const {\n nodes,\n expanded,\n active,\n selected,\n expandedSet,\n selectedSet,\n activeSet,\n searchLoading,\n excludedSet,\n issueVnodeState,\n updateExpanded,\n updateActive,\n updateSelected,\n emitExpanded,\n emitActive,\n emitSelected,\n isExcluded,\n } = provideTreeView(props);\n\n function excludeItem(items: any[], search = '', filter = filterTreeItem) {\n const excluded = new Set<CandidateKey>();\n if (!search) {\n searchLoading.value = false;\n excludedSet.value = excluded;\n const diff = differenceBetween(expandedCache.value, [\n ...expandedSet.value,\n ]);\n diff.forEach((key) => {\n updateExpanded(key, false);\n });\n expandedCache.value.forEach((key) => {\n updateExpanded(key, true);\n });\n return;\n }\n for (const item of items) {\n filterTreeItems(\n filter,\n item,\n search ?? '',\n props.itemKey,\n props.itemText,\n props.itemChildren as string,\n excluded,\n );\n }\n excludedSet.value = excluded;\n searchLoading.value = false;\n expand();\n }\n\n watch(\n () => props.search,\n () => {\n searchLoading.value = true;\n filterItemsFn.value(props.items, props.search, props.filter);\n },\n );\n\n // Util Methods\n function getNodeKey(itemOrKey: any) {\n return props.returnItem\n ? getObjectValueByPath(itemOrKey, props.itemKey)\n : itemOrKey;\n }\n\n // State Methods\n function updateNodes(\n items: any[],\n parentKey: CandidateKey | null = null,\n level = 0,\n ) {\n for (const item of items) {\n const key = getObjectValueByPath(item, props.itemKey);\n const children =\n getObjectValueByPath(item, props.itemChildren as string) ?? [];\n const exist = hasOwnProperty(nodes.value, key);\n const existNode = exist\n ? nodes.value[key]\n : {\n vnode: null,\n selected: selected.value?.includes(key) ?? false,\n indeterminate: false,\n active: active.value?.includes(key) ?? false,\n expanded: expanded.value?.includes(key) ?? false,\n };\n const node: NodeState = {\n vnode: existNode.vnode,\n item,\n level,\n parentKey,\n childKeys: children.map((child: any) =>\n getObjectValueByPath(child, props.itemKey),\n ),\n expanded: children.length > 0 && existNode.expanded,\n active: existNode.active,\n indeterminate: existNode.indeterminate,\n selected: existNode.selected,\n };\n\n updateNodes(children, key, level + 1);\n\n nodes.value[key] = node;\n if (nodes.value[key].expanded) {\n expandedSet.value.add(key);\n }\n if (nodes.value[key].selected) {\n selectedSet.value.add(key);\n }\n if (nodes.value[key].active) {\n activeSet.value.add(key);\n }\n issueVnodeState(key);\n }\n }\n\n watch(\n expandedSet,\n (neo) => {\n if (!props.search) {\n expandedCache.value = [...neo];\n }\n },\n { deep: true },\n );\n\n function expand(until: boolean | string | number = true) {\n Object.entries(nodes.value).forEach(([key, node]) => {\n if (until === true || Number(until) >= node.level) {\n updateExpanded(key, true);\n }\n });\n emitExpanded();\n return expandedSet.value;\n }\n\n function stateWatcher(\n value: any[],\n stateSet: Ref<Set<CandidateKey>>,\n updater: (key: CandidateKey, to: boolean) => void,\n emitter: () => void,\n ) {\n const valuesOfKey = props.returnItem\n ? value.map((v) => getObjectValueByPath(v, props.itemKey))\n : value;\n const old = [...stateSet.value];\n if (deepEqual(old, valuesOfKey)) {\n return;\n }\n old.forEach((key) => updater(key, false));\n valuesOfKey.forEach((key) => updater(key, true));\n emitter();\n }\n\n watch(expanded, (neo) => {\n stateWatcher(neo, expandedSet, updateExpanded, emitExpanded);\n });\n\n watch(active, (neo) => {\n stateWatcher(neo, activeSet, updateActive, emitActive);\n });\n\n watch(selected, (neo) => {\n stateWatcher(neo, selectedSet, updateSelected, emitSelected);\n });\n\n watch(\n () => props.items,\n (neo: any[]) => {\n const oldKeys = Object.keys(nodes.value).map((nodeKey) =>\n getObjectValueByPath(nodes.value[nodeKey].item, props.itemKey),\n );\n const neoKeys = getKeys(\n neo,\n props.itemKey,\n props.itemChildren as string,\n );\n const diff = differenceBetween(oldKeys, neoKeys);\n if (diff.length < 1 && neoKeys.length < oldKeys.length) {\n return;\n }\n diff.forEach((k) => delete nodes.value[k]);\n\n // init\n const oldSelected = [...selectedSet.value];\n const oldActive = [...activeSet.value];\n selectedSet.value.clear();\n expandedSet.value.clear();\n activeSet.value.clear();\n updateNodes(neo);\n if (!deepEqual(oldSelected, [...selectedSet.value])) {\n emitSelected();\n }\n if (!deepEqual(oldActive, [...activeSet.value])) {\n emitActive();\n }\n filterItemsFn.value(neo, props.search, props.filter);\n },\n { deep: true, flush: 'sync' },\n );\n\n // Provide & Issue\n\n updateNodes(props.items);\n\n const renderLeaves = computed(() => {\n return props.items.slice().filter((leaf) => {\n return !isExcluded(getObjectValueByPath(leaf, props.itemKey));\n });\n });\n\n const classes = computed(() => {\n return {\n 'y-tree-view': true,\n };\n });\n\n const styles = computed(() => {\n let color = props.activeColor;\n if (props.activeColor && !isColorValue(props.activeColor)) {\n color = `var(--y-theme-${props.activeColor})`;\n }\n return {\n [`--y-tree-view__active-color`]: color,\n };\n });\n\n onMounted(() => {\n if (props.search) {\n searchLoading.value = true;\n excludeItem(props.items, props.search, props.filter);\n }\n\n if (props.defaultExpand != null && props.defaultExpand !== false) {\n expandedCache.value = [...expand(props.defaultExpand)];\n } else {\n expanded.value.forEach((v: any) => updateExpanded(getNodeKey(v), true));\n emitExpanded();\n }\n\n for (const activeValue of props.active.map(getNodeKey)) {\n updateActive(activeValue, true);\n }\n\n for (const selectedValue of props.selected.map(getNodeKey)) {\n updateSelected(selectedValue, true);\n }\n });\n\n expose({\n expand,\n });\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} style={styles.value} role=\"tree\">\n {searchLoading.value && <YProgressBar indeterminate />}\n {renderLeaves.value.length > 0 ? (\n renderLeaves.value.slice().map((leaf) => {\n return (\n <YTreeViewNode\n v-slots={slots}\n key={getObjectValueByPath(leaf, props.itemKey)}\n {...{\n ...chooseProps(props, treeViewNodeProps),\n item: leaf,\n level: 0,\n }}\n ></YTreeViewNode>\n );\n })\n ) : (\n <div class=\"y-tree-view__no-data\">\n {slots['no-data'] ? slots['no-data']() : <span>No Data</span>}\n </div>\n )}\n </div>\n </>\n );\n });\n\n return {\n nodes,\n expandedSet,\n selectedSet,\n activeSet,\n excludedSet,\n searchLoading,\n expandedCache,\n renderLeaves,\n };\n },\n});\n\nexport type YTreeView = InstanceType<typeof YTreeView>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YTreeView.js","names":["computed","defineComponent","onMounted","ref","shallowRef","watch","Fragment","_Fragment","createVNode","_createVNode","mergeProps","_mergeProps","createTextVNode","_createTextVNode","provideTreeView","useRender","differenceBetween","isColorValue","deepEqual","getObjectValueByPath","chooseProps","debounce","YProgressBar","filterTreeItem","filterTreeItems","getKeys","pressYTreeViewNodeProps","YTreeViewNode","treeViewNodeProps","YTreeView","name","props","expanded","type","Array","default","active","multipleActive","Boolean","onlyEventActiveStrategy","selected","returnItem","defaultExpand","String","Number","filter","Function","searchDebounceWait","emits","setup","_ref","slots","expose","filterItemsFn","excludeItem","expandedCache","nodes","expandedSet","selectedSet","activeSet","searchLoading","excludedSet","issueVnodeState","updateExpanded","updateActive","updateSelected","emitExpanded","emitActive","emitSelected","isExcluded","items","search","arguments","length","undefined","excluded","Set","value","diff","forEach","key","item","itemKey","itemText","itemChildren","expand","getNodeKey","itemOrKey","updateNodes","parentKey","level","children","exist","Object","hasOwn","existNode","vnode","includes","indeterminate","node","childKeys","map","child","add","neo","deep","until","entries","_ref2","stateWatcher","stateSet","updater","emitter","valuesOfKey","v","old","oldKeys","keys","nodeKey","neoKeys","k","oldSelected","oldActive","clear","flush","renderLeaves","slice","leaf","classes","styles","color","activeColor","activeValue","selectedValue"],"sources":["../../../src/components/tree-view/YTreeView.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n onMounted,\n type PropType,\n type Ref,\n ref,\n shallowRef,\n watch,\n} from \"vue\";\n\nimport { provideTreeView } from \"@/components/tree-view/tree-view\";\nimport { useRender } from \"@/composables/component\";\nimport type { CandidateKey } from \"@/types\";\nimport { differenceBetween } from \"@/util/array\";\nimport { isColorValue } from \"@/util/color\";\nimport { deepEqual, getObjectValueByPath } from \"@/util/common\";\nimport { chooseProps } from \"@/util/component\";\nimport { debounce } from \"@/util/debounce\";\n\nimport { YProgressBar } from \"../progress-bar\";\nimport type { NodeState, TreeviewFilterFn } from \"./types\";\nimport { filterTreeItem, filterTreeItems, getKeys } from \"./util\";\nimport { pressYTreeViewNodeProps, YTreeViewNode } from \"./YTreeViewNode\";\n\nimport \"./YTreeView.scss\";\n\nconst treeViewNodeProps = pressYTreeViewNodeProps();\n\nexport const YTreeView = defineComponent({\n name: \"YTreeView\",\n props: {\n expanded: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n active: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n multipleActive: Boolean,\n onlyEventActiveStrategy: Boolean,\n selected: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n returnItem: Boolean,\n defaultExpand: [Boolean, String, Number],\n filter: Function as PropType<TreeviewFilterFn>,\n searchDebounceWait: {\n type: Number as PropType<number>,\n default: 700,\n },\n ...treeViewNodeProps,\n },\n emits: [\"update:expanded\", \"update:active\", \"update:selected\"],\n setup(props, { slots, expose }) {\n const filterItemsFn = shallowRef(\n debounce(excludeItem, props.searchDebounceWait),\n );\n const expandedCache = ref<CandidateKey[]>([]);\n\n const {\n nodes,\n expanded,\n active,\n selected,\n expandedSet,\n selectedSet,\n activeSet,\n searchLoading,\n excludedSet,\n issueVnodeState,\n updateExpanded,\n updateActive,\n updateSelected,\n emitExpanded,\n emitActive,\n emitSelected,\n isExcluded,\n } = provideTreeView(props);\n\n function excludeItem(items: any[], search = \"\", filter = filterTreeItem) {\n const excluded = new Set<CandidateKey>();\n if (!search) {\n searchLoading.value = false;\n excludedSet.value = excluded;\n const diff = differenceBetween(expandedCache.value, [\n ...expandedSet.value,\n ]);\n diff.forEach((key) => {\n updateExpanded(key, false);\n });\n expandedCache.value.forEach((key) => {\n updateExpanded(key, true);\n });\n return;\n }\n for (const item of items) {\n filterTreeItems(\n filter,\n item,\n search ?? \"\",\n props.itemKey,\n props.itemText,\n props.itemChildren as string,\n excluded,\n );\n }\n excludedSet.value = excluded;\n searchLoading.value = false;\n expand();\n }\n\n watch(\n () => props.search,\n () => {\n searchLoading.value = true;\n filterItemsFn.value(props.items, props.search, props.filter);\n },\n );\n\n // Util Methods\n function getNodeKey(itemOrKey: any) {\n return props.returnItem\n ? getObjectValueByPath(itemOrKey, props.itemKey)\n : itemOrKey;\n }\n\n // State Methods\n function updateNodes(\n items: any[],\n parentKey: CandidateKey | null = null,\n level = 0,\n ) {\n for (const item of items) {\n const key = getObjectValueByPath(item, props.itemKey);\n const children =\n getObjectValueByPath(item, props.itemChildren as string) ?? [];\n const exist = Object.hasOwn(nodes.value, key);\n const existNode = exist\n ? nodes.value[key]\n : {\n vnode: null,\n selected: selected.value?.includes(key) ?? false,\n indeterminate: false,\n active: active.value?.includes(key) ?? false,\n expanded: expanded.value?.includes(key) ?? false,\n };\n const node: NodeState = {\n vnode: existNode.vnode,\n item,\n level,\n parentKey,\n childKeys: children.map((child: any) =>\n getObjectValueByPath(child, props.itemKey),\n ),\n expanded: children.length > 0 && existNode.expanded,\n active: existNode.active,\n indeterminate: existNode.indeterminate,\n selected: existNode.selected,\n };\n\n updateNodes(children, key, level + 1);\n\n nodes.value[key] = node;\n if (nodes.value[key].expanded) {\n expandedSet.value.add(key);\n }\n if (nodes.value[key].selected) {\n selectedSet.value.add(key);\n }\n if (nodes.value[key].active) {\n activeSet.value.add(key);\n }\n issueVnodeState(key);\n }\n }\n\n watch(\n expandedSet,\n (neo) => {\n if (!props.search) {\n expandedCache.value = [...neo];\n }\n },\n { deep: true },\n );\n\n function expand(until: boolean | string | number = true) {\n Object.entries(nodes.value).forEach(([key, node]) => {\n if (until === true || Number(until) >= node.level) {\n updateExpanded(key, true);\n }\n });\n emitExpanded();\n return expandedSet.value;\n }\n\n function stateWatcher(\n value: any[],\n stateSet: Ref<Set<CandidateKey>>,\n updater: (key: CandidateKey, to: boolean) => void,\n emitter: () => void,\n ) {\n const valuesOfKey = props.returnItem\n ? value.map((v) => getObjectValueByPath(v, props.itemKey))\n : value;\n const old = [...stateSet.value];\n if (deepEqual(old, valuesOfKey)) {\n return;\n }\n old.forEach((key) => {\n updater(key, false)\n });\n valuesOfKey.forEach((key) => {\n updater(key, true)\n });\n emitter();\n }\n\n watch(expanded, (neo) => {\n stateWatcher(neo, expandedSet, updateExpanded, emitExpanded);\n });\n\n watch(active, (neo) => {\n stateWatcher(neo, activeSet, updateActive, emitActive);\n });\n\n watch(selected, (neo) => {\n stateWatcher(neo, selectedSet, updateSelected, emitSelected);\n });\n\n watch(\n () => props.items,\n (neo: any[]) => {\n const oldKeys = Object.keys(nodes.value).map((nodeKey) =>\n getObjectValueByPath(nodes.value[nodeKey].item, props.itemKey),\n );\n const neoKeys = getKeys(\n neo,\n props.itemKey,\n props.itemChildren as string,\n );\n const diff = differenceBetween(oldKeys, neoKeys);\n if (diff.length < 1 && neoKeys.length < oldKeys.length) {\n return;\n }\n diff.forEach((k) => {\n delete nodes.value[k]\n });\n\n // init\n const oldSelected = [...selectedSet.value];\n const oldActive = [...activeSet.value];\n selectedSet.value.clear();\n expandedSet.value.clear();\n activeSet.value.clear();\n updateNodes(neo);\n if (!deepEqual(oldSelected, [...selectedSet.value])) {\n emitSelected();\n }\n if (!deepEqual(oldActive, [...activeSet.value])) {\n emitActive();\n }\n filterItemsFn.value(neo, props.search, props.filter);\n },\n { deep: true, flush: \"sync\" },\n );\n\n // Provide & Issue\n\n updateNodes(props.items);\n\n const renderLeaves = computed(() => {\n return props.items.slice().filter((leaf) => {\n return !isExcluded(getObjectValueByPath(leaf, props.itemKey));\n });\n });\n\n const classes = computed(() => {\n return {\n \"y-tree-view\": true,\n };\n });\n\n const styles = computed(() => {\n let color = props.activeColor;\n if (props.activeColor && !isColorValue(props.activeColor)) {\n color = `var(--y-theme-${props.activeColor})`;\n }\n return {\n [`--y-tree-view__active-color`]: color,\n };\n });\n\n onMounted(() => {\n if (props.search) {\n searchLoading.value = true;\n excludeItem(props.items, props.search, props.filter);\n }\n\n if (props.defaultExpand != null && props.defaultExpand !== false) {\n expandedCache.value = [...expand(props.defaultExpand)];\n } else {\n expanded.value.forEach((v: any) => {\n updateExpanded(getNodeKey(v), true)\n });\n emitExpanded();\n }\n\n for (const activeValue of props.active.map(getNodeKey)) {\n updateActive(activeValue, true);\n }\n\n for (const selectedValue of props.selected.map(getNodeKey)) {\n updateSelected(selectedValue, true);\n }\n });\n\n expose({\n expand,\n });\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} style={styles.value} role=\"tree\">\n {searchLoading.value && <YProgressBar indeterminate />}\n {renderLeaves.value.length > 0 ? (\n renderLeaves.value.slice().map((leaf) => {\n return (\n <YTreeViewNode\n v-slots={slots}\n key={getObjectValueByPath(leaf, props.itemKey)}\n {...{\n ...chooseProps(props, treeViewNodeProps),\n item: leaf,\n level: 0,\n }}\n ></YTreeViewNode>\n );\n })\n ) : (\n <div class=\"y-tree-view__no-data\">\n {slots[\"no-data\"] ? slots[\"no-data\"]() : <span>No Data</span>}\n </div>\n )}\n </div>\n </>\n );\n });\n\n return {\n nodes,\n expandedSet,\n selectedSet,\n activeSet,\n excludedSet,\n searchLoading,\n expandedCache,\n renderLeaves,\n };\n },\n});\n\nexport type YTreeView = InstanceType<typeof YTreeView>;\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,12 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
- import { computed, getCurrentInstance, mergeProps, onBeforeMount, ref, resolveComponent } from 'vue';
1
+ /** biome-ignore-all lint/a11y/noStaticElementInteractions: <explanation> */
2
+ /** biome-ignore-all lint/a11y/useFocusableInteractive: <explanation> */
3
+ /** biome-ignore-all lint/a11y/useKeyWithClickEvents: <explanation> */
4
+ import { computed, mergeProps, onBeforeMount, ref, resolveComponent, watch, createVNode as _createVNode, mergeProps as _mergeProps } from 'vue';
3
5
  import { pressItemsPropsOptions } from "../../abstract/items.js";
4
6
  import { useTreeView } from "./tree-view.js";
5
7
  import { useRender } from "../../composables/component.js";
6
8
  import { getObjectValueByPath } from "../../util/common.js";
7
- import { defineComponent } from "../../util/component/index.js";
8
- import { propsFactory } from "../../util/component/index.js";
9
+ import { defineComponent, propsFactory } from "../../util/component/index.js";
9
10
  import { YButton } from "../button/index.js";
10
11
  import { YIconCheckbox, YIconExpand } from "../icons/index.js";
11
12
  import { YPlate } from "../plate/index.js";
@@ -15,6 +16,14 @@ export const pressYTreeViewNodeProps = propsFactory({
15
16
  search: String,
16
17
  disableTransition: Boolean,
17
18
  enableActive: Boolean,
19
+ activeStrategy: {
20
+ /**
21
+ * cascade: only action descendent leaves
22
+ * relative: cascade after check parent (ancestor)
23
+ */
24
+ type: String,
25
+ default: 'independent'
26
+ },
18
27
  activeClass: [String, Array],
19
28
  activeSingleModifier: String,
20
29
  requiredActive: Boolean,
@@ -23,6 +32,15 @@ export const pressYTreeViewNodeProps = propsFactory({
23
32
  default: 'primary'
24
33
  },
25
34
  enableSelect: Boolean,
35
+ selectStrategy: {
36
+ /**
37
+ * cascade: only action descendent leaves
38
+ * relative: cascade after check parent (ancestor)
39
+ * leaves: relative after return values only leaf
40
+ */
41
+ type: String,
42
+ default: 'relative'
43
+ },
26
44
  onMouseenterContainer: Function,
27
45
  onMouseleaveContainer: Function,
28
46
  onMousemoveContainer: Function,
@@ -30,6 +48,10 @@ export const pressYTreeViewNodeProps = propsFactory({
30
48
  itemKey: 'id'
31
49
  })
32
50
  }, 'YTreeViewNode');
51
+
52
+ /**
53
+ * TODO: correct selected values what selectStrategy leaf or others
54
+ */
33
55
  export const YTreeViewNode = defineComponent({
34
56
  name: 'YTreeNode',
35
57
  components: {
@@ -55,17 +77,35 @@ export const YTreeViewNode = defineComponent({
55
77
  expose
56
78
  } = _ref;
57
79
  const YTreeNode = resolveComponent('YTreeViewNode', true);
58
- const vm = getCurrentInstance();
59
80
  const treeView = useTreeView();
60
81
  const container$ = ref();
61
82
  const expanded = ref(false);
62
83
  const active = ref(false);
63
84
  const selected = ref(false);
64
- const immediate = ref(false);
85
+ const indeterminate = ref(false);
86
+ const myKey = computed(() => getObjectValueByPath(props.item, props.itemKey));
65
87
  const children = computed(() => {
66
88
  return (getObjectValueByPath(props.item, props.itemChildren) ?? []).slice();
67
89
  });
68
90
  const imLeaf = computed(() => children.value.length < 1);
91
+ const searchLoading = computed(() => {
92
+ return treeView.searchLoading.value;
93
+ });
94
+ const leaves = computed(() => {
95
+ return children.value.filter(leaf => {
96
+ return !treeView.isExcluded(getObjectValueByPath(leaf, props.itemKey));
97
+ });
98
+ });
99
+ const childrenSelection = computed(() => treeView.selectedState.value(myKey.value, children.value.map(child => getObjectValueByPath(child, props.itemKey))));
100
+ const childrenAllChecked = computed(() => {
101
+ return !!children.value?.length && childrenSelection.value.all;
102
+ });
103
+ const childrenSomeChecked = computed(() => {
104
+ return (props.selectStrategy === 'relative' || props.selectStrategy === 'leaf') && (children.value?.length ?? 0) > 0 && !childrenAllChecked.value && childrenSelection.value.some;
105
+ });
106
+ const isChecked = computed(() => {
107
+ return selected.value || props.selectStrategy === 'leaf' && childrenAllChecked.value;
108
+ });
69
109
  const classes = computed(() => {
70
110
  return {
71
111
  'y-tree-view-node': true,
@@ -89,13 +129,8 @@ export const YTreeViewNode = defineComponent({
89
129
  toggleActive
90
130
  };
91
131
  });
92
- const searchLoading = computed(() => {
93
- return treeView.searchLoading.value;
94
- });
95
- const leaves = computed(() => {
96
- return children.value.filter(leaf => {
97
- return !treeView.isExcluded(getObjectValueByPath(leaf, props.itemKey));
98
- });
132
+ watch(childrenSomeChecked, value => {
133
+ indeterminate.value = value;
99
134
  });
100
135
  function toggleActive(e) {
101
136
  const to = !active.value;
@@ -115,7 +150,7 @@ export const YTreeViewNode = defineComponent({
115
150
  }
116
151
  function onClickSelect(e) {
117
152
  e.stopPropagation();
118
- const to = !selected.value;
153
+ const to = !isChecked.value;
119
154
  selected.value = to;
120
155
  treeView.updateSelected(myKey.value, to);
121
156
  treeView.emitSelected();
@@ -167,11 +202,15 @@ export const YTreeViewNode = defineComponent({
167
202
  default: () => [slots['expand-icon'] ? slots['expand-icon']() : _createVNode(YIconExpand, null, null)]
168
203
  }) : _createVNode("i", {
169
204
  "class": 'y-tree-view-node__no-expand-icon'
170
- }, null), props.enableSelect && _createVNode("div", {
205
+ }, null), props.enableSelect && // biome-ignore lint/a11y/useSemanticElements: passive
206
+ _createVNode("div", {
171
207
  "class": 'y-tree-view-node__select',
208
+ "role": "checkbox",
209
+ "aria-checked": isChecked.value,
172
210
  "onClick": onClickSelect
173
211
  }, [_createVNode(YIconCheckbox, {
174
- "checked": selected.value
212
+ "checked": isChecked.value,
213
+ "indeterminate": !selected.value && childrenSomeChecked.value
175
214
  }, null)]), _createVNode("div", {
176
215
  "class": 'y-tree-view-node__content'
177
216
  }, [slots.leading && _createVNode("div", {
@@ -227,15 +266,12 @@ export const YTreeViewNode = defineComponent({
227
266
  })])]
228
267
  })]);
229
268
  });
230
- const myKey = computed(() => {
231
- return getObjectValueByPath(props.item, props.itemKey);
232
- });
233
269
  const nodeState = {
234
270
  myKey,
235
271
  expanded,
236
272
  active,
237
273
  selected,
238
- immediate
274
+ indeterminate
239
275
  };
240
276
  expose(nodeState);
241
277
  onBeforeMount(() => {
@@ -247,7 +283,8 @@ export const YTreeViewNode = defineComponent({
247
283
  expanded,
248
284
  active,
249
285
  selected,
250
- immediate
286
+ indeterminate,
287
+ childrenSelection
251
288
  };
252
289
  }
253
290
  });