@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.
- package/CHANGELOG.md +32 -2
- package/dist/_component-variables.sass +61 -0
- package/dist/json/attributes.json +176 -20
- package/dist/json/importMap.json +208 -204
- package/dist/json/tags.json +48 -4
- package/dist/json/web-types.json +492 -46
- package/dist/vuetify.css +950 -932
- package/dist/vuetify.d.ts +2521 -341
- package/dist/vuetify.esm.js +2318 -2130
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +2317 -2129
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +764 -740
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +5 -5
- package/lib/components/VAlert/VAlert.mjs +1 -1
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.sass +0 -2
- package/lib/components/VAppBar/VAppBar.sass +0 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +46 -17
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
- package/lib/components/VAvatar/VAvatar.css +1 -1
- package/lib/components/VAvatar/VAvatar.sass +1 -2
- package/lib/components/VAvatar/_mixins.scss +0 -1
- package/lib/components/VBadge/VBadge.sass +0 -1
- package/lib/components/VBanner/VBanner.sass +0 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +0 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +0 -1
- package/lib/components/VBtn/VBtn.css +24 -7
- package/lib/components/VBtn/VBtn.mjs +20 -11
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +17 -2
- package/lib/components/VBtnGroup/VBtnGroup.sass +0 -1
- package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
- package/lib/components/VCard/VCard.css +5 -5
- package/lib/components/VCard/VCard.mjs +1 -1
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +0 -1
- package/lib/components/VCarousel/VCarousel.sass +0 -1
- package/lib/components/VCheckbox/VCheckbox.mjs +13 -46
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.sass +0 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
- package/lib/components/VCheckbox/index.mjs +1 -0
- package/lib/components/VCheckbox/index.mjs.map +1 -1
- package/lib/components/VChip/VChip.css +5 -5
- package/lib/components/VChip/VChip.mjs +1 -1
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +0 -1
- package/lib/components/VChipGroup/VChipGroup.mjs +1 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VCode/VCode.sass +1 -2
- package/lib/components/VCode/_variables.scss +1 -1
- package/lib/components/VColorPicker/VColorPicker.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
- package/lib/components/VCombobox/VCombobox.mjs +47 -29
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +0 -2
- package/lib/components/VCounter/VCounter.sass +0 -1
- package/lib/components/VDialog/VDialog.sass +0 -1
- package/lib/components/VDivider/VDivider.sass +0 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +0 -1
- package/lib/components/VField/VField.css +9 -9
- package/lib/components/VField/VField.mjs +2 -2
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +6 -8
- package/lib/components/VField/_variables.scss +3 -3
- package/lib/components/VFileInput/VFileInput.sass +0 -1
- package/lib/components/VFooter/VFooter.sass +0 -1
- package/lib/components/VIcon/VIcon.sass +0 -1
- package/lib/components/VImg/VImg.sass +0 -1
- package/lib/components/VInput/VInput.mjs +3 -3
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +0 -1
- package/lib/components/VItemGroup/VItemGroup.sass +0 -1
- package/lib/components/VKbd/VKbd.sass +0 -1
- package/lib/components/VKbd/_variables.scss +1 -1
- package/lib/components/VLabel/VLabel.sass +0 -1
- package/lib/components/VList/VList.mjs +1 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +0 -1
- package/lib/components/VList/VListChildren.mjs +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +11 -2
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +6 -6
- package/lib/components/VList/VListItem.mjs +7 -7
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -2
- package/lib/components/VMain/VMain.sass +0 -1
- package/lib/components/VMenu/VMenu.sass +0 -1
- package/lib/components/VMessages/VMessages.sass +0 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
- package/lib/components/VOverlay/VOverlay.sass +0 -1
- package/lib/components/VPagination/VPagination.sass +0 -1
- package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRating/VRating.sass +0 -1
- package/lib/components/VSelect/VSelect.mjs +54 -19
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +0 -2
- package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
- package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -5
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +0 -1
- package/lib/components/VSheet/VSheet.sass +0 -1
- package/lib/components/VSlideGroup/VSlideGroup.sass +0 -1
- package/lib/components/VSlider/VSlider.sass +0 -2
- package/lib/components/VSlider/VSliderThumb.sass +0 -2
- package/lib/components/VSlider/VSliderTrack.sass +0 -2
- package/lib/components/VSnackbar/VSnackbar.css +5 -5
- package/lib/components/VSnackbar/VSnackbar.sass +0 -1
- package/lib/components/VSwitch/VSwitch.mjs +8 -2
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +0 -1
- package/lib/components/VSystemBar/VSystemBar.sass +0 -1
- package/lib/components/VTable/VTable.sass +0 -1
- package/lib/components/VTabs/VTab.sass +0 -1
- package/lib/components/VTabs/VTabs.sass +0 -1
- package/lib/components/VTabs/_variables.scss +1 -1
- package/lib/components/VTextField/VTextField.mjs +2 -0
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +0 -1
- package/lib/components/VTextarea/VTextarea.sass +0 -2
- package/lib/components/VTimeline/VTimeline.sass +0 -1
- package/lib/components/VToolbar/VToolbar.sass +0 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.sass +0 -1
- package/lib/components/VWindow/VWindow.sass +0 -2
- package/lib/components/VWindow/VWindowItem.mjs +9 -3
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/index.d.ts +2520 -342
- package/lib/composables/display.mjs +13 -11
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/form.mjs +6 -6
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/items.mjs +2 -2
- package/lib/composables/items.mjs.map +1 -1
- package/lib/composables/ssrBoot.mjs +3 -2
- package/lib/composables/ssrBoot.mjs.map +1 -1
- package/lib/composables/theme.mjs +6 -2
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/validation.mjs +14 -7
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs +3 -3
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.sass +0 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +23 -6
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +73 -67
- package/lib/styles/tools/_variant.sass +6 -6
- package/lib/util/getCurrentInstance.mjs +19 -0
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/helpers.mjs +0 -4
- package/lib/util/helpers.mjs.map +1 -1
- 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-
|
|
46
|
-
background: $field-control-
|
|
44
|
+
&--variant-solo
|
|
45
|
+
background: $field-control-solo-background
|
|
47
46
|
border-color: transparent
|
|
48
|
-
color: $field-control-
|
|
47
|
+
color: $field-control-solo-color
|
|
49
48
|
|
|
50
|
-
@include tools.elevation($field-control-
|
|
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-
|
|
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-
|
|
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-
|
|
19
|
-
$field-control-
|
|
20
|
-
$field-control-
|
|
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;
|
|
@@ -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","
|
|
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 +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":";AAAA;AACA,qB,CAEA;;SACSA,a,+BAET;;SACSC,e,EAAiBC,S;SACjBC,gB,EAAkBC,U;SAClBC,kB,EAAoBC,Y;SACpBC,kB,EAAoBC,Y;SACpBC,c;SACAC,gB,EAAkBC,U;SAClBC,Y;SACAC,kB;SACAC,c,EAAgBC,Y;SAChBC,e,EAAiBC,S;SACjBC,gB;SACAC,U;SACAC,e,0CAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,gB,EAAkBC,mB,EAAqBC,I,EAAMC,S,gCAEtD;;AAUA,SAASC,aAAT,CAAwBC,KAAxB,EAAiEC,IAAjE,EAA8F;EAC5F,MAAMC,IAAI,GAAGN,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACG,QAAb,EAAuB,MAAvB,CAAhC;EACA,MAAMC,KAAK,GAAG,OAAOH,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkCL,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACK,SAAb,CAAnE;EACA,MAAMC,KAAK,GAAGV,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACO,SAAb,EAAwBC,SAAxB,CAAjC;EACA,MAAMC,QAAQ,GAAGb,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACU,YAAb,CAApC;EACA,MAAMC,SAAS,GAAGX,KAAK,CAACW,SAAN,KAAoB,IAApB,GAA2Bd,IAAI,CAACI,IAAD,EAAO,CAAC,UAAD,CAAP,CAAJ,CAAyB,CAAzB,CAA3B,GAAyDL,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACW,SAAb,CAA9F;EAEA,MAAMC,MAAM,GAAG;IACbR,KADa;IAEbE,KAFa;IAGb,GAAGK;EAHU,CAAf;EAMA,OAAO;IACLT,IADK;IAELE,KAAK,EAAEQ,MAAM,CAACR,KAFT;IAGLE,KAAK,EAAEM,MAAM,CAACN,KAHT;IAILN,KAAK,EAAEY,MAJF;IAKLH,QAAQ,EAAEP,IAAI,KAAK,MAAT,IAAmBO,QAAnB,GAA8BI,cAAc,CAACb,KAAD,EAAQS,QAAR,CAA5C,GAAgED,SALrE;IAMLM,YAAY,EAAEb;EANT,CAAP;AAQD;;AAED,SAASY,cAAT,CAAyBb,KAAzB,EAAkEe,KAAlE,EAA8F;EAC5F,MAAMC,KAAyB,GAAG,EAAlC;;EAEA,KAAK,MAAMf,IAAX,IAAmBc,KAAnB,EAA0B;IACxBC,KAAK,CAACC,IAAN,CAAWlB,aAAa,CAACC,KAAD,EAAQC,IAAR,CAAxB;EACD;;EAED,OAAOe,KAAP;AACD;;AAED,SAASE,YAAT,CAAuBlB,KAAvB,EAAgE;EAC9D,MAAMe,KAAK,GAAGtB,QAAQ,CAAC,MAAMoB,cAAc,CAACb,KAAD,EAAQA,KAAK,CAACe,KAAd,CAArB,CAAtB;EAEA,OAAO;IAAEA;EAAF,CAAP;AACD;;AAED,OAAO,MAAMI,KAAK,GAAGxB,gBAAgB,GAShC;EACHyB,IAAI,EAAE,OADH;EAGHpB,KAAK,EAAE;IACLqB,WAAW,EAAEC,MADR;IAELC,WAAW,EAAED,MAFR;IAGLE,OAAO,EAAEF,MAHJ;IAILG,QAAQ,EAAEC,OAJL;IAKLC,KAAK,EAAE;MACLzB,IAAI,EAAE,CAACwB,OAAD,EAAUJ,MAAV,CADD;MAELM,OAAO,EAAE;IAFJ,CALF;IASLC,GAAG,EAAEH,OATA;IAWL,GAAGtC,eAAe,CAAC;MACjB0C,cAAc,EAAE,aADC;MAEjBC,YAAY,EAAE;IAFG,CAAD,CAXb;IAeL,GAAG1D,eAAe,EAfb;IAgBL,GAAGE,gBAAgB,EAhBd;IAiBL,GAAGE,kBAAkB,EAjBhB;IAkBL,GAAGE,kBAAkB,EAlBhB;IAmBLwB,QAAQ,EAAE;MACRD,IAAI,EAAEoB,MADE;MAERM,OAAO,EAAE;IAFD,CAnBL;IAuBL,GAAG/C,cAAc,EAvBZ;IAwBL,GAAGC,gBAAgB,EAxBd;IAyBL,GAAGE,YAAY,EAzBV;IA0BL,GAAGE,cAAc,EA1BZ;IA2BL,GAAGI,gBAAgB,CAAC;MAAE0C,OAAO,EAAE;IAAX,CAAD;EA3Bd,CAHJ;EAiCHC,KAAK,EAAE;IACL,mBAAoBC,GAAD,IAAmB,IADjC;IAEL,iBAAkBA,GAAD,IAAmB,IAF/B;IAGL,cAAe5B,KAAD,IAA2D,IAHpE;IAIL,gBAAiBA,KAAD,IAA2D;EAJtE,CAjCJ;;EAwCH6B,KAAK,CAAEnC,KAAF,QAAoB;IAAA,IAAX;MAAEoC;IAAF,CAAW;IACvB,MAAM;MAAErB;IAAF,IAAYG,YAAY,CAAClB,KAAD,CAA9B;IACA,MAAM;MAAEqC;IAAF,IAAmBlD,YAAY,CAACa,KAAD,CAArC;IACA,MAAM;MAAEsC,sBAAF;MAA0BC;IAA1B,IAAoDtD,kBAAkB,CAACS,KAAK,CAACM,KAAD,EAAQ,SAAR,CAAN,CAA5E;IACA,MAAM;MAAEwC;IAAF,IAAoBlE,SAAS,CAAC0B,KAAD,CAAnC;IACA,MAAM;MAAEyC;IAAF,IAAqBjE,UAAU,CAACwB,KAAD,CAArC;IACA,MAAM;MAAE0C;IAAF,IAAsBhE,YAAY,CAACsB,KAAD,CAAxC;IACA,MAAM;MAAE2C;IAAF,IAAuB/D,YAAY,CAACoB,KAAD,CAAzC;IACA,MAAM;MAAE4C;IAAF,IAAqB7D,UAAU,CAACiB,KAAD,CAArC;IACA,MAAM;MAAE6C,IAAF;MAAQC;IAAR,IAAmBzD,SAAS,CAACW,KAAD,CAAlC;IACA,MAAM+C,WAAW,GAAGtD,QAAQ,CAAC,MAAMO,KAAK,CAAC2B,KAAN,GAAe,WAAU3B,KAAK,CAAC2B,KAAM,OAArC,GAA8CnB,SAArD,CAA5B;IACA,MAAMa,WAAW,GAAG3B,KAAK,CAACM,KAAD,EAAQ,aAAR,CAAzB;IACA,MAAMgD,KAAK,GAAGtD,KAAK,CAACM,KAAD,EAAQ,OAAR,CAAnB;IAEAT,UAAU;IAEVC,eAAe,CAAC;MACdyD,UAAU,EAAE;QACV5B,WADU;QAEV2B;MAFU,CADE;MAKdE,SAAS,EAAE;QACT3B,WAAW,EAAE7B,KAAK,CAACM,KAAD,EAAQ,aAAR,CADT;QAETqB,WAFS;QAGT2B,KAHS;QAITG,OAAO,EAAEzD,KAAK,CAACM,KAAD,EAAQ,SAAR,CAJL;QAKTyB,QAAQ,EAAE/B,KAAK,CAACM,KAAD,EAAQ,UAAR,CALN;QAMT2B,KAAK,EAAEjC,KAAK,CAACM,KAAD,EAAQ,OAAR,CANH;QAOT6B,GAAG,EAAEnC,KAAK,CAACM,KAAD,EAAQ,KAAR,CAPD;QAQTgC,OAAO,EAAEtC,KAAK,CAACM,KAAD,EAAQ,SAAR;MARL;IALG,CAAD,CAAf;IAiBAF,SAAS,CAAC,MAAM;MACd;QAAA,SAEW,CACL,QADK,EAEL;UACE,oBAAoBE,KAAK,CAACyB,QAD5B;UAEE,eAAezB,KAAK,CAAC6B;QAFvB,CAFK,EAMLQ,YAAY,CAAC/B,KANR,EAOLgC,sBAAsB,CAAChC,KAPlB,EAQLkC,aAAa,CAAClC,KART,EASLmC,cAAc,CAACnC,KATV,EAULqC,gBAAgB,CAACrC,KAVZ,EAWLyC,WAAW,CAACzC,KAXP,EAYLsC,cAAc,CAACtC,KAZV,CAFX;QAAA,SAgBW,CACLiC,qBAAqB,CAACjC,KADjB,EAELoC,eAAe,CAACpC,KAFX;MAhBX;QAAA;UAAA,SAqB2BS,KAAK,CAACT;QArBjC,GAqBmD8B,KArBnD;MAAA;IAwBD,CAzBQ,CAAT;IA2BA,OAAO;MACLS,IADK;MAELC;IAFK,CAAP;EAID;;AAxGE,CATgC,CAA9B"}
|
|
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":";AAAA;AACA,qB,CAEA;;SACSA,a,+BAET;;SACSC,e,EAAiBC,S;SACjBC,gB,EAAkBC,U;SAClBC,kB,EAAoBC,Y;SACpBC,kB,EAAoBC,Y;SACpBC,c;SACAC,gB,EAAkBC,U;SAClBC,Y;SACAC,kB;SACAC,c,EAAgBC,Y;SAChBC,e,EAAiBC,S;SACjBC,gB;SACAC,U;SACAC,e,0CAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,gB,EAAkBC,mB,EAAqBC,I,EAAMC,S,gCAEtD;;AAUA,SAASC,aAAT,CAAwBC,KAAxB,EAAiEC,IAAjE,EAA8F;EAC5F,MAAMC,IAAI,GAAGN,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACG,QAAb,EAAuB,MAAvB,CAAhC;EACA,MAAMC,KAAK,GAAG,OAAOH,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkCL,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACK,SAAb,CAAnE;EACA,MAAMC,KAAK,GAAGV,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACO,SAAb,EAAwBC,SAAxB,CAAjC;EACA,MAAMC,QAAQ,GAAGb,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACU,YAAb,CAApC;EACA,MAAMC,SAAS,GAAGX,KAAK,CAACW,SAAN,KAAoB,IAApB,GAA2Bd,IAAI,CAACI,IAAD,EAAO,CAAC,UAAD,CAAP,CAAJ,CAAyB,CAAzB,CAA3B,GAAyDL,mBAAmB,CAACK,IAAD,EAAOD,KAAK,CAACW,SAAb,CAA9F;EAEA,MAAMC,MAAM,GAAG;IACbR,KADa;IAEbE,KAFa;IAGb,GAAGK;EAHU,CAAf;EAMA,OAAO;IACLT,IADK;IAELE,KAAK,EAAEQ,MAAM,CAACR,KAFT;IAGLE,KAAK,EAAEM,MAAM,CAACN,KAHT;IAILN,KAAK,EAAEY,MAJF;IAKLH,QAAQ,EAAEP,IAAI,KAAK,MAAT,IAAmBO,QAAnB,GAA8BI,cAAc,CAACb,KAAD,EAAQS,QAAR,CAA5C,GAAgED,SALrE;IAMLM,GAAG,EAAEb;EANA,CAAP;AAQD;;AAED,SAASY,cAAT,CAAyBb,KAAzB,EAAkEe,KAAlE,EAA8F;EAC5F,MAAMC,KAAyB,GAAG,EAAlC;;EAEA,KAAK,MAAMf,IAAX,IAAmBc,KAAnB,EAA0B;IACxBC,KAAK,CAACC,IAAN,CAAWlB,aAAa,CAACC,KAAD,EAAQC,IAAR,CAAxB;EACD;;EAED,OAAOe,KAAP;AACD;;AAED,SAASE,YAAT,CAAuBlB,KAAvB,EAAgE;EAC9D,MAAMe,KAAK,GAAGtB,QAAQ,CAAC,MAAMoB,cAAc,CAACb,KAAD,EAAQA,KAAK,CAACe,KAAd,CAArB,CAAtB;EAEA,OAAO;IAAEA;EAAF,CAAP;AACD;;AAED,OAAO,MAAMI,KAAK,GAAGxB,gBAAgB,GAShC;EACHyB,IAAI,EAAE,OADH;EAGHpB,KAAK,EAAE;IACLqB,WAAW,EAAEC,MADR;IAELC,WAAW,EAAED,MAFR;IAGLE,OAAO,EAAEF,MAHJ;IAILG,QAAQ,EAAEC,OAJL;IAKLC,KAAK,EAAE;MACLzB,IAAI,EAAE,CAACwB,OAAD,EAAUJ,MAAV,CADD;MAELM,OAAO,EAAE;IAFJ,CALF;IASLC,GAAG,EAAEH,OATA;IAWL,GAAGtC,eAAe,CAAC;MACjB0C,cAAc,EAAE,aADC;MAEjBC,YAAY,EAAE;IAFG,CAAD,CAXb;IAeL,GAAG1D,eAAe,EAfb;IAgBL,GAAGE,gBAAgB,EAhBd;IAiBL,GAAGE,kBAAkB,EAjBhB;IAkBL,GAAGE,kBAAkB,EAlBhB;IAmBLwB,QAAQ,EAAE;MACRD,IAAI,EAAEoB,MADE;MAERM,OAAO,EAAE;IAFD,CAnBL;IAuBL,GAAG/C,cAAc,EAvBZ;IAwBL,GAAGC,gBAAgB,EAxBd;IAyBL,GAAGE,YAAY,EAzBV;IA0BL,GAAGE,cAAc,EA1BZ;IA2BL,GAAGI,gBAAgB,CAAC;MAAE0C,OAAO,EAAE;IAAX,CAAD;EA3Bd,CAHJ;EAiCHC,KAAK,EAAE;IACL,mBAAoBC,GAAD,IAAmB,IADjC;IAEL,iBAAkBA,GAAD,IAAmB,IAF/B;IAGL,cAAe5B,KAAD,IAA2D,IAHpE;IAIL,gBAAiBA,KAAD,IAA2D;EAJtE,CAjCJ;;EAwCH6B,KAAK,CAAEnC,KAAF,QAAoB;IAAA,IAAX;MAAEoC;IAAF,CAAW;IACvB,MAAM;MAAErB;IAAF,IAAYG,YAAY,CAAClB,KAAD,CAA9B;IACA,MAAM;MAAEqC;IAAF,IAAmBlD,YAAY,CAACa,KAAD,CAArC;IACA,MAAM;MAAEsC,sBAAF;MAA0BC;IAA1B,IAAoDtD,kBAAkB,CAACS,KAAK,CAACM,KAAD,EAAQ,SAAR,CAAN,CAA5E;IACA,MAAM;MAAEwC;IAAF,IAAoBlE,SAAS,CAAC0B,KAAD,CAAnC;IACA,MAAM;MAAEyC;IAAF,IAAqBjE,UAAU,CAACwB,KAAD,CAArC;IACA,MAAM;MAAE0C;IAAF,IAAsBhE,YAAY,CAACsB,KAAD,CAAxC;IACA,MAAM;MAAE2C;IAAF,IAAuB/D,YAAY,CAACoB,KAAD,CAAzC;IACA,MAAM;MAAE4C;IAAF,IAAqB7D,UAAU,CAACiB,KAAD,CAArC;IACA,MAAM;MAAE6C,IAAF;MAAQC;IAAR,IAAmBzD,SAAS,CAACW,KAAD,CAAlC;IACA,MAAM+C,WAAW,GAAGtD,QAAQ,CAAC,MAAMO,KAAK,CAAC2B,KAAN,GAAe,WAAU3B,KAAK,CAAC2B,KAAM,OAArC,GAA8CnB,SAArD,CAA5B;IACA,MAAMa,WAAW,GAAG3B,KAAK,CAACM,KAAD,EAAQ,aAAR,CAAzB;IACA,MAAMgD,KAAK,GAAGtD,KAAK,CAACM,KAAD,EAAQ,OAAR,CAAnB;IAEAT,UAAU;IAEVC,eAAe,CAAC;MACdyD,UAAU,EAAE;QACV5B,WADU;QAEV2B;MAFU,CADE;MAKdE,SAAS,EAAE;QACT3B,WAAW,EAAE7B,KAAK,CAACM,KAAD,EAAQ,aAAR,CADT;QAETqB,WAFS;QAGT2B,KAHS;QAITG,OAAO,EAAEzD,KAAK,CAACM,KAAD,EAAQ,SAAR,CAJL;QAKTyB,QAAQ,EAAE/B,KAAK,CAACM,KAAD,EAAQ,UAAR,CALN;QAMT2B,KAAK,EAAEjC,KAAK,CAACM,KAAD,EAAQ,OAAR,CANH;QAOT6B,GAAG,EAAEnC,KAAK,CAACM,KAAD,EAAQ,KAAR,CAPD;QAQTgC,OAAO,EAAEtC,KAAK,CAACM,KAAD,EAAQ,SAAR;MARL;IALG,CAAD,CAAf;IAiBAF,SAAS,CAAC,MAAM;MACd;QAAA,SAEW,CACL,QADK,EAEL;UACE,oBAAoBE,KAAK,CAACyB,QAD5B;UAEE,eAAezB,KAAK,CAAC6B;QAFvB,CAFK,EAMLQ,YAAY,CAAC/B,KANR,EAOLgC,sBAAsB,CAAChC,KAPlB,EAQLkC,aAAa,CAAClC,KART,EASLmC,cAAc,CAACnC,KATV,EAULqC,gBAAgB,CAACrC,KAVZ,EAWLyC,WAAW,CAACzC,KAXP,EAYLsC,cAAc,CAACtC,KAZV,CAFX;QAAA,SAgBW,CACLiC,qBAAqB,CAACjC,KADjB,EAELoC,eAAe,CAACpC,KAFX;MAhBX;QAAA;UAAA,SAqB2BS,KAAK,CAACT;QArBjC,GAqBmD8B,KArBnD;MAAA;IAwBD,CAzBQ,CAAT;IA2BA,OAAO;MACLS,IADK;MAELC;IAFK,CAAP;EAID;;AAxGE,CATgC,CAA9B"}
|
|
@@ -27,7 +27,7 @@ export const VListChildren = genericComponent()({
|
|
|
27
27
|
children,
|
|
28
28
|
props: itemProps,
|
|
29
29
|
type,
|
|
30
|
-
|
|
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","
|
|
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";
|
|
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(
|
|
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 </
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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--
|
|
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,
|
|
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
|
-
|
|
100
|
-
|
|
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--
|
|
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)
|
|
@@ -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"
|