@vuetify/nightly 3.6.4-master.2024-05-09 → 3.6.5-master.2024-05-11

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 (65) hide show
  1. package/CHANGELOG.md +2 -11
  2. package/dist/_component-variables-labs.sass +1 -0
  3. package/dist/json/attributes.json +292 -4
  4. package/dist/json/importMap-labs.json +28 -16
  5. package/dist/json/importMap.json +120 -120
  6. package/dist/json/tags.json +87 -0
  7. package/dist/json/web-types.json +1313 -6
  8. package/dist/vuetify-labs.css +1683 -1615
  9. package/dist/vuetify-labs.d.ts +1669 -28
  10. package/dist/vuetify-labs.esm.js +310 -16
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +310 -16
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.css +963 -963
  15. package/dist/vuetify.d.ts +147 -69
  16. package/dist/vuetify.esm.js +50 -16
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +50 -16
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +51 -52
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VBtn/index.d.mts +2 -0
  24. package/lib/components/VDataTable/VDataTable.mjs +6 -2
  25. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  26. package/lib/components/VDataTable/VDataTableServer.mjs +3 -2
  27. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  28. package/lib/components/VDataTable/VDataTableVirtual.mjs +3 -1
  29. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  30. package/lib/components/VDataTable/index.d.mts +54 -0
  31. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +3 -1
  32. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  33. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -4
  34. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  35. package/lib/components/VExpansionPanel/index.d.mts +82 -27
  36. package/lib/components/VSlideGroup/index.d.mts +2 -0
  37. package/lib/components/VStepper/VStepper.mjs +5 -2
  38. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  39. package/lib/components/VStepper/VStepperItem.mjs +5 -2
  40. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  41. package/lib/components/VStepper/index.d.mts +1 -1
  42. package/lib/components/VTabs/index.d.mts +2 -0
  43. package/lib/components/VWindow/index.d.mts +2 -0
  44. package/lib/components/index.d.mts +102 -27
  45. package/lib/composables/group.mjs +8 -0
  46. package/lib/composables/group.mjs.map +1 -1
  47. package/lib/entry-bundler.mjs +1 -1
  48. package/lib/framework.mjs +1 -1
  49. package/lib/index.d.mts +45 -42
  50. package/lib/labs/VStepperVertical/VStepperVertical.mjs +106 -0
  51. package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -0
  52. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +38 -0
  53. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs.map +1 -0
  54. package/lib/labs/VStepperVertical/VStepperVerticalItem.css +69 -0
  55. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +134 -0
  56. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -0
  57. package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +74 -0
  58. package/lib/labs/VStepperVertical/_variables.scss +3 -0
  59. package/lib/labs/VStepperVertical/index.d.mts +1590 -0
  60. package/lib/labs/VStepperVertical/index.mjs +4 -0
  61. package/lib/labs/VStepperVertical/index.mjs.map +1 -0
  62. package/lib/labs/components.d.mts +1599 -20
  63. package/lib/labs/components.mjs +1 -0
  64. package/lib/labs/components.mjs.map +1 -1
  65. package/package.json +1 -1
@@ -1438,6 +1438,8 @@ interface GroupProvide {
1438
1438
  interface GroupItemProvide {
1439
1439
  id: number;
1440
1440
  isSelected: Ref<boolean>;
1441
+ isFirst: Ref<boolean>;
1442
+ isLast: Ref<boolean>;
1441
1443
  toggle: () => void;
1442
1444
  select: (value: boolean) => void;
1443
1445
  selectedClass: Ref<(string | undefined)[] | false>;
@@ -24160,6 +24162,8 @@ declare const VDataTable: {
24160
24162
  sortDescIcon: IconValue;
24161
24163
  fixedHeader: boolean;
24162
24164
  fixedFooter: boolean;
24165
+ hideDefaultFooter: boolean;
24166
+ hideDefaultHeader: boolean;
24163
24167
  } & {
24164
24168
  search?: string | undefined;
24165
24169
  class?: any;
@@ -24235,6 +24239,8 @@ declare const VDataTable: {
24235
24239
  sortDescIcon: IconValue;
24236
24240
  fixedHeader: boolean;
24237
24241
  fixedFooter: boolean;
24242
+ hideDefaultFooter: boolean;
24243
+ hideDefaultHeader: boolean;
24238
24244
  } & {
24239
24245
  search?: string | undefined;
24240
24246
  class?: any;
@@ -24301,6 +24307,8 @@ declare const VDataTable: {
24301
24307
  sortDescIcon: IconValue;
24302
24308
  fixedHeader: boolean;
24303
24309
  fixedFooter: boolean;
24310
+ hideDefaultFooter: boolean;
24311
+ hideDefaultHeader: boolean;
24304
24312
  }, true, {}, vue.SlotsType<Partial<{
24305
24313
  [x: `item.${string}`]: (arg: ItemKeySlot<any>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
24306
24314
  [key: string]: any;
@@ -24449,6 +24457,8 @@ declare const VDataTable: {
24449
24457
  sortDescIcon: IconValue;
24450
24458
  fixedHeader: boolean;
24451
24459
  fixedFooter: boolean;
24460
+ hideDefaultFooter: boolean;
24461
+ hideDefaultHeader: boolean;
24452
24462
  } & {
24453
24463
  search?: string | undefined;
24454
24464
  class?: any;
@@ -24515,6 +24525,8 @@ declare const VDataTable: {
24515
24525
  sortDescIcon: IconValue;
24516
24526
  fixedHeader: boolean;
24517
24527
  fixedFooter: boolean;
24528
+ hideDefaultFooter: boolean;
24529
+ hideDefaultHeader: boolean;
24518
24530
  }>;
24519
24531
  __isFragment?: undefined;
24520
24532
  __isTeleport?: undefined;
@@ -24563,6 +24575,8 @@ declare const VDataTable: {
24563
24575
  sortDescIcon: IconValue;
24564
24576
  fixedHeader: boolean;
24565
24577
  fixedFooter: boolean;
24578
+ hideDefaultFooter: boolean;
24579
+ hideDefaultHeader: boolean;
24566
24580
  } & {
24567
24581
  search?: string | undefined;
24568
24582
  class?: any;
@@ -24638,6 +24652,8 @@ declare const VDataTable: {
24638
24652
  sortDescIcon: IconValue;
24639
24653
  fixedHeader: boolean;
24640
24654
  fixedFooter: boolean;
24655
+ hideDefaultFooter: boolean;
24656
+ hideDefaultHeader: boolean;
24641
24657
  }, {}, string, vue.SlotsType<Partial<{
24642
24658
  [x: `item.${string}`]: (arg: ItemKeySlot<any>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
24643
24659
  [key: string]: any;
@@ -24985,6 +25001,8 @@ declare const VDataTable: {
24985
25001
  type: vue.PropType<readonly string[]>;
24986
25002
  default: () => never[];
24987
25003
  };
25004
+ hideDefaultFooter: BooleanConstructor;
25005
+ hideDefaultHeader: BooleanConstructor;
24988
25006
  width: (StringConstructor | NumberConstructor)[];
24989
25007
  search: StringConstructor;
24990
25008
  loadingText: {
@@ -25192,6 +25210,8 @@ declare const VDataTable: {
25192
25210
  type: vue.PropType<readonly string[]>;
25193
25211
  default: () => never[];
25194
25212
  };
25213
+ hideDefaultFooter: BooleanConstructor;
25214
+ hideDefaultHeader: BooleanConstructor;
25195
25215
  width: (StringConstructor | NumberConstructor)[];
25196
25216
  search: StringConstructor;
25197
25217
  loadingText: {
@@ -25530,6 +25550,8 @@ declare const VDataTableVirtual: {
25530
25550
  sortDescIcon: IconValue;
25531
25551
  fixedHeader: boolean;
25532
25552
  fixedFooter: boolean;
25553
+ hideDefaultFooter: boolean;
25554
+ hideDefaultHeader: boolean;
25533
25555
  } & {
25534
25556
  search?: string | undefined;
25535
25557
  class?: any;
@@ -25628,6 +25650,8 @@ declare const VDataTableVirtual: {
25628
25650
  sortDescIcon: IconValue;
25629
25651
  fixedHeader: boolean;
25630
25652
  fixedFooter: boolean;
25653
+ hideDefaultFooter: boolean;
25654
+ hideDefaultHeader: boolean;
25631
25655
  } & {
25632
25656
  search?: string | undefined;
25633
25657
  class?: any;
@@ -25720,6 +25744,8 @@ declare const VDataTableVirtual: {
25720
25744
  sortDescIcon: IconValue;
25721
25745
  fixedHeader: boolean;
25722
25746
  fixedFooter: boolean;
25747
+ hideDefaultFooter: boolean;
25748
+ hideDefaultHeader: boolean;
25723
25749
  }, true, {}, vue.SlotsType<Partial<{
25724
25750
  [x: `item.${string}`]: (arg: ItemKeySlot<any>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
25725
25751
  [key: string]: any;
@@ -25836,6 +25862,8 @@ declare const VDataTableVirtual: {
25836
25862
  sortDescIcon: IconValue;
25837
25863
  fixedHeader: boolean;
25838
25864
  fixedFooter: boolean;
25865
+ hideDefaultFooter: boolean;
25866
+ hideDefaultHeader: boolean;
25839
25867
  } & {
25840
25868
  search?: string | undefined;
25841
25869
  class?: any;
@@ -25928,6 +25956,8 @@ declare const VDataTableVirtual: {
25928
25956
  sortDescIcon: IconValue;
25929
25957
  fixedHeader: boolean;
25930
25958
  fixedFooter: boolean;
25959
+ hideDefaultFooter: boolean;
25960
+ hideDefaultHeader: boolean;
25931
25961
  }>;
25932
25962
  __isFragment?: undefined;
25933
25963
  __isTeleport?: undefined;
@@ -25960,6 +25990,8 @@ declare const VDataTableVirtual: {
25960
25990
  sortDescIcon: IconValue;
25961
25991
  fixedHeader: boolean;
25962
25992
  fixedFooter: boolean;
25993
+ hideDefaultFooter: boolean;
25994
+ hideDefaultHeader: boolean;
25963
25995
  } & {
25964
25996
  search?: string | undefined;
25965
25997
  class?: any;
@@ -26058,6 +26090,8 @@ declare const VDataTableVirtual: {
26058
26090
  sortDescIcon: IconValue;
26059
26091
  fixedHeader: boolean;
26060
26092
  fixedFooter: boolean;
26093
+ hideDefaultFooter: boolean;
26094
+ hideDefaultHeader: boolean;
26061
26095
  }, {}, string, vue.SlotsType<Partial<{
26062
26096
  [x: `item.${string}`]: (arg: ItemKeySlot<any>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
26063
26097
  [key: string]: any;
@@ -26296,6 +26330,8 @@ declare const VDataTableVirtual: {
26296
26330
  type: vue.PropType<readonly string[]>;
26297
26331
  default: () => never[];
26298
26332
  };
26333
+ hideDefaultFooter: BooleanConstructor;
26334
+ hideDefaultHeader: BooleanConstructor;
26299
26335
  width: (StringConstructor | NumberConstructor)[];
26300
26336
  search: StringConstructor;
26301
26337
  loadingText: {
@@ -26448,6 +26484,8 @@ declare const VDataTableVirtual: {
26448
26484
  type: vue.PropType<readonly string[]>;
26449
26485
  default: () => never[];
26450
26486
  };
26487
+ hideDefaultFooter: BooleanConstructor;
26488
+ hideDefaultHeader: BooleanConstructor;
26451
26489
  width: (StringConstructor | NumberConstructor)[];
26452
26490
  search: StringConstructor;
26453
26491
  loadingText: {
@@ -26507,6 +26545,8 @@ declare const VDataTableServer: {
26507
26545
  sortDescIcon: IconValue;
26508
26546
  fixedHeader: boolean;
26509
26547
  fixedFooter: boolean;
26548
+ hideDefaultFooter: boolean;
26549
+ hideDefaultHeader: boolean;
26510
26550
  } & {
26511
26551
  search?: string | undefined;
26512
26552
  class?: any;
@@ -26621,6 +26661,8 @@ declare const VDataTableServer: {
26621
26661
  sortDescIcon: IconValue;
26622
26662
  fixedHeader: boolean;
26623
26663
  fixedFooter: boolean;
26664
+ hideDefaultFooter: boolean;
26665
+ hideDefaultHeader: boolean;
26624
26666
  } & {
26625
26667
  search?: string | undefined;
26626
26668
  class?: any;
@@ -26726,6 +26768,8 @@ declare const VDataTableServer: {
26726
26768
  sortDescIcon: IconValue;
26727
26769
  fixedHeader: boolean;
26728
26770
  fixedFooter: boolean;
26771
+ hideDefaultFooter: boolean;
26772
+ hideDefaultHeader: boolean;
26729
26773
  }, true, {}, vue.SlotsType<Partial<{
26730
26774
  [x: `item.${string}`]: (arg: ItemKeySlot<any>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
26731
26775
  [key: string]: any;
@@ -26873,6 +26917,8 @@ declare const VDataTableServer: {
26873
26917
  sortDescIcon: IconValue;
26874
26918
  fixedHeader: boolean;
26875
26919
  fixedFooter: boolean;
26920
+ hideDefaultFooter: boolean;
26921
+ hideDefaultHeader: boolean;
26876
26922
  } & {
26877
26923
  search?: string | undefined;
26878
26924
  class?: any;
@@ -26978,6 +27024,8 @@ declare const VDataTableServer: {
26978
27024
  sortDescIcon: IconValue;
26979
27025
  fixedHeader: boolean;
26980
27026
  fixedFooter: boolean;
27027
+ hideDefaultFooter: boolean;
27028
+ hideDefaultHeader: boolean;
26981
27029
  }>;
26982
27030
  __isFragment?: undefined;
26983
27031
  __isTeleport?: undefined;
@@ -27025,6 +27073,8 @@ declare const VDataTableServer: {
27025
27073
  sortDescIcon: IconValue;
27026
27074
  fixedHeader: boolean;
27027
27075
  fixedFooter: boolean;
27076
+ hideDefaultFooter: boolean;
27077
+ hideDefaultHeader: boolean;
27028
27078
  } & {
27029
27079
  search?: string | undefined;
27030
27080
  class?: any;
@@ -27138,6 +27188,8 @@ declare const VDataTableServer: {
27138
27188
  sortDescIcon: IconValue;
27139
27189
  fixedHeader: boolean;
27140
27190
  fixedFooter: boolean;
27191
+ hideDefaultFooter: boolean;
27192
+ hideDefaultHeader: boolean;
27141
27193
  }, {}, string, vue.SlotsType<Partial<{
27142
27194
  [x: `item.${string}`]: (arg: ItemKeySlot<any>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
27143
27195
  [key: string]: any;
@@ -27431,6 +27483,8 @@ declare const VDataTableServer: {
27431
27483
  type: vue.PropType<readonly string[]>;
27432
27484
  default: () => never[];
27433
27485
  };
27486
+ hideDefaultFooter: BooleanConstructor;
27487
+ hideDefaultHeader: BooleanConstructor;
27434
27488
  width: (StringConstructor | NumberConstructor)[];
27435
27489
  search: StringConstructor;
27436
27490
  loadingText: {
@@ -27634,6 +27688,8 @@ declare const VDataTableServer: {
27634
27688
  type: vue.PropType<readonly string[]>;
27635
27689
  default: () => never[];
27636
27690
  };
27691
+ hideDefaultFooter: BooleanConstructor;
27692
+ hideDefaultHeader: BooleanConstructor;
27637
27693
  width: (StringConstructor | NumberConstructor)[];
27638
27694
  search: StringConstructor;
27639
27695
  loadingText: {
@@ -32184,6 +32240,10 @@ declare const VEmptyState: {
32184
32240
  }>>;
32185
32241
  type VEmptyState = InstanceType<typeof VEmptyState>;
32186
32242
 
32243
+ type VExpansionPanelSlot = {
32244
+ prev: () => void;
32245
+ next: () => void;
32246
+ };
32187
32247
  declare const VExpansionPanels: {
32188
32248
  new (...args: any[]): vue.CreateComponentPublicInstance<{
32189
32249
  flat: boolean;
@@ -32219,16 +32279,19 @@ declare const VExpansionPanels: {
32219
32279
  bgColor?: string | undefined;
32220
32280
  } & {
32221
32281
  $children?: vue.VNodeChild | {
32222
- default?: (() => vue.VNodeChild) | undefined;
32223
- } | (() => vue.VNodeChild);
32282
+ default?: ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32283
+ } | ((arg: VExpansionPanelSlot) => vue.VNodeChild);
32224
32284
  'v-slots'?: {
32225
- default?: false | (() => vue.VNodeChild) | undefined;
32285
+ default?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32226
32286
  } | undefined;
32227
32287
  } & {
32228
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
32288
+ "v-slot:default"?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32229
32289
  } & {
32230
32290
  "onUpdate:modelValue"?: ((val: unknown) => any) | undefined;
32231
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32291
+ }, {
32292
+ next: () => void;
32293
+ prev: () => void;
32294
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32232
32295
  'update:modelValue': (val: unknown) => boolean;
32233
32296
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
32234
32297
  flat: boolean;
@@ -32264,13 +32327,13 @@ declare const VExpansionPanels: {
32264
32327
  bgColor?: string | undefined;
32265
32328
  } & {
32266
32329
  $children?: vue.VNodeChild | {
32267
- default?: (() => vue.VNodeChild) | undefined;
32268
- } | (() => vue.VNodeChild);
32330
+ default?: ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32331
+ } | ((arg: VExpansionPanelSlot) => vue.VNodeChild);
32269
32332
  'v-slots'?: {
32270
- default?: false | (() => vue.VNodeChild) | undefined;
32333
+ default?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32271
32334
  } | undefined;
32272
32335
  } & {
32273
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
32336
+ "v-slot:default"?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32274
32337
  } & {
32275
32338
  "onUpdate:modelValue"?: ((val: unknown) => any) | undefined;
32276
32339
  }, {
@@ -32294,7 +32357,7 @@ declare const VExpansionPanels: {
32294
32357
  hideActions: boolean;
32295
32358
  focusable: boolean;
32296
32359
  }, true, {}, vue.SlotsType<Partial<{
32297
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
32360
+ default: (arg: VExpansionPanelSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
32298
32361
  [key: string]: any;
32299
32362
  }>[];
32300
32363
  }>>, {
@@ -32338,16 +32401,19 @@ declare const VExpansionPanels: {
32338
32401
  bgColor?: string | undefined;
32339
32402
  } & {
32340
32403
  $children?: vue.VNodeChild | {
32341
- default?: (() => vue.VNodeChild) | undefined;
32342
- } | (() => vue.VNodeChild);
32404
+ default?: ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32405
+ } | ((arg: VExpansionPanelSlot) => vue.VNodeChild);
32343
32406
  'v-slots'?: {
32344
- default?: false | (() => vue.VNodeChild) | undefined;
32407
+ default?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32345
32408
  } | undefined;
32346
32409
  } & {
32347
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
32410
+ "v-slot:default"?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32348
32411
  } & {
32349
32412
  "onUpdate:modelValue"?: ((val: unknown) => any) | undefined;
32350
- }, {}, {}, {}, {}, {
32413
+ }, {
32414
+ next: () => void;
32415
+ prev: () => void;
32416
+ }, {}, {}, {}, {
32351
32417
  flat: boolean;
32352
32418
  style: vue.StyleValue;
32353
32419
  disabled: boolean;
@@ -32405,16 +32471,19 @@ declare const VExpansionPanels: {
32405
32471
  bgColor?: string | undefined;
32406
32472
  } & {
32407
32473
  $children?: vue.VNodeChild | {
32408
- default?: (() => vue.VNodeChild) | undefined;
32409
- } | (() => vue.VNodeChild);
32474
+ default?: ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32475
+ } | ((arg: VExpansionPanelSlot) => vue.VNodeChild);
32410
32476
  'v-slots'?: {
32411
- default?: false | (() => vue.VNodeChild) | undefined;
32477
+ default?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32412
32478
  } | undefined;
32413
32479
  } & {
32414
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
32480
+ "v-slot:default"?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
32415
32481
  } & {
32416
32482
  "onUpdate:modelValue"?: ((val: unknown) => any) | undefined;
32417
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32483
+ }, {
32484
+ next: () => void;
32485
+ prev: () => void;
32486
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32418
32487
  'update:modelValue': (val: unknown) => boolean;
32419
32488
  }, string, {
32420
32489
  flat: boolean;
@@ -32437,7 +32506,7 @@ declare const VExpansionPanels: {
32437
32506
  hideActions: boolean;
32438
32507
  focusable: boolean;
32439
32508
  }, {}, string, vue.SlotsType<Partial<{
32440
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
32509
+ default: (arg: VExpansionPanelSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
32441
32510
  [key: string]: any;
32442
32511
  }>[];
32443
32512
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
@@ -32606,10 +32675,12 @@ declare const VExpansionPanel: {
32606
32675
  "onGroup:selected"?: ((val: {
32607
32676
  value: boolean;
32608
32677
  }) => any) | undefined;
32609
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32678
+ }, {
32679
+ groupItem: GroupItemProvide;
32680
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32610
32681
  'group:selected': (val: {
32611
32682
  value: boolean;
32612
- }) => boolean;
32683
+ }) => true;
32613
32684
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
32614
32685
  style: vue.StyleValue;
32615
32686
  disabled: boolean;
@@ -32731,7 +32802,9 @@ declare const VExpansionPanel: {
32731
32802
  "onGroup:selected"?: ((val: {
32732
32803
  value: boolean;
32733
32804
  }) => any) | undefined;
32734
- }, {}, {}, {}, {}, {
32805
+ }, {
32806
+ groupItem: GroupItemProvide;
32807
+ }, {}, {}, {}, {
32735
32808
  style: vue.StyleValue;
32736
32809
  disabled: boolean;
32737
32810
  tag: string;
@@ -32795,10 +32868,12 @@ declare const VExpansionPanel: {
32795
32868
  "onGroup:selected"?: ((val: {
32796
32869
  value: boolean;
32797
32870
  }) => any) | undefined;
32798
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32871
+ }, {
32872
+ groupItem: GroupItemProvide;
32873
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
32799
32874
  'group:selected': (val: {
32800
32875
  value: boolean;
32801
- }) => boolean;
32876
+ }) => true;
32802
32877
  }, string, {
32803
32878
  style: vue.StyleValue;
32804
32879
  disabled: boolean;
@@ -57674,6 +57749,7 @@ declare const VSpeedDial: {
57674
57749
  }>>;
57675
57750
  type VSpeedDial = InstanceType<typeof VSpeedDial>;
57676
57751
 
57752
+ type StepperItem = string | Record<string, any>;
57677
57753
  type StepperItemSlot = {
57678
57754
  canEdit: boolean;
57679
57755
  hasError: boolean;
@@ -57998,7 +58074,6 @@ declare const VStepperItem: {
57998
58074
  }>>;
57999
58075
  type VStepperItem = InstanceType<typeof VStepperItem>;
58000
58076
 
58001
- type StepperItem = string | Record<string, any>;
58002
58077
  type VStepperSlot = {
58003
58078
  prev: () => void;
58004
58079
  next: () => void;
@@ -47,6 +47,12 @@ export function useGroupItem(props, injectKey) {
47
47
  const isSelected = computed(() => {
48
48
  return group.isSelected(id);
49
49
  });
50
+ const isFirst = computed(() => {
51
+ return group.items.value[0].id === id;
52
+ });
53
+ const isLast = computed(() => {
54
+ return group.items.value[group.items.value.length - 1].id === id;
55
+ });
50
56
  const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass]);
51
57
  watch(isSelected, value => {
52
58
  vm.emit('group:selected', {
@@ -58,6 +64,8 @@ export function useGroupItem(props, injectKey) {
58
64
  return {
59
65
  id,
60
66
  isSelected,
67
+ isFirst,
68
+ isLast,
61
69
  toggle: () => group.select(id, !isSelected.value),
62
70
  select: value => group.select(id, value),
63
71
  selectedClass,
@@ -1 +1 @@
1
- {"version":3,"file":"group.mjs","names":["useProxiedModel","computed","inject","onBeforeUnmount","onMounted","onUpdated","provide","reactive","toRef","unref","watch","consoleWarn","deepEqual","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","wrapInArray","makeGroupProps","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","makeGroupItemProps","value","useGroupItem","props","injectKey","required","arguments","length","vm","Error","id","Symbol","for","description","group","register","unregister","isSelected","emit","flush","toggle","select","useGroup","isUnmounted","items","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","vnode","index","indexOf","useIndexAsValue","splice","push","forceMandatoryValue","findIndex","find","i","internalValue","slice","includes","step","offset","currentId","currentIndex","newIndex","newItem","state","prev","next","getItemIndex","ids","forEach","itemByIndex","values","itemIndex"],"sources":["../../src/composables/group.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, onUpdated, provide, reactive, toRef, unref, watch } from 'vue'\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\nimport type { EventProp } from '@/util'\n\nexport interface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n useIndexAsValue?: boolean\n}\n\nexport interface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple?: boolean\n mandatory?: boolean | 'force' | undefined\n max?: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': EventProp<[unknown]> | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<Readonly<number[]>>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n items: ComputedRef<{\n id: number\n value: unknown\n disabled: boolean | undefined\n }[]>\n disabled: Ref<boolean | undefined>\n getItemIndex: (value: unknown) => number\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<(string | undefined)[] | false>\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\nexport interface GroupItemProps extends ExtractPropTypes<ReturnType<typeof makeGroupItemProps>> {\n 'onGroup:selected': EventProp<[{ value: boolean }]> | undefined\n}\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const id = getUid()\n\n provide(Symbol.for(`${injectKey.description}:id`), id)\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const value = toRef(props, 'value')\n const disabled = computed(() => !!(group.disabled.value || props.disabled))\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass])\n\n watch(isSelected, value => {\n vm.emit('group:selected', { value })\n }, { flush: 'sync' })\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n let isUnmounted = false\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n\n const key = Symbol.for(`${injectKey.description}:id`)\n const children = findChildrenWithProvide(key, groupVm?.vnode)\n const index = children.indexOf(vm)\n\n if (unref(unwrapped.value) == null) {\n unwrapped.value = index\n unwrapped.useIndexAsValue = true\n }\n\n if (index > -1) {\n items.splice(index, 0, unwrapped)\n } else {\n items.push(unwrapped)\n }\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n onUpdated(() => {\n // #19655 update the items that use the index as the value.\n for (let i = 0; i < items.length; i++) {\n if (items[i].useIndexAsValue) {\n items[i].value = i\n }\n }\n })\n\n function select (id: number, value?: boolean) {\n const item = items.find(item => item.id === id)\n if (value && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n const isSelected = ~index\n value = value ?? !isSelected\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n isSelected &&\n props.mandatory &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && value) internalValue.push(id)\n else if (index >= 0 && !value) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n const isSelected = selected.value.includes(id)\n if (props.mandatory && isSelected) return\n\n selected.value = (value ?? !isSelected) ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state: GroupProvide = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: (value: unknown) => getItemIndex(items, value),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getItemIndex (items: UnwrapRef<GroupItem[]>, value: unknown) {\n const ids = getIds(items, [value])\n\n if (!ids.length) return -1\n\n return items.findIndex(item => item.id === ids[0])\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids: number[] = []\n\n modelValue.forEach(value => {\n const item = items.find(item => deepEqual(value, item.value))\n const itemByIndex = items[value]\n\n if (item?.value != null) {\n ids.push(item.id)\n } else if (itemByIndex != null) {\n ids.push(itemByIndex.id)\n }\n })\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values: unknown[] = []\n\n ids.forEach(id => {\n const itemIndex = items.findIndex(item => item.id === id)\n if (~itemIndex) {\n const item = items[itemIndex]\n values.push(item.value != null ? item.value : itemIndex)\n }\n })\n\n return values\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"group.mjs","names":["useProxiedModel","computed","inject","onBeforeUnmount","onMounted","onUpdated","provide","reactive","toRef","unref","watch","consoleWarn","deepEqual","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","wrapInArray","makeGroupProps","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","makeGroupItemProps","value","useGroupItem","props","injectKey","required","arguments","length","vm","Error","id","Symbol","for","description","group","register","unregister","isSelected","isFirst","items","isLast","emit","flush","toggle","select","useGroup","isUnmounted","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","vnode","index","indexOf","useIndexAsValue","splice","push","forceMandatoryValue","findIndex","find","i","internalValue","slice","includes","step","offset","currentId","currentIndex","newIndex","newItem","state","prev","next","getItemIndex","ids","forEach","itemByIndex","values","itemIndex"],"sources":["../../src/composables/group.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, onUpdated, provide, reactive, toRef, unref, watch } from 'vue'\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\nimport type { EventProp } from '@/util'\n\nexport interface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n useIndexAsValue?: boolean\n}\n\nexport interface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple?: boolean\n mandatory?: boolean | 'force' | undefined\n max?: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': EventProp<[unknown]> | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<Readonly<number[]>>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n items: ComputedRef<{\n id: number\n value: unknown\n disabled: boolean | undefined\n }[]>\n disabled: Ref<boolean | undefined>\n getItemIndex: (value: unknown) => number\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n isFirst: Ref<boolean>\n isLast: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<(string | undefined)[] | false>\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\nexport interface GroupItemProps extends ExtractPropTypes<ReturnType<typeof makeGroupItemProps>> {\n 'onGroup:selected': EventProp<[{ value: boolean }]> | undefined\n}\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const id = getUid()\n\n provide(Symbol.for(`${injectKey.description}:id`), id)\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const value = toRef(props, 'value')\n const disabled = computed(() => !!(group.disabled.value || props.disabled))\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n const isFirst = computed(() => {\n return group.items.value[0].id === id\n })\n const isLast = computed(() => {\n return group.items.value[group.items.value.length - 1].id === id\n })\n\n const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass])\n\n watch(isSelected, value => {\n vm.emit('group:selected', { value })\n }, { flush: 'sync' })\n\n return {\n id,\n isSelected,\n isFirst,\n isLast,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n let isUnmounted = false\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n\n const key = Symbol.for(`${injectKey.description}:id`)\n const children = findChildrenWithProvide(key, groupVm?.vnode)\n const index = children.indexOf(vm)\n\n if (unref(unwrapped.value) == null) {\n unwrapped.value = index\n unwrapped.useIndexAsValue = true\n }\n\n if (index > -1) {\n items.splice(index, 0, unwrapped)\n } else {\n items.push(unwrapped)\n }\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n onUpdated(() => {\n // #19655 update the items that use the index as the value.\n for (let i = 0; i < items.length; i++) {\n if (items[i].useIndexAsValue) {\n items[i].value = i\n }\n }\n })\n\n function select (id: number, value?: boolean) {\n const item = items.find(item => item.id === id)\n if (value && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n const isSelected = ~index\n value = value ?? !isSelected\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n isSelected &&\n props.mandatory &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && value) internalValue.push(id)\n else if (index >= 0 && !value) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n const isSelected = selected.value.includes(id)\n if (props.mandatory && isSelected) return\n\n selected.value = (value ?? !isSelected) ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state: GroupProvide = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: (value: unknown) => getItemIndex(items, value),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getItemIndex (items: UnwrapRef<GroupItem[]>, value: unknown) {\n const ids = getIds(items, [value])\n\n if (!ids.length) return -1\n\n return items.findIndex(item => item.id === ids[0])\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids: number[] = []\n\n modelValue.forEach(value => {\n const item = items.find(item => deepEqual(value, item.value))\n const itemByIndex = items[value]\n\n if (item?.value != null) {\n ids.push(item.id)\n } else if (itemByIndex != null) {\n ids.push(itemByIndex.id)\n }\n })\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values: unknown[] = []\n\n ids.forEach(id => {\n const itemIndex = items.findIndex(item => item.id === id)\n if (~itemIndex) {\n const item = items[itemIndex]\n values.push(item.value != null ? item.value : itemIndex)\n }\n })\n\n return values\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.6.4-master.2024-05-09";
19
+ export const version = "3.6.5-master.2024-05-11";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.6.4-master.2024-05-09";
100
+ export const version = "3.6.5-master.2024-05-11";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup