@vuetify/nightly 3.0.0-beta.3 → 3.0.0-beta.4

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 (169) hide show
  1. package/CHANGELOG.md +32 -2
  2. package/dist/_component-variables.sass +61 -0
  3. package/dist/json/attributes.json +176 -20
  4. package/dist/json/importMap.json +208 -204
  5. package/dist/json/tags.json +48 -4
  6. package/dist/json/web-types.json +492 -46
  7. package/dist/vuetify.css +950 -932
  8. package/dist/vuetify.d.ts +2521 -341
  9. package/dist/vuetify.esm.js +2318 -2130
  10. package/dist/vuetify.esm.js.map +1 -1
  11. package/dist/vuetify.js +2317 -2129
  12. package/dist/vuetify.js.map +1 -1
  13. package/dist/vuetify.min.css +2 -2
  14. package/dist/vuetify.min.js +764 -740
  15. package/dist/vuetify.min.js.map +1 -1
  16. package/lib/components/VAlert/VAlert.css +5 -5
  17. package/lib/components/VAlert/VAlert.mjs +1 -1
  18. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  19. package/lib/components/VAlert/VAlert.sass +0 -2
  20. package/lib/components/VAppBar/VAppBar.sass +0 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +46 -17
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
  24. package/lib/components/VAvatar/VAvatar.css +1 -1
  25. package/lib/components/VAvatar/VAvatar.sass +1 -2
  26. package/lib/components/VAvatar/_mixins.scss +0 -1
  27. package/lib/components/VBadge/VBadge.sass +0 -1
  28. package/lib/components/VBanner/VBanner.sass +0 -1
  29. package/lib/components/VBottomNavigation/VBottomNavigation.sass +0 -1
  30. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +0 -1
  31. package/lib/components/VBtn/VBtn.css +24 -7
  32. package/lib/components/VBtn/VBtn.mjs +20 -11
  33. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  34. package/lib/components/VBtn/VBtn.sass +17 -2
  35. package/lib/components/VBtnGroup/VBtnGroup.sass +0 -1
  36. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  37. package/lib/components/VCard/VCard.css +5 -5
  38. package/lib/components/VCard/VCard.mjs +1 -1
  39. package/lib/components/VCard/VCard.mjs.map +1 -1
  40. package/lib/components/VCard/VCard.sass +0 -1
  41. package/lib/components/VCarousel/VCarousel.sass +0 -1
  42. package/lib/components/VCheckbox/VCheckbox.mjs +13 -46
  43. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  44. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  45. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  46. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  47. package/lib/components/VCheckbox/index.mjs +1 -0
  48. package/lib/components/VCheckbox/index.mjs.map +1 -1
  49. package/lib/components/VChip/VChip.css +5 -5
  50. package/lib/components/VChip/VChip.mjs +1 -1
  51. package/lib/components/VChip/VChip.mjs.map +1 -1
  52. package/lib/components/VChip/VChip.sass +0 -1
  53. package/lib/components/VChipGroup/VChipGroup.mjs +1 -1
  54. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  55. package/lib/components/VCode/VCode.sass +1 -2
  56. package/lib/components/VCode/_variables.scss +1 -1
  57. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  58. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  59. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  60. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  61. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  62. package/lib/components/VCombobox/VCombobox.mjs +47 -29
  63. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  64. package/lib/components/VCombobox/VCombobox.sass +0 -2
  65. package/lib/components/VCounter/VCounter.sass +0 -1
  66. package/lib/components/VDialog/VDialog.sass +0 -1
  67. package/lib/components/VDivider/VDivider.sass +0 -1
  68. package/lib/components/VExpansionPanel/VExpansionPanel.sass +0 -1
  69. package/lib/components/VField/VField.css +9 -9
  70. package/lib/components/VField/VField.mjs +2 -2
  71. package/lib/components/VField/VField.mjs.map +1 -1
  72. package/lib/components/VField/VField.sass +6 -8
  73. package/lib/components/VField/_variables.scss +3 -3
  74. package/lib/components/VFileInput/VFileInput.sass +0 -1
  75. package/lib/components/VFooter/VFooter.sass +0 -1
  76. package/lib/components/VIcon/VIcon.sass +0 -1
  77. package/lib/components/VImg/VImg.sass +0 -1
  78. package/lib/components/VInput/VInput.mjs +3 -3
  79. package/lib/components/VInput/VInput.mjs.map +1 -1
  80. package/lib/components/VInput/VInput.sass +0 -1
  81. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  82. package/lib/components/VKbd/VKbd.sass +0 -1
  83. package/lib/components/VKbd/_variables.scss +1 -1
  84. package/lib/components/VLabel/VLabel.sass +0 -1
  85. package/lib/components/VList/VList.mjs +1 -1
  86. package/lib/components/VList/VList.mjs.map +1 -1
  87. package/lib/components/VList/VList.sass +0 -1
  88. package/lib/components/VList/VListChildren.mjs +1 -1
  89. package/lib/components/VList/VListChildren.mjs.map +1 -1
  90. package/lib/components/VList/VListGroup.mjs +11 -2
  91. package/lib/components/VList/VListGroup.mjs.map +1 -1
  92. package/lib/components/VList/VListItem.css +6 -6
  93. package/lib/components/VList/VListItem.mjs +7 -7
  94. package/lib/components/VList/VListItem.mjs.map +1 -1
  95. package/lib/components/VList/VListItem.sass +1 -2
  96. package/lib/components/VMain/VMain.sass +0 -1
  97. package/lib/components/VMenu/VMenu.sass +0 -1
  98. package/lib/components/VMessages/VMessages.sass +0 -1
  99. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -1
  100. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  101. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  102. package/lib/components/VOverlay/VOverlay.sass +0 -1
  103. package/lib/components/VPagination/VPagination.sass +0 -1
  104. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  105. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  106. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -1
  107. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  108. package/lib/components/VRating/VRating.sass +0 -1
  109. package/lib/components/VSelect/VSelect.mjs +54 -19
  110. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  111. package/lib/components/VSelect/VSelect.sass +0 -2
  112. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  113. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -5
  114. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  115. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  116. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +0 -1
  117. package/lib/components/VSheet/VSheet.sass +0 -1
  118. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -1
  119. package/lib/components/VSlider/VSlider.sass +0 -2
  120. package/lib/components/VSlider/VSliderThumb.sass +0 -2
  121. package/lib/components/VSlider/VSliderTrack.sass +0 -2
  122. package/lib/components/VSnackbar/VSnackbar.css +5 -5
  123. package/lib/components/VSnackbar/VSnackbar.sass +0 -1
  124. package/lib/components/VSwitch/VSwitch.mjs +8 -2
  125. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  126. package/lib/components/VSwitch/VSwitch.sass +0 -1
  127. package/lib/components/VSystemBar/VSystemBar.sass +0 -1
  128. package/lib/components/VTable/VTable.sass +0 -1
  129. package/lib/components/VTabs/VTab.sass +0 -1
  130. package/lib/components/VTabs/VTabs.sass +0 -1
  131. package/lib/components/VTabs/_variables.scss +1 -1
  132. package/lib/components/VTextField/VTextField.mjs +2 -0
  133. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  134. package/lib/components/VTextField/VTextField.sass +0 -1
  135. package/lib/components/VTextarea/VTextarea.sass +0 -2
  136. package/lib/components/VTimeline/VTimeline.sass +0 -1
  137. package/lib/components/VToolbar/VToolbar.sass +0 -1
  138. package/lib/components/VToolbar/VToolbarItems.mjs +1 -1
  139. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  140. package/lib/components/VTooltip/VTooltip.sass +0 -1
  141. package/lib/components/VWindow/VWindow.sass +0 -2
  142. package/lib/components/VWindow/VWindowItem.mjs +9 -3
  143. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  144. package/lib/components/index.d.ts +2520 -342
  145. package/lib/composables/display.mjs +13 -11
  146. package/lib/composables/display.mjs.map +1 -1
  147. package/lib/composables/form.mjs +6 -6
  148. package/lib/composables/form.mjs.map +1 -1
  149. package/lib/composables/items.mjs +2 -2
  150. package/lib/composables/items.mjs.map +1 -1
  151. package/lib/composables/ssrBoot.mjs +3 -2
  152. package/lib/composables/ssrBoot.mjs.map +1 -1
  153. package/lib/composables/theme.mjs +6 -2
  154. package/lib/composables/theme.mjs.map +1 -1
  155. package/lib/composables/validation.mjs +14 -7
  156. package/lib/composables/validation.mjs.map +1 -1
  157. package/lib/composables/variant.mjs +3 -3
  158. package/lib/composables/variant.mjs.map +1 -1
  159. package/lib/directives/ripple/VRipple.sass +0 -1
  160. package/lib/entry-bundler.mjs +1 -1
  161. package/lib/framework.mjs +23 -6
  162. package/lib/framework.mjs.map +1 -1
  163. package/lib/index.d.ts +73 -67
  164. package/lib/styles/tools/_variant.sass +6 -6
  165. package/lib/util/getCurrentInstance.mjs +19 -0
  166. package/lib/util/getCurrentInstance.mjs.map +1 -1
  167. package/lib/util/helpers.mjs +0 -4
  168. package/lib/util/helpers.mjs.map +1 -1
  169. package/package.json +11 -3
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:map'
3
2
  @use 'sass:selector'
4
3
  @use '../../styles/settings'
@@ -42,14 +41,13 @@
42
41
  &--appended
43
42
  padding-inline-end: $field-control-affixed-padding
44
43
 
45
- &--variant-contained
46
- background: $field-control-contained-background
44
+ &--variant-solo
45
+ background: $field-control-solo-background
47
46
  border-color: transparent
48
- color: $field-control-contained-color
47
+ color: $field-control-solo-color
49
48
 
50
- @include tools.elevation($field-control-contained-elevation)
49
+ @include tools.elevation($field-control-solo-elevation)
51
50
 
52
- &--variant-contained,
53
51
  &--variant-filled
54
52
  border-bottom-left-radius: 0
55
53
  border-bottom-right-radius: 0
@@ -69,7 +67,7 @@
69
67
  &--single-line
70
68
  --v-field-padding-top: 0
71
69
 
72
- &--variant-contained,
70
+ &--variant-solo,
73
71
  &--variant-filled
74
72
  $root: &
75
73
 
@@ -210,7 +208,7 @@
210
208
  .v-field.v-field--active &
211
209
  visibility: visible
212
210
 
213
- .v-field--variant-contained &,
211
+ .v-field--variant-solo &,
214
212
  .v-field--variant-filled &
215
213
  $root: &
216
214
 
@@ -15,9 +15,9 @@ $field-clearable-margin: 4px !default;
15
15
  $field-clearable-transition: .15s opacity, .15s width settings.$standard-easing !default;
16
16
 
17
17
  // CONTROL
18
- $field-control-contained-background: rgb(var(--v-theme-surface)) !default;
19
- $field-control-contained-color: rgba(var(--v-theme-on-background), var(--v-high-emphasis-opacity)) !default;
20
- $field-control-contained-elevation: 2 !default;
18
+ $field-control-solo-background: rgb(var(--v-theme-surface)) !default;
19
+ $field-control-solo-color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)) !default;
20
+ $field-control-solo-elevation: 2 !default;
21
21
  $field-control-filled-background: rgba(var(--v-theme-on-surface), var(--v-idle-opacity)) !default;
22
22
  $field-control-padding-start: 16px !default;
23
23
  $field-control-padding-end: 16px !default;
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use './variables' as *
3
2
 
4
3
  // Block
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:map'
3
2
  @use '../../styles/settings'
4
3
  @use './variables' as *
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -46,6 +46,8 @@ export const VInput = genericComponent()({
46
46
  const {
47
47
  densityClasses
48
48
  } = useDensity(props);
49
+ const uid = getUid();
50
+ const id = computed(() => props.id || `input-${uid}`);
49
51
  const {
50
52
  errorMessages,
51
53
  isDirty,
@@ -58,9 +60,7 @@ export const VInput = genericComponent()({
58
60
  resetValidation,
59
61
  validate,
60
62
  validationClasses
61
- } = useValidation(props);
62
- const uid = getUid();
63
- const id = computed(() => props.id || `input-${uid}`);
63
+ } = useValidation(props, 'v-input', id);
64
64
  const slotProps = computed(() => ({
65
65
  id,
66
66
  isDirty,
@@ -1 +1 @@
1
- {"version":3,"file":"VInput.mjs","names":["VIcon","VMessages","makeDensityProps","useDensity","makeValidationProps","useValidation","IconValue","computed","genericComponent","getUid","pick","propsFactory","useRender","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","attrs","slots","emit","densityClasses","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","uid","slotProps","hasPrepend","prepend","hasAppend","append","hasMessages","length","value","hasDetails","message","details","filterInputProps","Object","keys"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n})\n\nexport type VInputSlots = MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}>\n\nexport const VInput = genericComponent<new <T>() => {\n $slots: VInputSlots\n}>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = !!(\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n hasMessages\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div\n class=\"v-input__prepend\"\n >\n { slots?.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <VIcon\n onClick={ attrs['onClick:prepend'] }\n icon={ props.prependIcon }\n />\n ) }\n </div>\n ) }\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-input__append\"\n >\n { slots?.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon\n onClick={ attrs['onClick:append'] }\n icon={ props.appendIcon }\n />\n ) }\n </div>\n ) }\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n active={ hasMessages }\n messages={ errorMessages.value.length > 0\n ? errorMessages.value\n : props.messages\n }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n ) }\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: ExtractPropTypes<ReturnType<typeof makeVInputProps>>) {\n return pick(props, Object.keys(VInput.props) as any)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"VInput.mjs","names":["VIcon","VMessages","makeDensityProps","useDensity","makeValidationProps","useValidation","IconValue","computed","genericComponent","getUid","pick","propsFactory","useRender","makeVInputProps","id","String","appendIcon","prependIcon","hideDetails","Boolean","messages","type","Array","default","direction","validator","v","includes","VInput","name","props","emits","val","setup","attrs","slots","emit","densityClasses","uid","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","hasPrepend","prepend","hasAppend","append","hasMessages","length","value","hasDetails","message","details","filterInputProps","Object","keys"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n})\n\nexport type VInputSlots = MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}>\n\nexport const VInput = genericComponent<new <T>() => {\n $slots: VInputSlots\n}>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = !!(\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n hasMessages\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div\n class=\"v-input__prepend\"\n >\n { slots?.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <VIcon\n onClick={ attrs['onClick:prepend'] }\n icon={ props.prependIcon }\n />\n ) }\n </div>\n ) }\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-input__append\"\n >\n { slots?.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon\n onClick={ attrs['onClick:append'] }\n icon={ props.appendIcon }\n />\n ) }\n </div>\n ) }\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n active={ hasMessages }\n messages={ errorMessages.value.length > 0\n ? errorMessages.value\n : props.messages\n }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n ) }\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: ExtractPropTypes<ReturnType<typeof makeVInputProps>>) {\n return pick(props, Object.keys(VInput.props) as any)\n}\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use './variables' as *
3
2
 
4
3
  .v-item-group
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -1,4 +1,4 @@
1
- // Defaults
1
+ // VKbd
2
2
  $kbd-border-radius: 3px !default;
3
3
  $kbd-elevation: 2 !default;
4
4
  $kbd-font-size: 85% !default;
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/settings'
3
2
  @use '../../styles/tools'
4
3
  @use './variables' as *
@@ -38,7 +38,7 @@ function transformItem(props, item) {
38
38
  value: _props.value,
39
39
  props: _props,
40
40
  children: type === 'item' && children ? transformItems(props, children) : undefined,
41
- originalItem: item
41
+ raw: item
42
42
  };
43
43
  }
44
44
 
@@ -1 +1 @@
1
- {"version":3,"file":"VList.mjs","names":["VListChildren","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeRoundedProps","useRounded","makeTagProps","useBackgroundColor","makeThemeProps","provideTheme","makeNestedProps","useNested","makeVariantProps","createList","provideDefaults","computed","toRef","genericComponent","getPropertyFromItem","pick","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","originalItem","items","array","push","useListItems","VList","name","activeColor","String","activeClass","bgColor","disabled","Boolean","lines","default","nav","selectStrategy","openStrategy","variant","emits","val","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/items'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeVariantProps } from '@/composables/variant'\nimport { createList } from './list'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { InternalItem, ItemProps } from '@/composables/items'\n\nexport interface InternalListItem extends InternalItem {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = typeof item === 'string' ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n originalItem: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupActivatorSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'click:open': (value: { id: string, value: boolean, path: string[] }) => true,\n 'click:select': (value: { id: string, value: boolean, path: string[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VList.mjs","names":["VListChildren","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeRoundedProps","useRounded","makeTagProps","useBackgroundColor","makeThemeProps","provideTheme","makeNestedProps","useNested","makeVariantProps","createList","provideDefaults","computed","toRef","genericComponent","getPropertyFromItem","pick","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","VList","name","activeColor","String","activeClass","bgColor","disabled","Boolean","lines","default","nav","selectStrategy","openStrategy","variant","emits","val","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","select","lineClasses","color","VListGroup","VListItem","density"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/items'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeVariantProps } from '@/composables/variant'\nimport { createList } from './list'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, getPropertyFromItem, pick, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { InternalItem, ItemProps } from '@/composables/items'\n\nexport interface InternalListItem extends InternalItem {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = typeof item === 'string' ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupActivatorSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'click:open': (value: { id: string, value: boolean, path: string[] }) => true,\n 'click:select': (value: { id: string, value: boolean, path: string[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:list'
3
2
  @use '../../styles/tools'
4
3
  @use './variables' as *
@@ -27,7 +27,7 @@ export const VListChildren = genericComponent()({
27
27
  children,
28
28
  props: itemProps,
29
29
  type,
30
- originalItem: item
30
+ raw: item
31
31
  } = _ref2;
32
32
  if (type === 'divider') return _createVNode(VDivider, itemProps, null);
33
33
  if (type === 'subheader') return _createVNode(VListSubheader, itemProps, slots);
@@ -1 +1 @@
1
- {"version":3,"file":"VListChildren.mjs","names":["VDivider","VListGroup","VListItem","VListSubheader","genericComponent","createList","VListChildren","name","props","items","Array","setup","slots","default","map","children","itemProps","type","originalItem","item","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","value","activator","activatorProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VDivider } from '../VDivider'\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { genericComponent } from '@/util'\nimport { createList } from './list'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { MakeSlots } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n header: [ListGroupActivatorSlot]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, originalItem: item }) => {\n if (type === 'divider') return <VDivider {...itemProps} />\n\n if (type === 'subheader') return <VListSubheader {...itemProps} v-slots={ slots } />\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n default: slots.default ? (slotProps: any) => slots.default?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ ...itemProps, ...activatorProps })\n : <VListItem { ...itemProps } { ...activatorProps } v-slots={ slotsWithItem } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : (\n <VListItem\n { ...itemProps }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":";AAAA;SACSA,Q;SACAC,U;SACAC,S;SACAC,c,gCAET;;SACSC,gB;SACAC,U,sBAET;;AAOA,OAAO,MAAMC,aAAa,GAAGF,gBAAgB,GAWxC;EACHG,IAAI,EAAE,eADH;EAGHC,KAAK,EAAE;IACLC,KAAK,EAAEC;EADF,CAHJ;;EAOHC,KAAK,CAAEH,KAAF,QAAoB;IAAA,IAAX;MAAEI;IAAF,CAAW;IACvBP,UAAU;IAEV,OAAO;MAAA;;MAAA,4CAAMO,KAAK,CAACC,OAAZ,qBAAM,qBAAAD,KAAK,CAAX,6CAA2BJ,KAAK,CAACC,KAAjC,qBAA2B,aAAaK,GAAb,CAAiB,SAA8D;QAAA,IAA7D;UAAEC,QAAF;UAAYP,KAAK,EAAEQ,SAAnB;UAA8BC,IAA9B;UAAoCC,YAAY,EAAEC;QAAlD,CAA6D;QAC/G,IAAIF,IAAI,KAAK,SAAb,EAAwB,8BAAqBD,SAArB;QAExB,IAAIC,IAAI,KAAK,WAAb,EAA0B,oCAA2BD,SAA3B,EAAgDJ,KAAhD;QAE1B,MAAMQ,aAAa,GAAG;UACpBC,QAAQ,EAAET,KAAK,CAACS,QAAN,GAAkBC,SAAD;YAAA;;YAAA,0BAAoBV,KAAK,CAACS,QAA1B,qBAAoB,qBAAAT,KAAK,EAAY,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAZ,CAAzB;UAAA,CAAjB,GAAgFI,SADtE;UAEpBC,OAAO,EAAEZ,KAAK,CAACY,OAAN,GAAiBF,SAAD;YAAA;;YAAA,yBAAoBV,KAAK,CAACY,OAA1B,qBAAoB,oBAAAZ,KAAK,EAAW,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAX,CAAzB;UAAA,CAAhB,GAA8EI,SAFnE;UAGpBE,MAAM,EAAEb,KAAK,CAACa,MAAN,GAAgBH,SAAD;YAAA;;YAAA,wBAAoBV,KAAK,CAACa,MAA1B,qBAAoB,mBAAAb,KAAK,EAAU,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAV,CAAzB;UAAA,CAAf,GAA4EI,SAHhE;UAIpBV,OAAO,EAAED,KAAK,CAACC,OAAN,GAAiBS,SAAD;YAAA;;YAAA,0BAAoBV,KAAK,CAACC,OAA1B,qBAAoB,qBAAAD,KAAK,EAAW,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAX,CAAzB;UAAA,CAAhB,GAA8EI,SAJnE;UAKpBG,KAAK,EAAEd,KAAK,CAACc,KAAN,GAAeJ,SAAD;YAAA;;YAAA,uBAAoBV,KAAK,CAACc,KAA1B,qBAAoB,kBAAAd,KAAK,EAAS,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAT,CAAzB;UAAA,CAAd,GAA0EI;QAL7D,CAAtB;QAQA,OAAOR,QAAQ;UAAA,SAEHC,SAFG,oBAEHA,SAAS,CAAEW;QAFR;UAKTC,SAAS,EAAE;YAAA,IAAC;cAAEpB,KAAK,EAAEqB;YAAT,CAAD;YAAA,OAA+BjB,KAAK,CAACkB,MAAN,GACtClB,KAAK,CAACkB,MAAN,CAAa,EAAE,GAAGd,SAAL;cAAgB,GAAGa;YAAnB,CAAb,CADsC,uCAEtBb,SAFsB,EAELa,cAFK,GAEsBT,aAFtB,CAA/B;UAAA,CALF;UAQTP,OAAO,EAAE;YAAA,SACgBE;UADhB,GACqCH,KADrC;QARA,KAcbA,KAAK,CAACO,IAAN,GAAaP,KAAK,CAACO,IAAN,CAAWH,SAAX,CAAb,2BAESA,SAFT,EAGcI,aAHd,CAdF;MAqBD,CAlCiC,CAA3B;IAAA,CAAP;EAmCD;;AA7CE,CAXwC,CAAtC"}
1
+ {"version":3,"file":"VListChildren.mjs","names":["VDivider","VListGroup","VListItem","VListSubheader","genericComponent","createList","VListChildren","name","props","items","Array","setup","slots","default","map","children","itemProps","type","raw","item","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","value","activator","activatorProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VDivider } from '../VDivider'\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { genericComponent } from '@/util'\nimport { createList } from './list'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { MakeSlots } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n header: [ListGroupActivatorSlot]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') return <VDivider {...itemProps} />\n\n if (type === 'subheader') return <VListSubheader {...itemProps} v-slots={ slots } />\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n default: slots.default ? (slotProps: any) => slots.default?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ ...itemProps, ...activatorProps })\n : <VListItem { ...itemProps } { ...activatorProps } v-slots={ slotsWithItem } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : (\n <VListItem\n { ...itemProps }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":";AAAA;SACSA,Q;SACAC,U;SACAC,S;SACAC,c,gCAET;;SACSC,gB;SACAC,U,sBAET;;AAOA,OAAO,MAAMC,aAAa,GAAGF,gBAAgB,GAWxC;EACHG,IAAI,EAAE,eADH;EAGHC,KAAK,EAAE;IACLC,KAAK,EAAEC;EADF,CAHJ;;EAOHC,KAAK,CAAEH,KAAF,QAAoB;IAAA,IAAX;MAAEI;IAAF,CAAW;IACvBP,UAAU;IAEV,OAAO;MAAA;;MAAA,4CAAMO,KAAK,CAACC,OAAZ,qBAAM,qBAAAD,KAAK,CAAX,6CAA2BJ,KAAK,CAACC,KAAjC,qBAA2B,aAAaK,GAAb,CAAiB,SAAqD;QAAA,IAApD;UAAEC,QAAF;UAAYP,KAAK,EAAEQ,SAAnB;UAA8BC,IAA9B;UAAoCC,GAAG,EAAEC;QAAzC,CAAoD;QACtG,IAAIF,IAAI,KAAK,SAAb,EAAwB,8BAAqBD,SAArB;QAExB,IAAIC,IAAI,KAAK,WAAb,EAA0B,oCAA2BD,SAA3B,EAAgDJ,KAAhD;QAE1B,MAAMQ,aAAa,GAAG;UACpBC,QAAQ,EAAET,KAAK,CAACS,QAAN,GAAkBC,SAAD;YAAA;;YAAA,0BAAoBV,KAAK,CAACS,QAA1B,qBAAoB,qBAAAT,KAAK,EAAY,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAZ,CAAzB;UAAA,CAAjB,GAAgFI,SADtE;UAEpBC,OAAO,EAAEZ,KAAK,CAACY,OAAN,GAAiBF,SAAD;YAAA;;YAAA,yBAAoBV,KAAK,CAACY,OAA1B,qBAAoB,oBAAAZ,KAAK,EAAW,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAX,CAAzB;UAAA,CAAhB,GAA8EI,SAFnE;UAGpBE,MAAM,EAAEb,KAAK,CAACa,MAAN,GAAgBH,SAAD;YAAA;;YAAA,wBAAoBV,KAAK,CAACa,MAA1B,qBAAoB,mBAAAb,KAAK,EAAU,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAV,CAAzB;UAAA,CAAf,GAA4EI,SAHhE;UAIpBV,OAAO,EAAED,KAAK,CAACC,OAAN,GAAiBS,SAAD;YAAA;;YAAA,0BAAoBV,KAAK,CAACC,OAA1B,qBAAoB,qBAAAD,KAAK,EAAW,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAX,CAAzB;UAAA,CAAhB,GAA8EI,SAJnE;UAKpBG,KAAK,EAAEd,KAAK,CAACc,KAAN,GAAeJ,SAAD;YAAA;;YAAA,uBAAoBV,KAAK,CAACc,KAA1B,qBAAoB,kBAAAd,KAAK,EAAS,EAAE,GAAGU,SAAL;cAAgBH;YAAhB,CAAT,CAAzB;UAAA,CAAd,GAA0EI;QAL7D,CAAtB;QAQA,OAAOR,QAAQ;UAAA,SAEHC,SAFG,oBAEHA,SAAS,CAAEW;QAFR;UAKTC,SAAS,EAAE;YAAA,IAAC;cAAEpB,KAAK,EAAEqB;YAAT,CAAD;YAAA,OAA+BjB,KAAK,CAACkB,MAAN,GACtClB,KAAK,CAACkB,MAAN,CAAa,EAAE,GAAGd,SAAL;cAAgB,GAAGa;YAAnB,CAAb,CADsC,uCAEtBb,SAFsB,EAELa,cAFK,GAEsBT,aAFtB,CAA/B;UAAA,CALF;UAQTP,OAAO,EAAE;YAAA,SACgBE;UADhB,GACqCH,KADrC;QARA,KAcbA,KAAK,CAACO,IAAN,GAAaP,KAAK,CAACO,IAAN,CAAWH,SAAX,CAAb,2BAESA,SAFT,EAGcI,aAHd,CAdF;MAqBD,CAlCiC,CAA3B;IAAA,CAAP;EAmCD;;AA7CE,CAXwC,CAAtC"}
@@ -1,7 +1,9 @@
1
1
  import { withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from "vue";
2
2
  // Components
3
3
  import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
4
- import { VExpandTransition } from "../transitions/index.mjs"; // Composables
4
+ import { VExpandTransition } from "../transitions/index.mjs";
5
+ import { MaybeTransition } from "../../composables/transition.mjs";
6
+ import { useSsrBoot } from "../../composables/ssrBoot.mjs"; // Composables
5
7
 
6
8
  import { useList } from "./list.mjs";
7
9
  import { makeTagProps } from "../../composables/tag.mjs";
@@ -53,6 +55,9 @@ export const VListGroup = genericComponent()({
53
55
  open
54
56
  } = useNestedItem(toRef(props, 'value'), true);
55
57
  const list = useList();
58
+ const {
59
+ isBooted
60
+ } = useSsrBoot();
56
61
 
57
62
  const onClick = e => {
58
63
  open(!isOpen.value, e);
@@ -90,7 +95,11 @@ export const VListGroup = genericComponent()({
90
95
  isOpen
91
96
  })]
92
97
  })]
93
- }), _createVNode(VExpandTransition, null, {
98
+ }), _createVNode(MaybeTransition, {
99
+ "transition": isBooted.value && {
100
+ component: VExpandTransition
101
+ }
102
+ }, {
94
103
  default: () => [_withDirectives(_createVNode("div", {
95
104
  "class": "v-list-group__items"
96
105
  }, [(_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)]), [[_vShow, isOpen.value]])]
@@ -1 +1 @@
1
- {"version":3,"file":"VListGroup.mjs","names":["VDefaultsProvider","VExpandTransition","useList","makeTagProps","useNestedGroupActivator","useNestedItem","IconValue","computed","toRef","defineComponent","genericComponent","VListGroupActivator","name","setup","_","slots","default","VListGroup","props","activeColor","String","color","collapseIcon","type","expandIcon","value","isOpen","open","list","onClick","e","activatorProps","active","appendIcon","class","undefined","hasPrepend","activator","VListItemIcon"],"sources":["../../../src/components/VList/VListGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { useList } from './list'\nimport { makeTagProps } from '@/composables/tag'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, genericComponent } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { InternalListItem } from './VList'\n\nexport type ListGroupActivatorSlot = {\n props: {\n onClick: (e: Event) => void\n appendIcon: IconValue\n class: string\n color?: string\n }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const VListGroup = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n activator: [ListGroupActivatorSlot]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n activeColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n value: null,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedItem(toRef(props, 'value'), true)\n const list = useList()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const activatorProps: Ref<ListGroupActivatorSlot['props']> = computed(() => ({\n onClick,\n active: isOpen.value,\n appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,\n class: 'v-list-group__header',\n color: isOpen.value ? props.activeColor ?? props.color : undefined,\n }))\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n },\n ]}\n >\n { slots.activator && (\n <VDefaultsProvider\n defaults={{\n VListItemIcon: { color: activatorProps.value.color },\n }}\n >\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n ) }\n <VExpandTransition>\n <div class=\"v-list-group__items\" v-show={isOpen.value}>\n { slots.default?.() }\n </div>\n </VExpandTransition>\n </props.tag>\n )\n }\n },\n})\n"],"mappings":";AAAA;SACSA,iB;SACAC,iB,oCAET;;SACSC,O;SACAC,Y;SACAC,uB,EAAyBC,a;SACzBC,S,uCAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,e,EAAiBC,gB,gCAE1B;;AAcA,MAAMC,mBAAmB,GAAGF,eAAe,CAAC;EAC1CG,IAAI,EAAE,qBADoC;;EAG1CC,KAAK,CAAEC,CAAF,QAAgB;IAAA,IAAX;MAAEC;IAAF,CAAW;IACnBX,uBAAuB;IAEvB,OAAO;MAAA;;MAAA,yBAAMW,KAAK,CAACC,OAAZ,qBAAM,oBAAAD,KAAK,CAAX;IAAA,CAAP;EACD;;AAPyC,CAAD,CAA3C;AAUA,OAAO,MAAME,UAAU,GAAGP,gBAAgB,GAQrC;EACHE,IAAI,EAAE,YADH;EAGHM,KAAK,EAAE;IACLC,WAAW,EAAEC,MADR;IAELC,KAAK,EAAED,MAFF;IAGLE,YAAY,EAAE;MACZC,IAAI,EAAEjB,SADM;MAEZU,OAAO,EAAE;IAFG,CAHT;IAOLQ,UAAU,EAAE;MACVD,IAAI,EAAEjB,SADI;MAEVU,OAAO,EAAE;IAFC,CAPP;IAWLS,KAAK,EAAE,IAXF;IAaL,GAAGtB,YAAY;EAbV,CAHJ;;EAmBHU,KAAK,CAAEK,KAAF,SAAoB;IAAA,IAAX;MAAEH;IAAF,CAAW;IACvB,MAAM;MAAEW,MAAF;MAAUC;IAAV,IAAmBtB,aAAa,CAACG,KAAK,CAACU,KAAD,EAAQ,OAAR,CAAN,EAAwB,IAAxB,CAAtC;IACA,MAAMU,IAAI,GAAG1B,OAAO,EAApB;;IAEA,MAAM2B,OAAO,GAAIC,CAAD,IAAc;MAC5BH,IAAI,CAAC,CAACD,MAAM,CAACD,KAAT,EAAgBK,CAAhB,CAAJ;IACD,CAFD;;IAIA,MAAMC,cAAoD,GAAGxB,QAAQ,CAAC;MAAA;;MAAA,OAAO;QAC3EsB,OAD2E;QAE3EG,MAAM,EAAEN,MAAM,CAACD,KAF4D;QAG3EQ,UAAU,EAAEP,MAAM,CAACD,KAAP,GAAeP,KAAK,CAACI,YAArB,GAAoCJ,KAAK,CAACM,UAHqB;QAI3EU,KAAK,EAAE,sBAJoE;QAK3Eb,KAAK,EAAEK,MAAM,CAACD,KAAP,yBAAeP,KAAK,CAACC,WAArB,iCAAoCD,KAAK,CAACG,KAA1C,GAAkDc;MALkB,CAAP;IAAA,CAAD,CAArE;IAQA,OAAO,MAAM;MAAA;;MACX;QAAA,SAEW,CACL,cADK,EAEL;UACE,yBAAyBP,IAAzB,oBAAyBA,IAAI,CAAEQ,UAAN,CAAiBX;QAD5C,CAFK;MAFX;QAAA,gBASMV,KAAK,CAACsB,SAAN;UAAA,YAEY;YACRC,aAAa,EAAE;cAAEjB,KAAK,EAAEU,cAAc,CAACN,KAAf,CAAqBJ;YAA9B;UADP;QAFZ;UAAA;YAAA,gBAOMN,KAAK,CAACsB,SAAN,CAAgB;cAAEnB,KAAK,EAAEa,cAAc,CAACN,KAAxB;cAA+BC;YAA/B,CAAhB,CAPN;UAAA;QAAA,EATN;UAAA;YAAA,SAqBiB;UArBjB,uBAsBUX,KAAK,CAACC,OAtBhB,qBAsBU,qBAAAD,KAAK,CAtBf,cAqB+CW,MAAM,CAACD,KArBtD;QAAA;MAAA;IA2BD,CA5BD;EA6BD;;AAhEE,CARqC,CAAnC"}
1
+ {"version":3,"file":"VListGroup.mjs","names":["VDefaultsProvider","VExpandTransition","MaybeTransition","useSsrBoot","useList","makeTagProps","useNestedGroupActivator","useNestedItem","IconValue","computed","toRef","defineComponent","genericComponent","VListGroupActivator","name","setup","_","slots","default","VListGroup","props","activeColor","String","color","collapseIcon","type","expandIcon","value","isOpen","open","list","isBooted","onClick","e","activatorProps","active","appendIcon","class","undefined","hasPrepend","activator","VListItemIcon","component"],"sources":["../../../src/components/VList/VListGroup.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\nimport { MaybeTransition } from '@/composables/transition'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Composables\nimport { useList } from './list'\nimport { makeTagProps } from '@/composables/tag'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, genericComponent } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { InternalListItem } from './VList'\n\nexport type ListGroupActivatorSlot = {\n props: {\n onClick: (e: Event) => void\n appendIcon: IconValue\n class: string\n color?: string\n }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const VListGroup = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n activator: [ListGroupActivatorSlot]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n activeColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n value: null,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedItem(toRef(props, 'value'), true)\n const list = useList()\n const { isBooted } = useSsrBoot()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const activatorProps: Ref<ListGroupActivatorSlot['props']> = computed(() => ({\n onClick,\n active: isOpen.value,\n appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,\n class: 'v-list-group__header',\n color: isOpen.value ? props.activeColor ?? props.color : undefined,\n }))\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n },\n ]}\n >\n { slots.activator && (\n <VDefaultsProvider\n defaults={{\n VListItemIcon: { color: activatorProps.value.color },\n }}\n >\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n ) }\n <MaybeTransition transition={ isBooted.value && { component: VExpandTransition }}>\n <div class=\"v-list-group__items\" v-show={ isOpen.value }>\n { slots.default?.() }\n </div>\n </MaybeTransition>\n </props.tag>\n )\n }\n },\n})\n"],"mappings":";AAAA;SACSA,iB;SACAC,iB;SACAC,e;SACAC,U,yCAET;;SACSC,O;SACAC,Y;SACAC,uB,EAAyBC,a;SACzBC,S,uCAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,e,EAAiBC,gB,gCAE1B;;AAcA,MAAMC,mBAAmB,GAAGF,eAAe,CAAC;EAC1CG,IAAI,EAAE,qBADoC;;EAG1CC,KAAK,CAAEC,CAAF,QAAgB;IAAA,IAAX;MAAEC;IAAF,CAAW;IACnBX,uBAAuB;IAEvB,OAAO;MAAA;;MAAA,yBAAMW,KAAK,CAACC,OAAZ,qBAAM,oBAAAD,KAAK,CAAX;IAAA,CAAP;EACD;;AAPyC,CAAD,CAA3C;AAUA,OAAO,MAAME,UAAU,GAAGP,gBAAgB,GAQrC;EACHE,IAAI,EAAE,YADH;EAGHM,KAAK,EAAE;IACLC,WAAW,EAAEC,MADR;IAELC,KAAK,EAAED,MAFF;IAGLE,YAAY,EAAE;MACZC,IAAI,EAAEjB,SADM;MAEZU,OAAO,EAAE;IAFG,CAHT;IAOLQ,UAAU,EAAE;MACVD,IAAI,EAAEjB,SADI;MAEVU,OAAO,EAAE;IAFC,CAPP;IAWLS,KAAK,EAAE,IAXF;IAaL,GAAGtB,YAAY;EAbV,CAHJ;;EAmBHU,KAAK,CAAEK,KAAF,SAAoB;IAAA,IAAX;MAAEH;IAAF,CAAW;IACvB,MAAM;MAAEW,MAAF;MAAUC;IAAV,IAAmBtB,aAAa,CAACG,KAAK,CAACU,KAAD,EAAQ,OAAR,CAAN,EAAwB,IAAxB,CAAtC;IACA,MAAMU,IAAI,GAAG1B,OAAO,EAApB;IACA,MAAM;MAAE2B;IAAF,IAAe5B,UAAU,EAA/B;;IAEA,MAAM6B,OAAO,GAAIC,CAAD,IAAc;MAC5BJ,IAAI,CAAC,CAACD,MAAM,CAACD,KAAT,EAAgBM,CAAhB,CAAJ;IACD,CAFD;;IAIA,MAAMC,cAAoD,GAAGzB,QAAQ,CAAC;MAAA;;MAAA,OAAO;QAC3EuB,OAD2E;QAE3EG,MAAM,EAAEP,MAAM,CAACD,KAF4D;QAG3ES,UAAU,EAAER,MAAM,CAACD,KAAP,GAAeP,KAAK,CAACI,YAArB,GAAoCJ,KAAK,CAACM,UAHqB;QAI3EW,KAAK,EAAE,sBAJoE;QAK3Ed,KAAK,EAAEK,MAAM,CAACD,KAAP,yBAAeP,KAAK,CAACC,WAArB,iCAAoCD,KAAK,CAACG,KAA1C,GAAkDe;MALkB,CAAP;IAAA,CAAD,CAArE;IAQA,OAAO,MAAM;MAAA;;MACX;QAAA,SAEW,CACL,cADK,EAEL;UACE,yBAAyBR,IAAzB,oBAAyBA,IAAI,CAAES,UAAN,CAAiBZ;QAD5C,CAFK;MAFX;QAAA,gBASMV,KAAK,CAACuB,SAAN;UAAA,YAEY;YACRC,aAAa,EAAE;cAAElB,KAAK,EAAEW,cAAc,CAACP,KAAf,CAAqBJ;YAA9B;UADP;QAFZ;UAAA;YAAA,gBAOMN,KAAK,CAACuB,SAAN,CAAgB;cAAEpB,KAAK,EAAEc,cAAc,CAACP,KAAxB;cAA+BC;YAA/B,CAAhB,CAPN;UAAA;QAAA,EATN;UAAA,cAoBkCG,QAAQ,CAACJ,KAAT,IAAkB;YAAEe,SAAS,EAAEzC;UAAb;QApBpD;UAAA;YAAA,SAqBiB;UArBjB,uBAsBUgB,KAAK,CAACC,OAtBhB,qBAsBU,qBAAAD,KAAK,CAtBf,cAqBgDW,MAAM,CAACD,KArBvD;QAAA;MAAA;IA2BD,CA5BD;EA6BD;;AAjEE,CARqC,CAAnC"}
@@ -35,7 +35,7 @@
35
35
  .v-list-item--active:focus > .v-list-item__overlay, .v-list-item[aria-haspopup=menu][aria-expanded=true]:focus > .v-list-item__overlay {
36
36
  opacity: calc(0.16 * var(--v-theme-overlay-multiplier));
37
37
  }
38
- .v-list-item--variant-plain, .v-list-item--variant-outlined, .v-list-item--variant-text, .v-list-item--variant-contained-text {
38
+ .v-list-item--variant-plain, .v-list-item--variant-outlined, .v-list-item--variant-text, .v-list-item--variant-tonal {
39
39
  background: transparent;
40
40
  color: inherit;
41
41
  }
@@ -48,14 +48,14 @@
48
48
  .v-list-item--variant-plain .v-list-item__overlay {
49
49
  display: none;
50
50
  }
51
- .v-list-item--variant-contained, .v-list-item--variant-contained-flat {
51
+ .v-list-item--variant-elevated, .v-list-item--variant-flat {
52
52
  background: rgba(var(--v-theme-surface));
53
53
  color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
54
54
  }
55
- .v-list-item--variant-contained {
55
+ .v-list-item--variant-elevated {
56
56
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
57
57
  }
58
- .v-list-item--variant-contained-flat {
58
+ .v-list-item--variant-flat {
59
59
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
60
60
  }
61
61
  .v-list-item--variant-outlined {
@@ -64,7 +64,7 @@
64
64
  .v-list-item--variant-text .v-list-item__overlay {
65
65
  background: currentColor;
66
66
  }
67
- .v-list-item--variant-contained-text .v-list-item__underlay {
67
+ .v-list-item--variant-tonal .v-list-item__underlay {
68
68
  background: currentColor;
69
69
  opacity: var(--v-activated-opacity);
70
70
  border-radius: inherit;
@@ -315,7 +315,7 @@
315
315
  top: 0;
316
316
  transition: opacity 0.2s ease-in-out;
317
317
  }
318
- .v-list-item--active.v-list-item--contained .v-list-item__overlay {
318
+ .v-list-item--active.v-list-item--variant-elevated .v-list-item__overlay {
319
319
  --v-theme-overlay-multiplier: 0;
320
320
  }
321
321
 
@@ -22,7 +22,7 @@ import { IconValue } from "../../composables/icons.mjs"; // Directives
22
22
 
23
23
  import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
24
24
 
25
- import { computed, onMounted, watch } from 'vue';
25
+ import { computed, watch } from 'vue';
26
26
  import { genericComponent, useRender } from "../../util/index.mjs";
27
27
  import { useNestedItem } from "../../composables/nested/nested.mjs"; // Types
28
28
 
@@ -60,6 +60,8 @@ export const VListItem = genericComponent()({
60
60
  },
61
61
 
62
62
  setup(props, _ref) {
63
+ var _link$isExactActive2;
64
+
63
65
  let {
64
66
  attrs,
65
67
  slots
@@ -93,13 +95,11 @@ export const VListItem = genericComponent()({
93
95
  variant: props.variant
94
96
  };
95
97
  });
96
- onMounted(() => {
97
- var _link$isExactActive2;
98
98
 
99
- if ((_link$isExactActive2 = link.isExactActive) != null && _link$isExactActive2.value && parent.value != null) {
100
- root.open(parent.value, true);
101
- }
102
- });
99
+ if ((_link$isExactActive2 = link.isExactActive) != null && _link$isExactActive2.value && parent.value != null) {
100
+ root.open(parent.value, true);
101
+ }
102
+
103
103
  watch(() => {
104
104
  var _link$isExactActive3;
105
105
 
@@ -1 +1 @@
1
- {"version":3,"file":"VListItem.mjs","names":["VListItemAvatar","VListItemHeader","VListItemIcon","VListItemSubtitle","VListItemTitle","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","useList","IconValue","Ripple","computed","onMounted","watch","genericComponent","useRender","useNestedItem","VListItem","name","directives","props","active","Boolean","activeColor","String","activeClass","appendAvatar","appendIcon","disabled","lines","nav","prependAvatar","prependIcon","subtitle","Number","title","value","link","variant","setup","attrs","slots","id","href","select","isSelected","isIndeterminate","isGroupActivator","root","parent","list","isActive","isExactActive","roundedProps","rounded","variantProps","color","open","val","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","undefined","slotProps","Tag","isLink","tag","hasColor","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","isClickable","updateHasPrepend","e","navigate","default"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemAvatar } from './VListItemAvatar'\nimport { VListItemHeader } from './VListItemHeader'\nimport { VListItemIcon } from './VListItemIcon'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useList } from './list'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onMounted, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\nimport { useNestedItem } from '@/composables/nested/nested'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { PropType } from 'vue'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\nexport const VListItem = genericComponent<new () => {\n $slots: MakeSlots<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n activeColor: String,\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n lines: String as PropType<'one' | 'two' | 'three'>,\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: [String, Number, Boolean],\n title: [String, Number, Boolean],\n value: null,\n link: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { select, isSelected, isIndeterminate, isGroupActivator, root, parent } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value || isSelected.value\n })\n const roundedProps = computed(() => props.rounded || props.nav)\n const variantProps = computed(() => ({\n color: isActive.value ? props.activeColor ?? props.color : props.color,\n variant: props.variant,\n }))\n\n onMounted(() => {\n if (link.isExactActive?.value && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n watch(() => link.isExactActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n }))\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasColor = !list || isSelected.value || isActive.value\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasHeader = !!(hasTitle || hasSubtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const isClickable = !props.disabled && (props.link || link.isClickable.value || (props.value != null && !!list))\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable ? 0 : undefined }\n onClick={ isClickable && ((e: MouseEvent) => {\n if (isGroupActivator) return\n\n link.navigate?.(e)\n props.value != null && select(!isSelected.value, e)\n })}\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <>\n { props.prependAvatar && (\n <VListItemAvatar\n image={ props.prependAvatar }\n start\n />\n ) }\n\n { props.prependIcon && (\n <VListItemIcon\n icon={ props.prependIcon }\n start\n />\n ) }\n\n { slots.prepend?.(slotProps.value) }\n </>\n ) }\n\n { hasHeader && (\n <VListItemHeader>\n { hasTitle && (\n <VListItemTitle>\n { slots.title\n ? slots.title({ title: props.title })\n : props.title\n }\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle>\n { slots.subtitle\n ? slots.subtitle({ subtitle: props.subtitle })\n : props.subtitle\n }\n </VListItemSubtitle>\n ) }\n </VListItemHeader>\n ) }\n\n { slots.default?.(slotProps.value) }\n\n { hasAppend && (\n <>\n { slots.append?.(slotProps.value) }\n\n { props.appendAvatar && (\n <VListItemAvatar\n image={ props.appendAvatar }\n end\n />\n ) }\n\n { props.appendIcon && (\n <VListItemIcon\n icon={ props.appendIcon }\n end\n />\n ) }\n </>\n ) }\n </Tag>\n )\n })\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VListItem.mjs","names":["VListItemAvatar","VListItemHeader","VListItemIcon","VListItemSubtitle","VListItemTitle","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","useList","IconValue","Ripple","computed","watch","genericComponent","useRender","useNestedItem","VListItem","name","directives","props","active","Boolean","activeColor","String","activeClass","appendAvatar","appendIcon","disabled","lines","nav","prependAvatar","prependIcon","subtitle","Number","title","value","link","variant","setup","attrs","slots","id","href","select","isSelected","isIndeterminate","isGroupActivator","root","parent","list","isActive","isExactActive","roundedProps","rounded","variantProps","color","open","val","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","lineClasses","undefined","slotProps","Tag","isLink","tag","hasColor","hasTitle","hasSubtitle","hasHeader","hasAppend","append","hasPrepend","prepend","isClickable","updateHasPrepend","e","navigate","default"],"sources":["../../../src/components/VList/VListItem.tsx"],"sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemAvatar } from './VListItemAvatar'\nimport { VListItemHeader } from './VListItemHeader'\nimport { VListItemIcon } from './VListItemIcon'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useList } from './list'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\nimport { useNestedItem } from '@/composables/nested/nested'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { PropType } from 'vue'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\nexport const VListItem = genericComponent<new () => {\n $slots: MakeSlots<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n activeColor: String,\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n lines: String as PropType<'one' | 'two' | 'three'>,\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: [String, Number, Boolean],\n title: [String, Number, Boolean],\n value: null,\n link: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { select, isSelected, isIndeterminate, isGroupActivator, root, parent } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value || isSelected.value\n })\n const roundedProps = computed(() => props.rounded || props.nav)\n const variantProps = computed(() => ({\n color: isActive.value ? props.activeColor ?? props.color : props.color,\n variant: props.variant,\n }))\n\n if (link.isExactActive?.value && parent.value != null) {\n root.open(parent.value, true)\n }\n\n watch(() => link.isExactActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n }))\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasColor = !list || isSelected.value || isActive.value\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasHeader = !!(hasTitle || hasSubtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const isClickable = !props.disabled && (props.link || link.isClickable.value || (props.value != null && !!list))\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable ? 0 : undefined }\n onClick={ isClickable && ((e: MouseEvent) => {\n if (isGroupActivator) return\n\n link.navigate?.(e)\n props.value != null && select(!isSelected.value, e)\n })}\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <>\n { props.prependAvatar && (\n <VListItemAvatar\n image={ props.prependAvatar }\n start\n />\n ) }\n\n { props.prependIcon && (\n <VListItemIcon\n icon={ props.prependIcon }\n start\n />\n ) }\n\n { slots.prepend?.(slotProps.value) }\n </>\n ) }\n\n { hasHeader && (\n <VListItemHeader>\n { hasTitle && (\n <VListItemTitle>\n { slots.title\n ? slots.title({ title: props.title })\n : props.title\n }\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle>\n { slots.subtitle\n ? slots.subtitle({ subtitle: props.subtitle })\n : props.subtitle\n }\n </VListItemSubtitle>\n ) }\n </VListItemHeader>\n ) }\n\n { slots.default?.(slotProps.value) }\n\n { hasAppend && (\n <>\n { slots.append?.(slotProps.value) }\n\n { props.appendAvatar && (\n <VListItemAvatar\n image={ props.appendAvatar }\n end\n />\n ) }\n\n { props.appendIcon && (\n <VListItemIcon\n icon={ props.appendIcon }\n end\n />\n ) }\n </>\n ) }\n </Tag>\n )\n })\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:list'
3
2
  @use '../../styles/tools'
4
3
  @use './variables' as *
@@ -185,7 +184,7 @@
185
184
  top: 0
186
185
  transition: opacity 0.2s ease-in-out
187
186
 
188
- .v-list-item--active.v-list-item--contained &
187
+ .v-list-item--active.v-list-item--variant-elevated &
189
188
  --v-theme-overlay-multiplier: 0
190
189
 
191
190
  $base-padding: list.nth($list-item-padding, 2)
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use './variables' as *
3
2
 
4
3
  @mixin firefox()
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/settings'
3
2
  @use './variables' as *
4
3
 
@@ -12,6 +12,7 @@ import { useBackgroundColor } from "../../composables/color.mjs";
12
12
  import { useDisplay } from "../../composables/display.mjs";
13
13
  import { useProxiedModel } from "../../composables/proxiedModel.mjs";
14
14
  import { useRouter } from "../../composables/router.mjs";
15
+ import { useSsrBoot } from "../../composables/ssrBoot.mjs";
15
16
  import { useTouch } from "./touch.mjs"; // Utilities
16
17
 
17
18
  import { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue';
@@ -87,6 +88,9 @@ export const VNavigationDrawer = defineComponent({
87
88
  const router = useRouter();
88
89
  const isActive = useProxiedModel(props, 'modelValue', null, v => !!v);
89
90
  const isHovering = ref(false);
91
+ const {
92
+ ssrBootStyles
93
+ } = useSsrBoot();
90
94
  const width = computed(() => {
91
95
  return props.rail && props.expandOnHover && isHovering.value ? Number(props.width) : Number(props.rail ? props.railWidth : props.width);
92
96
  });
@@ -168,7 +172,7 @@ export const VNavigationDrawer = defineComponent({
168
172
  'v-navigation-drawer--temporary': isTemporary.value,
169
173
  'v-navigation-drawer--active': isActive.value
170
174
  }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
171
- "style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value]
175
+ "style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value]
172
176
  }, attrs), {
173
177
  default: () => [hasImage && _createVNode("div", {
174
178
  "class": "v-navigation-drawer__img"