@vuetify/nightly 3.6.4-master.2024-05-09 → 3.6.5-master.2024-05-11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -11
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +292 -4
- package/dist/json/importMap-labs.json +28 -16
- package/dist/json/importMap.json +120 -120
- package/dist/json/tags.json +87 -0
- package/dist/json/web-types.json +1313 -6
- package/dist/vuetify-labs.css +1683 -1615
- package/dist/vuetify-labs.d.ts +1669 -28
- package/dist/vuetify-labs.esm.js +310 -16
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +310 -16
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +963 -963
- package/dist/vuetify.d.ts +147 -69
- package/dist/vuetify.esm.js +50 -16
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +50 -16
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +51 -52
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBtn/index.d.mts +2 -0
- package/lib/components/VDataTable/VDataTable.mjs +6 -2
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs +3 -2
- package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +3 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +54 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +3 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -4
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +82 -27
- package/lib/components/VSlideGroup/index.d.mts +2 -0
- package/lib/components/VStepper/VStepper.mjs +5 -2
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.mjs +5 -2
- package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
- package/lib/components/VStepper/index.d.mts +1 -1
- package/lib/components/VTabs/index.d.mts +2 -0
- package/lib/components/VWindow/index.d.mts +2 -0
- package/lib/components/index.d.mts +102 -27
- package/lib/composables/group.mjs +8 -0
- package/lib/composables/group.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +45 -42
- package/lib/labs/VStepperVertical/VStepperVertical.mjs +106 -0
- package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -0
- package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +38 -0
- package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs.map +1 -0
- package/lib/labs/VStepperVertical/VStepperVerticalItem.css +69 -0
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +134 -0
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -0
- package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +74 -0
- package/lib/labs/VStepperVertical/_variables.scss +3 -0
- package/lib/labs/VStepperVertical/index.d.mts +1590 -0
- package/lib/labs/VStepperVertical/index.mjs +4 -0
- package/lib/labs/VStepperVertical/index.mjs.map +1 -0
- package/lib/labs/components.d.mts +1599 -20
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.d.mts
CHANGED
@@ -497,38 +497,37 @@ declare module '@vue/runtime-core' {
|
|
497
497
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
498
498
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
499
499
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
500
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
500
501
|
VAlert: typeof import('vuetify/components')['VAlert']
|
501
502
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
503
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
502
504
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
503
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
504
505
|
VBanner: typeof import('vuetify/components')['VBanner']
|
505
506
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
506
507
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
507
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
508
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
509
508
|
VBadge: typeof import('vuetify/components')['VBadge']
|
509
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
510
510
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
511
511
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
512
512
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
513
513
|
VBtn: typeof import('vuetify/components')['VBtn']
|
514
514
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
515
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
516
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
515
517
|
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
518
|
+
VChip: typeof import('vuetify/components')['VChip']
|
516
519
|
VCard: typeof import('vuetify/components')['VCard']
|
517
520
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
518
521
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
519
522
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
520
523
|
VCardText: typeof import('vuetify/components')['VCardText']
|
521
524
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
522
|
-
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
523
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
524
525
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
525
526
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
526
|
-
VCode: typeof import('vuetify/components')['VCode']
|
527
|
-
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
528
|
-
VChip: typeof import('vuetify/components')['VChip']
|
529
527
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
528
|
+
VCode: typeof import('vuetify/components')['VCode']
|
530
529
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
531
|
-
|
530
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
532
531
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
533
532
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
534
533
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -536,6 +535,7 @@ declare module '@vue/runtime-core' {
|
|
536
535
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
537
536
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
538
537
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
538
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
539
539
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
540
540
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
541
541
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
@@ -545,27 +545,27 @@ declare module '@vue/runtime-core' {
|
|
545
545
|
VDialog: typeof import('vuetify/components')['VDialog']
|
546
546
|
VDivider: typeof import('vuetify/components')['VDivider']
|
547
547
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
548
|
+
VField: typeof import('vuetify/components')['VField']
|
549
|
+
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
550
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
551
|
+
VFab: typeof import('vuetify/components')['VFab']
|
552
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
548
553
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
549
554
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
550
555
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
551
556
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
552
|
-
VFab: typeof import('vuetify/components')['VFab']
|
553
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
554
|
-
VField: typeof import('vuetify/components')['VField']
|
555
|
-
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
556
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
557
557
|
VIcon: typeof import('vuetify/components')['VIcon']
|
558
558
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
559
559
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
560
560
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
561
561
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
562
562
|
VInput: typeof import('vuetify/components')['VInput']
|
563
|
-
VImg: typeof import('vuetify/components')['VImg']
|
564
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
565
563
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
566
|
-
|
564
|
+
VImg: typeof import('vuetify/components')['VImg']
|
567
565
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
568
566
|
VItem: typeof import('vuetify/components')['VItem']
|
567
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
568
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
569
569
|
VList: typeof import('vuetify/components')['VList']
|
570
570
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
571
571
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -575,71 +575,71 @@ declare module '@vue/runtime-core' {
|
|
575
575
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
576
576
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
577
577
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
578
|
+
VMain: typeof import('vuetify/components')['VMain']
|
578
579
|
VMenu: typeof import('vuetify/components')['VMenu']
|
579
580
|
VMessages: typeof import('vuetify/components')['VMessages']
|
580
|
-
VMain: typeof import('vuetify/components')['VMain']
|
581
|
-
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
582
581
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
582
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
583
|
+
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
583
584
|
VPagination: typeof import('vuetify/components')['VPagination']
|
584
585
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
585
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
586
|
-
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
587
586
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
587
|
+
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
588
588
|
VRating: typeof import('vuetify/components')['VRating']
|
589
589
|
VSelect: typeof import('vuetify/components')['VSelect']
|
590
|
-
|
590
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
591
591
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
592
|
-
|
592
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
593
593
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
594
594
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
595
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
596
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
597
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
598
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
599
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
595
600
|
VStepper: typeof import('vuetify/components')['VStepper']
|
596
601
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
597
602
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
598
603
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
599
604
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
600
605
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
601
|
-
|
602
|
-
VSlider: typeof import('vuetify/components')['VSlider']
|
603
|
-
VSwitch: typeof import('vuetify/components')['VSwitch']
|
604
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
606
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
605
607
|
VTab: typeof import('vuetify/components')['VTab']
|
606
608
|
VTabs: typeof import('vuetify/components')['VTabs']
|
607
609
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
608
610
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
609
611
|
VTable: typeof import('vuetify/components')['VTable']
|
610
612
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
611
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
612
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
613
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
614
613
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
615
614
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
616
615
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
617
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
618
616
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
619
617
|
VWindow: typeof import('vuetify/components')['VWindow']
|
620
618
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
619
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
620
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
621
621
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
622
622
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
623
623
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
624
|
-
VForm: typeof import('vuetify/components')['VForm']
|
625
624
|
VContainer: typeof import('vuetify/components')['VContainer']
|
626
625
|
VCol: typeof import('vuetify/components')['VCol']
|
627
626
|
VRow: typeof import('vuetify/components')['VRow']
|
628
627
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
628
|
+
VForm: typeof import('vuetify/components')['VForm']
|
629
629
|
VHover: typeof import('vuetify/components')['VHover']
|
630
|
-
|
630
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
631
631
|
VLayout: typeof import('vuetify/components')['VLayout']
|
632
632
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
633
|
-
|
633
|
+
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
634
634
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
635
635
|
VParallax: typeof import('vuetify/components')['VParallax']
|
636
636
|
VRadio: typeof import('vuetify/components')['VRadio']
|
637
637
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
638
638
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
639
|
-
VSparkline: typeof import('vuetify/components')['VSparkline']
|
640
639
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
641
|
-
|
640
|
+
VSparkline: typeof import('vuetify/components')['VSparkline']
|
642
641
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
642
|
+
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
643
643
|
VValidation: typeof import('vuetify/components')['VValidation']
|
644
644
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
645
645
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
@@ -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
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
661
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
660
662
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
661
663
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
662
664
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
663
665
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
664
666
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
665
667
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
666
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
667
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
668
668
|
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
669
|
-
|
670
|
-
|
671
|
-
|
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
|
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
673
673
|
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
674
674
|
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
675
|
-
|
675
|
+
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
676
|
+
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
677
|
+
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
676
678
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
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
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"VStepperVerticalItem.mjs","names":["VStepperVerticalActions","VAvatar","VDefaultsProvider","VExpansionPanel","makeVExpansionPanelProps","VIcon","makeStepperItemProps","computed","ref","genericComponent","omit","propsFactory","useRender","makeVStepperVerticalItemProps","hideActions","Boolean","expandIcon","collapseIcon","VStepperVerticalItem","name","props","emits","click:next","click:prev","click:finish","setup","_ref","emit","slots","vExpansionPanelRef","step","isNaN","parseInt","value","Number","groupItem","isSelected","isValid","rules","every","handler","canEdit","disabled","editable","hasError","error","hasCompleted","complete","length","isFirst","icon","errorIcon","completeIcon","editIcon","slotProps","title","subtitle","actionProps","prev","onClickPrev","next","onClickNext","isLast","group","hasColor","hasActions","actions","expansionPanelProps","filterProps","_createVNode","_mergeProps","class","style","_Fragment","color","undefined","default","text","finish"],"sources":["../../../src/labs/VStepperVertical/VStepperVerticalItem.tsx"],"sourcesContent":["// Styles\nimport './VStepperVerticalItem.sass'\n\n// Components\nimport { VStepperVerticalActions } from './VStepperVerticalActions'\nimport { VAvatar } from '@/components/VAvatar/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { VExpansionPanel } from '@/components/VExpansionPanel'\nimport { makeVExpansionPanelProps } from '@/components/VExpansionPanel/VExpansionPanel'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { makeStepperItemProps } from '@/components/VStepper/VStepperItem'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { StepperItemSlot } from '@/components/VStepper/VStepperItem'\n\nexport type VStepperVerticalItemSlots = {\n default: StepperItemSlot\n icon: StepperItemSlot\n subtitle: StepperItemSlot\n title: StepperItemSlot\n text: StepperItemSlot\n prev: StepperItemSlot\n next: StepperItemSlot\n actions: StepperItemSlot & {\n next: () => void\n prev: () => void\n }\n}\n\nexport const makeVStepperVerticalItemProps = propsFactory({\n hideActions: Boolean,\n\n ...makeStepperItemProps(),\n ...omit(makeVExpansionPanelProps({\n expandIcon: '',\n collapseIcon: '',\n }), ['hideActions']),\n}, 'VStepperVerticalItem')\n\nexport const VStepperVerticalItem = genericComponent<VStepperVerticalItemSlots>()({\n name: 'VStepperVerticalItem',\n\n props: makeVStepperVerticalItemProps(),\n\n emits: {\n 'click:next': () => true,\n 'click:prev': () => true,\n 'click:finish': () => true,\n },\n\n setup (props, { emit, slots }) {\n const vExpansionPanelRef = ref<typeof VExpansionPanel>()\n const step = computed(() => !isNaN(parseInt(props.value)) ? Number(props.value) : props.value)\n const groupItem = computed(() => vExpansionPanelRef.value?.groupItem)\n const isSelected = computed(() => groupItem.value?.isSelected.value ?? false)\n const isValid = computed(() => isSelected.value ? props.rules.every(handler => handler() === true) : null)\n const canEdit = computed(() => !props.disabled && props.editable)\n const hasError = computed(() => props.error || (isSelected.value && !isValid.value))\n const hasCompleted = computed(() => props.complete || (props.rules.length > 0 && isValid.value === true))\n\n const disabled = computed(() => {\n if (props.disabled) return props.disabled\n if (groupItem.value?.isFirst.value) return 'prev'\n\n return false\n })\n const icon = computed(() => {\n if (hasError.value) return props.errorIcon\n if (hasCompleted.value) return props.completeIcon\n if (groupItem.value?.isSelected.value && props.editable) return props.editIcon\n\n return props.icon\n })\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 const actionProps = computed(() => ({\n ...slotProps.value,\n prev: onClickPrev,\n next: onClickNext,\n }))\n\n function onClickNext () {\n emit('click:next')\n\n if (groupItem.value?.isLast.value) return\n\n groupItem.value.group.next()\n }\n\n function onClickPrev () {\n emit('click:prev')\n\n groupItem.value.group.prev()\n }\n\n useRender(() => {\n const hasColor = (\n hasCompleted.value ||\n groupItem.value?.isSelected.value\n ) && (\n !hasError.value &&\n !props.disabled\n )\n\n const hasActions = !props.hideActions || !!slots.actions\n const expansionPanelProps = VExpansionPanel.filterProps(props)\n\n return (\n <VExpansionPanel\n _as=\"VStepperVerticalItem\"\n ref={ vExpansionPanelRef }\n { ...expansionPanelProps }\n class={[\n 'v-stepper-vertical-item',\n {\n 'v-stepper-vertical-item--complete': hasCompleted.value,\n 'v-stepper-vertical-item--disabled': props.disabled,\n 'v-stepper-vertical-item--editable': canEdit.value,\n 'v-stepper-vertical-item--error': hasError.value,\n },\n props.class,\n ]}\n readonly={ !props.editable }\n style={ props.style }\n color=\"\"\n hide-actions={ false }\n value={ step.value }\n >\n {{\n title: () => (\n <>\n <VAvatar\n key=\"stepper-avatar\"\n class=\"v-stepper-vertical-item__avatar\"\n color={ hasColor ? props.color : undefined }\n size={ 24 }\n start\n >\n { slots.icon?.(slotProps.value) ?? (\n icon.value ? (\n <VIcon icon={ icon.value }></VIcon>\n ) : step.value\n )}\n </VAvatar>\n\n <div>\n <div class=\"v-stepper-vertical-item__title\">\n { slots.title?.(slotProps.value) ?? props.title }\n </div>\n\n <div class=\"v-stepper-vertical-item__subtitle\">\n { slots.subtitle?.(slotProps.value) ?? props.subtitle }\n </div>\n </div>\n </>\n ),\n text: () => (\n <>\n { slots.default?.(slotProps.value) ?? props.text }\n\n { hasActions && (\n <VDefaultsProvider\n defaults={{\n VStepperVerticalActions: {\n disabled: disabled.value,\n finish: groupItem.value?.isLast.value,\n },\n }}\n >\n { slots.actions?.(actionProps.value) ?? (\n <VStepperVerticalActions\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n v-slots={{\n prev: slots.prev ? () => slots.prev?.(actionProps.value) : undefined,\n next: slots.next ? () => slots.next?.(actionProps.value) : undefined,\n }}\n />\n )}\n </VDefaultsProvider>\n )}\n </>\n ),\n }}\n </VExpansionPanel>\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperVerticalItem = InstanceType<typeof VStepperVerticalItem>\n"],"mappings":"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","ignoreList":[]}
|