vuetify 3.5.8 → 3.5.10

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 (189) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +525 -13
  3. package/dist/json/importMap-labs.json +24 -8
  4. package/dist/json/importMap.json +130 -130
  5. package/dist/json/tags.json +148 -0
  6. package/dist/json/web-types.json +2021 -147
  7. package/dist/vuetify-labs.css +2819 -2760
  8. package/dist/vuetify-labs.d.ts +5860 -2816
  9. package/dist/vuetify-labs.esm.js +1286 -248
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +1286 -247
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +553 -547
  14. package/dist/vuetify.d.ts +2835 -2281
  15. package/dist/vuetify.esm.js +883 -408
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +882 -406
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +1137 -1109
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAlert/index.d.mts +15 -15
  23. package/lib/components/VApp/index.d.mts +8 -8
  24. package/lib/components/VAppBar/index.d.mts +7 -7
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs +9 -7
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  27. package/lib/components/VAutocomplete/index.d.mts +232 -100
  28. package/lib/components/VAvatar/index.d.mts +8 -8
  29. package/lib/components/VBadge/index.d.mts +7 -7
  30. package/lib/components/VBanner/index.d.mts +20 -20
  31. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  32. package/lib/components/VBreadcrumbs/index.d.mts +27 -26
  33. package/lib/components/VBtnGroup/index.d.mts +8 -8
  34. package/lib/components/VCard/index.d.mts +32 -32
  35. package/lib/components/VCarousel/index.d.mts +6 -6
  36. package/lib/components/VCheckbox/index.d.mts +44 -44
  37. package/lib/components/VChip/index.d.mts +7 -7
  38. package/lib/components/VCode/index.d.mts +8 -8
  39. package/lib/components/VColorPicker/VColorPickerPreview.css +1 -0
  40. package/lib/components/VColorPicker/VColorPickerPreview.sass +1 -0
  41. package/lib/components/VColorPicker/_variables.scss +1 -0
  42. package/lib/components/VCombobox/VCombobox.mjs +10 -7
  43. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  44. package/lib/components/VCombobox/index.d.mts +232 -100
  45. package/lib/components/VDataTable/index.d.mts +6 -6
  46. package/lib/components/VDatePicker/VDatePickerControls.mjs +1 -0
  47. package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
  48. package/lib/components/VDatePicker/VDatePickerMonth.mjs +10 -4
  49. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  50. package/lib/components/VDatePicker/index.d.mts +10 -10
  51. package/lib/components/VDefaultsProvider/index.d.mts +8 -8
  52. package/lib/components/VDialog/index.d.mts +12 -6
  53. package/lib/components/VDivider/index.d.mts +8 -8
  54. package/lib/components/VExpansionPanel/index.d.mts +19 -19
  55. package/lib/components/VField/VField.css +2 -0
  56. package/lib/components/VField/VField.mjs +1 -1
  57. package/lib/components/VField/VField.mjs.map +1 -1
  58. package/lib/components/VField/VField.sass +2 -0
  59. package/lib/components/VField/index.d.mts +28 -28
  60. package/lib/components/VFileInput/index.d.mts +133 -133
  61. package/lib/components/VFooter/index.d.mts +8 -8
  62. package/lib/components/VGrid/index.d.mts +32 -32
  63. package/lib/components/VIcon/VIcon.css +4 -0
  64. package/lib/components/VIcon/VIcon.mjs +7 -3
  65. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  66. package/lib/components/VIcon/VIcon.sass +4 -0
  67. package/lib/components/VIcon/_variables.scss +1 -0
  68. package/lib/components/VIcon/index.d.mts +25 -16
  69. package/lib/components/VImg/index.d.mts +4 -4
  70. package/lib/components/VInput/index.d.mts +21 -21
  71. package/lib/components/VKbd/index.d.mts +8 -8
  72. package/lib/components/VLabel/index.d.mts +8 -8
  73. package/lib/components/VLayout/index.d.mts +16 -16
  74. package/lib/components/VLazy/index.d.mts +8 -8
  75. package/lib/components/VList/VList.mjs +8 -2
  76. package/lib/components/VList/VList.mjs.map +1 -1
  77. package/lib/components/VList/VListGroup.mjs +3 -1
  78. package/lib/components/VList/VListGroup.mjs.map +1 -1
  79. package/lib/components/VList/VListItem.mjs +17 -4
  80. package/lib/components/VList/VListItem.mjs.map +1 -1
  81. package/lib/components/VList/index.d.mts +156 -54
  82. package/lib/components/VLocaleProvider/index.d.mts +12 -12
  83. package/lib/components/VMain/index.d.mts +8 -8
  84. package/lib/components/VMenu/VMenu.mjs +3 -0
  85. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  86. package/lib/components/VMenu/index.d.mts +14 -8
  87. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +1 -1
  88. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +22 -8
  89. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  90. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -1
  91. package/lib/components/VNavigationDrawer/index.d.mts +11 -11
  92. package/lib/components/VOtpInput/VOtpInput.mjs +7 -2
  93. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  94. package/lib/components/VOtpInput/index.d.mts +31 -31
  95. package/lib/components/VOverlay/VOverlay.mjs +8 -3
  96. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  97. package/lib/components/VOverlay/index.d.mts +3 -0
  98. package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
  99. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  100. package/lib/components/VPagination/index.d.mts +7 -7
  101. package/lib/components/VProgressLinear/VProgressLinear.css +0 -1
  102. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  103. package/lib/components/VProgressLinear/index.d.mts +7 -7
  104. package/lib/components/VRadioGroup/index.d.mts +44 -44
  105. package/lib/components/VRangeSlider/index.d.mts +47 -47
  106. package/lib/components/VRating/index.d.mts +7 -7
  107. package/lib/components/VResponsive/index.d.mts +8 -8
  108. package/lib/components/VSelect/VSelect.mjs +5 -3
  109. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  110. package/lib/components/VSelect/index.d.mts +232 -100
  111. package/lib/components/VSheet/index.d.mts +8 -8
  112. package/lib/components/VSkeletonLoader/index.d.mts +8 -8
  113. package/lib/components/VSlider/index.d.mts +47 -47
  114. package/lib/components/VSnackbar/index.d.mts +25 -19
  115. package/lib/components/VStepper/index.d.mts +41 -41
  116. package/lib/components/VSwitch/index.d.mts +39 -39
  117. package/lib/components/VSystemBar/index.d.mts +8 -8
  118. package/lib/components/VTabs/index.d.mts +15 -15
  119. package/lib/components/VTextField/index.d.mts +173 -173
  120. package/lib/components/VTextarea/index.d.mts +119 -119
  121. package/lib/components/VThemeProvider/index.d.mts +8 -8
  122. package/lib/components/VTimeline/index.d.mts +8 -8
  123. package/lib/components/VToolbar/index.d.mts +8 -8
  124. package/lib/components/VTooltip/index.d.mts +14 -8
  125. package/lib/components/VWindow/index.d.mts +10 -10
  126. package/lib/components/index.d.mts +2478 -1943
  127. package/lib/components/transitions/index.d.mts +128 -128
  128. package/lib/composables/date/adapters/vuetify.mjs +1 -1
  129. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  130. package/lib/composables/nested/activeStrategies.mjs +121 -0
  131. package/lib/composables/nested/activeStrategies.mjs.map +1 -0
  132. package/lib/composables/nested/nested.mjs +50 -1
  133. package/lib/composables/nested/nested.mjs.map +1 -1
  134. package/lib/composables/nested/selectStrategies.mjs +4 -2
  135. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  136. package/lib/composables/theme.mjs +1 -1
  137. package/lib/composables/theme.mjs.map +1 -1
  138. package/lib/entry-bundler.mjs +3 -2
  139. package/lib/entry-bundler.mjs.map +1 -1
  140. package/lib/framework.mjs +1 -1
  141. package/lib/framework.mjs.map +1 -1
  142. package/lib/iconsets/fa.mjs +2 -0
  143. package/lib/iconsets/fa.mjs.map +1 -1
  144. package/lib/iconsets/fa4.mjs +2 -0
  145. package/lib/iconsets/fa4.mjs.map +1 -1
  146. package/lib/iconsets/md.mjs +2 -0
  147. package/lib/iconsets/md.mjs.map +1 -1
  148. package/lib/iconsets/mdi-svg.mjs +2 -0
  149. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  150. package/lib/iconsets/mdi.mjs +2 -0
  151. package/lib/iconsets/mdi.mjs.map +1 -1
  152. package/lib/index.d.mts +48 -44
  153. package/lib/labs/VCalendar/index.d.mts +32 -32
  154. package/lib/labs/VFab/index.d.mts +15 -15
  155. package/lib/labs/VNumberInput/VNumberInput.css +38 -0
  156. package/lib/labs/VNumberInput/VNumberInput.mjs +209 -0
  157. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -0
  158. package/lib/labs/VNumberInput/VNumberInput.sass +47 -0
  159. package/lib/labs/VNumberInput/_variables.scss +1 -0
  160. package/lib/labs/VNumberInput/index.d.mts +607 -0
  161. package/lib/labs/VNumberInput/index.mjs +2 -0
  162. package/lib/labs/VNumberInput/index.mjs.map +1 -0
  163. package/lib/labs/VPicker/index.d.mts +8 -8
  164. package/lib/labs/VSparkline/index.d.mts +7 -7
  165. package/lib/labs/VSpeedDial/VSpeedDial.mjs +9 -5
  166. package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
  167. package/lib/labs/VSpeedDial/index.d.mts +120 -24
  168. package/lib/labs/VTreeview/VTreeview.mjs +154 -0
  169. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -0
  170. package/lib/labs/VTreeview/VTreeviewChildren.mjs +98 -0
  171. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -0
  172. package/lib/labs/VTreeview/VTreeviewGroup.mjs +48 -0
  173. package/lib/labs/VTreeview/VTreeviewGroup.mjs.map +1 -0
  174. package/lib/labs/VTreeview/VTreeviewItem.css +17 -0
  175. package/lib/labs/VTreeview/VTreeviewItem.mjs +86 -0
  176. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -0
  177. package/lib/labs/VTreeview/VTreeviewItem.sass +19 -0
  178. package/lib/labs/VTreeview/index.d.mts +1975 -0
  179. package/lib/labs/VTreeview/index.mjs +4 -0
  180. package/lib/labs/VTreeview/index.mjs.map +1 -0
  181. package/lib/labs/VTreeview/shared.mjs +4 -0
  182. package/lib/labs/VTreeview/shared.mjs.map +1 -0
  183. package/lib/labs/VTreeview/variables.scss +8 -0
  184. package/lib/labs/components.d.mts +4553 -1925
  185. package/lib/labs/components.mjs +4 -2
  186. package/lib/labs/components.mjs.map +1 -1
  187. package/lib/locale/no.mjs +1 -1
  188. package/lib/locale/no.mjs.map +1 -1
  189. package/package.json +2 -2
@@ -0,0 +1,48 @@
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
+ // Components
3
+ import { VDefaultsProvider } from "../../components/VDefaultsProvider/index.mjs";
4
+ import { makeVListGroupProps, VListGroup } from "../../components/VList/VListGroup.mjs"; // Utilities
5
+ import { computed, ref } from 'vue';
6
+ import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
7
+ export const makeVTreeviewGroupProps = propsFactory({
8
+ ...omit(makeVListGroupProps({
9
+ collapseIcon: '$treeviewCollapse',
10
+ expandIcon: '$treeviewExpand'
11
+ }), ['subgroup'])
12
+ }, 'VTreeviewGroup');
13
+ export const VTreeviewGroup = genericComponent()({
14
+ name: 'VTreeviewGroup',
15
+ props: makeVTreeviewGroupProps(),
16
+ setup(props, _ref) {
17
+ let {
18
+ slots
19
+ } = _ref;
20
+ const vListGroupRef = ref();
21
+ const toggleIcon = computed(() => vListGroupRef.value?.isOpen ? props.collapseIcon : props.expandIcon);
22
+ const activatorDefaults = computed(() => ({
23
+ VTreeviewItem: {
24
+ prependIcon: undefined,
25
+ appendIcon: undefined,
26
+ active: vListGroupRef.value?.isOpen,
27
+ toggleIcon: toggleIcon.value
28
+ }
29
+ }));
30
+ useRender(() => {
31
+ const listGroupProps = VListGroup.filterProps(props);
32
+ return _createVNode(VListGroup, _mergeProps(listGroupProps, {
33
+ "ref": vListGroupRef,
34
+ "class": ['v-treeview-group', props.class],
35
+ "subgroup": true
36
+ }), {
37
+ ...slots,
38
+ activator: slots.activator ? slotProps => _createVNode(_Fragment, null, [_createVNode(VDefaultsProvider, {
39
+ "defaults": activatorDefaults.value
40
+ }, {
41
+ default: () => [slots.activator?.(slotProps)]
42
+ })]) : undefined
43
+ });
44
+ });
45
+ return {};
46
+ }
47
+ });
48
+ //# sourceMappingURL=VTreeviewGroup.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VTreeviewGroup.mjs","names":["VDefaultsProvider","makeVListGroupProps","VListGroup","computed","ref","genericComponent","omit","propsFactory","useRender","makeVTreeviewGroupProps","collapseIcon","expandIcon","VTreeviewGroup","name","props","setup","_ref","slots","vListGroupRef","toggleIcon","value","isOpen","activatorDefaults","VTreeviewItem","prependIcon","undefined","appendIcon","active","listGroupProps","filterProps","_createVNode","_mergeProps","class","activator","slotProps","_Fragment","default"],"sources":["../../../src/labs/VTreeview/VTreeviewGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVListGroupProps, VListGroup } from '@/components/VList/VListGroup'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VListGroupSlots } from '@/components/VList/VListGroup'\n\nexport const makeVTreeviewGroupProps = propsFactory({\n ...omit(makeVListGroupProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n }), ['subgroup']),\n}, 'VTreeviewGroup')\n\nexport const VTreeviewGroup = genericComponent<VListGroupSlots>()({\n name: 'VTreeviewGroup',\n\n props: makeVTreeviewGroupProps(),\n\n setup (props, { slots }) {\n const vListGroupRef = ref<VListGroup>()\n const toggleIcon = computed(() => vListGroupRef.value?.isOpen ? props.collapseIcon : props.expandIcon)\n\n const activatorDefaults = computed(() => ({\n VTreeviewItem: {\n prependIcon: undefined,\n appendIcon: undefined,\n active: vListGroupRef.value?.isOpen,\n toggleIcon: toggleIcon.value,\n },\n }))\n\n useRender(() => {\n const listGroupProps = VListGroup.filterProps(props)\n\n return (\n <VListGroup\n { ...listGroupProps }\n ref={ vListGroupRef }\n class={[\n 'v-treeview-group',\n props.class,\n ]}\n subgroup\n >\n {{\n ...slots,\n activator: slots.activator ? slotProps => (\n <>\n <VDefaultsProvider defaults={ activatorDefaults.value }>\n { slots.activator?.(slotProps) }\n </VDefaultsProvider>\n </>\n ) : undefined,\n }}\n </VListGroup>\n )\n })\n\n return {}\n },\n})\n\nexport type VTreeviewGroup = InstanceType<typeof VTreeviewGroup>\n"],"mappings":";AAAA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,mBAAmB,EAAEC,UAAU,iDAExC;AACA,SAASC,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AAAA,SAC1BC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAGA,OAAO,MAAMC,uBAAuB,GAAGF,YAAY,CAAC;EAClD,GAAGD,IAAI,CAACL,mBAAmB,CAAC;IAC1BS,YAAY,EAAE,mBAAmB;IACjCC,UAAU,EAAE;EACd,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;AAClB,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMC,cAAc,GAAGP,gBAAgB,CAAkB,CAAC,CAAC;EAChEQ,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEL,uBAAuB,CAAC,CAAC;EAEhCM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,aAAa,GAAGd,GAAG,CAAa,CAAC;IACvC,MAAMe,UAAU,GAAGhB,QAAQ,CAAC,MAAMe,aAAa,CAACE,KAAK,EAAEC,MAAM,GAAGP,KAAK,CAACJ,YAAY,GAAGI,KAAK,CAACH,UAAU,CAAC;IAEtG,MAAMW,iBAAiB,GAAGnB,QAAQ,CAAC,OAAO;MACxCoB,aAAa,EAAE;QACbC,WAAW,EAAEC,SAAS;QACtBC,UAAU,EAAED,SAAS;QACrBE,MAAM,EAAET,aAAa,CAACE,KAAK,EAAEC,MAAM;QACnCF,UAAU,EAAEA,UAAU,CAACC;MACzB;IACF,CAAC,CAAC,CAAC;IAEHZ,SAAS,CAAC,MAAM;MACd,MAAMoB,cAAc,GAAG1B,UAAU,CAAC2B,WAAW,CAACf,KAAK,CAAC;MAEpD,OAAAgB,YAAA,CAAA5B,UAAA,EAAA6B,WAAA,CAESH,cAAc;QAAA,OACbV,aAAa;QAAA,SACZ,CACL,kBAAkB,EAClBJ,KAAK,CAACkB,KAAK,CACZ;QAAA;MAAA;QAIC,GAAGf,KAAK;QACRgB,SAAS,EAAEhB,KAAK,CAACgB,SAAS,GAAGC,SAAS,IAAAJ,YAAA,CAAAK,SAAA,SAAAL,YAAA,CAAA9B,iBAAA;UAAA,YAEJsB,iBAAiB,CAACF;QAAK;UAAAgB,OAAA,EAAAA,CAAA,MACjDnB,KAAK,CAACgB,SAAS,GAAGC,SAAS,CAAC;QAAA,IAGnC,GAAGT;MAAS;IAIrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ .v-treeview-item--filtered {
2
+ display: none;
3
+ }
4
+
5
+ .v-treeview {
6
+ --indent-padding: 0px;
7
+ }
8
+
9
+ .v-treeview-group.v-list-group {
10
+ --list-indent-size: 16px;
11
+ }
12
+ .v-list--slim .v-treeview-group.v-list-group {
13
+ --prepend-width: 16px;
14
+ }
15
+ .v-treeview-group.v-list-group .v-list-group__items .v-list-item {
16
+ padding-inline-start: calc(12px + var(--indent-padding)) !important;
17
+ }
@@ -0,0 +1,86 @@
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
+ // Styles
3
+ import "./VTreeviewItem.css";
4
+
5
+ // Components
6
+ import { VBtn } from "../../components/VBtn/index.mjs";
7
+ import { VListItemAction } from "../../components/VList/index.mjs";
8
+ import { makeVListItemProps, VListItem } from "../../components/VList/VListItem.mjs"; // Composables
9
+ import { IconValue } from "../../composables/icons.mjs";
10
+ import { useLink } from "../../composables/router.mjs"; // Utilities
11
+ import { computed, inject, ref } from 'vue';
12
+ import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
13
+ import { VTreeviewSymbol } from "./shared.mjs";
14
+ import { VProgressCircular } from "../allComponents.mjs";
15
+ export const makeVTreeviewItemProps = propsFactory({
16
+ loading: Boolean,
17
+ toggleIcon: IconValue,
18
+ ...makeVListItemProps({
19
+ slim: true
20
+ })
21
+ }, 'VTreeviewItem');
22
+ export const VTreeviewItem = genericComponent()({
23
+ name: 'VTreeviewItem',
24
+ props: makeVTreeviewItemProps(),
25
+ setup(props, _ref) {
26
+ let {
27
+ attrs,
28
+ slots,
29
+ emit
30
+ } = _ref;
31
+ const link = useLink(props, attrs);
32
+ const id = computed(() => props.value === undefined ? link.href.value : props.value);
33
+ const vListItemRef = ref();
34
+ const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list));
35
+ function onClick(e) {
36
+ if (!vListItemRef.value?.isGroupActivator || !isClickable.value) return;
37
+ props.value != null && vListItemRef.value?.select(!vListItemRef.value?.isSelected, e);
38
+ }
39
+ function onKeyDown(e) {
40
+ if (e.key === 'Enter' || e.key === ' ') {
41
+ e.preventDefault();
42
+ onClick(e);
43
+ }
44
+ }
45
+ const visibleIds = inject(VTreeviewSymbol, {
46
+ visibleIds: ref()
47
+ }).visibleIds;
48
+ useRender(() => {
49
+ const listItemProps = VListItem.filterProps(props);
50
+ const hasPrepend = slots.prepend || props.toggleIcon;
51
+ return _createVNode(VListItem, _mergeProps({
52
+ "ref": vListItemRef
53
+ }, listItemProps, {
54
+ "class": ['v-treeview-item', {
55
+ 'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
56
+ }, props.class],
57
+ "onClick": onClick,
58
+ "onKeydown": isClickable.value && onKeyDown
59
+ }), {
60
+ ...slots,
61
+ prepend: hasPrepend ? slotProps => {
62
+ return _createVNode(_Fragment, null, [props.toggleIcon && _createVNode(VListItemAction, {
63
+ "start": false
64
+ }, {
65
+ default: () => [_createVNode(VBtn, {
66
+ "density": "compact",
67
+ "icon": props.toggleIcon,
68
+ "loading": props.loading,
69
+ "variant": "text"
70
+ }, {
71
+ loader() {
72
+ return _createVNode(VProgressCircular, {
73
+ "indeterminate": "disable-shrink",
74
+ "size": "20",
75
+ "width": "2"
76
+ }, null);
77
+ }
78
+ })]
79
+ }), slots.prepend?.(slotProps)]);
80
+ } : undefined
81
+ });
82
+ });
83
+ return {};
84
+ }
85
+ });
86
+ //# sourceMappingURL=VTreeviewItem.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VTreeviewItem.mjs","names":["VBtn","VListItemAction","makeVListItemProps","VListItem","IconValue","useLink","computed","inject","ref","genericComponent","propsFactory","useRender","VTreeviewSymbol","VProgressCircular","makeVTreeviewItemProps","loading","Boolean","toggleIcon","slim","VTreeviewItem","name","props","setup","_ref","attrs","slots","emit","link","id","value","undefined","href","vListItemRef","isClickable","disabled","list","onClick","e","isGroupActivator","select","isSelected","onKeyDown","key","preventDefault","visibleIds","listItemProps","filterProps","hasPrepend","prepend","_createVNode","_mergeProps","has","class","slotProps","_Fragment","default","loader"],"sources":["../../../src/labs/VTreeview/VTreeviewItem.tsx"],"sourcesContent":["// Styles\nimport './VTreeviewItem.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VListItemAction } from '@/components/VList'\nimport { makeVListItemProps, VListItem } from '@/components/VList/VListItem'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useLink } from '@/composables/router'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport { VProgressCircular } from '../allComponents'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\n\nexport const makeVTreeviewItemProps = propsFactory({\n loading: Boolean,\n toggleIcon: IconValue,\n\n ...makeVListItemProps({ slim: true }),\n}, 'VTreeviewItem')\n\nexport const VTreeviewItem = genericComponent<VListItemSlots>()({\n name: 'VTreeviewItem',\n\n props: makeVTreeviewItemProps(),\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const vListItemRef = ref<VListItem>()\n\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (props.value != null && !!vListItemRef.value?.list))\n )\n\n function onClick (e: MouseEvent | KeyboardEvent) {\n if (!vListItemRef.value?.isGroupActivator || !isClickable.value) return\n props.value != null && vListItemRef.value?.select(!vListItemRef.value?.isSelected, e)\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n const visibleIds = inject(VTreeviewSymbol, { visibleIds: ref() }).visibleIds\n\n useRender(() => {\n const listItemProps = VListItem.filterProps(props)\n const hasPrepend = slots.prepend || props.toggleIcon\n\n return (\n <VListItem\n ref={ vListItemRef }\n { ...listItemProps }\n class={[\n 'v-treeview-item',\n {\n 'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value),\n },\n props.class,\n ]}\n onClick={ onClick }\n onKeydown={ isClickable.value && onKeyDown }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => {\n return (\n <>\n { props.toggleIcon && (\n <VListItemAction start={ false }>\n <VBtn\n density=\"compact\"\n icon={ props.toggleIcon }\n loading={ props.loading }\n variant=\"text\"\n >\n {{\n loader () {\n return (\n <VProgressCircular\n indeterminate=\"disable-shrink\"\n size=\"20\"\n width=\"2\"\n />\n )\n },\n }}\n </VBtn>\n </VListItemAction>\n )}\n\n { slots.prepend?.(slotProps) }\n </>\n )\n } : undefined,\n }}\n </VListItem>\n )\n })\n\n return {}\n },\n})\n\nexport type VTreeviewItem = InstanceType<typeof VTreeviewItem>\n"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ @use './variables' as *
2
+
3
+ .v-treeview-item--filtered
4
+ display: none
5
+
6
+ .v-treeview
7
+ --indent-padding: 0px
8
+
9
+ .v-treeview-group.v-list-group
10
+ --list-indent-size: #{$treeview-group-list-indent-size}
11
+
12
+ .v-list--slim &
13
+ --prepend-width: #{$treeview-group-list-prepend-width}
14
+
15
+ .v-list-group__items .v-list-item
16
+ padding-inline-start: calc(#{$treeview-item-padding-inline-start} + var(--indent-padding)) !important
17
+
18
+ .v-list-group__items .v-list-item--prepend
19
+ // padding-inline-start: calc(#{$treeview-item-prepend-padding-inline-start} + var(--indent-padding)) !important