@vuetify/nightly 3.9.0-beta.1-dev.2025-07-05 → 3.9.0-dev.2025-07-15

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 (79) hide show
  1. package/CHANGELOG.md +4 -113
  2. package/dist/json/attributes.json +3780 -3744
  3. package/dist/json/importMap-labs.json +16 -16
  4. package/dist/json/importMap.json +190 -190
  5. package/dist/json/tags.json +9 -0
  6. package/dist/json/web-types.json +6526 -6437
  7. package/dist/vuetify-labs.cjs +136 -34
  8. package/dist/vuetify-labs.css +4604 -4547
  9. package/dist/vuetify-labs.d.ts +280 -185
  10. package/dist/vuetify-labs.esm.js +136 -34
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +136 -34
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +135 -33
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3908 -3851
  17. package/dist/vuetify.d.ts +280 -185
  18. package/dist/vuetify.esm.js +135 -33
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +135 -33
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1089 -1085
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +39 -14
  26. package/lib/components/VAutocomplete/VAutocomplete.js +3 -2
  27. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  28. package/lib/components/VCombobox/VCombobox.d.ts +39 -14
  29. package/lib/components/VCombobox/VCombobox.js +3 -2
  30. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  31. package/lib/components/VDataIterator/composables/items.d.ts +2 -1
  32. package/lib/components/VDataIterator/composables/items.js.map +1 -1
  33. package/lib/components/VDataTable/types.d.ts +1 -1
  34. package/lib/components/VDataTable/types.js.map +1 -1
  35. package/lib/components/VDatePicker/VDatePicker.js +2 -1
  36. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  37. package/lib/components/VList/VList.d.ts +24 -27
  38. package/lib/components/VList/VList.js +2 -5
  39. package/lib/components/VList/VList.js.map +1 -1
  40. package/lib/components/VList/VListItem.js +7 -1
  41. package/lib/components/VList/VListItem.js.map +1 -1
  42. package/lib/components/VSelect/VSelect.d.ts +58 -22
  43. package/lib/components/VSelect/VSelect.js +3 -2
  44. package/lib/components/VSelect/VSelect.js.map +1 -1
  45. package/lib/components/VTreeview/VTreeview.d.ts +229 -167
  46. package/lib/components/VTreeview/VTreeview.js +7 -3
  47. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  48. package/lib/components/VTreeview/VTreeviewChildren.d.ts +81 -10
  49. package/lib/components/VTreeview/VTreeviewChildren.js +50 -11
  50. package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
  51. package/lib/components/VTreeview/VTreeviewItem.css +57 -0
  52. package/lib/components/VTreeview/VTreeviewItem.d.ts +119 -94
  53. package/lib/components/VTreeview/VTreeviewItem.js +13 -3
  54. package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
  55. package/lib/components/VTreeview/VTreeviewItem.sass +60 -0
  56. package/lib/components/VTreeview/_variables.scss +15 -0
  57. package/lib/composables/filter.d.ts +1 -0
  58. package/lib/composables/filter.js +1 -1
  59. package/lib/composables/filter.js.map +1 -1
  60. package/lib/composables/list-items.d.ts +14 -1
  61. package/lib/composables/list-items.js +9 -3
  62. package/lib/composables/list-items.js.map +1 -1
  63. package/lib/entry-bundler.js +1 -1
  64. package/lib/entry-bundler.js.map +1 -1
  65. package/lib/framework.d.ts +65 -64
  66. package/lib/framework.js +1 -1
  67. package/lib/framework.js.map +1 -1
  68. package/lib/labs/VCalendar/VCalendar.js +1 -1
  69. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  70. package/lib/util/helpers.d.ts +3 -0
  71. package/lib/util/helpers.js +4 -0
  72. package/lib/util/helpers.js.map +1 -1
  73. package/lib/util/indentLines.d.ts +17 -0
  74. package/lib/util/indentLines.js +34 -0
  75. package/lib/util/indentLines.js.map +1 -0
  76. package/lib/util/index.d.ts +1 -0
  77. package/lib/util/index.js +1 -0
  78. package/lib/util/index.js.map +1 -1
  79. package/package.json +1 -1
@@ -79,6 +79,7 @@ export declare const makeVComboboxProps: <Defaults extends {
79
79
  itemValue?: unknown;
80
80
  itemChildren?: unknown;
81
81
  itemProps?: unknown;
82
+ itemType?: unknown;
82
83
  returnObject?: unknown;
83
84
  valueComparator?: unknown;
84
85
  chips?: unknown;
@@ -538,6 +539,16 @@ export declare const makeVComboboxProps: <Defaults extends {
538
539
  type: PropType<unknown extends Defaults["itemProps"] ? SelectItemKey : SelectItemKey | Defaults["itemProps"]>;
539
540
  default: unknown extends Defaults["itemProps"] ? SelectItemKey : NonNullable<SelectItemKey> | Defaults["itemProps"];
540
541
  };
542
+ itemType: unknown extends Defaults["itemType"] ? {
543
+ type: PropType<SelectItemKey>;
544
+ default: string;
545
+ } : Omit<{
546
+ type: PropType<SelectItemKey>;
547
+ default: string;
548
+ }, "type" | "default"> & {
549
+ type: PropType<unknown extends Defaults["itemType"] ? SelectItemKey : SelectItemKey | Defaults["itemType"]>;
550
+ default: unknown extends Defaults["itemType"] ? SelectItemKey : NonNullable<SelectItemKey> | Defaults["itemType"];
551
+ };
541
552
  returnObject: unknown extends Defaults["returnObject"] ? {
542
553
  type: PropType<boolean>;
543
554
  default: boolean;
@@ -621,7 +632,7 @@ export declare const makeVComboboxProps: <Defaults extends {
621
632
  activatable: boolean;
622
633
  selectable: boolean;
623
634
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
624
- itemType: string;
635
+ itemType: SelectItemKey;
625
636
  }> & Omit<{
626
637
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
627
638
  nav: boolean;
@@ -639,7 +650,7 @@ export declare const makeVComboboxProps: <Defaults extends {
639
650
  activatable: boolean;
640
651
  selectable: boolean;
641
652
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
642
- itemType: string;
653
+ itemType: SelectItemKey;
643
654
  height?: string | number | undefined;
644
655
  width?: string | number | undefined;
645
656
  border?: string | number | boolean | undefined;
@@ -786,7 +797,7 @@ export declare const makeVComboboxProps: <Defaults extends {
786
797
  activatable: boolean;
787
798
  selectable: boolean;
788
799
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
789
- itemType: string;
800
+ itemType: SelectItemKey;
790
801
  }> & Omit<{
791
802
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
792
803
  nav: boolean;
@@ -804,7 +815,7 @@ export declare const makeVComboboxProps: <Defaults extends {
804
815
  activatable: boolean;
805
816
  selectable: boolean;
806
817
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
807
- itemType: string;
818
+ itemType: SelectItemKey;
808
819
  height?: string | number | undefined;
809
820
  width?: string | number | undefined;
810
821
  border?: string | number | boolean | undefined;
@@ -952,7 +963,7 @@ export declare const makeVComboboxProps: <Defaults extends {
952
963
  activatable: boolean;
953
964
  selectable: boolean;
954
965
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
955
- itemType: string;
966
+ itemType: SelectItemKey;
956
967
  }> & Omit<{
957
968
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
958
969
  nav: boolean;
@@ -970,7 +981,7 @@ export declare const makeVComboboxProps: <Defaults extends {
970
981
  activatable: boolean;
971
982
  selectable: boolean;
972
983
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
973
- itemType: string;
984
+ itemType: SelectItemKey;
974
985
  height?: string | number | undefined;
975
986
  width?: string | number | undefined;
976
987
  border?: string | number | boolean | undefined;
@@ -1117,7 +1128,7 @@ export declare const makeVComboboxProps: <Defaults extends {
1117
1128
  activatable: boolean;
1118
1129
  selectable: boolean;
1119
1130
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
1120
- itemType: string;
1131
+ itemType: SelectItemKey;
1121
1132
  }> & Omit<{
1122
1133
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
1123
1134
  nav: boolean;
@@ -1135,7 +1146,7 @@ export declare const makeVComboboxProps: <Defaults extends {
1135
1146
  activatable: boolean;
1136
1147
  selectable: boolean;
1137
1148
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
1138
- itemType: string;
1149
+ itemType: SelectItemKey;
1139
1150
  height?: string | number | undefined;
1140
1151
  width?: string | number | undefined;
1141
1152
  border?: string | number | boolean | undefined;
@@ -2250,6 +2261,7 @@ export declare const VCombobox: {
2250
2261
  hideSpinButtons: boolean;
2251
2262
  persistentHint: boolean;
2252
2263
  itemChildren: SelectItemKey;
2264
+ itemType: SelectItemKey;
2253
2265
  clearable: boolean;
2254
2266
  persistentClear: boolean;
2255
2267
  singleLine: boolean;
@@ -2320,7 +2332,7 @@ export declare const VCombobox: {
2320
2332
  activatable: boolean;
2321
2333
  selectable: boolean;
2322
2334
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
2323
- itemType: string;
2335
+ itemType: SelectItemKey;
2324
2336
  }> & Omit<{
2325
2337
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
2326
2338
  nav: boolean;
@@ -2338,7 +2350,7 @@ export declare const VCombobox: {
2338
2350
  activatable: boolean;
2339
2351
  selectable: boolean;
2340
2352
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
2341
- itemType: string;
2353
+ itemType: SelectItemKey;
2342
2354
  height?: string | number | undefined;
2343
2355
  width?: string | number | undefined;
2344
2356
  border?: string | number | boolean | undefined;
@@ -4682,6 +4694,7 @@ export declare const VCombobox: {
4682
4694
  hideSpinButtons: boolean;
4683
4695
  persistentHint: boolean;
4684
4696
  itemChildren: SelectItemKey;
4697
+ itemType: SelectItemKey;
4685
4698
  clearable: boolean;
4686
4699
  persistentClear: boolean;
4687
4700
  singleLine: boolean;
@@ -4778,6 +4791,7 @@ export declare const VCombobox: {
4778
4791
  hideSpinButtons: boolean;
4779
4792
  persistentHint: boolean;
4780
4793
  itemChildren: SelectItemKey;
4794
+ itemType: SelectItemKey;
4781
4795
  clearable: boolean;
4782
4796
  persistentClear: boolean;
4783
4797
  singleLine: boolean;
@@ -4848,7 +4862,7 @@ export declare const VCombobox: {
4848
4862
  activatable: boolean;
4849
4863
  selectable: boolean;
4850
4864
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
4851
- itemType: string;
4865
+ itemType: SelectItemKey;
4852
4866
  }> & Omit<{
4853
4867
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
4854
4868
  nav: boolean;
@@ -4866,7 +4880,7 @@ export declare const VCombobox: {
4866
4880
  activatable: boolean;
4867
4881
  selectable: boolean;
4868
4882
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
4869
- itemType: string;
4883
+ itemType: SelectItemKey;
4870
4884
  height?: string | number | undefined;
4871
4885
  width?: string | number | undefined;
4872
4886
  border?: string | number | boolean | undefined;
@@ -7205,6 +7219,7 @@ export declare const VCombobox: {
7205
7219
  hideSpinButtons: boolean;
7206
7220
  persistentHint: boolean;
7207
7221
  itemChildren: SelectItemKey;
7222
+ itemType: SelectItemKey;
7208
7223
  clearable: boolean;
7209
7224
  persistentClear: boolean;
7210
7225
  singleLine: boolean;
@@ -7258,6 +7273,7 @@ export declare const VCombobox: {
7258
7273
  hideSpinButtons: boolean;
7259
7274
  persistentHint: boolean;
7260
7275
  itemChildren: SelectItemKey;
7276
+ itemType: SelectItemKey;
7261
7277
  clearable: boolean;
7262
7278
  persistentClear: boolean;
7263
7279
  singleLine: boolean;
@@ -7328,7 +7344,7 @@ export declare const VCombobox: {
7328
7344
  activatable: boolean;
7329
7345
  selectable: boolean;
7330
7346
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
7331
- itemType: string;
7347
+ itemType: SelectItemKey;
7332
7348
  }> & Omit<{
7333
7349
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
7334
7350
  nav: boolean;
@@ -7346,7 +7362,7 @@ export declare const VCombobox: {
7346
7362
  activatable: boolean;
7347
7363
  selectable: boolean;
7348
7364
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
7349
- itemType: string;
7365
+ itemType: SelectItemKey;
7350
7366
  height?: string | number | undefined;
7351
7367
  width?: string | number | undefined;
7352
7368
  border?: string | number | boolean | undefined;
@@ -9690,6 +9706,7 @@ export declare const VCombobox: {
9690
9706
  hideSpinButtons: boolean;
9691
9707
  persistentHint: boolean;
9692
9708
  itemChildren: SelectItemKey;
9709
+ itemType: SelectItemKey;
9693
9710
  clearable: boolean;
9694
9711
  persistentClear: boolean;
9695
9712
  singleLine: boolean;
@@ -9924,6 +9941,10 @@ export declare const VCombobox: {
9924
9941
  type: PropType<SelectItemKey>;
9925
9942
  default: string;
9926
9943
  };
9944
+ itemType: {
9945
+ type: PropType<SelectItemKey>;
9946
+ default: string;
9947
+ };
9927
9948
  returnObject: {
9928
9949
  type: PropType<boolean>;
9929
9950
  default: boolean;
@@ -10128,6 +10149,10 @@ export declare const VCombobox: {
10128
10149
  type: PropType<SelectItemKey>;
10129
10150
  default: string;
10130
10151
  };
10152
+ itemType: {
10153
+ type: PropType<SelectItemKey>;
10154
+ default: string;
10155
+ };
10131
10156
  returnObject: {
10132
10157
  type: PropType<boolean>;
10133
10158
  default: boolean;
@@ -390,6 +390,7 @@ export const VCombobox = genericComponent()({
390
390
  "selected": selectedValues.value,
391
391
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
392
392
  "onMousedown": e => e.preventDefault(),
393
+ "selectable": true,
393
394
  "onKeydown": onListKeydown,
394
395
  "onFocusin": onFocusin,
395
396
  "onFocusout": onFocusout,
@@ -418,7 +419,7 @@ export const VCombobox = genericComponent()({
418
419
  active: highlightFirst.value && index === 0 ? true : undefined,
419
420
  onClick: () => select(item, null)
420
421
  });
421
- if (item.raw.type === 'divider') {
422
+ if (item.type === 'divider') {
422
423
  return slots.divider?.({
423
424
  props: item.raw,
424
425
  index
@@ -426,7 +427,7 @@ export const VCombobox = genericComponent()({
426
427
  "key": `divider-${index}`
427
428
  }), null);
428
429
  }
429
- if (item.raw.type === 'subheader') {
430
+ if (item.type === 'subheader') {
430
431
  return slots.subheader?.({
431
432
  props: item.raw,
432
433
  index
@@ -1 +1 @@
1
- {"version":3,"file":"VCombobox.js","names":["VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VDivider","VIcon","VList","VListItem","VListSubheader","VMenu","makeSelectProps","VTextField","makeVTextFieldProps","VVirtualScroll","useScrolling","useTextColor","highlightResult","makeFilterProps","useFilter","useForm","forwardRefs","transformItem","useItems","useLocale","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","toRef","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","selectionIndex","cleared","items","transformIn","transformOut","textColorClasses","textColorStyles","color","model","v","transformed","multiple","form","hasChips","chips","chip","hasSelectionSlot","selection","_search","title","search","get","set","val","scrollToIndex","length","values","split","RegExp","join","forEach","trim","select","counterValue","filteredItems","getMatches","displayItems","hideSelected","filter","filteredItem","some","s","menuDisabled","isReadonly","isDisabled","_menu","menu","ΨopenChildren","size","label","closeText","openText","selectedValues","map","highlightFirst","selectFirst","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","newVal","hasList","isDirty","textFieldProps","filterProps","_createVNode","_mergeProps","$event","externalValue","class","style","placeholder","_createElementVNode","_Fragment","menuProps","itemColor","listProps","noDataText","_ref4","itemRef","itemProps","active","onClick","raw","divider","subheader","prepend","_ref5","isSelected","prependAvatar","prependIcon","onChipClose","slotProps","onMousedown","hasSlot","slotContent","_normalizeClass","_normalizeStyle","closableChips","closable","text","_createTextVNode","append-inner","_len","args","_key","menuIcon","fieldIconColor"],"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 { VDivider } from '@/components/VDivider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem, VListSubheader } 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, toRef, 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 subheader: { props: Record<string, unknown>, index: number }\n divider: { props: Record<string, unknown>, 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<VTextField>()\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 selectionIndex = shallowRef(-1)\n let cleared = false\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => vTextFieldRef.value?.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 nextTick(() => vVirtualScrollRef.value?.scrollToIndex(0))\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\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\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 menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\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 if (v && menuDisabled.value) return\n _menu.value = v\n },\n })\n\n const label = toRef(() => menu.value ? props.closeText : props.openText)\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 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 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 (checkPrintable(e) || e.key === 'Backspace') {\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 && 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 filterable\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 if (item.raw.type === 'divider') {\n return slots.divider?.({ props: item.raw, index }) ?? (\n <VDivider { ...item.props } key={ `divider-${index}` } />\n )\n }\n\n if (item.raw.type === 'subheader') {\n return slots.subheader?.({ props: item.raw, index }) ?? (\n <VListSubheader { ...item.props } key={ `subheader-${index}` } />\n )\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 color={ vTextFieldRef.value?.fieldIconColor }\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","VDivider","VIcon","VList","VListItem","VListSubheader","VMenu","makeSelectProps","VTextField","makeVTextFieldProps","VVirtualScroll","useScrolling","useTextColor","highlightResult","makeFilterProps","useFilter","useForm","forwardRefs","transformItem","useItems","useLocale","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","toRef","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","selectionIndex","cleared","items","transformIn","transformOut","textColorClasses","textColorStyles","color","model","v","transformed","multiple","form","hasChips","chips","chip","hasSelectionSlot","selection","_search","title","search","get","set","val","scrollToIndex","length","values","split","RegExp","join","forEach","trim","select","counterValue","filteredItems","getMatches","displayItems","hideSelected","filter","filteredItem","some","s","menuDisabled","isReadonly","isDisabled","_menu","menu","ΨopenChildren","size","label","closeText","openText","selectedValues","map","highlightFirst","selectFirst","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","newVal","hasList","isDirty","textFieldProps","filterProps","_createVNode","_mergeProps","$event","externalValue","class","style","placeholder","_createElementVNode","_Fragment","menuProps","itemColor","listProps","noDataText","_ref4","itemRef","itemProps","active","onClick","divider","raw","subheader","prepend","_ref5","isSelected","prependAvatar","prependIcon","onChipClose","slotProps","onMousedown","hasSlot","slotContent","_normalizeClass","_normalizeStyle","closableChips","closable","text","_createTextVNode","append-inner","_len","args","_key","menuIcon","fieldIconColor"],"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 { VDivider } from '@/components/VDivider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem, VListSubheader } 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, toRef, 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 subheader: { props: Record<string, unknown>, index: number }\n divider: { props: Record<string, unknown>, 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<VTextField>()\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 selectionIndex = shallowRef(-1)\n let cleared = false\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => vTextFieldRef.value?.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 nextTick(() => vVirtualScrollRef.value?.scrollToIndex(0))\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\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\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 menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\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 if (v && menuDisabled.value) return\n _menu.value = v\n },\n })\n\n const label = toRef(() => menu.value ? props.closeText : props.openText)\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 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 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 (checkPrintable(e) || e.key === 'Backspace') {\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 && 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 filterable\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n selectable\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 if (item.type === 'divider') {\n return slots.divider?.({ props: item.raw, index }) ?? (\n <VDivider { ...item.props } key={ `divider-${index}` } />\n )\n }\n\n if (item.type === 'subheader') {\n return slots.subheader?.({ props: item.raw, index }) ?? (\n <VListSubheader { ...item.props } key={ `subheader-${index}` } />\n )\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 color={ vTextFieldRef.value?.fieldIconColor }\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,6 +1,7 @@
1
1
  import type { PropType } from 'vue';
2
2
  import type { GroupableItem } from "../../VDataTable/composables/group.js";
3
3
  import type { SelectableItem } from "../../VDataTable/composables/select.js";
4
+ import type { InternalItem } from "../../../composables/filter.js";
4
5
  import type { SelectItemKey } from "../../../util/index.js";
5
6
  export interface DataIteratorItemProps {
6
7
  items: any[];
@@ -8,7 +9,7 @@ export interface DataIteratorItemProps {
8
9
  itemSelectable: SelectItemKey;
9
10
  returnObject: boolean;
10
11
  }
11
- export interface DataIteratorItem<T = any> extends GroupableItem<T>, SelectableItem {
12
+ export interface DataIteratorItem<T = any> extends Omit<InternalItem<T>, 'type'>, GroupableItem<T>, SelectableItem {
12
13
  value: unknown;
13
14
  }
14
15
  export declare const makeDataIteratorItemsProps: <Defaults extends {
@@ -1 +1 @@
1
- {"version":3,"file":"items.js","names":["computed","getPropertyFromItem","propsFactory","makeDataIteratorItemsProps","items","type","Array","default","itemValue","String","Function","itemSelectable","returnObject","Boolean","transformItem","props","item","value","selectable","raw","transformItems","array","push","useDataIteratorItems"],"sources":["../../../../src/components/VDataIterator/composables/items.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getPropertyFromItem, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GroupableItem } from '@/components/VDataTable/composables/group'\nimport type { SelectableItem } from '@/components/VDataTable/composables/select'\nimport type { SelectItemKey } from '@/util'\n\nexport interface DataIteratorItemProps {\n items: any[]\n itemValue: SelectItemKey\n itemSelectable: SelectItemKey\n returnObject: boolean\n}\n\nexport interface DataIteratorItem<T = any> extends GroupableItem<T>, SelectableItem {\n value: unknown\n}\n\n// Composables\nexport const makeDataIteratorItemsProps = propsFactory({\n items: {\n type: Array as PropType<DataIteratorItemProps['items']>,\n default: () => ([]),\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'id',\n },\n itemSelectable: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: null,\n },\n returnObject: Boolean,\n}, 'DataIterator-items')\n\nexport function transformItem (\n props: Omit<DataIteratorItemProps, 'items'>,\n item: any\n): DataIteratorItem {\n const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue)\n const selectable = getPropertyFromItem(item, props.itemSelectable, true)\n\n return {\n type: 'item',\n value,\n selectable,\n raw: item,\n }\n}\n\nexport function transformItems (\n props: Omit<DataIteratorItemProps, 'items'>,\n items: DataIteratorItemProps['items']\n) {\n const array: DataIteratorItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useDataIteratorItems (props: DataIteratorItemProps) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,mBAAmB,EAAEC,YAAY,kCAE1C;AAiBA;AACA,OAAO,MAAMC,0BAA0B,GAAGD,YAAY,CAAC;EACrDE,KAAK,EAAE;IACLC,IAAI,EAAEC,KAAiD;IACvDC,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDC,SAAS,EAAE;IACTH,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAA4B;IAC1DH,OAAO,EAAE;EACX,CAAC;EACDI,cAAc,EAAE;IACdN,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAA4B;IAC1DH,OAAO,EAAE;EACX,CAAC;EACDK,YAAY,EAAEC;AAChB,CAAC,EAAE,oBAAoB,CAAC;AAExB,OAAO,SAASC,aAAaA,CAC3BC,KAA2C,EAC3CC,IAAS,EACS;EAClB,MAAMC,KAAK,GAAGF,KAAK,CAACH,YAAY,GAAGI,IAAI,GAAGf,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACP,SAAS,CAAC;EACpF,MAAMU,UAAU,GAAGjB,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACJ,cAAc,EAAE,IAAI,CAAC;EAExE,OAAO;IACLN,IAAI,EAAE,MAAM;IACZY,KAAK;IACLC,UAAU;IACVC,GAAG,EAAEH;EACP,CAAC;AACH;AAEA,OAAO,SAASI,cAAcA,CAC5BL,KAA2C,EAC3CX,KAAqC,EACrC;EACA,MAAMiB,KAAyB,GAAG,EAAE;EAEpC,KAAK,MAAML,IAAI,IAAIZ,KAAK,EAAE;IACxBiB,KAAK,CAACC,IAAI,CAACR,aAAa,CAACC,KAAK,EAAEC,IAAI,CAAC,CAAC;EACxC;EAEA,OAAOK,KAAK;AACd;AAEA,OAAO,SAASE,oBAAoBA,CAAER,KAA4B,EAAE;EAClE,MAAMX,KAAK,GAAGJ,QAAQ,CAAC,MAAMoB,cAAc,CAACL,KAAK,EAAEA,KAAK,CAACX,KAAK,CAAC,CAAC;EAEhE,OAAO;IAAEA;EAAM,CAAC;AAClB","ignoreList":[]}
1
+ {"version":3,"file":"items.js","names":["computed","getPropertyFromItem","propsFactory","makeDataIteratorItemsProps","items","type","Array","default","itemValue","String","Function","itemSelectable","returnObject","Boolean","transformItem","props","item","value","selectable","raw","transformItems","array","push","useDataIteratorItems"],"sources":["../../../../src/components/VDataIterator/composables/items.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { getPropertyFromItem, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GroupableItem } from '@/components/VDataTable/composables/group'\nimport type { SelectableItem } from '@/components/VDataTable/composables/select'\nimport type { InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport interface DataIteratorItemProps {\n items: any[]\n itemValue: SelectItemKey\n itemSelectable: SelectItemKey\n returnObject: boolean\n}\n\nexport interface DataIteratorItem<T = any> extends Omit<InternalItem<T>, 'type'>, GroupableItem<T>, SelectableItem {\n value: unknown\n}\n\n// Composables\nexport const makeDataIteratorItemsProps = propsFactory({\n items: {\n type: Array as PropType<DataIteratorItemProps['items']>,\n default: () => ([]),\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'id',\n },\n itemSelectable: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: null,\n },\n returnObject: Boolean,\n}, 'DataIterator-items')\n\nexport function transformItem (\n props: Omit<DataIteratorItemProps, 'items'>,\n item: any\n): DataIteratorItem {\n const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue)\n const selectable = getPropertyFromItem(item, props.itemSelectable, true)\n\n return {\n type: 'item',\n value,\n selectable,\n raw: item,\n }\n}\n\nexport function transformItems (\n props: Omit<DataIteratorItemProps, 'items'>,\n items: DataIteratorItemProps['items']\n) {\n const array: DataIteratorItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useDataIteratorItems (props: DataIteratorItemProps) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,mBAAmB,EAAEC,YAAY,kCAE1C;AAkBA;AACA,OAAO,MAAMC,0BAA0B,GAAGD,YAAY,CAAC;EACrDE,KAAK,EAAE;IACLC,IAAI,EAAEC,KAAiD;IACvDC,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDC,SAAS,EAAE;IACTH,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAA4B;IAC1DH,OAAO,EAAE;EACX,CAAC;EACDI,cAAc,EAAE;IACdN,IAAI,EAAE,CAACI,MAAM,EAAEH,KAAK,EAAEI,QAAQ,CAA4B;IAC1DH,OAAO,EAAE;EACX,CAAC;EACDK,YAAY,EAAEC;AAChB,CAAC,EAAE,oBAAoB,CAAC;AAExB,OAAO,SAASC,aAAaA,CAC3BC,KAA2C,EAC3CC,IAAS,EACS;EAClB,MAAMC,KAAK,GAAGF,KAAK,CAACH,YAAY,GAAGI,IAAI,GAAGf,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACP,SAAS,CAAC;EACpF,MAAMU,UAAU,GAAGjB,mBAAmB,CAACe,IAAI,EAAED,KAAK,CAACJ,cAAc,EAAE,IAAI,CAAC;EAExE,OAAO;IACLN,IAAI,EAAE,MAAM;IACZY,KAAK;IACLC,UAAU;IACVC,GAAG,EAAEH;EACP,CAAC;AACH;AAEA,OAAO,SAASI,cAAcA,CAC5BL,KAA2C,EAC3CX,KAAqC,EACrC;EACA,MAAMiB,KAAyB,GAAG,EAAE;EAEpC,KAAK,MAAML,IAAI,IAAIZ,KAAK,EAAE;IACxBiB,KAAK,CAACC,IAAI,CAACR,aAAa,CAACC,KAAK,EAAEC,IAAI,CAAC,CAAC;EACxC;EAEA,OAAOK,KAAK;AACd;AAEA,OAAO,SAASE,oBAAoBA,CAAER,KAA4B,EAAE;EAClE,MAAMX,KAAK,GAAGJ,QAAQ,CAAC,MAAMoB,cAAc,CAACL,KAAK,EAAEA,KAAK,CAACX,KAAK,CAAC,CAAC;EAEhE,OAAO;IAAEA;EAAM,CAAC;AAClB","ignoreList":[]}
@@ -35,7 +35,7 @@ export type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'c
35
35
  rowspan?: number;
36
36
  children?: InternalDataTableHeader[];
37
37
  };
38
- export interface DataTableItem<T = any> extends InternalItem<T>, GroupableItem<T>, SelectableItem {
38
+ export interface DataTableItem<T = any> extends Omit<InternalItem<T>, 'type'>, GroupableItem<T>, SelectableItem {
39
39
  key: any;
40
40
  index: number;
41
41
  columns: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/components/VDataTable/types.ts"],"sourcesContent":["// Types\nimport type { provideExpanded } from './composables/expand'\nimport type { Group, GroupableItem, provideGroupBy } from './composables/group'\nimport type { provideSelection, SelectableItem } from './composables/select'\nimport type { FilterFunction, InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport type DataTableCompareFunction<T = any> = (a: T, b: T) => number | null\n\nexport type DataTableHeader<T = Record<string, any>> = {\n key?: 'data-table-group' | 'data-table-select' | 'data-table-expand' | (string & {})\n value?: SelectItemKey<T>\n title?: string\n\n fixed?: boolean | 'start' | 'end'\n align?: 'start' | 'end' | 'center'\n\n width?: number | string\n minWidth?: number | string\n maxWidth?: number | string\n nowrap?: boolean\n\n headerProps?: Record<string, any>\n cellProps?: HeaderCellProps\n\n sortable?: boolean\n sort?: DataTableCompareFunction\n sortRaw?: DataTableCompareFunction\n filter?: FilterFunction\n\n children?: DataTableHeader<T>[]\n}\n\nexport type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'children'> & {\n key: string | null\n value: SelectItemKey | null\n sortable: boolean\n fixedOffset?: number\n fixedEndOffset?: number\n lastFixed?: boolean\n firstFixedEnd?: boolean\n nowrap?: boolean\n colspan?: number\n rowspan?: number\n children?: InternalDataTableHeader[]\n}\n\nexport interface DataTableItem<T = any> extends InternalItem<T>, GroupableItem<T>, SelectableItem {\n key: any\n index: number\n columns: {\n [key: string]: any\n }\n}\n\nexport type GroupHeaderSlot = {\n index: number\n item: Group\n columns: InternalDataTableHeader[]\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']\n isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']\n}\n\ntype ItemSlotBase<T> = {\n index: number\n item: T\n internalItem: DataTableItem<T>\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n}\n\nexport type ItemSlot<T> = ItemSlotBase<T> & {\n columns: InternalDataTableHeader[]\n}\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any\n column: InternalDataTableHeader\n}\n\nexport type RowProps<T> = Record<string, any> | RowPropsFunction<T>\nexport type RowPropsFunction<T> = (\n data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem'>\n) => Record<string, any>\n\nexport type CellProps<T> = Record<string, any> | CellPropsFunction<T>\nexport type CellPropsFunction<T> = (\n data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem' | 'value' | 'column'>\n) => Record<string, any>\n\nexport type HeaderCellProps = Record<string, any> | HeaderCellPropsFunction\nexport type HeaderCellPropsFunction = (\n data: Pick<ItemKeySlot<any>, 'index' | 'item' | 'internalItem' | 'value'>\n) => Record<string, any>\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/components/VDataTable/types.ts"],"sourcesContent":["// Types\nimport type { provideExpanded } from './composables/expand'\nimport type { Group, GroupableItem, provideGroupBy } from './composables/group'\nimport type { provideSelection, SelectableItem } from './composables/select'\nimport type { FilterFunction, InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport type DataTableCompareFunction<T = any> = (a: T, b: T) => number | null\n\nexport type DataTableHeader<T = Record<string, any>> = {\n key?: 'data-table-group' | 'data-table-select' | 'data-table-expand' | (string & {})\n value?: SelectItemKey<T>\n title?: string\n\n fixed?: boolean | 'start' | 'end'\n align?: 'start' | 'end' | 'center'\n\n width?: number | string\n minWidth?: number | string\n maxWidth?: number | string\n nowrap?: boolean\n\n headerProps?: Record<string, any>\n cellProps?: HeaderCellProps\n\n sortable?: boolean\n sort?: DataTableCompareFunction\n sortRaw?: DataTableCompareFunction\n filter?: FilterFunction\n\n children?: DataTableHeader<T>[]\n}\n\nexport type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'children'> & {\n key: string | null\n value: SelectItemKey | null\n sortable: boolean\n fixedOffset?: number\n fixedEndOffset?: number\n lastFixed?: boolean\n firstFixedEnd?: boolean\n nowrap?: boolean\n colspan?: number\n rowspan?: number\n children?: InternalDataTableHeader[]\n}\n\nexport interface DataTableItem<T = any> extends Omit<InternalItem<T>, 'type'>, GroupableItem<T>, SelectableItem {\n key: any\n index: number\n columns: {\n [key: string]: any\n }\n}\n\nexport type GroupHeaderSlot = {\n index: number\n item: Group\n columns: InternalDataTableHeader[]\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']\n isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']\n}\n\ntype ItemSlotBase<T> = {\n index: number\n item: T\n internalItem: DataTableItem<T>\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n}\n\nexport type ItemSlot<T> = ItemSlotBase<T> & {\n columns: InternalDataTableHeader[]\n}\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any\n column: InternalDataTableHeader\n}\n\nexport type RowProps<T> = Record<string, any> | RowPropsFunction<T>\nexport type RowPropsFunction<T> = (\n data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem'>\n) => Record<string, any>\n\nexport type CellProps<T> = Record<string, any> | CellPropsFunction<T>\nexport type CellPropsFunction<T> = (\n data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem' | 'value' | 'column'>\n) => Record<string, any>\n\nexport type HeaderCellProps = Record<string, any> | HeaderCellPropsFunction\nexport type HeaderCellPropsFunction = (\n data: Pick<ItemKeySlot<any>, 'index' | 'item' | 'internalItem' | 'value'>\n) => Record<string, any>\n"],"mappings":"","ignoreList":[]}
@@ -173,7 +173,8 @@ export const VDatePicker = genericComponent()({
173
173
  }
174
174
  function allowedMonths(month) {
175
175
  if (typeof props.allowedDates === 'function') {
176
- const startOfMonth = adapter.parseISO(`${year.value}-${month + 1}-01`);
176
+ const monthTwoDigits = String(month + 1).padStart(2, '0');
177
+ const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`);
177
178
  return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth));
178
179
  }
179
180
  if (Array.isArray(props.allowedDates) && props.allowedDates.length) {