@sectile/vue 0.2.1

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 (287) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/dist/accordion.d.ts +250 -0
  4. package/dist/accordion.d.ts.map +1 -0
  5. package/dist/accordion.js +242 -0
  6. package/dist/accordion.js.map +1 -0
  7. package/dist/alert-dialog.d.ts +16 -0
  8. package/dist/alert-dialog.d.ts.map +1 -0
  9. package/dist/alert-dialog.js +18 -0
  10. package/dist/alert-dialog.js.map +1 -0
  11. package/dist/calendar.d.ts +232 -0
  12. package/dist/calendar.d.ts.map +1 -0
  13. package/dist/calendar.js +109 -0
  14. package/dist/calendar.js.map +1 -0
  15. package/dist/carousel.d.ts +365 -0
  16. package/dist/carousel.d.ts.map +1 -0
  17. package/dist/carousel.js +140 -0
  18. package/dist/carousel.js.map +1 -0
  19. package/dist/cascade-select.d.ts +442 -0
  20. package/dist/cascade-select.d.ts.map +1 -0
  21. package/dist/cascade-select.js +111 -0
  22. package/dist/cascade-select.js.map +1 -0
  23. package/dist/checkbox-group.d.ts +206 -0
  24. package/dist/checkbox-group.d.ts.map +1 -0
  25. package/dist/checkbox-group.js +98 -0
  26. package/dist/checkbox-group.js.map +1 -0
  27. package/dist/checkbox.d.ts +152 -0
  28. package/dist/checkbox.d.ts.map +1 -0
  29. package/dist/checkbox.js +164 -0
  30. package/dist/checkbox.js.map +1 -0
  31. package/dist/color-picker.d.ts +602 -0
  32. package/dist/color-picker.d.ts.map +1 -0
  33. package/dist/color-picker.js +129 -0
  34. package/dist/color-picker.js.map +1 -0
  35. package/dist/combobox.d.ts +320 -0
  36. package/dist/combobox.d.ts.map +1 -0
  37. package/dist/combobox.js +176 -0
  38. package/dist/combobox.js.map +1 -0
  39. package/dist/date-field.d.ts +15 -0
  40. package/dist/date-field.d.ts.map +1 -0
  41. package/dist/date-field.js +19 -0
  42. package/dist/date-field.js.map +1 -0
  43. package/dist/date-picker.d.ts +554 -0
  44. package/dist/date-picker.d.ts.map +1 -0
  45. package/dist/date-picker.js +18 -0
  46. package/dist/date-picker.js.map +1 -0
  47. package/dist/date-range-field.d.ts +129 -0
  48. package/dist/date-range-field.d.ts.map +1 -0
  49. package/dist/date-range-field.js +134 -0
  50. package/dist/date-range-field.js.map +1 -0
  51. package/dist/date-range-picker.d.ts +594 -0
  52. package/dist/date-range-picker.d.ts.map +1 -0
  53. package/dist/date-range-picker.js +19 -0
  54. package/dist/date-range-picker.js.map +1 -0
  55. package/dist/date-time-field.d.ts +15 -0
  56. package/dist/date-time-field.d.ts.map +1 -0
  57. package/dist/date-time-field.js +19 -0
  58. package/dist/date-time-field.js.map +1 -0
  59. package/dist/date-time-picker.d.ts +635 -0
  60. package/dist/date-time-picker.d.ts.map +1 -0
  61. package/dist/date-time-picker.js +20 -0
  62. package/dist/date-time-picker.js.map +1 -0
  63. package/dist/date-time-range-picker.d.ts +755 -0
  64. package/dist/date-time-range-picker.d.ts.map +1 -0
  65. package/dist/date-time-range-picker.js +23 -0
  66. package/dist/date-time-range-picker.js.map +1 -0
  67. package/dist/dialog.d.ts +16 -0
  68. package/dist/dialog.d.ts.map +1 -0
  69. package/dist/dialog.js +15 -0
  70. package/dist/dialog.js.map +1 -0
  71. package/dist/disclosure.d.ts +147 -0
  72. package/dist/disclosure.d.ts.map +1 -0
  73. package/dist/disclosure.js +129 -0
  74. package/dist/disclosure.js.map +1 -0
  75. package/dist/editable.d.ts +300 -0
  76. package/dist/editable.d.ts.map +1 -0
  77. package/dist/editable.js +181 -0
  78. package/dist/editable.js.map +1 -0
  79. package/dist/feed.d.ts +216 -0
  80. package/dist/feed.d.ts.map +1 -0
  81. package/dist/feed.js +85 -0
  82. package/dist/feed.js.map +1 -0
  83. package/dist/form.d.ts +356 -0
  84. package/dist/form.d.ts.map +1 -0
  85. package/dist/form.js +752 -0
  86. package/dist/form.js.map +1 -0
  87. package/dist/grid.d.ts +254 -0
  88. package/dist/grid.d.ts.map +1 -0
  89. package/dist/grid.js +95 -0
  90. package/dist/grid.js.map +1 -0
  91. package/dist/host-provider.d.ts +46 -0
  92. package/dist/host-provider.d.ts.map +1 -0
  93. package/dist/host-provider.js +39 -0
  94. package/dist/host-provider.js.map +1 -0
  95. package/dist/index.d.ts +124 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +61 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/internal/date-picker.d.ts +539 -0
  100. package/dist/internal/date-picker.d.ts.map +1 -0
  101. package/dist/internal/date-picker.js +522 -0
  102. package/dist/internal/date-picker.js.map +1 -0
  103. package/dist/internal/form-control-inventory.d.ts +154 -0
  104. package/dist/internal/form-control-inventory.d.ts.map +1 -0
  105. package/dist/internal/form-control-inventory.js +43 -0
  106. package/dist/internal/form-control-inventory.js.map +1 -0
  107. package/dist/internal/form-control.d.ts +41 -0
  108. package/dist/internal/form-control.d.ts.map +1 -0
  109. package/dist/internal/form-control.js +52 -0
  110. package/dist/internal/form-control.js.map +1 -0
  111. package/dist/internal/native-field.d.ts +49 -0
  112. package/dist/internal/native-field.d.ts.map +1 -0
  113. package/dist/internal/native-field.js +81 -0
  114. package/dist/internal/native-field.js.map +1 -0
  115. package/dist/internal/native-input.d.ts +9 -0
  116. package/dist/internal/native-input.d.ts.map +1 -0
  117. package/dist/internal/native-input.js +9 -0
  118. package/dist/internal/native-input.js.map +1 -0
  119. package/dist/internal/part-contract.d.ts +9 -0
  120. package/dist/internal/part-contract.d.ts.map +1 -0
  121. package/dist/internal/part-contract.js +12 -0
  122. package/dist/internal/part-contract.js.map +1 -0
  123. package/dist/internal/popup.d.ts +99 -0
  124. package/dist/internal/popup.d.ts.map +1 -0
  125. package/dist/internal/popup.js +238 -0
  126. package/dist/internal/popup.js.map +1 -0
  127. package/dist/internal/tabs-context.d.ts +25 -0
  128. package/dist/internal/tabs-context.d.ts.map +1 -0
  129. package/dist/internal/tabs-context.js +9 -0
  130. package/dist/internal/tabs-context.js.map +1 -0
  131. package/dist/listbox.d.ts +275 -0
  132. package/dist/listbox.d.ts.map +1 -0
  133. package/dist/listbox.js +258 -0
  134. package/dist/listbox.js.map +1 -0
  135. package/dist/menu-button.d.ts +2 -0
  136. package/dist/menu-button.d.ts.map +1 -0
  137. package/dist/menu-button.js +2 -0
  138. package/dist/menu-button.js.map +1 -0
  139. package/dist/menu.d.ts +638 -0
  140. package/dist/menu.d.ts.map +1 -0
  141. package/dist/menu.js +167 -0
  142. package/dist/menu.js.map +1 -0
  143. package/dist/menubar.d.ts +2 -0
  144. package/dist/menubar.d.ts.map +1 -0
  145. package/dist/menubar.js +2 -0
  146. package/dist/menubar.js.map +1 -0
  147. package/dist/month-picker.d.ts +353 -0
  148. package/dist/month-picker.d.ts.map +1 -0
  149. package/dist/month-picker.js +10 -0
  150. package/dist/month-picker.js.map +1 -0
  151. package/dist/month-range-picker.d.ts +393 -0
  152. package/dist/month-range-picker.d.ts.map +1 -0
  153. package/dist/month-range-picker.js +11 -0
  154. package/dist/month-range-picker.js.map +1 -0
  155. package/dist/multi-thumb-slider.d.ts +299 -0
  156. package/dist/multi-thumb-slider.d.ts.map +1 -0
  157. package/dist/multi-thumb-slider.js +204 -0
  158. package/dist/multi-thumb-slider.js.map +1 -0
  159. package/dist/navigation-menu.d.ts +114 -0
  160. package/dist/navigation-menu.d.ts.map +1 -0
  161. package/dist/navigation-menu.js +36 -0
  162. package/dist/navigation-menu.js.map +1 -0
  163. package/dist/number-field.d.ts +12 -0
  164. package/dist/number-field.d.ts.map +1 -0
  165. package/dist/number-field.js +21 -0
  166. package/dist/number-field.js.map +1 -0
  167. package/dist/pagination.d.ts +294 -0
  168. package/dist/pagination.d.ts.map +1 -0
  169. package/dist/pagination.js +145 -0
  170. package/dist/pagination.js.map +1 -0
  171. package/dist/pin-input.d.ts +207 -0
  172. package/dist/pin-input.d.ts.map +1 -0
  173. package/dist/pin-input.js +129 -0
  174. package/dist/pin-input.js.map +1 -0
  175. package/dist/popover.d.ts +17 -0
  176. package/dist/popover.d.ts.map +1 -0
  177. package/dist/popover.js +16 -0
  178. package/dist/popover.js.map +1 -0
  179. package/dist/primitive.d.ts +41 -0
  180. package/dist/primitive.d.ts.map +1 -0
  181. package/dist/primitive.js +27 -0
  182. package/dist/primitive.js.map +1 -0
  183. package/dist/quantity-field.d.ts +249 -0
  184. package/dist/quantity-field.d.ts.map +1 -0
  185. package/dist/quantity-field.js +131 -0
  186. package/dist/quantity-field.js.map +1 -0
  187. package/dist/radio-group.d.ts +225 -0
  188. package/dist/radio-group.d.ts.map +1 -0
  189. package/dist/radio-group.js +198 -0
  190. package/dist/radio-group.js.map +1 -0
  191. package/dist/range-calendar.d.ts +336 -0
  192. package/dist/range-calendar.d.ts.map +1 -0
  193. package/dist/range-calendar.js +15 -0
  194. package/dist/range-calendar.js.map +1 -0
  195. package/dist/rating.d.ts +228 -0
  196. package/dist/rating.d.ts.map +1 -0
  197. package/dist/rating.js +118 -0
  198. package/dist/rating.js.map +1 -0
  199. package/dist/reorder.d.ts +209 -0
  200. package/dist/reorder.d.ts.map +1 -0
  201. package/dist/reorder.js +186 -0
  202. package/dist/reorder.js.map +1 -0
  203. package/dist/select.d.ts +352 -0
  204. package/dist/select.d.ts.map +1 -0
  205. package/dist/select.js +191 -0
  206. package/dist/select.js.map +1 -0
  207. package/dist/slider.d.ts +269 -0
  208. package/dist/slider.d.ts.map +1 -0
  209. package/dist/slider.js +197 -0
  210. package/dist/slider.js.map +1 -0
  211. package/dist/spin-button.d.ts +272 -0
  212. package/dist/spin-button.d.ts.map +1 -0
  213. package/dist/spin-button.js +190 -0
  214. package/dist/spin-button.js.map +1 -0
  215. package/dist/stepper.d.ts +310 -0
  216. package/dist/stepper.d.ts.map +1 -0
  217. package/dist/stepper.js +87 -0
  218. package/dist/stepper.js.map +1 -0
  219. package/dist/switch.d.ts +149 -0
  220. package/dist/switch.d.ts.map +1 -0
  221. package/dist/switch.js +140 -0
  222. package/dist/switch.js.map +1 -0
  223. package/dist/tabs.d.ts +290 -0
  224. package/dist/tabs.d.ts.map +1 -0
  225. package/dist/tabs.js +258 -0
  226. package/dist/tabs.js.map +1 -0
  227. package/dist/tags-input.d.ts +297 -0
  228. package/dist/tags-input.d.ts.map +1 -0
  229. package/dist/tags-input.js +196 -0
  230. package/dist/tags-input.js.map +1 -0
  231. package/dist/text.d.ts +138 -0
  232. package/dist/text.d.ts.map +1 -0
  233. package/dist/text.js +125 -0
  234. package/dist/text.js.map +1 -0
  235. package/dist/time-field.d.ts +15 -0
  236. package/dist/time-field.d.ts.map +1 -0
  237. package/dist/time-field.js +19 -0
  238. package/dist/time-field.js.map +1 -0
  239. package/dist/time-range-field.d.ts +128 -0
  240. package/dist/time-range-field.d.ts.map +1 -0
  241. package/dist/time-range-field.js +44 -0
  242. package/dist/time-range-field.js.map +1 -0
  243. package/dist/timer.d.ts +232 -0
  244. package/dist/timer.d.ts.map +1 -0
  245. package/dist/timer.js +51 -0
  246. package/dist/timer.js.map +1 -0
  247. package/dist/toast.d.ts +189 -0
  248. package/dist/toast.d.ts.map +1 -0
  249. package/dist/toast.js +78 -0
  250. package/dist/toast.js.map +1 -0
  251. package/dist/toggle-button.d.ts +81 -0
  252. package/dist/toggle-button.d.ts.map +1 -0
  253. package/dist/toggle-button.js +75 -0
  254. package/dist/toggle-button.js.map +1 -0
  255. package/dist/toggle-group.d.ts +228 -0
  256. package/dist/toggle-group.d.ts.map +1 -0
  257. package/dist/toggle-group.js +143 -0
  258. package/dist/toggle-group.js.map +1 -0
  259. package/dist/toolbar.d.ts +202 -0
  260. package/dist/toolbar.d.ts.map +1 -0
  261. package/dist/toolbar.js +82 -0
  262. package/dist/toolbar.js.map +1 -0
  263. package/dist/tooltip.d.ts +13 -0
  264. package/dist/tooltip.d.ts.map +1 -0
  265. package/dist/tooltip.js +15 -0
  266. package/dist/tooltip.js.map +1 -0
  267. package/dist/tree-grid.d.ts +359 -0
  268. package/dist/tree-grid.d.ts.map +1 -0
  269. package/dist/tree-grid.js +125 -0
  270. package/dist/tree-grid.js.map +1 -0
  271. package/dist/tree-view.d.ts +304 -0
  272. package/dist/tree-view.d.ts.map +1 -0
  273. package/dist/tree-view.js +131 -0
  274. package/dist/tree-view.js.map +1 -0
  275. package/dist/window-splitter.d.ts +204 -0
  276. package/dist/window-splitter.d.ts.map +1 -0
  277. package/dist/window-splitter.js +82 -0
  278. package/dist/window-splitter.js.map +1 -0
  279. package/dist/year-picker.d.ts +353 -0
  280. package/dist/year-picker.d.ts.map +1 -0
  281. package/dist/year-picker.js +10 -0
  282. package/dist/year-picker.js.map +1 -0
  283. package/dist/year-range-picker.d.ts +393 -0
  284. package/dist/year-range-picker.d.ts.map +1 -0
  285. package/dist/year-range-picker.js +11 -0
  286. package/dist/year-range-picker.js.map +1 -0
  287. package/package.json +356 -0
@@ -0,0 +1,190 @@
1
+ import { computed, defineComponent, h, inject, mergeProps, onBeforeUnmount, onMounted, provide, shallowRef, watch, } from 'vue';
2
+ import { createSpinButton, } from '@sectile/dom/spin-button';
3
+ import { Primitive } from './primitive.js';
4
+ import { useNativeInputFormControl } from './internal/form-control.js';
5
+ const spinButtonKey = Symbol('SectileSpinButtonRoot');
6
+ const partProps = {
7
+ as: { type: [String, Object, Function], default: 'button' },
8
+ asChild: { type: Boolean, default: false },
9
+ };
10
+ export const SpinButtonRoot = defineComponent({
11
+ name: 'SectileSpinButtonRoot',
12
+ inheritAttrs: false,
13
+ props: {
14
+ min: { type: [Number, String], required: true },
15
+ max: { type: [Number, String], required: true },
16
+ step: { type: [Number, String], default: 1 },
17
+ pageStep: { type: Number, default: 10 },
18
+ modelValue: { type: [Number, String], default: undefined },
19
+ defaultValue: { type: [Number, String], default: undefined },
20
+ draft: { type: String, default: undefined },
21
+ defaultDraft: { type: String, default: null },
22
+ policies: { type: Object, default: undefined },
23
+ disabled: { type: Boolean, default: false },
24
+ readonly: { type: Boolean, default: false },
25
+ label: { type: String, default: undefined },
26
+ as: { type: [String, Object, Function], default: 'div' },
27
+ asChild: { type: Boolean, default: false },
28
+ },
29
+ emits: {
30
+ 'update:modelValue': (_value) => true,
31
+ 'update:draft': (_value) => true,
32
+ },
33
+ slots: Object,
34
+ setup(props, { attrs, emit, slots }) {
35
+ const valueControlled = props.modelValue !== undefined;
36
+ const draftControlled = props.draft !== undefined;
37
+ const connection = shallowRef();
38
+ const value = shallowRef(String(props.modelValue ?? props.defaultValue ?? props.min));
39
+ const draft = shallowRef(props.draft !== undefined ? props.draft : props.defaultDraft);
40
+ const revision = shallowRef(0);
41
+ const state = computed(() => ({
42
+ value: value.value,
43
+ draft: draft.value,
44
+ text: draft.value ?? value.value,
45
+ disabled: props.disabled,
46
+ readonly: props.readonly,
47
+ }));
48
+ const min = computed(() => String(props.min));
49
+ const max = computed(() => String(props.max));
50
+ const label = computed(() => props.label);
51
+ const update = () => {
52
+ if (connection.value === undefined)
53
+ return;
54
+ const snapshot = connection.value.getSnapshot();
55
+ revision.value = snapshot.revision;
56
+ value.value = snapshot.state.value;
57
+ draft.value = snapshot.state.draft;
58
+ };
59
+ const disconnect = () => {
60
+ connection.value?.disconnect();
61
+ connection.value = undefined;
62
+ };
63
+ const connect = (input) => {
64
+ disconnect();
65
+ connection.value = createSpinButton({
66
+ input,
67
+ min: String(props.min),
68
+ max: String(props.max),
69
+ step: String(props.step),
70
+ policies: { ...props.policies, page: props.pageStep },
71
+ ...(valueControlled ? { value: String(props.modelValue) } : { defaultValue: value.value }),
72
+ ...(draftControlled ? { draft: props.draft } : { defaultDraft: draft.value }),
73
+ disabled: props.disabled,
74
+ readOnly: props.readonly,
75
+ ...(props.label === undefined ? {} : { label: props.label }),
76
+ onValueChange: (next) => emit('update:modelValue', next),
77
+ onDraftChange: (next) => emit('update:draft', next),
78
+ onUpdate: update,
79
+ });
80
+ update();
81
+ };
82
+ const sync = () => {
83
+ const target = connection.value;
84
+ if (target === undefined)
85
+ return;
86
+ const result = target.syncControlledValues({
87
+ ...(valueControlled ? { value: String(props.modelValue) } : {}),
88
+ ...(draftControlled ? { draft: props.draft } : {}),
89
+ });
90
+ if (!result.ok)
91
+ throw new TypeError('Controlled spin button state could not be synchronized.');
92
+ update();
93
+ };
94
+ watch([() => props.modelValue, () => props.draft], sync);
95
+ provide(spinButtonKey, {
96
+ state, min, max, label, connection, connect, disconnect,
97
+ step: (event) => {
98
+ if (connection.value?.handleEvent(event))
99
+ update();
100
+ },
101
+ });
102
+ return () => h(Primitive, mergeProps(attrs, {
103
+ as: props.as,
104
+ asChild: props.asChild,
105
+ 'data-scope': 'spin-button',
106
+ 'data-part': 'root',
107
+ 'data-disabled': props.disabled ? '' : undefined,
108
+ 'data-readonly': props.readonly ? '' : undefined,
109
+ 'data-revision': String(revision.value),
110
+ }), { default: () => slots['default']?.(state.value) });
111
+ },
112
+ });
113
+ export const SpinButtonInput = defineComponent({
114
+ name: 'SectileSpinButtonInput',
115
+ inheritAttrs: false,
116
+ props: {
117
+ name: { type: String, default: undefined },
118
+ form: { type: String, default: undefined },
119
+ required: { type: Boolean, default: false },
120
+ as: { type: [String, Object, Function], default: 'input' },
121
+ asChild: { type: Boolean, default: false },
122
+ },
123
+ slots: Object,
124
+ setup(props, { attrs, slots }) {
125
+ const root = useSpinButton('SpinButtonInput');
126
+ const input = shallowRef(null);
127
+ const participation = useNativeInputFormControl(input);
128
+ onMounted(() => {
129
+ if (input.value === null)
130
+ throw new TypeError('SpinButtonInput must render an input element.');
131
+ root.connect(input.value);
132
+ });
133
+ onBeforeUnmount(root.disconnect);
134
+ return () => h(Primitive, mergeProps(attrs, {
135
+ as: props.as,
136
+ asChild: props.asChild,
137
+ elementRef: (element) => { input.value = element instanceof HTMLInputElement ? element : null; },
138
+ role: 'spinbutton',
139
+ type: 'text',
140
+ name: props.name,
141
+ form: props.form,
142
+ required: props.required,
143
+ inputmode: 'decimal',
144
+ value: root.state.value.text,
145
+ disabled: root.state.value.disabled,
146
+ readonly: root.state.value.readonly,
147
+ 'aria-label': root.label.value,
148
+ 'aria-valuemin': root.min.value,
149
+ 'aria-valuemax': root.max.value,
150
+ 'aria-valuenow': root.state.value.value,
151
+ 'aria-disabled': String(root.state.value.disabled),
152
+ 'aria-readonly': String(root.state.value.readonly),
153
+ 'data-scope': 'spin-button',
154
+ 'data-part': 'input',
155
+ }, participation.controlProps.value), { default: () => slots['default']?.(root.state.value) });
156
+ },
157
+ });
158
+ export const SpinButtonIncrement = createTrigger('Increment', 'increment');
159
+ export const SpinButtonDecrement = createTrigger('Decrement', 'decrement');
160
+ function createTrigger(name, event) {
161
+ return defineComponent({
162
+ name: `SectileSpinButton${name}`,
163
+ inheritAttrs: false,
164
+ props: partProps,
165
+ slots: Object,
166
+ setup(props, { attrs, slots }) {
167
+ const root = useSpinButton(`SpinButton${name}`);
168
+ return () => h(Primitive, mergeProps(attrs, {
169
+ as: props.as,
170
+ asChild: props.asChild,
171
+ type: props.as === 'button' ? 'button' : undefined,
172
+ disabled: root.state.value.disabled || root.state.value.readonly,
173
+ 'aria-label': name,
174
+ 'data-scope': 'spin-button',
175
+ 'data-part': event,
176
+ onClick: (click) => {
177
+ if (!click.defaultPrevented)
178
+ root.step(event);
179
+ },
180
+ }), { default: () => slots['default']?.(root.state.value) });
181
+ },
182
+ });
183
+ }
184
+ function useSpinButton(part) {
185
+ const context = inject(spinButtonKey);
186
+ if (context === undefined)
187
+ throw new TypeError(`${part} must be used inside SpinButtonRoot.`);
188
+ return context;
189
+ }
190
+ //# sourceMappingURL=spin-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spin-button.js","sourceRoot":"","sources":["../src/spin-button.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import { type TabsRootProps, type TabsRootSlotProps } from './tabs.js';
3
+ import { type PrimitiveAs } from './primitive.js';
4
+ export type StepperRootProps = Omit<TabsRootProps, 'activationMode'>;
5
+ export interface StepperActionProps {
6
+ readonly disabled?: boolean;
7
+ readonly as?: PrimitiveAs;
8
+ readonly asChild?: boolean;
9
+ }
10
+ export interface StepperActionSlotProps {
11
+ readonly value: string;
12
+ readonly targetValue: string | null;
13
+ readonly disabled: boolean;
14
+ }
15
+ export declare const StepperRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
+ items: {
17
+ type: PropType<readonly string[]>;
18
+ required: true;
19
+ };
20
+ modelValue: {
21
+ type: StringConstructor;
22
+ default: undefined;
23
+ };
24
+ defaultValue: {
25
+ type: StringConstructor;
26
+ default: string;
27
+ };
28
+ disabledItems: {
29
+ type: PropType<readonly string[]>;
30
+ default: () => never[];
31
+ };
32
+ disabled: {
33
+ type: BooleanConstructor;
34
+ default: boolean;
35
+ };
36
+ readonly: {
37
+ type: BooleanConstructor;
38
+ default: boolean;
39
+ };
40
+ orientation: {
41
+ type: PropType<'horizontal' | 'vertical'>;
42
+ default: string;
43
+ };
44
+ as: {
45
+ type: PropType<PrimitiveAs>;
46
+ default: string;
47
+ };
48
+ asChild: {
49
+ type: BooleanConstructor;
50
+ default: boolean;
51
+ };
52
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
53
+ 'update:modelValue': (_value: string) => boolean;
54
+ highlight: (_value: string | null) => boolean;
55
+ activate: (_value: string) => boolean;
56
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
57
+ items: {
58
+ type: PropType<readonly string[]>;
59
+ required: true;
60
+ };
61
+ modelValue: {
62
+ type: StringConstructor;
63
+ default: undefined;
64
+ };
65
+ defaultValue: {
66
+ type: StringConstructor;
67
+ default: string;
68
+ };
69
+ disabledItems: {
70
+ type: PropType<readonly string[]>;
71
+ default: () => never[];
72
+ };
73
+ disabled: {
74
+ type: BooleanConstructor;
75
+ default: boolean;
76
+ };
77
+ readonly: {
78
+ type: BooleanConstructor;
79
+ default: boolean;
80
+ };
81
+ orientation: {
82
+ type: PropType<'horizontal' | 'vertical'>;
83
+ default: string;
84
+ };
85
+ as: {
86
+ type: PropType<PrimitiveAs>;
87
+ default: string;
88
+ };
89
+ asChild: {
90
+ type: BooleanConstructor;
91
+ default: boolean;
92
+ };
93
+ }>> & Readonly<{
94
+ onActivate?: (_value: string) => any;
95
+ onHighlight?: (_value: string | null) => any;
96
+ "onUpdate:modelValue"?: (_value: string) => any;
97
+ }>, {
98
+ modelValue: string;
99
+ defaultValue: string;
100
+ disabledItems: readonly string[];
101
+ disabled: boolean;
102
+ readonly: boolean;
103
+ orientation: "horizontal" | "vertical";
104
+ as: PrimitiveAs;
105
+ asChild: boolean;
106
+ }, SlotsType<{
107
+ default: (props: TabsRootSlotProps) => VNodeChild;
108
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
109
+ export type StepperValueChangeHandler = (value: string) => void;
110
+ export type StepperHighlightHandler = (value: string | null) => void;
111
+ export type StepperActivateHandler = (value: string) => void;
112
+ export declare const StepperList: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
113
+ label: {
114
+ type: StringConstructor;
115
+ default: undefined;
116
+ };
117
+ as: {
118
+ type: PropType<PrimitiveAs>;
119
+ default: string;
120
+ };
121
+ asChild: {
122
+ type: BooleanConstructor;
123
+ default: boolean;
124
+ };
125
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
126
+ label: {
127
+ type: StringConstructor;
128
+ default: undefined;
129
+ };
130
+ as: {
131
+ type: PropType<PrimitiveAs>;
132
+ default: string;
133
+ };
134
+ asChild: {
135
+ type: BooleanConstructor;
136
+ default: boolean;
137
+ };
138
+ }>> & Readonly<{}>, {
139
+ label: string;
140
+ as: PrimitiveAs;
141
+ asChild: boolean;
142
+ }, SlotsType<{
143
+ default: () => VNodeChild;
144
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
145
+ export declare const StepperStep: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
146
+ value: {
147
+ type: StringConstructor;
148
+ required: true;
149
+ };
150
+ disabled: {
151
+ type: BooleanConstructor;
152
+ default: boolean;
153
+ };
154
+ as: {
155
+ type: PropType<PrimitiveAs>;
156
+ default: string;
157
+ };
158
+ asChild: {
159
+ type: BooleanConstructor;
160
+ default: boolean;
161
+ };
162
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
163
+ value: {
164
+ type: StringConstructor;
165
+ required: true;
166
+ };
167
+ disabled: {
168
+ type: BooleanConstructor;
169
+ default: boolean;
170
+ };
171
+ as: {
172
+ type: PropType<PrimitiveAs>;
173
+ default: string;
174
+ };
175
+ asChild: {
176
+ type: BooleanConstructor;
177
+ default: boolean;
178
+ };
179
+ }>> & Readonly<{}>, {
180
+ disabled: boolean;
181
+ as: PrimitiveAs;
182
+ asChild: boolean;
183
+ }, SlotsType<{
184
+ default: (props: import("./tabs.js").TabsTriggerSlotProps) => VNodeChild;
185
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
186
+ export declare const StepperContent: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
187
+ value: {
188
+ type: StringConstructor;
189
+ required: true;
190
+ };
191
+ as: {
192
+ type: PropType<PrimitiveAs>;
193
+ default: string;
194
+ };
195
+ asChild: {
196
+ type: BooleanConstructor;
197
+ default: boolean;
198
+ };
199
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
200
+ value: {
201
+ type: StringConstructor;
202
+ required: true;
203
+ };
204
+ as: {
205
+ type: PropType<PrimitiveAs>;
206
+ default: string;
207
+ };
208
+ asChild: {
209
+ type: BooleanConstructor;
210
+ default: boolean;
211
+ };
212
+ }>> & Readonly<{}>, {
213
+ as: PrimitiveAs;
214
+ asChild: boolean;
215
+ }, SlotsType<{
216
+ default: (props: import("./tabs.js").TabsContentSlotProps) => VNodeChild;
217
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
218
+ export declare const StepperIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
219
+ as: {
220
+ type: PropType<PrimitiveAs>;
221
+ default: string;
222
+ };
223
+ asChild: {
224
+ type: BooleanConstructor;
225
+ default: boolean;
226
+ };
227
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
228
+ as: {
229
+ type: PropType<PrimitiveAs>;
230
+ default: string;
231
+ };
232
+ asChild: {
233
+ type: BooleanConstructor;
234
+ default: boolean;
235
+ };
236
+ }>> & Readonly<{}>, {
237
+ as: PrimitiveAs;
238
+ asChild: boolean;
239
+ }, SlotsType<{
240
+ default: (props: {
241
+ value: string;
242
+ }) => VNodeChild;
243
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
244
+ export declare const StepperPrevious: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
245
+ disabled: {
246
+ type: BooleanConstructor;
247
+ default: boolean;
248
+ };
249
+ as: {
250
+ type: PropType<PrimitiveAs>;
251
+ default: string;
252
+ };
253
+ asChild: {
254
+ type: BooleanConstructor;
255
+ default: boolean;
256
+ };
257
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
258
+ disabled: {
259
+ type: BooleanConstructor;
260
+ default: boolean;
261
+ };
262
+ as: {
263
+ type: PropType<PrimitiveAs>;
264
+ default: string;
265
+ };
266
+ asChild: {
267
+ type: BooleanConstructor;
268
+ default: boolean;
269
+ };
270
+ }>> & Readonly<{}>, {
271
+ disabled: boolean;
272
+ as: PrimitiveAs;
273
+ asChild: boolean;
274
+ }, SlotsType<{
275
+ default: (props: StepperActionSlotProps) => VNodeChild;
276
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
277
+ export declare const StepperNext: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
278
+ disabled: {
279
+ type: BooleanConstructor;
280
+ default: boolean;
281
+ };
282
+ as: {
283
+ type: PropType<PrimitiveAs>;
284
+ default: string;
285
+ };
286
+ asChild: {
287
+ type: BooleanConstructor;
288
+ default: boolean;
289
+ };
290
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
291
+ disabled: {
292
+ type: BooleanConstructor;
293
+ default: boolean;
294
+ };
295
+ as: {
296
+ type: PropType<PrimitiveAs>;
297
+ default: string;
298
+ };
299
+ asChild: {
300
+ type: BooleanConstructor;
301
+ default: boolean;
302
+ };
303
+ }>> & Readonly<{}>, {
304
+ disabled: boolean;
305
+ as: PrimitiveAs;
306
+ asChild: boolean;
307
+ }, SlotsType<{
308
+ default: (props: StepperActionSlotProps) => VNodeChild;
309
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
310
+ //# sourceMappingURL=stepper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../src/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAC/H,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AACrE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AACD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,WAAW;;cAII,QAAQ,CAAC,SAAS,MAAM,EAAE,CAAC;;;;QACrC,IAAI;QAAU,OAAO;;;QACnB,IAAI;QAAU,OAAO;;;QACpB,IAAI,EAAW,QAAQ,CAAC,SAAS,MAAM,EAAE,CAAC;QAAE,OAAO;;;QACxD,IAAI;QAAW,OAAO;;;QACtB,IAAI;QAAW,OAAO;;;QACnB,IAAI,EAAY,QAAQ,CAAC,YAAY,GAAG,UAAU,CAAC;QAAE,OAAO;;;QACrE,IAAI,EAAgC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO;;;QAC7D,IAAI;QAAW,OAAO;;UAUtB,UAAU;kCAPS,MAAM,KAAG,OAAO;wBAC1B,MAAM,GAAG,IAAI,KAAG,OAAO;uBACxB,MAAM,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAEC,CAAC,KAAK,EAAE,iBAAiB,KAAK,UAAU;yEAW9E,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAChE,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;AACrE,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAAW,CAAC;AACpC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAAc,CAAC;AACvC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAAc,CAAC;AAC1C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;yEAAgB,CAAC;AAC9C,eAAO,MAAM,eAAe;;QAQV,IAAI;QAAW,OAAO;;;QAC5B,IAAI,EAAgC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO;;;QAC7D,IAAI;QAAW,OAAO;;UAetB,UAAU;;;;;;;;;;;;;;;;;;aAbe,CAAC,KAAK,EAAE,sBAAsB,KAAK,UAAU;yEAZ5B,CAAC;AAC5D,eAAO,MAAM,WAAW;;QAON,IAAI;QAAW,OAAO;;;QAC5B,IAAI,EAAgC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO;;;QAC7D,IAAI;QAAW,OAAO;;UAetB,UAAU;;;;;;;;;;;;;;;;;;aAbe,CAAC,KAAK,EAAE,sBAAsB,KAAK,UAAU;yEAXrC,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { computed, defineComponent, h, mergeProps } from 'vue';
2
+ import { TabsContent, TabsIndicator, TabsList, TabsRoot, TabsTrigger, } from './tabs.js';
3
+ import { Primitive } from './primitive.js';
4
+ import { providePartContract } from './internal/part-contract.js';
5
+ import { useTabsRootContext } from './internal/tabs-context.js';
6
+ export const StepperRoot = defineComponent({
7
+ name: 'SectileStepperRoot',
8
+ inheritAttrs: false,
9
+ props: {
10
+ items: { type: Array, required: true },
11
+ modelValue: { type: String, default: undefined },
12
+ defaultValue: { type: String, default: '' },
13
+ disabledItems: { type: Array, default: () => [] },
14
+ disabled: { type: Boolean, default: false },
15
+ readonly: { type: Boolean, default: false },
16
+ orientation: { type: String, default: 'horizontal' },
17
+ as: { type: [String, Object, Function], default: 'div' },
18
+ asChild: { type: Boolean, default: false },
19
+ },
20
+ emits: {
21
+ 'update:modelValue': (_value) => true,
22
+ highlight: (_value) => true,
23
+ activate: (_value) => true,
24
+ },
25
+ slots: Object,
26
+ setup(props, { attrs, emit, slots }) {
27
+ providePartContract('stepper', { trigger: 'step' });
28
+ return () => h(TabsRoot, mergeProps(attrs, props, {
29
+ activationMode: 'manual',
30
+ 'aria-roledescription': 'stepper',
31
+ 'onUpdate:modelValue': (value) => emit('update:modelValue', value),
32
+ onHighlight: (value) => emit('highlight', value),
33
+ onActivate: (value) => emit('activate', value),
34
+ }), slots);
35
+ },
36
+ });
37
+ export const StepperList = TabsList;
38
+ export const StepperStep = TabsTrigger;
39
+ export const StepperContent = TabsContent;
40
+ export const StepperIndicator = TabsIndicator;
41
+ export const StepperPrevious = createAction('Previous', -1);
42
+ export const StepperNext = createAction('Next', 1);
43
+ function createAction(name, direction) {
44
+ return defineComponent({
45
+ name: `SectileStepper${name}`,
46
+ inheritAttrs: false,
47
+ props: {
48
+ disabled: { type: Boolean, default: false },
49
+ as: { type: [String, Object, Function], default: 'button' },
50
+ asChild: { type: Boolean, default: false },
51
+ },
52
+ slots: Object,
53
+ setup(props, { attrs, slots }) {
54
+ const root = useTabsRootContext(`Stepper${name}`);
55
+ if (root.partContract.scope !== 'stepper') {
56
+ throw new TypeError(`Stepper${name} must be used inside StepperRoot.`);
57
+ }
58
+ const targetValue = computed(() => props.disabled ? null : root.relativeTarget(direction));
59
+ const disabled = computed(() => props.disabled || targetValue.value === null);
60
+ const slotProps = computed(() => Object.freeze({
61
+ value: root.value.value,
62
+ targetValue: targetValue.value,
63
+ disabled: disabled.value,
64
+ }));
65
+ return () => h(Primitive, mergeProps(attrs, {
66
+ as: props.as,
67
+ asChild: props.asChild,
68
+ ...(props.as === 'button' && !props.asChild ? { type: 'button', disabled: disabled.value } : {}),
69
+ 'aria-disabled': disabled.value ? 'true' : undefined,
70
+ 'data-disabled': disabled.value ? '' : undefined,
71
+ 'data-scope': 'stepper',
72
+ 'data-part': name.toLowerCase(),
73
+ 'data-target-value': targetValue.value ?? undefined,
74
+ onClick: (event) => {
75
+ if (event.defaultPrevented)
76
+ return;
77
+ if (disabled.value) {
78
+ event.preventDefault();
79
+ return;
80
+ }
81
+ root.activateRelative(direction);
82
+ },
83
+ }), { default: () => slots['default']?.(slotProps.value) });
84
+ },
85
+ });
86
+ }
87
+ //# sourceMappingURL=stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.js","sourceRoot":"","sources":["../src/stepper.ts"],"names":[],"mappings":"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"}