vuetify 3.6.3 → 3.6.4

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 (127) hide show
  1. package/dist/json/attributes.json +197 -57
  2. package/dist/json/importMap-labs.json +8 -8
  3. package/dist/json/importMap.json +128 -128
  4. package/dist/json/tags.json +36 -1
  5. package/dist/json/web-types.json +527 -117
  6. package/dist/vuetify-labs.css +2640 -2342
  7. package/dist/vuetify-labs.d.ts +1891 -1542
  8. package/dist/vuetify-labs.esm.js +161 -152
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +160 -151
  11. package/dist/vuetify-labs.min.css +3 -3
  12. package/dist/vuetify.css +871 -577
  13. package/dist/vuetify.d.ts +1331 -1338
  14. package/dist/vuetify.esm.js +108 -77
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +107 -76
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +3 -3
  19. package/dist/vuetify.min.js +981 -977
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +3 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VAutocomplete/index.d.mts +187 -158
  25. package/lib/components/VAvatar/VAvatar.css +3 -1
  26. package/lib/components/VBanner/index.d.mts +11 -11
  27. package/lib/components/VBottomSheet/index.d.mts +42 -42
  28. package/lib/components/VBtn/VBtn.css +3 -1
  29. package/lib/components/VCard/VCard.css +3 -1
  30. package/lib/components/VCarousel/index.d.mts +6 -6
  31. package/lib/components/VChip/VChip.css +3 -1
  32. package/lib/components/VChipGroup/index.d.mts +11 -11
  33. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +1 -1
  34. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  35. package/lib/components/VCombobox/index.d.mts +187 -158
  36. package/lib/components/VDataIterator/index.d.mts +1 -1
  37. package/lib/components/VDataTable/VDataTable.css +1 -1
  38. package/lib/components/VDataTable/VDataTable.sass +2 -1
  39. package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
  40. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  41. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  42. package/lib/components/VDataTable/composables/select.mjs +2 -1
  43. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  44. package/lib/components/VDataTable/index.d.mts +76 -71
  45. package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -4
  46. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  47. package/lib/components/VDialog/index.d.mts +126 -126
  48. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  49. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  50. package/lib/components/VFileInput/index.d.mts +9 -9
  51. package/lib/components/VImg/index.d.mts +6 -6
  52. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  53. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  54. package/lib/components/VList/VList.mjs.map +1 -1
  55. package/lib/components/VList/VListItem.css +3 -1
  56. package/lib/components/VList/VListItem.mjs +3 -2
  57. package/lib/components/VList/VListItem.mjs.map +1 -1
  58. package/lib/components/VList/index.d.mts +76 -52
  59. package/lib/components/VMenu/index.d.mts +126 -126
  60. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +3 -1
  61. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  62. package/lib/components/VNavigationDrawer/index.d.mts +19 -13
  63. package/lib/components/VOverlay/VOverlay.mjs +2 -5
  64. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  65. package/lib/components/VOverlay/index.d.mts +42 -42
  66. package/lib/components/VOverlay/useActivator.mjs +5 -5
  67. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  68. package/lib/components/VResponsive/VResponsive.mjs +1 -1
  69. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  70. package/lib/components/VResponsive/index.d.mts +6 -6
  71. package/lib/components/VSelect/index.d.mts +187 -158
  72. package/lib/components/VSheet/VSheet.css +1 -1
  73. package/lib/components/VSheet/_variables.scss +1 -1
  74. package/lib/components/VSlideGroup/VSlideGroup.mjs +25 -25
  75. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  76. package/lib/components/VSlideGroup/index.d.mts +11 -11
  77. package/lib/components/VSlider/VSliderThumb.css +5 -0
  78. package/lib/components/VSlider/VSliderThumb.sass +3 -0
  79. package/lib/components/VSlider/VSliderTrack.css +15 -0
  80. package/lib/components/VSlider/VSliderTrack.sass +9 -0
  81. package/lib/components/VSnackbar/VSnackbar.css +3 -1
  82. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  83. package/lib/components/VSnackbar/index.d.mts +126 -126
  84. package/lib/components/VSpeedDial/index.d.mts +42 -42
  85. package/lib/components/VStepper/VStepperWindow.mjs +2 -1
  86. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  87. package/lib/components/VStepper/VStepperWindowItem.mjs +2 -1
  88. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
  89. package/lib/components/VTabs/VTabs.mjs +8 -3
  90. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  91. package/lib/components/VTabs/VTabsWindow.mjs +2 -1
  92. package/lib/components/VTabs/VTabsWindow.mjs.map +1 -1
  93. package/lib/components/VTabs/index.d.mts +11 -11
  94. package/lib/components/VToolbar/VToolbar.css +5 -5
  95. package/lib/components/VToolbar/_variables.scss +3 -3
  96. package/lib/components/VTooltip/index.d.mts +126 -126
  97. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  98. package/lib/components/index.d.mts +1291 -1298
  99. package/lib/composables/component.mjs +1 -1
  100. package/lib/composables/component.mjs.map +1 -1
  101. package/lib/composables/display.mjs +1 -1
  102. package/lib/composables/display.mjs.map +1 -1
  103. package/lib/composables/nested/activeStrategies.mjs +16 -10
  104. package/lib/composables/nested/activeStrategies.mjs.map +1 -1
  105. package/lib/composables/nested/nested.mjs +7 -5
  106. package/lib/composables/nested/nested.mjs.map +1 -1
  107. package/lib/composables/resizeObserver.mjs +5 -5
  108. package/lib/composables/resizeObserver.mjs.map +1 -1
  109. package/lib/entry-bundler.mjs +1 -1
  110. package/lib/framework.mjs +1 -1
  111. package/lib/index.d.mts +40 -40
  112. package/lib/labs/VCalendar/VCalendar.css +5 -1
  113. package/lib/labs/VCalendar/VCalendar.sass +3 -2
  114. package/lib/labs/VCalendar/_variables.scss +8 -0
  115. package/lib/labs/VNumberInput/VNumberInput.mjs +57 -81
  116. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  117. package/lib/labs/VNumberInput/index.d.mts +402 -34
  118. package/lib/labs/VSnackbarQueue/index.d.mts +138 -138
  119. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  120. package/lib/labs/VTreeview/index.d.mts +88 -64
  121. package/lib/labs/components.d.mts +620 -235
  122. package/lib/styles/generic/_colors.scss +1 -0
  123. package/lib/styles/main.css +260 -0
  124. package/lib/styles/tools/_variant.sass +3 -1
  125. package/lib/util/helpers.mjs +16 -0
  126. package/lib/util/helpers.mjs.map +1 -1
  127. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, Ref, EffectScope } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, ComponentPublicInstance, Ref, EffectScope } from 'vue';
3
3
 
4
4
  declare const block: readonly ["top", "bottom"];
5
5
  declare const inline: readonly ["start", "end", "left", "right"];
@@ -28,6 +28,12 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
28
28
  filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
29
29
  }
30
30
 
31
+ type TemplateRef = {
32
+ (target: Element | ComponentPublicInstance | null): void;
33
+ value: HTMLElement | ComponentPublicInstance | null | undefined;
34
+ readonly el: HTMLElement | undefined;
35
+ };
36
+
31
37
  interface ScrollStrategyData {
32
38
  root: Ref<HTMLElement | undefined>;
33
39
  contentEl: Ref<HTMLElement | undefined>;
@@ -95,7 +101,7 @@ declare const VSpeedDial: {
95
101
  component: vue.Component;
96
102
  }>;
97
103
  zIndex: string | number;
98
- modelValue: boolean | null;
104
+ modelValue: boolean;
99
105
  origin: Anchor | "auto" | "overlap";
100
106
  minWidth: NonNullable<string | number>;
101
107
  eager: boolean;
@@ -120,13 +126,13 @@ declare const VSpeedDial: {
120
126
  width?: string | number | undefined;
121
127
  height?: string | number | undefined;
122
128
  theme?: string | undefined;
123
- target?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
129
+ target?: Element | vue.ComponentPublicInstance | (string & {}) | "parent" | "cursor" | [x: number, y: number] | undefined;
124
130
  contentClass?: any;
125
131
  opacity?: string | number | undefined;
126
132
  maxHeight?: string | number | undefined;
127
133
  maxWidth?: string | number | undefined;
128
134
  minHeight?: string | number | undefined;
129
- activator?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined;
135
+ activator?: Element | vue.ComponentPublicInstance | (string & {}) | "parent" | undefined;
130
136
  openOnClick?: boolean | undefined;
131
137
  openOnFocus?: boolean | undefined;
132
138
  contentProps?: any;
@@ -139,7 +145,7 @@ declare const VSpeedDial: {
139
145
  activator?: ((arg: {
140
146
  isActive: boolean;
141
147
  props: Record<string, any>;
142
- targetRef: vue.Ref<any>;
148
+ targetRef: TemplateRef;
143
149
  }) => vue.VNodeChild) | undefined;
144
150
  } | ((arg: {
145
151
  isActive: vue.Ref<boolean>;
@@ -151,7 +157,7 @@ declare const VSpeedDial: {
151
157
  activator?: false | ((arg: {
152
158
  isActive: boolean;
153
159
  props: Record<string, any>;
154
- targetRef: vue.Ref<any>;
160
+ targetRef: TemplateRef;
155
161
  }) => vue.VNodeChild) | undefined;
156
162
  } | undefined;
157
163
  } & {
@@ -161,7 +167,7 @@ declare const VSpeedDial: {
161
167
  "v-slot:activator"?: false | ((arg: {
162
168
  isActive: boolean;
163
169
  props: Record<string, any>;
164
- targetRef: vue.Ref<any>;
170
+ targetRef: TemplateRef;
165
171
  }) => vue.VNodeChild) | undefined;
166
172
  } & {
167
173
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -177,7 +183,7 @@ declare const VSpeedDial: {
177
183
  component: vue.Component;
178
184
  }>;
179
185
  zIndex: string | number;
180
- modelValue: boolean | null;
186
+ modelValue: boolean;
181
187
  origin: Anchor | "auto" | "overlap";
182
188
  minWidth: NonNullable<string | number>;
183
189
  eager: boolean;
@@ -202,13 +208,13 @@ declare const VSpeedDial: {
202
208
  width?: string | number | undefined;
203
209
  height?: string | number | undefined;
204
210
  theme?: string | undefined;
205
- target?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
211
+ target?: Element | vue.ComponentPublicInstance | (string & {}) | "parent" | "cursor" | [x: number, y: number] | undefined;
206
212
  contentClass?: any;
207
213
  opacity?: string | number | undefined;
208
214
  maxHeight?: string | number | undefined;
209
215
  maxWidth?: string | number | undefined;
210
216
  minHeight?: string | number | undefined;
211
- activator?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined;
217
+ activator?: Element | vue.ComponentPublicInstance | (string & {}) | "parent" | undefined;
212
218
  openOnClick?: boolean | undefined;
213
219
  openOnFocus?: boolean | undefined;
214
220
  contentProps?: any;
@@ -221,7 +227,7 @@ declare const VSpeedDial: {
221
227
  activator?: ((arg: {
222
228
  isActive: boolean;
223
229
  props: Record<string, any>;
224
- targetRef: vue.Ref<any>;
230
+ targetRef: TemplateRef;
225
231
  }) => vue.VNodeChild) | undefined;
226
232
  } | ((arg: {
227
233
  isActive: vue.Ref<boolean>;
@@ -233,7 +239,7 @@ declare const VSpeedDial: {
233
239
  activator?: false | ((arg: {
234
240
  isActive: boolean;
235
241
  props: Record<string, any>;
236
- targetRef: vue.Ref<any>;
242
+ targetRef: TemplateRef;
237
243
  }) => vue.VNodeChild) | undefined;
238
244
  } | undefined;
239
245
  } & {
@@ -243,7 +249,7 @@ declare const VSpeedDial: {
243
249
  "v-slot:activator"?: false | ((arg: {
244
250
  isActive: boolean;
245
251
  props: Record<string, any>;
246
- targetRef: vue.Ref<any>;
252
+ targetRef: TemplateRef;
247
253
  }) => vue.VNodeChild) | undefined;
248
254
  } & {
249
255
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -257,7 +263,7 @@ declare const VSpeedDial: {
257
263
  component: vue.Component;
258
264
  }>;
259
265
  zIndex: string | number;
260
- modelValue: boolean | null;
266
+ modelValue: boolean;
261
267
  origin: Anchor | "auto" | "overlap";
262
268
  minWidth: NonNullable<string | number>;
263
269
  eager: boolean;
@@ -287,7 +293,7 @@ declare const VSpeedDial: {
287
293
  activator: (arg: {
288
294
  isActive: boolean;
289
295
  props: Record<string, any>;
290
- targetRef: vue.Ref<any>;
296
+ targetRef: TemplateRef;
291
297
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
292
298
  [key: string]: any;
293
299
  }>[];
@@ -308,7 +314,7 @@ declare const VSpeedDial: {
308
314
  component: vue.Component;
309
315
  }>;
310
316
  zIndex: string | number;
311
- modelValue: boolean | null;
317
+ modelValue: boolean;
312
318
  origin: Anchor | "auto" | "overlap";
313
319
  minWidth: NonNullable<string | number>;
314
320
  eager: boolean;
@@ -333,13 +339,13 @@ declare const VSpeedDial: {
333
339
  width?: string | number | undefined;
334
340
  height?: string | number | undefined;
335
341
  theme?: string | undefined;
336
- target?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
342
+ target?: Element | vue.ComponentPublicInstance | (string & {}) | "parent" | "cursor" | [x: number, y: number] | undefined;
337
343
  contentClass?: any;
338
344
  opacity?: string | number | undefined;
339
345
  maxHeight?: string | number | undefined;
340
346
  maxWidth?: string | number | undefined;
341
347
  minHeight?: string | number | undefined;
342
- activator?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined;
348
+ activator?: Element | vue.ComponentPublicInstance | (string & {}) | "parent" | undefined;
343
349
  openOnClick?: boolean | undefined;
344
350
  openOnFocus?: boolean | undefined;
345
351
  contentProps?: any;
@@ -352,7 +358,7 @@ declare const VSpeedDial: {
352
358
  activator?: ((arg: {
353
359
  isActive: boolean;
354
360
  props: Record<string, any>;
355
- targetRef: vue.Ref<any>;
361
+ targetRef: TemplateRef;
356
362
  }) => vue.VNodeChild) | undefined;
357
363
  } | ((arg: {
358
364
  isActive: vue.Ref<boolean>;
@@ -364,7 +370,7 @@ declare const VSpeedDial: {
364
370
  activator?: false | ((arg: {
365
371
  isActive: boolean;
366
372
  props: Record<string, any>;
367
- targetRef: vue.Ref<any>;
373
+ targetRef: TemplateRef;
368
374
  }) => vue.VNodeChild) | undefined;
369
375
  } | undefined;
370
376
  } & {
@@ -374,7 +380,7 @@ declare const VSpeedDial: {
374
380
  "v-slot:activator"?: false | ((arg: {
375
381
  isActive: boolean;
376
382
  props: Record<string, any>;
377
- targetRef: vue.Ref<any>;
383
+ targetRef: TemplateRef;
378
384
  }) => vue.VNodeChild) | undefined;
379
385
  } & {
380
386
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -388,7 +394,7 @@ declare const VSpeedDial: {
388
394
  component: vue.Component;
389
395
  }>;
390
396
  zIndex: string | number;
391
- modelValue: boolean | null;
397
+ modelValue: boolean;
392
398
  origin: Anchor | "auto" | "overlap";
393
399
  minWidth: NonNullable<string | number>;
394
400
  eager: boolean;
@@ -423,7 +429,7 @@ declare const VSpeedDial: {
423
429
  component: vue.Component;
424
430
  }>;
425
431
  zIndex: string | number;
426
- modelValue: boolean | null;
432
+ modelValue: boolean;
427
433
  origin: Anchor | "auto" | "overlap";
428
434
  minWidth: NonNullable<string | number>;
429
435
  eager: boolean;
@@ -448,13 +454,13 @@ declare const VSpeedDial: {
448
454
  width?: string | number | undefined;
449
455
  height?: string | number | undefined;
450
456
  theme?: string | undefined;
451
- target?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined;
457
+ target?: Element | vue.ComponentPublicInstance | (string & {}) | "parent" | "cursor" | [x: number, y: number] | undefined;
452
458
  contentClass?: any;
453
459
  opacity?: string | number | undefined;
454
460
  maxHeight?: string | number | undefined;
455
461
  maxWidth?: string | number | undefined;
456
462
  minHeight?: string | number | undefined;
457
- activator?: Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined;
463
+ activator?: Element | vue.ComponentPublicInstance | (string & {}) | "parent" | undefined;
458
464
  openOnClick?: boolean | undefined;
459
465
  openOnFocus?: boolean | undefined;
460
466
  contentProps?: any;
@@ -467,7 +473,7 @@ declare const VSpeedDial: {
467
473
  activator?: ((arg: {
468
474
  isActive: boolean;
469
475
  props: Record<string, any>;
470
- targetRef: vue.Ref<any>;
476
+ targetRef: TemplateRef;
471
477
  }) => vue.VNodeChild) | undefined;
472
478
  } | ((arg: {
473
479
  isActive: vue.Ref<boolean>;
@@ -479,7 +485,7 @@ declare const VSpeedDial: {
479
485
  activator?: false | ((arg: {
480
486
  isActive: boolean;
481
487
  props: Record<string, any>;
482
- targetRef: vue.Ref<any>;
488
+ targetRef: TemplateRef;
483
489
  }) => vue.VNodeChild) | undefined;
484
490
  } | undefined;
485
491
  } & {
@@ -489,7 +495,7 @@ declare const VSpeedDial: {
489
495
  "v-slot:activator"?: false | ((arg: {
490
496
  isActive: boolean;
491
497
  props: Record<string, any>;
492
- targetRef: vue.Ref<any>;
498
+ targetRef: TemplateRef;
493
499
  }) => vue.VNodeChild) | undefined;
494
500
  } & {
495
501
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -505,7 +511,7 @@ declare const VSpeedDial: {
505
511
  component: vue.Component;
506
512
  }>;
507
513
  zIndex: string | number;
508
- modelValue: boolean | null;
514
+ modelValue: boolean;
509
515
  origin: Anchor | "auto" | "overlap";
510
516
  minWidth: NonNullable<string | number>;
511
517
  eager: boolean;
@@ -535,7 +541,7 @@ declare const VSpeedDial: {
535
541
  activator: (arg: {
536
542
  isActive: boolean;
537
543
  props: Record<string, any>;
538
- targetRef: vue.Ref<any>;
544
+ targetRef: TemplateRef;
539
545
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
540
546
  [key: string]: any;
541
547
  }>[];
@@ -548,7 +554,7 @@ declare const VSpeedDial: {
548
554
  width: (StringConstructor | NumberConstructor)[];
549
555
  height: (StringConstructor | NumberConstructor)[];
550
556
  theme: StringConstructor;
551
- target: vue.PropType<Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined>;
557
+ target: vue.PropType<Element | vue.ComponentPublicInstance | (string & {}) | "parent" | "cursor" | [x: number, y: number] | undefined>;
552
558
  disabled: BooleanConstructor;
553
559
  offset: {
554
560
  type: vue.PropType<NonNullable<string | number | number[] | undefined>>;
@@ -587,10 +593,7 @@ declare const VSpeedDial: {
587
593
  type: (StringConstructor | NumberConstructor)[];
588
594
  default: number;
589
595
  };
590
- modelValue: {
591
- type: vue.PropType<boolean | null>;
592
- default: null;
593
- };
596
+ modelValue: BooleanConstructor;
594
597
  contentClass: null;
595
598
  origin: {
596
599
  type: vue.PropType<Anchor | "auto" | "overlap">;
@@ -612,7 +615,7 @@ declare const VSpeedDial: {
612
615
  type: vue.PropType<NonNullable<Anchor>>;
613
616
  default: NonNullable<Anchor>;
614
617
  };
615
- activator: vue.PropType<Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined>;
618
+ activator: vue.PropType<Element | vue.ComponentPublicInstance | (string & {}) | "parent" | undefined>;
616
619
  locationStrategy: Omit<{
617
620
  type: vue.PropType<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
618
621
  updateLocation: (e: Event) => void;
@@ -692,7 +695,7 @@ declare const VSpeedDial: {
692
695
  width: (StringConstructor | NumberConstructor)[];
693
696
  height: (StringConstructor | NumberConstructor)[];
694
697
  theme: StringConstructor;
695
- target: vue.PropType<Element | (string & {}) | vue.ComponentPublicInstance | "parent" | "cursor" | [x: number, y: number] | undefined>;
698
+ target: vue.PropType<Element | vue.ComponentPublicInstance | (string & {}) | "parent" | "cursor" | [x: number, y: number] | undefined>;
696
699
  disabled: BooleanConstructor;
697
700
  offset: {
698
701
  type: vue.PropType<NonNullable<string | number | number[] | undefined>>;
@@ -731,10 +734,7 @@ declare const VSpeedDial: {
731
734
  type: (StringConstructor | NumberConstructor)[];
732
735
  default: number;
733
736
  };
734
- modelValue: {
735
- type: vue.PropType<boolean | null>;
736
- default: null;
737
- };
737
+ modelValue: BooleanConstructor;
738
738
  contentClass: null;
739
739
  origin: {
740
740
  type: vue.PropType<Anchor | "auto" | "overlap">;
@@ -756,7 +756,7 @@ declare const VSpeedDial: {
756
756
  type: vue.PropType<NonNullable<Anchor>>;
757
757
  default: NonNullable<Anchor>;
758
758
  };
759
- activator: vue.PropType<Element | (string & {}) | vue.ComponentPublicInstance | "parent" | undefined>;
759
+ activator: vue.PropType<Element | vue.ComponentPublicInstance | (string & {}) | "parent" | undefined>;
760
760
  locationStrategy: Omit<{
761
761
  type: vue.PropType<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
762
762
  updateLocation: (e: Event) => void;
@@ -41,7 +41,8 @@ export const VStepperWindow = genericComponent()({
41
41
  }, windowProps, {
42
42
  "modelValue": model.value,
43
43
  "onUpdate:modelValue": $event => model.value = $event,
44
- "class": "v-stepper-window",
44
+ "class": ['v-stepper-window', props.class],
45
+ "style": props.style,
45
46
  "mandatory": false,
46
47
  "touch": false
47
48
  }), slots);
@@ -1 +1 @@
1
- {"version":3,"file":"VStepperWindow.mjs","names":["makeVWindowProps","VWindow","useProxiedModel","computed","inject","genericComponent","omit","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperWindowProps","VStepperWindow","name","props","emits","v","setup","_ref","slots","group","_model","model","get","value","items","find","item","selected","includes","id","set","val","windowProps","filterProps","_createVNode","_mergeProps","$event"],"sources":["../../../src/components/VStepper/VStepperWindow.tsx"],"sourcesContent":["// Components\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-stepper')\n\nexport const makeVStepperWindowProps = propsFactory({\n ...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory']),\n}, 'VStepperWindow')\n\nexport const VStepperWindow = genericComponent()({\n name: 'VStepperWindow',\n\n props: makeVStepperWindowProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const group = inject(VStepperSymbol, null)\n const _model = useProxiedModel(props, 'modelValue')\n\n const model = computed({\n get () {\n // Always return modelValue if defined\n // or if not within a VStepper group\n if (_model.value != null || !group) return _model.value\n\n // If inside of a VStepper, find the currently selected\n // item by id. Item value may be assigned by its index\n return group.items.value.find(item => group.selected.value.includes(item.id))?.value\n },\n set (val) {\n _model.value = val\n },\n })\n\n useRender(() => {\n const windowProps = VWindow.filterProps(props)\n\n return (\n <VWindow\n _as=\"VStepperWindow\"\n { ...windowProps }\n v-model={ model.value }\n class=\"v-stepper-window\"\n mandatory={ false }\n touch={ false }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperWindow = InstanceType<typeof VStepperWindow>\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB,EAAEC,OAAO,kCAElC;AAAA,SACSC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAIA,OAAO,MAAMC,cAA0C,GAAGC,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;AAEzF,OAAO,MAAMC,uBAAuB,GAAGL,YAAY,CAAC;EAClD,GAAGD,IAAI,CAACN,gBAAgB,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC;AACxG,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMa,cAAc,GAAGR,gBAAgB,CAAC,CAAC,CAAC;EAC/CS,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEH,uBAAuB,CAAC,CAAC;EAEhCI,KAAK,EAAE;IACL,mBAAmB,EAAGC,CAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGjB,MAAM,CAACK,cAAc,EAAE,IAAI,CAAC;IAC1C,MAAMa,MAAM,GAAGpB,eAAe,CAACa,KAAK,EAAE,YAAY,CAAC;IAEnD,MAAMQ,KAAK,GAAGpB,QAAQ,CAAC;MACrBqB,GAAGA,CAAA,EAAI;QACL;QACA;QACA,IAAIF,MAAM,CAACG,KAAK,IAAI,IAAI,IAAI,CAACJ,KAAK,EAAE,OAAOC,MAAM,CAACG,KAAK;;QAEvD;QACA;QACA,OAAOJ,KAAK,CAACK,KAAK,CAACD,KAAK,CAACE,IAAI,CAACC,IAAI,IAAIP,KAAK,CAACQ,QAAQ,CAACJ,KAAK,CAACK,QAAQ,CAACF,IAAI,CAACG,EAAE,CAAC,CAAC,EAAEN,KAAK;MACtF,CAAC;MACDO,GAAGA,CAAEC,GAAG,EAAE;QACRX,MAAM,CAACG,KAAK,GAAGQ,GAAG;MACpB;IACF,CAAC,CAAC;IAEFzB,SAAS,CAAC,MAAM;MACd,MAAM0B,WAAW,GAAGjC,OAAO,CAACkC,WAAW,CAACpB,KAAK,CAAC;MAE9C,OAAAqB,YAAA,CAAAnC,OAAA,EAAAoC,WAAA;QAAA;MAAA,GAGSH,WAAW;QAAA,cACNX,KAAK,CAACE,KAAK;QAAA,uBAAAa,MAAA,IAAXf,KAAK,CAACE,KAAK,GAAAa,MAAA;QAAA;QAAA,aAET,KAAK;QAAA,SACT;MAAK,IACHlB,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VStepperWindow.mjs","names":["makeVWindowProps","VWindow","useProxiedModel","computed","inject","genericComponent","omit","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperWindowProps","VStepperWindow","name","props","emits","v","setup","_ref","slots","group","_model","model","get","value","items","find","item","selected","includes","id","set","val","windowProps","filterProps","_createVNode","_mergeProps","$event","class","style"],"sources":["../../../src/components/VStepper/VStepperWindow.tsx"],"sourcesContent":["// Components\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-stepper')\n\nexport const makeVStepperWindowProps = propsFactory({\n ...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory']),\n}, 'VStepperWindow')\n\nexport const VStepperWindow = genericComponent()({\n name: 'VStepperWindow',\n\n props: makeVStepperWindowProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const group = inject(VStepperSymbol, null)\n const _model = useProxiedModel(props, 'modelValue')\n\n const model = computed({\n get () {\n // Always return modelValue if defined\n // or if not within a VStepper group\n if (_model.value != null || !group) return _model.value\n\n // If inside of a VStepper, find the currently selected\n // item by id. Item value may be assigned by its index\n return group.items.value.find(item => group.selected.value.includes(item.id))?.value\n },\n set (val) {\n _model.value = val\n },\n })\n\n useRender(() => {\n const windowProps = VWindow.filterProps(props)\n\n return (\n <VWindow\n _as=\"VStepperWindow\"\n { ...windowProps }\n v-model={ model.value }\n class={[\n 'v-stepper-window',\n props.class,\n ]}\n style={ props.style }\n mandatory={ false }\n touch={ false }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperWindow = InstanceType<typeof VStepperWindow>\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB,EAAEC,OAAO,kCAElC;AAAA,SACSC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAIA,OAAO,MAAMC,cAA0C,GAAGC,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;AAEzF,OAAO,MAAMC,uBAAuB,GAAGL,YAAY,CAAC;EAClD,GAAGD,IAAI,CAACN,gBAAgB,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC;AACxG,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMa,cAAc,GAAGR,gBAAgB,CAAC,CAAC,CAAC;EAC/CS,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEH,uBAAuB,CAAC,CAAC;EAEhCI,KAAK,EAAE;IACL,mBAAmB,EAAGC,CAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGjB,MAAM,CAACK,cAAc,EAAE,IAAI,CAAC;IAC1C,MAAMa,MAAM,GAAGpB,eAAe,CAACa,KAAK,EAAE,YAAY,CAAC;IAEnD,MAAMQ,KAAK,GAAGpB,QAAQ,CAAC;MACrBqB,GAAGA,CAAA,EAAI;QACL;QACA;QACA,IAAIF,MAAM,CAACG,KAAK,IAAI,IAAI,IAAI,CAACJ,KAAK,EAAE,OAAOC,MAAM,CAACG,KAAK;;QAEvD;QACA;QACA,OAAOJ,KAAK,CAACK,KAAK,CAACD,KAAK,CAACE,IAAI,CAACC,IAAI,IAAIP,KAAK,CAACQ,QAAQ,CAACJ,KAAK,CAACK,QAAQ,CAACF,IAAI,CAACG,EAAE,CAAC,CAAC,EAAEN,KAAK;MACtF,CAAC;MACDO,GAAGA,CAAEC,GAAG,EAAE;QACRX,MAAM,CAACG,KAAK,GAAGQ,GAAG;MACpB;IACF,CAAC,CAAC;IAEFzB,SAAS,CAAC,MAAM;MACd,MAAM0B,WAAW,GAAGjC,OAAO,CAACkC,WAAW,CAACpB,KAAK,CAAC;MAE9C,OAAAqB,YAAA,CAAAnC,OAAA,EAAAoC,WAAA;QAAA;MAAA,GAGSH,WAAW;QAAA,cACNX,KAAK,CAACE,KAAK;QAAA,uBAAAa,MAAA,IAAXf,KAAK,CAACE,KAAK,GAAAa,MAAA;QAAA,SACd,CACL,kBAAkB,EAClBvB,KAAK,CAACwB,KAAK,CACZ;QAAA,SACOxB,KAAK,CAACyB,KAAK;QAAA,aACP,KAAK;QAAA,SACT;MAAK,IACHpB,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -17,7 +17,8 @@ export const VStepperWindowItem = genericComponent()({
17
17
  return _createVNode(VWindowItem, _mergeProps({
18
18
  "_as": "VStepperWindowItem"
19
19
  }, windowItemProps, {
20
- "class": "v-stepper-window-item"
20
+ "class": ['v-stepper-window-item', props.class],
21
+ "style": props.style
21
22
  }), slots);
22
23
  });
23
24
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"VStepperWindowItem.mjs","names":["makeVWindowItemProps","VWindowItem","genericComponent","propsFactory","useRender","makeVStepperWindowItemProps","VStepperWindowItem","name","props","setup","_ref","slots","windowItemProps","filterProps","_createVNode","_mergeProps"],"sources":["../../../src/components/VStepper/VStepperWindowItem.tsx"],"sourcesContent":["// Components\nimport { makeVWindowItemProps, VWindowItem } from '@/components/VWindow/VWindowItem'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVStepperWindowItemProps = propsFactory({\n ...makeVWindowItemProps(),\n}, 'VStepperWindowItem')\n\nexport const VStepperWindowItem = genericComponent()({\n name: 'VStepperWindowItem',\n\n props: makeVStepperWindowItemProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n const windowItemProps = VWindowItem.filterProps(props)\n\n return (\n <VWindowItem\n _as=\"VStepperWindowItem\"\n { ...windowItemProps }\n class=\"v-stepper-window-item\"\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperWindowItem = InstanceType<typeof VStepperWindowItem>\n"],"mappings":";AAAA;AAAA,SACSA,oBAAoB,EAAEC,WAAW,sCAE1C;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,2BAA2B,GAAGF,YAAY,CAAC;EACtD,GAAGH,oBAAoB,CAAC;AAC1B,CAAC,EAAE,oBAAoB,CAAC;AAExB,OAAO,MAAMM,kBAAkB,GAAGJ,gBAAgB,CAAC,CAAC,CAAC;EACnDK,IAAI,EAAE,oBAAoB;EAE1BC,KAAK,EAAEH,2BAA2B,CAAC,CAAC;EAEpCI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBN,SAAS,CAAC,MAAM;MACd,MAAMQ,eAAe,GAAGX,WAAW,CAACY,WAAW,CAACL,KAAK,CAAC;MAEtD,OAAAM,YAAA,CAAAb,WAAA,EAAAc,WAAA;QAAA;MAAA,GAGSH,eAAe;QAAA;MAAA,IAEVD,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VStepperWindowItem.mjs","names":["makeVWindowItemProps","VWindowItem","genericComponent","propsFactory","useRender","makeVStepperWindowItemProps","VStepperWindowItem","name","props","setup","_ref","slots","windowItemProps","filterProps","_createVNode","_mergeProps","class","style"],"sources":["../../../src/components/VStepper/VStepperWindowItem.tsx"],"sourcesContent":["// Components\nimport { makeVWindowItemProps, VWindowItem } from '@/components/VWindow/VWindowItem'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVStepperWindowItemProps = propsFactory({\n ...makeVWindowItemProps(),\n}, 'VStepperWindowItem')\n\nexport const VStepperWindowItem = genericComponent()({\n name: 'VStepperWindowItem',\n\n props: makeVStepperWindowItemProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n const windowItemProps = VWindowItem.filterProps(props)\n\n return (\n <VWindowItem\n _as=\"VStepperWindowItem\"\n { ...windowItemProps }\n class={[\n 'v-stepper-window-item',\n props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperWindowItem = InstanceType<typeof VStepperWindowItem>\n"],"mappings":";AAAA;AAAA,SACSA,oBAAoB,EAAEC,WAAW,sCAE1C;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,2BAA2B,GAAGF,YAAY,CAAC;EACtD,GAAGH,oBAAoB,CAAC;AAC1B,CAAC,EAAE,oBAAoB,CAAC;AAExB,OAAO,MAAMM,kBAAkB,GAAGJ,gBAAgB,CAAC,CAAC,CAAC;EACnDK,IAAI,EAAE,oBAAoB;EAE1BC,KAAK,EAAEH,2BAA2B,CAAC,CAAC;EAEpCI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBN,SAAS,CAAC,MAAM;MACd,MAAMQ,eAAe,GAAGX,WAAW,CAACY,WAAW,CAACL,KAAK,CAAC;MAEtD,OAAAM,YAAA,CAAAb,WAAA,EAAAc,WAAA;QAAA;MAAA,GAGSH,eAAe;QAAA,SACb,CACL,uBAAuB,EACvBJ,KAAK,CAACQ,KAAK,CACZ;QAAA,SACOR,KAAK,CAACS;MAAK,IACTN,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -11,6 +11,7 @@ import { useBackgroundColor } from "../../composables/color.mjs";
11
11
  import { provideDefaults } from "../../composables/defaults.mjs";
12
12
  import { makeDensityProps, useDensity } from "../../composables/density.mjs";
13
13
  import { useProxiedModel } from "../../composables/proxiedModel.mjs";
14
+ import { useScopeId } from "../../composables/scopeId.mjs";
14
15
  import { makeTagProps } from "../../composables/tag.mjs"; // Utilities
15
16
  import { computed, toRef } from 'vue';
16
17
  import { convertToUnit, genericComponent, isObject, propsFactory, useRender } from "../../util/index.mjs"; // Types
@@ -60,6 +61,7 @@ export const VTabs = genericComponent()({
60
61
  },
61
62
  setup(props, _ref) {
62
63
  let {
64
+ attrs,
63
65
  slots
64
66
  } = _ref;
65
67
  const model = useProxiedModel(props, 'modelValue');
@@ -71,6 +73,9 @@ export const VTabs = genericComponent()({
71
73
  backgroundColorClasses,
72
74
  backgroundColorStyles
73
75
  } = useBackgroundColor(toRef(props, 'bgColor'));
76
+ const {
77
+ scopeId
78
+ } = useScopeId();
74
79
  provideDefaults({
75
80
  VTab: {
76
81
  color: toRef(props, 'color'),
@@ -97,7 +102,7 @@ export const VTabs = genericComponent()({
97
102
  }, backgroundColorStyles.value, props.style],
98
103
  "role": "tablist",
99
104
  "symbol": VTabsSymbol
100
- }), {
105
+ }, scopeId, attrs), {
101
106
  default: () => [slots.default?.() ?? items.value.map(item => slots.tab?.({
102
107
  item
103
108
  }) ?? _createVNode(VTab, _mergeProps(item, {
@@ -108,11 +113,11 @@ export const VTabs = genericComponent()({
108
113
  item
109
114
  })
110
115
  }))]
111
- }), hasWindow && _createVNode(VTabsWindow, {
116
+ }), hasWindow && _createVNode(VTabsWindow, _mergeProps({
112
117
  "modelValue": model.value,
113
118
  "onUpdate:modelValue": $event => model.value = $event,
114
119
  "key": "tabs-window"
115
- }, {
120
+ }, scopeId), {
116
121
  default: () => [items.value.map(item => slots.item?.({
117
122
  item
118
123
  }) ?? _createVNode(VTabsWindowItem, {
@@ -1 +1 @@
1
- {"version":3,"file":"VTabs.mjs","names":["VTab","VTabsWindow","VTabsWindowItem","makeVSlideGroupProps","VSlideGroup","useBackgroundColor","provideDefaults","makeDensityProps","useDensity","useProxiedModel","makeTagProps","computed","toRef","convertToUnit","genericComponent","isObject","propsFactory","useRender","VTabsSymbol","parseItems","items","map","item","text","value","makeVTabsProps","alignTabs","type","String","default","color","fixedTabs","Boolean","Array","stacked","bgColor","grow","height","Number","undefined","hideSlider","sliderColor","mandatory","selectedClass","VTabs","name","props","emits","v","setup","_ref","slots","model","densityClasses","backgroundColorClasses","backgroundColorStyles","direction","fixed","slideGroupProps","filterProps","hasWindow","window","length","_createVNode","_Fragment","_mergeProps","$event","class","style","tab"],"sources":["../../../src/components/VTabs/VTabs.tsx"],"sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport { VTab } from './VTab'\nimport { VTabsWindow } from './VTabsWindow'\nimport { VTabsWindowItem } from './VTabsWindowItem'\nimport { makeVSlideGroupProps, VSlideGroup } from '@/components/VSlideGroup/VSlideGroup'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, isObject, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VTabsSymbol } from './shared'\n\nexport type TabItem = string | number | Record<string, any>\n\nexport type VTabsSlot = {\n item: TabItem\n}\n\nexport type VTabsSlots = {\n default: never\n tab: VTabsSlot\n item: VTabsSlot\n window: never\n} & {\n [key: `tab.${string}`]: VTabsSlot\n [key: `item.${string}`]: VTabsSlot\n}\n\nfunction parseItems (items: readonly TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (!isObject(item)) return { text: item, value: item }\n\n return item\n })\n}\n\nexport const makeVTabsProps = propsFactory({\n alignTabs: {\n type: String as PropType<'start' | 'title' | 'center' | 'end'>,\n default: 'start',\n },\n color: String,\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<readonly TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n bgColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n sliderColor: String,\n\n ...makeVSlideGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-tab-item--selected',\n }),\n ...makeDensityProps(),\n ...makeTagProps(),\n}, 'VTabs')\n\nexport const VTabs = genericComponent<VTabsSlots>()({\n name: 'VTabs',\n\n props: makeVTabsProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const items = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n useRender(() => {\n const slideGroupProps = VSlideGroup.filterProps(props)\n const hasWindow = !!(slots.window || props.items.length > 0)\n\n return (\n <>\n <VSlideGroup\n { ...slideGroupProps }\n v-model={ model.value }\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n `v-tabs--align-tabs-${props.alignTabs}`,\n {\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n { '--v-tabs-height': convertToUnit(props.height) },\n backgroundColorStyles.value,\n props.style,\n ]}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n >\n { slots.default?.() ?? items.value.map(item => (\n slots.tab?.({ item }) ?? (\n <VTab\n { ...item }\n key={ item.text }\n value={ item.value }\n v-slots={{\n default: () => slots[`tab.${item.value}`]?.({ item }),\n }}\n />\n )\n ))}\n </VSlideGroup>\n\n { hasWindow && (\n <VTabsWindow\n v-model={ model.value }\n key=\"tabs-window\"\n >\n { items.value.map(item => slots.item?.({ item }) ?? (\n <VTabsWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.({ item }),\n }}\n />\n ))}\n\n { slots.window?.() }\n </VTabsWindow>\n )}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTabs.mjs","names":["VTab","VTabsWindow","VTabsWindowItem","makeVSlideGroupProps","VSlideGroup","useBackgroundColor","provideDefaults","makeDensityProps","useDensity","useProxiedModel","useScopeId","makeTagProps","computed","toRef","convertToUnit","genericComponent","isObject","propsFactory","useRender","VTabsSymbol","parseItems","items","map","item","text","value","makeVTabsProps","alignTabs","type","String","default","color","fixedTabs","Boolean","Array","stacked","bgColor","grow","height","Number","undefined","hideSlider","sliderColor","mandatory","selectedClass","VTabs","name","props","emits","v","setup","_ref","attrs","slots","model","densityClasses","backgroundColorClasses","backgroundColorStyles","scopeId","direction","fixed","slideGroupProps","filterProps","hasWindow","window","length","_createVNode","_Fragment","_mergeProps","$event","class","style","tab"],"sources":["../../../src/components/VTabs/VTabs.tsx"],"sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport { VTab } from './VTab'\nimport { VTabsWindow } from './VTabsWindow'\nimport { VTabsWindowItem } from './VTabsWindowItem'\nimport { makeVSlideGroupProps, VSlideGroup } from '@/components/VSlideGroup/VSlideGroup'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, isObject, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VTabsSymbol } from './shared'\n\nexport type TabItem = string | number | Record<string, any>\n\nexport type VTabsSlot = {\n item: TabItem\n}\n\nexport type VTabsSlots = {\n default: never\n tab: VTabsSlot\n item: VTabsSlot\n window: never\n} & {\n [key: `tab.${string}`]: VTabsSlot\n [key: `item.${string}`]: VTabsSlot\n}\n\nfunction parseItems (items: readonly TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (!isObject(item)) return { text: item, value: item }\n\n return item\n })\n}\n\nexport const makeVTabsProps = propsFactory({\n alignTabs: {\n type: String as PropType<'start' | 'title' | 'center' | 'end'>,\n default: 'start',\n },\n color: String,\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<readonly TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n bgColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n sliderColor: String,\n\n ...makeVSlideGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-tab-item--selected',\n }),\n ...makeDensityProps(),\n ...makeTagProps(),\n}, 'VTabs')\n\nexport const VTabs = genericComponent<VTabsSlots>()({\n name: 'VTabs',\n\n props: makeVTabsProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const items = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { scopeId } = useScopeId()\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n useRender(() => {\n const slideGroupProps = VSlideGroup.filterProps(props)\n const hasWindow = !!(slots.window || props.items.length > 0)\n\n return (\n <>\n <VSlideGroup\n { ...slideGroupProps }\n v-model={ model.value }\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n `v-tabs--align-tabs-${props.alignTabs}`,\n {\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n { '--v-tabs-height': convertToUnit(props.height) },\n backgroundColorStyles.value,\n props.style,\n ]}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n { ...scopeId }\n { ...attrs }\n >\n { slots.default?.() ?? items.value.map(item => (\n slots.tab?.({ item }) ?? (\n <VTab\n { ...item }\n key={ item.text }\n value={ item.value }\n v-slots={{\n default: () => slots[`tab.${item.value}`]?.({ item }),\n }}\n />\n )\n ))}\n </VSlideGroup>\n\n { hasWindow && (\n <VTabsWindow\n v-model={ model.value }\n key=\"tabs-window\"\n { ...scopeId }\n >\n { items.value.map(item => slots.item?.({ item }) ?? (\n <VTabsWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.({ item }),\n }}\n />\n ))}\n\n { slots.window?.() }\n </VTabsWindow>\n )}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,WAAW;AAAA,SACXC,eAAe;AAAA,SACfC,oBAAoB,EAAEC,WAAW,0CAE1C;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,eAAe;AAAA,SACfC,UAAU;AAAA,SACVC,YAAY,qCAErB;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,aAAa,EAAEC,gBAAgB,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,SAAS,gCAE3E;AAAA,SAESC,WAAW;AAkBpB,SAASC,UAAUA,CAAEC,KAAqC,EAAE;EAC1D,IAAI,CAACA,KAAK,EAAE,OAAO,EAAE;EAErB,OAAOA,KAAK,CAACC,GAAG,CAACC,IAAI,IAAI;IACvB,IAAI,CAACP,QAAQ,CAACO,IAAI,CAAC,EAAE,OAAO;MAAEC,IAAI,EAAED,IAAI;MAAEE,KAAK,EAAEF;IAAK,CAAC;IAEvD,OAAOA,IAAI;EACb,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMG,cAAc,GAAGT,YAAY,CAAC;EACzCU,SAAS,EAAE;IACTC,IAAI,EAAEC,MAAwD;IAC9DC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEF,MAAM;EACbG,SAAS,EAAEC,OAAO;EAClBZ,KAAK,EAAE;IACLO,IAAI,EAAEM,KAAqC;IAC3CJ,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDK,OAAO,EAAEF,OAAO;EAChBG,OAAO,EAAEP,MAAM;EACfQ,IAAI,EAAEJ,OAAO;EACbK,MAAM,EAAE;IACNV,IAAI,EAAE,CAACW,MAAM,EAAEV,MAAM,CAAC;IACtBC,OAAO,EAAEU;EACX,CAAC;EACDC,UAAU,EAAER,OAAO;EACnBS,WAAW,EAAEb,MAAM;EAEnB,GAAG1B,oBAAoB,CAAC;IACtBwC,SAAS,EAAE,OAAgB;IAC3BC,aAAa,EAAE;EACjB,CAAC,CAAC;EACF,GAAGrC,gBAAgB,CAAC,CAAC;EACrB,GAAGI,YAAY,CAAC;AAClB,CAAC,EAAE,OAAO,CAAC;AAEX,OAAO,MAAMkC,KAAK,GAAG9B,gBAAgB,CAAa,CAAC,CAAC;EAClD+B,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAErB,cAAc,CAAC,CAAC;EAEvBsB,KAAK,EAAE;IACL,mBAAmB,EAAGC,CAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,KAAK,GAAG7C,eAAe,CAACsC,KAAK,EAAE,YAAY,CAAC;IAClD,MAAM1B,KAAK,GAAGT,QAAQ,CAAC,MAAMQ,UAAU,CAAC2B,KAAK,CAAC1B,KAAK,CAAC,CAAC;IACrD,MAAM;MAAEkC;IAAe,CAAC,GAAG/C,UAAU,CAACuC,KAAK,CAAC;IAC5C,MAAM;MAAES,sBAAsB;MAAEC;IAAsB,CAAC,GAAGpD,kBAAkB,CAACQ,KAAK,CAACkC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrG,MAAM;MAAEW;IAAQ,CAAC,GAAGhD,UAAU,CAAC,CAAC;IAEhCJ,eAAe,CAAC;MACdN,IAAI,EAAE;QACJ+B,KAAK,EAAElB,KAAK,CAACkC,KAAK,EAAE,OAAO,CAAC;QAC5BY,SAAS,EAAE9C,KAAK,CAACkC,KAAK,EAAE,WAAW,CAAC;QACpCZ,OAAO,EAAEtB,KAAK,CAACkC,KAAK,EAAE,SAAS,CAAC;QAChCa,KAAK,EAAE/C,KAAK,CAACkC,KAAK,EAAE,WAAW,CAAC;QAChCL,WAAW,EAAE7B,KAAK,CAACkC,KAAK,EAAE,aAAa,CAAC;QACxCN,UAAU,EAAE5B,KAAK,CAACkC,KAAK,EAAE,YAAY;MACvC;IACF,CAAC,CAAC;IAEF7B,SAAS,CAAC,MAAM;MACd,MAAM2C,eAAe,GAAGzD,WAAW,CAAC0D,WAAW,CAACf,KAAK,CAAC;MACtD,MAAMgB,SAAS,GAAG,CAAC,EAAEV,KAAK,CAACW,MAAM,IAAIjB,KAAK,CAAC1B,KAAK,CAAC4C,MAAM,GAAG,CAAC,CAAC;MAE5D,OAAAC,YAAA,CAAAC,SAAA,SAAAD,YAAA,CAAA9D,WAAA,EAAAgE,WAAA,CAGWP,eAAe;QAAA,cACVP,KAAK,CAAC7B,KAAK;QAAA,uBAAA4C,MAAA,IAAXf,KAAK,CAAC7B,KAAK,GAAA4C,MAAA;QAAA,SACd,CACL,QAAQ,EACP,WAAUtB,KAAK,CAACY,SAAU,EAAC,EAC3B,sBAAqBZ,KAAK,CAACpB,SAAU,EAAC,EACvC;UACE,oBAAoB,EAAEoB,KAAK,CAACf,SAAS;UACrC,cAAc,EAAEe,KAAK,CAACV,IAAI;UAC1B,iBAAiB,EAAEU,KAAK,CAACZ;QAC3B,CAAC,EACDoB,cAAc,CAAC9B,KAAK,EACpB+B,sBAAsB,CAAC/B,KAAK,EAC5BsB,KAAK,CAACuB,KAAK,CACZ;QAAA,SACM,CACL;UAAE,iBAAiB,EAAExD,aAAa,CAACiC,KAAK,CAACT,MAAM;QAAE,CAAC,EAClDmB,qBAAqB,CAAChC,KAAK,EAC3BsB,KAAK,CAACwB,KAAK,CACZ;QAAA;QAAA,UAEQpD;MAAW,GACfuC,OAAO,EACPN,KAAK;QAAAtB,OAAA,EAAAA,CAAA,MAERuB,KAAK,CAACvB,OAAO,GAAG,CAAC,IAAIT,KAAK,CAACI,KAAK,CAACH,GAAG,CAACC,IAAI,IACzC8B,KAAK,CAACmB,GAAG,GAAG;UAAEjD;QAAK,CAAC,CAAC,IAAA2C,YAAA,CAAAlE,IAAA,EAAAoE,WAAA,CAEZ7C,IAAI;UAAA,OACHA,IAAI,CAACC,IAAI;UAAA,SACPD,IAAI,CAACE;QAAK,IACT;UACPK,OAAO,EAAEA,CAAA,KAAMuB,KAAK,CAAE,OAAM9B,IAAI,CAACE,KAAM,EAAC,CAAC,GAAG;YAAEF;UAAK,CAAC;QACtD,CAAC,CAGN,CAAC;MAAA,IAGFwC,SAAS,IAAAG,YAAA,CAAAjE,WAAA,EAAAmE,WAAA;QAAA,cAEGd,KAAK,CAAC7B,KAAK;QAAA,uBAAA4C,MAAA,IAAXf,KAAK,CAAC7B,KAAK,GAAA4C,MAAA;QAAA;MAAA,GAEhBX,OAAO;QAAA5B,OAAA,EAAAA,CAAA,MAEVT,KAAK,CAACI,KAAK,CAACH,GAAG,CAACC,IAAI,IAAI8B,KAAK,CAAC9B,IAAI,GAAG;UAAEA;QAAK,CAAC,CAAC,IAAA2C,YAAA,CAAAhE,eAAA;UAAA,SAEpCqB,IAAI,CAACE;QAAK,GACT;UACPK,OAAO,EAAEA,CAAA,KAAMuB,KAAK,CAAE,QAAO9B,IAAI,CAACE,KAAM,EAAC,CAAC,GAAG;YAAEF;UAAK,CAAC;QACvD,CAAC,CAEJ,CAAC,EAEA8B,KAAK,CAACW,MAAM,GAAG,CAAC;MAAA,EAErB;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -41,7 +41,8 @@ export const VTabsWindow = genericComponent()({
41
41
  }, windowProps, {
42
42
  "modelValue": model.value,
43
43
  "onUpdate:modelValue": $event => model.value = $event,
44
- "class": "v-tabs-window",
44
+ "class": ['v-tabs-window', props.class],
45
+ "style": props.style,
45
46
  "mandatory": false,
46
47
  "touch": false
47
48
  }), slots);
@@ -1 +1 @@
1
- {"version":3,"file":"VTabsWindow.mjs","names":["makeVWindowProps","VWindow","useProxiedModel","computed","inject","genericComponent","omit","propsFactory","useRender","VTabsSymbol","makeVTabsWindowProps","VTabsWindow","name","props","emits","v","setup","_ref","slots","group","_model","model","get","value","items","find","item","selected","includes","id","set","val","windowProps","filterProps","_createVNode","_mergeProps","$event"],"sources":["../../../src/components/VTabs/VTabsWindow.tsx"],"sourcesContent":["// Components\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTabsSymbol } from './shared'\n\nexport const makeVTabsWindowProps = propsFactory({\n ...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory']),\n}, 'VTabsWindow')\n\nexport const VTabsWindow = genericComponent()({\n name: 'VTabsWindow',\n\n props: makeVTabsWindowProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const group = inject(VTabsSymbol, null)\n const _model = useProxiedModel(props, 'modelValue')\n\n const model = computed({\n get () {\n // Always return modelValue if defined\n // or if not within a VTabs group\n if (_model.value != null || !group) return _model.value\n\n // If inside of a VTabs, find the currently selected\n // item by id. Item value may be assigned by its index\n return group.items.value.find(item => group.selected.value.includes(item.id))?.value\n },\n set (val) {\n _model.value = val\n },\n })\n\n useRender(() => {\n const windowProps = VWindow.filterProps(props)\n\n return (\n <VWindow\n _as=\"VTabsWindow\"\n { ...windowProps }\n v-model={ model.value }\n class=\"v-tabs-window\"\n mandatory={ false }\n touch={ false }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VTabsWindow = InstanceType<typeof VTabsWindow>\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB,EAAEC,OAAO,kCAElC;AAAA,SACSC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAAA,SACSC,WAAW;AAEpB,OAAO,MAAMC,oBAAoB,GAAGH,YAAY,CAAC;EAC/C,GAAGD,IAAI,CAACN,gBAAgB,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC;AACxG,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMW,WAAW,GAAGN,gBAAgB,CAAC,CAAC,CAAC;EAC5CO,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEH,oBAAoB,CAAC,CAAC;EAE7BI,KAAK,EAAE;IACL,mBAAmB,EAAGC,CAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGf,MAAM,CAACK,WAAW,EAAE,IAAI,CAAC;IACvC,MAAMW,MAAM,GAAGlB,eAAe,CAACW,KAAK,EAAE,YAAY,CAAC;IAEnD,MAAMQ,KAAK,GAAGlB,QAAQ,CAAC;MACrBmB,GAAGA,CAAA,EAAI;QACL;QACA;QACA,IAAIF,MAAM,CAACG,KAAK,IAAI,IAAI,IAAI,CAACJ,KAAK,EAAE,OAAOC,MAAM,CAACG,KAAK;;QAEvD;QACA;QACA,OAAOJ,KAAK,CAACK,KAAK,CAACD,KAAK,CAACE,IAAI,CAACC,IAAI,IAAIP,KAAK,CAACQ,QAAQ,CAACJ,KAAK,CAACK,QAAQ,CAACF,IAAI,CAACG,EAAE,CAAC,CAAC,EAAEN,KAAK;MACtF,CAAC;MACDO,GAAGA,CAAEC,GAAG,EAAE;QACRX,MAAM,CAACG,KAAK,GAAGQ,GAAG;MACpB;IACF,CAAC,CAAC;IAEFvB,SAAS,CAAC,MAAM;MACd,MAAMwB,WAAW,GAAG/B,OAAO,CAACgC,WAAW,CAACpB,KAAK,CAAC;MAE9C,OAAAqB,YAAA,CAAAjC,OAAA,EAAAkC,WAAA;QAAA;MAAA,GAGSH,WAAW;QAAA,cACNX,KAAK,CAACE,KAAK;QAAA,uBAAAa,MAAA,IAAXf,KAAK,CAACE,KAAK,GAAAa,MAAA;QAAA;QAAA,aAET,KAAK;QAAA,SACT;MAAK,IACHlB,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VTabsWindow.mjs","names":["makeVWindowProps","VWindow","useProxiedModel","computed","inject","genericComponent","omit","propsFactory","useRender","VTabsSymbol","makeVTabsWindowProps","VTabsWindow","name","props","emits","v","setup","_ref","slots","group","_model","model","get","value","items","find","item","selected","includes","id","set","val","windowProps","filterProps","_createVNode","_mergeProps","$event","class","style"],"sources":["../../../src/components/VTabs/VTabsWindow.tsx"],"sourcesContent":["// Components\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTabsSymbol } from './shared'\n\nexport const makeVTabsWindowProps = propsFactory({\n ...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory']),\n}, 'VTabsWindow')\n\nexport const VTabsWindow = genericComponent()({\n name: 'VTabsWindow',\n\n props: makeVTabsWindowProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const group = inject(VTabsSymbol, null)\n const _model = useProxiedModel(props, 'modelValue')\n\n const model = computed({\n get () {\n // Always return modelValue if defined\n // or if not within a VTabs group\n if (_model.value != null || !group) return _model.value\n\n // If inside of a VTabs, find the currently selected\n // item by id. Item value may be assigned by its index\n return group.items.value.find(item => group.selected.value.includes(item.id))?.value\n },\n set (val) {\n _model.value = val\n },\n })\n\n useRender(() => {\n const windowProps = VWindow.filterProps(props)\n\n return (\n <VWindow\n _as=\"VTabsWindow\"\n { ...windowProps }\n v-model={ model.value }\n class={[\n 'v-tabs-window',\n props.class,\n ]}\n style={ props.style }\n mandatory={ false }\n touch={ false }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VTabsWindow = InstanceType<typeof VTabsWindow>\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB,EAAEC,OAAO,kCAElC;AAAA,SACSC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAAA,SACSC,WAAW;AAEpB,OAAO,MAAMC,oBAAoB,GAAGH,YAAY,CAAC;EAC/C,GAAGD,IAAI,CAACN,gBAAgB,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC;AACxG,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMW,WAAW,GAAGN,gBAAgB,CAAC,CAAC,CAAC;EAC5CO,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEH,oBAAoB,CAAC,CAAC;EAE7BI,KAAK,EAAE;IACL,mBAAmB,EAAGC,CAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGf,MAAM,CAACK,WAAW,EAAE,IAAI,CAAC;IACvC,MAAMW,MAAM,GAAGlB,eAAe,CAACW,KAAK,EAAE,YAAY,CAAC;IAEnD,MAAMQ,KAAK,GAAGlB,QAAQ,CAAC;MACrBmB,GAAGA,CAAA,EAAI;QACL;QACA;QACA,IAAIF,MAAM,CAACG,KAAK,IAAI,IAAI,IAAI,CAACJ,KAAK,EAAE,OAAOC,MAAM,CAACG,KAAK;;QAEvD;QACA;QACA,OAAOJ,KAAK,CAACK,KAAK,CAACD,KAAK,CAACE,IAAI,CAACC,IAAI,IAAIP,KAAK,CAACQ,QAAQ,CAACJ,KAAK,CAACK,QAAQ,CAACF,IAAI,CAACG,EAAE,CAAC,CAAC,EAAEN,KAAK;MACtF,CAAC;MACDO,GAAGA,CAAEC,GAAG,EAAE;QACRX,MAAM,CAACG,KAAK,GAAGQ,GAAG;MACpB;IACF,CAAC,CAAC;IAEFvB,SAAS,CAAC,MAAM;MACd,MAAMwB,WAAW,GAAG/B,OAAO,CAACgC,WAAW,CAACpB,KAAK,CAAC;MAE9C,OAAAqB,YAAA,CAAAjC,OAAA,EAAAkC,WAAA;QAAA;MAAA,GAGSH,WAAW;QAAA,cACNX,KAAK,CAACE,KAAK;QAAA,uBAAAa,MAAA,IAAXf,KAAK,CAACE,KAAK,GAAAa,MAAA;QAAA,SACd,CACL,eAAe,EACfvB,KAAK,CAACwB,KAAK,CACZ;QAAA,SACOxB,KAAK,CAACyB,KAAK;QAAA,aACP,KAAK;QAAA,SACT;MAAK,IACHpB,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1711,7 +1711,7 @@ declare const VTabs: {
1711
1711
  style: vue.StyleValue;
1712
1712
  disabled: boolean;
1713
1713
  tag: string;
1714
- mobile: boolean;
1714
+ mobile: boolean | null;
1715
1715
  items: readonly TabItem[];
1716
1716
  mandatory: NonNullable<boolean | "force">;
1717
1717
  multiple: boolean;
@@ -1769,7 +1769,7 @@ declare const VTabs: {
1769
1769
  style: vue.StyleValue;
1770
1770
  disabled: boolean;
1771
1771
  tag: string;
1772
- mobile: boolean;
1772
+ mobile: boolean | null;
1773
1773
  items: readonly TabItem[];
1774
1774
  mandatory: NonNullable<boolean | "force">;
1775
1775
  multiple: boolean;
@@ -1826,7 +1826,7 @@ declare const VTabs: {
1826
1826
  height: string | number;
1827
1827
  disabled: boolean;
1828
1828
  tag: string;
1829
- mobile: boolean;
1829
+ mobile: boolean | null;
1830
1830
  modelValue: any;
1831
1831
  items: readonly TabItem[];
1832
1832
  mandatory: NonNullable<boolean | "force">;
@@ -1873,7 +1873,7 @@ declare const VTabs: {
1873
1873
  style: vue.StyleValue;
1874
1874
  disabled: boolean;
1875
1875
  tag: string;
1876
- mobile: boolean;
1876
+ mobile: boolean | null;
1877
1877
  items: readonly TabItem[];
1878
1878
  mandatory: NonNullable<boolean | "force">;
1879
1879
  multiple: boolean;
@@ -1930,7 +1930,7 @@ declare const VTabs: {
1930
1930
  height: string | number;
1931
1931
  disabled: boolean;
1932
1932
  tag: string;
1933
- mobile: boolean;
1933
+ mobile: boolean | null;
1934
1934
  modelValue: any;
1935
1935
  items: readonly TabItem[];
1936
1936
  mandatory: NonNullable<boolean | "force">;
@@ -1955,7 +1955,7 @@ declare const VTabs: {
1955
1955
  style: vue.StyleValue;
1956
1956
  disabled: boolean;
1957
1957
  tag: string;
1958
- mobile: boolean;
1958
+ mobile: boolean | null;
1959
1959
  items: readonly TabItem[];
1960
1960
  mandatory: NonNullable<boolean | "force">;
1961
1961
  multiple: boolean;
@@ -2014,7 +2014,7 @@ declare const VTabs: {
2014
2014
  height: string | number;
2015
2015
  disabled: boolean;
2016
2016
  tag: string;
2017
- mobile: boolean;
2017
+ mobile: boolean | null;
2018
2018
  modelValue: any;
2019
2019
  items: readonly TabItem[];
2020
2020
  mandatory: NonNullable<boolean | "force">;
@@ -2078,8 +2078,8 @@ declare const VTabs: {
2078
2078
  };
2079
2079
  disabled: BooleanConstructor;
2080
2080
  mobile: {
2081
- type: BooleanConstructor;
2082
- default: null;
2081
+ type: PropType<boolean | null>;
2082
+ default: boolean;
2083
2083
  };
2084
2084
  mobileBreakpoint: PropType<number | DisplayBreakpoint>;
2085
2085
  class: PropType<any>;
@@ -2156,8 +2156,8 @@ declare const VTabs: {
2156
2156
  };
2157
2157
  disabled: BooleanConstructor;
2158
2158
  mobile: {
2159
- type: BooleanConstructor;
2160
- default: null;
2159
+ type: PropType<boolean | null>;
2160
+ default: boolean;
2161
2161
  };
2162
2162
  mobileBreakpoint: PropType<number | DisplayBreakpoint>;
2163
2163
  class: PropType<any>;
@@ -56,13 +56,13 @@
56
56
  overflow: hidden;
57
57
  }
58
58
  .v-toolbar__content > .v-btn:first-child {
59
- margin-inline-start: 10px;
59
+ margin-inline-start: 4px;
60
60
  }
61
61
  .v-toolbar__content > .v-btn:last-child {
62
- margin-inline-end: 10px;
62
+ margin-inline-end: 4px;
63
63
  }
64
64
  .v-toolbar__content > .v-toolbar-title {
65
- margin-inline-start: 16px;
65
+ margin-inline-start: 20px;
66
66
  }
67
67
  .v-toolbar--density-prominent .v-toolbar__content {
68
68
  align-items: flex-start;
@@ -87,11 +87,11 @@
87
87
  }
88
88
 
89
89
  .v-toolbar__prepend {
90
- margin-inline: 10px auto;
90
+ margin-inline: 4px auto;
91
91
  }
92
92
 
93
93
  .v-toolbar__append {
94
- margin-inline: auto 10px;
94
+ margin-inline: auto 4px;
95
95
  }
96
96
 
97
97
  .v-toolbar-title {