@teammodlr/ui-kit 2.1.41 → 2.1.44

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 (326) hide show
  1. package/env.d.ts +1 -1
  2. package/lib/components/avatar/Avatar.vue.d.ts +1 -1
  3. package/lib/components/avatargroup/AvatarGroup.vue.d.ts +1 -1
  4. package/lib/components/badge/Badge.vue.d.ts +1 -1
  5. package/lib/components/breadcrumb/Breadcrumb.vue.d.ts +1 -1
  6. package/lib/components/breadcrumb/BreadcrumbItem.vue.d.ts +1 -1
  7. package/lib/components/button/Button.vue.d.ts +1 -1
  8. package/lib/components/buttongroup/ButtonGroup.vue.d.ts +1 -1
  9. package/lib/components/checkbox/Checkbox.vue.d.ts +4 -3
  10. package/lib/components/checkbox/style/Checkbox.css.d.ts +1 -0
  11. package/lib/components/colorpicker/ColorPicker.vue.d.ts +1 -1
  12. package/lib/components/configprovider/ConfigProvider.vue.d.ts +35 -0
  13. package/lib/components/configprovider/types.d.ts +3 -0
  14. package/lib/components/confirm/Confirm.vue.d.ts +1 -1
  15. package/lib/components/confirm/ConfirmProvider.vue.d.ts +1 -1
  16. package/lib/components/dialog/Dialog.vue.d.ts +1 -1
  17. package/lib/components/dropdown/Dropdown.vue.d.ts +1 -1
  18. package/lib/components/dropdown/DropdownHeading.vue.d.ts +1 -1
  19. package/lib/components/dropdown/DropdownItem.vue.d.ts +1 -1
  20. package/lib/components/dropdown/DropdownList.vue.d.ts +1 -1
  21. package/lib/components/dropdown/DropdownSeperator.vue.d.ts +1 -1
  22. package/lib/components/dropdown/DropdownWrapper.vue.d.ts +1 -1
  23. package/lib/components/form/Form.vue.d.ts +1 -1
  24. package/lib/components/image/Image.vue.d.ts +1 -1
  25. package/lib/components/index.d.ts +1 -0
  26. package/lib/components/input/Input.vue.d.ts +2 -2
  27. package/lib/components/link/Link.vue.d.ts +1 -1
  28. package/lib/components/messageprovider/Message.vue.d.ts +1 -1
  29. package/lib/components/messageprovider/MessageProvider.vue.d.ts +1 -1
  30. package/lib/components/modal/Modal.vue.d.ts +1 -1
  31. package/lib/components/pagination/Pagination.vue.d.ts +1 -1
  32. package/lib/components/radio/Radio.vue.d.ts +3 -3
  33. package/lib/components/radiobutton/RadioButton.vue.d.ts +1 -1
  34. package/lib/components/radiobuttongroup/RadioButtonGroup.vue.d.ts +1 -1
  35. package/lib/components/renderer/examlpes/basic.vue.d.ts +1 -1
  36. package/lib/components/renderer/renderer.d.ts +1 -1
  37. package/lib/components/select/Select.vue.d.ts +2 -2
  38. package/lib/components/skeleton/Skeleton.vue.d.ts +1 -1
  39. package/lib/components/slider/Slider.vue.d.ts +1 -1
  40. package/lib/components/switch/Switch.vue.d.ts +3 -3
  41. package/lib/components/tab/Tab.vue.d.ts +1 -1
  42. package/lib/components/tab/TabGroup.vue.d.ts +1 -1
  43. package/lib/components/table/Table.vue.d.ts +1 -1
  44. package/lib/components/table/TableBody.vue.d.ts +1 -1
  45. package/lib/components/table/TableCell.vue.d.ts +1 -1
  46. package/lib/components/table/TableHead.vue.d.ts +1 -1
  47. package/lib/components/table/TableHeadRow.vue.d.ts +1 -1
  48. package/lib/components/table/TableRow.vue.d.ts +1 -1
  49. package/lib/components/tag/Tag.vue.d.ts +1 -1
  50. package/lib/components/textarea/Textarea.vue.d.ts +2 -2
  51. package/lib/components/tooltip/Tooltip.vue.d.ts +1 -1
  52. package/lib/components/transfer/Transfer.vue.d.ts +1 -1
  53. package/lib/components/tree/Tree.vue.d.ts +1 -1
  54. package/lib/components/tree/TreeNode.vue.d.ts +1 -1
  55. package/lib/components/tree/TreeNodeToggle.vue.d.ts +1 -1
  56. package/lib/components/virtualscroll/VirtualScroll.vue.d.ts +1 -1
  57. package/lib/composables/useCachedUid.d.ts +1 -13
  58. package/lib/composables/useInput.d.ts +3 -3
  59. package/lib/index.cjs.js +10 -10
  60. package/lib/index.es.js +1347 -1338
  61. package/lib/nuxt.js +35 -35
  62. package/lib/nuxt.plugin.js +8 -8
  63. package/lib/style.css +1 -1
  64. package/lib/styles/theme.css.d.ts +1 -1
  65. package/package.json +89 -89
  66. package/src/__storybook__/argTypes.ts +53 -53
  67. package/src/__storybook__/createStory.ts +15 -15
  68. package/src/__storybook__/index.ts +2 -2
  69. package/src/call.ts +34 -34
  70. package/src/components/avatar/Avatar.vue +110 -110
  71. package/src/components/avatar/examples/basic.vue +6 -6
  72. package/src/components/avatar/examples/custom-size.vue +7 -7
  73. package/src/components/avatar/examples/index.ts +5 -5
  74. package/src/components/avatar/examples/sizes.vue +33 -33
  75. package/src/components/avatar/examples/slots.vue +8 -8
  76. package/src/components/avatar/examples/variants.vue +18 -18
  77. package/src/components/avatar/style/Avatar.css.ts +92 -92
  78. package/src/components/avatar/style/index.ts +1 -1
  79. package/src/components/avatargroup/AvatarGroup.vue +72 -72
  80. package/src/components/avatargroup/examples/basic.vue +37 -37
  81. package/src/components/avatargroup/examples/index.ts +1 -1
  82. package/src/components/avatargroup/style/AvatarGroup.css.ts +26 -26
  83. package/src/components/avatargroup/style/index.ts +1 -1
  84. package/src/components/avatargroup/symbol.ts +17 -17
  85. package/src/components/badge/Badge.vue +43 -43
  86. package/src/components/badge/examples/basic.vue +10 -10
  87. package/src/components/badge/examples/index.ts +1 -1
  88. package/src/components/badge/style/Badge.css.ts +135 -135
  89. package/src/components/badge/style/index.ts +1 -1
  90. package/src/components/breadcrumb/Breadcrumb.vue +54 -54
  91. package/src/components/breadcrumb/BreadcrumbItem.vue +72 -72
  92. package/src/components/breadcrumb/examples/basic.vue +7 -7
  93. package/src/components/breadcrumb/examples/index.ts +1 -1
  94. package/src/components/breadcrumb/style/Breadcrumb.css.ts +40 -40
  95. package/src/components/breadcrumb/style/index.ts +1 -1
  96. package/src/components/breadcrumb/symbol.ts +18 -18
  97. package/src/components/button/Button.vue +203 -203
  98. package/src/components/button/examples/basic.vue +3 -3
  99. package/src/components/button/examples/disabled.vue +3 -3
  100. package/src/components/button/examples/icon-left.vue +12 -12
  101. package/src/components/button/examples/icon.vue +9 -9
  102. package/src/components/button/examples/index.ts +9 -9
  103. package/src/components/button/examples/link.vue +3 -3
  104. package/src/components/button/examples/rounded.vue +7 -7
  105. package/src/components/button/examples/size.vue +7 -7
  106. package/src/components/button/examples/variants-secondary.vue +10 -10
  107. package/src/components/button/examples/variants.vue +10 -10
  108. package/src/components/button/style/Button.css.ts +695 -695
  109. package/src/components/button/style/index.ts +1 -1
  110. package/src/components/buttongroup/ButtonGroup.vue +36 -36
  111. package/src/components/buttongroup/examples/basic.vue +9 -9
  112. package/src/components/buttongroup/examples/icon-group.vue +21 -21
  113. package/src/components/buttongroup/examples/index.ts +2 -2
  114. package/src/components/buttongroup/style/ButtonGroup.css.ts +42 -42
  115. package/src/components/buttongroup/style/index.ts +1 -1
  116. package/src/components/buttongroup/symbol.ts +9 -9
  117. package/src/components/checkbox/Checkbox.vue +149 -145
  118. package/src/components/checkbox/examples/basic.vue +9 -9
  119. package/src/components/checkbox/examples/index.ts +2 -2
  120. package/src/components/checkbox/examples/slot.vue +14 -11
  121. package/src/components/checkbox/style/Checkbox.css.ts +178 -161
  122. package/src/components/checkbox/style/index.ts +1 -1
  123. package/src/components/colorpicker/ColorPicker.vue +333 -333
  124. package/src/components/colorpicker/examples/basic.vue +2 -2
  125. package/src/components/colorpicker/examples/index.ts +1 -1
  126. package/src/components/colorpicker/style/ColorPicker.css.ts +127 -127
  127. package/src/components/colorpicker/style/index.ts +1 -1
  128. package/src/components/colorpicker/utils.ts +206 -206
  129. package/src/components/configprovider/ConfigProvider.vue +26 -0
  130. package/src/components/configprovider/types.ts +3 -0
  131. package/src/components/confirm/Confirm.vue +65 -65
  132. package/src/components/confirm/ConfirmProvider.vue +83 -83
  133. package/src/components/confirm/examples/basic.vue +48 -48
  134. package/src/components/confirm/examples/index.ts +1 -1
  135. package/src/components/confirm/examples/wrapper.vue +9 -9
  136. package/src/components/confirm/props.ts +24 -24
  137. package/src/components/confirm/providerProps.ts +10 -10
  138. package/src/components/confirm/types.ts +33 -33
  139. package/src/components/confirm/useConfirm.ts +14 -14
  140. package/src/components/dialog/Dialog.vue +118 -118
  141. package/src/components/dialog/examples/basic.vue +16 -16
  142. package/src/components/dialog/examples/index.ts +1 -1
  143. package/src/components/dialog/style/Dialog.css.ts +100 -100
  144. package/src/components/dialog/style/index.ts +1 -1
  145. package/src/components/dropdown/Dropdown.vue +308 -308
  146. package/src/components/dropdown/DropdownHeading.vue +23 -23
  147. package/src/components/dropdown/DropdownItem.vue +151 -151
  148. package/src/components/dropdown/DropdownList.vue +20 -20
  149. package/src/components/dropdown/DropdownSeperator.vue +22 -22
  150. package/src/components/dropdown/DropdownWrapper.vue +18 -18
  151. package/src/components/dropdown/examples/basic.vue +119 -119
  152. package/src/components/dropdown/examples/context.vue +71 -71
  153. package/src/components/dropdown/examples/index.ts +3 -3
  154. package/src/components/dropdown/hooks.ts +30 -30
  155. package/src/components/dropdown/style/Dropdown.css.ts +158 -158
  156. package/src/components/dropdown/style/index.ts +1 -1
  157. package/src/components/dropdown/symbol.ts +9 -9
  158. package/src/components/form/Form.vue +153 -153
  159. package/src/components/form/examples/basic.vue +75 -75
  160. package/src/components/form/examples/index.ts +1 -1
  161. package/src/components/form/style/Form.css.ts +28 -28
  162. package/src/components/form/style/index.ts +2 -2
  163. package/src/components/form/symbol.ts +16 -16
  164. package/src/components/image/Image.vue +71 -71
  165. package/src/components/image/examples/basic.vue +5 -5
  166. package/src/components/image/examples/index.ts +1 -1
  167. package/src/components/index.ts +48 -47
  168. package/src/components/input/Input.vue +233 -233
  169. package/src/components/input/examples/basic.vue +21 -21
  170. package/src/components/input/examples/index.ts +6 -6
  171. package/src/components/input/examples/left-icon.vue +9 -9
  172. package/src/components/input/examples/prefix.vue +5 -5
  173. package/src/components/input/examples/right-icon.vue +9 -9
  174. package/src/components/input/examples/sizes.vue +9 -9
  175. package/src/components/input/examples/suffix.vue +7 -7
  176. package/src/components/input/style/Input.css.ts +294 -294
  177. package/src/components/input/style/index.ts +1 -1
  178. package/src/components/link/Link.vue +53 -53
  179. package/src/components/link/examples/basic.vue +3 -3
  180. package/src/components/link/examples/index.ts +1 -1
  181. package/src/components/messageprovider/Message.vue +135 -135
  182. package/src/components/messageprovider/MessageProvider.vue +156 -156
  183. package/src/components/messageprovider/examples/basic.vue +70 -70
  184. package/src/components/messageprovider/examples/index.ts +2 -2
  185. package/src/components/messageprovider/examples/update.vue +34 -34
  186. package/src/components/messageprovider/examples/wrapper.vue +9 -9
  187. package/src/components/messageprovider/style/Message.css.ts +111 -111
  188. package/src/components/messageprovider/style/index.ts +1 -1
  189. package/src/components/messageprovider/types.ts +56 -56
  190. package/src/components/messageprovider/useMessage.ts +14 -14
  191. package/src/components/modal/Modal.vue +310 -310
  192. package/src/components/modal/examples/basic.vue +80 -80
  193. package/src/components/modal/examples/index.ts +3 -3
  194. package/src/components/modal/examples/modal-form.vue +99 -99
  195. package/src/components/modal/examples/sidebar.vue +79 -79
  196. package/src/components/modal/style/Modal.css.ts +318 -318
  197. package/src/components/modal/style/index.ts +1 -1
  198. package/src/components/pagination/Pagination.vue +296 -296
  199. package/src/components/pagination/examples/basic.vue +17 -17
  200. package/src/components/pagination/examples/index.ts +1 -1
  201. package/src/components/pagination/style/Pagination.css.ts +93 -93
  202. package/src/components/pagination/style/index.ts +1 -1
  203. package/src/components/radio/Radio.vue +136 -136
  204. package/src/components/radio/examples/basic.vue +8 -8
  205. package/src/components/radio/examples/group.vue +15 -15
  206. package/src/components/radio/examples/index.ts +2 -2
  207. package/src/components/radio/style/Checkbox.css.ts +130 -130
  208. package/src/components/radio/style/index.ts +1 -1
  209. package/src/components/radiobutton/RadioButton.vue +131 -131
  210. package/src/components/radiobutton/style/RadioButton.css.ts +189 -189
  211. package/src/components/radiobutton/style/index.ts +1 -1
  212. package/src/components/radiobuttongroup/RadioButtonGroup.vue +74 -74
  213. package/src/components/radiobuttongroup/examples/basic.vue +16 -16
  214. package/src/components/radiobuttongroup/examples/index.ts +1 -1
  215. package/src/components/radiobuttongroup/style/RadioButtonGroup.css.ts +37 -37
  216. package/src/components/radiobuttongroup/style/index.ts +1 -1
  217. package/src/components/radiobuttongroup/symbol.ts +12 -12
  218. package/src/components/renderer/examlpes/basic.vue +23 -23
  219. package/src/components/renderer/examlpes/index.ts +1 -1
  220. package/src/components/renderer/props.ts +14 -14
  221. package/src/components/renderer/renderer.ts +16 -16
  222. package/src/components/select/Select.vue +781 -781
  223. package/src/components/select/examples/basic.vue +21 -21
  224. package/src/components/select/examples/index.ts +3 -3
  225. package/src/components/select/examples/multiple.vue +21 -21
  226. package/src/components/select/examples/searchable.vue +20 -20
  227. package/src/components/select/style/Select.css.ts +368 -368
  228. package/src/components/select/style/index.ts +1 -1
  229. package/src/components/skeleton/Skeleton.vue +55 -55
  230. package/src/components/skeleton/examples/basic.vue +3 -3
  231. package/src/components/skeleton/examples/index.ts +2 -2
  232. package/src/components/skeleton/examples/post.vue +8 -8
  233. package/src/components/skeleton/style/Skeleton.css.ts +72 -72
  234. package/src/components/skeleton/style/index.ts +2 -2
  235. package/src/components/slider/Slider.vue +76 -76
  236. package/src/components/slider/style/Slider.css.ts +50 -50
  237. package/src/components/slider/style/index.ts +1 -1
  238. package/src/components/switch/Switch.vue +132 -132
  239. package/src/components/switch/examples/basic.vue +9 -9
  240. package/src/components/switch/examples/index.ts +2 -2
  241. package/src/components/switch/examples/slot.vue +11 -11
  242. package/src/components/switch/style/Switch.css.ts +135 -135
  243. package/src/components/switch/style/index.ts +1 -1
  244. package/src/components/tab/Tab.css +113 -113
  245. package/src/components/tab/Tab.vue +98 -98
  246. package/src/components/tab/TabGroup.vue +90 -90
  247. package/src/components/tab/examples/basic.vue +19 -19
  248. package/src/components/tab/examples/index.ts +2 -2
  249. package/src/components/tab/examples/vertical.vue +19 -19
  250. package/src/components/table/Table.vue +198 -198
  251. package/src/components/table/TableBody.vue +13 -13
  252. package/src/components/table/TableCell.vue +13 -13
  253. package/src/components/table/TableHead.vue +46 -46
  254. package/src/components/table/TableHeadRow.vue +15 -15
  255. package/src/components/table/TableRow.vue +19 -19
  256. package/src/components/table/examples/basic.vue +61 -61
  257. package/src/components/table/examples/empty.vue +44 -44
  258. package/src/components/table/examples/index.ts +3 -3
  259. package/src/components/table/examples/selected.vue +68 -68
  260. package/src/components/table/style/Table.css.ts +62 -62
  261. package/src/components/table/style/index.ts +1 -1
  262. package/src/components/table/types/index.ts +6 -6
  263. package/src/components/tag/Tag.vue +72 -72
  264. package/src/components/tag/examples/basic.vue +5 -5
  265. package/src/components/tag/examples/index.ts +1 -1
  266. package/src/components/tag/style/Tag.css.ts +83 -83
  267. package/src/components/tag/style/index.ts +1 -1
  268. package/src/components/textarea/Textarea.vue +180 -180
  269. package/src/components/textarea/examples/basic.vue +8 -8
  270. package/src/components/textarea/examples/index.ts +1 -1
  271. package/src/components/textarea/style/Textarea.css.ts +191 -191
  272. package/src/components/textarea/style/index.ts +1 -1
  273. package/src/components/tooltip/Tooltip.vue +196 -196
  274. package/src/components/tooltip/examples/basic.vue +5 -5
  275. package/src/components/tooltip/examples/index.ts +2 -2
  276. package/src/components/tooltip/examples/placement.vue +9 -9
  277. package/src/components/tooltip/style/Tooltip.css.ts +90 -90
  278. package/src/components/tooltip/style/index.ts +1 -1
  279. package/src/components/transfer/Transfer.vue +145 -145
  280. package/src/components/transfer/examples/basic.vue +21 -21
  281. package/src/components/transfer/examples/index.ts +1 -1
  282. package/src/components/transfer/style/Transfer.css.ts +81 -81
  283. package/src/components/transfer/style/index.ts +1 -1
  284. package/src/components/tree/Tree.vue +138 -138
  285. package/src/components/tree/TreeNode.vue +109 -109
  286. package/src/components/tree/TreeNodeToggle.vue +48 -48
  287. package/src/components/tree/examples/basic.vue +458 -458
  288. package/src/components/tree/examples/index.ts +1 -1
  289. package/src/components/tree/props.ts +97 -97
  290. package/src/components/tree/style/Tree.css.ts +75 -75
  291. package/src/components/tree/style/index.ts +1 -1
  292. package/src/components/tree/types.ts +103 -103
  293. package/src/components/virtualscroll/VirtualScroll.css +13 -13
  294. package/src/components/virtualscroll/VirtualScroll.vue +166 -166
  295. package/src/components/virtualscroll/examples/basic.vue +31 -31
  296. package/src/components/virtualscroll/examples/index.ts +1 -1
  297. package/src/components/virtualscroll/style/VirtualScroll.css.ts +17 -17
  298. package/src/components/virtualscroll/style/index.ts +1 -1
  299. package/src/composables/element.ts +13 -13
  300. package/src/composables/index.ts +4 -4
  301. package/src/composables/useCachedUid.ts +17 -49
  302. package/src/composables/useEventListener.ts +19 -19
  303. package/src/composables/useInput.ts +151 -151
  304. package/src/composables/useInteractive.ts +19 -19
  305. package/src/composables/useIsServer.ts +7 -7
  306. package/src/composables/useMergedState.ts +18 -18
  307. package/src/composables/useMount.ts +43 -43
  308. package/src/composables/usePopper.ts +215 -215
  309. package/src/composables/useZIndex.ts +33 -33
  310. package/src/create.ts +38 -38
  311. package/src/css/components.css +16 -16
  312. package/src/css/index.css +4 -4
  313. package/src/css/transitions.css +40 -40
  314. package/src/css/variables.css +80 -80
  315. package/src/examples/cards/sidebar.vue +262 -262
  316. package/src/examples/modal/modal.vue +52 -52
  317. package/src/exports/nuxt.js +35 -35
  318. package/src/exports/nuxt.plugin.js +8 -8
  319. package/src/index.ts +5 -5
  320. package/src/install.ts +8 -8
  321. package/src/shims-vue.d.ts +6 -6
  322. package/src/styles/theme.css.ts +181 -181
  323. package/src/styles/transitions.css.ts +97 -97
  324. package/src/types/props.ts +19 -19
  325. package/src/utils/injection.ts +5 -5
  326. package/volar.d.ts +16 -16
@@ -1 +1 @@
1
- export { default as MTreeBasic } from './basic.vue';
1
+ export { default as MTreeBasic } from './basic.vue';
@@ -1,97 +1,97 @@
1
- import type { ExtractPublicPropTypes, PropType } from 'vue';
2
- import type {
3
- TreeOptions,
4
- Key,
5
- TreeNodeProps,
6
- OnUpdateIndeterminateKeys,
7
- onUpdateExpandedKeys,
8
- TreeNodeDoubleClick
9
- } from './types';
10
- import type { TreeMateOptions } from 'treemate';
11
- import type { MaybeArray } from '../../call';
12
-
13
- export const treeSharedProps = {
14
- expandedKeys: Array as PropType<Key[]>,
15
- defaultExpandAll: Boolean,
16
- keyField: {
17
- type: String,
18
- default: 'key'
19
- },
20
- labelField: {
21
- type: String,
22
- default: 'label'
23
- },
24
- childrenField: {
25
- type: String,
26
- default: 'children'
27
- },
28
- onDblClick: Function as PropType<TreeNodeDoubleClick>,
29
- onUpdateIndeterminateKeys: [Function, Array] as PropType<
30
- MaybeArray<OnUpdateIndeterminateKeys>
31
- >,
32
- 'onUpdate:indeterminateKeys': [Function, Array] as PropType<
33
- MaybeArray<OnUpdateIndeterminateKeys>
34
- >,
35
- onUpdateExpandedKeys: [Function, Array] as PropType<
36
- MaybeArray<onUpdateExpandedKeys>
37
- >,
38
- 'onUpdate:expandedKeys': [Function, Array] as PropType<
39
- MaybeArray<onUpdateExpandedKeys>
40
- >
41
- } as const;
42
-
43
- export const treeProps = {
44
- data: {
45
- type: Array as PropType<TreeOptions>,
46
- default: () => []
47
- },
48
- checkedKeys: Array as PropType<Key[]>,
49
- defaultCheckedKeys: {
50
- type: Array as PropType<Key[]>,
51
- default: () => []
52
- },
53
- selectedKeys: Array as PropType<Key[]>,
54
- defaultSelectedKeys: {
55
- type: Array as PropType<Key[]>,
56
- default: () => []
57
- },
58
- multiple: Boolean,
59
- indent: {
60
- type: Number,
61
- default: 16
62
- },
63
- expandOnClick: Boolean,
64
- virtualScroll: Boolean,
65
- nodeProps: Function as PropType<TreeNodeProps>,
66
- getChildren: Function as PropType<GetChildren>,
67
- ...treeSharedProps
68
- } as const;
69
-
70
- export type TreeProps = ExtractPublicPropTypes<typeof treeProps>;
71
- export type GetChildren = (option: any) => unknown;
72
-
73
- export function createTreeMateOptions<T>(
74
- keyField: string,
75
- childrenField: string,
76
- disabledField: string,
77
- getChildren: GetChildren | undefined
78
- ): TreeMateOptions<T, T, T> {
79
- const settledGetChildren: GetChildren =
80
- getChildren ||
81
- ((node: T) => {
82
- return (node as any)[childrenField];
83
- });
84
-
85
- return {
86
- getIsGroup() {
87
- return false;
88
- },
89
- getKey(node: T) {
90
- return (node as any)[keyField];
91
- },
92
- getChildren: settledGetChildren,
93
- getDisabled(node: T) {
94
- return !!(node as any)[disabledField];
95
- }
96
- };
97
- }
1
+ import type { ExtractPublicPropTypes, PropType } from 'vue';
2
+ import type {
3
+ TreeOptions,
4
+ Key,
5
+ TreeNodeProps,
6
+ OnUpdateIndeterminateKeys,
7
+ onUpdateExpandedKeys,
8
+ TreeNodeDoubleClick
9
+ } from './types';
10
+ import type { TreeMateOptions } from 'treemate';
11
+ import type { MaybeArray } from '../../call';
12
+
13
+ export const treeSharedProps = {
14
+ expandedKeys: Array as PropType<Key[]>,
15
+ defaultExpandAll: Boolean,
16
+ keyField: {
17
+ type: String,
18
+ default: 'key'
19
+ },
20
+ labelField: {
21
+ type: String,
22
+ default: 'label'
23
+ },
24
+ childrenField: {
25
+ type: String,
26
+ default: 'children'
27
+ },
28
+ onDblClick: Function as PropType<TreeNodeDoubleClick>,
29
+ onUpdateIndeterminateKeys: [Function, Array] as PropType<
30
+ MaybeArray<OnUpdateIndeterminateKeys>
31
+ >,
32
+ 'onUpdate:indeterminateKeys': [Function, Array] as PropType<
33
+ MaybeArray<OnUpdateIndeterminateKeys>
34
+ >,
35
+ onUpdateExpandedKeys: [Function, Array] as PropType<
36
+ MaybeArray<onUpdateExpandedKeys>
37
+ >,
38
+ 'onUpdate:expandedKeys': [Function, Array] as PropType<
39
+ MaybeArray<onUpdateExpandedKeys>
40
+ >
41
+ } as const;
42
+
43
+ export const treeProps = {
44
+ data: {
45
+ type: Array as PropType<TreeOptions>,
46
+ default: () => []
47
+ },
48
+ checkedKeys: Array as PropType<Key[]>,
49
+ defaultCheckedKeys: {
50
+ type: Array as PropType<Key[]>,
51
+ default: () => []
52
+ },
53
+ selectedKeys: Array as PropType<Key[]>,
54
+ defaultSelectedKeys: {
55
+ type: Array as PropType<Key[]>,
56
+ default: () => []
57
+ },
58
+ multiple: Boolean,
59
+ indent: {
60
+ type: Number,
61
+ default: 16
62
+ },
63
+ expandOnClick: Boolean,
64
+ virtualScroll: Boolean,
65
+ nodeProps: Function as PropType<TreeNodeProps>,
66
+ getChildren: Function as PropType<GetChildren>,
67
+ ...treeSharedProps
68
+ } as const;
69
+
70
+ export type TreeProps = ExtractPublicPropTypes<typeof treeProps>;
71
+ export type GetChildren = (option: any) => unknown;
72
+
73
+ export function createTreeMateOptions<T>(
74
+ keyField: string,
75
+ childrenField: string,
76
+ disabledField: string,
77
+ getChildren: GetChildren | undefined
78
+ ): TreeMateOptions<T, T, T> {
79
+ const settledGetChildren: GetChildren =
80
+ getChildren ||
81
+ ((node: T) => {
82
+ return (node as any)[childrenField];
83
+ });
84
+
85
+ return {
86
+ getIsGroup() {
87
+ return false;
88
+ },
89
+ getKey(node: T) {
90
+ return (node as any)[keyField];
91
+ },
92
+ getChildren: settledGetChildren,
93
+ getDisabled(node: T) {
94
+ return !!(node as any)[disabledField];
95
+ }
96
+ };
97
+ }
@@ -1,75 +1,75 @@
1
- import {
2
- createVar,
3
- globalKeyframes,
4
- globalStyle,
5
- style,
6
- styleVariants
7
- } from '@vanilla-extract/css';
8
- import { themeVars } from '../../../styles/theme.css';
9
-
10
- export const toggle = style({
11
- cursor: 'pointer',
12
- display: 'inline-flex',
13
- flexShrink: 0,
14
- height: `24px`,
15
- width: `24px`,
16
- alignItems: 'center',
17
- justifyContent: 'center',
18
- verticalAlign: 'bottom',
19
- transition: `transform .15s ${themeVars.transition.default}`
20
- });
21
- export const icon = style({
22
- position: 'relative',
23
- height: `14px`,
24
- width: `14px`,
25
- display: 'flex',
26
- fontSize: `14px`,
27
- fill: 'currentColor',
28
- color: themeVars.color.gray['600']
29
- });
30
-
31
- export const iconRotate = styleVariants({
32
- 90: {
33
- transform: `rotate(90deg)`
34
- }
35
- });
36
-
37
- export const nodeWrapper = style({
38
- boxSizing: 'border-box',
39
- padding: `${themeVars.space['0.5']} 0`
40
- });
41
-
42
- export const node = style({
43
- transform: `translate3d(0, 0, 0)`,
44
- position: 'relative',
45
- display: 'flex',
46
- borderRadius: themeVars.rounded.small,
47
- transition: `background-color .3s ${themeVars.transition.default}`,
48
- selectors: {
49
- [`&:hover`]: {
50
- backgroundColor: themeVars.color.gray['150']
51
- }
52
- }
53
- });
54
-
55
- export const nodeContent = style({
56
- cursor: 'pointer',
57
- position: 'relative',
58
- display: 'inline-flex',
59
- alignItems: 'center',
60
- minHeight: `24px`,
61
- boxSizing: 'border-box',
62
- verticalAlign: 'bottom',
63
- padding: `0 ${themeVars.space['1']} 0 ${themeVars.space['1']}`,
64
- borderRadius: themeVars.rounded.default,
65
- lineHeight: 1.5,
66
- userSelect: 'none',
67
- flexGrow: 1
68
- });
69
-
70
- export const nodeContentText = style({
71
- flexGrow: 1,
72
- maxWidth: `100%`,
73
- fontSize: themeVars.fontSize.base,
74
- color: themeVars.color.gray['700']
75
- });
1
+ import {
2
+ createVar,
3
+ globalKeyframes,
4
+ globalStyle,
5
+ style,
6
+ styleVariants
7
+ } from '@vanilla-extract/css';
8
+ import { themeVars } from '../../../styles/theme.css';
9
+
10
+ export const toggle = style({
11
+ cursor: 'pointer',
12
+ display: 'inline-flex',
13
+ flexShrink: 0,
14
+ height: `24px`,
15
+ width: `24px`,
16
+ alignItems: 'center',
17
+ justifyContent: 'center',
18
+ verticalAlign: 'bottom',
19
+ transition: `transform .15s ${themeVars.transition.default}`
20
+ });
21
+ export const icon = style({
22
+ position: 'relative',
23
+ height: `14px`,
24
+ width: `14px`,
25
+ display: 'flex',
26
+ fontSize: `14px`,
27
+ fill: 'currentColor',
28
+ color: themeVars.color.gray['600']
29
+ });
30
+
31
+ export const iconRotate = styleVariants({
32
+ 90: {
33
+ transform: `rotate(90deg)`
34
+ }
35
+ });
36
+
37
+ export const nodeWrapper = style({
38
+ boxSizing: 'border-box',
39
+ padding: `${themeVars.space['0.5']} 0`
40
+ });
41
+
42
+ export const node = style({
43
+ transform: `translate3d(0, 0, 0)`,
44
+ position: 'relative',
45
+ display: 'flex',
46
+ borderRadius: themeVars.rounded.small,
47
+ transition: `background-color .3s ${themeVars.transition.default}`,
48
+ selectors: {
49
+ [`&:hover`]: {
50
+ backgroundColor: themeVars.color.gray['150']
51
+ }
52
+ }
53
+ });
54
+
55
+ export const nodeContent = style({
56
+ cursor: 'pointer',
57
+ position: 'relative',
58
+ display: 'inline-flex',
59
+ alignItems: 'center',
60
+ minHeight: `24px`,
61
+ boxSizing: 'border-box',
62
+ verticalAlign: 'bottom',
63
+ padding: `0 ${themeVars.space['1']} 0 ${themeVars.space['1']}`,
64
+ borderRadius: themeVars.rounded.default,
65
+ lineHeight: 1.5,
66
+ userSelect: 'none',
67
+ flexGrow: 1
68
+ });
69
+
70
+ export const nodeContentText = style({
71
+ flexGrow: 1,
72
+ maxWidth: `100%`,
73
+ fontSize: themeVars.fontSize.base,
74
+ color: themeVars.color.gray['700']
75
+ });
@@ -1 +1 @@
1
- export * from './Tree.css';
1
+ export * from './Tree.css';
@@ -1,103 +1,103 @@
1
- import type { HTMLAttributes, Ref, InjectionKey } from 'vue';
2
- import type { TreeNode } from 'treemate';
3
- import { createInjectionKey } from '../../utils/injection';
4
-
5
- export type Key = string | number;
6
-
7
- export interface TreeOptionBase {
8
- key?: Key;
9
- label?: string;
10
- children?: TreeOption[];
11
- }
12
-
13
- export type TreeOption = TreeOptionBase & Record<string, unknown>;
14
- export type TreeOptions = TreeOption[];
15
-
16
- export type TreeNodeProps = (
17
- node: TreeOption
18
- ) => HTMLAttributes & Record<string, unknown>;
19
-
20
- export type TreeNodeDoubleClick = (info: { option: TreeOption }) => void;
21
-
22
- export interface TreeInjection {
23
- mergedExpandedKeysRef: Ref<Key[]>;
24
- indentRef: Ref<number>;
25
- expandOnClickRef: Ref<boolean>;
26
- nodePropsRef: Ref<TreeNodeProps | undefined>;
27
- labelFieldRef: Ref<string>;
28
- keyFieldRef: Ref<string>;
29
- childrenFieldRef: Ref<string>;
30
- handleToggleClick: (node: TreeNode<TreeOption>) => void;
31
- handleDoubleClick: (node: TreeOption) => void;
32
- }
33
-
34
- export const treeInjectionKey = createInjectionKey<TreeInjection>('tree');
35
-
36
- export type TmNode = TreeNode<TreeOption>;
37
-
38
- export type OnUpdateCheckedKeys = (
39
- value: (string & number)[],
40
- option: (TreeOption | null)[],
41
- meta: {
42
- node: TreeOption | null;
43
- action: 'check' | 'uncheck';
44
- }
45
- ) => void;
46
- export type OnUpdateCheckedKeysImpl = (
47
- value: Key[],
48
- option: (TreeOption | null)[],
49
- meta: {
50
- node: TreeOption | null;
51
- action: 'check' | 'uncheck';
52
- }
53
- ) => void;
54
- export type OnUpdateIndeterminateKeys = (
55
- value: (string & number)[],
56
- option: (TreeOption | null)[]
57
- ) => void;
58
- export type OnUpdateIndeterminateKeysImpl = (
59
- value: Key[],
60
- option: (TreeOption | null)[]
61
- ) => void;
62
- export type OnUpdateSelectedKeys = (
63
- value: (string & number)[],
64
- option: (TreeOption | null)[],
65
- meta: {
66
- node: TreeOption | null;
67
- action: 'select' | 'unselect';
68
- }
69
- ) => void;
70
- export type OnUpdateSelectedKeysImpl = (
71
- value: Key[],
72
- option: (TreeOption | null)[],
73
- meta: {
74
- node: TreeOption | null;
75
- action: 'select' | 'unselect';
76
- }
77
- ) => void;
78
- export type onUpdateExpandedKeys = (
79
- value: (string & number)[],
80
- option: (TreeOption | null)[],
81
- meta:
82
- | {
83
- node: TreeOption;
84
- action: 'expand' | 'collapse';
85
- }
86
- | {
87
- node: null;
88
- action: 'filter';
89
- }
90
- ) => void;
91
- export type OnUpdateExpandedKeysImpl = (
92
- value: Key[],
93
- option: (TreeOption | null)[],
94
- meta:
95
- | {
96
- node: TreeOption;
97
- action: 'expand' | 'collapse';
98
- }
99
- | {
100
- node: null;
101
- action: 'filter';
102
- }
103
- ) => void;
1
+ import type { HTMLAttributes, Ref, InjectionKey } from 'vue';
2
+ import type { TreeNode } from 'treemate';
3
+ import { createInjectionKey } from '../../utils/injection';
4
+
5
+ export type Key = string | number;
6
+
7
+ export interface TreeOptionBase {
8
+ key?: Key;
9
+ label?: string;
10
+ children?: TreeOption[];
11
+ }
12
+
13
+ export type TreeOption = TreeOptionBase & Record<string, unknown>;
14
+ export type TreeOptions = TreeOption[];
15
+
16
+ export type TreeNodeProps = (
17
+ node: TreeOption
18
+ ) => HTMLAttributes & Record<string, unknown>;
19
+
20
+ export type TreeNodeDoubleClick = (info: { option: TreeOption }) => void;
21
+
22
+ export interface TreeInjection {
23
+ mergedExpandedKeysRef: Ref<Key[]>;
24
+ indentRef: Ref<number>;
25
+ expandOnClickRef: Ref<boolean>;
26
+ nodePropsRef: Ref<TreeNodeProps | undefined>;
27
+ labelFieldRef: Ref<string>;
28
+ keyFieldRef: Ref<string>;
29
+ childrenFieldRef: Ref<string>;
30
+ handleToggleClick: (node: TreeNode<TreeOption>) => void;
31
+ handleDoubleClick: (node: TreeOption) => void;
32
+ }
33
+
34
+ export const treeInjectionKey = createInjectionKey<TreeInjection>('tree');
35
+
36
+ export type TmNode = TreeNode<TreeOption>;
37
+
38
+ export type OnUpdateCheckedKeys = (
39
+ value: (string & number)[],
40
+ option: (TreeOption | null)[],
41
+ meta: {
42
+ node: TreeOption | null;
43
+ action: 'check' | 'uncheck';
44
+ }
45
+ ) => void;
46
+ export type OnUpdateCheckedKeysImpl = (
47
+ value: Key[],
48
+ option: (TreeOption | null)[],
49
+ meta: {
50
+ node: TreeOption | null;
51
+ action: 'check' | 'uncheck';
52
+ }
53
+ ) => void;
54
+ export type OnUpdateIndeterminateKeys = (
55
+ value: (string & number)[],
56
+ option: (TreeOption | null)[]
57
+ ) => void;
58
+ export type OnUpdateIndeterminateKeysImpl = (
59
+ value: Key[],
60
+ option: (TreeOption | null)[]
61
+ ) => void;
62
+ export type OnUpdateSelectedKeys = (
63
+ value: (string & number)[],
64
+ option: (TreeOption | null)[],
65
+ meta: {
66
+ node: TreeOption | null;
67
+ action: 'select' | 'unselect';
68
+ }
69
+ ) => void;
70
+ export type OnUpdateSelectedKeysImpl = (
71
+ value: Key[],
72
+ option: (TreeOption | null)[],
73
+ meta: {
74
+ node: TreeOption | null;
75
+ action: 'select' | 'unselect';
76
+ }
77
+ ) => void;
78
+ export type onUpdateExpandedKeys = (
79
+ value: (string & number)[],
80
+ option: (TreeOption | null)[],
81
+ meta:
82
+ | {
83
+ node: TreeOption;
84
+ action: 'expand' | 'collapse';
85
+ }
86
+ | {
87
+ node: null;
88
+ action: 'filter';
89
+ }
90
+ ) => void;
91
+ export type OnUpdateExpandedKeysImpl = (
92
+ value: Key[],
93
+ option: (TreeOption | null)[],
94
+ meta:
95
+ | {
96
+ node: TreeOption;
97
+ action: 'expand' | 'collapse';
98
+ }
99
+ | {
100
+ node: null;
101
+ action: 'filter';
102
+ }
103
+ ) => void;
@@ -1,13 +1,13 @@
1
- .virtual-scroller {
2
- overflow: auto;
3
- will-change: transform;
4
- }
5
-
6
- .virtual-scroller>div {
7
- overflow: hidden;
8
- will-change: transform;
9
- }
10
-
11
- .virtual-scroller>div>div {
12
- will-change: transform;
13
- }
1
+ .virtual-scroller {
2
+ overflow: auto;
3
+ will-change: transform;
4
+ }
5
+
6
+ .virtual-scroller>div {
7
+ overflow: hidden;
8
+ will-change: transform;
9
+ }
10
+
11
+ .virtual-scroller>div>div {
12
+ will-change: transform;
13
+ }