@vuetify/nightly 3.8.7-master.2025-05-31 → 3.8.7-master.2025-06-02

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/dist/json/attributes.json +3145 -3145
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +166 -166
  5. package/dist/json/web-types.json +5896 -5896
  6. package/dist/vuetify-labs.cjs +73 -73
  7. package/dist/vuetify-labs.css +5220 -5220
  8. package/dist/vuetify-labs.d.ts +58 -58
  9. package/dist/vuetify-labs.esm.js +73 -73
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +73 -73
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +67 -67
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3183 -3183
  16. package/dist/vuetify.d.ts +58 -58
  17. package/dist/vuetify.esm.js +67 -67
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +67 -67
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +260 -260
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VCarousel/VCarousel.js +3 -3
  25. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  26. package/lib/components/VColorPicker/VColorPickerPreview.js +3 -3
  27. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  28. package/lib/components/VColorPicker/VColorPickerSwatches.js +3 -3
  29. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  30. package/lib/components/VDataTable/VDataTableColumn.js +3 -3
  31. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  32. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +3 -3
  33. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
  34. package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
  35. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  36. package/lib/components/VDatePicker/VDatePickerControls.js +4 -4
  37. package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
  38. package/lib/components/VDatePicker/VDatePickerMonth.js +3 -3
  39. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  40. package/lib/components/VDatePicker/VDatePickerMonths.js +3 -3
  41. package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
  42. package/lib/components/VDatePicker/VDatePickerYears.js +3 -3
  43. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  44. package/lib/components/VEmptyState/VEmptyState.js +3 -3
  45. package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
  46. package/lib/components/VImg/VImg.js +7 -7
  47. package/lib/components/VImg/VImg.js.map +1 -1
  48. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +3 -3
  49. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  50. package/lib/components/VOtpInput/VOtpInput.js +2 -2
  51. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  52. package/lib/components/VProgressCircular/VProgressCircular.js +2 -2
  53. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  54. package/lib/components/VProgressLinear/VProgressLinear.js +3 -3
  55. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  56. package/lib/components/VSelectionControl/VSelectionControl.js +2 -2
  57. package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
  58. package/lib/components/VSlider/VSliderThumb.js +4 -4
  59. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  60. package/lib/components/VSlider/VSliderTrack.js +6 -6
  61. package/lib/components/VSlider/VSliderTrack.js.map +1 -1
  62. package/lib/components/VTable/VTable.js +3 -3
  63. package/lib/components/VTable/VTable.js.map +1 -1
  64. package/lib/components/VToolbar/VToolbar.js +5 -5
  65. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  66. package/lib/components/VVirtualScroll/VVirtualScroll.js +7 -7
  67. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  68. package/lib/components/VWindow/VWindow.js +3 -3
  69. package/lib/components/VWindow/VWindow.js.map +1 -1
  70. package/lib/entry-bundler.js +1 -1
  71. package/lib/framework.d.ts +58 -58
  72. package/lib/framework.js +1 -1
  73. package/lib/labs/VPullToRefresh/VPullToRefresh.js +7 -7
  74. package/lib/labs/VPullToRefresh/VPullToRefresh.js.map +1 -1
  75. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { Fragment as _Fragment, mergeProps as _mergeProps, createVNode as _createVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode } from "vue";
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": _normalizeStyle({
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":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass } from "vue";
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": _normalizeStyle({
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":"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","ignoreList":[]}
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,SAGa;QAAEM,UAAU,EAAEvC,QAAQ,CAACe,KAAK,CAACR,KAAK,IAAIT,SAAS;MAAE;IAAC,YAAAmC,mBAAA;MAAA;IAAA,IAAAK,YAAA,CAAA3C,OAAA;MAAA;MAAA,cAM/CoB,KAAK,CAACR,KAAK,EAAEiC,CAAC;MAAA,uBACLA,CAAC,IAAIrB,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIJ,KAAK,CAACR,KAAK,IAAIT,SAAS,CAAC;QAAE0C;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC;MAAA,OACF,CAAC;MAAA,OACD,GAAG;MAAA,YACEzB,KAAK,CAACL,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA;MAAA;IAAA,UAKb,CAACK,KAAK,CAACH,SAAS,IAAA0B,YAAA,CAAA3C,OAAA;MAAA;MAAA,cAGDoB,KAAK,CAACR,KAAK,EAAEkC,CAAC,IAAI,CAAC;MAAA,uBACVA,CAAC,IAAItB,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIJ,KAAK,CAACR,KAAK,IAAIT,SAAS,CAAC;QAAE2C;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC,GAAG,GAAG;MAAA,OACR,CAAC;MAAA,OACD,CAAC;MAAA,YACI1B,KAAK,CAACL,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA;MAAA;IAAA,QAIhB,IAGN,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from "vue";
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": _normalizeStyle({
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":"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","ignoreList":[]}
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,4 +1,4 @@
1
- import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from "vue";
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": _normalizeStyle({
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","_normalizeStyle","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,SAAAqB,eAAA,CACM;MACLb,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;MACvCS,IAAI,EAAEzB,aAAa,CAACkB,KAAK,CAACT,WAAW,IAAI,IAAI;IAC/C,CAAC;EAAA;IAAAH,OAAA,EAAAA,CAAA,MAECc,KAAK,CAACd,OAAO,GAAG,CAAC;EAAA;AAGzB,CAAC,CAAC","ignoreList":[]}
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, normalizeStyle as _normalizeStyle } from "vue";
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": _normalizeStyle({
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","_normalizeStyle","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":";AAAA;AAAA,SACSA,gBAAgB;AAAA,SAChBC,IAAI;AAAA,SACJC,YAAY,iCAErB;AAAA,SACSC,UAAU;AAAA,SACVC,UAAU;AAAA,SACVC,YAAY,mCAErB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,+BAEvC;AASA,OAAO,MAAMC,iCAAiC,GAAGD,YAAY,CAAC;EAC5DE,IAAI,EAAE;IACJC,IAAI,EAAEC,MAAyB;IAC/BC,QAAQ,EAAE;EACZ;AACF,CAAC,EAAE,0BAA0B,CAAC;AAE9B,OAAO,MAAMC,wBAAwB,GAAGP,gBAAgB,CAAgC,CAAC,CAAC;EACxFQ,IAAI,EAAE,0BAA0B;EAEhCC,KAAK,EAAEP,iCAAiC,CAAC,CAAC;EAE1CQ,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,WAAW;MAAEC,WAAW;MAAEC;IAAY,CAAC,GAAGnB,UAAU,CAAC,CAAC;IAC9D,MAAM;MAAEoB,UAAU;MAAEC,cAAc;MAAEC;IAAO,CAAC,GAAGpB,YAAY,CAAC,CAAC;IAC7D,MAAM;MAAEqB;IAAQ,CAAC,GAAGtB,UAAU,CAAC,CAAC;IAEhC,MAAMuB,IAAI,GAAGrB,QAAQ,CAAC,MAAM;MAC1B,OAAOgB,WAAW,CAAC,CAACN,KAAK,CAACN,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,MAAAkB,mBAAA;MAAA;MAAA,SAAAC,eAAA,CAGI;QACL,uCAAuC,EAAEb,KAAK,CAACN,IAAI,CAACoB;MACtD,CAAC;IAAA,IAECJ,OAAO,CAACK,KAAK,CAACC,GAAG,CAACC,MAAM,IAAI;MAC5B,IAAIA,MAAM,CAACC,GAAG,KAAK,kBAAkB,EAAE;QACrC,MAAMC,IAAI,GAAGf,WAAW,CAACJ,KAAK,CAACN,IAAI,CAAC,GAAG,SAAS,GAAG,OAAO;QAC1D,MAAM0B,OAAO,GAAGA,CAAA,KAAMf,WAAW,CAACL,KAAK,CAACN,IAAI,CAAC;QAE7C,OAAOS,KAAK,CAAC,kBAAkB,CAAC,GAAG;UAAET,IAAI,EAAEM,KAAK,CAACN,IAAI;UAAE2B,KAAK,EAAEV,IAAI,CAACI,KAAK,CAACO,MAAM;UAAEtB,KAAK,EAAE;YAAEmB,IAAI;YAAEC;UAAQ;QAAE,CAAC,CAAC,IAAAG,YAAA,CAAAvC,gBAAA;UAAA;QAAA;UAAAwC,OAAA,EAAAA,CAAA,MAAAD,YAAA,CAAAtC,IAAA;YAAA;YAAA;YAAA,QAK/FkC,IAAI;YAAA,WACDC;UAAO,UAAAR,mBAAA,gBAEXZ,KAAK,CAACN,IAAI,CAACqB,KAAK,IAAAH,mBAAA,gBAAAa,gBAAA,OACfd,IAAI,CAACI,KAAK,CAACO,MAAM,EAAAG,gBAAA;QAAA,EAE7B;MACH;MAEA,IAAIR,MAAM,CAACC,GAAG,KAAK,mBAAmB,EAAE;QACtC,MAAMQ,UAAU,GAAGnB,UAAU,CAACI,IAAI,CAACI,KAAK,CAAC;QACzC,MAAMY,aAAa,GAAGnB,cAAc,CAACG,IAAI,CAACI,KAAK,CAAC,IAAI,CAACW,UAAU;QAC/D,MAAME,WAAW,GAAIC,CAAU,IAAKpB,MAAM,CAACE,IAAI,CAACI,KAAK,EAAEc,CAAC,CAAC;QACzD,OAAO1B,KAAK,CAAC,mBAAmB,CAAC,GAAG;UAAEH,KAAK,EAAE;YAAE0B,UAAU;YAAEC,aAAa;YAAE,qBAAqB,EAAEC;UAAY;QAAE,CAAC,CAAC,IAAAhB,mBAAA,cAAAW,YAAA,CAAArC,YAAA;UAAA,cAG9FwC,UAAU;UAAA,iBACPC,aAAa;UAAA,uBACPC;QAAW,UAGtC;MACH;MAEA,OAAAhB,mBAAA;IACF,CAAC,CAAC,EAEL;EACH;AACF,CAAC,CAAC","ignoreList":[]}
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, normalizeStyle as _normalizeStyle, mergeProps as _mergeProps } from "vue";
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": _normalizeStyle({
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": _normalizeStyle({
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": _normalizeStyle({
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": {
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableVirtual.js","names":["makeDataTableProps","VDataTableHeaders","VDataTableRow","VDataTableRows","VTable","VVirtualScrollItem","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","provideSelection","createSort","provideSort","useSortedItems","provideDefaults","makeFilterProps","useFilter","makeVirtualProps","useVirtual","computed","shallowRef","toRef","toRefs","convertToUnit","genericComponent","omit","propsFactory","useRender","makeVDataTableVirtualProps","VDataTableVirtual","name","props","emits","value","setup","_ref","attrs","slots","groupBy","sortBy","multiSort","mustSort","disableSort","columns","headers","filterFunctions","sortFunctions","sortRawFunctions","showSelect","showExpand","items","search","filteredItems","transform","item","customKeyFilter","toggleSort","sortByWithGroups","opened","extractRows","isGroupOpen","toggleGroup","sortedItems","raw","flatItems","allItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","currentPage","isExpanded","toggleExpand","containerRef","markerRef","paddingTop","paddingBottom","computedItems","handleItemResize","handleScroll","handleScrollend","calculateVisibleItems","scrollToIndex","displayItems","map","page","itemsPerPage","hideNoData","noDataText","loading","loadingText","slotProps","internalItems","groupedItems","dataTableHeadersProps","filterProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","fixedHeader","sticky","top","wrapper","_createElementVNode","_normalizeStyle","height","colgroup","hideDefaultHeader","thead","hideDefaultBody","border","length","itemSlotProps","internalItem","index","default","_ref2","itemRef","tbody","tfoot","bottom"],"sources":["../../../src/components/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRow } from './VDataTableRow'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VTable } from '@/components/VTable'\nimport { VVirtualScrollItem } from '@/components/VVirtualScroll/VVirtualScrollItem'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort, useSortedItems } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeVirtualProps, useVirtual } from '@/composables/virtual'\n\n// Utilities\nimport { computed, shallowRef, toRef, toRefs } from 'vue'\nimport { convertToUnit, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly } from 'vue'\nimport type { VDataTableSlotProps } from './VDataTable'\nimport type { VDataTableHeadersSlots } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport type { CellProps, DataTableHeader, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey, TemplateRef } from '@/util'\n\ntype VDataTableVirtualSlotProps<T> = Omit<\n VDataTableSlotProps<T>,\n | 'setItemsPerPage'\n | 'page'\n | 'pageCount'\n | 'itemsPerPage'\n>\n\nexport type VDataTableVirtualSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & {\n colgroup: VDataTableVirtualSlotProps<T>\n top: VDataTableVirtualSlotProps<T>\n headers: VDataTableHeadersSlots['headers']\n tbody: VDataTableVirtualSlotProps<T>\n thead: VDataTableVirtualSlotProps<T>\n tfoot: VDataTableVirtualSlotProps<T>\n bottom: VDataTableVirtualSlotProps<T>\n 'body.prepend': VDataTableVirtualSlotProps<T>\n 'body.append': VDataTableVirtualSlotProps<T>\n item: {\n itemRef: TemplateRef\n }\n}\n\nexport const makeVDataTableVirtualProps = propsFactory({\n ...omit(makeDataTableProps(), ['hideDefaultFooter']),\n ...makeDataTableGroupProps(),\n ...makeVirtualProps(),\n ...makeFilterProps(),\n}, 'VDataTableVirtual')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableVirtual = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableVirtualSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableVirtual',\n\n props: makeVDataTableVirtualProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { disableSort } = toRefs(props)\n\n const {\n columns,\n headers,\n filterFunctions,\n sortFunctions,\n sortRawFunctions,\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(() => props.showSelect),\n showExpand: toRef(() => props.showExpand),\n })\n const { items } = useDataTableItems(props, columns)\n\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions,\n })\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort })\n const { sortByWithGroups, opened, extractRows, isGroupOpen, toggleGroup } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { sortedItems } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => ({ ...item.raw, ...item.columns }),\n sortFunctions,\n sortRawFunctions,\n })\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allItems = computed(() => extractRows(flatItems.value))\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems,\n currentPage: allItems,\n })\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const {\n containerRef,\n markerRef,\n paddingTop,\n paddingBottom,\n computedItems,\n handleItemResize,\n handleScroll,\n handleScrollend,\n calculateVisibleItems,\n scrollToIndex,\n } = useVirtual(props, flatItems)\n const displayItems = computed(() => computedItems.value.map(item => item.raw))\n\n useOptions({\n sortBy,\n page: shallowRef(1),\n itemsPerPage: shallowRef(-1),\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(() => props.hideNoData),\n noDataText: toRef(() => props.noDataText),\n loading: toRef(() => props.loading),\n loadingText: toRef(() => props.loadingText),\n },\n })\n\n const slotProps = computed<VDataTableVirtualSlotProps<any>>(() => ({\n sortBy: sortBy.value,\n toggleSort,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: allItems.value.map(item => item.raw),\n internalItems: allItems.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n fixedHeader={ props.fixedHeader || props.sticky }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n wrapper: () => (\n <div\n ref={ containerRef }\n onScrollPassive={ handleScroll }\n onScrollend={ handleScrollend }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody key=\"tbody\">\n <tr ref={ markerRef } style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: 0, border: 0 }}></td>\n </tr>\n\n { slots['body.prepend']?.(slotProps.value) }\n\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ displayItems.value }\n >\n {{\n ...slots,\n item: itemSlotProps => (\n <VVirtualScrollItem\n key={ itemSlotProps.internalItem.index }\n renderless\n onUpdate:height={ height => handleItemResize(itemSlotProps.internalItem.index, height) }\n >\n { ({ itemRef }) => (\n slots.item?.({ ...itemSlotProps, itemRef }) ?? (\n <VDataTableRow\n { ...itemSlotProps.props }\n ref={ itemRef }\n key={ itemSlotProps.internalItem.index }\n index={ itemSlotProps.internalItem.index }\n v-slots={ slots }\n />\n )\n )}\n </VVirtualScrollItem>\n ),\n }}\n </VDataTableRows>\n\n { slots['body.append']?.(slotProps.value) }\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: 0, border: 0 }}></td>\n </tr>\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </table>\n </div>\n ),\n bottom: () => slots.bottom?.(slotProps.value),\n }}\n </VTable>\n )\n })\n\n return {\n calculateVisibleItems,\n scrollToIndex,\n }\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableVirtual.js","names":["makeDataTableProps","VDataTableHeaders","VDataTableRow","VDataTableRows","VTable","VVirtualScrollItem","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","provideSelection","createSort","provideSort","useSortedItems","provideDefaults","makeFilterProps","useFilter","makeVirtualProps","useVirtual","computed","shallowRef","toRef","toRefs","convertToUnit","genericComponent","omit","propsFactory","useRender","makeVDataTableVirtualProps","VDataTableVirtual","name","props","emits","value","setup","_ref","attrs","slots","groupBy","sortBy","multiSort","mustSort","disableSort","columns","headers","filterFunctions","sortFunctions","sortRawFunctions","showSelect","showExpand","items","search","filteredItems","transform","item","customKeyFilter","toggleSort","sortByWithGroups","opened","extractRows","isGroupOpen","toggleGroup","sortedItems","raw","flatItems","allItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","currentPage","isExpanded","toggleExpand","containerRef","markerRef","paddingTop","paddingBottom","computedItems","handleItemResize","handleScroll","handleScrollend","calculateVisibleItems","scrollToIndex","displayItems","map","page","itemsPerPage","hideNoData","noDataText","loading","loadingText","slotProps","internalItems","groupedItems","dataTableHeadersProps","filterProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","fixedHeader","sticky","top","wrapper","_createElementVNode","height","colgroup","hideDefaultHeader","thead","hideDefaultBody","border","length","itemSlotProps","internalItem","index","default","_ref2","itemRef","tbody","tfoot","bottom"],"sources":["../../../src/components/VDataTable/VDataTableVirtual.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRow } from './VDataTableRow'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VTable } from '@/components/VTable'\nimport { VVirtualScrollItem } from '@/components/VVirtualScroll/VVirtualScrollItem'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort, useSortedItems } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeVirtualProps, useVirtual } from '@/composables/virtual'\n\n// Utilities\nimport { computed, shallowRef, toRef, toRefs } from 'vue'\nimport { convertToUnit, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly } from 'vue'\nimport type { VDataTableSlotProps } from './VDataTable'\nimport type { VDataTableHeadersSlots } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport type { CellProps, DataTableHeader, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey, TemplateRef } from '@/util'\n\ntype VDataTableVirtualSlotProps<T> = Omit<\n VDataTableSlotProps<T>,\n | 'setItemsPerPage'\n | 'page'\n | 'pageCount'\n | 'itemsPerPage'\n>\n\nexport type VDataTableVirtualSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & {\n colgroup: VDataTableVirtualSlotProps<T>\n top: VDataTableVirtualSlotProps<T>\n headers: VDataTableHeadersSlots['headers']\n tbody: VDataTableVirtualSlotProps<T>\n thead: VDataTableVirtualSlotProps<T>\n tfoot: VDataTableVirtualSlotProps<T>\n bottom: VDataTableVirtualSlotProps<T>\n 'body.prepend': VDataTableVirtualSlotProps<T>\n 'body.append': VDataTableVirtualSlotProps<T>\n item: {\n itemRef: TemplateRef\n }\n}\n\nexport const makeVDataTableVirtualProps = propsFactory({\n ...omit(makeDataTableProps(), ['hideDefaultFooter']),\n ...makeDataTableGroupProps(),\n ...makeVirtualProps(),\n ...makeFilterProps(),\n}, 'VDataTableVirtual')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableVirtual = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableVirtualSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableVirtual',\n\n props: makeVDataTableVirtualProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { disableSort } = toRefs(props)\n\n const {\n columns,\n headers,\n filterFunctions,\n sortFunctions,\n sortRawFunctions,\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(() => props.showSelect),\n showExpand: toRef(() => props.showExpand),\n })\n const { items } = useDataTableItems(props, columns)\n\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions,\n })\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort })\n const { sortByWithGroups, opened, extractRows, isGroupOpen, toggleGroup } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { sortedItems } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => ({ ...item.raw, ...item.columns }),\n sortFunctions,\n sortRawFunctions,\n })\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n\n const allItems = computed(() => extractRows(flatItems.value))\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems,\n currentPage: allItems,\n })\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const {\n containerRef,\n markerRef,\n paddingTop,\n paddingBottom,\n computedItems,\n handleItemResize,\n handleScroll,\n handleScrollend,\n calculateVisibleItems,\n scrollToIndex,\n } = useVirtual(props, flatItems)\n const displayItems = computed(() => computedItems.value.map(item => item.raw))\n\n useOptions({\n sortBy,\n page: shallowRef(1),\n itemsPerPage: shallowRef(-1),\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(() => props.hideNoData),\n noDataText: toRef(() => props.noDataText),\n loading: toRef(() => props.loading),\n loadingText: toRef(() => props.loadingText),\n },\n })\n\n const slotProps = computed<VDataTableVirtualSlotProps<any>>(() => ({\n sortBy: sortBy.value,\n toggleSort,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: allItems.value.map(item => item.raw),\n internalItems: allItems.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n fixedHeader={ props.fixedHeader || props.sticky }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n wrapper: () => (\n <div\n ref={ containerRef }\n onScrollPassive={ handleScroll }\n onScrollend={ handleScrollend }\n class=\"v-table__wrapper\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <table>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody key=\"tbody\">\n <tr ref={ markerRef } style={{ height: convertToUnit(paddingTop.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: 0, border: 0 }}></td>\n </tr>\n\n { slots['body.prepend']?.(slotProps.value) }\n\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ displayItems.value }\n >\n {{\n ...slots,\n item: itemSlotProps => (\n <VVirtualScrollItem\n key={ itemSlotProps.internalItem.index }\n renderless\n onUpdate:height={ height => handleItemResize(itemSlotProps.internalItem.index, height) }\n >\n { ({ itemRef }) => (\n slots.item?.({ ...itemSlotProps, itemRef }) ?? (\n <VDataTableRow\n { ...itemSlotProps.props }\n ref={ itemRef }\n key={ itemSlotProps.internalItem.index }\n index={ itemSlotProps.internalItem.index }\n v-slots={ slots }\n />\n )\n )}\n </VVirtualScrollItem>\n ),\n }}\n </VDataTableRows>\n\n { slots['body.append']?.(slotProps.value) }\n\n <tr style={{ height: convertToUnit(paddingBottom.value), border: 0 }}>\n <td colspan={ columns.value.length } style={{ height: 0, border: 0 }}></td>\n </tr>\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </table>\n </div>\n ),\n bottom: () => slots.bottom?.(slotProps.value),\n }}\n </VTable>\n )\n })\n\n return {\n calculateVisibleItems,\n scrollToIndex,\n }\n },\n})\n\nexport type VDataTableVirtual = InstanceType<typeof VDataTableVirtual>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle } from "vue";
1
+ import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from "vue";
2
2
  // Styles
3
3
  import "./VDatePickerControls.css";
4
4
 
@@ -77,10 +77,10 @@ export const VDatePickerControls = genericComponent()({
77
77
  useRender(() => {
78
78
  // TODO: add slot support and scope defaults
79
79
  return _createElementVNode("div", {
80
- "class": ['v-date-picker-controls'],
81
- "style": _normalizeStyle({
80
+ "class": _normalizeClass(['v-date-picker-controls']),
81
+ "style": {
82
82
  '--v-date-picker-controls-height': convertToUnit(props.controlHeight)
83
- })
83
+ }
84
84
  }, [_createVNode(VBtn, {
85
85
  "class": "v-date-picker-controls__month-btn",
86
86
  "data-testid": "month-btn",
@@ -1 +1 @@
1
- {"version":3,"file":"VDatePickerControls.js","names":["VBtn","VSpacer","IconValue","computed","convertToUnit","genericComponent","propsFactory","useRender","makeVDatePickerControlsProps","active","type","String","Array","default","undefined","controlHeight","Number","disabled","Boolean","nextIcon","prevIcon","modeIcon","text","viewMode","VDatePickerControls","name","props","emits","click:year","click:month","click:prev","click:next","click:text","setup","_ref","emit","disableMonth","isArray","includes","disableYear","disablePrev","disableNext","onClickPrev","onClickNext","onClickYear","onClickMonth","_createElementVNode","_normalizeStyle","_createVNode","value"],"sources":["../../../src/components/VDatePicker/VDatePickerControls.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerControls.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSpacer } from '@/components/VGrid'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDatePickerControlsProps = propsFactory({\n active: {\n type: [String, Array] as PropType<string | string[]>,\n default: undefined,\n },\n controlHeight: [Number, String],\n disabled: {\n type: [Boolean, String, Array] as PropType<boolean | string | string[] | null>,\n default: null,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n modeIcon: {\n type: IconValue,\n default: '$subgroup',\n },\n text: String,\n viewMode: {\n type: String as PropType<'month' | 'months' | 'year'>,\n default: 'month',\n },\n}, 'VDatePickerControls')\n\nexport const VDatePickerControls = genericComponent()({\n name: 'VDatePickerControls',\n\n props: makeVDatePickerControlsProps(),\n\n emits: {\n 'click:year': () => true,\n 'click:month': () => true,\n 'click:prev': () => true,\n 'click:next': () => true,\n 'click:text': () => true,\n },\n\n setup (props, { emit }) {\n const disableMonth = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('text')\n : !!props.disabled\n })\n const disableYear = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('mode')\n : !!props.disabled\n })\n const disablePrev = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('prev')\n : !!props.disabled\n })\n const disableNext = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('next')\n : !!props.disabled\n })\n\n function onClickPrev () {\n emit('click:prev')\n }\n\n function onClickNext () {\n emit('click:next')\n }\n\n function onClickYear () {\n emit('click:year')\n }\n\n function onClickMonth () {\n emit('click:month')\n }\n\n useRender(() => {\n // TODO: add slot support and scope defaults\n return (\n <div\n class={[\n 'v-date-picker-controls',\n ]}\n style={{\n '--v-date-picker-controls-height': convertToUnit(props.controlHeight),\n }}\n >\n <VBtn\n class=\"v-date-picker-controls__month-btn\"\n data-testid=\"month-btn\"\n disabled={ disableMonth.value }\n text={ props.text }\n variant=\"text\"\n rounded\n onClick={ onClickMonth }\n />\n\n <VBtn\n class=\"v-date-picker-controls__mode-btn\"\n data-testid=\"year-btn\"\n disabled={ disableYear.value }\n density=\"comfortable\"\n icon={ props.modeIcon }\n variant=\"text\"\n onClick={ onClickYear }\n />\n\n <VSpacer />\n\n <div class=\"v-date-picker-controls__month\">\n <VBtn\n data-testid=\"prev-month\"\n disabled={ disablePrev.value }\n density=\"comfortable\"\n icon={ props.prevIcon }\n variant=\"text\"\n onClick={ onClickPrev }\n />\n\n <VBtn\n data-testid=\"next-month\"\n disabled={ disableNext.value }\n icon={ props.nextIcon }\n density=\"comfortable\"\n variant=\"text\"\n onClick={ onClickNext }\n />\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerControls = InstanceType<typeof VDatePickerControls>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDatePickerControls.js","names":["VBtn","VSpacer","IconValue","computed","convertToUnit","genericComponent","propsFactory","useRender","makeVDatePickerControlsProps","active","type","String","Array","default","undefined","controlHeight","Number","disabled","Boolean","nextIcon","prevIcon","modeIcon","text","viewMode","VDatePickerControls","name","props","emits","click:year","click:month","click:prev","click:next","click:text","setup","_ref","emit","disableMonth","isArray","includes","disableYear","disablePrev","disableNext","onClickPrev","onClickNext","onClickYear","onClickMonth","_createElementVNode","_normalizeClass","_createVNode","value"],"sources":["../../../src/components/VDatePicker/VDatePickerControls.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerControls.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSpacer } from '@/components/VGrid'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDatePickerControlsProps = propsFactory({\n active: {\n type: [String, Array] as PropType<string | string[]>,\n default: undefined,\n },\n controlHeight: [Number, String],\n disabled: {\n type: [Boolean, String, Array] as PropType<boolean | string | string[] | null>,\n default: null,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n modeIcon: {\n type: IconValue,\n default: '$subgroup',\n },\n text: String,\n viewMode: {\n type: String as PropType<'month' | 'months' | 'year'>,\n default: 'month',\n },\n}, 'VDatePickerControls')\n\nexport const VDatePickerControls = genericComponent()({\n name: 'VDatePickerControls',\n\n props: makeVDatePickerControlsProps(),\n\n emits: {\n 'click:year': () => true,\n 'click:month': () => true,\n 'click:prev': () => true,\n 'click:next': () => true,\n 'click:text': () => true,\n },\n\n setup (props, { emit }) {\n const disableMonth = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('text')\n : !!props.disabled\n })\n const disableYear = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('mode')\n : !!props.disabled\n })\n const disablePrev = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('prev')\n : !!props.disabled\n })\n const disableNext = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('next')\n : !!props.disabled\n })\n\n function onClickPrev () {\n emit('click:prev')\n }\n\n function onClickNext () {\n emit('click:next')\n }\n\n function onClickYear () {\n emit('click:year')\n }\n\n function onClickMonth () {\n emit('click:month')\n }\n\n useRender(() => {\n // TODO: add slot support and scope defaults\n return (\n <div\n class={[\n 'v-date-picker-controls',\n ]}\n style={{\n '--v-date-picker-controls-height': convertToUnit(props.controlHeight),\n }}\n >\n <VBtn\n class=\"v-date-picker-controls__month-btn\"\n data-testid=\"month-btn\"\n disabled={ disableMonth.value }\n text={ props.text }\n variant=\"text\"\n rounded\n onClick={ onClickMonth }\n />\n\n <VBtn\n class=\"v-date-picker-controls__mode-btn\"\n data-testid=\"year-btn\"\n disabled={ disableYear.value }\n density=\"comfortable\"\n icon={ props.modeIcon }\n variant=\"text\"\n onClick={ onClickYear }\n />\n\n <VSpacer />\n\n <div class=\"v-date-picker-controls__month\">\n <VBtn\n data-testid=\"prev-month\"\n disabled={ disablePrev.value }\n density=\"comfortable\"\n icon={ props.prevIcon }\n variant=\"text\"\n onClick={ onClickPrev }\n />\n\n <VBtn\n data-testid=\"next-month\"\n disabled={ disableNext.value }\n icon={ props.nextIcon }\n density=\"comfortable\"\n variant=\"text\"\n onClick={ onClickNext }\n />\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerControls = InstanceType<typeof VDatePickerControls>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, createVNode as _createVNode, normalizeClass as _normalizeClass } from "vue";
1
+ import { createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VDatePickerMonth.css";
4
4
 
@@ -121,7 +121,7 @@ export const VDatePickerMonth = genericComponent()({
121
121
  "key": "hide-week-days",
122
122
  "class": "v-date-picker-month__day"
123
123
  }, [_createTextVNode("\xA0")]), weekNumbers.value.map(week => _createElementVNode("div", {
124
- "class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
124
+ "class": _normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__day--adjacent'])
125
125
  }, [week]))]), _createVNode(MaybeTransition, {
126
126
  "name": transition.value
127
127
  }, {
@@ -130,7 +130,7 @@ export const VDatePickerMonth = genericComponent()({
130
130
  "key": daysInMonth.value[0].date?.toString(),
131
131
  "class": "v-date-picker-month__days"
132
132
  }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => _createElementVNode("div", {
133
- "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
133
+ "class": _normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
134
134
  }, [weekDay])), daysInMonth.value.map((item, i) => {
135
135
  const slotProps = {
136
136
  props: {