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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +2 -12
  2. package/dist/_component-variables-labs.sass +1 -0
  3. package/dist/json/attributes.json +268 -4
  4. package/dist/json/importMap-labs.json +22 -10
  5. package/dist/json/importMap.json +142 -142
  6. package/dist/json/tags.json +81 -0
  7. package/dist/json/web-types.json +1253 -6
  8. package/dist/vuetify-labs.css +1684 -1616
  9. package/dist/vuetify-labs.d.ts +1615 -28
  10. package/dist/vuetify-labs.esm.js +298 -11
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +298 -11
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.css +1239 -1239
  15. package/dist/vuetify.d.ts +97 -73
  16. package/dist/vuetify.esm.js +38 -11
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +38 -11
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +47 -48
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VBtn/index.d.mts +2 -0
  24. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +3 -1
  25. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  26. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -4
  27. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  28. package/lib/components/VExpansionPanel/index.d.mts +82 -27
  29. package/lib/components/VSlideGroup/index.d.mts +2 -0
  30. package/lib/components/VStepper/VStepper.mjs +5 -2
  31. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  32. package/lib/components/VStepper/VStepperItem.mjs +5 -2
  33. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  34. package/lib/components/VStepper/index.d.mts +1 -1
  35. package/lib/components/VTabs/index.d.mts +2 -0
  36. package/lib/components/VWindow/index.d.mts +2 -0
  37. package/lib/components/index.d.mts +48 -27
  38. package/lib/composables/group.mjs +8 -0
  39. package/lib/composables/group.mjs.map +1 -1
  40. package/lib/entry-bundler.mjs +1 -1
  41. package/lib/framework.mjs +1 -1
  42. package/lib/index.d.mts +49 -46
  43. package/lib/labs/VStepperVertical/VStepperVertical.mjs +106 -0
  44. package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -0
  45. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +38 -0
  46. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs.map +1 -0
  47. package/lib/labs/VStepperVertical/VStepperVerticalItem.css +69 -0
  48. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +134 -0
  49. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -0
  50. package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +74 -0
  51. package/lib/labs/VStepperVertical/_variables.scss +3 -0
  52. package/lib/labs/VStepperVertical/index.d.mts +1590 -0
  53. package/lib/labs/VStepperVertical/index.mjs +4 -0
  54. package/lib/labs/VStepperVertical/index.mjs.map +1 -0
  55. package/lib/labs/components.d.mts +1599 -20
  56. package/lib/labs/components.mjs +1 -0
  57. package/lib/labs/components.mjs.map +1 -1
  58. package/package.json +1 -1
@@ -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":[]}
@@ -0,0 +1,74 @@
1
+ @use '../../styles/settings'
2
+ @use '../../styles/tools'
3
+ @use './variables' as *
4
+
5
+ .v-stepper-vertical-item
6
+ position: relative
7
+ transition-duration: $stepper-vertical-item-transition-duration
8
+ transition-property: $stepper-vertical-item-transition-property
9
+ transition-timing-function: $stepper-vertical-item-transition-timing-function
10
+
11
+ &__title
12
+ font-size: 1rem
13
+
14
+ &__subtitle
15
+ font-size: .75rem
16
+
17
+ .v-expansion-panel-text
18
+ padding-inline-start: 32px
19
+
20
+ &:not(:last-child):before
21
+ content: ''
22
+ position: absolute
23
+ width: 2px
24
+ height: calc(100% - 30px)
25
+ background: rgba(var(--v-border-color), var(--v-border-opacity))
26
+ left: 35px
27
+ top: 44px
28
+ z-index: 1
29
+ transition-duration: 300ms
30
+ transition-property: height
31
+
32
+ &:after
33
+ display: none
34
+
35
+ &.v-expansion-panel--disabled,
36
+ &:not(.v-stepper-vertical-item--editable)
37
+ .v-expansion-panel-title
38
+ pointer-events: none
39
+
40
+ .v-expansion-panel-title__overlay
41
+ opacity: 0
42
+
43
+ .v-stepper-vertical-item__avatar.v-avatar
44
+ background: rgba(var(--v-theme-surface-variant), var(--v-medium-emphasis-opacity))
45
+ color: rgb(var(--v-theme-on-surface-variant))
46
+ transition-property: background
47
+
48
+ .v-icon
49
+ font-size: .875rem
50
+
51
+ .v-expansion-panel--active &
52
+ background: rgb(var(--v-theme-surface-variant))
53
+
54
+ .v-stepper-vertical-item--error &
55
+ background: rgb(var(--v-theme-error))
56
+ color: rgb(var(--v-theme-on-error))
57
+
58
+ .v-stepper-vertical-item__title
59
+ .v-stepper-vertical-item--error &
60
+ color: rgb(var(--v-theme-error))
61
+
62
+ .v-stepper-vertical-item__subtitle
63
+ .v-stepper-vertical-item--error &
64
+ color: rgb(var(--v-theme-error))
65
+
66
+ .v-stepper-vertical-actions
67
+ &.v-stepper-actions
68
+ .v-btn
69
+ margin-inline-end: 8px
70
+
71
+ .v-stepper &
72
+ justify-content: flex-end
73
+ padding: 24px 0 0
74
+ flex-direction: row-reverse
@@ -0,0 +1,3 @@
1
+ $stepper-vertical-item-transition-duration: .2s !default;
2
+ $stepper-vertical-item-transition-property: opacity !default;
3
+ $stepper-vertical-item-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !default;