@vuetify/nightly 3.7.15-dev.2025-03-06 → 3.7.15-dev.2025-03-08

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 (43) hide show
  1. package/CHANGELOG.md +10 -3
  2. package/dist/json/attributes.json +2892 -2852
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +162 -162
  5. package/dist/json/tags.json +10 -0
  6. package/dist/json/web-types.json +5263 -5172
  7. package/dist/vuetify-labs.css +2710 -2709
  8. package/dist/vuetify-labs.d.ts +238 -182
  9. package/dist/vuetify-labs.esm.js +849 -838
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +849 -838
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +4710 -4709
  14. package/dist/vuetify.d.ts +218 -162
  15. package/dist/vuetify.esm.js +849 -838
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +849 -838
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +479 -476
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.js +2 -13
  23. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  24. package/lib/components/VColorPicker/VColorPicker.css +3 -2
  25. package/lib/components/VColorPicker/VColorPicker.d.ts +259 -156
  26. package/lib/components/VColorPicker/VColorPicker.js +16 -17
  27. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  28. package/lib/components/VColorPicker/VColorPicker.sass +2 -1
  29. package/lib/components/VColorPicker/_variables.scss +1 -0
  30. package/lib/components/VCombobox/VCombobox.js +2 -13
  31. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  32. package/lib/components/VDatePicker/VDatePicker.d.ts +6 -6
  33. package/lib/components/VDatePicker/VDatePicker.js +5 -2
  34. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  35. package/lib/composables/filter.d.ts +13 -9
  36. package/lib/composables/filter.js +39 -8
  37. package/lib/composables/filter.js.map +1 -1
  38. package/lib/entry-bundler.js +1 -1
  39. package/lib/framework.d.ts +53 -53
  40. package/lib/framework.js +1 -1
  41. package/lib/labs/VCalendar/VCalendar.d.ts +6 -6
  42. package/lib/labs/VDateInput/VDateInput.d.ts +25 -25
  43. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
1
+ import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
2
  // Styles
3
3
  import "./VColorPicker.css";
4
4
 
@@ -7,13 +7,13 @@ import { VColorPickerCanvas } from "./VColorPickerCanvas.js";
7
7
  import { VColorPickerEdit } from "./VColorPickerEdit.js";
8
8
  import { VColorPickerPreview } from "./VColorPickerPreview.js";
9
9
  import { VColorPickerSwatches } from "./VColorPickerSwatches.js";
10
- import { makeVSheetProps, VSheet } from "../VSheet/VSheet.js"; // Composables
10
+ import { makeVPickerProps, VPicker } from "../../labs/VPicker/VPicker.js"; // Composables
11
+ import { useRtl } from "../../composables/index.js";
11
12
  import { provideDefaults } from "../../composables/defaults.js";
12
- import { useRtl } from "../../composables/locale.js";
13
13
  import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
14
14
  import { computed, onBeforeMount, ref, watch } from 'vue';
15
15
  import { extractColor, modes, nullColor } from "./util/index.js";
16
- import { consoleWarn, defineComponent, HSVtoCSS, omit, parseColor, propsFactory, RGBtoHSV, useRender } from "../../util/index.js"; // Types
16
+ import { consoleWarn, defineComponent, HSVtoCSS, parseColor, propsFactory, RGBtoHSV, useRender } from "../../util/index.js"; // Types
17
17
  export const makeVColorPickerProps = propsFactory({
18
18
  canvasHeight: {
19
19
  type: [String, Number],
@@ -46,9 +46,9 @@ export const makeVColorPickerProps = propsFactory({
46
46
  modelValue: {
47
47
  type: [Object, String]
48
48
  },
49
- ...omit(makeVSheetProps({
50
- width: 300
51
- }), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])
49
+ ...makeVPickerProps({
50
+ hideHeader: true
51
+ })
52
52
  }, 'VColorPicker');
53
53
  export const VColorPicker = defineComponent({
54
54
  name: 'VColorPicker',
@@ -57,7 +57,10 @@ export const VColorPicker = defineComponent({
57
57
  'update:modelValue': color => true,
58
58
  'update:mode': mode => true
59
59
  },
60
- setup(props) {
60
+ setup(props, _ref) {
61
+ let {
62
+ slots
63
+ } = _ref;
61
64
  const mode = useProxiedModel(props, 'mode');
62
65
  const hue = ref(null);
63
66
  const model = useProxiedModel(props, 'modelValue', undefined, v => {
@@ -111,11 +114,8 @@ export const VColorPicker = defineComponent({
111
114
  }
112
115
  });
113
116
  useRender(() => {
114
- const sheetProps = VSheet.filterProps(props);
115
- return _createVNode(VSheet, _mergeProps({
116
- "rounded": props.rounded,
117
- "elevation": props.elevation,
118
- "theme": props.theme,
117
+ const pickerProps = VPicker.filterProps(props);
118
+ return _createVNode(VPicker, _mergeProps(pickerProps, {
119
119
  "class": ['v-color-picker', rtlClasses.value, props.class],
120
120
  "style": [{
121
121
  '--v-color-picker-color-hsv': HSVtoCSS({
@@ -123,10 +123,9 @@ export const VColorPicker = defineComponent({
123
123
  a: 1
124
124
  })
125
125
  }, props.style]
126
- }, sheetProps, {
127
- "maxWidth": props.width
128
126
  }), {
129
- default: () => [!props.hideCanvas && _createVNode(VColorPickerCanvas, {
127
+ ...slots,
128
+ default: () => _createVNode(_Fragment, null, [!props.hideCanvas && _createVNode(VColorPickerCanvas, {
130
129
  "key": "canvas",
131
130
  "color": currentColor.value,
132
131
  "onUpdate:color": updateColor,
@@ -158,7 +157,7 @@ export const VColorPicker = defineComponent({
158
157
  "maxHeight": props.swatchesMaxHeight,
159
158
  "swatches": props.swatches,
160
159
  "disabled": props.disabled
161
- }, null)]
160
+ }, null)])
162
161
  });
163
162
  });
164
163
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPicker.js","names":["VColorPickerCanvas","VColorPickerEdit","VColorPickerPreview","VColorPickerSwatches","makeVSheetProps","VSheet","provideDefaults","useRtl","useProxiedModel","computed","onBeforeMount","ref","watch","extractColor","modes","nullColor","consoleWarn","defineComponent","HSVtoCSS","omit","parseColor","propsFactory","RGBtoHSV","useRender","makeVColorPickerProps","canvasHeight","type","String","Number","default","disabled","Boolean","dotSize","hideCanvas","hideSliders","hideInputs","mode","validator","v","Object","keys","includes","Array","isArray","every","m","showSwatches","swatches","swatchesMaxHeight","modelValue","width","VColorPicker","name","props","emits","color","setup","hue","model","undefined","c","err","currentColor","value","h","rtlClasses","externalChange","immediate","updateColor","hsva","VSlider","trackColor","trackFillColor","sheetProps","filterProps","_createVNode","_mergeProps","rounded","elevation","theme","class","a","style","endsWith"],"sources":["../../../src/components/VColorPicker/VColorPicker.tsx"],"sourcesContent":["// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport { VColorPickerCanvas } from './VColorPickerCanvas'\nimport { VColorPickerEdit } from './VColorPickerEdit'\nimport { VColorPickerPreview } from './VColorPickerPreview'\nimport { VColorPickerSwatches } from './VColorPickerSwatches'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, onBeforeMount, ref, watch } from 'vue'\nimport { extractColor, modes, nullColor } from './util'\nimport { consoleWarn, defineComponent, HSVtoCSS, omit, parseColor, propsFactory, RGBtoHSV, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly, PropType } from 'vue'\nimport type { Color, HSV } from '@/util'\n\nexport const makeVColorPickerProps = propsFactory({\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<DeepReadonly<Color[][]>>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String] as PropType<Record<string, unknown> | string | undefined | null>,\n },\n\n ...omit(makeVSheetProps({ width: 300 }), [\n 'height',\n 'location',\n 'minHeight',\n 'maxHeight',\n 'minWidth',\n 'maxWidth',\n ]),\n}, 'VColorPicker')\n\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n\n props: makeVColorPickerProps(),\n\n emits: {\n 'update:modelValue': (color: any) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props) {\n const mode = useProxiedModel(props, 'mode')\n const hue = ref<number | null>(null)\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n if (v == null || v === '') return null\n\n let c: HSV\n try {\n c = RGBtoHSV(parseColor(v as any))\n } catch (err) {\n consoleWarn(err as any)\n return null\n }\n\n return c\n },\n v => {\n if (!v) return null\n\n return extractColor(v, props.modelValue)\n }\n )\n const currentColor = computed(() => {\n return model.value\n ? { ...model.value, h: hue.value ?? model.value.h }\n : null\n })\n const { rtlClasses } = useRtl()\n\n let externalChange = true\n watch(model, v => {\n if (!externalChange) {\n // prevent hue shift from rgb conversion inaccuracy\n externalChange = true\n return\n }\n if (!v) return\n hue.value = v.h\n }, { immediate: true })\n\n const updateColor = (hsva: HSV) => {\n externalChange = false\n hue.value = hsva.h\n model.value = hsva\n }\n\n onBeforeMount(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0]\n })\n\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined,\n },\n })\n\n useRender(() => {\n const sheetProps = VSheet.filterProps(props)\n\n return (\n <VSheet\n rounded={ props.rounded }\n elevation={ props.elevation }\n theme={ props.theme }\n class={[\n 'v-color-picker',\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-color-picker-color-hsv': HSVtoCSS({ ...(currentColor.value ?? nullColor), a: 1 }),\n },\n props.style,\n ]}\n { ...sheetProps }\n maxWidth={ props.width }\n >\n { !props.hideCanvas && (\n <VColorPickerCanvas\n key=\"canvas\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n dotSize={ props.dotSize }\n width={ props.width }\n height={ props.canvasHeight }\n />\n )}\n\n { (!props.hideSliders || !props.hideInputs) && (\n <div key=\"controls\" class=\"v-color-picker__controls\">\n { !props.hideSliders && (\n <VColorPickerPreview\n key=\"preview\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n hideAlpha={ !mode.value.endsWith('a') }\n disabled={ props.disabled }\n />\n )}\n\n { !props.hideInputs && (\n <VColorPickerEdit\n key=\"edit\"\n modes={ props.modes }\n mode={ mode.value }\n onUpdate:mode={ m => mode.value = m }\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n />\n )}\n </div>\n )}\n\n { props.showSwatches && (\n <VColorPickerSwatches\n key=\"swatches\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n maxHeight={ props.swatchesMaxHeight }\n swatches={ props.swatches }\n disabled={ props.disabled }\n />\n )}\n </VSheet>\n )\n })\n\n return {}\n },\n})\n\nexport type VColorPicker = InstanceType<typeof VColorPicker>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VColorPicker.js","names":["VColorPickerCanvas","VColorPickerEdit","VColorPickerPreview","VColorPickerSwatches","makeVPickerProps","VPicker","useRtl","provideDefaults","useProxiedModel","computed","onBeforeMount","ref","watch","extractColor","modes","nullColor","consoleWarn","defineComponent","HSVtoCSS","parseColor","propsFactory","RGBtoHSV","useRender","makeVColorPickerProps","canvasHeight","type","String","Number","default","disabled","Boolean","dotSize","hideCanvas","hideSliders","hideInputs","mode","validator","v","Object","keys","includes","Array","isArray","every","m","showSwatches","swatches","swatchesMaxHeight","modelValue","hideHeader","VColorPicker","name","props","emits","color","setup","_ref","slots","hue","model","undefined","c","err","currentColor","value","h","rtlClasses","externalChange","immediate","updateColor","hsva","VSlider","trackColor","trackFillColor","pickerProps","filterProps","_createVNode","_mergeProps","class","a","style","_Fragment","width","endsWith"],"sources":["../../../src/components/VColorPicker/VColorPicker.tsx"],"sourcesContent":["// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport { VColorPickerCanvas } from './VColorPickerCanvas'\nimport { VColorPickerEdit } from './VColorPickerEdit'\nimport { VColorPickerPreview } from './VColorPickerPreview'\nimport { VColorPickerSwatches } from './VColorPickerSwatches'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useRtl } from '@/composables'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, onBeforeMount, ref, watch } from 'vue'\nimport { extractColor, modes, nullColor } from './util'\nimport { consoleWarn, defineComponent, HSVtoCSS, parseColor, propsFactory, RGBtoHSV, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly, PropType } from 'vue'\nimport type { Color, HSV } from '@/util'\n\nexport const makeVColorPickerProps = propsFactory({\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<DeepReadonly<Color[][]>>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String] as PropType<Record<string, unknown> | string | undefined | null>,\n },\n\n ...makeVPickerProps({ hideHeader: true }),\n}, 'VColorPicker')\n\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n\n props: makeVColorPickerProps(),\n\n emits: {\n 'update:modelValue': (color: any) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props, { slots }) {\n const mode = useProxiedModel(props, 'mode')\n const hue = ref<number | null>(null)\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n if (v == null || v === '') return null\n\n let c: HSV\n try {\n c = RGBtoHSV(parseColor(v as any))\n } catch (err) {\n consoleWarn(err as any)\n return null\n }\n\n return c\n },\n v => {\n if (!v) return null\n\n return extractColor(v, props.modelValue)\n }\n )\n const currentColor = computed(() => {\n return model.value\n ? { ...model.value, h: hue.value ?? model.value.h }\n : null\n })\n const { rtlClasses } = useRtl()\n\n let externalChange = true\n watch(model, v => {\n if (!externalChange) {\n // prevent hue shift from rgb conversion inaccuracy\n externalChange = true\n return\n }\n if (!v) return\n hue.value = v.h\n }, { immediate: true })\n\n const updateColor = (hsva: HSV) => {\n externalChange = false\n hue.value = hsva.h\n model.value = hsva\n }\n\n onBeforeMount(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0]\n })\n\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined,\n },\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n\n return (\n <VPicker\n { ...pickerProps }\n class={[\n 'v-color-picker',\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-color-picker-color-hsv': HSVtoCSS({ ...(currentColor.value ?? nullColor), a: 1 }),\n },\n props.style,\n ]}\n v-slots={{\n ...slots,\n default: () => (\n <>\n { !props.hideCanvas && (\n <VColorPickerCanvas\n key=\"canvas\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n dotSize={ props.dotSize }\n width={ props.width }\n height={ props.canvasHeight }\n />\n )}\n\n { (!props.hideSliders || !props.hideInputs) && (\n <div key=\"controls\" class=\"v-color-picker__controls\">\n { !props.hideSliders && (\n <VColorPickerPreview\n key=\"preview\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n hideAlpha={ !mode.value.endsWith('a') }\n disabled={ props.disabled }\n />\n )}\n\n { !props.hideInputs && (\n <VColorPickerEdit\n key=\"edit\"\n modes={ props.modes }\n mode={ mode.value }\n onUpdate:mode={ m => mode.value = m }\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n />\n )}\n </div>\n )}\n\n { props.showSwatches && (\n <VColorPickerSwatches\n key=\"swatches\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n maxHeight={ props.swatchesMaxHeight }\n swatches={ props.swatches }\n disabled={ props.disabled }\n />\n )}\n </>\n ),\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VColorPicker = InstanceType<typeof VColorPicker>\n"],"mappings":"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","ignoreList":[]}
@@ -6,8 +6,9 @@
6
6
  .v-color-picker
7
7
  align-self: flex-start
8
8
  contain: content
9
+ width: $color-picker-width
9
10
 
10
- &.v-sheet
11
+ &.v-sheet.v-picker
11
12
  @include tools.elevation($color-picker-elevation)
12
13
  @include tools.rounded($color-picker-border-radius)
13
14
 
@@ -9,6 +9,7 @@ $color-picker-input-margin: 8px !default;
9
9
  $color-picker-preview-margin-bottom: 0 !default;
10
10
  $color-picker-input-margin-bottom: 8px !default;
11
11
  $color-picker-input-margin-top: 24px !default;
12
+ $color-picker-width: 300px !default;
12
13
 
13
14
  // VColorPickerSwatch
14
15
  $color-picker-swatch-color-border-radius: 2px !default;
@@ -16,7 +16,7 @@ import { makeVTextFieldProps } from "../VTextField/VTextField.js";
16
16
  import { VVirtualScroll } from "../VVirtualScroll/index.js"; // Composables
17
17
  import { useScrolling } from "../VSelect/useScrolling.js";
18
18
  import { useTextColor } from "../../composables/color.js";
19
- import { makeFilterProps, useFilter } from "../../composables/filter.js";
19
+ import { highlightResult, makeFilterProps, useFilter } from "../../composables/filter.js";
20
20
  import { useForm } from "../../composables/form.js";
21
21
  import { forwardRefs } from "../../composables/forwardRefs.js";
22
22
  import { transformItem, useItems } from "../../composables/list-items.js";
@@ -25,17 +25,6 @@ import { useProxiedModel } from "../../composables/proxiedModel.js";
25
25
  import { makeTransitionProps } from "../../composables/transition.js"; // Utilities
26
26
  import { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue';
27
27
  import { checkPrintable, deepEqual, ensureValidVNode, genericComponent, IN_BROWSER, isComposingIgnoreKey, noop, omit, propsFactory, useRender, wrapInArray } from "../../util/index.js"; // Types
28
- function highlightResult(text, matches, length) {
29
- if (matches == null) return text;
30
- if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented');
31
- return typeof matches === 'number' && ~matches ? _createVNode(_Fragment, null, [_createVNode("span", {
32
- "class": "v-combobox__unmask"
33
- }, [text.substr(0, matches)]), _createVNode("span", {
34
- "class": "v-combobox__mask"
35
- }, [text.substr(matches, length)]), _createVNode("span", {
36
- "class": "v-combobox__unmask"
37
- }, [text.substr(matches + length)])]) : text;
38
- }
39
28
  export const makeVComboboxProps = propsFactory({
40
29
  autoSelectFirst: {
41
30
  type: [Boolean, String]
@@ -449,7 +438,7 @@ export const VCombobox = genericComponent()({
449
438
  }, null)]);
450
439
  },
451
440
  title: () => {
452
- return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);
441
+ return isPristine.value ? item.title : highlightResult('v-combobox', item.title, getMatches(item)?.title);
453
442
  }
454
443
  });
455
444
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VCombobox.js","names":["VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VIcon","VList","VListItem","VMenu","makeSelectProps","VTextField","makeVTextFieldProps","VVirtualScroll","useScrolling","useTextColor","makeFilterProps","useFilter","useForm","forwardRefs","transformItem","useItems","useLocale","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","checkPrintable","deepEqual","ensureValidVNode","genericComponent","IN_BROWSER","isComposingIgnoreKey","noop","omit","propsFactory","useRender","wrapInArray","highlightResult","text","matches","length","Array","isArray","Error","_createVNode","_Fragment","substr","makeVComboboxProps","autoSelectFirst","type","Boolean","String","clearOnSelect","default","delimiters","filterKeys","hideNoData","returnObject","modelValue","role","transition","VCombobox","name","props","emits","focused","value","setup","_ref","emit","slots","t","vTextFieldRef","isFocused","isPristine","listHasFocus","vMenuRef","vVirtualScrollRef","_menu","menu","get","set","v","ΨopenChildren","size","selectionIndex","cleared","color","label","closeText","openText","items","transformIn","transformOut","textColorClasses","textColorStyles","model","transformed","multiple","form","hasChips","chips","chip","hasSelectionSlot","selection","_search","title","search","val","values","split","RegExp","join","forEach","trim","select","counterValue","filteredItems","getMatches","displayItems","hideSelected","filter","filteredItem","some","s","selectedValues","map","highlightFirst","selectFirst","menuDisabled","isReadonly","isDisabled","listRef","listEvents","onClear","e","openOnClear","onMousedownControl","onMousedownMenuIcon","preventDefault","stopPropagation","onListKeydown","key","focus","onKeydown","selectionStart","includes","_ref2","originalSelectionIndex","prev","setSelectionRange","next","onAfterEnter","eager","calculateVisibleItems","onAfterLeave","item","arguments","undefined","disabled","index","findIndex","valueComparator","add","splice","onFocusin","setTimeout","onFocusout","onUpdateModelValue","oldVal","_ref3","window","requestAnimationFrame","scrollToIndex","newVal","hasList","isDirty","textFieldProps","filterProps","_mergeProps","$event","externalValue","class","style","placeholder","menuProps","itemColor","listProps","noDataText","_ref4","itemRef","itemProps","active","onClick","prepend","_ref5","isSelected","prependAvatar","prependIcon","onChipClose","slotProps","onMousedown","hasSlot","slotContent","closableChips","closable","_createTextVNode","append-inner","_len","args","_key","menuIcon"],"sources":["../../../src/components/VCombobox/VCombobox.tsx"],"sourcesContent":["// Styles\nimport './VCombobox.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VTextField } from '@/components/VTextField'\nimport { makeVTextFieldProps } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from '../VSelect/useScrolling'\nimport { useTextColor } from '@/composables/color'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { transformItem, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n checkPrintable,\n deepEqual,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n isComposingIgnoreKey,\n noop,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { FilterMatch } from '@/composables/filter'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nfunction highlightResult (text: string, matches: FilterMatch | undefined, length: number) {\n if (matches == null) return text\n\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-combobox__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-combobox__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-combobox__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = string | ([T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any))\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeVComboboxProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String] as PropType<boolean | 'exact'>,\n },\n clearOnSelect: {\n type: Boolean,\n default: true,\n },\n delimiters: Array as PropType<readonly string[]>,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps({ hideNoData: true, returnObject: true }),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n}, 'VCombobox')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VCombobox = genericComponent<new <\n T extends readonly any[],\n Item = ItemType<T>,\n ReturnObject extends boolean = true,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VCombobox',\n\n props: makeVComboboxProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n 'update:search': (value: string) => true,\n 'update:menu': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = shallowRef(false)\n const isPristine = shallowRef(true)\n const listHasFocus = shallowRef(false)\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return\n _menu.value = v\n },\n })\n const selectionIndex = shallowRef(-1)\n let cleared = false\n const color = computed(() => vTextFieldRef.value?.color)\n const label = computed(() => menu.value ? props.closeText : props.openText)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm(props)\n\n const hasChips = computed(() => !!(props.chips || slots.chip))\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection)\n\n const _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '')\n\n const search = computed<string>({\n get: () => {\n return _search.value\n },\n set: (val: string | null) => {\n _search.value = val ?? ''\n if (!props.multiple && !hasSelectionSlot.value) {\n model.value = [transformItem(props, val)]\n }\n\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`))\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim()\n if (v) select(transformItem(props, v))\n })\n _search.value = ''\n }\n }\n\n if (!val) selectionIndex.value = -1\n\n isPristine.value = !val\n },\n })\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : (props.multiple ? model.value.length : search.value.length)\n })\n watch(_search, value => {\n if (cleared) {\n // wait for clear to finish, VTextField sets _search to null\n // then search computed triggers and updates _search to ''\n nextTick(() => (cleared = false))\n } else if (isFocused.value && !menu.value) {\n menu.value = true\n }\n\n emit('update:search', value)\n })\n\n watch(model, value => {\n if (!props.multiple && !hasSelectionSlot.value) {\n _search.value = value[0]?.title ?? ''\n }\n })\n\n const { filteredItems, getMatches } = useFilter(props, items, () => isPristine.value ? '' : search.value)\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const selectedValues = computed(() => model.value.map(selection => selection.value))\n\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title)\n return selectFirst &&\n displayItems.value.length > 0 &&\n !isPristine.value &&\n !listHasFocus.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\n\n const listRef = ref<VList>()\n const listEvents = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n cleared = true\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = true\n }\n function onMousedownMenuIcon (e: MouseEvent) {\n if (menuDisabled.value) return\n\n if (isFocused.value) {\n e.preventDefault()\n e.stopPropagation()\n }\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (e.key !== ' ' && checkPrintable(e)) {\n vTextFieldRef.value?.focus()\n }\n }\n // eslint-disable-next-line complexity\n function onKeydown (e: KeyboardEvent) {\n if (isComposingIgnoreKey(e) || form.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = model.value.length\n\n if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n if (\n highlightFirst.value &&\n ['Enter', 'Tab'].includes(e.key) &&\n !model.value.some(({ value }) => value === displayItems.value[0].value)\n ) {\n select(filteredItems.value[0])\n }\n\n isPristine.value = true\n }\n\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next')\n }\n\n if (e.key === 'Enter' && search.value) {\n select(transformItem(props, search.value))\n if (hasSelectionSlot.value) _search.value = ''\n }\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (\n !props.multiple &&\n hasSelectionSlot.value &&\n model.value.length > 0 &&\n !search.value\n ) return select(model.value[0], false)\n\n if (~selectionIndex.value) {\n e.preventDefault()\n const originalSelectionIndex = selectionIndex.value\n select(model.value[selectionIndex.value], false)\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? (length - 2) : originalSelectionIndex\n } else if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n if (!props.multiple) return\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (model.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length)\n }\n } else if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (model.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n } else if (~selectionIndex.value && checkPrintable(e)) {\n selectionIndex.value = -1\n }\n }\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n isPristine.value = true\n vTextFieldRef.value?.focus()\n }\n }\n /** @param set - null means toggle */\n function select (item: ListItem | undefined, set: boolean | null = true) {\n if (!item || item.props.disabled) return\n\n if (props.multiple) {\n const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value))\n const add = set == null ? !~index : set\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value]\n value.splice(index, 1)\n model.value = value\n } else if (add) {\n model.value = [...model.value, item]\n }\n\n if (props.clearOnSelect) {\n search.value = ''\n }\n } else {\n const add = set !== false\n model.value = add ? [item] : []\n _search.value = add && !hasSelectionSlot.value ? item.title : ''\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n setTimeout(() => {\n listHasFocus.value = true\n })\n }\n function onFocusout (e: FocusEvent) {\n listHasFocus.value = false\n }\n function onUpdateModelValue (v: any) {\n if (v == null || (v === '' && !props.multiple && !hasSelectionSlot.value)) model.value = []\n }\n\n watch(isFocused, (val, oldVal) => {\n if (val || val === oldVal) return\n\n selectionIndex.value = -1\n menu.value = false\n\n if (search.value) {\n if (props.multiple) {\n select(transformItem(props, search.value))\n return\n }\n\n if (!hasSelectionSlot.value) return\n\n if (model.value.some(({ title }) => title === search.value)) {\n _search.value = ''\n } else {\n select(transformItem(props, search.value))\n }\n }\n })\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value))\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return\n\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\n onUpdate:modelValue={ onUpdateModelValue }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n class={[\n 'v-combobox',\n {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selection-slot': !!hasSelectionSlot.value,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n props.class,\n ]}\n style={ props.style }\n readonly={ form.isReadonly.value }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-combobox__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n tabindex=\"-1\"\n aria-live=\"polite\"\n color={ props.itemColor ?? props.color }\n { ...listEvents }\n { ...props.listProps }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem key=\"no-data\" title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value } itemKey=\"value\">\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: (highlightFirst.value && index === 0) ? true : undefined,\n onClick: () => select(item, null),\n })\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps } role=\"option\">\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependAvatar && (\n <VAvatar image={ item.props.prependAvatar } />\n )}\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item, false)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter' && e.key !== ' ') return\n\n e.preventDefault()\n e.stopPropagation()\n\n onChipClose(e)\n },\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips.value\n ? slots.chip!({ item, index, props: slotProps })\n : slots.selection!({ item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-combobox__selection',\n index === selectionIndex.value && [\n 'v-combobox__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips.value ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-combobox__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-combobox__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { (!props.hideNoData || props.items.length) && props.menuIcon ? (\n <VIcon\n class=\"v-combobox__menu-icon\"\n icon={ props.menuIcon }\n onMousedown={ onMousedownMenuIcon }\n onClick={ noop }\n aria-label={ t(label.value) }\n title={ t(label.value) }\n tabindex=\"-1\"\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VCombobox = InstanceType<typeof VCombobox>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCombobox.js","names":["VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VIcon","VList","VListItem","VMenu","makeSelectProps","VTextField","makeVTextFieldProps","VVirtualScroll","useScrolling","useTextColor","highlightResult","makeFilterProps","useFilter","useForm","forwardRefs","transformItem","useItems","useLocale","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","checkPrintable","deepEqual","ensureValidVNode","genericComponent","IN_BROWSER","isComposingIgnoreKey","noop","omit","propsFactory","useRender","wrapInArray","makeVComboboxProps","autoSelectFirst","type","Boolean","String","clearOnSelect","default","delimiters","Array","filterKeys","hideNoData","returnObject","modelValue","role","transition","VCombobox","name","props","emits","focused","value","setup","_ref","emit","slots","t","vTextFieldRef","isFocused","isPristine","listHasFocus","vMenuRef","vVirtualScrollRef","_menu","menu","get","set","v","ΨopenChildren","size","selectionIndex","cleared","color","label","closeText","openText","items","transformIn","transformOut","textColorClasses","textColorStyles","model","transformed","multiple","form","hasChips","chips","chip","hasSelectionSlot","selection","_search","title","search","val","length","values","split","RegExp","join","forEach","trim","select","counterValue","filteredItems","getMatches","displayItems","hideSelected","filter","filteredItem","some","s","selectedValues","map","highlightFirst","selectFirst","menuDisabled","isReadonly","isDisabled","listRef","listEvents","onClear","e","openOnClear","onMousedownControl","onMousedownMenuIcon","preventDefault","stopPropagation","onListKeydown","key","focus","onKeydown","selectionStart","includes","_ref2","originalSelectionIndex","prev","setSelectionRange","next","onAfterEnter","eager","calculateVisibleItems","onAfterLeave","item","arguments","undefined","disabled","index","findIndex","valueComparator","add","splice","onFocusin","setTimeout","onFocusout","onUpdateModelValue","oldVal","_ref3","window","requestAnimationFrame","scrollToIndex","newVal","hasList","isDirty","textFieldProps","filterProps","_createVNode","_mergeProps","$event","externalValue","class","style","placeholder","_Fragment","menuProps","itemColor","listProps","noDataText","_ref4","itemRef","itemProps","active","onClick","prepend","_ref5","isSelected","prependAvatar","prependIcon","onChipClose","slotProps","onMousedown","hasSlot","slotContent","closableChips","closable","text","_createTextVNode","append-inner","_len","args","_key","menuIcon"],"sources":["../../../src/components/VCombobox/VCombobox.tsx"],"sourcesContent":["// Styles\nimport './VCombobox.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VTextField } from '@/components/VTextField'\nimport { makeVTextFieldProps } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from '../VSelect/useScrolling'\nimport { useTextColor } from '@/composables/color'\nimport { highlightResult, makeFilterProps, useFilter } from '@/composables/filter'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { transformItem, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n checkPrintable,\n deepEqual,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n isComposingIgnoreKey,\n noop,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = string | ([T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any))\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeVComboboxProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String] as PropType<boolean | 'exact'>,\n },\n clearOnSelect: {\n type: Boolean,\n default: true,\n },\n delimiters: Array as PropType<readonly string[]>,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps({ hideNoData: true, returnObject: true }),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n}, 'VCombobox')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VCombobox = genericComponent<new <\n T extends readonly any[],\n Item = ItemType<T>,\n ReturnObject extends boolean = true,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VCombobox',\n\n props: makeVComboboxProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n 'update:search': (value: string) => true,\n 'update:menu': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = shallowRef(false)\n const isPristine = shallowRef(true)\n const listHasFocus = shallowRef(false)\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return\n _menu.value = v\n },\n })\n const selectionIndex = shallowRef(-1)\n let cleared = false\n const color = computed(() => vTextFieldRef.value?.color)\n const label = computed(() => menu.value ? props.closeText : props.openText)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm(props)\n\n const hasChips = computed(() => !!(props.chips || slots.chip))\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection)\n\n const _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '')\n\n const search = computed<string>({\n get: () => {\n return _search.value\n },\n set: (val: string | null) => {\n _search.value = val ?? ''\n if (!props.multiple && !hasSelectionSlot.value) {\n model.value = [transformItem(props, val)]\n }\n\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`))\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim()\n if (v) select(transformItem(props, v))\n })\n _search.value = ''\n }\n }\n\n if (!val) selectionIndex.value = -1\n\n isPristine.value = !val\n },\n })\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : (props.multiple ? model.value.length : search.value.length)\n })\n watch(_search, value => {\n if (cleared) {\n // wait for clear to finish, VTextField sets _search to null\n // then search computed triggers and updates _search to ''\n nextTick(() => (cleared = false))\n } else if (isFocused.value && !menu.value) {\n menu.value = true\n }\n\n emit('update:search', value)\n })\n\n watch(model, value => {\n if (!props.multiple && !hasSelectionSlot.value) {\n _search.value = value[0]?.title ?? ''\n }\n })\n\n const { filteredItems, getMatches } = useFilter(props, items, () => isPristine.value ? '' : search.value)\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const selectedValues = computed(() => model.value.map(selection => selection.value))\n\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title)\n return selectFirst &&\n displayItems.value.length > 0 &&\n !isPristine.value &&\n !listHasFocus.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\n\n const listRef = ref<VList>()\n const listEvents = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n cleared = true\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = true\n }\n function onMousedownMenuIcon (e: MouseEvent) {\n if (menuDisabled.value) return\n\n if (isFocused.value) {\n e.preventDefault()\n e.stopPropagation()\n }\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (e.key !== ' ' && checkPrintable(e)) {\n vTextFieldRef.value?.focus()\n }\n }\n // eslint-disable-next-line complexity\n function onKeydown (e: KeyboardEvent) {\n if (isComposingIgnoreKey(e) || form.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = model.value.length\n\n if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n if (\n highlightFirst.value &&\n ['Enter', 'Tab'].includes(e.key) &&\n !model.value.some(({ value }) => value === displayItems.value[0].value)\n ) {\n select(filteredItems.value[0])\n }\n\n isPristine.value = true\n }\n\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next')\n }\n\n if (e.key === 'Enter' && search.value) {\n select(transformItem(props, search.value))\n if (hasSelectionSlot.value) _search.value = ''\n }\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (\n !props.multiple &&\n hasSelectionSlot.value &&\n model.value.length > 0 &&\n !search.value\n ) return select(model.value[0], false)\n\n if (~selectionIndex.value) {\n e.preventDefault()\n const originalSelectionIndex = selectionIndex.value\n select(model.value[selectionIndex.value], false)\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? (length - 2) : originalSelectionIndex\n } else if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n if (!props.multiple) return\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (model.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length)\n }\n } else if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (model.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n } else if (~selectionIndex.value && checkPrintable(e)) {\n selectionIndex.value = -1\n }\n }\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n isPristine.value = true\n vTextFieldRef.value?.focus()\n }\n }\n /** @param set - null means toggle */\n function select (item: ListItem | undefined, set: boolean | null = true) {\n if (!item || item.props.disabled) return\n\n if (props.multiple) {\n const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value))\n const add = set == null ? !~index : set\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value]\n value.splice(index, 1)\n model.value = value\n } else if (add) {\n model.value = [...model.value, item]\n }\n\n if (props.clearOnSelect) {\n search.value = ''\n }\n } else {\n const add = set !== false\n model.value = add ? [item] : []\n _search.value = add && !hasSelectionSlot.value ? item.title : ''\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n setTimeout(() => {\n listHasFocus.value = true\n })\n }\n function onFocusout (e: FocusEvent) {\n listHasFocus.value = false\n }\n function onUpdateModelValue (v: any) {\n if (v == null || (v === '' && !props.multiple && !hasSelectionSlot.value)) model.value = []\n }\n\n watch(isFocused, (val, oldVal) => {\n if (val || val === oldVal) return\n\n selectionIndex.value = -1\n menu.value = false\n\n if (search.value) {\n if (props.multiple) {\n select(transformItem(props, search.value))\n return\n }\n\n if (!hasSelectionSlot.value) return\n\n if (model.value.some(({ title }) => title === search.value)) {\n _search.value = ''\n } else {\n select(transformItem(props, search.value))\n }\n }\n })\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value))\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return\n\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\n onUpdate:modelValue={ onUpdateModelValue }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n class={[\n 'v-combobox',\n {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selection-slot': !!hasSelectionSlot.value,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n props.class,\n ]}\n style={ props.style }\n readonly={ form.isReadonly.value }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-combobox__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n tabindex=\"-1\"\n aria-live=\"polite\"\n color={ props.itemColor ?? props.color }\n { ...listEvents }\n { ...props.listProps }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem key=\"no-data\" title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value } itemKey=\"value\">\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: (highlightFirst.value && index === 0) ? true : undefined,\n onClick: () => select(item, null),\n })\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps } role=\"option\">\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependAvatar && (\n <VAvatar image={ item.props.prependAvatar } />\n )}\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult('v-combobox', item.title, getMatches(item)?.title)\n },\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item, false)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter' && e.key !== ' ') return\n\n e.preventDefault()\n e.stopPropagation()\n\n onChipClose(e)\n },\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips.value\n ? slots.chip!({ item, index, props: slotProps })\n : slots.selection!({ item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-combobox__selection',\n index === selectionIndex.value && [\n 'v-combobox__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips.value ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-combobox__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-combobox__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { (!props.hideNoData || props.items.length) && props.menuIcon ? (\n <VIcon\n class=\"v-combobox__menu-icon\"\n icon={ props.menuIcon }\n onMousedown={ onMousedownMenuIcon }\n onClick={ noop }\n aria-label={ t(label.value) }\n title={ t(label.value) }\n tabindex=\"-1\"\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VCombobox = InstanceType<typeof VCombobox>\n"],"mappings":"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","ignoreList":[]}
@@ -380,6 +380,7 @@ export declare const VDatePicker: {
380
380
  nextIcon: import("../../composables/icons").IconValue;
381
381
  prevIcon: import("../../composables/icons").IconValue;
382
382
  reverseTransition: string;
383
+ hideHeader: boolean;
383
384
  modeIcon: import("../../composables/icons").IconValue;
384
385
  viewMode: "month" | "year" | "months";
385
386
  showAdjacentMonths: boolean;
@@ -387,7 +388,6 @@ export declare const VDatePicker: {
387
388
  weeksInMonth: "static" | "dynamic";
388
389
  hideWeekdays: boolean;
389
390
  showWeek: boolean;
390
- hideHeader: boolean;
391
391
  } & {
392
392
  max?: unknown;
393
393
  location?: import("../../util").Anchor | null | undefined;
@@ -435,6 +435,7 @@ export declare const VDatePicker: {
435
435
  nextIcon: import("../../composables/icons").IconValue;
436
436
  prevIcon: import("../../composables/icons").IconValue;
437
437
  reverseTransition: string;
438
+ hideHeader: boolean;
438
439
  modeIcon: import("../../composables/icons").IconValue;
439
440
  viewMode: "month" | "year" | "months";
440
441
  showAdjacentMonths: boolean;
@@ -442,7 +443,6 @@ export declare const VDatePicker: {
442
443
  weeksInMonth: "static" | "dynamic";
443
444
  hideWeekdays: boolean;
444
445
  showWeek: boolean;
445
- hideHeader: boolean;
446
446
  }, true, {}, import("vue").SlotsType<Partial<{
447
447
  default: () => import("vue").VNode[];
448
448
  title: () => import("vue").VNode[];
@@ -470,6 +470,7 @@ export declare const VDatePicker: {
470
470
  nextIcon: import("../../composables/icons").IconValue;
471
471
  prevIcon: import("../../composables/icons").IconValue;
472
472
  reverseTransition: string;
473
+ hideHeader: boolean;
473
474
  modeIcon: import("../../composables/icons").IconValue;
474
475
  viewMode: "month" | "year" | "months";
475
476
  showAdjacentMonths: boolean;
@@ -477,7 +478,6 @@ export declare const VDatePicker: {
477
478
  weeksInMonth: "static" | "dynamic";
478
479
  hideWeekdays: boolean;
479
480
  showWeek: boolean;
480
- hideHeader: boolean;
481
481
  } & {
482
482
  max?: unknown;
483
483
  location?: import("../../util").Anchor | null | undefined;
@@ -520,6 +520,7 @@ export declare const VDatePicker: {
520
520
  nextIcon: import("../../composables/icons").IconValue;
521
521
  prevIcon: import("../../composables/icons").IconValue;
522
522
  reverseTransition: string;
523
+ hideHeader: boolean;
523
524
  modeIcon: import("../../composables/icons").IconValue;
524
525
  viewMode: "month" | "year" | "months";
525
526
  showAdjacentMonths: boolean;
@@ -527,7 +528,6 @@ export declare const VDatePicker: {
527
528
  weeksInMonth: "static" | "dynamic";
528
529
  hideWeekdays: boolean;
529
530
  showWeek: boolean;
530
- hideHeader: boolean;
531
531
  }>;
532
532
  __isFragment?: never;
533
533
  __isTeleport?: never;
@@ -544,6 +544,7 @@ export declare const VDatePicker: {
544
544
  nextIcon: import("../../composables/icons").IconValue;
545
545
  prevIcon: import("../../composables/icons").IconValue;
546
546
  reverseTransition: string;
547
+ hideHeader: boolean;
547
548
  modeIcon: import("../../composables/icons").IconValue;
548
549
  viewMode: "month" | "year" | "months";
549
550
  showAdjacentMonths: boolean;
@@ -551,7 +552,6 @@ export declare const VDatePicker: {
551
552
  weeksInMonth: "static" | "dynamic";
552
553
  hideWeekdays: boolean;
553
554
  showWeek: boolean;
554
- hideHeader: boolean;
555
555
  } & {
556
556
  max?: unknown;
557
557
  location?: import("../../util").Anchor | null | undefined;
@@ -599,6 +599,7 @@ export declare const VDatePicker: {
599
599
  nextIcon: import("../../composables/icons").IconValue;
600
600
  prevIcon: import("../../composables/icons").IconValue;
601
601
  reverseTransition: string;
602
+ hideHeader: boolean;
602
603
  modeIcon: import("../../composables/icons").IconValue;
603
604
  viewMode: "month" | "year" | "months";
604
605
  showAdjacentMonths: boolean;
@@ -606,7 +607,6 @@ export declare const VDatePicker: {
606
607
  weeksInMonth: "static" | "dynamic";
607
608
  hideWeekdays: boolean;
608
609
  showWeek: boolean;
609
- hideHeader: boolean;
610
610
  }, {}, string, import("vue").SlotsType<Partial<{
611
611
  default: () => import("vue").VNode[];
612
612
  title: () => import("vue").VNode[];
@@ -12,7 +12,7 @@ import { VFadeTransition } from "../transitions/index.js";
12
12
  import { VDefaultsProvider } from "../VDefaultsProvider/index.js";
13
13
  import { makeVPickerProps, VPicker } from "../../labs/VPicker/VPicker.js"; // Composables
14
14
  import { useDate } from "../../composables/date/index.js";
15
- import { useLocale } from "../../composables/locale.js";
15
+ import { useLocale, useRtl } from "../../composables/locale.js";
16
16
  import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
17
17
  import { computed, ref, shallowRef, watch } from 'vue';
18
18
  import { genericComponent, omit, propsFactory, useRender, wrapInArray } from "../../util/index.js"; // Types
@@ -73,6 +73,9 @@ export const VDatePicker = genericComponent()({
73
73
  const {
74
74
  t
75
75
  } = useLocale();
76
+ const {
77
+ rtlClasses
78
+ } = useRtl();
76
79
  const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
77
80
  const viewMode = useProxiedModel(props, 'viewMode');
78
81
  // const inputMode = useProxiedModel(props, 'inputMode')
@@ -210,7 +213,7 @@ export const VDatePicker = genericComponent()({
210
213
  return _createVNode(VPicker, _mergeProps(pickerProps, {
211
214
  "class": ['v-date-picker', `v-date-picker--${viewMode.value}`, {
212
215
  'v-date-picker--show-week': props.showWeek
213
- }, props.class],
216
+ }, rtlClasses.value, props.class],
214
217
  "style": props.style
215
218
  }), {
216
219
  title: () => slots.title?.() ?? _createVNode("div", {