vuetify 3.9.0-beta.1 → 3.9.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 (314) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +3362 -3274
  3. package/dist/json/importMap-labs.json +20 -16
  4. package/dist/json/importMap.json +158 -158
  5. package/dist/json/tags.json +31 -4
  6. package/dist/json/web-types.json +6150 -5916
  7. package/dist/vuetify-labs.cjs +1035 -151
  8. package/dist/vuetify-labs.css +5736 -5417
  9. package/dist/vuetify-labs.d.ts +708 -377
  10. package/dist/vuetify-labs.esm.js +1035 -152
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +1035 -151
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +616 -126
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3902 -3825
  17. package/dist/vuetify.d.ts +338 -233
  18. package/dist/vuetify.esm.js +616 -127
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +616 -126
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1176 -1120
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +39 -14
  26. package/lib/components/VAutocomplete/VAutocomplete.js +2 -2
  27. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  28. package/lib/components/VCombobox/VCombobox.d.ts +39 -14
  29. package/lib/components/VCombobox/VCombobox.js +2 -2
  30. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  31. package/lib/components/VDataIterator/composables/items.d.ts +2 -1
  32. package/lib/components/VDataIterator/composables/items.js.map +1 -1
  33. package/lib/components/VDataTable/VDataTable.css +12 -1
  34. package/lib/components/VDataTable/VDataTable.d.ts +20 -38
  35. package/lib/components/VDataTable/VDataTable.sass +12 -2
  36. package/lib/components/VDataTable/VDataTableColumn.d.ts +9 -3
  37. package/lib/components/VDataTable/VDataTableColumn.js +12 -4
  38. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  39. package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
  40. package/lib/components/VDataTable/VDataTableHeaders.js +10 -9
  41. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  42. package/lib/components/VDataTable/VDataTableRow.js +2 -0
  43. package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
  44. package/lib/components/VDataTable/VDataTableServer.d.ts +10 -23
  45. package/lib/components/VDataTable/VDataTableVirtual.d.ts +10 -23
  46. package/lib/components/VDataTable/composables/headers.d.ts +22 -14
  47. package/lib/components/VDataTable/composables/headers.js +51 -22
  48. package/lib/components/VDataTable/composables/headers.js.map +1 -1
  49. package/lib/components/VDataTable/composables/sort.js +2 -1
  50. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  51. package/lib/components/VDataTable/types.d.ts +4 -2
  52. package/lib/components/VDataTable/types.js.map +1 -1
  53. package/lib/components/VDatePicker/VDatePicker.js +2 -1
  54. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  55. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -2
  56. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  57. package/lib/components/VKbd/VKbd.css +14 -5
  58. package/lib/components/VKbd/VKbd.js.map +1 -1
  59. package/lib/components/VKbd/VKbd.scss +26 -0
  60. package/lib/components/VKbd/_variables.scss +12 -6
  61. package/lib/components/VKbd/index.js.map +1 -1
  62. package/lib/components/VList/VList.d.ts +24 -27
  63. package/lib/components/VList/VList.js +0 -4
  64. package/lib/components/VList/VList.js.map +1 -1
  65. package/lib/components/VList/VListGroup.d.ts +13 -0
  66. package/lib/components/VList/VListGroup.js +2 -1
  67. package/lib/components/VList/VListGroup.js.map +1 -1
  68. package/lib/components/VList/VListItem.d.ts +6 -3
  69. package/lib/components/VList/VListItem.js +1 -1
  70. package/lib/components/VList/VListItem.js.map +1 -1
  71. package/lib/components/VOtpInput/VOtpInput.js +17 -14
  72. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  73. package/lib/components/VOverlay/locationStrategies.js +1 -1
  74. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  75. package/lib/components/VSelect/VSelect.d.ts +58 -22
  76. package/lib/components/VSelect/VSelect.js +2 -2
  77. package/lib/components/VSelect/VSelect.js.map +1 -1
  78. package/lib/components/VTextField/VTextField.js +1 -1
  79. package/lib/components/VTextField/VTextField.js.map +1 -1
  80. package/lib/components/VTreeview/VTreeview.d.ts +235 -188
  81. package/lib/components/VTreeview/VTreeview.js +13 -12
  82. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  83. package/lib/components/VTreeview/VTreeviewChildren.d.ts +81 -10
  84. package/lib/components/VTreeview/VTreeviewChildren.js +50 -11
  85. package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
  86. package/lib/components/VTreeview/VTreeviewGroup.d.ts +13 -0
  87. package/lib/components/VTreeview/VTreeviewItem.css +57 -0
  88. package/lib/components/VTreeview/VTreeviewItem.d.ts +137 -103
  89. package/lib/components/VTreeview/VTreeviewItem.js +14 -4
  90. package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
  91. package/lib/components/VTreeview/VTreeviewItem.sass +60 -0
  92. package/lib/components/VTreeview/_variables.scss +15 -0
  93. package/lib/composables/calendar.d.ts +0 -1
  94. package/lib/composables/calendar.js +6 -10
  95. package/lib/composables/calendar.js.map +1 -1
  96. package/lib/composables/date/adapters/vuetify.js +1 -1
  97. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  98. package/lib/composables/filter.d.ts +1 -0
  99. package/lib/composables/filter.js +1 -1
  100. package/lib/composables/filter.js.map +1 -1
  101. package/lib/composables/hotkey/hotkey-parsing.d.ts +15 -0
  102. package/lib/composables/hotkey/hotkey-parsing.js +154 -0
  103. package/lib/composables/hotkey/hotkey-parsing.js.map +1 -0
  104. package/lib/composables/hotkey/hotkey.d.ts +9 -0
  105. package/lib/composables/{hotkey.js → hotkey/hotkey.js} +31 -39
  106. package/lib/composables/hotkey/hotkey.js.map +1 -0
  107. package/lib/composables/hotkey/index.d.ts +1 -0
  108. package/lib/composables/hotkey/index.js +2 -0
  109. package/lib/composables/hotkey/index.js.map +1 -0
  110. package/lib/composables/hotkey/key-aliases.d.ts +14 -0
  111. package/lib/composables/hotkey/key-aliases.js +38 -0
  112. package/lib/composables/hotkey/key-aliases.js.map +1 -0
  113. package/lib/composables/icons.d.ts +11 -0
  114. package/lib/composables/icons.js.map +1 -1
  115. package/lib/composables/index.d.ts +1 -0
  116. package/lib/composables/index.js +1 -0
  117. package/lib/composables/index.js.map +1 -1
  118. package/lib/composables/list-items.d.ts +14 -1
  119. package/lib/composables/list-items.js +9 -3
  120. package/lib/composables/list-items.js.map +1 -1
  121. package/lib/composables/nested/nested.d.ts +7 -4
  122. package/lib/composables/nested/nested.js +16 -6
  123. package/lib/composables/nested/nested.js.map +1 -1
  124. package/lib/composables/nested/selectStrategies.d.ts +2 -1
  125. package/lib/composables/nested/selectStrategies.js +22 -11
  126. package/lib/composables/nested/selectStrategies.js.map +1 -1
  127. package/lib/composables/virtual.js +1 -1
  128. package/lib/composables/virtual.js.map +1 -1
  129. package/lib/entry-bundler.js +1 -1
  130. package/lib/entry-bundler.js.map +1 -1
  131. package/lib/framework.d.ts +79 -54
  132. package/lib/framework.js +1 -1
  133. package/lib/framework.js.map +1 -1
  134. package/lib/iconsets/fa.js +12 -1
  135. package/lib/iconsets/fa.js.map +1 -1
  136. package/lib/iconsets/fa4.js +12 -1
  137. package/lib/iconsets/fa4.js.map +1 -1
  138. package/lib/iconsets/md.js +12 -1
  139. package/lib/iconsets/md.js.map +1 -1
  140. package/lib/iconsets/mdi-svg.js +12 -1
  141. package/lib/iconsets/mdi-svg.js.map +1 -1
  142. package/lib/iconsets/mdi.js +12 -1
  143. package/lib/iconsets/mdi.js.map +1 -1
  144. package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
  145. package/lib/labs/VCalendar/VCalendar.js +10 -10
  146. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  147. package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
  148. package/lib/labs/VCalendar/VCalendarDay.js +1 -1
  149. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  150. package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
  151. package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
  152. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  153. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
  154. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
  155. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  156. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
  157. package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
  158. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  159. package/lib/labs/VHotkey/VHotkey.css +242 -0
  160. package/lib/labs/VHotkey/VHotkey.d.ts +387 -0
  161. package/lib/labs/VHotkey/VHotkey.js +432 -0
  162. package/lib/labs/VHotkey/VHotkey.js.map +1 -0
  163. package/lib/labs/VHotkey/VHotkey.scss +253 -0
  164. package/lib/labs/VHotkey/_variables.scss +43 -0
  165. package/lib/labs/VHotkey/index.d.ts +1 -0
  166. package/lib/labs/VHotkey/index.js +2 -0
  167. package/lib/labs/VHotkey/index.js.map +1 -0
  168. package/lib/labs/VIconBtn/VIconBtn.js +1 -0
  169. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  170. package/lib/labs/components.d.ts +1 -0
  171. package/lib/labs/components.js +1 -0
  172. package/lib/labs/components.js.map +1 -1
  173. package/lib/locale/af.d.ts +18 -0
  174. package/lib/locale/af.js +18 -0
  175. package/lib/locale/af.js.map +1 -1
  176. package/lib/locale/ar.d.ts +18 -0
  177. package/lib/locale/ar.js +18 -0
  178. package/lib/locale/ar.js.map +1 -1
  179. package/lib/locale/az.d.ts +18 -0
  180. package/lib/locale/az.js +18 -0
  181. package/lib/locale/az.js.map +1 -1
  182. package/lib/locale/bg.d.ts +18 -0
  183. package/lib/locale/bg.js +18 -0
  184. package/lib/locale/bg.js.map +1 -1
  185. package/lib/locale/ca.d.ts +18 -0
  186. package/lib/locale/ca.js +18 -0
  187. package/lib/locale/ca.js.map +1 -1
  188. package/lib/locale/ckb.d.ts +18 -0
  189. package/lib/locale/ckb.js +18 -0
  190. package/lib/locale/ckb.js.map +1 -1
  191. package/lib/locale/cs.d.ts +18 -0
  192. package/lib/locale/cs.js +18 -0
  193. package/lib/locale/cs.js.map +1 -1
  194. package/lib/locale/da.d.ts +18 -0
  195. package/lib/locale/da.js +18 -0
  196. package/lib/locale/da.js.map +1 -1
  197. package/lib/locale/de.d.ts +18 -0
  198. package/lib/locale/de.js +18 -0
  199. package/lib/locale/de.js.map +1 -1
  200. package/lib/locale/el.d.ts +18 -0
  201. package/lib/locale/el.js +18 -0
  202. package/lib/locale/el.js.map +1 -1
  203. package/lib/locale/en.d.ts +18 -0
  204. package/lib/locale/en.js +18 -0
  205. package/lib/locale/en.js.map +1 -1
  206. package/lib/locale/es.d.ts +18 -0
  207. package/lib/locale/es.js +18 -0
  208. package/lib/locale/es.js.map +1 -1
  209. package/lib/locale/et.d.ts +18 -0
  210. package/lib/locale/et.js +18 -0
  211. package/lib/locale/et.js.map +1 -1
  212. package/lib/locale/fa.d.ts +18 -0
  213. package/lib/locale/fa.js +18 -0
  214. package/lib/locale/fa.js.map +1 -1
  215. package/lib/locale/fi.d.ts +18 -0
  216. package/lib/locale/fi.js +18 -0
  217. package/lib/locale/fi.js.map +1 -1
  218. package/lib/locale/fr.d.ts +18 -0
  219. package/lib/locale/fr.js +18 -0
  220. package/lib/locale/fr.js.map +1 -1
  221. package/lib/locale/he.d.ts +18 -0
  222. package/lib/locale/he.js +18 -0
  223. package/lib/locale/he.js.map +1 -1
  224. package/lib/locale/hr.d.ts +18 -0
  225. package/lib/locale/hr.js +18 -0
  226. package/lib/locale/hr.js.map +1 -1
  227. package/lib/locale/hu.d.ts +18 -0
  228. package/lib/locale/hu.js +18 -0
  229. package/lib/locale/hu.js.map +1 -1
  230. package/lib/locale/id.d.ts +18 -0
  231. package/lib/locale/id.js +18 -0
  232. package/lib/locale/id.js.map +1 -1
  233. package/lib/locale/it.d.ts +18 -0
  234. package/lib/locale/it.js +18 -0
  235. package/lib/locale/it.js.map +1 -1
  236. package/lib/locale/ja.d.ts +18 -0
  237. package/lib/locale/ja.js +18 -0
  238. package/lib/locale/ja.js.map +1 -1
  239. package/lib/locale/km.d.ts +18 -0
  240. package/lib/locale/km.js +18 -0
  241. package/lib/locale/km.js.map +1 -1
  242. package/lib/locale/ko.d.ts +18 -0
  243. package/lib/locale/ko.js +18 -0
  244. package/lib/locale/ko.js.map +1 -1
  245. package/lib/locale/lt.d.ts +18 -0
  246. package/lib/locale/lt.js +18 -0
  247. package/lib/locale/lt.js.map +1 -1
  248. package/lib/locale/lv.d.ts +18 -0
  249. package/lib/locale/lv.js +18 -0
  250. package/lib/locale/lv.js.map +1 -1
  251. package/lib/locale/nl.d.ts +18 -0
  252. package/lib/locale/nl.js +18 -0
  253. package/lib/locale/nl.js.map +1 -1
  254. package/lib/locale/no.d.ts +18 -0
  255. package/lib/locale/no.js +18 -0
  256. package/lib/locale/no.js.map +1 -1
  257. package/lib/locale/pl.d.ts +18 -0
  258. package/lib/locale/pl.js +18 -0
  259. package/lib/locale/pl.js.map +1 -1
  260. package/lib/locale/pt.d.ts +18 -0
  261. package/lib/locale/pt.js +18 -0
  262. package/lib/locale/pt.js.map +1 -1
  263. package/lib/locale/ro.d.ts +18 -0
  264. package/lib/locale/ro.js +18 -0
  265. package/lib/locale/ro.js.map +1 -1
  266. package/lib/locale/ru.d.ts +18 -0
  267. package/lib/locale/ru.js +18 -0
  268. package/lib/locale/ru.js.map +1 -1
  269. package/lib/locale/sk.d.ts +18 -0
  270. package/lib/locale/sk.js +18 -0
  271. package/lib/locale/sk.js.map +1 -1
  272. package/lib/locale/sl.d.ts +18 -0
  273. package/lib/locale/sl.js +18 -0
  274. package/lib/locale/sl.js.map +1 -1
  275. package/lib/locale/sr-Cyrl.d.ts +18 -0
  276. package/lib/locale/sr-Cyrl.js +18 -0
  277. package/lib/locale/sr-Cyrl.js.map +1 -1
  278. package/lib/locale/sr-Latn.d.ts +18 -0
  279. package/lib/locale/sr-Latn.js +18 -0
  280. package/lib/locale/sr-Latn.js.map +1 -1
  281. package/lib/locale/sv.d.ts +18 -0
  282. package/lib/locale/sv.js +18 -0
  283. package/lib/locale/sv.js.map +1 -1
  284. package/lib/locale/th.d.ts +18 -0
  285. package/lib/locale/th.js +18 -0
  286. package/lib/locale/th.js.map +1 -1
  287. package/lib/locale/tr.d.ts +18 -0
  288. package/lib/locale/tr.js +18 -0
  289. package/lib/locale/tr.js.map +1 -1
  290. package/lib/locale/uk.d.ts +18 -0
  291. package/lib/locale/uk.js +18 -0
  292. package/lib/locale/uk.js.map +1 -1
  293. package/lib/locale/vi.d.ts +18 -0
  294. package/lib/locale/vi.js +18 -0
  295. package/lib/locale/vi.js.map +1 -1
  296. package/lib/locale/zh-Hans.d.ts +18 -0
  297. package/lib/locale/zh-Hans.js +18 -0
  298. package/lib/locale/zh-Hans.js.map +1 -1
  299. package/lib/locale/zh-Hant.d.ts +18 -0
  300. package/lib/locale/zh-Hant.js +18 -0
  301. package/lib/locale/zh-Hant.js.map +1 -1
  302. package/lib/util/helpers.d.ts +3 -0
  303. package/lib/util/helpers.js +4 -0
  304. package/lib/util/helpers.js.map +1 -1
  305. package/lib/util/indentLines.d.ts +17 -0
  306. package/lib/util/indentLines.js +34 -0
  307. package/lib/util/indentLines.js.map +1 -0
  308. package/lib/util/index.d.ts +1 -0
  309. package/lib/util/index.js +1 -0
  310. package/lib/util/index.js.map +1 -1
  311. package/package.json +2 -2
  312. package/lib/components/VKbd/VKbd.sass +0 -15
  313. package/lib/composables/hotkey.d.ts +0 -9
  314. package/lib/composables/hotkey.js.map +0 -1
@@ -19,20 +19,18 @@ function flatten(items) {
19
19
  export const makeVTreeviewProps = propsFactory({
20
20
  fluid: Boolean,
21
21
  openAll: Boolean,
22
+ indentLines: [Boolean, String],
22
23
  search: String,
23
24
  ...makeFilterProps({
24
25
  filterKeys: ['title']
25
26
  }),
26
- ...omit(makeVTreeviewChildrenProps(), ['index', 'path']),
27
+ ...omit(makeVTreeviewChildrenProps(), ['index', 'path', 'indentLinesVariant', 'parentIndentLines', 'isLastGroup']),
27
28
  ...omit(makeVListProps({
28
29
  collapseIcon: '$treeviewCollapse',
29
30
  expandIcon: '$treeviewExpand',
30
31
  slim: true
31
- }), ['itemType', 'nav', 'openStrategy']),
32
- modelValue: {
33
- type: Array,
34
- default: () => []
35
- }
32
+ }), ['nav', 'openStrategy']),
33
+ modelValue: Array
36
34
  }, 'VTreeview');
37
35
  export const VTreeview = genericComponent()({
38
36
  name: 'VTreeview',
@@ -47,7 +45,8 @@ export const VTreeview = genericComponent()({
47
45
  },
48
46
  setup(props, _ref) {
49
47
  let {
50
- slots
48
+ slots,
49
+ emit
51
50
  } = _ref;
52
51
  const {
53
52
  items
@@ -56,13 +55,12 @@ export const VTreeview = genericComponent()({
56
55
  const baseColor = toRef(() => props.baseColor);
57
56
  const color = toRef(() => props.color);
58
57
  const activated = useProxiedModel(props, 'activated');
59
- const model = useProxiedModel(props, 'modelValue');
60
- const _selected = useProxiedModel(props, 'selected', props.modelValue);
58
+ const _selected = useProxiedModel(props, 'selected');
61
59
  const selected = computed({
62
- get: () => _selected.value,
60
+ get: () => props.modelValue ?? _selected.value,
63
61
  set(val) {
64
62
  _selected.value = val;
65
- model.value = val;
63
+ emit('update:modelValue', val);
66
64
  }
67
65
  });
68
66
  const vListRef = ref();
@@ -128,6 +126,7 @@ export const VTreeview = genericComponent()({
128
126
  useRender(() => {
129
127
  const listProps = VList.filterProps(props);
130
128
  const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
129
+ const indentLinesVariant = typeof props.indentLines === 'boolean' ? 'default' : props.indentLines;
131
130
  return _createVNode(VList, _mergeProps({
132
131
  "ref": vListRef
133
132
  }, listProps, {
@@ -145,7 +144,9 @@ export const VTreeview = genericComponent()({
145
144
  default: () => [_createVNode(VTreeviewChildren, _mergeProps(treeviewChildrenProps, {
146
145
  "density": props.density,
147
146
  "returnObject": props.returnObject,
148
- "items": items.value
147
+ "items": items.value,
148
+ "parentIndentLines": props.indentLines ? [] : undefined,
149
+ "indentLinesVariant": indentLinesVariant
149
150
  }), slots)]
150
151
  });
151
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VTreeview.js","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRaw","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","fluid","Boolean","openAll","search","String","filterKeys","collapseIcon","expandIcon","slim","modelValue","type","Array","default","VTreeview","name","props","emits","val","value","setup","_ref","slots","activeColor","baseColor","color","activated","model","_selected","selected","get","set","vListRef","opened","flatItems","filteredItems","visibleIds","getPath","Set","flatMap","itemVal","returnObject","raw","getChildren","map","id","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","_createVNode","_mergeProps","class","style","$event"],"sources":["../../../src/components/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRaw, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n fluid: Boolean,\n openAll: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...omit(makeVTreeviewChildrenProps(), ['index', 'path']),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['itemType', 'nav', 'openStrategy']),\n modelValue: {\n type: Array,\n default: () => ([]),\n },\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'update:modelValue': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const activeColor = toRef(() => props.activeColor)\n const baseColor = toRef(() => props.baseColor)\n const color = toRef(() => props.color)\n const activated = useProxiedModel(props, 'activated')\n const model = useProxiedModel(props, 'modelValue')\n const _selected = useProxiedModel(props, 'selected', props.modelValue)\n\n const selected = computed({\n get: () => _selected.value,\n set (val) {\n _selected.value = val\n model.value = val\n },\n })\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) return null\n const getPath = vListRef.value?.getPath\n if (!getPath) return null\n return new Set(filteredItems.value.flatMap(item => {\n const itemVal = props.returnObject ? item.raw : item.props.value\n return [\n ...getPath(itemVal),\n ...getChildren(itemVal),\n ].map(toRaw)\n }))\n })\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (items: InternalListItem<any>[]) {\n let ids: any[] = []\n\n for (const i of items) {\n if (!i.children) continue\n\n ids.push(props.returnObject ? toRaw(i.raw) : i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(() => props.collapseIcon),\n expandIcon: toRef(() => props.expandIcon),\n },\n VTreeviewItem: {\n activeClass: toRef(() => props.activeClass),\n activeColor,\n baseColor,\n color,\n density: toRef(() => props.density),\n disabled: toRef(() => props.disabled),\n lines: toRef(() => props.lines),\n variant: toRef(() => props.variant),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n {\n 'v-treeview--fluid': props.fluid,\n },\n props.class,\n ]}\n open-strategy=\"multiple\"\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n density={ props.density }\n returnObject={ props.returnObject }\n items={ items.value }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTreeview.js","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRaw","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","fluid","Boolean","openAll","indentLines","String","search","filterKeys","collapseIcon","expandIcon","slim","modelValue","Array","VTreeview","name","props","emits","val","value","setup","_ref","slots","emit","activeColor","baseColor","color","activated","_selected","selected","get","set","vListRef","opened","flatItems","filteredItems","visibleIds","getPath","Set","flatMap","itemVal","returnObject","raw","getChildren","map","id","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","indentLinesVariant","_createVNode","_mergeProps","class","style","$event","default"],"sources":["../../../src/components/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRaw, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VTreeviewSymbol } from './shared'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, IndentLinesVariant } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n fluid: Boolean,\n openAll: Boolean,\n indentLines: [Boolean, String] as PropType<boolean | IndentLinesVariant>,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...omit(makeVTreeviewChildrenProps(), [\n 'index',\n 'path',\n 'indentLinesVariant',\n 'parentIndentLines',\n 'isLastGroup',\n ]),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['nav', 'openStrategy']),\n\n modelValue: Array,\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'update:modelValue': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots, emit }) {\n const { items } = useListItems(props)\n const activeColor = toRef(() => props.activeColor)\n const baseColor = toRef(() => props.baseColor)\n const color = toRef(() => props.color)\n const activated = useProxiedModel(props, 'activated')\n const _selected = useProxiedModel(props, 'selected')\n\n const selected = computed({\n get: () => props.modelValue ?? _selected.value,\n set (val) {\n _selected.value = val\n emit('update:modelValue', val)\n },\n })\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) return null\n const getPath = vListRef.value?.getPath\n if (!getPath) return null\n return new Set(filteredItems.value.flatMap(item => {\n const itemVal = props.returnObject ? item.raw : item.props.value\n return [\n ...getPath(itemVal),\n ...getChildren(itemVal),\n ].map(toRaw)\n }))\n })\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (items: InternalListItem<any>[]) {\n let ids: any[] = []\n\n for (const i of items) {\n if (!i.children) continue\n\n ids.push(props.returnObject ? toRaw(i.raw) : i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(() => props.collapseIcon),\n expandIcon: toRef(() => props.expandIcon),\n },\n VTreeviewItem: {\n activeClass: toRef(() => props.activeClass),\n activeColor,\n baseColor,\n color,\n density: toRef(() => props.density),\n disabled: toRef(() => props.disabled),\n lines: toRef(() => props.lines),\n variant: toRef(() => props.variant),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n const indentLinesVariant = typeof props.indentLines === 'boolean' ? 'default' : props.indentLines\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n {\n 'v-treeview--fluid': props.fluid,\n },\n props.class,\n ]}\n open-strategy=\"multiple\"\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n density={ props.density }\n returnObject={ props.returnObject }\n items={ items.value }\n parentIndentLines={ props.indentLines ? [] : undefined }\n indentLinesVariant={ indentLinesVariant }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import type { PropType } from 'vue';
3
3
  import type { InternalListItem } from "../VList/VList.js";
4
4
  import type { VListItemSlots } from "../VList/VListItem.js";
5
5
  import type { SelectStrategyProp } from "../../composables/nested/nested.js";
6
- import type { GenericProps } from "../../util/index.js";
6
+ import type { GenericProps, IndentLinesVariant, IndentLineType } from "../../util/index.js";
7
7
  export type VTreeviewChildrenSlots<T> = {
8
8
  [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & {
9
9
  item: T;
@@ -16,9 +16,16 @@ export type VTreeviewChildrenSlots<T> = {
16
16
  item: T;
17
17
  internalItem: InternalListItem<T>;
18
18
  };
19
+ divider: {
20
+ props: InternalListItem['props'];
21
+ };
22
+ subheader: {
23
+ props: InternalListItem['props'];
24
+ };
19
25
  };
20
26
  export declare const makeVTreeviewChildrenProps: <Defaults extends {
21
27
  density?: unknown;
28
+ hideActions?: unknown;
22
29
  disabled?: unknown;
23
30
  loadChildren?: unknown;
24
31
  loadingIcon?: unknown;
@@ -33,6 +40,10 @@ export declare const makeVTreeviewChildrenProps: <Defaults extends {
33
40
  selectedColor?: unknown;
34
41
  selectStrategy?: unknown;
35
42
  index?: unknown;
43
+ isLastGroup?: unknown;
44
+ separateRoots?: unknown;
45
+ parentIndentLines?: unknown;
46
+ indentLinesVariant?: unknown;
36
47
  path?: unknown;
37
48
  } = {}>(defaults?: Defaults | undefined) => {
38
49
  density: unknown extends Defaults["density"] ? {
@@ -47,6 +58,10 @@ export declare const makeVTreeviewChildrenProps: <Defaults extends {
47
58
  type: PropType<unknown extends Defaults["density"] ? import("../../composables/density.js").Density : import("../../composables/density.js").Density | Defaults["density"]>;
48
59
  default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : NonNullable<import("../../composables/density.js").Density> | Defaults["density"];
49
60
  };
61
+ hideActions: unknown extends Defaults["hideActions"] ? BooleanConstructor : {
62
+ type: PropType<unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"]>;
63
+ default: unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"];
64
+ };
50
65
  disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : {
51
66
  type: PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
52
67
  default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
@@ -121,6 +136,22 @@ export declare const makeVTreeviewChildrenProps: <Defaults extends {
121
136
  type: PropType<unknown extends Defaults["index"] ? number : number | Defaults["index"]>;
122
137
  default: unknown extends Defaults["index"] ? number : number | Defaults["index"];
123
138
  };
139
+ isLastGroup: unknown extends Defaults["isLastGroup"] ? BooleanConstructor : {
140
+ type: PropType<unknown extends Defaults["isLastGroup"] ? boolean : boolean | Defaults["isLastGroup"]>;
141
+ default: unknown extends Defaults["isLastGroup"] ? boolean : boolean | Defaults["isLastGroup"];
142
+ };
143
+ separateRoots: unknown extends Defaults["separateRoots"] ? BooleanConstructor : {
144
+ type: PropType<unknown extends Defaults["separateRoots"] ? boolean : boolean | Defaults["separateRoots"]>;
145
+ default: unknown extends Defaults["separateRoots"] ? boolean : boolean | Defaults["separateRoots"];
146
+ };
147
+ parentIndentLines: unknown extends Defaults["parentIndentLines"] ? PropType<IndentLineType[]> : {
148
+ type: PropType<unknown extends Defaults["parentIndentLines"] ? IndentLineType[] : IndentLineType[] | Defaults["parentIndentLines"]>;
149
+ default: unknown extends Defaults["parentIndentLines"] ? IndentLineType[] : IndentLineType[] | Defaults["parentIndentLines"];
150
+ };
151
+ indentLinesVariant: unknown extends Defaults["indentLinesVariant"] ? PropType<IndentLinesVariant> : {
152
+ type: PropType<unknown extends Defaults["indentLinesVariant"] ? IndentLinesVariant : IndentLinesVariant | Defaults["indentLinesVariant"]>;
153
+ default: unknown extends Defaults["indentLinesVariant"] ? IndentLinesVariant : Defaults["indentLinesVariant"] | NonNullable<IndentLinesVariant>;
154
+ };
124
155
  path: unknown extends Defaults["path"] ? {
125
156
  type: PropType<number[]>;
126
157
  default: () => never[];
@@ -136,31 +167,37 @@ export declare const VTreeviewChildren: {
136
167
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
137
168
  path: number[];
138
169
  disabled: boolean;
170
+ isLastGroup: boolean;
171
+ separateRoots: boolean;
139
172
  returnObject: boolean;
140
173
  density: import("../../composables/density.js").Density;
141
174
  indeterminateIcon: IconValue;
142
175
  activatable: boolean;
143
176
  selectable: boolean;
177
+ hideActions: boolean;
144
178
  loadingIcon: string;
145
179
  } & {
146
180
  index?: number | undefined;
181
+ parentIndentLines?: IndentLineType[] | undefined;
147
182
  selectStrategy?: SelectStrategyProp | undefined;
148
183
  openOnClick?: boolean | undefined;
149
184
  falseIcon?: IconValue | undefined;
150
185
  trueIcon?: IconValue | undefined;
151
186
  selectedColor?: string | undefined;
152
187
  loadChildren?: ((item: unknown) => Promise<void>) | undefined;
153
- }, () => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
154
- [key: string]: any;
155
- }>[] | JSX.Element)[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
188
+ indentLinesVariant?: IndentLinesVariant | undefined;
189
+ }, () => import("vue").VNodeChild[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item" | "v-slot:divider" | "v-slot:subheader">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
156
190
  path: number[];
157
191
  disabled: boolean;
192
+ isLastGroup: boolean;
193
+ separateRoots: boolean;
158
194
  returnObject: boolean;
159
195
  density: import("../../composables/density.js").Density;
160
196
  openOnClick: boolean;
161
197
  indeterminateIcon: IconValue;
162
198
  activatable: boolean;
163
199
  selectable: boolean;
200
+ hideActions: boolean;
164
201
  loadingIcon: string;
165
202
  }, true, {}, import("vue").SlotsType<Partial<{
166
203
  title: (arg: import("../VList/VListItem.js").ListItemTitleSlot & {
@@ -185,6 +222,12 @@ export declare const VTreeviewChildren: {
185
222
  item: InternalListItem<any>;
186
223
  internalItem: InternalListItem<InternalListItem<any>>;
187
224
  }) => import("vue").VNode[];
225
+ divider: (arg: {
226
+ props: InternalListItem["props"];
227
+ }) => import("vue").VNode[];
228
+ subheader: (arg: {
229
+ props: InternalListItem["props"];
230
+ }) => import("vue").VNode[];
188
231
  }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
189
232
  P: {};
190
233
  B: {};
@@ -195,31 +238,37 @@ export declare const VTreeviewChildren: {
195
238
  }, {
196
239
  path: number[];
197
240
  disabled: boolean;
241
+ isLastGroup: boolean;
242
+ separateRoots: boolean;
198
243
  returnObject: boolean;
199
244
  density: import("../../composables/density.js").Density;
200
245
  indeterminateIcon: IconValue;
201
246
  activatable: boolean;
202
247
  selectable: boolean;
248
+ hideActions: boolean;
203
249
  loadingIcon: string;
204
250
  } & {
205
251
  index?: number | undefined;
252
+ parentIndentLines?: IndentLineType[] | undefined;
206
253
  selectStrategy?: SelectStrategyProp | undefined;
207
254
  openOnClick?: boolean | undefined;
208
255
  falseIcon?: IconValue | undefined;
209
256
  trueIcon?: IconValue | undefined;
210
257
  selectedColor?: string | undefined;
211
258
  loadChildren?: ((item: unknown) => Promise<void>) | undefined;
212
- }, () => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
213
- [key: string]: any;
214
- }>[] | JSX.Element)[] | undefined, {}, {}, {}, {
259
+ indentLinesVariant?: IndentLinesVariant | undefined;
260
+ }, () => import("vue").VNodeChild[] | undefined, {}, {}, {}, {
215
261
  path: number[];
216
262
  disabled: boolean;
263
+ isLastGroup: boolean;
264
+ separateRoots: boolean;
217
265
  returnObject: boolean;
218
266
  density: import("../../composables/density.js").Density;
219
267
  openOnClick: boolean;
220
268
  indeterminateIcon: IconValue;
221
269
  activatable: boolean;
222
270
  selectable: boolean;
271
+ hideActions: boolean;
223
272
  loadingIcon: string;
224
273
  }>;
225
274
  __isFragment?: never;
@@ -228,31 +277,37 @@ export declare const VTreeviewChildren: {
228
277
  } & import("vue").ComponentOptionsBase<{
229
278
  path: number[];
230
279
  disabled: boolean;
280
+ isLastGroup: boolean;
281
+ separateRoots: boolean;
231
282
  returnObject: boolean;
232
283
  density: import("../../composables/density.js").Density;
233
284
  indeterminateIcon: IconValue;
234
285
  activatable: boolean;
235
286
  selectable: boolean;
287
+ hideActions: boolean;
236
288
  loadingIcon: string;
237
289
  } & {
238
290
  index?: number | undefined;
291
+ parentIndentLines?: IndentLineType[] | undefined;
239
292
  selectStrategy?: SelectStrategyProp | undefined;
240
293
  openOnClick?: boolean | undefined;
241
294
  falseIcon?: IconValue | undefined;
242
295
  trueIcon?: IconValue | undefined;
243
296
  selectedColor?: string | undefined;
244
297
  loadChildren?: ((item: unknown) => Promise<void>) | undefined;
245
- }, () => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
246
- [key: string]: any;
247
- }>[] | JSX.Element)[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item">, string, {
298
+ indentLinesVariant?: IndentLinesVariant | undefined;
299
+ }, () => import("vue").VNodeChild[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item" | "v-slot:divider" | "v-slot:subheader">, string, {
248
300
  path: number[];
249
301
  disabled: boolean;
302
+ isLastGroup: boolean;
303
+ separateRoots: boolean;
250
304
  returnObject: boolean;
251
305
  density: import("../../composables/density.js").Density;
252
306
  openOnClick: boolean;
253
307
  indeterminateIcon: IconValue;
254
308
  activatable: boolean;
255
309
  selectable: boolean;
310
+ hideActions: boolean;
256
311
  loadingIcon: string;
257
312
  }, {}, string, import("vue").SlotsType<Partial<{
258
313
  title: (arg: import("../VList/VListItem.js").ListItemTitleSlot & {
@@ -277,6 +332,12 @@ export declare const VTreeviewChildren: {
277
332
  item: InternalListItem<any>;
278
333
  internalItem: InternalListItem<InternalListItem<any>>;
279
334
  }) => import("vue").VNode[];
335
+ divider: (arg: {
336
+ props: InternalListItem["props"];
337
+ }) => import("vue").VNode[];
338
+ subheader: (arg: {
339
+ props: InternalListItem["props"];
340
+ }) => import("vue").VNode[];
280
341
  }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new <T extends InternalListItem>(props: {
281
342
  items?: readonly T[];
282
343
  }, slots: VTreeviewChildrenSlots<T>) => GenericProps<typeof props, typeof slots>) & import("../../util/index.js").FilterPropsOptions<{
@@ -285,6 +346,7 @@ export declare const VTreeviewChildren: {
285
346
  default: string;
286
347
  validator: (v: any) => boolean;
287
348
  };
349
+ hideActions: BooleanConstructor;
288
350
  disabled: BooleanConstructor;
289
351
  loadChildren: PropType<(item: unknown) => Promise<void>>;
290
352
  loadingIcon: {
@@ -308,6 +370,10 @@ export declare const VTreeviewChildren: {
308
370
  selectedColor: StringConstructor;
309
371
  selectStrategy: PropType<SelectStrategyProp>;
310
372
  index: NumberConstructor;
373
+ isLastGroup: BooleanConstructor;
374
+ separateRoots: BooleanConstructor;
375
+ parentIndentLines: PropType<IndentLineType[]>;
376
+ indentLinesVariant: PropType<IndentLinesVariant>;
311
377
  path: {
312
378
  type: PropType<number[]>;
313
379
  default: () => never[];
@@ -318,6 +384,7 @@ export declare const VTreeviewChildren: {
318
384
  default: string;
319
385
  validator: (v: any) => boolean;
320
386
  };
387
+ hideActions: BooleanConstructor;
321
388
  disabled: BooleanConstructor;
322
389
  loadChildren: PropType<(item: unknown) => Promise<void>>;
323
390
  loadingIcon: {
@@ -341,6 +408,10 @@ export declare const VTreeviewChildren: {
341
408
  selectedColor: StringConstructor;
342
409
  selectStrategy: PropType<SelectStrategyProp>;
343
410
  index: NumberConstructor;
411
+ isLastGroup: BooleanConstructor;
412
+ separateRoots: BooleanConstructor;
413
+ parentIndentLines: PropType<IndentLineType[]>;
414
+ indentLinesVariant: PropType<IndentLinesVariant>;
344
415
  path: {
345
416
  type: PropType<number[]>;
346
417
  default: () => never[];
@@ -1,12 +1,14 @@
1
1
  import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
2
2
  // Components
3
3
  import { VTreeviewGroup } from "./VTreeviewGroup.js";
4
- import { VTreeviewItem } from "./VTreeviewItem.js";
5
- import { VCheckboxBtn } from "../VCheckbox/index.js"; // Composables
4
+ import { makeVTreeviewItemProps, VTreeviewItem } from "./VTreeviewItem.js";
5
+ import { VCheckboxBtn } from "../VCheckbox/index.js";
6
+ import { VDivider } from "../VDivider/index.js";
7
+ import { VListSubheader } from "../VList/index.js"; // Composables
6
8
  import { makeDensityProps } from "../../composables/density.js";
7
9
  import { IconValue } from "../../composables/icons.js"; // Utilities
8
10
  import { computed, reactive, ref, toRaw } from 'vue';
9
- import { genericComponent, propsFactory } from "../../util/index.js"; // Types
11
+ import { genericComponent, getIndentLines, pick, propsFactory, renderSlot } from "../../util/index.js"; // Types
10
12
  export const makeVTreeviewChildrenProps = propsFactory({
11
13
  disabled: Boolean,
12
14
  loadChildren: Function,
@@ -31,10 +33,15 @@ export const makeVTreeviewChildrenProps = propsFactory({
31
33
  selectedColor: String,
32
34
  selectStrategy: [String, Function, Object],
33
35
  index: Number,
36
+ isLastGroup: Boolean,
37
+ separateRoots: Boolean,
38
+ parentIndentLines: Array,
39
+ indentLinesVariant: String,
34
40
  path: {
35
41
  type: Array,
36
42
  default: () => []
37
43
  },
44
+ ...pick(makeVTreeviewItemProps(), ['hideActions']),
38
45
  ...makeDensityProps()
39
46
  }, 'VTreeviewChildren');
40
47
  export const VTreeviewChildren = genericComponent()({
@@ -63,19 +70,32 @@ export const VTreeviewChildren = genericComponent()({
63
70
  select(isSelected);
64
71
  }
65
72
  }
66
- return () => slots.default?.() ?? props.items?.map((item, index) => {
73
+ return () => slots.default?.() ?? props.items?.map((item, index, items) => {
67
74
  const {
68
75
  children,
69
76
  props: itemProps
70
77
  } = item;
71
78
  const loading = isLoading.has(item.value);
79
+ const nextItemHasChildren = !!items.at(index + 1)?.children;
80
+ const depth = props.path?.length ?? 0;
81
+ const isLast = items.length - 1 === index;
72
82
  const treeItemProps = {
73
83
  index,
74
- depth: props.path?.length ?? 0,
84
+ depth,
75
85
  isFirst: index === 0,
76
- isLast: props.items ? props.items.length - 1 === index : false,
77
- path: [...props.path, index]
86
+ isLast,
87
+ path: [...props.path, index],
88
+ hideAction: props.hideActions
78
89
  };
90
+ const indentLines = getIndentLines({
91
+ depth,
92
+ isLast,
93
+ isLastGroup: props.isLastGroup,
94
+ leafLinks: !props.hideActions,
95
+ separateRoots: props.separateRoots,
96
+ parentIndentLines: props.parentIndentLines,
97
+ variant: props.indentLinesVariant
98
+ });
79
99
  const slotsWithItem = {
80
100
  prepend: slotProps => _createElementVNode(_Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && _createElementVNode("div", null, [_createVNode(VCheckboxBtn, {
81
101
  "key": item.value,
@@ -141,21 +161,40 @@ export const VTreeviewChildren = genericComponent()({
141
161
  return _createVNode(VTreeviewItem, _mergeProps({
142
162
  "ref": el => activatorItems.value[index] = el
143
163
  }, listItemProps, {
164
+ "hideActions": props.hideActions,
165
+ "indentLines": indentLines.node,
144
166
  "value": props.returnObject ? item.raw : itemProps.value,
145
167
  "loading": loading
146
168
  }), slotsWithItem);
147
169
  },
148
170
  default: () => _createVNode(VTreeviewChildren, _mergeProps(treeviewChildrenProps, {
149
171
  "items": children,
172
+ "indentLinesVariant": props.indentLinesVariant,
173
+ "parentIndentLines": indentLines.children,
174
+ "isLastGroup": nextItemHasChildren,
150
175
  "returnObject": props.returnObject
151
176
  }), slots)
152
- }) : slots.item?.({
177
+ }) : renderSlot(slots.item, {
153
178
  props: itemProps,
154
179
  item: item.raw,
155
180
  internalItem: item
156
- }) ?? _createVNode(VTreeviewItem, _mergeProps(itemProps, {
157
- "value": props.returnObject ? toRaw(item.raw) : itemProps.value
158
- }), slotsWithItem);
181
+ }, () => {
182
+ if (item.type === 'divider') {
183
+ return renderSlot(slots.divider, {
184
+ props: item.raw
185
+ }, () => _createVNode(VDivider, item.props, null));
186
+ }
187
+ if (item.type === 'subheader') {
188
+ return renderSlot(slots.subheader, {
189
+ props: item.raw
190
+ }, () => _createVNode(VListSubheader, item.props, null));
191
+ }
192
+ return _createVNode(VTreeviewItem, _mergeProps(itemProps, {
193
+ "hideActions": props.hideActions,
194
+ "indentLines": indentLines.leaf,
195
+ "value": props.returnObject ? toRaw(item.raw) : itemProps.value
196
+ }), slotsWithItem);
197
+ });
159
198
  });
160
199
  }
161
200
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","makeDensityProps","IconValue","computed","reactive","ref","toRaw","genericComponent","propsFactory","makeVTreeviewChildrenProps","disabled","Boolean","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","activatable","selectable","selectedColor","selectStrategy","Object","index","Number","path","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","activatorItems","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","treeItemProps","depth","isFirst","isLast","slotsWithItem","prepend","slotProps","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","v","e","stopPropagation","key","internalItem","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref2","activatorProps","listItemProps","onToggleExpand","onClick","el"],"sources":["../../../src/components/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, ref, toRaw } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n disabled: Boolean,\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n activatable: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n index: Number,\n path: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n ...makeDensityProps(),\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n const activatorItems = ref<VTreeviewItem[]>([])\n\n const isClickOnOpen = computed(() => (\n !props.disabled && (\n props.openOnClick != null\n ? props.openOnClick\n : props.selectable && !props.activatable\n )))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\n }\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map((item, index) => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n\n const treeItemProps = {\n index,\n depth: props.path?.length ?? 0,\n isFirst: index === 0,\n isLast: props.items ? props.items.length - 1 === index : false,\n path: [...props.path, index],\n }\n\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n disabled={ props.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onUpdate:modelValue={ v => selectItem(slotProps.select, v) }\n onClick={ (e: PointerEvent) => e.stopPropagation() }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append\n ? slotProps => slots.append?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item })\n : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps({ ...props, ...treeItemProps })\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n rawId={ treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value\n ? [() => checkChildren(item), activatorProps.onClick] as any\n : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected),\n }\n\n return (\n <VTreeviewItem\n ref={ el => activatorItems.value[index] = el as VTreeviewItem }\n { ...listItemProps }\n value={ props.returnObject ? item.raw : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : (\n slots.item?.({ props: itemProps, item: item.raw, internalItem: item }) ?? (\n <VTreeviewItem\n { ...itemProps }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n ))\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","makeVTreeviewItemProps","VTreeviewItem","VCheckboxBtn","VDivider","VListSubheader","makeDensityProps","IconValue","computed","reactive","ref","toRaw","genericComponent","getIndentLines","pick","propsFactory","renderSlot","makeVTreeviewChildrenProps","disabled","Boolean","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","activatable","selectable","selectedColor","selectStrategy","Object","index","Number","isLastGroup","separateRoots","parentIndentLines","indentLinesVariant","path","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","activatorItems","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","nextItemHasChildren","at","depth","isLast","treeItemProps","isFirst","hideAction","hideActions","indentLines","leafLinks","variant","slotsWithItem","prepend","slotProps","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","v","e","stopPropagation","key","internalItem","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref2","activatorProps","listItemProps","onToggleExpand","onClick","el","node","divider","subheader","leaf"],"sources":["../../../src/components/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { makeVTreeviewItemProps, VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDivider } from '@/components/VDivider'\nimport { VListSubheader } from '@/components/VList'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, ref, toRaw } from 'vue'\nimport { genericComponent, getIndentLines, pick, propsFactory, renderSlot } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps, IndentLinesVariant, IndentLineType } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n disabled: Boolean,\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n activatable: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n index: Number,\n isLastGroup: Boolean,\n separateRoots: Boolean,\n parentIndentLines: Array as PropType<IndentLineType[]>,\n indentLinesVariant: String as PropType<IndentLinesVariant>,\n path: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n ...pick(makeVTreeviewItemProps(), ['hideActions']),\n ...makeDensityProps(),\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n const activatorItems = ref<VTreeviewItem[]>([])\n\n const isClickOnOpen = computed(() => (\n !props.disabled && (\n props.openOnClick != null\n ? props.openOnClick\n : props.selectable && !props.activatable\n )))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\n }\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map((item, index, items) => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n const nextItemHasChildren = !!items.at(index + 1)?.children\n\n const depth = props.path?.length ?? 0\n const isLast = items.length - 1 === index\n const treeItemProps = {\n index,\n depth,\n isFirst: index === 0,\n isLast,\n path: [...props.path, index],\n hideAction: props.hideActions,\n }\n\n const indentLines = getIndentLines({\n depth,\n isLast,\n isLastGroup: props.isLastGroup,\n leafLinks: !props.hideActions,\n separateRoots: props.separateRoots,\n parentIndentLines: props.parentIndentLines,\n variant: props.indentLinesVariant,\n })\n\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n disabled={ props.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onUpdate:modelValue={ v => selectItem(slotProps.select, v) }\n onClick={ (e: PointerEvent) => e.stopPropagation() }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append\n ? slotProps => slots.append?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item })\n : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps({ ...props, ...treeItemProps })\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n rawId={ treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value\n ? [() => checkChildren(item), activatorProps.onClick] as any\n : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected),\n }\n\n return (\n <VTreeviewItem\n ref={ el => activatorItems.value[index] = el as VTreeviewItem }\n { ...listItemProps }\n hideActions={ props.hideActions }\n indentLines={ indentLines.node }\n value={ props.returnObject ? item.raw : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n indentLinesVariant={ props.indentLinesVariant }\n parentIndentLines={ indentLines.children }\n isLastGroup={ nextItemHasChildren }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : renderSlot(\n slots.item,\n { props: itemProps, item: item.raw, internalItem: item },\n () => {\n if (item.type === 'divider') {\n return renderSlot(\n slots.divider,\n { props: item.raw },\n () => <VDivider { ...item.props } />,\n )\n }\n if (item.type === 'subheader') {\n return renderSlot(\n slots.subheader,\n { props: item.raw },\n () => <VListSubheader { ...item.props } />,\n )\n }\n return (\n <VTreeviewItem\n { ...itemProps }\n hideActions={ props.hideActions }\n indentLines={ indentLines.leaf }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n })\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}