@vuetify/nightly 3.4.0-alpha.1-dev.2023-10-21 → 3.4.0-alpha.1-dev.2023-10-26

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 (189) hide show
  1. package/CHANGELOG.md +6 -3
  2. package/dist/_component-variables-labs.sass +1 -4
  3. package/dist/_component-variables.sass +3 -0
  4. package/dist/json/attributes.json +26 -26
  5. package/dist/json/importMap-labs.json +20 -52
  6. package/dist/json/importMap.json +56 -24
  7. package/dist/json/web-types.json +30 -30
  8. package/dist/vuetify-labs.css +725 -724
  9. package/dist/vuetify-labs.d.ts +41344 -36620
  10. package/dist/vuetify-labs.esm.js +5358 -5336
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +5357 -5335
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.css +385 -13
  15. package/dist/vuetify.d.ts +19744 -12997
  16. package/dist/vuetify.esm.js +735 -145
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +734 -144
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +808 -779
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VAlert/index.d.mts +114 -106
  24. package/lib/components/VApp/index.d.mts +24 -47
  25. package/lib/components/VAppBar/index.d.mts +219 -175
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs +13 -10
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/index.d.mts +1203 -551
  29. package/lib/components/VAvatar/index.d.mts +45 -53
  30. package/lib/components/VBadge/index.d.mts +66 -58
  31. package/lib/components/VBanner/index.d.mts +106 -146
  32. package/lib/components/VBottomNavigation/index.d.mts +72 -63
  33. package/lib/{labs → components}/VBottomSheet/VBottomSheet.mjs +1 -1
  34. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -0
  35. package/lib/{labs → components}/VBottomSheet/index.d.mts +153 -83
  36. package/lib/components/VBottomSheet/index.mjs.map +1 -0
  37. package/lib/components/VBreadcrumbs/index.d.mts +89 -147
  38. package/lib/components/VBtn/index.d.mts +107 -66
  39. package/lib/components/VBtnGroup/index.d.mts +38 -51
  40. package/lib/components/VBtnToggle/index.d.mts +53 -55
  41. package/lib/components/VCard/index.d.mts +238 -298
  42. package/lib/components/VCarousel/index.d.mts +251 -131
  43. package/lib/components/VCheckbox/index.d.mts +259 -146
  44. package/lib/components/VChip/index.d.mts +157 -76
  45. package/lib/components/VChipGroup/index.d.mts +76 -55
  46. package/lib/components/VCode/index.d.mts +21 -46
  47. package/lib/components/VColorPicker/index.d.mts +112 -61
  48. package/lib/components/VCombobox/VCombobox.mjs +13 -10
  49. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  50. package/lib/components/VCombobox/index.d.mts +1203 -551
  51. package/lib/components/VCounter/index.d.mts +45 -57
  52. package/lib/components/VDefaultsProvider/index.d.mts +24 -49
  53. package/lib/components/VDialog/index.d.mts +583 -329
  54. package/lib/components/VDivider/index.d.mts +30 -49
  55. package/lib/components/VExpansionPanel/index.d.mts +188 -212
  56. package/lib/components/VField/index.d.mts +88 -105
  57. package/lib/components/VFileInput/index.d.mts +472 -287
  58. package/lib/components/VFooter/index.d.mts +42 -52
  59. package/lib/components/VForm/index.d.mts +149 -51
  60. package/lib/components/VGrid/index.d.mts +146 -196
  61. package/lib/components/VHover/index.d.mts +37 -49
  62. package/lib/components/VIcon/index.d.mts +79 -234
  63. package/lib/components/VImg/index.d.mts +80 -61
  64. package/lib/components/VInput/index.d.mts +90 -66
  65. package/lib/components/VItemGroup/index.d.mts +115 -99
  66. package/lib/components/VKbd/index.d.mts +21 -46
  67. package/lib/components/VLabel/index.d.mts +24 -47
  68. package/lib/components/VLayout/index.d.mts +55 -96
  69. package/lib/components/VLazy/index.d.mts +43 -50
  70. package/lib/components/VList/index.d.mts +403 -468
  71. package/lib/components/VLocaleProvider/index.d.mts +24 -46
  72. package/lib/components/VMain/index.d.mts +24 -47
  73. package/lib/components/VMenu/index.d.mts +573 -324
  74. package/lib/components/VMessages/index.d.mts +41 -49
  75. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +1 -0
  76. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +1 -0
  77. package/lib/components/VNavigationDrawer/index.d.mts +95 -67
  78. package/lib/components/VOverlay/index.d.mts +138 -76
  79. package/lib/components/VPagination/index.d.mts +114 -73
  80. package/lib/components/VParallax/index.d.mts +31 -47
  81. package/lib/components/VProgressCircular/index.d.mts +48 -53
  82. package/lib/components/VProgressLinear/index.d.mts +84 -63
  83. package/lib/components/VRadio/index.d.mts +93 -61
  84. package/lib/components/VRadioGroup/index.d.mts +130 -77
  85. package/lib/components/VRangeSlider/index.d.mts +169 -86
  86. package/lib/components/VRating/index.d.mts +75 -62
  87. package/lib/components/VResponsive/index.d.mts +33 -47
  88. package/lib/components/VSelect/VSelect.mjs +13 -10
  89. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  90. package/lib/components/VSelect/index.d.mts +1191 -546
  91. package/lib/components/VSelectionControl/index.d.mts +48 -53
  92. package/lib/components/VSelectionControlGroup/index.d.mts +58 -57
  93. package/lib/components/VSheet/index.d.mts +37 -48
  94. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
  95. package/lib/{labs → components}/VSkeletonLoader/index.d.mts +36 -51
  96. package/lib/components/VSkeletonLoader/index.mjs.map +1 -0
  97. package/lib/components/VSlideGroup/index.d.mts +106 -105
  98. package/lib/components/VSlider/index.d.mts +166 -85
  99. package/lib/components/VSnackbar/index.d.mts +572 -324
  100. package/lib/components/VStepper/VStepper.mjs +137 -98
  101. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  102. package/lib/components/VStepper/VStepper.sass +38 -198
  103. package/lib/{labs → components}/VStepper/VStepperActions.mjs +2 -2
  104. package/lib/components/VStepper/VStepperActions.mjs.map +1 -0
  105. package/lib/components/VStepper/VStepperHeader.mjs.map +1 -0
  106. package/lib/{labs → components}/VStepper/VStepperItem.mjs +2 -2
  107. package/lib/components/VStepper/VStepperItem.mjs.map +1 -0
  108. package/lib/{labs → components}/VStepper/VStepperWindow.mjs +1 -1
  109. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -0
  110. package/lib/{labs → components}/VStepper/VStepperWindowItem.mjs +1 -1
  111. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -0
  112. package/lib/components/VStepper/_variables.scss +21 -31
  113. package/lib/{labs → components}/VStepper/index.d.mts +368 -340
  114. package/lib/components/VStepper/index.mjs +6 -17
  115. package/lib/components/VStepper/index.mjs.map +1 -1
  116. package/lib/components/VSwitch/index.d.mts +168 -86
  117. package/lib/components/VSystemBar/index.d.mts +39 -51
  118. package/lib/components/VTable/index.d.mts +45 -51
  119. package/lib/components/VTabs/index.d.mts +177 -132
  120. package/lib/components/VTextField/index.d.mts +665 -470
  121. package/lib/components/VTextarea/index.d.mts +469 -297
  122. package/lib/components/VThemeProvider/index.d.mts +26 -48
  123. package/lib/components/VTimeline/index.d.mts +98 -106
  124. package/lib/components/VToolbar/index.d.mts +119 -150
  125. package/lib/components/VTooltip/index.d.mts +565 -321
  126. package/lib/components/VValidation/index.d.mts +108 -62
  127. package/lib/components/VVirtualScroll/index.d.mts +18 -46
  128. package/lib/components/VWindow/index.d.mts +130 -110
  129. package/lib/components/index.d.mts +19539 -12808
  130. package/lib/components/index.mjs +4 -2
  131. package/lib/components/index.mjs.map +1 -1
  132. package/lib/components/transitions/index.d.mts +455 -819
  133. package/lib/composables/color.mjs +2 -2
  134. package/lib/composables/color.mjs.map +1 -1
  135. package/lib/entry-bundler.mjs +1 -1
  136. package/lib/framework.mjs +1 -1
  137. package/lib/index.d.mts +22 -22
  138. package/lib/labs/VDataIterator/index.d.mts +112 -75
  139. package/lib/labs/VDataTable/index.d.mts +1456 -530
  140. package/lib/labs/VDateInput/index.d.mts +260 -157
  141. package/lib/labs/VDatePicker/index.d.mts +1100 -889
  142. package/lib/labs/VDateRangePicker/index.d.mts +207 -129
  143. package/lib/labs/VInfiniteScroll/index.d.mts +59 -54
  144. package/lib/labs/VOtpInput/index.d.mts +80 -64
  145. package/lib/labs/VPicker/index.d.mts +74 -97
  146. package/lib/labs/components.d.mts +7777 -9883
  147. package/lib/labs/components.mjs +0 -3
  148. package/lib/labs/components.mjs.map +1 -1
  149. package/lib/labs/date/adapters/vuetify.mjs +6 -3
  150. package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
  151. package/lib/locale/fr.mjs +19 -19
  152. package/lib/locale/fr.mjs.map +1 -1
  153. package/lib/util/colorUtils.mjs +3 -0
  154. package/lib/util/colorUtils.mjs.map +1 -1
  155. package/lib/util/helpers.mjs +8 -1
  156. package/lib/util/helpers.mjs.map +1 -1
  157. package/package.json +1 -1
  158. package/lib/components/VStepper/VStepperContent.mjs +0 -114
  159. package/lib/components/VStepper/VStepperContent.mjs.map +0 -1
  160. package/lib/components/VStepper/VStepperStep.mjs +0 -134
  161. package/lib/components/VStepper/VStepperStep.mjs.map +0 -1
  162. package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +0 -1
  163. package/lib/labs/VBottomSheet/index.mjs.map +0 -1
  164. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
  165. package/lib/labs/VSkeletonLoader/index.mjs.map +0 -1
  166. package/lib/labs/VStepper/VStepper.mjs +0 -149
  167. package/lib/labs/VStepper/VStepper.mjs.map +0 -1
  168. package/lib/labs/VStepper/VStepper.sass +0 -53
  169. package/lib/labs/VStepper/VStepperActions.mjs.map +0 -1
  170. package/lib/labs/VStepper/VStepperHeader.mjs.map +0 -1
  171. package/lib/labs/VStepper/VStepperItem.mjs.map +0 -1
  172. package/lib/labs/VStepper/VStepperWindow.mjs.map +0 -1
  173. package/lib/labs/VStepper/VStepperWindowItem.mjs.map +0 -1
  174. package/lib/labs/VStepper/_variables.scss +0 -27
  175. package/lib/labs/VStepper/index.mjs +0 -7
  176. package/lib/labs/VStepper/index.mjs.map +0 -1
  177. /package/lib/{labs → components}/VBottomSheet/VBottomSheet.css +0 -0
  178. /package/lib/{labs → components}/VBottomSheet/VBottomSheet.sass +0 -0
  179. /package/lib/{labs → components}/VBottomSheet/_variables.scss +0 -0
  180. /package/lib/{labs → components}/VBottomSheet/index.mjs +0 -0
  181. /package/lib/{labs → components}/VSkeletonLoader/VSkeletonLoader.css +0 -0
  182. /package/lib/{labs → components}/VSkeletonLoader/VSkeletonLoader.mjs +0 -0
  183. /package/lib/{labs → components}/VSkeletonLoader/VSkeletonLoader.sass +0 -0
  184. /package/lib/{labs → components}/VSkeletonLoader/_variables.scss +0 -0
  185. /package/lib/{labs → components}/VSkeletonLoader/index.mjs +0 -0
  186. /package/lib/{labs → components}/VStepper/VStepper.css +0 -0
  187. /package/lib/{labs → components}/VStepper/VStepperHeader.mjs +0 -0
  188. /package/lib/{labs → components}/VStepper/VStepperItem.css +0 -0
  189. /package/lib/{labs → components}/VStepper/VStepperItem.sass +0 -0
@@ -1,110 +1,149 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
-
1
+ import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from "vue";
4
2
  // Styles
5
3
  import "./VStepper.css";
6
4
 
7
- // Extensions
8
- import VSheet from "../VSheet/index.mjs"; // Components
9
- // Mixins
10
- import { provide as RegistrableProvide } from "../../mixins/registrable.mjs";
11
- import Proxyable from "../../mixins/proxyable.mjs"; // Utilities
12
- import mixins from "../../util/mixins.mjs";
13
- import { breaking } from "../../util/console.mjs"; // Types
14
- const baseMixins = mixins(VSheet, RegistrableProvide('stepper'), Proxyable);
15
- /* @vue/component */
16
- export default baseMixins.extend({
17
- name: 'v-stepper',
18
- provide() {
19
- return {
20
- stepClick: this.stepClick,
21
- isVertical: this.vertical
22
- };
5
+ // Components
6
+ import { makeVStepperActionsProps, VStepperActions } from "./VStepperActions.mjs";
7
+ import { VStepperHeader } from "./VStepperHeader.mjs";
8
+ import { VStepperItem } from "./VStepperItem.mjs";
9
+ import { VStepperWindow } from "./VStepperWindow.mjs";
10
+ import { VStepperWindowItem } from "./VStepperWindowItem.mjs";
11
+ import { VDivider } from "../VDivider/index.mjs";
12
+ import { makeVSheetProps, VSheet } from "../VSheet/VSheet.mjs"; // Composables
13
+ import { provideDefaults } from "../../composables/defaults.mjs";
14
+ import { makeGroupProps, useGroup } from "../../composables/group.mjs"; // Utilities
15
+ import { computed, toRefs } from 'vue';
16
+ import { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from "../../util/index.mjs"; // Types
17
+ export const VStepperSymbol = Symbol.for('vuetify:v-stepper');
18
+ export const makeVStepperProps = propsFactory({
19
+ altLabels: Boolean,
20
+ bgColor: String,
21
+ editable: Boolean,
22
+ hideActions: Boolean,
23
+ items: {
24
+ type: Array,
25
+ default: () => []
23
26
  },
24
- props: {
25
- altLabels: Boolean,
26
- nonLinear: Boolean,
27
- flat: Boolean,
28
- vertical: Boolean
27
+ itemTitle: {
28
+ type: String,
29
+ default: 'title'
29
30
  },
30
- data() {
31
- const data = {
32
- isBooted: false,
33
- steps: [],
34
- content: [],
35
- isReverse: false
36
- };
37
- data.internalLazyValue = this.value != null ? this.value : (data[0] || {}).step || 1;
38
- return data;
31
+ itemValue: {
32
+ type: String,
33
+ default: 'value'
39
34
  },
40
- computed: {
41
- classes() {
42
- return {
43
- 'v-stepper--flat': this.flat,
44
- 'v-stepper--is-booted': this.isBooted,
45
- 'v-stepper--vertical': this.vertical,
46
- 'v-stepper--alt-labels': this.altLabels,
47
- 'v-stepper--non-linear': this.nonLinear,
48
- ...VSheet.options.computed.classes.call(this)
49
- };
50
- },
51
- styles() {
35
+ mobile: Boolean,
36
+ nonLinear: Boolean,
37
+ flat: Boolean,
38
+ ...makeGroupProps({
39
+ mandatory: 'force',
40
+ selectedClass: 'v-stepper-item--selected'
41
+ }),
42
+ ...makeVSheetProps(),
43
+ ...only(makeVStepperActionsProps(), ['prevText', 'nextText'])
44
+ }, 'VStepper');
45
+ export const VStepper = genericComponent()({
46
+ name: 'VStepper',
47
+ props: makeVStepperProps(),
48
+ emits: {
49
+ 'update:modelValue': v => true
50
+ },
51
+ setup(props, _ref) {
52
+ let {
53
+ slots
54
+ } = _ref;
55
+ const {
56
+ items: _items,
57
+ next,
58
+ prev,
59
+ selected
60
+ } = useGroup(props, VStepperSymbol);
61
+ const {
62
+ color,
63
+ editable,
64
+ prevText,
65
+ nextText
66
+ } = toRefs(props);
67
+ const items = computed(() => props.items.map((item, index) => {
68
+ const title = getPropertyFromItem(item, props.itemTitle, item);
69
+ const value = getPropertyFromItem(item, props.itemValue, index + 1);
52
70
  return {
53
- ...VSheet.options.computed.styles.call(this)
71
+ title,
72
+ value,
73
+ raw: item
54
74
  };
55
- }
56
- },
57
- watch: {
58
- internalValue(val, oldVal) {
59
- this.isReverse = Number(val) < Number(oldVal);
60
- oldVal && (this.isBooted = true);
61
- this.updateView();
62
- }
63
- },
64
- created() {
65
- /* istanbul ignore next */
66
- if (this.$listeners.input) {
67
- breaking('@input', '@change', this);
68
- }
69
- },
70
- mounted() {
71
- this.updateView();
72
- },
73
- methods: {
74
- register(item) {
75
- if (item.$options.name === 'v-stepper-step') {
76
- this.steps.push(item);
77
- } else if (item.$options.name === 'v-stepper-content') {
78
- item.isVertical = this.vertical;
79
- this.content.push(item);
80
- }
81
- },
82
- unregister(item) {
83
- if (item.$options.name === 'v-stepper-step') {
84
- this.steps = this.steps.filter(i => i !== item);
85
- } else if (item.$options.name === 'v-stepper-content') {
86
- item.isVertical = this.vertical;
87
- this.content = this.content.filter(i => i !== item);
88
- }
89
- },
90
- stepClick(step) {
91
- this.$nextTick(() => this.internalValue = step);
92
- },
93
- updateView() {
94
- for (let index = this.steps.length; --index >= 0;) {
95
- this.steps[index].toggle(this.internalValue);
75
+ }));
76
+ const activeIndex = computed(() => {
77
+ return _items.value.findIndex(item => selected.value.includes(item.id));
78
+ });
79
+ const disabled = computed(() => {
80
+ if (props.disabled) return props.disabled;
81
+ if (activeIndex.value === 0) return 'prev';
82
+ if (activeIndex.value === _items.value.length - 1) return 'next';
83
+ return false;
84
+ });
85
+ provideDefaults({
86
+ VStepperItem: {
87
+ editable,
88
+ prevText,
89
+ nextText
90
+ },
91
+ VStepperActions: {
92
+ color,
93
+ disabled,
94
+ prevText,
95
+ nextText
96
96
  }
97
- for (let index = this.content.length; --index >= 0;) {
98
- this.content[index].toggle(this.internalValue, this.isReverse);
99
- }
100
- }
101
- },
102
- render(h) {
103
- return h(this.tag, {
104
- staticClass: 'v-stepper',
105
- class: this.classes,
106
- style: this.styles
107
- }, this.$slots.default);
97
+ });
98
+ useRender(() => {
99
+ const [sheetProps] = VSheet.filterProps(props);
100
+ const hasHeader = !!(slots.header || props.items.length);
101
+ const hasWindow = props.items.length > 0;
102
+ const hasActions = !props.hideActions && !!(hasWindow || slots.actions);
103
+ return _createVNode(VSheet, _mergeProps(sheetProps, {
104
+ "color": props.bgColor,
105
+ "class": ['v-stepper', {
106
+ 'v-stepper--alt-labels': props.altLabels,
107
+ 'v-stepper--flat': props.flat,
108
+ 'v-stepper--non-linear': props.nonLinear,
109
+ 'v-stepper--mobile': props.mobile
110
+ }, props.class],
111
+ "style": props.style
112
+ }), {
113
+ default: () => [hasHeader && _createVNode(VStepperHeader, {
114
+ "key": "stepper-header"
115
+ }, {
116
+ default: () => [items.value.map((item, index) => _createVNode(_Fragment, null, [!!index && _createVNode(VDivider, null, null), _createVNode(VStepperItem, item, {
117
+ default: slots[`header-item.${item.value}`] ?? slots.header,
118
+ icon: slots.icon,
119
+ title: slots.title,
120
+ subtitle: slots.subtitle
121
+ })]))]
122
+ }), hasWindow && _createVNode(VStepperWindow, {
123
+ "key": "stepper-window"
124
+ }, {
125
+ default: () => [items.value.map(item => _createVNode(VStepperWindowItem, {
126
+ "value": item.value
127
+ }, {
128
+ default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item)
129
+ }))]
130
+ }), slots.default?.({
131
+ prev,
132
+ next
133
+ }), hasActions && (slots.actions?.({
134
+ next,
135
+ prev
136
+ }) ?? _createVNode(VStepperActions, {
137
+ "key": "stepper-actions",
138
+ "onClick:prev": prev,
139
+ "onClick:next": next
140
+ }, slots))]
141
+ });
142
+ });
143
+ return {
144
+ prev,
145
+ next
146
+ };
108
147
  }
109
148
  });
110
149
  //# sourceMappingURL=VStepper.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VStepper.mjs","names":["VSheet","provide","RegistrableProvide","Proxyable","mixins","breaking","baseMixins","extend","name","stepClick","isVertical","vertical","props","altLabels","Boolean","nonLinear","flat","data","isBooted","steps","content","isReverse","internalLazyValue","value","step","computed","classes","options","call","styles","watch","internalValue","val","oldVal","Number","updateView","created","$listeners","input","mounted","methods","register","item","$options","push","unregister","filter","i","$nextTick","index","length","toggle","render","h","tag","staticClass","class","style","$slots","default"],"sources":["../../../src/components/VStepper/VStepper.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VStepper.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VSheet,\n RegistrableProvide('stepper'),\n Proxyable,\n)\n\ntype VStepperStepInstance = InstanceType<typeof VStepperStep>\ntype VStepperContentInstance = InstanceType<typeof VStepperContent>\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper',\n\n provide (): object {\n return {\n stepClick: this.stepClick,\n isVertical: this.vertical,\n }\n },\n\n props: {\n altLabels: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n vertical: Boolean,\n },\n\n data () {\n const data: Record<string, any> = {\n isBooted: false,\n steps: [] as VStepperStepInstance[],\n content: [] as VStepperContentInstance[],\n isReverse: false,\n }\n\n data.internalLazyValue = this.value != null\n ? this.value\n : (data[0] || {}).step || 1\n\n return data\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper--flat': this.flat,\n 'v-stepper--is-booted': this.isBooted,\n 'v-stepper--vertical': this.vertical,\n 'v-stepper--alt-labels': this.altLabels,\n 'v-stepper--non-linear': this.nonLinear,\n ...VSheet.options.computed.classes.call(this),\n }\n },\n styles (): object {\n return {\n ...VSheet.options.computed.styles.call(this),\n }\n },\n },\n\n watch: {\n internalValue (val, oldVal) {\n this.isReverse = Number(val) < Number(oldVal)\n\n oldVal && (this.isBooted = true)\n\n this.updateView()\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$listeners.input) {\n breaking('@input', '@change', this)\n }\n },\n\n mounted () {\n this.updateView()\n },\n\n methods: {\n register (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps.push(item as VStepperStepInstance)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content.push(item as VStepperContentInstance)\n }\n },\n unregister (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n }\n },\n stepClick (step: string | number) {\n this.$nextTick(() => (this.internalValue = step))\n },\n updateView () {\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.internalValue as any)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.internalValue as any, this.isReverse)\n }\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-stepper',\n class: this.classes,\n style: this.styles,\n }, this.$slots.default)\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"VStepper.mjs","names":["makeVStepperActionsProps","VStepperActions","VStepperHeader","VStepperItem","VStepperWindow","VStepperWindowItem","VDivider","makeVSheetProps","VSheet","provideDefaults","makeGroupProps","useGroup","computed","toRefs","genericComponent","getPropertyFromItem","only","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperProps","altLabels","Boolean","bgColor","String","editable","hideActions","items","type","Array","default","itemTitle","itemValue","mobile","nonLinear","flat","mandatory","selectedClass","VStepper","name","props","emits","v","setup","_ref","slots","_items","next","prev","selected","color","prevText","nextText","map","item","index","title","value","raw","activeIndex","findIndex","includes","id","disabled","length","sheetProps","filterProps","hasHeader","header","hasWindow","hasActions","actions","_createVNode","_mergeProps","class","style","_Fragment","icon","subtitle"],"sources":["../../../src/components/VStepper/VStepper.tsx"],"sourcesContent":["// Styles\nimport './VStepper.sass'\n\n// Components\nimport { makeVStepperActionsProps, VStepperActions } from './VStepperActions'\nimport { VStepperHeader } from './VStepperHeader'\nimport { VStepperItem } from './VStepperItem'\nimport { VStepperWindow } from './VStepperWindow'\nimport { VStepperWindowItem } from './VStepperWindowItem'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utilities\nimport { computed, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { StepperItemSlot } from './VStepperItem'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-stepper')\n\nexport type StepperItem = string | Record<string, any>\n\nexport type VStepperSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VStepperSlots = {\n actions: VStepperSlot\n default: StepperItem\n header: StepperItem\n 'header-item': StepperItemSlot\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: never\n next: never\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeVStepperProps = propsFactory({\n altLabels: Boolean,\n bgColor: String,\n editable: Boolean,\n hideActions: Boolean,\n items: {\n type: Array as PropType<readonly StepperItem[]>,\n default: () => ([]),\n },\n itemTitle: {\n type: String,\n default: 'title',\n },\n itemValue: {\n type: String,\n default: 'value',\n },\n mobile: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n\n ...makeGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-stepper-item--selected',\n }),\n ...makeVSheetProps(),\n ...only(makeVStepperActionsProps(), ['prevText', 'nextText']),\n}, 'VStepper')\n\nexport const VStepper = genericComponent<VStepperSlots>()({\n name: 'VStepper',\n\n props: makeVStepperProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { items: _items, next, prev, selected } = useGroup(props, VStepperSymbol)\n const { color, editable, prevText, nextText } = toRefs(props)\n\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, index + 1)\n\n return {\n title,\n value,\n raw: item,\n }\n }))\n const activeIndex = computed(() => {\n return _items.value.findIndex(item => selected.value.includes(item.id))\n })\n const disabled = computed(() => {\n if (props.disabled) return props.disabled\n if (activeIndex.value === 0) return 'prev'\n if (activeIndex.value === _items.value.length - 1) return 'next'\n\n return false\n })\n\n provideDefaults({\n VStepperItem: {\n editable,\n prevText,\n nextText,\n },\n VStepperActions: {\n color,\n disabled,\n prevText,\n nextText,\n },\n })\n\n useRender(() => {\n const [sheetProps] = VSheet.filterProps(props)\n\n const hasHeader = !!(slots.header || props.items.length)\n const hasWindow = props.items.length > 0\n const hasActions = !props.hideActions && !!(hasWindow || slots.actions)\n\n return (\n <VSheet\n { ...sheetProps }\n color={ props.bgColor }\n class={[\n 'v-stepper',\n {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': props.mobile,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { hasHeader && (\n <VStepperHeader key=\"stepper-header\">\n { items.value.map((item, index) => (\n <>\n { !!index && (<VDivider />) }\n\n <VStepperItem\n { ...item }\n v-slots={{\n default: slots[`header-item.${item.value}`] ?? slots.header,\n icon: slots.icon,\n title: slots.title,\n subtitle: slots.subtitle,\n }}\n />\n </>\n ))}\n </VStepperHeader>\n )}\n\n { hasWindow && (\n <VStepperWindow key=\"stepper-window\">\n { items.value.map(item => (\n <VStepperWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item),\n }}\n />\n ))}\n </VStepperWindow>\n )}\n\n { slots.default?.({ prev, next }) }\n\n { hasActions && (\n slots.actions?.({ next, prev }) ?? (\n <VStepperActions\n key=\"stepper-actions\"\n onClick:prev={ prev }\n onClick:next={ next }\n v-slots={ slots }\n />\n )\n )}\n </VSheet>\n )\n })\n\n return {\n prev,\n next,\n }\n },\n})\n\nexport type VStepper = InstanceType<typeof VStepper>\n"],"mappings":"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"}
@@ -1,213 +1,53 @@
1
- @import './_variables.scss'
1
+ @use '../../styles/settings'
2
+ @use '../../styles/tools'
3
+ @use './variables' as *
2
4
 
3
- +theme(v-stepper) using ($material)
4
- background: map-get($material, 'bg-color')
5
+ .v-stepper.v-sheet
6
+ @include tools.elevation($stepper-elevation)
7
+ @include tools.rounded($stepper-border-radius)
5
8
 
6
- .v-stepper__step
7
- &:not(.v-stepper__step--active):not(.v-stepper__step--complete):not(.v-stepper__step--error)
8
- .v-stepper__step__step
9
- background: rgba(map-get($material, 'fg-color'), map-get($material, 'disabledORhints-text-percent'))
10
-
11
- &__step
12
- color: map-deep-get($material, 'stepper', 'active')
13
-
14
- .v-icon
15
- color: map-deep-get($material, 'stepper', 'active')
16
-
17
- .v-stepper__header
18
- .v-divider
19
- border-color: rgba(map-get($material, 'fg-color'), map-get($material, 'divider-percent'))
20
-
21
- .v-stepper__step
22
- &--active
23
- .v-stepper__label
24
- text-shadow: 0px 0px 0px rgba(map-get($material, 'fg-color'), 1)
25
-
26
- &--editable:hover
27
- background: rgba(map-get($material, 'fg-color'), .06)
28
-
29
- .v-stepper__label
30
- text-shadow: 0px 0px 0px rgba(map-get($material, 'fg-color'), 1)
31
-
32
- &--complete
33
- .v-stepper__label
34
- color: map-deep-get($material, 'stepper', 'completed')
35
-
36
- &--inactive
37
- &.v-stepper__step--editable:not(.v-stepper__step--error)
38
- &:hover
39
- .v-stepper__step__step
40
- background: map-deep-get($material, 'stepper', 'hover')
41
-
42
- .v-stepper__label
43
- color: rgba(map-get($material, 'fg-color'), map-get($material, 'disabledORhints-text-percent'))
44
-
45
- small
46
- color: rgba(map-get($material, 'fg-color'), map-get($material, 'secondary-text-percent'))
47
-
48
- &--non-linear
49
- .v-stepper__step:not(.v-stepper__step--complete):not(.v-stepper__step--error)
50
- .v-stepper__label
51
- color: rgba(map-get($material, 'fg-color'), map-get($material, 'secondary-text-percent'))
52
-
53
- &--vertical
54
- .v-stepper__content:not(:last-child)
55
- border-inline-start: 1px solid rgba(map-get($material, 'fg-color'), map-get($material, 'divider-percent'))
56
-
57
- +sheet(v-stepper, $stepper-elevation, $stepper-border-radius, $stepper-shaped-border-radius)
58
-
59
- .v-stepper
60
- border-radius: $stepper-border-radius
61
9
  overflow: hidden
62
- position: relative
63
-
64
- &__header
65
- height: $stepper-header-height
66
- align-items: stretch
67
- display: flex
68
- flex-wrap: wrap
69
- justify-content: space-between
70
- +elevation($stepper-header-elevation)
71
-
72
- .v-divider
73
- align-self: center
74
- margin: $stepper-header-divider-margin
75
10
 
76
- &__items
77
- position: relative
78
- overflow: hidden
11
+ &.v-stepper--flat
12
+ @include tools.elevation(0)
79
13
 
80
- &__step__step
81
- align-items: center
82
- border-radius: 50%
83
- display: inline-flex
84
- font-size: $stepper-step-step-font-size
85
- justify-content: center
86
- height: $stepper-step-step-height
87
- min-width: $stepper-step-step-min-width
88
- width: $stepper-step-step-width
89
- transition: .3s map-get($transition, 'fast-in-fast-out')
90
- margin-inline-end: $stepper-step-step-margin
14
+ .v-stepper-header
15
+ @include tools.elevation($stepper-header-elevation)
91
16
 
92
- .v-icon.v-icon
93
- font-size: $stepper-step-step-icon-font-size
94
-
95
- &.v-icon--svg
96
- height: $stepper-step-step-icon-font-size
97
- width: $stepper-step-step-icon-font-size
98
-
99
- &__step
100
- align-items: center
101
- display: flex
102
- flex-direction: row
103
- padding: $stepper-step-padding
104
- position: relative
105
-
106
- &--active
107
- .v-stepper__label
108
- transition: .3s map-get($transition, 'ease-in-out')
109
-
110
- &--editable
111
- cursor: pointer
112
-
113
- &.v-stepper__step--error
114
- .v-stepper__step__step
115
- background: transparent
116
- color: inherit
117
-
118
- .v-icon
119
- font-size: $stepper-step-error-icon-font-size
120
- color: inherit
121
-
122
- .v-stepper & .v-stepper__label
123
- color: inherit
124
- text-shadow: none
125
- font-weight: 500
126
-
127
- small
128
- color: inherit
129
-
130
- &__label
131
- display: block
132
- flex-grow: 1
133
- line-height: $stepper-label-line-height
134
- text-align: start
135
-
136
- small
137
- display: block
138
- font-size: $stepper-label-small-font-size
139
- font-weight: $stepper-label-small-font-weight
140
- text-shadow: none
141
-
142
- &__wrapper
143
- overflow: hidden
144
- transition: none
145
-
146
- &__content
147
- top: 0
148
- padding: $stepper-content-padding
149
- flex: 1 0 auto
150
- // Chrome has an issue with overflow hidden for rendering
151
- // Originally used translateZ but this messes up fixed
152
- // elements within the stepper
153
- // Fix for #512 and #620
154
- // overflow: hidden
155
- width: 100%
156
-
157
- > .v-btn
158
- margin: $stepper-content-btn-margin
159
-
160
- &--flat
161
- +elevation(0, true)
162
-
163
- &--is-booted
164
- .v-stepper__content, .v-stepper__wrapper
165
- transition: .3s map-get($transition, 'swing')
166
-
167
- &--vertical
168
- padding-bottom: $stepper-vertical-padding-bottom
169
-
170
- .v-stepper__content
171
- width: auto
172
- margin-inline: $stepper-vertical-content-margin-inline
173
- margin-block: $stepper-vertical-content-margin-block
174
- padding-inline: $stepper-vertical-content-padding-inline
175
- padding-block: $stepper-vertical-content-padding-block
17
+ align-items: center
18
+ display: flex
19
+ position: relative
20
+ overflow-x: auto
21
+ justify-content: space-between
22
+ z-index: 1
176
23
 
177
- .v-stepper__step
178
- padding: $stepper-vertical-step-padding
24
+ .v-divider
25
+ margin: $stepper-header-divider-margin
179
26
 
180
- .v-stepper__step__step
181
- margin-inline-end: $stepper-vertical-step-step-margin
27
+ &:last-child
28
+ margin-inline-end: 0
182
29
 
183
- &--alt-labels
184
- .v-stepper__header
185
- height: auto
30
+ &:first-child
31
+ margin-inline-start: 0
186
32
 
187
- .v-divider
188
- margin: $stepper-alt-labels-header-divider
189
- align-self: flex-start
33
+ .v-stepper--alt-labels &
34
+ height: auto
190
35
 
191
- .v-stepper__step
192
- flex-direction: column
193
- justify-content: flex-start
194
- align-items: center
195
- flex-basis: $stepper-alt-labels-flex-basis
36
+ .v-divider
37
+ align-self: flex-start
38
+ margin: $stepper-alt-labels-header-divider
196
39
 
197
- small
198
- text-align: center
40
+ .v-stepper-window
41
+ margin: $stepper-window-margin
199
42
 
200
- .v-stepper__step__step
201
- margin-bottom: $stepper-alt-labels-step-step-margin-bottom
202
- margin-left: 0
203
- margin-right: 0
43
+ .v-stepper-actions
44
+ display: flex
45
+ align-items: center
46
+ justify-content: space-between
47
+ padding: $stepper-actions-padding
204
48
 
205
- // TODO: use md-and-up
206
- @media #{map-get($display-breakpoints, 'sm-and-down')}
207
- .v-stepper:not(.v-stepper--vertical)
208
- .v-stepper__label
209
- display: none
49
+ .v-stepper &
50
+ padding: $stepper-actions-stepper-padding
210
51
 
211
- .v-stepper__step__step
212
- margin-left: 0
213
- margin-right: 0
52
+ .v-stepper-window-item &
53
+ padding: $stepper-actions-stepper-window-item-padding
@@ -1,7 +1,7 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  // Components
3
- import { VBtn } from "../../components/VBtn/VBtn.mjs";
4
- import { VDefaultsProvider } from "../../components/VDefaultsProvider/VDefaultsProvider.mjs"; // Composables
3
+ import { VBtn } from "../VBtn/VBtn.mjs";
4
+ import { VDefaultsProvider } from "../VDefaultsProvider/VDefaultsProvider.mjs"; // Composables
5
5
  import { useLocale } from "../../composables/locale.mjs"; // Utilities
6
6
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
7
7
  export const makeVStepperActionsProps = propsFactory({
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VStepperActions.mjs","names":["VBtn","VDefaultsProvider","useLocale","genericComponent","propsFactory","useRender","makeVStepperActionsProps","color","String","disabled","type","Boolean","default","prevText","nextText","VStepperActions","name","props","emits","click:prev","click:next","setup","_ref","emit","slots","t","onClickPrev","onClickNext","prevSlotProps","onClick","nextSlotProps","_createVNode","includes","text","variant","prev","next"],"sources":["../../../src/components/VStepper/VStepperActions.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VStepperActionsSlots = {\n prev: {\n props: { onClick: () => void }\n }\n next: {\n props: { onClick: () => void }\n }\n}\n\nexport const makeVStepperActionsProps = propsFactory({\n color: String,\n disabled: {\n type: [Boolean, String] as PropType<boolean | 'next' | 'prev'>,\n default: false,\n },\n prevText: {\n type: String,\n default: '$vuetify.stepper.prev',\n },\n nextText: {\n type: String,\n default: '$vuetify.stepper.next',\n },\n}, 'VStepperActions')\n\nexport const VStepperActions = genericComponent<VStepperActionsSlots>()({\n name: 'VStepperActions',\n\n props: makeVStepperActionsProps(),\n\n emits: {\n 'click:prev': () => true,\n 'click:next': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n function onClickPrev () {\n emit('click:prev')\n }\n\n function onClickNext () {\n emit('click:next')\n }\n\n useRender(() => {\n const prevSlotProps = {\n onClick: onClickPrev,\n }\n const nextSlotProps = {\n onClick: onClickNext,\n }\n\n return (\n <div class=\"v-stepper-actions\">\n <VDefaultsProvider\n defaults={{\n VBtn: {\n disabled: ['prev', true].includes(props.disabled),\n text: t(props.prevText),\n variant: 'text',\n },\n }}\n >\n { slots.prev?.({ props: prevSlotProps }) ?? (\n <VBtn { ...prevSlotProps } />\n )}\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VBtn: {\n color: props.color,\n disabled: ['next', true].includes(props.disabled),\n text: t(props.nextText),\n variant: 'tonal',\n },\n }}\n >\n { slots.next?.({ props: nextSlotProps }) ?? (\n <VBtn { ...nextSlotProps } />\n )}\n </VDefaultsProvider>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperActions = InstanceType<typeof VStepperActions>\n"],"mappings":";AAAA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB,sDAE1B;AAAA,SACSC,SAAS,wCAElB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAYA,OAAO,MAAMC,wBAAwB,GAAGF,YAAY,CAAC;EACnDG,KAAK,EAAEC,MAAM;EACbC,QAAQ,EAAE;IACRC,IAAI,EAAE,CAACC,OAAO,EAAEH,MAAM,CAAwC;IAC9DI,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRH,IAAI,EAAEF,MAAM;IACZI,OAAO,EAAE;EACX,CAAC;EACDE,QAAQ,EAAE;IACRJ,IAAI,EAAEF,MAAM;IACZI,OAAO,EAAE;EACX;AACF,CAAC,EAAE,iBAAiB,CAAC;AAErB,OAAO,MAAMG,eAAe,GAAGZ,gBAAgB,EAAwB,CAAC;EACtEa,IAAI,EAAE,iBAAiB;EAEvBC,KAAK,EAAEX,wBAAwB,EAAE;EAEjCY,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,MAAM;MAAEG;IAAE,CAAC,GAAGvB,SAAS,EAAE;IACzB,SAASwB,WAAWA,CAAA,EAAI;MACtBH,IAAI,CAAC,YAAY,CAAC;IACpB;IAEA,SAASI,WAAWA,CAAA,EAAI;MACtBJ,IAAI,CAAC,YAAY,CAAC;IACpB;IAEAlB,SAAS,CAAC,MAAM;MACd,MAAMuB,aAAa,GAAG;QACpBC,OAAO,EAAEH;MACX,CAAC;MACD,MAAMI,aAAa,GAAG;QACpBD,OAAO,EAAEF;MACX,CAAC;MAED,OAAAI,YAAA;QAAA,SACa;MAAmB,IAAAA,YAAA,CAAA9B,iBAAA;QAAA,YAEhB;UACRD,IAAI,EAAE;YACJS,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAACuB,QAAQ,CAACf,KAAK,CAACR,QAAQ,CAAC;YACjDwB,IAAI,EAAER,CAAC,CAACR,KAAK,CAACJ,QAAQ,CAAC;YACvBqB,OAAO,EAAE;UACX;QACF;MAAC;QAAAtB,OAAA,EAAAA,CAAA,MAECY,KAAK,CAACW,IAAI,GAAG;UAAElB,KAAK,EAAEW;QAAc,CAAC,CAAC,IAAAG,YAAA,CAAA/B,IAAA,EAC3B4B,aAAa,OACzB;MAAA,IAAAG,YAAA,CAAA9B,iBAAA;QAAA,YAIS;UACRD,IAAI,EAAE;YACJO,KAAK,EAAEU,KAAK,CAACV,KAAK;YAClBE,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAACuB,QAAQ,CAACf,KAAK,CAACR,QAAQ,CAAC;YACjDwB,IAAI,EAAER,CAAC,CAACR,KAAK,CAACH,QAAQ,CAAC;YACvBoB,OAAO,EAAE;UACX;QACF;MAAC;QAAAtB,OAAA,EAAAA,CAAA,MAECY,KAAK,CAACY,IAAI,GAAG;UAAEnB,KAAK,EAAEa;QAAc,CAAC,CAAC,IAAAC,YAAA,CAAA/B,IAAA,EAC3B8B,aAAa,OACzB;MAAA;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VStepperHeader.mjs","names":["createSimpleFunctional","VStepperHeader"],"sources":["../../../src/components/VStepper/VStepperHeader.ts"],"sourcesContent":["// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VStepperHeader = createSimpleFunctional('v-stepper-header')\n\nexport type VStepperHeader = InstanceType<typeof VStepperHeader>\n"],"mappings":"AAAA;AAAA,SACSA,sBAAsB;AAE/B,OAAO,MAAMC,cAAc,GAAGD,sBAAsB,CAAC,kBAAkB,CAAC"}
@@ -3,8 +3,8 @@ import { withDirectives as _withDirectives, resolveDirective as _resolveDirectiv
3
3
  import "./VStepperItem.css";
4
4
 
5
5
  // Components
6
- import { VAvatar } from "../../components/VAvatar/VAvatar.mjs";
7
- import { VIcon } from "../../components/VIcon/VIcon.mjs"; // Composables
6
+ import { VAvatar } from "../VAvatar/VAvatar.mjs";
7
+ import { VIcon } from "../VIcon/VIcon.mjs"; // Composables
8
8
  import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs"; // Directives
9
9
  import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
10
10
  import { computed } from 'vue';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VStepperItem.mjs","names":["VAvatar","VIcon","makeGroupItemProps","useGroupItem","Ripple","computed","VStepperSymbol","genericComponent","propsFactory","useRender","makeVStepperItemProps","color","String","title","subtitle","complete","Boolean","completeIcon","type","default","editable","editIcon","error","errorIcon","icon","ripple","Object","rules","Array","VStepperItem","name","directives","props","emits","val","setup","_ref","slots","group","step","value","isValid","every","handler","canEdit","disabled","hasError","hasCompleted","length","slotProps","hasColor","isSelected","hasTitle","hasSubtitle","onClick","toggle","_withDirectives","_createVNode","selectedClass","undefined","_resolveDirective"],"sources":["../../../src/components/VStepper/VStepperItem.tsx"],"sourcesContent":["// Styles\nimport './VStepperItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar/VAvatar'\nimport { VIcon } from '@/components/VIcon/VIcon'\n\n// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { VStepperSymbol } from './VStepper'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type StepperItemSlot = {\n canEdit: boolean\n hasError: boolean\n hasCompleted: boolean\n title?: string\n subtitle?: string\n step: any\n}\n\nexport type VStepperItemSlots = {\n default: StepperItemSlot\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n}\n\nexport type ValidationRule = () => string | boolean\n\nexport const makeVStepperItemProps = propsFactory({\n color: String,\n title: String,\n subtitle: String,\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n error: Boolean,\n errorIcon: {\n type: String,\n default: '$error',\n },\n icon: String,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n rules: {\n type: Array as PropType<readonly ValidationRule[]>,\n default: () => ([]),\n },\n\n ...makeGroupItemProps(),\n}, 'VStepperItem')\n\nexport const VStepperItem = genericComponent<VStepperItemSlots>()({\n name: 'VStepperItem',\n\n directives: { Ripple },\n\n props: makeVStepperItemProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const group = useGroupItem(props, VStepperSymbol, true)\n const step = computed(() => group?.value.value ?? props.value)\n const isValid = computed(() => props.rules.every(handler => handler() === true))\n const canEdit = computed(() => !props.disabled && props.editable)\n const hasError = computed(() => props.error || !isValid.value)\n const hasCompleted = computed(() => props.complete || (props.rules.length > 0 && isValid.value))\n const icon = computed(() => {\n if (hasError.value) return props.errorIcon\n if (hasCompleted.value) return props.completeIcon\n if (props.editable) return props.editIcon\n\n return props.icon\n })\n const slotProps = computed(() => ({\n canEdit: canEdit.value,\n hasError: hasError.value,\n hasCompleted: hasCompleted.value,\n title: props.title,\n subtitle: props.subtitle,\n step: step.value,\n value: props.value,\n }))\n\n useRender(() => {\n const hasColor = (\n !group ||\n group.isSelected.value ||\n hasCompleted.value ||\n canEdit.value\n ) && (\n !hasError.value &&\n !props.disabled\n )\n const hasTitle = !!(props.title || slots.title)\n const hasSubtitle = !!(props.subtitle || slots.subtitle)\n\n function onClick () {\n group?.toggle()\n }\n\n return (\n <button\n class={[\n 'v-stepper-item',\n {\n 'v-stepper-item--complete': hasCompleted.value,\n 'v-stepper-item--disabled': props.disabled,\n 'v-stepper-item--error': hasError.value,\n },\n group?.selectedClass.value,\n ]}\n disabled={ !props.editable }\n v-ripple={[\n props.ripple && props.editable,\n null,\n null,\n ]}\n onClick={ onClick }\n >\n <VAvatar\n key=\"stepper-avatar\"\n class=\"v-stepper-item__avatar\"\n color={ hasColor ? props.color : undefined }\n size={ 24 }\n >\n { slots.icon?.(slotProps.value) ?? (\n icon.value ? (\n <VIcon icon={ icon.value }></VIcon>\n ) : step.value\n )}\n </VAvatar>\n\n <div class=\"v-stepper-item__content\">\n { hasTitle && (\n <div\n key=\"title\"\n class=\"v-stepper-item__title\"\n >\n { slots.title?.(slotProps.value) ?? props.title }\n </div>\n )}\n\n { hasSubtitle && (\n <div\n key=\"subtitle\"\n class=\"v-stepper-item__subtitle\"\n >\n { slots.subtitle?.(slotProps.value) ?? props.subtitle }\n </div>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n </button>\n )\n })\n return {}\n },\n})\n\nexport type VStepperItem = InstanceType<typeof VStepperItem>\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
2
2
  // Components
3
- import { makeVWindowProps, VWindow } from "../../components/VWindow/VWindow.mjs"; // Composables
3
+ import { makeVWindowProps, VWindow } from "../VWindow/VWindow.mjs"; // Composables
4
4
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
5
5
  import { computed, inject } from 'vue';
6
6
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VStepperWindow.mjs","names":["makeVWindowProps","VWindow","useProxiedModel","computed","inject","genericComponent","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperWindowProps","mandatory","VStepperWindow","name","props","emits","v","setup","_ref","slots","group","_model","model","get","value","items","find","item","selected","includes","id","set","val","windowProps","filterProps","_createVNode","_mergeProps","$event"],"sources":["../../../src/components/VStepper/VStepperWindow.tsx"],"sourcesContent":["// Components\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-stepper')\n\nexport const makeVStepperWindowProps = propsFactory({\n ...makeVWindowProps({\n mandatory: false as const,\n }),\n}, 'VStepperWindow')\n\nexport const VStepperWindow = genericComponent()({\n name: 'VStepperWindow',\n\n props: makeVStepperWindowProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const group = inject(VStepperSymbol, null)\n const _model = useProxiedModel(props, 'modelValue')\n\n const model = computed({\n get () {\n // Always return modelValue if defined\n // or if not within a VStepper group\n if (_model.value != null || !group) return _model.value\n\n // If inside of a VStepper, find the currently selected\n // item by id. Item value may be assigned by its index\n return group.items.value.find(item => group.selected.value.includes(item.id))?.value\n },\n set (val) {\n _model.value = val\n },\n })\n\n useRender(() => {\n const [windowProps] = VWindow.filterProps(props)\n\n return (\n <VWindow\n { ...windowProps }\n v-model={ model.value }\n class=\"v-stepper-window\"\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperWindow = InstanceType<typeof VStepperWindow>\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB,EAAEC,OAAO,kCAElC;AAAA,SACSC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAIA,OAAO,MAAMC,cAA0C,GAAGC,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;AAEzF,OAAO,MAAMC,uBAAuB,GAAGL,YAAY,CAAC;EAClD,GAAGN,gBAAgB,CAAC;IAClBY,SAAS,EAAE;EACb,CAAC;AACH,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMC,cAAc,GAAGR,gBAAgB,EAAE,CAAC;EAC/CS,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEJ,uBAAuB,EAAE;EAEhCK,KAAK,EAAE;IACL,mBAAmB,EAAGC,CAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGjB,MAAM,CAACI,cAAc,EAAE,IAAI,CAAC;IAC1C,MAAMc,MAAM,GAAGpB,eAAe,CAACa,KAAK,EAAE,YAAY,CAAC;IAEnD,MAAMQ,KAAK,GAAGpB,QAAQ,CAAC;MACrBqB,GAAGA,CAAA,EAAI;QACL;QACA;QACA,IAAIF,MAAM,CAACG,KAAK,IAAI,IAAI,IAAI,CAACJ,KAAK,EAAE,OAAOC,MAAM,CAACG,KAAK;;QAEvD;QACA;QACA,OAAOJ,KAAK,CAACK,KAAK,CAACD,KAAK,CAACE,IAAI,CAACC,IAAI,IAAIP,KAAK,CAACQ,QAAQ,CAACJ,KAAK,CAACK,QAAQ,CAACF,IAAI,CAACG,EAAE,CAAC,CAAC,EAAEN,KAAK;MACtF,CAAC;MACDO,GAAGA,CAAEC,GAAG,EAAE;QACRX,MAAM,CAACG,KAAK,GAAGQ,GAAG;MACpB;IACF,CAAC,CAAC;IAEF1B,SAAS,CAAC,MAAM;MACd,MAAM,CAAC2B,WAAW,CAAC,GAAGjC,OAAO,CAACkC,WAAW,CAACpB,KAAK,CAAC;MAEhD,OAAAqB,YAAA,CAAAnC,OAAA,EAAAoC,WAAA,CAESH,WAAW;QAAA,cACNX,KAAK,CAACE,KAAK;QAAA,uBAAAa,MAAA,IAAXf,KAAK,CAACE,KAAK,GAAAa,MAAA;QAAA,SACf;MAAkB,IACdlB,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
2
2
  // Components
3
- import { makeVWindowItemProps, VWindowItem } from "../../components/VWindow/VWindowItem.mjs"; // Utilities
3
+ import { makeVWindowItemProps, VWindowItem } from "../VWindow/VWindowItem.mjs"; // Utilities
4
4
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
5
5
  export const makeVStepperWindowItemProps = propsFactory({
6
6
  ...makeVWindowItemProps()