@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,442 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import { type CascadeSelectItemDefinition, type CascadeSelectPolicies } from '@sectile/dom/cascade-select';
3
+ import { type PrimitiveAs } from './primitive.js';
4
+ export interface CascadeSelectRootProps {
5
+ readonly nodes: readonly CascadeSelectItemDefinition<string>[];
6
+ readonly modelValue?: string | null;
7
+ readonly defaultValue?: string | null;
8
+ readonly open?: boolean;
9
+ readonly defaultOpen?: boolean;
10
+ readonly disabledItems?: readonly string[];
11
+ readonly disabled?: boolean;
12
+ readonly?: boolean;
13
+ readonly label?: string;
14
+ readonly name?: string;
15
+ readonly form?: string;
16
+ readonly required?: boolean;
17
+ readonly textValue?: (id: string) => string;
18
+ readonly policies?: CascadeSelectPolicies<string>;
19
+ readonly as?: PrimitiveAs;
20
+ readonly asChild?: boolean;
21
+ }
22
+ export type CascadeSelectTextValueResolver = NonNullable<CascadeSelectRootProps['textValue']>;
23
+ export interface CascadeSelectRootSlotProps {
24
+ readonly value: string | null;
25
+ readonly valuePath: readonly string[];
26
+ readonly highlightedValue: string | null;
27
+ readonly path: readonly string[];
28
+ readonly columns: readonly (readonly string[])[];
29
+ readonly open: boolean;
30
+ readonly disabled: boolean;
31
+ readonly: boolean;
32
+ }
33
+ export interface CascadeSelectColumnProps {
34
+ readonly depth: number;
35
+ readonly label?: string;
36
+ readonly as?: PrimitiveAs;
37
+ readonly asChild?: boolean;
38
+ }
39
+ export interface CascadeSelectColumnSlotProps {
40
+ readonly depth: number;
41
+ readonly items: readonly string[];
42
+ readonly parentValue: string | null;
43
+ }
44
+ export interface CascadeSelectItemProps {
45
+ readonly value: string;
46
+ readonly disabled?: boolean;
47
+ readonly as?: PrimitiveAs;
48
+ readonly asChild?: boolean;
49
+ }
50
+ export interface CascadeSelectItemSlotProps {
51
+ readonly value: string;
52
+ readonly selected: boolean;
53
+ readonly highlighted: boolean;
54
+ readonly expanded: boolean;
55
+ readonly branch: boolean;
56
+ readonly disabled: boolean;
57
+ }
58
+ export interface CascadeSelectPartProps {
59
+ readonly as?: PrimitiveAs;
60
+ readonly asChild?: boolean;
61
+ }
62
+ export declare const CascadeSelectRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
63
+ nodes: {
64
+ type: PropType<readonly CascadeSelectItemDefinition<string>[]>;
65
+ required: true;
66
+ };
67
+ modelValue: {
68
+ type: PropType<string | null>;
69
+ default: undefined;
70
+ };
71
+ defaultValue: {
72
+ type: PropType<string | null>;
73
+ default: null;
74
+ };
75
+ open: {
76
+ type: BooleanConstructor;
77
+ default: undefined;
78
+ };
79
+ defaultOpen: {
80
+ type: BooleanConstructor;
81
+ default: boolean;
82
+ };
83
+ disabledItems: {
84
+ type: PropType<readonly string[]>;
85
+ default: () => never[];
86
+ };
87
+ disabled: {
88
+ type: BooleanConstructor;
89
+ default: boolean;
90
+ };
91
+ readonly: {
92
+ type: BooleanConstructor;
93
+ default: boolean;
94
+ };
95
+ label: {
96
+ type: StringConstructor;
97
+ default: undefined;
98
+ };
99
+ name: {
100
+ type: StringConstructor;
101
+ default: undefined;
102
+ };
103
+ form: {
104
+ type: StringConstructor;
105
+ default: undefined;
106
+ };
107
+ required: {
108
+ type: BooleanConstructor;
109
+ default: boolean;
110
+ };
111
+ textValue: {
112
+ type: PropType<CascadeSelectTextValueResolver>;
113
+ default: undefined;
114
+ };
115
+ policies: {
116
+ type: PropType<CascadeSelectPolicies<string>>;
117
+ default: undefined;
118
+ };
119
+ as: {
120
+ type: PropType<PrimitiveAs>;
121
+ default: string;
122
+ };
123
+ asChild: {
124
+ type: BooleanConstructor;
125
+ default: boolean;
126
+ };
127
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
128
+ 'update:modelValue': (_value: string | null) => boolean;
129
+ 'update:open': (_value: boolean) => boolean;
130
+ highlight: (_value: string | null) => boolean;
131
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
132
+ nodes: {
133
+ type: PropType<readonly CascadeSelectItemDefinition<string>[]>;
134
+ required: true;
135
+ };
136
+ modelValue: {
137
+ type: PropType<string | null>;
138
+ default: undefined;
139
+ };
140
+ defaultValue: {
141
+ type: PropType<string | null>;
142
+ default: null;
143
+ };
144
+ open: {
145
+ type: BooleanConstructor;
146
+ default: undefined;
147
+ };
148
+ defaultOpen: {
149
+ type: BooleanConstructor;
150
+ default: boolean;
151
+ };
152
+ disabledItems: {
153
+ type: PropType<readonly string[]>;
154
+ default: () => never[];
155
+ };
156
+ disabled: {
157
+ type: BooleanConstructor;
158
+ default: boolean;
159
+ };
160
+ readonly: {
161
+ type: BooleanConstructor;
162
+ default: boolean;
163
+ };
164
+ label: {
165
+ type: StringConstructor;
166
+ default: undefined;
167
+ };
168
+ name: {
169
+ type: StringConstructor;
170
+ default: undefined;
171
+ };
172
+ form: {
173
+ type: StringConstructor;
174
+ default: undefined;
175
+ };
176
+ required: {
177
+ type: BooleanConstructor;
178
+ default: boolean;
179
+ };
180
+ textValue: {
181
+ type: PropType<CascadeSelectTextValueResolver>;
182
+ default: undefined;
183
+ };
184
+ policies: {
185
+ type: PropType<CascadeSelectPolicies<string>>;
186
+ default: undefined;
187
+ };
188
+ as: {
189
+ type: PropType<PrimitiveAs>;
190
+ default: string;
191
+ };
192
+ asChild: {
193
+ type: BooleanConstructor;
194
+ default: boolean;
195
+ };
196
+ }>> & Readonly<{
197
+ onHighlight?: (_value: string | null) => any;
198
+ "onUpdate:modelValue"?: (_value: string | null) => any;
199
+ "onUpdate:open"?: (_value: boolean) => any;
200
+ }>, {
201
+ modelValue: string | null;
202
+ defaultValue: string | null;
203
+ open: boolean;
204
+ defaultOpen: boolean;
205
+ disabledItems: readonly string[];
206
+ disabled: boolean;
207
+ readonly: boolean;
208
+ label: string;
209
+ name: string;
210
+ form: string;
211
+ required: boolean;
212
+ textValue: (id: string) => string;
213
+ policies: CascadeSelectPolicies<string>;
214
+ as: PrimitiveAs;
215
+ asChild: boolean;
216
+ }, SlotsType<{
217
+ default: (props: CascadeSelectRootSlotProps) => VNodeChild;
218
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
219
+ export type CascadeSelectValueChangeHandler = (value: string | null) => void;
220
+ export type CascadeSelectOpenChangeHandler = (value: boolean) => void;
221
+ export type CascadeSelectHighlightHandler = (value: string | null) => void;
222
+ export declare const CascadeSelectTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
223
+ as: {
224
+ type: PropType<PrimitiveAs>;
225
+ default: string;
226
+ };
227
+ asChild: {
228
+ type: BooleanConstructor;
229
+ default: boolean;
230
+ };
231
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
232
+ as: {
233
+ type: PropType<PrimitiveAs>;
234
+ default: string;
235
+ };
236
+ asChild: {
237
+ type: BooleanConstructor;
238
+ default: boolean;
239
+ };
240
+ }>> & Readonly<{}>, {
241
+ as: PrimitiveAs;
242
+ asChild: boolean;
243
+ }, SlotsType<{
244
+ default: (props: CascadeSelectRootSlotProps) => VNodeChild;
245
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
246
+ export declare const CascadeSelectValue: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
247
+ as: {
248
+ type: PropType<PrimitiveAs>;
249
+ default: string;
250
+ };
251
+ asChild: {
252
+ type: BooleanConstructor;
253
+ default: boolean;
254
+ };
255
+ placeholder: {
256
+ type: StringConstructor;
257
+ default: string;
258
+ };
259
+ separator: {
260
+ type: StringConstructor;
261
+ default: string;
262
+ };
263
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
264
+ as: {
265
+ type: PropType<PrimitiveAs>;
266
+ default: string;
267
+ };
268
+ asChild: {
269
+ type: BooleanConstructor;
270
+ default: boolean;
271
+ };
272
+ placeholder: {
273
+ type: StringConstructor;
274
+ default: string;
275
+ };
276
+ separator: {
277
+ type: StringConstructor;
278
+ default: string;
279
+ };
280
+ }>> & Readonly<{}>, {
281
+ as: PrimitiveAs;
282
+ asChild: boolean;
283
+ placeholder: string;
284
+ separator: string;
285
+ }, SlotsType<{
286
+ default: (props: CascadeSelectRootSlotProps) => VNodeChild;
287
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
288
+ export declare const CascadeSelectContent: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
289
+ as: {
290
+ type: PropType<PrimitiveAs>;
291
+ default: string;
292
+ };
293
+ asChild: {
294
+ type: BooleanConstructor;
295
+ default: boolean;
296
+ };
297
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
298
+ as: {
299
+ type: PropType<PrimitiveAs>;
300
+ default: string;
301
+ };
302
+ asChild: {
303
+ type: BooleanConstructor;
304
+ default: boolean;
305
+ };
306
+ }>> & Readonly<{}>, {
307
+ as: PrimitiveAs;
308
+ asChild: boolean;
309
+ }, SlotsType<{
310
+ default: (props: CascadeSelectRootSlotProps) => VNodeChild;
311
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
312
+ export declare const CascadeSelectColumn: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
313
+ depth: {
314
+ type: NumberConstructor;
315
+ required: true;
316
+ };
317
+ label: {
318
+ type: StringConstructor;
319
+ default: undefined;
320
+ };
321
+ as: {
322
+ type: PropType<PrimitiveAs>;
323
+ default: string;
324
+ };
325
+ asChild: {
326
+ type: BooleanConstructor;
327
+ default: boolean;
328
+ };
329
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
330
+ depth: {
331
+ type: NumberConstructor;
332
+ required: true;
333
+ };
334
+ label: {
335
+ type: StringConstructor;
336
+ default: undefined;
337
+ };
338
+ as: {
339
+ type: PropType<PrimitiveAs>;
340
+ default: string;
341
+ };
342
+ asChild: {
343
+ type: BooleanConstructor;
344
+ default: boolean;
345
+ };
346
+ }>> & Readonly<{}>, {
347
+ label: string;
348
+ as: PrimitiveAs;
349
+ asChild: boolean;
350
+ }, SlotsType<{
351
+ default: (props: CascadeSelectColumnSlotProps) => VNodeChild;
352
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
353
+ export declare const CascadeSelectItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
354
+ value: {
355
+ type: StringConstructor;
356
+ required: true;
357
+ };
358
+ disabled: {
359
+ type: BooleanConstructor;
360
+ default: boolean;
361
+ };
362
+ as: {
363
+ type: PropType<PrimitiveAs>;
364
+ default: string;
365
+ };
366
+ asChild: {
367
+ type: BooleanConstructor;
368
+ default: boolean;
369
+ };
370
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
371
+ value: {
372
+ type: StringConstructor;
373
+ required: true;
374
+ };
375
+ disabled: {
376
+ type: BooleanConstructor;
377
+ default: boolean;
378
+ };
379
+ as: {
380
+ type: PropType<PrimitiveAs>;
381
+ default: string;
382
+ };
383
+ asChild: {
384
+ type: BooleanConstructor;
385
+ default: boolean;
386
+ };
387
+ }>> & Readonly<{}>, {
388
+ disabled: boolean;
389
+ as: PrimitiveAs;
390
+ asChild: boolean;
391
+ }, SlotsType<{
392
+ default: (props: CascadeSelectItemSlotProps) => VNodeChild;
393
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
394
+ export declare const CascadeSelectItemIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
395
+ as: {
396
+ type: PropType<PrimitiveAs>;
397
+ default: string;
398
+ };
399
+ asChild: {
400
+ type: BooleanConstructor;
401
+ default: boolean;
402
+ };
403
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
404
+ as: {
405
+ type: PropType<PrimitiveAs>;
406
+ default: string;
407
+ };
408
+ asChild: {
409
+ type: BooleanConstructor;
410
+ default: boolean;
411
+ };
412
+ }>> & Readonly<{}>, {
413
+ as: PrimitiveAs;
414
+ asChild: boolean;
415
+ }, SlotsType<{
416
+ default: (props: CascadeSelectItemSlotProps) => VNodeChild;
417
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
418
+ export declare const CascadeSelectItemChevron: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
419
+ as: {
420
+ type: PropType<PrimitiveAs>;
421
+ default: string;
422
+ };
423
+ asChild: {
424
+ type: BooleanConstructor;
425
+ default: boolean;
426
+ };
427
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
428
+ as: {
429
+ type: PropType<PrimitiveAs>;
430
+ default: string;
431
+ };
432
+ asChild: {
433
+ type: BooleanConstructor;
434
+ default: boolean;
435
+ };
436
+ }>> & Readonly<{}>, {
437
+ as: PrimitiveAs;
438
+ asChild: boolean;
439
+ }, SlotsType<{
440
+ default: (props: CascadeSelectItemSlotProps) => VNodeChild;
441
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
442
+ //# sourceMappingURL=cascade-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascade-select.d.ts","sourceRoot":"","sources":["../src/cascade-select.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { computed, defineComponent, h, inject, mergeProps, onBeforeUnmount, onMounted, provide, shallowRef, watch, } from 'vue';
2
+ import { createCascadeSelect, } from '@sectile/dom/cascade-select';
3
+ import { Primitive } from './primitive.js';
4
+ import { visuallyHiddenInputStyle } from './internal/native-input.js';
5
+ import { provideFormControlOwner } from './form.js';
6
+ import { hiddenSelectSubmissionCapabilities, useCompositeFormControl, } from './internal/form-control.js';
7
+ const rootKey = Symbol('SectileCascadeSelectRoot');
8
+ const itemKey = Symbol('SectileCascadeSelectItem');
9
+ const partProps = { as: { type: [String, Object, Function], default: 'span' }, asChild: { type: Boolean, default: false } };
10
+ export const CascadeSelectRoot = defineComponent({
11
+ name: 'SectileCascadeSelectRoot', inheritAttrs: false,
12
+ props: {
13
+ nodes: { type: Array, required: true }, modelValue: { type: String, default: undefined }, defaultValue: { type: String, default: null },
14
+ open: { type: Boolean, default: undefined }, defaultOpen: { type: Boolean, default: false }, disabledItems: { type: Array, default: () => [] },
15
+ disabled: { type: Boolean, default: false }, readonly: { type: Boolean, default: false }, label: { type: String, default: undefined }, name: { type: String, default: undefined }, form: { type: String, default: undefined }, required: { type: Boolean, default: false },
16
+ textValue: { type: Function, default: undefined }, policies: { type: Object, default: undefined },
17
+ as: { type: [String, Object, Function], default: 'div' }, asChild: { type: Boolean, default: false },
18
+ },
19
+ emits: { 'update:modelValue': (_value) => true, 'update:open': (_value) => true, highlight: (_value) => true },
20
+ slots: Object,
21
+ setup(props, { attrs, emit, slots }) {
22
+ const root = shallowRef(null);
23
+ const trigger = shallowRef(null);
24
+ const popup = shallowRef();
25
+ const submission = shallowRef(null);
26
+ const connection = shallowRef();
27
+ const participation = useCompositeFormControl({
28
+ root,
29
+ focusTarget: trigger,
30
+ submissions: [{
31
+ element: submission,
32
+ capabilities: hiddenSelectSubmissionCapabilities,
33
+ }],
34
+ });
35
+ provideFormControlOwner();
36
+ const localValue = shallowRef(props.modelValue !== undefined ? props.modelValue : props.defaultValue);
37
+ const initialValuePath = itemPath(props.nodes, localValue.value);
38
+ const initialBranchPath = initialValuePath.slice(0, -1);
39
+ const localOpen = shallowRef(props.open ?? props.defaultOpen);
40
+ const highlighted = shallowRef(localValue.value);
41
+ const path = shallowRef(initialBranchPath);
42
+ const columns = shallowRef(initialColumns(props.nodes, initialBranchPath));
43
+ const valuePath = shallowRef(initialValuePath);
44
+ const valueControlled = props.modelValue !== undefined;
45
+ const openControlled = props.open !== undefined;
46
+ const state = computed(() => Object.freeze({ value: props.modelValue !== undefined ? props.modelValue : localValue.value, valuePath: valuePath.value, highlightedValue: highlighted.value, path: path.value, columns: columns.value, open: props.open ?? localOpen.value, disabled: props.disabled, readonly: props.readonly }));
47
+ const refresh = () => { const current = connection.value?.getSnapshot().state; if (current === undefined)
48
+ return; localValue.value = current.value; localOpen.value = current.open; highlighted.value = current.highlighted; path.value = current.path; columns.value = connection.value?.getColumns() ?? []; valuePath.value = connection.value?.getValuePath() ?? []; refreshItems(); };
49
+ const refreshItems = () => { if (popup.value === undefined || connection.value === undefined)
50
+ return; popup.value.querySelectorAll('[data-sectile-cascade-select-id]').forEach((element) => { const id = element.dataset['sectileCascadeSelectId']; if (id !== undefined)
51
+ connection.value?.setItemAttributes(element, id, props.disabledItems.includes(id)); }); };
52
+ const connect = () => { connection.value?.disconnect(); if (root.value === null || trigger.value === null || popup.value === undefined)
53
+ return; connection.value = createCascadeSelect({ root: root.value, trigger: trigger.value, popup: popup.value, nodes: props.nodes, disabledItems: props.disabledItems, ...(props.policies === undefined ? {} : { policies: props.policies }), ...(valueControlled ? { value: props.modelValue } : { defaultValue: localValue.value }), ...(openControlled ? { open: props.open } : { defaultOpen: localOpen.value }), disabled: props.disabled, readOnly: props.readonly, ...(props.label === undefined ? {} : { label: props.label }), onValueChange: (value) => { localValue.value = value; emit('update:modelValue', value); }, onHighlightedValueChange: (value) => { highlighted.value = value; emit('highlight', value); }, onOpenChange: (value) => { localOpen.value = value; emit('update:open', value); }, onUpdate: refresh }); refresh(); };
54
+ const branches = computed(() => new Set(props.nodes.filter((node) => props.nodes.some((candidate) => candidate.parentID === node.id)).map((node) => node.id)));
55
+ provide(rootKey, { state, label: computed(() => props.label), textValue: computed(() => props.textValue ?? ((id) => id)), disabledItems: computed(() => new Set(props.disabledItems)), branchItems: branches, registerTrigger: (element) => { trigger.value = element ?? null; }, registerPopup: (element) => { popup.value = element; }, registerColumn: (element, depth) => connection.value?.setColumnAttributes(element, depth === 0 ? null : state.value.path[depth - 1] ?? null), registerItem: (element, id, disabled) => connection.value?.setItemAttributes(element, id, disabled) });
56
+ onMounted(connect);
57
+ onBeforeUnmount(() => connection.value?.disconnect());
58
+ watch([() => props.nodes, () => props.disabledItems, () => props.disabled, () => props.readonly, () => props.label, () => props.policies], connect);
59
+ watch([() => props.modelValue, () => props.open], () => { if (connection.value === undefined)
60
+ return; const result = connection.value.syncControlledValues({ ...(valueControlled ? { value: props.modelValue } : {}), ...(openControlled ? { open: props.open } : {}) }); if (!result.ok)
61
+ throw new TypeError(result.error.message); refresh(); });
62
+ return () => {
63
+ const visual = h(Primitive, mergeProps(attrs, {
64
+ as: props.as,
65
+ asChild: props.asChild,
66
+ elementRef: (node) => { root.value = node instanceof HTMLElement ? node : null; },
67
+ 'data-scope': 'cascade-select',
68
+ 'data-part': 'root',
69
+ 'data-state': state.value.open ? 'open' : 'closed',
70
+ }, participation.controlProps.value), { default: () => slots['default']?.(state.value) });
71
+ if (!participation.participating && props.name === undefined && props.form === undefined && !props.required)
72
+ return visual;
73
+ return [visual, h('select', {
74
+ ref: (element) => { submission.value = element instanceof HTMLSelectElement ? element : null; },
75
+ name: props.name,
76
+ form: props.form,
77
+ required: props.required,
78
+ disabled: props.disabled,
79
+ value: state.value.value ?? '',
80
+ tabindex: -1,
81
+ 'aria-hidden': 'true',
82
+ style: visuallyHiddenInputStyle,
83
+ }, [h('option', { value: '' }), ...props.nodes.filter((node) => !branches.value.has(node.id)).map((node) => h('option', { value: node.id, disabled: props.disabledItems.includes(node.id) }, props.textValue?.(node.id) ?? node.id))])];
84
+ };
85
+ },
86
+ });
87
+ export const CascadeSelectTrigger = defineComponent({ name: 'SectileCascadeSelectTrigger', inheritAttrs: false, props: { as: { type: [String, Object, Function], default: 'button' }, asChild: { type: Boolean, default: false } }, slots: Object, setup(props, { attrs, slots }) { const root = useRoot('CascadeSelectTrigger'); return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, elementRef: (node) => root.registerTrigger(node instanceof HTMLButtonElement ? node : undefined), type: props.as === 'button' ? 'button' : undefined, disabled: root.state.value.disabled, 'aria-haspopup': 'listbox', 'aria-expanded': String(root.state.value.open), 'data-scope': 'cascade-select', 'data-part': 'trigger', 'data-state': root.state.value.open ? 'open' : 'closed' }), { default: () => slots['default']?.(root.state.value) }); } });
88
+ export const CascadeSelectValue = defineComponent({ name: 'SectileCascadeSelectValue', inheritAttrs: false, props: { placeholder: { type: String, default: '' }, separator: { type: String, default: ' / ' }, ...partProps }, slots: Object, setup(props, { attrs, slots }) { const root = useRoot('CascadeSelectValue'); return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, 'data-scope': 'cascade-select', 'data-part': 'value', 'data-placeholder': root.state.value.value === null ? '' : undefined }), { default: () => slots['default']?.(root.state.value) ?? (root.state.value.value === null ? props.placeholder : root.state.value.valuePath.map(root.textValue.value).join(props.separator)) }); } });
89
+ export const CascadeSelectContent = defineComponent({ name: 'SectileCascadeSelectContent', inheritAttrs: false, props: { as: { type: [String, Object, Function], default: 'div' }, asChild: { type: Boolean, default: false } }, slots: Object, setup(props, { attrs, slots }) { const root = useRoot('CascadeSelectContent'); return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, elementRef: (node) => root.registerPopup(node instanceof HTMLElement ? node : undefined), role: 'group', hidden: !root.state.value.open, 'aria-label': root.label.value, 'data-scope': 'cascade-select', 'data-part': 'content', 'data-state': root.state.value.open ? 'open' : 'closed' }), { default: () => slots['default']?.(root.state.value) }); } });
90
+ export const CascadeSelectColumn = defineComponent({ name: 'SectileCascadeSelectColumn', inheritAttrs: false, props: { depth: { type: Number, required: true }, label: { type: String, default: undefined }, as: { type: [String, Object, Function], default: 'div' }, asChild: { type: Boolean, default: false } }, slots: Object, setup(props, { attrs, slots }) { const root = useRoot('CascadeSelectColumn'); const state = computed(() => ({ depth: props.depth, items: root.state.value.columns[props.depth] ?? [], parentValue: props.depth === 0 ? null : root.state.value.path[props.depth - 1] ?? null })); return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, elementRef: (node) => { if (node instanceof HTMLElement)
91
+ root.registerColumn(node, props.depth); }, role: 'listbox', 'aria-label': props.label, hidden: state.value.items.length === 0, 'data-scope': 'cascade-select', 'data-part': 'column', 'data-depth': String(props.depth) }), { default: () => slots['default']?.(state.value) }); } });
92
+ export const CascadeSelectItem = defineComponent({ name: 'SectileCascadeSelectItem', inheritAttrs: false, props: { value: { type: String, required: true }, disabled: { type: Boolean, default: false }, as: { type: [String, Object, Function], default: 'div' }, asChild: { type: Boolean, default: false } }, slots: Object, setup(props, { attrs, slots }) { const root = useRoot('CascadeSelectItem'); const state = computed(() => ({ value: props.value, selected: root.state.value.value === props.value, highlighted: root.state.value.highlightedValue === props.value, expanded: root.state.value.path.includes(props.value), branch: root.branchItems.value.has(props.value), disabled: root.state.value.disabled || props.disabled || root.disabledItems.value.has(props.value) })); provide(itemKey, { state }); return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, elementRef: (node) => { if (node instanceof HTMLElement)
93
+ root.registerItem(node, props.value, state.value.disabled); }, role: 'option', 'aria-selected': String(state.value.selected), 'aria-disabled': state.value.disabled ? 'true' : undefined, 'aria-haspopup': state.value.branch ? 'listbox' : undefined, 'data-sectile-cascade-select-id': props.value, 'data-scope': 'cascade-select', 'data-part': 'item', 'data-selected': state.value.selected ? '' : undefined, 'data-highlighted': state.value.highlighted ? '' : undefined, 'data-expanded': state.value.expanded ? '' : undefined }), { default: () => slots['default']?.(state.value) }); } });
94
+ export const CascadeSelectItemIndicator = defineComponent({ name: 'SectileCascadeSelectItemIndicator', inheritAttrs: false, props: partProps, slots: Object, setup(props, { attrs, slots }) { const item = useItem('CascadeSelectItemIndicator'); return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, hidden: !item.state.value.selected, 'aria-hidden': 'true', 'data-scope': 'cascade-select', 'data-part': 'item-indicator' }), { default: () => slots['default']?.(item.state.value) }); } });
95
+ export const CascadeSelectItemChevron = defineComponent({ name: 'SectileCascadeSelectItemChevron', inheritAttrs: false, props: partProps, slots: Object, setup(props, { attrs, slots }) { const item = useItem('CascadeSelectItemChevron'); return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, hidden: !item.state.value.branch, 'aria-hidden': 'true', 'data-scope': 'cascade-select', 'data-part': 'item-chevron' }), { default: () => slots['default']?.(item.state.value) }); } });
96
+ function useRoot(part) { const root = inject(rootKey); if (root === undefined)
97
+ throw new TypeError(`${part} must be used inside CascadeSelectRoot.`); return root; }
98
+ function useItem(part) { const item = inject(itemKey); if (item === undefined)
99
+ throw new TypeError(`${part} must be used inside CascadeSelectItem.`); return item; }
100
+ function initialColumns(nodes, path = []) { const columns = [nodes.filter((node) => node.parentID === null).map((node) => node.id)]; for (const id of path) {
101
+ const children = nodes.filter((node) => node.parentID === id).map((node) => node.id);
102
+ if (children.length > 0)
103
+ columns.push(children);
104
+ } return columns; }
105
+ function itemPath(nodes, value) { if (value === null)
106
+ return []; const parents = new Map(nodes.map((node) => [node.id, node.parentID])); if (!parents.has(value))
107
+ return []; const path = [value]; let current = parents.get(value) ?? null; while (current !== null) {
108
+ path.push(current);
109
+ current = parents.get(current) ?? null;
110
+ } return path.reverse(); }
111
+ //# sourceMappingURL=cascade-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascade-select.js","sourceRoot":"","sources":["../src/cascade-select.ts"],"names":[],"mappings":"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"}