@vuetify/nightly 3.8.7-master.2025-05-31 → 3.8.7-master.2025-06-03
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 +12 -3
- package/dist/json/attributes.json +3132 -3132
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +118 -118
- package/dist/json/web-types.json +5875 -5875
- package/dist/vuetify-labs.cjs +90 -80
- package/dist/vuetify-labs.css +3328 -3322
- package/dist/vuetify-labs.d.ts +42 -42
- package/dist/vuetify-labs.esm.js +90 -80
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +90 -80
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +84 -74
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4505 -4499
- package/dist/vuetify.d.ts +42 -42
- package/dist/vuetify.esm.js +84 -74
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +84 -74
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +265 -265
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +6 -6
- package/lib/components/VAutocomplete/VAutocomplete.sass +3 -9
- package/lib/components/VCarousel/VCarousel.js +3 -3
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VChip/VChip.js +1 -0
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.js +3 -3
- package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.js +3 -3
- package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.css +6 -6
- package/lib/components/VCombobox/VCombobox.sass +3 -9
- package/lib/components/VDataTable/VDataTableColumn.js +3 -3
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +3 -3
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
- package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.js +4 -4
- package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +3 -3
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.js +3 -3
- package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +3 -3
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VEmptyState/VEmptyState.js +3 -3
- package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
- package/lib/components/VImg/VImg.js +7 -7
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.js +3 -3
- package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +2 -2
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +2 -2
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +3 -3
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VSelect/VSelect.css +6 -0
- package/lib/components/VSelect/VSelect.sass +3 -0
- package/lib/components/VSelect/_mixins.scss +14 -0
- package/lib/components/VSelectionControl/VSelectionControl.js +2 -2
- package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.js +16 -10
- package/lib/components/VSlider/VSliderThumb.js.map +1 -1
- package/lib/components/VSlider/VSliderTrack.js +6 -6
- package/lib/components/VSlider/VSliderTrack.js.map +1 -1
- package/lib/components/VSlider/slider.js +4 -1
- package/lib/components/VSlider/slider.js.map +1 -1
- package/lib/components/VTable/VTable.js +3 -3
- package/lib/components/VTable/VTable.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +5 -5
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.js +7 -7
- package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +42 -42
- package/lib/framework.js +1 -1
- package/lib/labs/VPullToRefresh/VPullToRefresh.js +7 -7
- package/lib/labs/VPullToRefresh/VPullToRefresh.js.map +1 -1
- package/package.json +2 -2
@@ -1,3 +1,9 @@
|
|
1
|
+
.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,
|
2
|
+
.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,
|
3
|
+
.v-autocomplete--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,
|
4
|
+
.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating {
|
5
|
+
top: 0px;
|
6
|
+
}
|
1
7
|
.v-autocomplete .v-field .v-text-field__prefix,
|
2
8
|
.v-autocomplete .v-field .v-text-field__suffix,
|
3
9
|
.v-autocomplete .v-field .v-field__input, .v-autocomplete .v-field.v-field {
|
@@ -44,12 +50,6 @@
|
|
44
50
|
.v-autocomplete__selection:first-child {
|
45
51
|
margin-inline-start: 0;
|
46
52
|
}
|
47
|
-
.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,
|
48
|
-
.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,
|
49
|
-
.v-autocomplete--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,
|
50
|
-
.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating {
|
51
|
-
top: 0px;
|
52
|
-
}
|
53
53
|
.v-autocomplete--selecting-index .v-autocomplete__selection {
|
54
54
|
opacity: var(--v-medium-emphasis-opacity);
|
55
55
|
}
|
@@ -3,9 +3,12 @@
|
|
3
3
|
@use '../../styles/settings'
|
4
4
|
@use '../../styles/tools'
|
5
5
|
@use './variables' as *
|
6
|
+
@use '../VSelect/mixins' as *
|
6
7
|
|
7
8
|
@include tools.layer('components')
|
8
9
|
.v-autocomplete
|
10
|
+
@include select-compact-chip-label
|
11
|
+
|
9
12
|
.v-field
|
10
13
|
.v-text-field__prefix,
|
11
14
|
.v-text-field__suffix,
|
@@ -57,15 +60,6 @@
|
|
57
60
|
&:first-child
|
58
61
|
margin-inline-start: 0
|
59
62
|
|
60
|
-
&--chips.v-input--density-compact
|
61
|
-
.v-field--variant-solo,
|
62
|
-
.v-field--variant-solo-inverted,
|
63
|
-
.v-field--variant-filled,
|
64
|
-
.v-field--variant-solo-filled
|
65
|
-
.v-label.v-field-label
|
66
|
-
&--floating
|
67
|
-
top: 0px
|
68
|
-
|
69
63
|
&--selecting-index
|
70
64
|
.v-autocomplete__selection
|
71
65
|
opacity: var(--v-medium-emphasis-opacity)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Fragment as _Fragment, mergeProps as _mergeProps, createVNode as _createVNode,
|
1
|
+
import { Fragment as _Fragment, mergeProps as _mergeProps, createVNode as _createVNode, createElementVNode as _createElementVNode } from "vue";
|
2
2
|
// Styles
|
3
3
|
import "./VCarousel.css";
|
4
4
|
|
@@ -90,10 +90,10 @@ export const VCarousel = genericComponent()({
|
|
90
90
|
} = _ref2;
|
91
91
|
return _createElementVNode(_Fragment, null, [!props.hideDelimiters && _createElementVNode("div", {
|
92
92
|
"class": "v-carousel__controls",
|
93
|
-
"style":
|
93
|
+
"style": {
|
94
94
|
left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',
|
95
95
|
right: props.verticalDelimiters === 'right' ? 0 : 'auto'
|
96
|
-
}
|
96
|
+
}
|
97
97
|
}, [group.items.value.length > 0 && _createVNode(VDefaultsProvider, {
|
98
98
|
"defaults": {
|
99
99
|
VBtn: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCarousel.js","names":["VBtn","VDefaultsProvider","VProgressLinear","makeVWindowProps","VWindow","IconValue","useLocale","useProxiedModel","onMounted","ref","watch","convertToUnit","genericComponent","propsFactory","useRender","makeVCarouselProps","color","String","cycle","Boolean","delimiterIcon","type","default","height","Number","hideDelimiters","hideDelimiterBackground","interval","validator","value","progress","verticalDelimiters","continuous","mandatory","showArrows","VCarousel","name","props","emits","setup","_ref","slots","model","t","windowRef","slideTimeout","restartTimeout","val","window","clearTimeout","startTimeout","setTimeout","group","next","requestAnimationFrame","windowProps","filterProps","_createVNode","_mergeProps","$event","class","style","additional","_ref2","_createElementVNode","_Fragment","_normalizeStyle","left","right","items","length","icon","size","variant","map","item","index","id","isSelected","onClick","select","undefined","getItemIndex","prev"],"sources":["../../../src/components/VCarousel/VCarousel.tsx"],"sourcesContent":["// Styles\nimport './VCarousel.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VProgressLinear } from '@/components/VProgressLinear'\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, ref, watch } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VWindowSlots } from '@/components/VWindow/VWindow'\nimport type { GroupProvide } from '@/composables/group'\nimport type { GenericProps } from '@/util'\n\nexport const makeVCarouselProps = propsFactory({\n color: String,\n cycle: Boolean,\n delimiterIcon: {\n type: IconValue,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => Number(value) > 0,\n },\n progress: [Boolean, String],\n verticalDelimiters: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n\n ...makeVWindowProps({\n continuous: true,\n mandatory: 'force' as const,\n showArrows: true,\n }),\n}, 'VCarousel')\n\ntype VCarouselSlots = VWindowSlots & {\n item: {\n props: Record<string, any>\n item: {\n id: string\n value: unknown\n disabled: boolean | undefined\n }\n }\n}\n\nexport const VCarousel = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VCarouselSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VCarousel',\n\n props: makeVCarouselProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { t } = useLocale()\n const windowRef = ref<VWindow>()\n\n let slideTimeout = -1\n watch(model, restartTimeout)\n watch(() => props.interval, restartTimeout)\n watch(() => props.cycle, val => {\n if (val) restartTimeout()\n else window.clearTimeout(slideTimeout)\n })\n\n onMounted(startTimeout)\n\n function startTimeout () {\n if (!props.cycle || !windowRef.value) return\n\n slideTimeout = window.setTimeout(\n windowRef.value.group.next,\n Number(props.interval) > 0 ? Number(props.interval) : 6000\n )\n }\n\n function restartTimeout () {\n window.clearTimeout(slideTimeout)\n window.requestAnimationFrame(startTimeout)\n }\n\n useRender(() => {\n const windowProps = VWindow.filterProps(props)\n\n return (\n <VWindow\n ref={ windowRef }\n { ...windowProps }\n v-model={ model.value }\n class={[\n 'v-carousel',\n {\n 'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': props.verticalDelimiters,\n },\n props.class,\n ]}\n style={[\n { height: convertToUnit(props.height) },\n props.style,\n ]}\n >\n {{\n default: slots.default,\n additional: ({ group }: { group: GroupProvide }) => (\n <>\n { !props.hideDelimiters && (\n <div\n class=\"v-carousel__controls\"\n style={{\n left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',\n right: props.verticalDelimiters === 'right' ? 0 : 'auto',\n }}\n >\n { group.items.value.length > 0 && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n color: props.color,\n icon: props.delimiterIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n scoped\n >\n { group.items.value.map((item, index) => {\n const props = {\n id: `carousel-item-${item.id}`,\n 'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),\n class: [\n 'v-carousel__controls__item',\n group.isSelected(item.id) && 'v-btn--active',\n ],\n onClick: () => group.select(item.id, true),\n }\n\n return slots.item\n ? slots.item({ props, item })\n : (<VBtn { ...item } { ...props } />)\n })}\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { props.progress && (\n <VProgressLinear\n class=\"v-carousel__progress\"\n color={ typeof props.progress === 'string' ? props.progress : undefined }\n modelValue={ (group.getItemIndex(model.value) + 1) / group.items.value.length * 100 }\n />\n )}\n </>\n ),\n prev: slots.prev,\n next: slots.next,\n }}\n </VWindow>\n )\n })\n\n return {}\n },\n})\n\nexport type VCarousel = InstanceType<typeof VCarousel>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VCarousel.js","names":["VBtn","VDefaultsProvider","VProgressLinear","makeVWindowProps","VWindow","IconValue","useLocale","useProxiedModel","onMounted","ref","watch","convertToUnit","genericComponent","propsFactory","useRender","makeVCarouselProps","color","String","cycle","Boolean","delimiterIcon","type","default","height","Number","hideDelimiters","hideDelimiterBackground","interval","validator","value","progress","verticalDelimiters","continuous","mandatory","showArrows","VCarousel","name","props","emits","setup","_ref","slots","model","t","windowRef","slideTimeout","restartTimeout","val","window","clearTimeout","startTimeout","setTimeout","group","next","requestAnimationFrame","windowProps","filterProps","_createVNode","_mergeProps","$event","class","style","additional","_ref2","_createElementVNode","_Fragment","left","right","items","length","icon","size","variant","map","item","index","id","isSelected","onClick","select","undefined","getItemIndex","prev"],"sources":["../../../src/components/VCarousel/VCarousel.tsx"],"sourcesContent":["// Styles\nimport './VCarousel.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VProgressLinear } from '@/components/VProgressLinear'\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, ref, watch } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VWindowSlots } from '@/components/VWindow/VWindow'\nimport type { GroupProvide } from '@/composables/group'\nimport type { GenericProps } from '@/util'\n\nexport const makeVCarouselProps = propsFactory({\n color: String,\n cycle: Boolean,\n delimiterIcon: {\n type: IconValue,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => Number(value) > 0,\n },\n progress: [Boolean, String],\n verticalDelimiters: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n\n ...makeVWindowProps({\n continuous: true,\n mandatory: 'force' as const,\n showArrows: true,\n }),\n}, 'VCarousel')\n\ntype VCarouselSlots = VWindowSlots & {\n item: {\n props: Record<string, any>\n item: {\n id: string\n value: unknown\n disabled: boolean | undefined\n }\n }\n}\n\nexport const VCarousel = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VCarouselSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VCarousel',\n\n props: makeVCarouselProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { t } = useLocale()\n const windowRef = ref<VWindow>()\n\n let slideTimeout = -1\n watch(model, restartTimeout)\n watch(() => props.interval, restartTimeout)\n watch(() => props.cycle, val => {\n if (val) restartTimeout()\n else window.clearTimeout(slideTimeout)\n })\n\n onMounted(startTimeout)\n\n function startTimeout () {\n if (!props.cycle || !windowRef.value) return\n\n slideTimeout = window.setTimeout(\n windowRef.value.group.next,\n Number(props.interval) > 0 ? Number(props.interval) : 6000\n )\n }\n\n function restartTimeout () {\n window.clearTimeout(slideTimeout)\n window.requestAnimationFrame(startTimeout)\n }\n\n useRender(() => {\n const windowProps = VWindow.filterProps(props)\n\n return (\n <VWindow\n ref={ windowRef }\n { ...windowProps }\n v-model={ model.value }\n class={[\n 'v-carousel',\n {\n 'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': props.verticalDelimiters,\n },\n props.class,\n ]}\n style={[\n { height: convertToUnit(props.height) },\n props.style,\n ]}\n >\n {{\n default: slots.default,\n additional: ({ group }: { group: GroupProvide }) => (\n <>\n { !props.hideDelimiters && (\n <div\n class=\"v-carousel__controls\"\n style={{\n left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',\n right: props.verticalDelimiters === 'right' ? 0 : 'auto',\n }}\n >\n { group.items.value.length > 0 && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n color: props.color,\n icon: props.delimiterIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n scoped\n >\n { group.items.value.map((item, index) => {\n const props = {\n id: `carousel-item-${item.id}`,\n 'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),\n class: [\n 'v-carousel__controls__item',\n group.isSelected(item.id) && 'v-btn--active',\n ],\n onClick: () => group.select(item.id, true),\n }\n\n return slots.item\n ? slots.item({ props, item })\n : (<VBtn { ...item } { ...props } />)\n })}\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { props.progress && (\n <VProgressLinear\n class=\"v-carousel__progress\"\n color={ typeof props.progress === 'string' ? props.progress : undefined }\n modelValue={ (group.getItemIndex(model.value) + 1) / group.items.value.length * 100 }\n />\n )}\n </>\n ),\n prev: slots.prev,\n next: slots.next,\n }}\n </VWindow>\n )\n })\n\n return {}\n },\n})\n\nexport type VCarousel = InstanceType<typeof VCarousel>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB;AAAA,SACjBC,eAAe;AAAA,SACfC,gBAAgB,EAAEC,OAAO,iCAElC;AAAA,SACSC,SAAS;AAAA,SACTC,SAAS;AAAA,SACTC,eAAe,6CAExB;AACA,SAASC,SAAS,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAClCC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAEjE;AAMA,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7CG,KAAK,EAAEC,MAAM;EACbC,KAAK,EAAEC,OAAO;EACdC,aAAa,EAAE;IACbC,IAAI,EAAEhB,SAAS;IACfiB,OAAO,EAAE;EACX,CAAC;EACDC,MAAM,EAAE;IACNF,IAAI,EAAE,CAACG,MAAM,EAAEP,MAAM,CAAC;IACtBK,OAAO,EAAE;EACX,CAAC;EACDG,cAAc,EAAEN,OAAO;EACvBO,uBAAuB,EAAEP,OAAO;EAChCQ,QAAQ,EAAE;IACRN,IAAI,EAAE,CAACG,MAAM,EAAEP,MAAM,CAAC;IACtBK,OAAO,EAAE,IAAI;IACbM,SAAS,EAAGC,KAAsB,IAAKL,MAAM,CAACK,KAAK,CAAC,GAAG;EACzD,CAAC;EACDC,QAAQ,EAAE,CAACX,OAAO,EAAEF,MAAM,CAAC;EAC3Bc,kBAAkB,EAAE,CAACZ,OAAO,EAAEF,MAAM,CAAyC;EAE7E,GAAGd,gBAAgB,CAAC;IAClB6B,UAAU,EAAE,IAAI;IAChBC,SAAS,EAAE,OAAgB;IAC3BC,UAAU,EAAE;EACd,CAAC;AACH,CAAC,EAAE,WAAW,CAAC;AAaf,OAAO,MAAMC,SAAS,GAAGvB,gBAAgB,CAMM,CAAC,CAAC;EAC/CwB,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAEtB,kBAAkB,CAAC,CAAC;EAE3BuB,KAAK,EAAE;IACL,mBAAmB,EAAGT,KAAU,IAAK;EACvC,CAAC;EAEDU,KAAKA,CAAEF,KAAK,EAAAG,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGnC,eAAe,CAAC8B,KAAK,EAAE,YAAY,CAAC;IAClD,MAAM;MAAEM;IAAE,CAAC,GAAGrC,SAAS,CAAC,CAAC;IACzB,MAAMsC,SAAS,GAAGnC,GAAG,CAAU,CAAC;IAEhC,IAAIoC,YAAY,GAAG,CAAC,CAAC;IACrBnC,KAAK,CAACgC,KAAK,EAAEI,cAAc,CAAC;IAC5BpC,KAAK,CAAC,MAAM2B,KAAK,CAACV,QAAQ,EAAEmB,cAAc,CAAC;IAC3CpC,KAAK,CAAC,MAAM2B,KAAK,CAACnB,KAAK,EAAE6B,GAAG,IAAI;MAC9B,IAAIA,GAAG,EAAED,cAAc,CAAC,CAAC,MACpBE,MAAM,CAACC,YAAY,CAACJ,YAAY,CAAC;IACxC,CAAC,CAAC;IAEFrC,SAAS,CAAC0C,YAAY,CAAC;IAEvB,SAASA,YAAYA,CAAA,EAAI;MACvB,IAAI,CAACb,KAAK,CAACnB,KAAK,IAAI,CAAC0B,SAAS,CAACf,KAAK,EAAE;MAEtCgB,YAAY,GAAGG,MAAM,CAACG,UAAU,CAC9BP,SAAS,CAACf,KAAK,CAACuB,KAAK,CAACC,IAAI,EAC1B7B,MAAM,CAACa,KAAK,CAACV,QAAQ,CAAC,GAAG,CAAC,GAAGH,MAAM,CAACa,KAAK,CAACV,QAAQ,CAAC,GAAG,IACxD,CAAC;IACH;IAEA,SAASmB,cAAcA,CAAA,EAAI;MACzBE,MAAM,CAACC,YAAY,CAACJ,YAAY,CAAC;MACjCG,MAAM,CAACM,qBAAqB,CAACJ,YAAY,CAAC;IAC5C;IAEApC,SAAS,CAAC,MAAM;MACd,MAAMyC,WAAW,GAAGnD,OAAO,CAACoD,WAAW,CAACnB,KAAK,CAAC;MAE9C,OAAAoB,YAAA,CAAArD,OAAA,EAAAsD,WAAA;QAAA,OAEUd;MAAS,GACVW,WAAW;QAAA,cACNb,KAAK,CAACb,KAAK;QAAA,uBAAA8B,MAAA,IAAXjB,KAAK,CAACb,KAAK,GAAA8B,MAAA;QAAA,SACd,CACL,YAAY,EACZ;UACE,uCAAuC,EAAEtB,KAAK,CAACX,uBAAuB;UACtE,iCAAiC,EAAEW,KAAK,CAACN;QAC3C,CAAC,EACDM,KAAK,CAACuB,KAAK,CACZ;QAAA,SACM,CACL;UAAErC,MAAM,EAAEZ,aAAa,CAAC0B,KAAK,CAACd,MAAM;QAAE,CAAC,EACvCc,KAAK,CAACwB,KAAK;MACZ;QAGCvC,OAAO,EAAEmB,KAAK,CAACnB,OAAO;QACtBwC,UAAU,EAAEC,KAAA;UAAA,IAAC;YAAEX;UAA+B,CAAC,GAAAW,KAAA;UAAA,OAAAC,mBAAA,CAAAC,SAAA,SAEzC,CAAC5B,KAAK,CAACZ,cAAc,IAAAuC,mBAAA;YAAA;YAAA,SAGZ;cACLE,IAAI,EAAE7B,KAAK,CAACN,kBAAkB,KAAK,MAAM,IAAIM,KAAK,CAACN,kBAAkB,GAAG,CAAC,GAAG,MAAM;cAClFoC,KAAK,EAAE9B,KAAK,CAACN,kBAAkB,KAAK,OAAO,GAAG,CAAC,GAAG;YACpD;UAAC,IAECqB,KAAK,CAACgB,KAAK,CAACvC,KAAK,CAACwC,MAAM,GAAG,CAAC,IAAAZ,YAAA,CAAAxD,iBAAA;YAAA,YAEhB;cACRD,IAAI,EAAE;gBACJgB,KAAK,EAAEqB,KAAK,CAACrB,KAAK;gBAClBsD,IAAI,EAAEjC,KAAK,CAACjB,aAAa;gBACzBmD,IAAI,EAAE,SAAS;gBACfC,OAAO,EAAE;cACX;YACF,CAAC;YAAA;UAAA;YAAAlD,OAAA,EAAAA,CAAA,MAGC8B,KAAK,CAACgB,KAAK,CAACvC,KAAK,CAAC4C,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;cACvC,MAAMtC,KAAK,GAAG;gBACZuC,EAAE,EAAE,iBAAiBF,IAAI,CAACE,EAAE,EAAE;gBAC9B,YAAY,EAAEjC,CAAC,CAAC,uCAAuC,EAAEgC,KAAK,GAAG,CAAC,EAAEvB,KAAK,CAACgB,KAAK,CAACvC,KAAK,CAACwC,MAAM,CAAC;gBAC7FT,KAAK,EAAE,CACL,4BAA4B,EAC5BR,KAAK,CAACyB,UAAU,CAACH,IAAI,CAACE,EAAE,CAAC,IAAI,eAAe,CAC7C;gBACDE,OAAO,EAAEA,CAAA,KAAM1B,KAAK,CAAC2B,MAAM,CAACL,IAAI,CAACE,EAAE,EAAE,IAAI;cAC3C,CAAC;cAED,OAAOnC,KAAK,CAACiC,IAAI,GACbjC,KAAK,CAACiC,IAAI,CAAC;gBAAErC,KAAK;gBAAEqC;cAAK,CAAC,CAAC,GAAAjB,YAAA,CAAAzD,IAAA,EAAA0D,WAAA,CACfgB,IAAI,EAAQrC,KAAK,QAAM;YACzC,CAAC,CAAC;UAAA,EAEL,EAEJ,EAECA,KAAK,CAACP,QAAQ,IAAA2B,YAAA,CAAAvD,eAAA;YAAA;YAAA,SAGJ,OAAOmC,KAAK,CAACP,QAAQ,KAAK,QAAQ,GAAGO,KAAK,CAACP,QAAQ,GAAGkD,SAAS;YAAA,cAC1D,CAAC5B,KAAK,CAAC6B,YAAY,CAACvC,KAAK,CAACb,KAAK,CAAC,GAAG,CAAC,IAAIuB,KAAK,CAACgB,KAAK,CAACvC,KAAK,CAACwC,MAAM,GAAG;UAAG,QAEtF;QAAA,CAEJ;QACDa,IAAI,EAAEzC,KAAK,CAACyC,IAAI;QAChB7B,IAAI,EAAEZ,KAAK,CAACY;MAAI;IAIxB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -130,6 +130,7 @@ export const VChip = genericComponent()({
|
|
130
130
|
const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
131
131
|
const closeProps = toRef(() => ({
|
132
132
|
'aria-label': t(props.closeLabel),
|
133
|
+
disabled: props.disabled,
|
133
134
|
onClick(e) {
|
134
135
|
e.preventDefault();
|
135
136
|
e.stopPropagation();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VChip.js","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","baseColor","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","Number","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","colorClasses","colorStyles","variantClasses","showColor","isSelected","color","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","_withDirectives","_createVNode","_mergeProps","selectedClass","class","style","linkProps","_createElementVNode","icon","_vShow","_Fragment","image","start","select","end","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { vRipple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => {\n const showColor = !group || group.isSelected.value\n return ({\n color: showColor ? props.color ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? toDisplayString(props.text)}\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VChip.js","names":["VExpandXTransition","VAvatar","VChipGroupSymbol","VDefaultsProvider","VIcon","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","IconValue","useLocale","useProxiedModel","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","vRipple","computed","toDisplayString","toRef","EventProp","genericComponent","propsFactory","makeVChipProps","activeClass","String","appendAvatar","appendIcon","baseColor","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","Object","text","Number","modelValue","onClick","onClickOnce","tag","variant","VChip","name","directives","props","emits","e","value","val","click","setup","_ref","attrs","emit","slots","t","borderClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","closeProps","preventDefault","stopPropagation","colorClasses","colorStyles","variantClasses","showColor","isSelected","color","navigate","toggle","onKeyDown","key","Tag","hasAppendMedia","hasAppend","append","hasClose","close","hasFilter","hasPrependMedia","hasPrepend","prepend","_withDirectives","_createVNode","_mergeProps","selectedClass","class","style","linkProps","_createElementVNode","icon","_vShow","_Fragment","image","start","select","end","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, toDisplayString, toRef } from 'vue'\nimport { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: IconValue,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { vRipple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = toRef(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n disabled: props.disabled,\n onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => {\n const showColor = !group || group.isSelected.value\n return ({\n color: showColor ? props.color ?? props.baseColor : props.baseColor,\n variant: props.variant,\n })\n })\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n [`${props.activeClass}`]: props.activeClass && link.isActive?.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n { ...link.linkProps }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\" data-no-activator=\"\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? toDisplayString(props.text)}\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <button\n key=\"close\"\n class=\"v-chip__close\"\n type=\"button\"\n data-testid=\"close-chip\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </button>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { createVNode as _createVNode, createElementVNode as _createElementVNode,
|
1
|
+
import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from "vue";
|
2
2
|
// Styles
|
3
3
|
import "./VColorPickerPreview.css";
|
4
4
|
|
@@ -60,9 +60,9 @@ export const VColorPickerPreview = defineComponent({
|
|
60
60
|
}, null)]), _createElementVNode("div", {
|
61
61
|
"class": "v-color-picker-preview__dot"
|
62
62
|
}, [_createElementVNode("div", {
|
63
|
-
"style":
|
63
|
+
"style": {
|
64
64
|
background: HSVtoCSS(props.color ?? nullColor)
|
65
|
-
}
|
65
|
+
}
|
66
66
|
}, null)]), _createElementVNode("div", {
|
67
67
|
"class": "v-color-picker-preview__sliders"
|
68
68
|
}, [_createVNode(VSlider, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VColorPickerPreview.js","names":["VBtn","VSlider","makeComponentProps","onUnmounted","nullColor","defineComponent","HSVtoCSS","parseColor","propsFactory","RGBtoHSV","SUPPORTS_EYE_DROPPER","useRender","makeVColorPickerPreviewProps","color","type","Object","disabled","Boolean","hideAlpha","VColorPickerPreview","name","props","emits","setup","_ref","emit","abortController","AbortController","abort","openEyeDropper","eyeDropper","window","EyeDropper","result","open","signal","colorHexValue","sRGBHex","e","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","_createVNode","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSlider } from '@/components/VSlider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { onUnmounted } from 'vue'\nimport { nullColor } from './util'\nimport {\n defineComponent,\n HSVtoCSS,\n parseColor,\n propsFactory,\n RGBtoHSV,\n SUPPORTS_EYE_DROPPER,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n\n ...makeComponentProps(),\n}, 'VColorPickerPreview')\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: makeVColorPickerPreviewProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n const abortController = new AbortController()\n\n onUnmounted(() => abortController.abort())\n\n async function openEyeDropper () {\n if (!SUPPORTS_EYE_DROPPER || props.disabled) return\n\n const eyeDropper = new window.EyeDropper()\n try {\n const result = await eyeDropper.open({ signal: abortController.signal })\n const colorHexValue = RGBtoHSV(parseColor(result.sRGBHex))\n emit('update:color', { ...(props.color ?? nullColor), ...colorHexValue })\n } catch (e) {}\n }\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { SUPPORTS_EYE_DROPPER && (\n <div class=\"v-color-picker-preview__eye-dropper\" key=\"eyeDropper\">\n <VBtn density=\"comfortable\" disabled={ props.disabled } icon=\"$eyeDropper\" variant=\"plain\" onClick={ openEyeDropper } />\n </div>\n )}\n\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n )}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,OAAO,+BAEhB;AAAA,SACSC,kBAAkB,0CAE3B;AACA,SAASC,WAAW,QAAQ,KAAK;AAAA,SACxBC,SAAS;AAAA,SAEhBC,eAAe,EACfC,QAAQ,EACRC,UAAU,EACVC,YAAY,EACZC,QAAQ,EACRC,oBAAoB,EACpBC,SAAS,+BAGX;AAIA,OAAO,MAAMC,4BAA4B,GAAGJ,YAAY,CAAC;EACvDK,KAAK,EAAE;IACLC,IAAI,EAAEC;EACR,CAAC;EACDC,QAAQ,EAAEC,OAAO;EACjBC,SAAS,EAAED,OAAO;EAElB,GAAGf,kBAAkB,CAAC;AACxB,CAAC,EAAE,qBAAqB,CAAC;AAEzB,OAAO,MAAMiB,mBAAmB,GAAGd,eAAe,CAAC;EACjDe,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAET,4BAA4B,CAAC,CAAC;EAErCU,KAAK,EAAE;IACL,cAAc,EAAGT,KAAU,IAAK;EAClC,CAAC;EAEDU,KAAKA,CAAEF,KAAK,EAAAG,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpB,MAAME,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAE7CxB,WAAW,CAAC,MAAMuB,eAAe,CAACE,KAAK,CAAC,CAAC,CAAC;IAE1C,eAAeC,cAAcA,CAAA,EAAI;MAC/B,IAAI,CAACnB,oBAAoB,IAAIW,KAAK,CAACL,QAAQ,EAAE;MAE7C,MAAMc,UAAU,GAAG,IAAIC,MAAM,CAACC,UAAU,CAAC,CAAC;MAC1C,IAAI;QACF,MAAMC,MAAM,GAAG,MAAMH,UAAU,CAACI,IAAI,CAAC;UAAEC,MAAM,EAAET,eAAe,CAACS;QAAO,CAAC,CAAC;QACxE,MAAMC,aAAa,GAAG3B,QAAQ,CAACF,UAAU,CAAC0B,MAAM,CAACI,OAAO,CAAC,CAAC;QAC1DZ,IAAI,CAAC,cAAc,EAAE;UAAE,IAAIJ,KAAK,CAACR,KAAK,IAAIT,SAAS,CAAC;UAAE,GAAGgC;QAAc,CAAC,CAAC;MAC3E,CAAC,CAAC,OAAOE,CAAC,EAAE,CAAC;IACf;IAEA3B,SAAS,CAAC,MAAA4B,mBAAA;MAAA,SAAAC,eAAA,CAEC,CACL,wBAAwB,EACxB;QACE,oCAAoC,EAAEnB,KAAK,CAACH;MAC9C,CAAC,EACDG,KAAK,CAACoB,KAAK,CACZ;MAAA,SAAAC,eAAA,CACOrB,KAAK,CAACsB,KAAK;IAAA,IAEjBjC,oBAAoB,IAAA6B,mBAAA;MAAA;MAAA;IAAA,IAAAK,YAAA,CAAA5C,IAAA;MAAA;MAAA,YAEqBqB,KAAK,CAACL,QAAQ;MAAA;MAAA;MAAA,WAAgDa;IAAc,UAEtH,EAAAU,mBAAA;MAAA;IAAA,IAAAA,mBAAA;MAAA,
|
1
|
+
{"version":3,"file":"VColorPickerPreview.js","names":["VBtn","VSlider","makeComponentProps","onUnmounted","nullColor","defineComponent","HSVtoCSS","parseColor","propsFactory","RGBtoHSV","SUPPORTS_EYE_DROPPER","useRender","makeVColorPickerPreviewProps","color","type","Object","disabled","Boolean","hideAlpha","VColorPickerPreview","name","props","emits","setup","_ref","emit","abortController","AbortController","abort","openEyeDropper","eyeDropper","window","EyeDropper","result","open","signal","colorHexValue","sRGBHex","e","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","_createVNode","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSlider } from '@/components/VSlider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { onUnmounted } from 'vue'\nimport { nullColor } from './util'\nimport {\n defineComponent,\n HSVtoCSS,\n parseColor,\n propsFactory,\n RGBtoHSV,\n SUPPORTS_EYE_DROPPER,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n\n ...makeComponentProps(),\n}, 'VColorPickerPreview')\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: makeVColorPickerPreviewProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n const abortController = new AbortController()\n\n onUnmounted(() => abortController.abort())\n\n async function openEyeDropper () {\n if (!SUPPORTS_EYE_DROPPER || props.disabled) return\n\n const eyeDropper = new window.EyeDropper()\n try {\n const result = await eyeDropper.open({ signal: abortController.signal })\n const colorHexValue = RGBtoHSV(parseColor(result.sRGBHex))\n emit('update:color', { ...(props.color ?? nullColor), ...colorHexValue })\n } catch (e) {}\n }\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { SUPPORTS_EYE_DROPPER && (\n <div class=\"v-color-picker-preview__eye-dropper\" key=\"eyeDropper\">\n <VBtn density=\"comfortable\" disabled={ props.disabled } icon=\"$eyeDropper\" variant=\"plain\" onClick={ openEyeDropper } />\n </div>\n )}\n\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n )}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { createVNode as _createVNode,
|
1
|
+
import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from "vue";
|
2
2
|
// Styles
|
3
3
|
import "./VColorPickerSwatches.css";
|
4
4
|
|
@@ -48,9 +48,9 @@ export const VColorPickerSwatches = defineComponent({
|
|
48
48
|
"class": "v-color-picker-swatches__color",
|
49
49
|
"onClick": () => hsva && emit('update:color', hsva)
|
50
50
|
}, [_createElementVNode("div", {
|
51
|
-
"style":
|
51
|
+
"style": {
|
52
52
|
background
|
53
|
-
}
|
53
|
+
}
|
54
54
|
}, [props.color && deepEqual(props.color, hsva) ? _createVNode(VIcon, {
|
55
55
|
"size": "x-small",
|
56
56
|
"icon": "$success",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VColorPickerSwatches.js","names":["VIcon","makeComponentProps","convertToUnit","deepEqual","defineComponent","getContrast","parseColor","propsFactory","RGBtoCSS","RGBtoHSV","useRender","colors","makeVColorPickerSwatchesProps","swatches","type","Array","default","parseDefaultColors","disabled","Boolean","color","Object","maxHeight","Number","String","keys","map","key","base","darken4","darken3","darken2","darken1","lighten1","lighten2","lighten3","lighten4","lighten5","black","white","transparent","VColorPickerSwatches","name","props","emits","setup","_ref","emit","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","swatch","rgba","hsva","background","onClick","_createVNode","undefined"],"sources":["../../../src/components/VColorPicker/VColorPickerSwatches.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport {\n convertToUnit,\n deepEqual,\n defineComponent,\n getContrast,\n parseColor,\n propsFactory,\n RGBtoCSS,\n RGBtoHSV,\n useRender,\n} from '@/util'\nimport colors from '@/util/colors'\n\n// Types\nimport type { DeepReadonly, PropType } from 'vue'\nimport type { Color, HSV } from '@/util'\n\nexport const makeVColorPickerSwatchesProps = propsFactory({\n swatches: {\n type: Array as PropType<DeepReadonly<Color[][]>>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<HSV | null>,\n maxHeight: [Number, String],\n\n ...makeComponentProps(),\n}, 'VColorPickerSwatches')\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n\n props: makeVColorPickerSwatchesProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class={[\n 'v-color-picker-swatches',\n props.class,\n ]}\n style={[\n { maxHeight: convertToUnit(props.maxHeight) },\n props.style,\n ]}\n >\n <div>\n { props.swatches.map(swatch => (\n <div class=\"v-color-picker-swatches__swatch\">\n { swatch.map(color => {\n const rgba = parseColor(color)\n const hsva = RGBtoHSV(rgba)\n const background = RGBtoCSS(rgba)\n\n return (\n <div\n class=\"v-color-picker-swatches__color\"\n onClick={ () => hsva && emit('update:color', hsva) }\n >\n <div style={{ background }}>\n { props.color && deepEqual(props.color, hsva)\n ? <VIcon size=\"x-small\" icon=\"$success\" color={ getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black' } />\n : undefined\n }\n </div>\n </div>\n )\n })}\n </div>\n ))}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerSwatches = InstanceType<typeof VColorPickerSwatches>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,KAAK,6BAEd;AAAA,SACSC,kBAAkB,0CAE3B;AAAA,SAEEC,aAAa,EACbC,SAAS,EACTC,eAAe,EACfC,WAAW,EACXC,UAAU,EACVC,YAAY,EACZC,QAAQ,EACRC,QAAQ,EACRC,SAAS;AAAA,OAEJC,MAAM,8BAEb;AAIA,OAAO,MAAMC,6BAA6B,GAAGL,YAAY,CAAC;EACxDM,QAAQ,EAAE;IACRC,IAAI,EAAEC,KAA0C;IAChDC,OAAO,EAAEA,CAAA,KAAMC,kBAAkB,CAACN,MAAM;EAC1C,CAAC;EACDO,QAAQ,EAAEC,OAAO;EACjBC,KAAK,EAAEC,MAA8B;EACrCC,SAAS,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EAE3B,GAAGvB,kBAAkB,CAAC;AACxB,CAAC,EAAE,sBAAsB,CAAC;AAE1B,SAASgB,kBAAkBA,CAAEN,MAA8C,EAAE;EAC3E,OAAOU,MAAM,CAACI,IAAI,CAACd,MAAM,CAAC,CAACe,GAAG,CAACC,GAAG,IAAI;IACpC,MAAMP,KAAK,GAAGT,MAAM,CAACgB,GAAG,CAAC;IACzB,OAAOP,KAAK,CAACQ,IAAI,GAAG,CAClBR,KAAK,CAACQ,IAAI,EACVR,KAAK,CAACS,OAAO,EACbT,KAAK,CAACU,OAAO,EACbV,KAAK,CAACW,OAAO,EACbX,KAAK,CAACY,OAAO,EACbZ,KAAK,CAACa,QAAQ,EACdb,KAAK,CAACc,QAAQ,EACdd,KAAK,CAACe,QAAQ,EACdf,KAAK,CAACgB,QAAQ,EACdhB,KAAK,CAACiB,QAAQ,CACf,GAAG,CACFjB,KAAK,CAACkB,KAAK,EACXlB,KAAK,CAACmB,KAAK,EACXnB,KAAK,CAACoB,WAAW,CAClB;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMC,oBAAoB,GAAGrC,eAAe,CAAC;EAClDsC,IAAI,EAAE,sBAAsB;EAE5BC,KAAK,EAAE/B,6BAA6B,CAAC,CAAC;EAEtCgC,KAAK,EAAE;IACL,cAAc,EAAGxB,KAAU,IAAK;EAClC,CAAC;EAEDyB,KAAKA,CAAEF,KAAK,EAAAG,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpBpC,SAAS,CAAC,MAAAsC,mBAAA;MAAA,SAAAC,eAAA,CAEC,CACL,yBAAyB,EACzBN,KAAK,CAACO,KAAK,CACZ;MAAA,SAAAC,eAAA,CACM,CACL;QAAE7B,SAAS,EAAEpB,aAAa,CAACyC,KAAK,CAACrB,SAAS;MAAE,CAAC,EAC7CqB,KAAK,CAACS,KAAK,CACZ;IAAA,IAAAJ,mBAAA,eAGGL,KAAK,CAAC9B,QAAQ,CAACa,GAAG,CAAC2B,MAAM,IAAAL,mBAAA;MAAA;IAAA,IAErBK,MAAM,CAAC3B,GAAG,CAACN,KAAK,IAAI;MACpB,MAAMkC,IAAI,GAAGhD,UAAU,CAACc,KAAK,CAAC;MAC9B,MAAMmC,IAAI,GAAG9C,QAAQ,CAAC6C,IAAI,CAAC;MAC3B,MAAME,UAAU,GAAGhD,QAAQ,CAAC8C,IAAI,CAAC;MAEjC,OAAAN,mBAAA;QAAA;QAAA,WAGcS,CAAA,KAAMF,IAAI,IAAIR,IAAI,CAAC,cAAc,EAAEQ,IAAI;MAAC,IAAAP,mBAAA;QAAA,
|
1
|
+
{"version":3,"file":"VColorPickerSwatches.js","names":["VIcon","makeComponentProps","convertToUnit","deepEqual","defineComponent","getContrast","parseColor","propsFactory","RGBtoCSS","RGBtoHSV","useRender","colors","makeVColorPickerSwatchesProps","swatches","type","Array","default","parseDefaultColors","disabled","Boolean","color","Object","maxHeight","Number","String","keys","map","key","base","darken4","darken3","darken2","darken1","lighten1","lighten2","lighten3","lighten4","lighten5","black","white","transparent","VColorPickerSwatches","name","props","emits","setup","_ref","emit","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","swatch","rgba","hsva","background","onClick","_createVNode","undefined"],"sources":["../../../src/components/VColorPicker/VColorPickerSwatches.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport {\n convertToUnit,\n deepEqual,\n defineComponent,\n getContrast,\n parseColor,\n propsFactory,\n RGBtoCSS,\n RGBtoHSV,\n useRender,\n} from '@/util'\nimport colors from '@/util/colors'\n\n// Types\nimport type { DeepReadonly, PropType } from 'vue'\nimport type { Color, HSV } from '@/util'\n\nexport const makeVColorPickerSwatchesProps = propsFactory({\n swatches: {\n type: Array as PropType<DeepReadonly<Color[][]>>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<HSV | null>,\n maxHeight: [Number, String],\n\n ...makeComponentProps(),\n}, 'VColorPickerSwatches')\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n\n props: makeVColorPickerSwatchesProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class={[\n 'v-color-picker-swatches',\n props.class,\n ]}\n style={[\n { maxHeight: convertToUnit(props.maxHeight) },\n props.style,\n ]}\n >\n <div>\n { props.swatches.map(swatch => (\n <div class=\"v-color-picker-swatches__swatch\">\n { swatch.map(color => {\n const rgba = parseColor(color)\n const hsva = RGBtoHSV(rgba)\n const background = RGBtoCSS(rgba)\n\n return (\n <div\n class=\"v-color-picker-swatches__color\"\n onClick={ () => hsva && emit('update:color', hsva) }\n >\n <div style={{ background }}>\n { props.color && deepEqual(props.color, hsva)\n ? <VIcon size=\"x-small\" icon=\"$success\" color={ getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black' } />\n : undefined\n }\n </div>\n </div>\n )\n })}\n </div>\n ))}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerSwatches = InstanceType<typeof VColorPickerSwatches>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,3 +1,9 @@
|
|
1
|
+
.v-combobox--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,
|
2
|
+
.v-combobox--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,
|
3
|
+
.v-combobox--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,
|
4
|
+
.v-combobox--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating {
|
5
|
+
top: 0px;
|
6
|
+
}
|
1
7
|
.v-combobox .v-field .v-text-field__prefix,
|
2
8
|
.v-combobox .v-field .v-text-field__suffix,
|
3
9
|
.v-combobox .v-field .v-field__input, .v-combobox .v-field.v-field {
|
@@ -44,12 +50,6 @@
|
|
44
50
|
.v-combobox__selection:first-child {
|
45
51
|
margin-inline-start: 0;
|
46
52
|
}
|
47
|
-
.v-combobox--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,
|
48
|
-
.v-combobox--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,
|
49
|
-
.v-combobox--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,
|
50
|
-
.v-combobox--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating {
|
51
|
-
top: 0px;
|
52
|
-
}
|
53
53
|
.v-combobox--selecting-index .v-combobox__selection {
|
54
54
|
opacity: var(--v-medium-emphasis-opacity);
|
55
55
|
}
|
@@ -3,9 +3,12 @@
|
|
3
3
|
@use '../../styles/settings'
|
4
4
|
@use '../../styles/tools'
|
5
5
|
@use './variables' as *
|
6
|
+
@use '../VSelect/mixins' as *
|
6
7
|
|
7
8
|
@include tools.layer('components')
|
8
9
|
.v-combobox
|
10
|
+
@include select-compact-chip-label
|
11
|
+
|
9
12
|
.v-field
|
10
13
|
.v-text-field__prefix,
|
11
14
|
.v-text-field__suffix,
|
@@ -57,15 +60,6 @@
|
|
57
60
|
&:first-child
|
58
61
|
margin-inline-start: 0
|
59
62
|
|
60
|
-
&--chips.v-input--density-compact
|
61
|
-
.v-field--variant-solo,
|
62
|
-
.v-field--variant-solo-inverted,
|
63
|
-
.v-field--variant-filled,
|
64
|
-
.v-field--variant-solo-filled
|
65
|
-
.v-label.v-field-label
|
66
|
-
&--floating
|
67
|
-
top: 0px
|
68
|
-
|
69
63
|
&--selecting-index
|
70
64
|
.v-combobox__selection
|
71
65
|
opacity: var(--v-medium-emphasis-opacity)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { normalizeClass as _normalizeClass,
|
1
|
+
import { normalizeClass as _normalizeClass, createVNode as _createVNode } from "vue";
|
2
2
|
// Utilities
|
3
3
|
import { convertToUnit, defineFunctionalComponent } from "../../util/index.js"; // Types
|
4
4
|
export const VDataTableColumn = defineFunctionalComponent({
|
@@ -27,12 +27,12 @@ export const VDataTableColumn = defineFunctionalComponent({
|
|
27
27
|
'v-data-table-column--no-padding': props.noPadding,
|
28
28
|
'v-data-table-column--nowrap': props.nowrap
|
29
29
|
}, `v-data-table-column--align-${props.align}`]),
|
30
|
-
"style":
|
30
|
+
"style": {
|
31
31
|
height: convertToUnit(props.height),
|
32
32
|
width: convertToUnit(props.width),
|
33
33
|
maxWidth: convertToUnit(props.maxWidth),
|
34
34
|
left: convertToUnit(props.fixedOffset || null)
|
35
|
-
}
|
35
|
+
}
|
36
36
|
}, {
|
37
37
|
default: () => [slots.default?.()]
|
38
38
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDataTableColumn.js","names":["convertToUnit","defineFunctionalComponent","VDataTableColumn","align","type","String","default","fixed","Boolean","fixedOffset","Number","height","lastFixed","noPadding","tag","width","maxWidth","nowrap","props","_ref","slots","Tag","_createVNode","_normalizeClass","
|
1
|
+
{"version":3,"file":"VDataTableColumn.js","names":["convertToUnit","defineFunctionalComponent","VDataTableColumn","align","type","String","default","fixed","Boolean","fixedOffset","Number","height","lastFixed","noPadding","tag","width","maxWidth","nowrap","props","_ref","slots","Tag","_createVNode","_normalizeClass","left"],"sources":["../../../src/components/VDataTable/VDataTableColumn.tsx"],"sourcesContent":["// Utilities\nimport { convertToUnit, defineFunctionalComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VDataTableColumn = defineFunctionalComponent({\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'start',\n },\n fixed: Boolean,\n fixedOffset: [Number, String],\n height: [Number, String],\n lastFixed: Boolean,\n noPadding: Boolean,\n tag: String,\n width: [Number, String],\n maxWidth: [Number, String],\n nowrap: Boolean,\n}, (props, { slots }) => {\n const Tag = props.tag ?? 'td'\n return (\n <Tag\n class={[\n 'v-data-table__td',\n {\n 'v-data-table-column--fixed': props.fixed,\n 'v-data-table-column--last-fixed': props.lastFixed,\n 'v-data-table-column--no-padding': props.noPadding,\n 'v-data-table-column--nowrap': props.nowrap,\n },\n `v-data-table-column--align-${props.align}`,\n ]}\n style={{\n height: convertToUnit(props.height),\n width: convertToUnit(props.width),\n maxWidth: convertToUnit(props.maxWidth),\n left: convertToUnit(props.fixedOffset || null),\n }}\n >\n { slots.default?.() }\n </Tag>\n )\n})\n"],"mappings":";AAAA;AAAA,SACSA,aAAa,EAAEC,yBAAyB,+BAEjD;AAGA,OAAO,MAAMC,gBAAgB,GAAGD,yBAAyB,CAAC;EACxDE,KAAK,EAAE;IACLC,IAAI,EAAEC,MAA8C;IACpDC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,OAAO;EACdC,WAAW,EAAE,CAACC,MAAM,EAAEL,MAAM,CAAC;EAC7BM,MAAM,EAAE,CAACD,MAAM,EAAEL,MAAM,CAAC;EACxBO,SAAS,EAAEJ,OAAO;EAClBK,SAAS,EAAEL,OAAO;EAClBM,GAAG,EAAET,MAAM;EACXU,KAAK,EAAE,CAACL,MAAM,EAAEL,MAAM,CAAC;EACvBW,QAAQ,EAAE,CAACN,MAAM,EAAEL,MAAM,CAAC;EAC1BY,MAAM,EAAET;AACV,CAAC,EAAE,CAACU,KAAK,EAAAC,IAAA,KAAgB;EAAA,IAAd;IAAEC;EAAM,CAAC,GAAAD,IAAA;EAClB,MAAME,GAAG,GAAGH,KAAK,CAACJ,GAAG,IAAI,IAAI;EAC7B,OAAAQ,YAAA,CAAAD,GAAA;IAAA,SAAAE,eAAA,CAEW,CACL,kBAAkB,EAClB;MACE,4BAA4B,EAAEL,KAAK,CAACX,KAAK;MACzC,iCAAiC,EAAEW,KAAK,CAACN,SAAS;MAClD,iCAAiC,EAAEM,KAAK,CAACL,SAAS;MAClD,6BAA6B,EAAEK,KAAK,CAACD;IACvC,CAAC,EACD,8BAA8BC,KAAK,CAACf,KAAK,EAAE,CAC5C;IAAA,SACM;MACLQ,MAAM,EAAEX,aAAa,CAACkB,KAAK,CAACP,MAAM,CAAC;MACnCI,KAAK,EAAEf,aAAa,CAACkB,KAAK,CAACH,KAAK,CAAC;MACjCC,QAAQ,EAAEhB,aAAa,CAACkB,KAAK,CAACF,QAAQ,CAAC;MACvCQ,IAAI,EAAExB,aAAa,CAACkB,KAAK,CAACT,WAAW,IAAI,IAAI;IAC/C;EAAC;IAAAH,OAAA,EAAAA,CAAA,MAECc,KAAK,CAACd,OAAO,GAAG,CAAC;EAAA;AAGzB,CAAC,CAAC","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { createVNode as _createVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode
|
1
|
+
import { createVNode as _createVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode } from "vue";
|
2
2
|
// Components
|
3
3
|
import { VDataTableColumn } from "./VDataTableColumn.js";
|
4
4
|
import { VBtn } from "../VBtn/index.js";
|
@@ -39,9 +39,9 @@ export const VDataTableGroupHeaderRow = genericComponent()({
|
|
39
39
|
});
|
40
40
|
return () => _createElementVNode("tr", {
|
41
41
|
"class": "v-data-table-group-header-row",
|
42
|
-
"style":
|
42
|
+
"style": {
|
43
43
|
'--v-data-table-group-header-row-depth': props.item.depth
|
44
|
-
}
|
44
|
+
}
|
45
45
|
}, [columns.value.map(column => {
|
46
46
|
if (column.key === 'data-table-group') {
|
47
47
|
const icon = isGroupOpen(props.item) ? '$expand' : '$next';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDataTableGroupHeaderRow.js","names":["VDataTableColumn","VBtn","VCheckboxBtn","useGroupBy","useHeaders","useSelection","computed","genericComponent","propsFactory","makeVDataTableGroupHeaderRowProps","item","type","Object","required","VDataTableGroupHeaderRow","name","props","setup","_ref","slots","isGroupOpen","toggleGroup","extractRows","isSelected","isSomeSelected","select","columns","rows","_createElementVNode","
|
1
|
+
{"version":3,"file":"VDataTableGroupHeaderRow.js","names":["VDataTableColumn","VBtn","VCheckboxBtn","useGroupBy","useHeaders","useSelection","computed","genericComponent","propsFactory","makeVDataTableGroupHeaderRowProps","item","type","Object","required","VDataTableGroupHeaderRow","name","props","setup","_ref","slots","isGroupOpen","toggleGroup","extractRows","isSelected","isSomeSelected","select","columns","rows","_createElementVNode","depth","value","map","column","key","icon","onClick","count","length","_createVNode","default","_createTextVNode","modelValue","indeterminate","selectGroup","v"],"sources":["../../../src/components/VDataTable/VDataTableGroupHeaderRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group } from './composables/group'\n\nexport type VDataTableGroupHeaderRowSlots = {\n 'data-table-group': { item: Group, count: number, props: Record<string, unknown> }\n 'data-table-select': { props: Record<string, unknown> }\n}\n\nexport const makeVDataTableGroupHeaderRowProps = propsFactory({\n item: {\n type: Object as PropType<Group>,\n required: true,\n },\n}, 'VDataTableGroupHeaderRow')\n\nexport const VDataTableGroupHeaderRow = genericComponent<VDataTableGroupHeaderRowSlots>()({\n name: 'VDataTableGroupHeaderRow',\n\n props: makeVDataTableGroupHeaderRowProps(),\n\n setup (props, { slots }) {\n const { isGroupOpen, toggleGroup, extractRows } = useGroupBy()\n const { isSelected, isSomeSelected, select } = useSelection()\n const { columns } = useHeaders()\n\n const rows = computed(() => {\n return extractRows([props.item])\n })\n\n return () => (\n <tr\n class=\"v-data-table-group-header-row\"\n style={{\n '--v-data-table-group-header-row-depth': props.item.depth,\n }}\n >\n { columns.value.map(column => {\n if (column.key === 'data-table-group') {\n const icon = isGroupOpen(props.item) ? '$expand' : '$next'\n const onClick = () => toggleGroup(props.item)\n\n return slots['data-table-group']?.({ item: props.item, count: rows.value.length, props: { icon, onClick } }) ?? (\n <VDataTableColumn class=\"v-data-table-group-header-row__column\">\n <VBtn\n size=\"small\"\n variant=\"text\"\n icon={ icon }\n onClick={ onClick }\n />\n <span>{ props.item.value }</span>\n <span>({ rows.value.length })</span>\n </VDataTableColumn>\n )\n }\n\n if (column.key === 'data-table-select') {\n const modelValue = isSelected(rows.value)\n const indeterminate = isSomeSelected(rows.value) && !modelValue\n const selectGroup = (v: boolean) => select(rows.value, v)\n return slots['data-table-select']?.({ props: { modelValue, indeterminate, 'onUpdate:modelValue': selectGroup } }) ?? (\n <td>\n <VCheckboxBtn\n modelValue={ modelValue }\n indeterminate={ indeterminate }\n onUpdate:modelValue={ selectGroup }\n />\n </td>\n )\n }\n\n return <td />\n })}\n </tr>\n )\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { createVNode as _createVNode, createElementVNode as _createElementVNode,
|
1
|
+
import { createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
|
2
2
|
// Components
|
3
3
|
import { makeDataTableProps } from "./VDataTable.js";
|
4
4
|
import { VDataTableHeaders } from "./VDataTableHeaders.js";
|
@@ -183,19 +183,19 @@ export const VDataTableVirtual = genericComponent()({
|
|
183
183
|
"onScrollPassive": handleScroll,
|
184
184
|
"onScrollend": handleScrollend,
|
185
185
|
"class": "v-table__wrapper",
|
186
|
-
"style":
|
186
|
+
"style": {
|
187
187
|
height: convertToUnit(props.height)
|
188
|
-
}
|
188
|
+
}
|
189
189
|
}, [_createElementVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && _createElementVNode("thead", {
|
190
190
|
"key": "thead"
|
191
191
|
}, [_createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && _createElementVNode("tbody", {
|
192
192
|
"key": "tbody"
|
193
193
|
}, [_createElementVNode("tr", {
|
194
194
|
"ref": markerRef,
|
195
|
-
"style":
|
195
|
+
"style": {
|
196
196
|
height: convertToUnit(paddingTop.value),
|
197
197
|
border: 0
|
198
|
-
}
|
198
|
+
}
|
199
199
|
}, [_createElementVNode("td", {
|
200
200
|
"colspan": columns.value.length,
|
201
201
|
"style": {
|
@@ -226,10 +226,10 @@ export const VDataTableVirtual = genericComponent()({
|
|
226
226
|
}
|
227
227
|
})
|
228
228
|
}), slots['body.append']?.(slotProps.value), _createElementVNode("tr", {
|
229
|
-
"style":
|
229
|
+
"style": {
|
230
230
|
height: convertToUnit(paddingBottom.value),
|
231
231
|
border: 0
|
232
|
-
}
|
232
|
+
}
|
233
233
|
}, [_createElementVNode("td", {
|
234
234
|
"colspan": columns.value.length,
|
235
235
|
"style": {
|