@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
package/dist/tabs.js ADDED
@@ -0,0 +1,258 @@
1
+ import { computed, defineComponent, h, mergeProps, nextTick, provide, shallowRef, watch, } from 'vue';
2
+ import { getTabsContentAttributes, getTabsListAttributes, getTabsRootAttributes, getTabsTriggerAttributes, } from '@sectile/dom/tabs';
3
+ import { createListboxControllerFromItems } from '@sectile/dom/listbox';
4
+ import { Primitive } from './primitive.js';
5
+ import { usePartContract } from './internal/part-contract.js';
6
+ import { tabsRootContextKey, useTabsRootContext, } from './internal/tabs-context.js';
7
+ import { useHostDirection, useHostId } from './host-provider.js';
8
+ export const TabsRoot = defineComponent({
9
+ name: 'SectileTabsRoot',
10
+ inheritAttrs: false,
11
+ props: {
12
+ items: { type: Array, required: true },
13
+ modelValue: { type: String, default: undefined },
14
+ defaultValue: { type: String, default: '' },
15
+ disabledItems: { type: Array, default: () => [] },
16
+ disabled: { type: Boolean, default: false },
17
+ readonly: { type: Boolean, default: false },
18
+ orientation: { type: String, default: 'horizontal' },
19
+ activationMode: { type: String, default: 'automatic' },
20
+ as: { type: [String, Object, Function], default: 'div' },
21
+ asChild: { type: Boolean, default: false },
22
+ },
23
+ emits: {
24
+ 'update:modelValue': (_value) => true,
25
+ highlight: (_value) => true,
26
+ activate: (_value) => true,
27
+ },
28
+ slots: Object,
29
+ setup(props, { attrs, emit, slots }) {
30
+ const controlled = props.modelValue !== undefined;
31
+ const instanceID = useHostId();
32
+ const direction = useHostDirection();
33
+ const rootElement = shallowRef(null);
34
+ const idMap = new Map();
35
+ const ids = (value) => {
36
+ const found = idMap.get(value);
37
+ if (found !== undefined)
38
+ return found;
39
+ const safe = encodeURIComponent(value).replaceAll('%', '-');
40
+ const created = Object.freeze({ trigger: `sectile-tabs-${instanceID}-${safe}-trigger`, content: `sectile-tabs-${instanceID}-${safe}-content` });
41
+ idMap.set(value, created);
42
+ return created;
43
+ };
44
+ const makeController = (value) => {
45
+ const selected = value === '' ? [] : [value];
46
+ const result = createListboxControllerFromItems({
47
+ items: props.items,
48
+ selectionMode: 'single',
49
+ disabledItems: props.disabledItems,
50
+ disabled: props.disabled,
51
+ readOnly: props.readonly,
52
+ orientation: props.orientation,
53
+ direction: direction.value,
54
+ policies: { selectionFollowsFocus: props.activationMode === 'automatic' },
55
+ ...(controlled ? { value: selected } : { defaultValue: selected }),
56
+ defaultHighlightedValue: value || props.items.find((id) => !props.disabledItems.includes(id)) || null,
57
+ onValueChange: ({ value: next }) => emit('update:modelValue', next[0] ?? ''),
58
+ onHighlightedValueChange: ({ value: next }) => emit('highlight', next),
59
+ });
60
+ if (!result.ok)
61
+ throw new TypeError(result.error.message);
62
+ return result.value;
63
+ };
64
+ const initial = controlled ? props.modelValue : props.defaultValue || props.items.find((id) => !props.disabledItems.includes(id)) || '';
65
+ const controller = shallowRef(makeController(initial));
66
+ const snapshot = shallowRef(controller.value.getSnapshot());
67
+ const rebuild = () => {
68
+ const current = controlled ? props.modelValue : snapshot.value.state.selection.selected[0] ?? '';
69
+ controller.value = makeController(current);
70
+ snapshot.value = controller.value.getSnapshot();
71
+ };
72
+ watch(() => props.modelValue, (next) => {
73
+ if (!controlled || next === undefined)
74
+ return;
75
+ const result = controller.value.syncControlledValues({ value: next === '' ? [] : [next] });
76
+ if (!result.ok)
77
+ throw new TypeError(result.error.message);
78
+ snapshot.value = result.value;
79
+ });
80
+ watch([() => props.items, () => props.disabledItems, () => props.disabled, () => props.readonly, () => props.orientation, () => props.activationMode, direction], rebuild);
81
+ const value = computed(() => snapshot.value.state.selection.selected[0] ?? '');
82
+ const highlighted = computed(() => snapshot.value.state.cursor.current);
83
+ const disabled = computed(() => props.disabled);
84
+ const readonly = computed(() => props.readonly);
85
+ const orientation = computed(() => props.orientation);
86
+ const disabledItems = computed(() => new Set(props.disabledItems));
87
+ const apply = (result, root) => {
88
+ if (!result.ok)
89
+ return false;
90
+ snapshot.value = result.snapshot;
91
+ applyEffects(result.commands, emit);
92
+ if (root !== undefined)
93
+ void nextTick(() => focusTrigger(root, result.snapshot.state.cursor.current));
94
+ return true;
95
+ };
96
+ const relativeTarget = (direction) => {
97
+ if (props.disabled || props.readonly)
98
+ return null;
99
+ const selectedIndex = props.items.indexOf(value.value);
100
+ let index = selectedIndex < 0
101
+ ? direction > 0 ? 0 : props.items.length - 1
102
+ : selectedIndex + direction;
103
+ while (index >= 0 && index < props.items.length) {
104
+ const candidate = props.items[index];
105
+ if (candidate !== undefined && !disabledItems.value.has(candidate))
106
+ return candidate;
107
+ index += direction;
108
+ }
109
+ return null;
110
+ };
111
+ const activateRelative = (direction) => {
112
+ const target = relativeTarget(direction);
113
+ if (target === null)
114
+ return false;
115
+ if (!apply(controller.value.handleEvent({ type: 'focus', id: target })))
116
+ return false;
117
+ if (!apply(controller.value.handleEvent({ type: 'activate', id: target })))
118
+ return false;
119
+ void nextTick(() => {
120
+ if (rootElement.value !== null)
121
+ focusTrigger(rootElement.value, target);
122
+ });
123
+ return true;
124
+ };
125
+ const part = usePartContract('tabs', 'root');
126
+ provide(tabsRootContextKey, {
127
+ value, highlighted, disabled, readonly, orientation, direction, disabledItems, partContract: part, ids,
128
+ select: (id, target) => apply(controller.value.handleEvent({ type: 'activate', id }), target.closest('[role="tablist"]')),
129
+ keydown: (event) => {
130
+ if (!apply(controller.value.handleKeyboardInput(event), event.currentTarget))
131
+ return;
132
+ event.preventDefault();
133
+ },
134
+ relativeTarget,
135
+ activateRelative,
136
+ });
137
+ const slotProps = computed(() => ({ value: value.value, highlightedValue: highlighted.value, disabled: props.disabled, readonly: props.readonly }));
138
+ return () => h(Primitive, mergeProps(attrs, getTabsRootAttributes(), {
139
+ as: props.as,
140
+ asChild: props.asChild,
141
+ elementRef: (element) => { rootElement.value = element; },
142
+ 'data-scope': part.scope,
143
+ }), {
144
+ default: () => slots['default']?.(slotProps.value),
145
+ });
146
+ },
147
+ });
148
+ export const TabsList = defineComponent({
149
+ name: 'SectileTabsList',
150
+ inheritAttrs: false,
151
+ props: {
152
+ label: { type: String, default: undefined },
153
+ as: { type: [String, Object, Function], default: 'div' },
154
+ asChild: { type: Boolean, default: false },
155
+ },
156
+ slots: Object,
157
+ setup(props, { attrs, slots }) {
158
+ const root = useTabsRootContext('TabsList');
159
+ const part = { scope: root.partContract.scope, part: root.partContract.parts['list'] ?? 'list' };
160
+ const attributes = computed(() => getTabsListAttributes({
161
+ orientation: root.orientation.value,
162
+ direction: root.direction.value,
163
+ ...(props.label === undefined ? {} : { label: props.label }),
164
+ disabled: root.disabled.value,
165
+ readOnly: root.readonly.value,
166
+ }));
167
+ return () => h(Primitive, mergeProps(attrs, attributes.value, { as: props.as, asChild: props.asChild, 'data-scope': part.scope, onKeydown: root.keydown }), slots);
168
+ },
169
+ });
170
+ export const TabsTrigger = defineComponent({
171
+ name: 'SectileTabsTrigger',
172
+ inheritAttrs: false,
173
+ props: {
174
+ value: { type: String, required: true },
175
+ disabled: { type: Boolean, default: false },
176
+ as: { type: [String, Object, Function], default: 'button' },
177
+ asChild: { type: Boolean, default: false },
178
+ },
179
+ slots: Object,
180
+ setup(props, { attrs, slots }) {
181
+ const root = useTabsRootContext('TabsTrigger');
182
+ const part = { scope: root.partContract.scope, part: root.partContract.parts['trigger'] ?? 'trigger' };
183
+ const state = computed(() => ({
184
+ value: props.value,
185
+ selected: root.value.value === props.value,
186
+ highlighted: root.highlighted.value === props.value,
187
+ disabled: root.disabled.value || props.disabled || root.disabledItems.value.has(props.value),
188
+ }));
189
+ const attributes = computed(() => {
190
+ const ids = root.ids(props.value);
191
+ return getTabsTriggerAttributes({ id: props.value, selected: state.value.selected, highlighted: state.value.highlighted, disabled: state.value.disabled, triggerID: ids.trigger, panelID: ids.content });
192
+ });
193
+ return () => h(Primitive, mergeProps(attrs, attributes.value, {
194
+ as: props.as, asChild: props.asChild,
195
+ 'data-scope': part.scope,
196
+ 'data-part': part.part,
197
+ onClick: (event) => {
198
+ if (!event.defaultPrevented && !state.value.disabled)
199
+ root.select(props.value, event.currentTarget);
200
+ },
201
+ }), { default: () => slots['default']?.(state.value) });
202
+ },
203
+ });
204
+ export const TabsContent = defineComponent({
205
+ name: 'SectileTabsContent',
206
+ inheritAttrs: false,
207
+ props: {
208
+ value: { type: String, required: true },
209
+ as: { type: [String, Object, Function], default: 'div' },
210
+ asChild: { type: Boolean, default: false },
211
+ },
212
+ slots: Object,
213
+ setup(props, { attrs, slots }) {
214
+ const root = useTabsRootContext('TabsContent');
215
+ const part = { scope: root.partContract.scope, part: root.partContract.parts['content'] ?? 'content' };
216
+ const selected = computed(() => root.value.value === props.value);
217
+ const attributes = computed(() => {
218
+ const ids = root.ids(props.value);
219
+ return getTabsContentAttributes({ selected: selected.value, contentID: ids.content, triggerID: ids.trigger });
220
+ });
221
+ return () => h(Primitive, mergeProps(attrs, attributes.value, { as: props.as, asChild: props.asChild, 'data-scope': part.scope }), {
222
+ default: () => slots['default']?.({ value: props.value, selected: selected.value }),
223
+ });
224
+ },
225
+ });
226
+ export const TabsIndicator = defineComponent({
227
+ name: 'SectileTabsIndicator',
228
+ inheritAttrs: false,
229
+ props: {
230
+ as: { type: [String, Object, Function], default: 'span' },
231
+ asChild: { type: Boolean, default: false },
232
+ },
233
+ slots: Object,
234
+ setup(props, { attrs, slots }) {
235
+ const root = useTabsRootContext('TabsIndicator');
236
+ const part = { scope: root.partContract.scope, part: root.partContract.parts['indicator'] ?? 'indicator' };
237
+ return () => h(Primitive, mergeProps(attrs, {
238
+ as: props.as, asChild: props.asChild,
239
+ 'aria-hidden': 'true',
240
+ 'data-scope': part.scope,
241
+ 'data-part': part.part,
242
+ 'data-value': root.value.value,
243
+ }), { default: () => slots['default']?.({ value: root.value.value }) });
244
+ },
245
+ });
246
+ function applyEffects(effects, emit) {
247
+ for (const effect of effects)
248
+ if (effect.type === 'dispatch-activation')
249
+ emit('activate', effect.id);
250
+ }
251
+ function focusTrigger(root, id) {
252
+ if (id === null)
253
+ return;
254
+ for (const item of root.querySelectorAll('[data-tabs-id]'))
255
+ if (item.dataset['tabsId'] === id)
256
+ item.focus();
257
+ }
258
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,297 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import { type TagsInputPolicies } from '@sectile/dom/tags-input';
3
+ import { type PrimitiveAs } from './primitive.js';
4
+ export interface TagsInputRootProps {
5
+ readonly modelValue?: readonly string[];
6
+ readonly defaultValue?: readonly string[];
7
+ readonly inputValue?: string;
8
+ readonly defaultInputValue?: string;
9
+ readonly disabled?: boolean;
10
+ readonly?: boolean;
11
+ readonly label?: string;
12
+ readonly name?: string;
13
+ readonly form?: string;
14
+ readonly required?: boolean;
15
+ readonly policies?: TagsInputPolicies;
16
+ readonly as?: PrimitiveAs;
17
+ readonly asChild?: boolean;
18
+ }
19
+ export interface TagsInputRootSlotProps {
20
+ readonly value: readonly string[];
21
+ readonly inputValue: string;
22
+ readonly disabled: boolean;
23
+ readonly: boolean;
24
+ }
25
+ export interface TagsInputItemProps {
26
+ readonly index: number;
27
+ readonly as?: PrimitiveAs;
28
+ readonly asChild?: boolean;
29
+ }
30
+ export interface TagsInputItemSlotProps {
31
+ readonly index: number;
32
+ readonly value: string;
33
+ readonly disabled: boolean;
34
+ readonly: boolean;
35
+ }
36
+ export interface TagsInputPartProps {
37
+ readonly as?: PrimitiveAs;
38
+ readonly asChild?: boolean;
39
+ }
40
+ export declare const TagsInputRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
41
+ modelValue: {
42
+ type: PropType<readonly string[]>;
43
+ default: undefined;
44
+ };
45
+ defaultValue: {
46
+ type: PropType<readonly string[]>;
47
+ default: () => never[];
48
+ };
49
+ inputValue: {
50
+ type: StringConstructor;
51
+ default: undefined;
52
+ };
53
+ defaultInputValue: {
54
+ type: StringConstructor;
55
+ default: string;
56
+ };
57
+ disabled: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
61
+ readonly: {
62
+ type: BooleanConstructor;
63
+ default: boolean;
64
+ };
65
+ label: {
66
+ type: StringConstructor;
67
+ default: string;
68
+ };
69
+ name: {
70
+ type: StringConstructor;
71
+ default: undefined;
72
+ };
73
+ form: {
74
+ type: StringConstructor;
75
+ default: undefined;
76
+ };
77
+ required: {
78
+ type: BooleanConstructor;
79
+ default: boolean;
80
+ };
81
+ policies: {
82
+ type: PropType<TagsInputPolicies>;
83
+ default: undefined;
84
+ };
85
+ as: {
86
+ type: PropType<PrimitiveAs>;
87
+ default: string;
88
+ };
89
+ asChild: {
90
+ type: BooleanConstructor;
91
+ default: boolean;
92
+ };
93
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
94
+ 'update:modelValue': (_value: readonly string[]) => boolean;
95
+ 'update:inputValue': (_value: string) => boolean;
96
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
97
+ modelValue: {
98
+ type: PropType<readonly string[]>;
99
+ default: undefined;
100
+ };
101
+ defaultValue: {
102
+ type: PropType<readonly string[]>;
103
+ default: () => never[];
104
+ };
105
+ inputValue: {
106
+ type: StringConstructor;
107
+ default: undefined;
108
+ };
109
+ defaultInputValue: {
110
+ type: StringConstructor;
111
+ default: string;
112
+ };
113
+ disabled: {
114
+ type: BooleanConstructor;
115
+ default: boolean;
116
+ };
117
+ readonly: {
118
+ type: BooleanConstructor;
119
+ default: boolean;
120
+ };
121
+ label: {
122
+ type: StringConstructor;
123
+ default: string;
124
+ };
125
+ name: {
126
+ type: StringConstructor;
127
+ default: undefined;
128
+ };
129
+ form: {
130
+ type: StringConstructor;
131
+ default: undefined;
132
+ };
133
+ required: {
134
+ type: BooleanConstructor;
135
+ default: boolean;
136
+ };
137
+ policies: {
138
+ type: PropType<TagsInputPolicies>;
139
+ default: undefined;
140
+ };
141
+ as: {
142
+ type: PropType<PrimitiveAs>;
143
+ default: string;
144
+ };
145
+ asChild: {
146
+ type: BooleanConstructor;
147
+ default: boolean;
148
+ };
149
+ }>> & Readonly<{
150
+ "onUpdate:inputValue"?: (_value: string) => any;
151
+ "onUpdate:modelValue"?: (_value: readonly string[]) => any;
152
+ }>, {
153
+ modelValue: readonly string[];
154
+ defaultValue: readonly string[];
155
+ inputValue: string;
156
+ defaultInputValue: string;
157
+ disabled: boolean;
158
+ readonly: boolean;
159
+ label: string;
160
+ name: string;
161
+ form: string;
162
+ required: boolean;
163
+ policies: TagsInputPolicies;
164
+ as: PrimitiveAs;
165
+ asChild: boolean;
166
+ }, SlotsType<{
167
+ default: (props: TagsInputRootSlotProps) => VNodeChild;
168
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
169
+ export type TagsInputValueChangeHandler = (value: readonly string[]) => void;
170
+ export type TagsInputInputValueChangeHandler = (value: string) => void;
171
+ export declare const TagsInputItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
172
+ as: {
173
+ type: PropType<PrimitiveAs>;
174
+ default: string;
175
+ };
176
+ asChild: {
177
+ type: BooleanConstructor;
178
+ default: boolean;
179
+ };
180
+ index: {
181
+ type: NumberConstructor;
182
+ required: true;
183
+ };
184
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
185
+ as: {
186
+ type: PropType<PrimitiveAs>;
187
+ default: string;
188
+ };
189
+ asChild: {
190
+ type: BooleanConstructor;
191
+ default: boolean;
192
+ };
193
+ index: {
194
+ type: NumberConstructor;
195
+ required: true;
196
+ };
197
+ }>> & Readonly<{}>, {
198
+ as: PrimitiveAs;
199
+ asChild: boolean;
200
+ }, SlotsType<{
201
+ default: (props: TagsInputItemSlotProps) => VNodeChild;
202
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
203
+ export declare const TagsInputItemText: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
204
+ as: {
205
+ type: PropType<PrimitiveAs>;
206
+ default: string;
207
+ };
208
+ asChild: {
209
+ type: BooleanConstructor;
210
+ default: boolean;
211
+ };
212
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
213
+ as: {
214
+ type: PropType<PrimitiveAs>;
215
+ default: string;
216
+ };
217
+ asChild: {
218
+ type: BooleanConstructor;
219
+ default: boolean;
220
+ };
221
+ }>> & Readonly<{}>, {
222
+ as: PrimitiveAs;
223
+ asChild: boolean;
224
+ }, SlotsType<{
225
+ default: (props: TagsInputItemSlotProps) => VNodeChild;
226
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
227
+ export declare const TagsInputItemDelete: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
228
+ as: {
229
+ type: PropType<PrimitiveAs>;
230
+ default: string;
231
+ };
232
+ asChild: {
233
+ type: BooleanConstructor;
234
+ default: boolean;
235
+ };
236
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
237
+ as: {
238
+ type: PropType<PrimitiveAs>;
239
+ default: string;
240
+ };
241
+ asChild: {
242
+ type: BooleanConstructor;
243
+ default: boolean;
244
+ };
245
+ }>> & Readonly<{}>, {
246
+ as: PrimitiveAs;
247
+ asChild: boolean;
248
+ }, SlotsType<{
249
+ default: (props: TagsInputItemSlotProps) => VNodeChild;
250
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
251
+ export declare const TagsInputInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
252
+ as: {
253
+ type: PropType<PrimitiveAs>;
254
+ default: string;
255
+ };
256
+ asChild: {
257
+ type: BooleanConstructor;
258
+ default: boolean;
259
+ };
260
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
261
+ as: {
262
+ type: PropType<PrimitiveAs>;
263
+ default: string;
264
+ };
265
+ asChild: {
266
+ type: BooleanConstructor;
267
+ default: boolean;
268
+ };
269
+ }>> & Readonly<{}>, {
270
+ as: PrimitiveAs;
271
+ asChild: boolean;
272
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
273
+ export declare const TagsInputClear: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
274
+ as: {
275
+ type: PropType<PrimitiveAs>;
276
+ default: string;
277
+ };
278
+ asChild: {
279
+ type: BooleanConstructor;
280
+ default: boolean;
281
+ };
282
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
283
+ as: {
284
+ type: PropType<PrimitiveAs>;
285
+ default: string;
286
+ };
287
+ asChild: {
288
+ type: BooleanConstructor;
289
+ default: boolean;
290
+ };
291
+ }>> & Readonly<{}>, {
292
+ as: PrimitiveAs;
293
+ asChild: boolean;
294
+ }, SlotsType<{
295
+ default: (props: TagsInputRootSlotProps) => VNodeChild;
296
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
297
+ //# sourceMappingURL=tags-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags-input.d.ts","sourceRoot":"","sources":["../src/tags-input.ts"],"names":[],"mappings":"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"}