vuetify 3.6.4 → 3.6.5

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 (68) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +292 -4
  3. package/dist/json/importMap-labs.json +30 -18
  4. package/dist/json/importMap.json +134 -134
  5. package/dist/json/tags.json +87 -0
  6. package/dist/json/web-types.json +1313 -6
  7. package/dist/vuetify-labs.css +2150 -2035
  8. package/dist/vuetify-labs.d.ts +1669 -28
  9. package/dist/vuetify-labs.esm.js +326 -25
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +326 -25
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +812 -765
  14. package/dist/vuetify.d.ts +153 -75
  15. package/dist/vuetify.esm.js +66 -25
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +66 -25
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +54 -54
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VBtn/index.d.mts +2 -0
  23. package/lib/components/VDataTable/VDataTable.mjs +6 -2
  24. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  25. package/lib/components/VDataTable/VDataTableServer.mjs +3 -2
  26. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  27. package/lib/components/VDataTable/VDataTableVirtual.mjs +3 -1
  28. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  29. package/lib/components/VDataTable/index.d.mts +54 -0
  30. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +3 -1
  31. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  32. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -4
  33. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  34. package/lib/components/VExpansionPanel/index.d.mts +82 -27
  35. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  36. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  37. package/lib/components/VSlideGroup/index.d.mts +2 -0
  38. package/lib/components/VStepper/VStepper.mjs +17 -8
  39. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  40. package/lib/components/VStepper/VStepperItem.css +47 -0
  41. package/lib/components/VStepper/VStepperItem.mjs +10 -5
  42. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  43. package/lib/components/VStepper/VStepperItem.sass +18 -0
  44. package/lib/components/VStepper/index.d.mts +1 -1
  45. package/lib/components/VTabs/index.d.mts +2 -0
  46. package/lib/components/VWindow/index.d.mts +2 -0
  47. package/lib/components/index.d.mts +102 -27
  48. package/lib/composables/group.mjs +8 -0
  49. package/lib/composables/group.mjs.map +1 -1
  50. package/lib/entry-bundler.mjs +1 -1
  51. package/lib/framework.mjs +1 -1
  52. package/lib/index.d.mts +51 -48
  53. package/lib/labs/VStepperVertical/VStepperVertical.mjs +106 -0
  54. package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -0
  55. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +38 -0
  56. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs.map +1 -0
  57. package/lib/labs/VStepperVertical/VStepperVerticalItem.css +69 -0
  58. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +134 -0
  59. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -0
  60. package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +74 -0
  61. package/lib/labs/VStepperVertical/_variables.scss +3 -0
  62. package/lib/labs/VStepperVertical/index.d.mts +1590 -0
  63. package/lib/labs/VStepperVertical/index.mjs +4 -0
  64. package/lib/labs/VStepperVertical/index.mjs.map +1 -0
  65. package/lib/labs/components.d.mts +1599 -20
  66. package/lib/labs/components.mjs +1 -0
  67. package/lib/labs/components.mjs.map +1 -1
  68. package/package.json +2 -2
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.6.4";
19
+ export const version = "3.6.5";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.6.4";
100
+ export const version = "3.6.5";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup
package/lib/index.d.mts CHANGED
@@ -493,42 +493,42 @@ declare module '@vue/runtime-core' {
493
493
  }
494
494
 
495
495
  export interface GlobalComponents {
496
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
497
- VApp: typeof import('vuetify/components')['VApp']
498
496
  VAppBar: typeof import('vuetify/components')['VAppBar']
499
497
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
500
498
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
499
+ VApp: typeof import('vuetify/components')['VApp']
500
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
501
501
  VAvatar: typeof import('vuetify/components')['VAvatar']
502
502
  VAlert: typeof import('vuetify/components')['VAlert']
503
503
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
504
+ VBadge: typeof import('vuetify/components')['VBadge']
505
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
504
506
  VBanner: typeof import('vuetify/components')['VBanner']
505
507
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
506
508
  VBannerText: typeof import('vuetify/components')['VBannerText']
507
- VBadge: typeof import('vuetify/components')['VBadge']
508
509
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
509
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
510
510
  VBtn: typeof import('vuetify/components')['VBtn']
511
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
512
- VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
513
- VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
514
- VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
515
- VCarousel: typeof import('vuetify/components')['VCarousel']
516
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
517
511
  VCard: typeof import('vuetify/components')['VCard']
518
512
  VCardActions: typeof import('vuetify/components')['VCardActions']
519
513
  VCardItem: typeof import('vuetify/components')['VCardItem']
520
514
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
521
515
  VCardText: typeof import('vuetify/components')['VCardText']
522
516
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
517
+ VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
518
+ VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
519
+ VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
523
520
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
521
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
524
522
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
525
523
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
526
- VChip: typeof import('vuetify/components')['VChip']
524
+ VCarousel: typeof import('vuetify/components')['VCarousel']
525
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
527
526
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
527
+ VChip: typeof import('vuetify/components')['VChip']
528
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
528
529
  VCode: typeof import('vuetify/components')['VCode']
529
- VCombobox: typeof import('vuetify/components')['VCombobox']
530
530
  VCounter: typeof import('vuetify/components')['VCounter']
531
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
531
+ VCombobox: typeof import('vuetify/components')['VCombobox']
532
532
  VDataTable: typeof import('vuetify/components')['VDataTable']
533
533
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
534
534
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -536,35 +536,33 @@ declare module '@vue/runtime-core' {
536
536
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
537
537
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
538
538
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
539
+ VDialog: typeof import('vuetify/components')['VDialog']
539
540
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
540
541
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
541
542
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
542
543
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
543
544
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
544
545
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
545
- VDialog: typeof import('vuetify/components')['VDialog']
546
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
547
546
  VDivider: typeof import('vuetify/components')['VDivider']
547
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
548
+ VFooter: typeof import('vuetify/components')['VFooter']
549
+ VFab: typeof import('vuetify/components')['VFab']
548
550
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
549
551
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
550
552
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
551
553
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
554
+ VFileInput: typeof import('vuetify/components')['VFileInput']
552
555
  VField: typeof import('vuetify/components')['VField']
553
556
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
554
- VFooter: typeof import('vuetify/components')['VFooter']
555
- VFab: typeof import('vuetify/components')['VFab']
556
- VFileInput: typeof import('vuetify/components')['VFileInput']
557
+ VImg: typeof import('vuetify/components')['VImg']
557
558
  VIcon: typeof import('vuetify/components')['VIcon']
558
559
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
559
560
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
560
561
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
561
562
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
562
- VImg: typeof import('vuetify/components')['VImg']
563
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
564
563
  VInput: typeof import('vuetify/components')['VInput']
564
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
565
565
  VKbd: typeof import('vuetify/components')['VKbd']
566
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
567
- VItem: typeof import('vuetify/components')['VItem']
568
566
  VLabel: typeof import('vuetify/components')['VLabel']
569
567
  VList: typeof import('vuetify/components')['VList']
570
568
  VListGroup: typeof import('vuetify/components')['VListGroup']
@@ -575,27 +573,34 @@ declare module '@vue/runtime-core' {
575
573
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
576
574
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
577
575
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
578
- VMain: typeof import('vuetify/components')['VMain']
576
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
577
+ VItem: typeof import('vuetify/components')['VItem']
579
578
  VMenu: typeof import('vuetify/components')['VMenu']
580
- VOverlay: typeof import('vuetify/components')['VOverlay']
581
- VMessages: typeof import('vuetify/components')['VMessages']
579
+ VMain: typeof import('vuetify/components')['VMain']
582
580
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
583
581
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
584
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
582
+ VMessages: typeof import('vuetify/components')['VMessages']
585
583
  VPagination: typeof import('vuetify/components')['VPagination']
584
+ VOverlay: typeof import('vuetify/components')['VOverlay']
585
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
586
586
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
587
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
588
- VRating: typeof import('vuetify/components')['VRating']
589
587
  VSelect: typeof import('vuetify/components')['VSelect']
590
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
588
+ VRating: typeof import('vuetify/components')['VRating']
589
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
591
590
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
592
- VSheet: typeof import('vuetify/components')['VSheet']
591
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
593
592
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
594
- VSlider: typeof import('vuetify/components')['VSlider']
595
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
593
+ VSheet: typeof import('vuetify/components')['VSheet']
596
594
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
597
595
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
596
+ VSlider: typeof import('vuetify/components')['VSlider']
597
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
598
+ VTab: typeof import('vuetify/components')['VTab']
599
+ VTabs: typeof import('vuetify/components')['VTabs']
600
+ VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
601
+ VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
598
602
  VSwitch: typeof import('vuetify/components')['VSwitch']
603
+ VTable: typeof import('vuetify/components')['VTable']
599
604
  VStepper: typeof import('vuetify/components')['VStepper']
600
605
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
601
606
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
@@ -603,23 +608,18 @@ declare module '@vue/runtime-core' {
603
608
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
604
609
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
605
610
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
606
- VTable: typeof import('vuetify/components')['VTable']
607
- VTab: typeof import('vuetify/components')['VTab']
608
- VTabs: typeof import('vuetify/components')['VTabs']
609
- VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
610
- VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
611
611
  VTextarea: typeof import('vuetify/components')['VTextarea']
612
612
  VTextField: typeof import('vuetify/components')['VTextField']
613
+ VTimeline: typeof import('vuetify/components')['VTimeline']
614
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
613
615
  VToolbar: typeof import('vuetify/components')['VToolbar']
614
616
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
615
617
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
616
- VTimeline: typeof import('vuetify/components')['VTimeline']
617
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
618
618
  VTooltip: typeof import('vuetify/components')['VTooltip']
619
619
  VWindow: typeof import('vuetify/components')['VWindow']
620
620
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
621
- VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
622
621
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
622
+ VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
623
623
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
624
624
  VForm: typeof import('vuetify/components')['VForm']
625
625
  VContainer: typeof import('vuetify/components')['VContainer']
@@ -627,9 +627,9 @@ declare module '@vue/runtime-core' {
627
627
  VRow: typeof import('vuetify/components')['VRow']
628
628
  VSpacer: typeof import('vuetify/components')['VSpacer']
629
629
  VHover: typeof import('vuetify/components')['VHover']
630
+ VLazy: typeof import('vuetify/components')['VLazy']
630
631
  VLayout: typeof import('vuetify/components')['VLayout']
631
632
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
632
- VLazy: typeof import('vuetify/components')['VLazy']
633
633
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
634
634
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
635
635
  VParallax: typeof import('vuetify/components')['VParallax']
@@ -657,23 +657,26 @@ declare module '@vue/runtime-core' {
657
657
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
658
658
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
659
659
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
660
- VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
660
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
661
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
661
662
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
662
663
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
663
664
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
664
665
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
665
666
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
666
667
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
667
- VPicker: typeof import('vuetify/labs/components')['VPicker']
668
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
669
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
670
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
671
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
668
+ VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
669
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
670
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
671
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
672
672
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
673
673
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
674
674
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
675
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
676
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
677
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
675
678
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
676
- VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
677
679
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
680
+ VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
678
681
  }
679
682
  }
@@ -0,0 +1,106 @@
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
+ // Components
3
+ import { VStepperVerticalItem } from "./VStepperVerticalItem.mjs";
4
+ import { makeVExpansionPanelsProps, VExpansionPanels } from "../../components/VExpansionPanel/VExpansionPanels.mjs";
5
+ import { makeStepperProps } from "../../components/VStepper/VStepper.mjs"; // Composables
6
+ import { provideDefaults } from "../../composables/defaults.mjs";
7
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
8
+ import { computed, ref, toRefs } from 'vue';
9
+ import { genericComponent, getPropertyFromItem, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
10
+ export const makeVStepperVerticalProps = propsFactory({
11
+ prevText: {
12
+ type: String,
13
+ default: '$vuetify.stepper.prev'
14
+ },
15
+ nextText: {
16
+ type: String,
17
+ default: '$vuetify.stepper.next'
18
+ },
19
+ ...makeStepperProps(),
20
+ ...omit(makeVExpansionPanelsProps({
21
+ mandatory: 'force',
22
+ variant: 'accordion'
23
+ }), ['static'])
24
+ }, 'VStepperVertical');
25
+ export const VStepperVertical = genericComponent()({
26
+ name: 'VStepperVertical',
27
+ props: makeVStepperVerticalProps(),
28
+ emits: {
29
+ 'update:modelValue': val => true
30
+ },
31
+ setup(props, _ref) {
32
+ let {
33
+ slots
34
+ } = _ref;
35
+ const vExpansionPanelsRef = ref();
36
+ const {
37
+ color,
38
+ editable,
39
+ prevText,
40
+ nextText,
41
+ hideActions
42
+ } = toRefs(props);
43
+ const model = useProxiedModel(props, 'modelValue');
44
+ const items = computed(() => props.items.map((item, index) => {
45
+ const title = getPropertyFromItem(item, props.itemTitle, item);
46
+ const value = getPropertyFromItem(item, props.itemValue, index + 1);
47
+ return {
48
+ title,
49
+ value,
50
+ raw: item
51
+ };
52
+ }));
53
+ provideDefaults({
54
+ VStepperVerticalItem: {
55
+ color,
56
+ editable,
57
+ prevText,
58
+ nextText,
59
+ hideActions,
60
+ static: true
61
+ },
62
+ VStepperActions: {
63
+ color
64
+ }
65
+ });
66
+ useRender(() => {
67
+ const expansionPanelProps = VExpansionPanels.filterProps(props);
68
+ return _createVNode(VExpansionPanels, _mergeProps(expansionPanelProps, {
69
+ "modelValue": model.value,
70
+ "onUpdate:modelValue": $event => model.value = $event,
71
+ "ref": vExpansionPanelsRef,
72
+ "class": ['v-stepper', {
73
+ 'v-stepper--alt-labels': props.altLabels,
74
+ 'v-stepper--flat': props.flat,
75
+ 'v-stepper--non-linear': props.nonLinear,
76
+ 'v-stepper--mobile': props.mobile
77
+ }, props.class],
78
+ "style": props.style
79
+ }), {
80
+ ...slots,
81
+ default: _ref2 => {
82
+ let {
83
+ prev,
84
+ next
85
+ } = _ref2;
86
+ return _createVNode(_Fragment, null, [items.value.map(_ref3 => {
87
+ let {
88
+ raw,
89
+ ...item
90
+ } = _ref3;
91
+ return _createVNode(VStepperVerticalItem, item, {
92
+ ...slots,
93
+ default: slots[`item.${item.value}`]
94
+ });
95
+ }), slots.default?.({
96
+ prev,
97
+ next,
98
+ step: model.value
99
+ })]);
100
+ }
101
+ });
102
+ });
103
+ return {};
104
+ }
105
+ });
106
+ //# sourceMappingURL=VStepperVertical.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VStepperVertical.mjs","names":["VStepperVerticalItem","makeVExpansionPanelsProps","VExpansionPanels","makeStepperProps","provideDefaults","useProxiedModel","computed","ref","toRefs","genericComponent","getPropertyFromItem","omit","propsFactory","useRender","makeVStepperVerticalProps","prevText","type","String","default","nextText","mandatory","variant","VStepperVertical","name","props","emits","val","setup","_ref","slots","vExpansionPanelsRef","color","editable","hideActions","model","items","map","item","index","title","itemTitle","value","itemValue","raw","static","VStepperActions","expansionPanelProps","filterProps","_createVNode","_mergeProps","$event","altLabels","flat","nonLinear","mobile","class","style","_ref2","prev","next","_Fragment","_ref3","step"],"sources":["../../../src/labs/VStepperVertical/VStepperVertical.tsx"],"sourcesContent":["// Components\nimport { VStepperVerticalItem } from './VStepperVerticalItem'\nimport { makeVExpansionPanelsProps, VExpansionPanels } from '@/components/VExpansionPanel/VExpansionPanels'\nimport { makeStepperProps } from '@/components/VStepper/VStepper'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VStepperSlot } from '@/components/VStepper/VStepper'\nimport type { StepperItem, StepperItemSlot } from '@/components/VStepper/VStepperItem'\n\nexport type VStepperVerticalSlots = {\n actions: StepperItemSlot\n default: VStepperSlot & { step: unknown }\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: StepperItemSlot\n next: StepperItemSlot\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeVStepperVerticalProps = propsFactory({\n prevText: {\n type: String,\n default: '$vuetify.stepper.prev',\n },\n nextText: {\n type: String,\n default: '$vuetify.stepper.next',\n },\n\n ...makeStepperProps(),\n ...omit(makeVExpansionPanelsProps({\n mandatory: 'force' as const,\n variant: 'accordion' as const,\n }), ['static']),\n}, 'VStepperVertical')\n\nexport const VStepperVertical = genericComponent<VStepperVerticalSlots>()({\n name: 'VStepperVertical',\n\n props: makeVStepperVerticalProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const vExpansionPanelsRef = ref<typeof VExpansionPanels>()\n const { color, editable, prevText, nextText, hideActions } = toRefs(props)\n\n const model = useProxiedModel(props, 'modelValue')\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\n provideDefaults({\n VStepperVerticalItem: {\n color,\n editable,\n prevText,\n nextText,\n hideActions,\n static: true,\n },\n VStepperActions: {\n color,\n },\n })\n\n useRender(() => {\n const expansionPanelProps = VExpansionPanels.filterProps(props)\n\n return (\n <VExpansionPanels\n { ...expansionPanelProps }\n v-model={ model.value }\n ref={ vExpansionPanelsRef }\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 {{\n ...slots,\n default: ({\n prev,\n next,\n }) => {\n return (\n <>\n { items.value.map(({ raw, ...item }) => (\n <VStepperVerticalItem { ...item }>\n {{\n ...slots,\n default: slots[`item.${item.value}`],\n }}\n </VStepperVerticalItem>\n ))}\n\n { slots.default?.({ prev, next, step: model.value }) }\n </>\n )\n },\n }}\n </VExpansionPanels>\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperVertical = InstanceType<typeof VStepperVertical>\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
2
+ // Components
3
+ import { makeVStepperActionsProps, VStepperActions } from "../../components/VStepper/VStepperActions.mjs"; // Utilities
4
+ import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
5
+ export const makeVStepperVerticalActionsProps = propsFactory({
6
+ ...makeVStepperActionsProps()
7
+ }, 'VStepperActions');
8
+ export const VStepperVerticalActions = genericComponent()({
9
+ name: 'VStepperVerticalActions',
10
+ props: makeVStepperVerticalActionsProps(),
11
+ emits: {
12
+ 'click:prev': () => true,
13
+ 'click:next': () => true
14
+ },
15
+ setup(props, _ref) {
16
+ let {
17
+ emit,
18
+ slots
19
+ } = _ref;
20
+ function onClickPrev() {
21
+ emit('click:prev');
22
+ }
23
+ function onClickNext() {
24
+ emit('click:next');
25
+ }
26
+ useRender(() => {
27
+ const stepperActionsProps = VStepperActions.filterProps(props);
28
+ return _createVNode(VStepperActions, _mergeProps({
29
+ "class": "v-stepper-vertical-actions"
30
+ }, stepperActionsProps, {
31
+ "onClick:prev": onClickPrev,
32
+ "onClick:next": onClickNext
33
+ }), slots);
34
+ });
35
+ return {};
36
+ }
37
+ });
38
+ //# sourceMappingURL=VStepperVerticalActions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VStepperVerticalActions.mjs","names":["makeVStepperActionsProps","VStepperActions","genericComponent","propsFactory","useRender","makeVStepperVerticalActionsProps","VStepperVerticalActions","name","props","emits","click:prev","click:next","setup","_ref","emit","slots","onClickPrev","onClickNext","stepperActionsProps","filterProps","_createVNode","_mergeProps"],"sources":["../../../src/labs/VStepperVertical/VStepperVerticalActions.tsx"],"sourcesContent":["// Components\nimport { makeVStepperActionsProps, VStepperActions } from '@/components/VStepper/VStepperActions'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VStepperActionsSlots } from '@/components/VStepper/VStepperActions'\n\nexport const makeVStepperVerticalActionsProps = propsFactory({\n ...makeVStepperActionsProps(),\n}, 'VStepperActions')\n\nexport const VStepperVerticalActions = genericComponent<VStepperActionsSlots>()({\n name: 'VStepperVerticalActions',\n\n props: makeVStepperVerticalActionsProps(),\n\n emits: {\n 'click:prev': () => true,\n 'click:next': () => true,\n },\n\n setup (props, { emit, slots }) {\n function onClickPrev () {\n emit('click:prev')\n }\n\n function onClickNext () {\n emit('click:next')\n }\n\n useRender(() => {\n const stepperActionsProps = VStepperActions.filterProps(props)\n\n return (\n <VStepperActions\n class=\"v-stepper-vertical-actions\"\n { ...stepperActionsProps }\n onClick:prev={ onClickPrev }\n onClick:next={ onClickNext }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperVerticalActions = InstanceType<typeof VStepperVerticalActions>\n"],"mappings":";AAAA;AAAA,SACSA,wBAAwB,EAAEC,eAAe,yDAElD;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAGA,OAAO,MAAMC,gCAAgC,GAAGF,YAAY,CAAC;EAC3D,GAAGH,wBAAwB,CAAC;AAC9B,CAAC,EAAE,iBAAiB,CAAC;AAErB,OAAO,MAAMM,uBAAuB,GAAGJ,gBAAgB,CAAuB,CAAC,CAAC;EAC9EK,IAAI,EAAE,yBAAyB;EAE/BC,KAAK,EAAEH,gCAAgC,CAAC,CAAC;EAEzCI,KAAK,EAAE;IACL,YAAY,EAAEC,CAAA,KAAM,IAAI;IACxB,YAAY,EAAEC,CAAA,KAAM;EACtB,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,SAASG,WAAWA,CAAA,EAAI;MACtBF,IAAI,CAAC,YAAY,CAAC;IACpB;IAEA,SAASG,WAAWA,CAAA,EAAI;MACtBH,IAAI,CAAC,YAAY,CAAC;IACpB;IAEAV,SAAS,CAAC,MAAM;MACd,MAAMc,mBAAmB,GAAGjB,eAAe,CAACkB,WAAW,CAACX,KAAK,CAAC;MAE9D,OAAAY,YAAA,CAAAnB,eAAA,EAAAoB,WAAA;QAAA;MAAA,GAGSH,mBAAmB;QAAA,gBACTF,WAAW;QAAA,gBACXC;MAAW,IAChBF,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ .v-stepper-vertical-item {
2
+ position: relative;
3
+ transition-duration: 0.2s;
4
+ transition-property: opacity;
5
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
6
+ }
7
+ .v-stepper-vertical-item__title {
8
+ font-size: 1rem;
9
+ }
10
+ .v-stepper-vertical-item__subtitle {
11
+ font-size: 0.75rem;
12
+ }
13
+ .v-stepper-vertical-item .v-expansion-panel-text {
14
+ padding-inline-start: 32px;
15
+ }
16
+ .v-stepper-vertical-item:not(:last-child):before {
17
+ content: "";
18
+ position: absolute;
19
+ width: 2px;
20
+ height: calc(100% - 30px);
21
+ background: rgba(var(--v-border-color), var(--v-border-opacity));
22
+ left: 35px;
23
+ top: 44px;
24
+ z-index: 1;
25
+ transition-duration: 300ms;
26
+ transition-property: height;
27
+ }
28
+ .v-stepper-vertical-item:after {
29
+ display: none;
30
+ }
31
+ .v-stepper-vertical-item.v-expansion-panel--disabled .v-expansion-panel-title, .v-stepper-vertical-item:not(.v-stepper-vertical-item--editable) .v-expansion-panel-title {
32
+ pointer-events: none;
33
+ }
34
+ .v-stepper-vertical-item.v-expansion-panel--disabled .v-expansion-panel-title .v-expansion-panel-title__overlay, .v-stepper-vertical-item:not(.v-stepper-vertical-item--editable) .v-expansion-panel-title .v-expansion-panel-title__overlay {
35
+ opacity: 0;
36
+ }
37
+
38
+ .v-stepper-vertical-item__avatar.v-avatar {
39
+ background: rgba(var(--v-theme-surface-variant), var(--v-medium-emphasis-opacity));
40
+ color: rgb(var(--v-theme-on-surface-variant));
41
+ transition-property: background;
42
+ }
43
+ .v-stepper-vertical-item__avatar.v-avatar .v-icon {
44
+ font-size: 0.875rem;
45
+ }
46
+ .v-expansion-panel--active .v-stepper-vertical-item__avatar.v-avatar {
47
+ background: rgb(var(--v-theme-surface-variant));
48
+ }
49
+ .v-stepper-vertical-item--error .v-stepper-vertical-item__avatar.v-avatar {
50
+ background: rgb(var(--v-theme-error));
51
+ color: rgb(var(--v-theme-on-error));
52
+ }
53
+
54
+ .v-stepper-vertical-item--error .v-stepper-vertical-item__title {
55
+ color: rgb(var(--v-theme-error));
56
+ }
57
+
58
+ .v-stepper-vertical-item--error .v-stepper-vertical-item__subtitle {
59
+ color: rgb(var(--v-theme-error));
60
+ }
61
+
62
+ .v-stepper-vertical-actions.v-stepper-actions .v-btn {
63
+ margin-inline-end: 8px;
64
+ }
65
+ .v-stepper .v-stepper-vertical-actions.v-stepper-actions {
66
+ justify-content: flex-end;
67
+ padding: 24px 0 0;
68
+ flex-direction: row-reverse;
69
+ }
@@ -0,0 +1,134 @@
1
+ import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
+ // Styles
3
+ import "./VStepperVerticalItem.css";
4
+
5
+ // Components
6
+ import { VStepperVerticalActions } from "./VStepperVerticalActions.mjs";
7
+ import { VAvatar } from "../../components/VAvatar/VAvatar.mjs";
8
+ import { VDefaultsProvider } from "../../components/VDefaultsProvider/VDefaultsProvider.mjs";
9
+ import { VExpansionPanel } from "../../components/VExpansionPanel/index.mjs";
10
+ import { makeVExpansionPanelProps } from "../../components/VExpansionPanel/VExpansionPanel.mjs";
11
+ import { VIcon } from "../../components/VIcon/VIcon.mjs";
12
+ import { makeStepperItemProps } from "../../components/VStepper/VStepperItem.mjs"; // Utilities
13
+ import { computed, ref } from 'vue';
14
+ import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
15
+ export const makeVStepperVerticalItemProps = propsFactory({
16
+ hideActions: Boolean,
17
+ ...makeStepperItemProps(),
18
+ ...omit(makeVExpansionPanelProps({
19
+ expandIcon: '',
20
+ collapseIcon: ''
21
+ }), ['hideActions'])
22
+ }, 'VStepperVerticalItem');
23
+ export const VStepperVerticalItem = genericComponent()({
24
+ name: 'VStepperVerticalItem',
25
+ props: makeVStepperVerticalItemProps(),
26
+ emits: {
27
+ 'click:next': () => true,
28
+ 'click:prev': () => true,
29
+ 'click:finish': () => true
30
+ },
31
+ setup(props, _ref) {
32
+ let {
33
+ emit,
34
+ slots
35
+ } = _ref;
36
+ const vExpansionPanelRef = ref();
37
+ const step = computed(() => !isNaN(parseInt(props.value)) ? Number(props.value) : props.value);
38
+ const groupItem = computed(() => vExpansionPanelRef.value?.groupItem);
39
+ const isSelected = computed(() => groupItem.value?.isSelected.value ?? false);
40
+ const isValid = computed(() => isSelected.value ? props.rules.every(handler => handler() === true) : null);
41
+ const canEdit = computed(() => !props.disabled && props.editable);
42
+ const hasError = computed(() => props.error || isSelected.value && !isValid.value);
43
+ const hasCompleted = computed(() => props.complete || props.rules.length > 0 && isValid.value === true);
44
+ const disabled = computed(() => {
45
+ if (props.disabled) return props.disabled;
46
+ if (groupItem.value?.isFirst.value) return 'prev';
47
+ return false;
48
+ });
49
+ const icon = computed(() => {
50
+ if (hasError.value) return props.errorIcon;
51
+ if (hasCompleted.value) return props.completeIcon;
52
+ if (groupItem.value?.isSelected.value && props.editable) return props.editIcon;
53
+ return props.icon;
54
+ });
55
+ const slotProps = computed(() => ({
56
+ canEdit: canEdit.value,
57
+ hasError: hasError.value,
58
+ hasCompleted: hasCompleted.value,
59
+ title: props.title,
60
+ subtitle: props.subtitle,
61
+ step: step.value,
62
+ value: props.value
63
+ }));
64
+ const actionProps = computed(() => ({
65
+ ...slotProps.value,
66
+ prev: onClickPrev,
67
+ next: onClickNext
68
+ }));
69
+ function onClickNext() {
70
+ emit('click:next');
71
+ if (groupItem.value?.isLast.value) return;
72
+ groupItem.value.group.next();
73
+ }
74
+ function onClickPrev() {
75
+ emit('click:prev');
76
+ groupItem.value.group.prev();
77
+ }
78
+ useRender(() => {
79
+ const hasColor = (hasCompleted.value || groupItem.value?.isSelected.value) && !hasError.value && !props.disabled;
80
+ const hasActions = !props.hideActions || !!slots.actions;
81
+ const expansionPanelProps = VExpansionPanel.filterProps(props);
82
+ return _createVNode(VExpansionPanel, _mergeProps({
83
+ "_as": "VStepperVerticalItem",
84
+ "ref": vExpansionPanelRef
85
+ }, expansionPanelProps, {
86
+ "class": ['v-stepper-vertical-item', {
87
+ 'v-stepper-vertical-item--complete': hasCompleted.value,
88
+ 'v-stepper-vertical-item--disabled': props.disabled,
89
+ 'v-stepper-vertical-item--editable': canEdit.value,
90
+ 'v-stepper-vertical-item--error': hasError.value
91
+ }, props.class],
92
+ "readonly": !props.editable,
93
+ "style": props.style,
94
+ "color": "",
95
+ "hide-actions": false,
96
+ "value": step.value
97
+ }), {
98
+ title: () => _createVNode(_Fragment, null, [_createVNode(VAvatar, {
99
+ "key": "stepper-avatar",
100
+ "class": "v-stepper-vertical-item__avatar",
101
+ "color": hasColor ? props.color : undefined,
102
+ "size": 24,
103
+ "start": true
104
+ }, {
105
+ default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? _createVNode(VIcon, {
106
+ "icon": icon.value
107
+ }, null) : step.value)]
108
+ }), _createVNode("div", null, [_createVNode("div", {
109
+ "class": "v-stepper-vertical-item__title"
110
+ }, [slots.title?.(slotProps.value) ?? props.title]), _createVNode("div", {
111
+ "class": "v-stepper-vertical-item__subtitle"
112
+ }, [slots.subtitle?.(slotProps.value) ?? props.subtitle])])]),
113
+ text: () => _createVNode(_Fragment, null, [slots.default?.(slotProps.value) ?? props.text, hasActions && _createVNode(VDefaultsProvider, {
114
+ "defaults": {
115
+ VStepperVerticalActions: {
116
+ disabled: disabled.value,
117
+ finish: groupItem.value?.isLast.value
118
+ }
119
+ }
120
+ }, {
121
+ default: () => [slots.actions?.(actionProps.value) ?? _createVNode(VStepperVerticalActions, {
122
+ "onClick:next": onClickNext,
123
+ "onClick:prev": onClickPrev
124
+ }, {
125
+ prev: slots.prev ? () => slots.prev?.(actionProps.value) : undefined,
126
+ next: slots.next ? () => slots.next?.(actionProps.value) : undefined
127
+ })]
128
+ })])
129
+ });
130
+ });
131
+ return {};
132
+ }
133
+ });
134
+ //# sourceMappingURL=VStepperVerticalItem.mjs.map