@vuetify/nightly 3.6.3-master.2024-05-07 → 3.6.4-master.2024-05-09
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.
- package/CHANGELOG.md +7 -13
- package/dist/json/attributes.json +31 -31
- package/dist/json/importMap-labs.json +8 -8
- package/dist/json/importMap.json +124 -124
- package/dist/json/web-types.json +64 -64
- package/dist/vuetify-labs.css +2434 -2363
- package/dist/vuetify-labs.d.ts +995 -966
- package/dist/vuetify-labs.esm.js +104 -70
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +103 -69
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +775 -708
- package/dist/vuetify.d.ts +965 -936
- package/dist/vuetify.esm.js +104 -70
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +103 -69
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +981 -976
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +169 -140
- package/lib/components/VBottomSheet/index.d.mts +33 -27
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +169 -140
- package/lib/components/VDataIterator/index.d.mts +1 -1
- package/lib/components/VDataTable/VDataTable.css +1 -1
- package/lib/components/VDataTable/VDataTable.sass +2 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/components/VDataTable/composables/select.mjs +2 -1
- package/lib/components/VDataTable/composables/select.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +10 -5
- package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -4
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/components/VDialog/index.d.mts +99 -93
- package/lib/components/VFileInput/VFileInput.mjs +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +70 -46
- package/lib/components/VMenu/index.d.mts +99 -93
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +33 -27
- package/lib/components/VOverlay/useActivator.mjs +5 -5
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +169 -140
- package/lib/components/VSheet/VSheet.css +1 -1
- package/lib/components/VSheet/_variables.scss +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +25 -25
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.css +5 -0
- package/lib/components/VSlider/VSliderThumb.sass +3 -0
- package/lib/components/VSlider/VSliderTrack.css +15 -0
- package/lib/components/VSlider/VSliderTrack.sass +9 -0
- package/lib/components/VSnackbar/index.d.mts +85 -79
- package/lib/components/VSpeedDial/index.d.mts +33 -27
- package/lib/components/VStepper/VStepper.mjs +12 -6
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.css +47 -0
- package/lib/components/VStepper/VStepperItem.mjs +5 -3
- package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.sass +18 -0
- package/lib/components/VStepper/VStepperWindow.mjs +2 -1
- package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
- package/lib/components/VStepper/VStepperWindowItem.mjs +2 -1
- package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
- package/lib/components/VTabs/VTabsWindow.mjs +2 -1
- package/lib/components/VTabs/VTabsWindow.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.mts +99 -93
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/index.d.mts +926 -897
- package/lib/composables/nested/activeStrategies.mjs +16 -10
- package/lib/composables/nested/activeStrategies.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +7 -5
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs +5 -5
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +39 -39
- package/lib/labs/VCalendar/VCalendar.css +5 -1
- package/lib/labs/VCalendar/VCalendar.sass +3 -2
- package/lib/labs/VCalendar/_variables.scss +8 -0
- package/lib/labs/VSnackbarQueue/index.d.mts +97 -91
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +82 -58
- package/lib/labs/components.d.mts +178 -149
- package/lib/util/helpers.mjs +16 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
@@ -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>;
|
@@ -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 & {}) |
|
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 & {}) |
|
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:
|
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:
|
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:
|
170
|
+
targetRef: TemplateRef;
|
165
171
|
}) => vue.VNodeChild) | undefined;
|
166
172
|
} & {
|
167
173
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
@@ -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 & {}) |
|
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 & {}) |
|
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:
|
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:
|
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:
|
252
|
+
targetRef: TemplateRef;
|
247
253
|
}) => vue.VNodeChild) | undefined;
|
248
254
|
} & {
|
249
255
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
@@ -287,7 +293,7 @@ declare const VSpeedDial: {
|
|
287
293
|
activator: (arg: {
|
288
294
|
isActive: boolean;
|
289
295
|
props: Record<string, any>;
|
290
|
-
targetRef:
|
296
|
+
targetRef: TemplateRef;
|
291
297
|
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
292
298
|
[key: string]: any;
|
293
299
|
}>[];
|
@@ -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 & {}) |
|
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 & {}) |
|
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:
|
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:
|
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:
|
383
|
+
targetRef: TemplateRef;
|
378
384
|
}) => vue.VNodeChild) | undefined;
|
379
385
|
} & {
|
380
386
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
@@ -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 & {}) |
|
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 & {}) |
|
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:
|
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:
|
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:
|
498
|
+
targetRef: TemplateRef;
|
493
499
|
}) => vue.VNodeChild) | undefined;
|
494
500
|
} & {
|
495
501
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
@@ -535,7 +541,7 @@ declare const VSpeedDial: {
|
|
535
541
|
activator: (arg: {
|
536
542
|
isActive: boolean;
|
537
543
|
props: Record<string, any>;
|
538
|
-
targetRef:
|
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 & {}) |
|
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>>;
|
@@ -609,7 +615,7 @@ declare const VSpeedDial: {
|
|
609
615
|
type: vue.PropType<NonNullable<Anchor>>;
|
610
616
|
default: NonNullable<Anchor>;
|
611
617
|
};
|
612
|
-
activator: vue.PropType<Element | (string & {}) |
|
618
|
+
activator: vue.PropType<Element | vue.ComponentPublicInstance | (string & {}) | "parent" | undefined>;
|
613
619
|
locationStrategy: Omit<{
|
614
620
|
type: vue.PropType<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
|
615
621
|
updateLocation: (e: Event) => void;
|
@@ -689,7 +695,7 @@ declare const VSpeedDial: {
|
|
689
695
|
width: (StringConstructor | NumberConstructor)[];
|
690
696
|
height: (StringConstructor | NumberConstructor)[];
|
691
697
|
theme: StringConstructor;
|
692
|
-
target: vue.PropType<Element | (string & {}) |
|
698
|
+
target: vue.PropType<Element | vue.ComponentPublicInstance | (string & {}) | "parent" | "cursor" | [x: number, y: number] | undefined>;
|
693
699
|
disabled: BooleanConstructor;
|
694
700
|
offset: {
|
695
701
|
type: vue.PropType<NonNullable<string | number | number[] | undefined>>;
|
@@ -750,7 +756,7 @@ declare const VSpeedDial: {
|
|
750
756
|
type: vue.PropType<NonNullable<Anchor>>;
|
751
757
|
default: NonNullable<Anchor>;
|
752
758
|
};
|
753
|
-
activator: vue.PropType<Element | (string & {}) |
|
759
|
+
activator: vue.PropType<Element | vue.ComponentPublicInstance | (string & {}) | "parent" | undefined>;
|
754
760
|
locationStrategy: Omit<{
|
755
761
|
type: vue.PropType<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
|
756
762
|
updateLocation: (e: Event) => void;
|
@@ -113,12 +113,18 @@ export const VStepper = genericComponent()({
|
|
113
113
|
default: () => [hasHeader && _createVNode(VStepperHeader, {
|
114
114
|
"key": "stepper-header"
|
115
115
|
}, {
|
116
|
-
default: () => [items.value.map((
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
116
|
+
default: () => [items.value.map((_ref2, index) => {
|
117
|
+
let {
|
118
|
+
raw,
|
119
|
+
...item
|
120
|
+
} = _ref2;
|
121
|
+
return _createVNode(_Fragment, null, [!!index && _createVNode(VDivider, null, null), _createVNode(VStepperItem, item, {
|
122
|
+
default: slots[`header-item.${item.value}`] ?? slots.header,
|
123
|
+
icon: slots.icon,
|
124
|
+
title: slots.title,
|
125
|
+
subtitle: slots.subtitle
|
126
|
+
})]);
|
127
|
+
})]
|
122
128
|
}), hasWindow && _createVNode(VStepperWindow, {
|
123
129
|
"key": "stepper-window"
|
124
130
|
}, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VStepper.mjs","names":["makeVStepperActionsProps","VStepperActions","VStepperHeader","VStepperItem","VStepperWindow","VStepperWindowItem","VDivider","makeVSheetProps","VSheet","provideDefaults","makeGroupProps","useGroup","computed","toRefs","genericComponent","getPropertyFromItem","only","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperProps","altLabels","Boolean","bgColor","String","editable","hideActions","items","type","Array","default","itemTitle","itemValue","mobile","nonLinear","flat","mandatory","selectedClass","VStepper","name","props","emits","v","setup","_ref","slots","_items","next","prev","selected","color","prevText","nextText","map","item","index","title","value","raw","activeIndex","findIndex","includes","id","disabled","length","sheetProps","filterProps","hasHeader","header","hasWindow","hasActions","actions","_createVNode","_mergeProps","class","style","_Fragment","icon","subtitle"],"sources":["../../../src/components/VStepper/VStepper.tsx"],"sourcesContent":["// Styles\nimport './VStepper.sass'\n\n// Components\nimport { makeVStepperActionsProps, VStepperActions } from './VStepperActions'\nimport { VStepperHeader } from './VStepperHeader'\nimport { VStepperItem } from './VStepperItem'\nimport { VStepperWindow } from './VStepperWindow'\nimport { VStepperWindowItem } from './VStepperWindowItem'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utilities\nimport { computed, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { StepperItemSlot } from './VStepperItem'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-stepper')\n\nexport type StepperItem = string | Record<string, any>\n\nexport type VStepperSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VStepperSlots = {\n actions: VStepperSlot\n default: VStepperSlot\n header: StepperItem\n 'header-item': StepperItemSlot\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: never\n next: never\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeVStepperProps = propsFactory({\n altLabels: Boolean,\n bgColor: String,\n editable: Boolean,\n hideActions: Boolean,\n items: {\n type: Array as PropType<readonly StepperItem[]>,\n default: () => ([]),\n },\n itemTitle: {\n type: String,\n default: 'title',\n },\n itemValue: {\n type: String,\n default: 'value',\n },\n mobile: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n\n ...makeGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-stepper-item--selected',\n }),\n ...makeVSheetProps(),\n ...only(makeVStepperActionsProps(), ['prevText', 'nextText']),\n}, 'VStepper')\n\nexport const VStepper = genericComponent<VStepperSlots>()({\n name: 'VStepper',\n\n props: makeVStepperProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { items: _items, next, prev, selected } = useGroup(props, VStepperSymbol)\n const { color, editable, prevText, nextText } = toRefs(props)\n\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, index + 1)\n\n return {\n title,\n value,\n raw: item,\n }\n }))\n const activeIndex = computed(() => {\n return _items.value.findIndex(item => selected.value.includes(item.id))\n })\n const disabled = computed(() => {\n if (props.disabled) return props.disabled\n if (activeIndex.value === 0) return 'prev'\n if (activeIndex.value === _items.value.length - 1) return 'next'\n\n return false\n })\n\n provideDefaults({\n VStepperItem: {\n editable,\n prevText,\n nextText,\n },\n VStepperActions: {\n color,\n disabled,\n prevText,\n nextText,\n },\n })\n\n useRender(() => {\n const sheetProps = VSheet.filterProps(props)\n\n const hasHeader = !!(slots.header || props.items.length)\n const hasWindow = props.items.length > 0\n const hasActions = !props.hideActions && !!(hasWindow || slots.actions)\n\n return (\n <VSheet\n { ...sheetProps }\n color={ props.bgColor }\n class={[\n 'v-stepper',\n {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': props.mobile,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { hasHeader && (\n <VStepperHeader key=\"stepper-header\">\n { items.value.map((item, index) => (\n <>\n { !!index && (<VDivider />) }\n\n <VStepperItem\n { ...item }\n v-slots={{\n default: slots[`header-item.${item.value}`] ?? slots.header,\n icon: slots.icon,\n title: slots.title,\n subtitle: slots.subtitle,\n }}\n />\n </>\n ))}\n </VStepperHeader>\n )}\n\n { hasWindow && (\n <VStepperWindow key=\"stepper-window\">\n { items.value.map(item => (\n <VStepperWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item),\n }}\n />\n ))}\n </VStepperWindow>\n )}\n\n { slots.default?.({ prev, next }) }\n\n { hasActions && (\n slots.actions?.({ next, prev }) ?? (\n <VStepperActions\n key=\"stepper-actions\"\n onClick:prev={ prev }\n onClick:next={ next }\n v-slots={ slots }\n />\n )\n )}\n </VSheet>\n )\n })\n\n return {\n prev,\n next,\n }\n },\n})\n\nexport type VStepper = InstanceType<typeof VStepper>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VStepper.mjs","names":["makeVStepperActionsProps","VStepperActions","VStepperHeader","VStepperItem","VStepperWindow","VStepperWindowItem","VDivider","makeVSheetProps","VSheet","provideDefaults","makeGroupProps","useGroup","computed","toRefs","genericComponent","getPropertyFromItem","only","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperProps","altLabels","Boolean","bgColor","String","editable","hideActions","items","type","Array","default","itemTitle","itemValue","mobile","nonLinear","flat","mandatory","selectedClass","VStepper","name","props","emits","v","setup","_ref","slots","_items","next","prev","selected","color","prevText","nextText","map","item","index","title","value","raw","activeIndex","findIndex","includes","id","disabled","length","sheetProps","filterProps","hasHeader","header","hasWindow","hasActions","actions","_createVNode","_mergeProps","class","style","_ref2","_Fragment","icon","subtitle"],"sources":["../../../src/components/VStepper/VStepper.tsx"],"sourcesContent":["// Styles\nimport './VStepper.sass'\n\n// Components\nimport { makeVStepperActionsProps, VStepperActions } from './VStepperActions'\nimport { VStepperHeader } from './VStepperHeader'\nimport { VStepperItem } from './VStepperItem'\nimport { VStepperWindow } from './VStepperWindow'\nimport { VStepperWindowItem } from './VStepperWindowItem'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utilities\nimport { computed, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { StepperItemSlot } from './VStepperItem'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-stepper')\n\nexport type StepperItem = string | Record<string, any>\n\nexport type VStepperSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VStepperSlots = {\n actions: VStepperSlot\n default: VStepperSlot\n header: StepperItem\n 'header-item': StepperItemSlot\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: never\n next: never\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeVStepperProps = propsFactory({\n altLabels: Boolean,\n bgColor: String,\n editable: Boolean,\n hideActions: Boolean,\n items: {\n type: Array as PropType<readonly StepperItem[]>,\n default: () => ([]),\n },\n itemTitle: {\n type: String,\n default: 'title',\n },\n itemValue: {\n type: String,\n default: 'value',\n },\n mobile: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n\n ...makeGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-stepper-item--selected',\n }),\n ...makeVSheetProps(),\n ...only(makeVStepperActionsProps(), ['prevText', 'nextText']),\n}, 'VStepper')\n\nexport const VStepper = genericComponent<VStepperSlots>()({\n name: 'VStepper',\n\n props: makeVStepperProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { items: _items, next, prev, selected } = useGroup(props, VStepperSymbol)\n const { color, editable, prevText, nextText } = toRefs(props)\n\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, index + 1)\n\n return {\n title,\n value,\n raw: item,\n }\n }))\n const activeIndex = computed(() => {\n return _items.value.findIndex(item => selected.value.includes(item.id))\n })\n const disabled = computed(() => {\n if (props.disabled) return props.disabled\n if (activeIndex.value === 0) return 'prev'\n if (activeIndex.value === _items.value.length - 1) return 'next'\n\n return false\n })\n\n provideDefaults({\n VStepperItem: {\n editable,\n prevText,\n nextText,\n },\n VStepperActions: {\n color,\n disabled,\n prevText,\n nextText,\n },\n })\n\n useRender(() => {\n const sheetProps = VSheet.filterProps(props)\n\n const hasHeader = !!(slots.header || props.items.length)\n const hasWindow = props.items.length > 0\n const hasActions = !props.hideActions && !!(hasWindow || slots.actions)\n\n return (\n <VSheet\n { ...sheetProps }\n color={ props.bgColor }\n class={[\n 'v-stepper',\n {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': props.mobile,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { hasHeader && (\n <VStepperHeader key=\"stepper-header\">\n { items.value.map(({ raw, ...item }, index) => (\n <>\n { !!index && (<VDivider />) }\n\n <VStepperItem\n { ...item }\n v-slots={{\n default: slots[`header-item.${item.value}`] ?? slots.header,\n icon: slots.icon,\n title: slots.title,\n subtitle: slots.subtitle,\n }}\n />\n </>\n ))}\n </VStepperHeader>\n )}\n\n { hasWindow && (\n <VStepperWindow key=\"stepper-window\">\n { items.value.map(item => (\n <VStepperWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item),\n }}\n />\n ))}\n </VStepperWindow>\n )}\n\n { slots.default?.({ prev, next }) }\n\n { hasActions && (\n slots.actions?.({ next, prev }) ?? (\n <VStepperActions\n key=\"stepper-actions\"\n onClick:prev={ prev }\n onClick:next={ next }\n v-slots={ slots }\n />\n )\n )}\n </VSheet>\n )\n })\n\n return {\n prev,\n next,\n }\n },\n})\n\nexport type VStepper = InstanceType<typeof VStepper>\n"],"mappings":"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","ignoreList":[]}
|
@@ -3,12 +3,42 @@
|
|
3
3
|
align-self: stretch;
|
4
4
|
display: inline-flex;
|
5
5
|
flex: none;
|
6
|
+
outline: none;
|
6
7
|
opacity: var(--v-medium-emphasis-opacity);
|
7
8
|
padding: 1.5rem;
|
9
|
+
position: relative;
|
8
10
|
transition-duration: 0.2s;
|
9
11
|
transition-property: opacity;
|
10
12
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
11
13
|
}
|
14
|
+
.v-stepper-item:hover > .v-stepper-item__overlay {
|
15
|
+
opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier));
|
16
|
+
}
|
17
|
+
.v-stepper-item:focus-visible > .v-stepper-item__overlay {
|
18
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
19
|
+
}
|
20
|
+
@supports not selector(:focus-visible) {
|
21
|
+
.v-stepper-item:focus > .v-stepper-item__overlay {
|
22
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
23
|
+
}
|
24
|
+
}
|
25
|
+
.v-stepper-item--active > .v-stepper-item__overlay, .v-stepper-item[aria-haspopup=menu][aria-expanded=true] > .v-stepper-item__overlay {
|
26
|
+
opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier));
|
27
|
+
}
|
28
|
+
.v-stepper-item--active:hover > .v-stepper-item__overlay, .v-stepper-item[aria-haspopup=menu][aria-expanded=true]:hover > .v-stepper-item__overlay {
|
29
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier));
|
30
|
+
}
|
31
|
+
.v-stepper-item--active:focus-visible > .v-stepper-item__overlay, .v-stepper-item[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-stepper-item__overlay {
|
32
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
33
|
+
}
|
34
|
+
@supports not selector(:focus-visible) {
|
35
|
+
.v-stepper-item--active:focus > .v-stepper-item__overlay, .v-stepper-item[aria-haspopup=menu][aria-expanded=true]:focus > .v-stepper-item__overlay {
|
36
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
37
|
+
}
|
38
|
+
}
|
39
|
+
.v-stepper--non-linear .v-stepper-item {
|
40
|
+
opacity: var(--v-high-emphasis-opacity);
|
41
|
+
}
|
12
42
|
.v-stepper-item--selected {
|
13
43
|
opacity: 1;
|
14
44
|
}
|
@@ -64,4 +94,21 @@
|
|
64
94
|
}
|
65
95
|
.v-stepper--mobile .v-stepper-item__subtitle {
|
66
96
|
display: none;
|
97
|
+
}
|
98
|
+
|
99
|
+
.v-stepper-item__overlay {
|
100
|
+
background-color: currentColor;
|
101
|
+
border-radius: inherit;
|
102
|
+
opacity: 0;
|
103
|
+
transition: opacity 0.2s ease-in-out;
|
104
|
+
}
|
105
|
+
|
106
|
+
.v-stepper-item__overlay,
|
107
|
+
.v-stepper-item__underlay {
|
108
|
+
position: absolute;
|
109
|
+
top: 0;
|
110
|
+
left: 0;
|
111
|
+
width: 100%;
|
112
|
+
height: 100%;
|
113
|
+
pointer-events: none;
|
67
114
|
}
|
@@ -5,7 +5,8 @@ import "./VStepperItem.css";
|
|
5
5
|
// Components
|
6
6
|
import { VAvatar } from "../VAvatar/VAvatar.mjs";
|
7
7
|
import { VIcon } from "../VIcon/VIcon.mjs"; // Composables
|
8
|
-
import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs";
|
8
|
+
import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs";
|
9
|
+
import { genOverlays } from "../../composables/variant.mjs"; // Directives
|
9
10
|
import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
|
10
11
|
import { computed } from 'vue';
|
11
12
|
import { VStepperSymbol } from "./VStepper.mjs";
|
@@ -56,13 +57,14 @@ export const VStepperItem = genericComponent()({
|
|
56
57
|
const group = useGroupItem(props, VStepperSymbol, true);
|
57
58
|
const step = computed(() => group?.value.value ?? props.value);
|
58
59
|
const isValid = computed(() => props.rules.every(handler => handler() === true));
|
60
|
+
const isClickable = computed(() => !props.disabled && props.editable);
|
59
61
|
const canEdit = computed(() => !props.disabled && props.editable);
|
60
62
|
const hasError = computed(() => props.error || !isValid.value);
|
61
63
|
const hasCompleted = computed(() => props.complete || props.rules.length > 0 && isValid.value);
|
62
64
|
const icon = computed(() => {
|
63
65
|
if (hasError.value) return props.errorIcon;
|
64
66
|
if (hasCompleted.value) return props.completeIcon;
|
65
|
-
if (props.editable) return props.editIcon;
|
67
|
+
if (group.isSelected.value && props.editable) return props.editIcon;
|
66
68
|
return props.icon;
|
67
69
|
});
|
68
70
|
const slotProps = computed(() => ({
|
@@ -89,7 +91,7 @@ export const VStepperItem = genericComponent()({
|
|
89
91
|
}, group?.selectedClass.value],
|
90
92
|
"disabled": !props.editable,
|
91
93
|
"onClick": onClick
|
92
|
-
}, [_createVNode(VAvatar, {
|
94
|
+
}, [isClickable.value && genOverlays(true, 'v-stepper-item'), _createVNode(VAvatar, {
|
93
95
|
"key": "stepper-avatar",
|
94
96
|
"class": "v-stepper-item__avatar",
|
95
97
|
"color": hasColor ? props.color : undefined,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VStepperItem.mjs","names":["VAvatar","VIcon","makeGroupItemProps","useGroupItem","Ripple","computed","VStepperSymbol","genericComponent","propsFactory","useRender","makeVStepperItemProps","color","String","title","subtitle","complete","Boolean","completeIcon","type","default","editable","editIcon","error","errorIcon","icon","ripple","Object","rules","Array","VStepperItem","name","directives","props","emits","val","setup","_ref","slots","group","step","value","isValid","every","handler","
|
1
|
+
{"version":3,"file":"VStepperItem.mjs","names":["VAvatar","VIcon","makeGroupItemProps","useGroupItem","genOverlays","Ripple","computed","VStepperSymbol","genericComponent","propsFactory","useRender","makeVStepperItemProps","color","String","title","subtitle","complete","Boolean","completeIcon","type","default","editable","editIcon","error","errorIcon","icon","ripple","Object","rules","Array","VStepperItem","name","directives","props","emits","val","setup","_ref","slots","group","step","value","isValid","every","handler","isClickable","disabled","canEdit","hasError","hasCompleted","length","isSelected","slotProps","hasColor","hasTitle","hasSubtitle","onClick","toggle","_withDirectives","_createVNode","selectedClass","undefined","_resolveDirective"],"sources":["../../../src/components/VStepper/VStepperItem.tsx"],"sourcesContent":["// Styles\nimport './VStepperItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar/VAvatar'\nimport { VIcon } from '@/components/VIcon/VIcon'\n\n// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { genOverlays } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { VStepperSymbol } from './VStepper'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type StepperItemSlot = {\n canEdit: boolean\n hasError: boolean\n hasCompleted: boolean\n title?: string | number\n subtitle?: string | number\n step: any\n}\n\nexport type VStepperItemSlots = {\n default: StepperItemSlot\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n}\n\nexport type ValidationRule = () => string | boolean\n\nexport const makeVStepperItemProps = propsFactory({\n color: String,\n title: String,\n subtitle: String,\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n error: Boolean,\n errorIcon: {\n type: String,\n default: '$error',\n },\n icon: String,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n rules: {\n type: Array as PropType<readonly ValidationRule[]>,\n default: () => ([]),\n },\n\n ...makeGroupItemProps(),\n}, 'VStepperItem')\n\nexport const VStepperItem = genericComponent<VStepperItemSlots>()({\n name: 'VStepperItem',\n\n directives: { Ripple },\n\n props: makeVStepperItemProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const group = useGroupItem(props, VStepperSymbol, true)\n const step = computed(() => group?.value.value ?? props.value)\n const isValid = computed(() => props.rules.every(handler => handler() === true))\n const isClickable = computed(() => !props.disabled && props.editable)\n const canEdit = computed(() => !props.disabled && props.editable)\n const hasError = computed(() => props.error || !isValid.value)\n const hasCompleted = computed(() => props.complete || (props.rules.length > 0 && isValid.value))\n const icon = computed(() => {\n if (hasError.value) return props.errorIcon\n if (hasCompleted.value) return props.completeIcon\n if (group.isSelected.value && props.editable) return props.editIcon\n\n return props.icon\n })\n const slotProps = computed(() => ({\n canEdit: canEdit.value,\n hasError: hasError.value,\n hasCompleted: hasCompleted.value,\n title: props.title,\n subtitle: props.subtitle,\n step: step.value,\n value: props.value,\n }))\n\n useRender(() => {\n const hasColor = (\n !group ||\n group.isSelected.value ||\n hasCompleted.value ||\n canEdit.value\n ) && (\n !hasError.value &&\n !props.disabled\n )\n const hasTitle = !!(props.title != null || slots.title)\n const hasSubtitle = !!(props.subtitle != null || slots.subtitle)\n\n function onClick () {\n group?.toggle()\n }\n\n return (\n <button\n class={[\n 'v-stepper-item',\n {\n 'v-stepper-item--complete': hasCompleted.value,\n 'v-stepper-item--disabled': props.disabled,\n 'v-stepper-item--error': hasError.value,\n },\n group?.selectedClass.value,\n ]}\n disabled={ !props.editable }\n v-ripple={[\n props.ripple && props.editable,\n null,\n null,\n ]}\n onClick={ onClick }\n >\n { isClickable.value && genOverlays(true, 'v-stepper-item') }\n\n <VAvatar\n key=\"stepper-avatar\"\n class=\"v-stepper-item__avatar\"\n color={ hasColor ? props.color : undefined }\n size={ 24 }\n >\n { slots.icon?.(slotProps.value) ?? (\n icon.value ? (\n <VIcon icon={ icon.value }></VIcon>\n ) : step.value\n )}\n </VAvatar>\n\n <div class=\"v-stepper-item__content\">\n { hasTitle && (\n <div\n key=\"title\"\n class=\"v-stepper-item__title\"\n >\n { slots.title?.(slotProps.value) ?? props.title }\n </div>\n )}\n\n { hasSubtitle && (\n <div\n key=\"subtitle\"\n class=\"v-stepper-item__subtitle\"\n >\n { slots.subtitle?.(slotProps.value) ?? props.subtitle }\n </div>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n </button>\n )\n })\n return {}\n },\n})\n\nexport type VStepperItem = InstanceType<typeof VStepperItem>\n"],"mappings":"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","ignoreList":[]}
|
@@ -8,12 +8,19 @@
|
|
8
8
|
align-self: stretch
|
9
9
|
display: inline-flex
|
10
10
|
flex: none
|
11
|
+
outline: none
|
11
12
|
opacity: $stepper-item-opacity
|
12
13
|
padding: $stepper-item-padding
|
14
|
+
position: relative
|
13
15
|
transition-duration: $stepper-item-transition-duration
|
14
16
|
transition-property: $stepper-item-transition-property
|
15
17
|
transition-timing-function: $stepper-item-transition-timing-function
|
16
18
|
|
19
|
+
@include tools.states('.v-stepper-item__overlay')
|
20
|
+
|
21
|
+
.v-stepper--non-linear &
|
22
|
+
opacity: var(--v-high-emphasis-opacity)
|
23
|
+
|
17
24
|
&--selected
|
18
25
|
opacity: 1
|
19
26
|
|
@@ -71,3 +78,14 @@
|
|
71
78
|
|
72
79
|
.v-stepper--mobile &
|
73
80
|
display: none
|
81
|
+
|
82
|
+
.v-stepper-item__overlay
|
83
|
+
background-color: currentColor
|
84
|
+
border-radius: inherit
|
85
|
+
opacity: 0
|
86
|
+
transition: opacity .2s ease-in-out
|
87
|
+
|
88
|
+
.v-stepper-item__overlay,
|
89
|
+
.v-stepper-item__underlay
|
90
|
+
@include tools.absolute()
|
91
|
+
pointer-events: none
|
@@ -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":
|
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
|
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":
|
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
|
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":[]}
|
@@ -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":
|
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
|
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":[]}
|