@wirekyt/solid 0.0.1 → 0.0.2

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 (207) hide show
  1. package/dist/accordion.d.ts +68 -0
  2. package/dist/accordion.js +168 -0
  3. package/dist/accordion.jsx +143 -0
  4. package/dist/angle-slider.d.ts +72 -0
  5. package/dist/angle-slider.js +141 -0
  6. package/dist/angle-slider.jsx +130 -0
  7. package/dist/avatar.d.ts +47 -0
  8. package/dist/avatar.js +86 -0
  9. package/dist/avatar.jsx +79 -0
  10. package/dist/carousel.d.ts +92 -0
  11. package/dist/carousel.js +189 -0
  12. package/dist/carousel.jsx +174 -0
  13. package/dist/checkbox.d.ts +140 -0
  14. package/dist/checkbox.js +252 -0
  15. package/dist/checkbox.jsx +234 -0
  16. package/dist/client-only.d.ts +9 -0
  17. package/dist/client-only.js +22 -0
  18. package/dist/client-only.jsx +13 -0
  19. package/dist/clipboard.d.ts +70 -0
  20. package/dist/clipboard.js +137 -0
  21. package/dist/clipboard.jsx +120 -0
  22. package/dist/collapsible-BwNoH1At.jsx +106 -0
  23. package/dist/collapsible-Dp8aqjtN.js +118 -0
  24. package/dist/collapsible.d.ts +58 -0
  25. package/dist/collapsible.js +2 -0
  26. package/dist/collapsible.jsx +2 -0
  27. package/dist/collection-By8qgqkx.js +213 -0
  28. package/dist/collection-Mkvw6TyT.jsx +213 -0
  29. package/dist/collection.d.ts +2 -0
  30. package/dist/collection.js +2 -0
  31. package/dist/collection.jsx +2 -0
  32. package/dist/color-picker.d.ts +179 -0
  33. package/dist/color-picker.js +457 -0
  34. package/dist/color-picker.jsx +395 -0
  35. package/dist/combobox.d.ts +128 -0
  36. package/dist/combobox.js +326 -0
  37. package/dist/combobox.jsx +284 -0
  38. package/dist/core-7QKBNp9p.js +485 -0
  39. package/dist/core-7QKBNp9p.jsx +485 -0
  40. package/dist/date-input.d.ts +68 -0
  41. package/dist/date-input.js +178 -0
  42. package/dist/date-input.jsx +163 -0
  43. package/dist/date-picker.d.ts +191 -0
  44. package/dist/date-picker.js +506 -0
  45. package/dist/date-picker.jsx +430 -0
  46. package/dist/dialog.d.ts +77 -0
  47. package/dist/dialog.js +205 -0
  48. package/dist/dialog.jsx +159 -0
  49. package/dist/download-trigger.d.ts +22 -0
  50. package/dist/download-trigger.js +55 -0
  51. package/dist/download-trigger.jsx +51 -0
  52. package/dist/drawer.d.ts +114 -0
  53. package/dist/drawer.js +291 -0
  54. package/dist/drawer.jsx +237 -0
  55. package/dist/editable.d.ts +77 -0
  56. package/dist/editable.js +171 -0
  57. package/dist/editable.jsx +162 -0
  58. package/dist/factory-D2A7xdtl.js +34 -0
  59. package/dist/factory-DRw_slzE.jsx +34 -0
  60. package/dist/factory-wuwfJqbU.d.ts +15 -0
  61. package/dist/field-CQr_Dibp.js +317 -0
  62. package/dist/field-R5jVNdtK.jsx +282 -0
  63. package/dist/field.d.ts +194 -0
  64. package/dist/field.js +2 -0
  65. package/dist/field.jsx +2 -0
  66. package/dist/fieldset-5shfE0Z5.jsx +155 -0
  67. package/dist/fieldset-D5teGLZ9.js +170 -0
  68. package/dist/fieldset.d.ts +98 -0
  69. package/dist/fieldset.js +2 -0
  70. package/dist/fieldset.jsx +2 -0
  71. package/dist/file-upload.d.ts +100 -0
  72. package/dist/file-upload.js +254 -0
  73. package/dist/file-upload.jsx +232 -0
  74. package/dist/floating-panel.d.ts +97 -0
  75. package/dist/floating-panel.js +231 -0
  76. package/dist/floating-panel.jsx +199 -0
  77. package/dist/focus-trap.d.ts +12 -0
  78. package/dist/focus-trap.js +30 -0
  79. package/dist/focus-trap.jsx +26 -0
  80. package/dist/format.d.ts +32 -0
  81. package/dist/format.js +50 -0
  82. package/dist/format.jsx +53 -0
  83. package/dist/frame.d.ts +12 -0
  84. package/dist/frame.js +119 -0
  85. package/dist/frame.jsx +83 -0
  86. package/dist/image-cropper.d.ts +62 -0
  87. package/dist/image-cropper.js +137 -0
  88. package/dist/image-cropper.jsx +130 -0
  89. package/dist/index-B17eqq14.d.ts +32 -0
  90. package/dist/index-BZHmHI7d.d.ts +142 -0
  91. package/dist/index-CANuc1X0.d.ts +81 -0
  92. package/dist/index-CJwZCGOS.d.ts +75 -0
  93. package/dist/index-ClU-Lb8Z.d.ts +23 -0
  94. package/dist/index-J9N2CBHP.d.ts +21 -0
  95. package/dist/index.d.ts +5 -0
  96. package/dist/index.js +5 -0
  97. package/dist/index.jsx +5 -0
  98. package/dist/json-tree-view.d.ts +50 -0
  99. package/dist/json-tree-view.js +330 -0
  100. package/dist/json-tree-view.jsx +201 -0
  101. package/dist/listbox.d.ts +109 -0
  102. package/dist/listbox.js +237 -0
  103. package/dist/listbox.jsx +212 -0
  104. package/dist/marquee.d.ts +57 -0
  105. package/dist/marquee.js +125 -0
  106. package/dist/marquee.jsx +113 -0
  107. package/dist/menu.d.ts +158 -0
  108. package/dist/menu.js +441 -0
  109. package/dist/menu.jsx +362 -0
  110. package/dist/navigation-menu.d.ts +88 -0
  111. package/dist/navigation-menu.js +289 -0
  112. package/dist/navigation-menu.jsx +228 -0
  113. package/dist/number-input.d.ts +72 -0
  114. package/dist/number-input.js +166 -0
  115. package/dist/number-input.jsx +157 -0
  116. package/dist/pagination.d.ts +67 -0
  117. package/dist/pagination.js +131 -0
  118. package/dist/pagination.jsx +124 -0
  119. package/dist/password-input.d.ts +64 -0
  120. package/dist/password-input.js +144 -0
  121. package/dist/password-input.jsx +125 -0
  122. package/dist/pin-input.d.ts +57 -0
  123. package/dist/pin-input.js +138 -0
  124. package/dist/pin-input.jsx +129 -0
  125. package/dist/popover.d.ts +92 -0
  126. package/dist/popover.js +206 -0
  127. package/dist/popover.jsx +174 -0
  128. package/dist/presence-9UGkuyfn.jsx +59 -0
  129. package/dist/presence-CE6lXCu5.js +72 -0
  130. package/dist/presence.d.ts +2 -0
  131. package/dist/presence.js +2 -0
  132. package/dist/presence.jsx +2 -0
  133. package/dist/progress.d.ts +77 -0
  134. package/dist/progress.js +146 -0
  135. package/dist/progress.jsx +137 -0
  136. package/dist/providers-B-Vi5wQ7.js +124 -0
  137. package/dist/providers-CqNHqLpB.jsx +110 -0
  138. package/dist/qr-code.d.ts +57 -0
  139. package/dist/qr-code.js +111 -0
  140. package/dist/qr-code.jsx +104 -0
  141. package/dist/radio-group.d.ts +77 -0
  142. package/dist/radio-group.js +170 -0
  143. package/dist/radio-group.jsx +157 -0
  144. package/dist/rating-group.d.ts +67 -0
  145. package/dist/rating-group.js +142 -0
  146. package/dist/rating-group.jsx +131 -0
  147. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  148. package/dist/rolldown-runtime-D7D4PA-g.jsx +13 -0
  149. package/dist/run-if-fn-CjvD7VzQ.js +5 -0
  150. package/dist/run-if-fn-CjvD7VzQ.jsx +5 -0
  151. package/dist/scroll-area.d.ts +61 -0
  152. package/dist/scroll-area.js +119 -0
  153. package/dist/scroll-area.jsx +109 -0
  154. package/dist/segment-group.d.ts +80 -0
  155. package/dist/segment-group.js +166 -0
  156. package/dist/segment-group.jsx +153 -0
  157. package/dist/select.d.ts +132 -0
  158. package/dist/select.js +337 -0
  159. package/dist/select.jsx +283 -0
  160. package/dist/signature-pad.d.ts +67 -0
  161. package/dist/signature-pad.js +159 -0
  162. package/dist/signature-pad.jsx +141 -0
  163. package/dist/slider.d.ts +87 -0
  164. package/dist/slider.js +191 -0
  165. package/dist/slider.jsx +179 -0
  166. package/dist/splitter.d.ts +57 -0
  167. package/dist/splitter.js +126 -0
  168. package/dist/splitter.jsx +116 -0
  169. package/dist/steps.d.ts +100 -0
  170. package/dist/steps.js +199 -0
  171. package/dist/steps.jsx +184 -0
  172. package/dist/swap.d.ts +51 -0
  173. package/dist/swap.js +123 -0
  174. package/dist/swap.jsx +106 -0
  175. package/dist/switch.d.ts +57 -0
  176. package/dist/switch.js +125 -0
  177. package/dist/switch.jsx +116 -0
  178. package/dist/tabs.d.ts +58 -0
  179. package/dist/tabs.js +146 -0
  180. package/dist/tabs.jsx +122 -0
  181. package/dist/tags-input.d.ts +97 -0
  182. package/dist/tags-input.js +228 -0
  183. package/dist/tags-input.jsx +213 -0
  184. package/dist/timer.d.ts +62 -0
  185. package/dist/timer.js +119 -0
  186. package/dist/timer.jsx +110 -0
  187. package/dist/toast.d.ts +60 -0
  188. package/dist/toast.js +120 -0
  189. package/dist/toast.jsx +106 -0
  190. package/dist/toggle-group.d.ts +42 -0
  191. package/dist/toggle-group.js +87 -0
  192. package/dist/toggle-group.jsx +80 -0
  193. package/dist/toggle.d.ts +38 -0
  194. package/dist/toggle.js +73 -0
  195. package/dist/toggle.jsx +61 -0
  196. package/dist/tooltip.d.ts +67 -0
  197. package/dist/tooltip.js +159 -0
  198. package/dist/tooltip.jsx +127 -0
  199. package/dist/tour.d.ts +112 -0
  200. package/dist/tour.js +256 -0
  201. package/dist/tour.jsx +192 -0
  202. package/dist/tree-view-ATyeBPXq.js +290 -0
  203. package/dist/tree-view-CoWx7osT.jsx +265 -0
  204. package/dist/tree-view.d.ts +3 -0
  205. package/dist/tree-view.js +3 -0
  206. package/dist/tree-view.jsx +3 -0
  207. package/package.json +324 -6
package/dist/select.js ADDED
@@ -0,0 +1,337 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
+ import { a as mergeProps$2, d as createContext$1, i as useMachine, l as createSplitProps, r as normalizeProps, u as composeRefs } from "./core-7QKBNp9p.js";
3
+ import { t as runIfFn } from "./run-if-fn-CjvD7VzQ.js";
4
+ import { t as wire } from "./factory-D2A7xdtl.js";
5
+ import { a as useLocaleContext, l as useEnvironmentContext } from "./providers-B-Vi5wQ7.js";
6
+ import { h as useFieldContext } from "./field-CQr_Dibp.js";
7
+ import { n as useListCollection, o as createListCollection } from "./collection-By8qgqkx.js";
8
+ import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, t as PresenceProvider } from "./presence-CE6lXCu5.js";
9
+ import { Index, Show, createMemo, createUniqueId } from "solid-js";
10
+ import { createComponent, mergeProps as mergeProps$1 } from "solid-js/web";
11
+ import * as select from "@wirekyt/dom/machines/select";
12
+ import { anatomy as selectAnatomy } from "@wirekyt/dom/machines/select";
13
+ //#region src/components/select/use-context.ts
14
+ const [SelectProvider, useSelectContext] = createContext$1({
15
+ hookName: "useSelectContext",
16
+ providerName: "<SelectProvider />"
17
+ });
18
+ //#endregion
19
+ //#region src/components/select/clear-trigger.tsx
20
+ const SelectClearTrigger = (props) => {
21
+ const select = useSelectContext();
22
+ const mergedProps = mergeProps$2(() => select().getClearTriggerProps(), props);
23
+ return createComponent(wire.button, mergedProps);
24
+ };
25
+ //#endregion
26
+ //#region src/components/select/content.tsx
27
+ const SelectContent = (props) => {
28
+ const select = useSelectContext();
29
+ const presenceApi = usePresenceContext();
30
+ const mergedProps = mergeProps$2(() => select().getContentProps(), () => presenceApi().presenceProps, props);
31
+ return createComponent(Show, {
32
+ get when() {
33
+ return !presenceApi().unmounted;
34
+ },
35
+ get children() {
36
+ return createComponent(wire.div, mergeProps$1(mergedProps, { ref(r$) {
37
+ var _ref$ = composeRefs(presenceApi().ref, props.ref);
38
+ typeof _ref$ === "function" && _ref$(r$);
39
+ } }));
40
+ }
41
+ });
42
+ };
43
+ //#endregion
44
+ //#region src/components/select/context.tsx
45
+ const SelectContext = (props) => props.children(useSelectContext());
46
+ //#endregion
47
+ //#region src/components/select/control.tsx
48
+ const SelectControl = (props) => {
49
+ const select = useSelectContext();
50
+ const mergedProps = mergeProps$2(() => select().getControlProps(), props);
51
+ return createComponent(wire.div, mergedProps);
52
+ };
53
+ //#endregion
54
+ //#region src/components/select/hidden-select.tsx
55
+ const SelectHiddenSelect = (props) => {
56
+ const select = useSelectContext();
57
+ const mergedProps = mergeProps$2(() => select().getHiddenSelectProps(), props);
58
+ const isValueEmpty = createMemo(() => select().value.length === 0);
59
+ const field = useFieldContext();
60
+ return createComponent(wire.select, mergeProps$1({ get ["aria-describedby"]() {
61
+ return field?.().ariaDescribedby;
62
+ } }, mergedProps, { get children() {
63
+ return [createComponent(Show, {
64
+ get when() {
65
+ return isValueEmpty();
66
+ },
67
+ get children() {
68
+ return createComponent(wire.option, { value: "" });
69
+ }
70
+ }), createComponent(Index, {
71
+ get each() {
72
+ return select().collection.items;
73
+ },
74
+ children: (item) => createComponent(wire.option, {
75
+ get value() {
76
+ return select().collection.getItemValue(item()) ?? "";
77
+ },
78
+ get disabled() {
79
+ return select().collection.getItemDisabled(item());
80
+ },
81
+ get children() {
82
+ return select().collection.stringifyItem(item());
83
+ }
84
+ })
85
+ })];
86
+ } }));
87
+ };
88
+ //#endregion
89
+ //#region src/components/select/indicator.tsx
90
+ const SelectIndicator = (props) => {
91
+ const select = useSelectContext();
92
+ const mergedProps = mergeProps$2(() => select().getIndicatorProps(), props);
93
+ return createComponent(wire.div, mergedProps);
94
+ };
95
+ //#endregion
96
+ //#region src/components/select/use-item-context.ts
97
+ const [SelectItemProvider, useSelectItemContext] = createContext$1({
98
+ hookName: "useSelectItemContext",
99
+ providerName: "<SelectItemProvider />"
100
+ });
101
+ //#endregion
102
+ //#region src/components/select/use-item-props-context.ts
103
+ const [SelectItemPropsProvider, useSelectItemPropsContext] = createContext$1({
104
+ hookName: "useSelectItemPropsContext",
105
+ providerName: "<SelectItemPropsProvider />"
106
+ });
107
+ //#endregion
108
+ //#region src/components/select/item.tsx
109
+ const SelectItem = (props) => {
110
+ const [itemProps, localProps] = createSplitProps()(props, ["item", "persistFocus"]);
111
+ const select = useSelectContext();
112
+ const mergedProps = mergeProps$2(() => select().getItemProps(itemProps), localProps);
113
+ const itemState = createMemo(() => select().getItemState(itemProps));
114
+ return createComponent(SelectItemPropsProvider, {
115
+ value: itemProps,
116
+ get children() {
117
+ return createComponent(SelectItemProvider, {
118
+ value: itemState,
119
+ get children() {
120
+ return createComponent(wire.div, mergedProps);
121
+ }
122
+ });
123
+ }
124
+ });
125
+ };
126
+ //#endregion
127
+ //#region src/components/select/item-context.tsx
128
+ const SelectItemContext = (props) => props.children(useSelectItemContext());
129
+ //#endregion
130
+ //#region src/components/select/use-item-group-props-context.ts
131
+ const [SelectItemGroupPropsProvider, useSelectItemGroupPropsContext] = createContext$1({
132
+ hookName: "useSelectItemGroupPropsContext",
133
+ providerName: "<SelectItemGroupPropsProvider />"
134
+ });
135
+ //#endregion
136
+ //#region src/components/select/item-group.tsx
137
+ const SelectItemGroup = (props) => {
138
+ const [_itemGroupProps, localProps] = createSplitProps()(props, ["id"]);
139
+ const select = useSelectContext();
140
+ const itemGroupProps = mergeProps$2({ id: createUniqueId() }, _itemGroupProps);
141
+ const mergedProps = mergeProps$2(() => select().getItemGroupProps(itemGroupProps), localProps);
142
+ return createComponent(SelectItemGroupPropsProvider, {
143
+ value: itemGroupProps,
144
+ get children() {
145
+ return createComponent(wire.div, mergedProps);
146
+ }
147
+ });
148
+ };
149
+ //#endregion
150
+ //#region src/components/select/item-group-label.tsx
151
+ const SelectItemGroupLabel = (props) => {
152
+ const select = useSelectContext();
153
+ const itemGroupProps = useSelectItemGroupPropsContext();
154
+ const mergedProps = mergeProps$2(() => select().getItemGroupLabelProps({ htmlFor: itemGroupProps.id }), props);
155
+ return createComponent(wire.div, mergedProps);
156
+ };
157
+ //#endregion
158
+ //#region src/components/select/item-indicator.tsx
159
+ const SelectItemIndicator = (props) => {
160
+ const select = useSelectContext();
161
+ const itemProps = useSelectItemPropsContext();
162
+ const mergedProps = mergeProps$2(() => select().getItemIndicatorProps(itemProps), props);
163
+ return createComponent(wire.div, mergedProps);
164
+ };
165
+ //#endregion
166
+ //#region src/components/select/item-text.tsx
167
+ const SelectItemText = (props) => {
168
+ const select = useSelectContext();
169
+ const itemProps = useSelectItemPropsContext();
170
+ const mergedProps = mergeProps$2(() => select().getItemTextProps(itemProps), props);
171
+ return createComponent(wire.span, mergedProps);
172
+ };
173
+ //#endregion
174
+ //#region src/components/select/label.tsx
175
+ const SelectLabel = (props) => {
176
+ const select = useSelectContext();
177
+ const mergedProps = mergeProps$2(() => select().getLabelProps(), props);
178
+ return createComponent(wire.label, mergedProps);
179
+ };
180
+ //#endregion
181
+ //#region src/components/select/list.tsx
182
+ const SelectList = (props) => {
183
+ const select = useSelectContext();
184
+ const mergedProps = mergeProps$2(() => select().getListProps(), props);
185
+ return createComponent(wire.div, mergedProps);
186
+ };
187
+ //#endregion
188
+ //#region src/components/select/positioner.tsx
189
+ const SelectPositioner = (props) => {
190
+ const select = useSelectContext();
191
+ const presenceApi = usePresenceContext();
192
+ const mergedProps = mergeProps$2(() => select().getPositionerProps(), props);
193
+ return createComponent(Show, {
194
+ get when() {
195
+ return !presenceApi().unmounted;
196
+ },
197
+ get children() {
198
+ return createComponent(wire.div, mergedProps);
199
+ }
200
+ });
201
+ };
202
+ //#endregion
203
+ //#region src/components/select/use.ts
204
+ const useSelect = (props) => {
205
+ const id = createUniqueId();
206
+ const locale = useLocaleContext();
207
+ const environment = useEnvironmentContext();
208
+ const field = useFieldContext();
209
+ const machineProps = createMemo(() => ({
210
+ id,
211
+ ids: {
212
+ label: field?.().ids.label,
213
+ hiddenSelect: field?.().ids.control
214
+ },
215
+ disabled: field?.().disabled,
216
+ readOnly: field?.().readOnly,
217
+ invalid: field?.().invalid,
218
+ required: field?.().required,
219
+ dir: locale().dir,
220
+ getRootNode: environment().getRootNode,
221
+ ...runIfFn(props)
222
+ }));
223
+ const service = useMachine(select.machine, machineProps);
224
+ return createMemo(() => select.connect(service, normalizeProps));
225
+ };
226
+ //#endregion
227
+ //#region src/components/select/root.tsx
228
+ const SelectRoot = (props) => {
229
+ const [presenceProps, selectProps] = splitPresenceProps(props);
230
+ const [useSelectProps, localProps] = createSplitProps()(selectProps, [
231
+ "autoComplete",
232
+ "closeOnSelect",
233
+ "collection",
234
+ "composite",
235
+ "defaultHighlightedValue",
236
+ "defaultOpen",
237
+ "defaultValue",
238
+ "deselectable",
239
+ "disabled",
240
+ "form",
241
+ "highlightedValue",
242
+ "id",
243
+ "ids",
244
+ "invalid",
245
+ "loopFocus",
246
+ "multiple",
247
+ "name",
248
+ "onFocusOutside",
249
+ "onHighlightChange",
250
+ "onInteractOutside",
251
+ "onOpenChange",
252
+ "onPointerDownOutside",
253
+ "onSelect",
254
+ "onValueChange",
255
+ "open",
256
+ "positioning",
257
+ "readOnly",
258
+ "required",
259
+ "scrollToIndexFn",
260
+ "translations",
261
+ "value"
262
+ ]);
263
+ const select = useSelect(useSelectProps);
264
+ const presenceApi = usePresence(mergeProps$2(() => ({ present: select().open }), presenceProps));
265
+ const mergedProps = mergeProps$2(() => select().getRootProps(), localProps);
266
+ return createComponent(SelectProvider, {
267
+ value: select,
268
+ get children() {
269
+ return createComponent(PresenceProvider, {
270
+ value: presenceApi,
271
+ get children() {
272
+ return createComponent(wire.div, mergedProps);
273
+ }
274
+ });
275
+ }
276
+ });
277
+ };
278
+ //#endregion
279
+ //#region src/components/select/root-provider.tsx
280
+ const SelectRootProvider = (props) => {
281
+ const [presenceProps, selectProps] = splitPresenceProps(props);
282
+ const [{ value: select }, localProps] = createSplitProps()(selectProps, ["value"]);
283
+ const presence = usePresence(mergeProps$2(() => ({ present: select().open }), presenceProps));
284
+ const mergedProps = mergeProps$2(() => select().getRootProps(), localProps);
285
+ return createComponent(SelectProvider, {
286
+ value: select,
287
+ get children() {
288
+ return createComponent(PresenceProvider, {
289
+ value: presence,
290
+ get children() {
291
+ return createComponent(wire.div, mergedProps);
292
+ }
293
+ });
294
+ }
295
+ });
296
+ };
297
+ //#endregion
298
+ //#region src/components/select/trigger.tsx
299
+ const SelectTrigger = (props) => {
300
+ const select = useSelectContext();
301
+ const mergedProps = mergeProps$2(() => select().getTriggerProps(), props);
302
+ return createComponent(wire.button, mergedProps);
303
+ };
304
+ //#endregion
305
+ //#region src/components/select/value-text.tsx
306
+ const SelectValueText = (props) => {
307
+ const select = useSelectContext();
308
+ const mergedProps = mergeProps$2(() => select().getValueTextProps(), props);
309
+ return createComponent(wire.span, mergeProps$1(mergedProps, { get children() {
310
+ return select().valueAsString || props.placeholder;
311
+ } }));
312
+ };
313
+ //#endregion
314
+ //#region src/components/select/select.ts
315
+ var select_exports = /* @__PURE__ */ __exportAll({
316
+ ClearTrigger: () => SelectClearTrigger,
317
+ Content: () => SelectContent,
318
+ Context: () => SelectContext,
319
+ Control: () => SelectControl,
320
+ HiddenSelect: () => SelectHiddenSelect,
321
+ Indicator: () => SelectIndicator,
322
+ Item: () => SelectItem,
323
+ ItemContext: () => SelectItemContext,
324
+ ItemGroup: () => SelectItemGroup,
325
+ ItemGroupLabel: () => SelectItemGroupLabel,
326
+ ItemIndicator: () => SelectItemIndicator,
327
+ ItemText: () => SelectItemText,
328
+ Label: () => SelectLabel,
329
+ List: () => SelectList,
330
+ Positioner: () => SelectPositioner,
331
+ Root: () => SelectRoot,
332
+ RootProvider: () => SelectRootProvider,
333
+ Trigger: () => SelectTrigger,
334
+ ValueText: () => SelectValueText
335
+ });
336
+ //#endregion
337
+ export { select_exports as Select, SelectClearTrigger, SelectContent, SelectContext, SelectControl, SelectHiddenSelect, SelectIndicator, SelectItem, SelectItemContext, SelectItemGroup, SelectItemGroupLabel, SelectItemIndicator, SelectItemText, SelectLabel, SelectList, SelectPositioner, SelectRoot, SelectRootProvider, SelectTrigger, SelectValueText, createListCollection, selectAnatomy, useListCollection, useSelect, useSelectContext, useSelectItemContext };
@@ -0,0 +1,283 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.jsx";
2
+ import { a as mergeProps$1, d as createContext$1, i as useMachine, l as createSplitProps, r as normalizeProps, u as composeRefs } from "./core-7QKBNp9p.jsx";
3
+ import { t as runIfFn } from "./run-if-fn-CjvD7VzQ.jsx";
4
+ import { t as wire } from "./factory-DRw_slzE.jsx";
5
+ import { a as useLocaleContext, l as useEnvironmentContext } from "./providers-CqNHqLpB.jsx";
6
+ import { h as useFieldContext } from "./field-R5jVNdtK.jsx";
7
+ import { n as useListCollection, o as createListCollection } from "./collection-Mkvw6TyT.jsx";
8
+ import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, t as PresenceProvider } from "./presence-9UGkuyfn.jsx";
9
+ import { Index, Show, createMemo, createUniqueId } from "solid-js";
10
+ import * as select from "@wirekyt/dom/machines/select";
11
+ import { anatomy as selectAnatomy } from "@wirekyt/dom/machines/select";
12
+ //#region src/components/select/use-context.ts
13
+ const [SelectProvider, useSelectContext] = createContext$1({
14
+ hookName: "useSelectContext",
15
+ providerName: "<SelectProvider />"
16
+ });
17
+ //#endregion
18
+ //#region src/components/select/clear-trigger.tsx
19
+ const SelectClearTrigger = (props) => {
20
+ const select = useSelectContext();
21
+ const mergedProps = mergeProps$1(() => select().getClearTriggerProps(), props);
22
+ return <wire.button {...mergedProps} />;
23
+ };
24
+ //#endregion
25
+ //#region src/components/select/content.tsx
26
+ const SelectContent = (props) => {
27
+ const select = useSelectContext();
28
+ const presenceApi = usePresenceContext();
29
+ const mergedProps = mergeProps$1(() => select().getContentProps(), () => presenceApi().presenceProps, props);
30
+ return <Show when={!presenceApi().unmounted}>
31
+ <wire.div {...mergedProps} ref={composeRefs(presenceApi().ref, props.ref)} />
32
+ </Show>;
33
+ };
34
+ //#endregion
35
+ //#region src/components/select/context.tsx
36
+ const SelectContext = (props) => props.children(useSelectContext());
37
+ //#endregion
38
+ //#region src/components/select/control.tsx
39
+ const SelectControl = (props) => {
40
+ const select = useSelectContext();
41
+ const mergedProps = mergeProps$1(() => select().getControlProps(), props);
42
+ return <wire.div {...mergedProps} />;
43
+ };
44
+ //#endregion
45
+ //#region src/components/select/hidden-select.tsx
46
+ const SelectHiddenSelect = (props) => {
47
+ const select = useSelectContext();
48
+ const mergedProps = mergeProps$1(() => select().getHiddenSelectProps(), props);
49
+ const isValueEmpty = createMemo(() => select().value.length === 0);
50
+ const field = useFieldContext();
51
+ return <wire.select aria-describedby={field?.().ariaDescribedby} {...mergedProps}>
52
+ <Show when={isValueEmpty()}>
53
+ <wire.option value="" />
54
+ </Show>
55
+ <Index each={select().collection.items}>
56
+ {(item) => <wire.option value={select().collection.getItemValue(item()) ?? ""} disabled={select().collection.getItemDisabled(item())}>
57
+ {select().collection.stringifyItem(item())}
58
+ </wire.option>}
59
+ </Index>
60
+ </wire.select>;
61
+ };
62
+ //#endregion
63
+ //#region src/components/select/indicator.tsx
64
+ const SelectIndicator = (props) => {
65
+ const select = useSelectContext();
66
+ const mergedProps = mergeProps$1(() => select().getIndicatorProps(), props);
67
+ return <wire.div {...mergedProps} />;
68
+ };
69
+ //#endregion
70
+ //#region src/components/select/use-item-context.ts
71
+ const [SelectItemProvider, useSelectItemContext] = createContext$1({
72
+ hookName: "useSelectItemContext",
73
+ providerName: "<SelectItemProvider />"
74
+ });
75
+ //#endregion
76
+ //#region src/components/select/use-item-props-context.ts
77
+ const [SelectItemPropsProvider, useSelectItemPropsContext] = createContext$1({
78
+ hookName: "useSelectItemPropsContext",
79
+ providerName: "<SelectItemPropsProvider />"
80
+ });
81
+ //#endregion
82
+ //#region src/components/select/item.tsx
83
+ const SelectItem = (props) => {
84
+ const [itemProps, localProps] = createSplitProps()(props, ["item", "persistFocus"]);
85
+ const select = useSelectContext();
86
+ const mergedProps = mergeProps$1(() => select().getItemProps(itemProps), localProps);
87
+ const itemState = createMemo(() => select().getItemState(itemProps));
88
+ return <SelectItemPropsProvider value={itemProps}>
89
+ <SelectItemProvider value={itemState}>
90
+ <wire.div {...mergedProps} />
91
+ </SelectItemProvider>
92
+ </SelectItemPropsProvider>;
93
+ };
94
+ //#endregion
95
+ //#region src/components/select/item-context.tsx
96
+ const SelectItemContext = (props) => props.children(useSelectItemContext());
97
+ //#endregion
98
+ //#region src/components/select/use-item-group-props-context.ts
99
+ const [SelectItemGroupPropsProvider, useSelectItemGroupPropsContext] = createContext$1({
100
+ hookName: "useSelectItemGroupPropsContext",
101
+ providerName: "<SelectItemGroupPropsProvider />"
102
+ });
103
+ //#endregion
104
+ //#region src/components/select/item-group.tsx
105
+ const SelectItemGroup = (props) => {
106
+ const [_itemGroupProps, localProps] = createSplitProps()(props, ["id"]);
107
+ const select = useSelectContext();
108
+ const itemGroupProps = mergeProps$1({ id: createUniqueId() }, _itemGroupProps);
109
+ const mergedProps = mergeProps$1(() => select().getItemGroupProps(itemGroupProps), localProps);
110
+ return <SelectItemGroupPropsProvider value={itemGroupProps}>
111
+ <wire.div {...mergedProps} />
112
+ </SelectItemGroupPropsProvider>;
113
+ };
114
+ //#endregion
115
+ //#region src/components/select/item-group-label.tsx
116
+ const SelectItemGroupLabel = (props) => {
117
+ const select = useSelectContext();
118
+ const itemGroupProps = useSelectItemGroupPropsContext();
119
+ const mergedProps = mergeProps$1(() => select().getItemGroupLabelProps({ htmlFor: itemGroupProps.id }), props);
120
+ return <wire.div {...mergedProps} />;
121
+ };
122
+ //#endregion
123
+ //#region src/components/select/item-indicator.tsx
124
+ const SelectItemIndicator = (props) => {
125
+ const select = useSelectContext();
126
+ const itemProps = useSelectItemPropsContext();
127
+ const mergedProps = mergeProps$1(() => select().getItemIndicatorProps(itemProps), props);
128
+ return <wire.div {...mergedProps} />;
129
+ };
130
+ //#endregion
131
+ //#region src/components/select/item-text.tsx
132
+ const SelectItemText = (props) => {
133
+ const select = useSelectContext();
134
+ const itemProps = useSelectItemPropsContext();
135
+ const mergedProps = mergeProps$1(() => select().getItemTextProps(itemProps), props);
136
+ return <wire.span {...mergedProps} />;
137
+ };
138
+ //#endregion
139
+ //#region src/components/select/label.tsx
140
+ const SelectLabel = (props) => {
141
+ const select = useSelectContext();
142
+ const mergedProps = mergeProps$1(() => select().getLabelProps(), props);
143
+ return <wire.label {...mergedProps} />;
144
+ };
145
+ //#endregion
146
+ //#region src/components/select/list.tsx
147
+ const SelectList = (props) => {
148
+ const select = useSelectContext();
149
+ const mergedProps = mergeProps$1(() => select().getListProps(), props);
150
+ return <wire.div {...mergedProps} />;
151
+ };
152
+ //#endregion
153
+ //#region src/components/select/positioner.tsx
154
+ const SelectPositioner = (props) => {
155
+ const select = useSelectContext();
156
+ const presenceApi = usePresenceContext();
157
+ const mergedProps = mergeProps$1(() => select().getPositionerProps(), props);
158
+ return <Show when={!presenceApi().unmounted}>
159
+ <wire.div {...mergedProps} />
160
+ </Show>;
161
+ };
162
+ //#endregion
163
+ //#region src/components/select/use.ts
164
+ const useSelect = (props) => {
165
+ const id = createUniqueId();
166
+ const locale = useLocaleContext();
167
+ const environment = useEnvironmentContext();
168
+ const field = useFieldContext();
169
+ const machineProps = createMemo(() => ({
170
+ id,
171
+ ids: {
172
+ label: field?.().ids.label,
173
+ hiddenSelect: field?.().ids.control
174
+ },
175
+ disabled: field?.().disabled,
176
+ readOnly: field?.().readOnly,
177
+ invalid: field?.().invalid,
178
+ required: field?.().required,
179
+ dir: locale().dir,
180
+ getRootNode: environment().getRootNode,
181
+ ...runIfFn(props)
182
+ }));
183
+ const service = useMachine(select.machine, machineProps);
184
+ return createMemo(() => select.connect(service, normalizeProps));
185
+ };
186
+ //#endregion
187
+ //#region src/components/select/root.tsx
188
+ const SelectRoot = (props) => {
189
+ const [presenceProps, selectProps] = splitPresenceProps(props);
190
+ const [useSelectProps, localProps] = createSplitProps()(selectProps, [
191
+ "autoComplete",
192
+ "closeOnSelect",
193
+ "collection",
194
+ "composite",
195
+ "defaultHighlightedValue",
196
+ "defaultOpen",
197
+ "defaultValue",
198
+ "deselectable",
199
+ "disabled",
200
+ "form",
201
+ "highlightedValue",
202
+ "id",
203
+ "ids",
204
+ "invalid",
205
+ "loopFocus",
206
+ "multiple",
207
+ "name",
208
+ "onFocusOutside",
209
+ "onHighlightChange",
210
+ "onInteractOutside",
211
+ "onOpenChange",
212
+ "onPointerDownOutside",
213
+ "onSelect",
214
+ "onValueChange",
215
+ "open",
216
+ "positioning",
217
+ "readOnly",
218
+ "required",
219
+ "scrollToIndexFn",
220
+ "translations",
221
+ "value"
222
+ ]);
223
+ const select = useSelect(useSelectProps);
224
+ const presenceApi = usePresence(mergeProps$1(() => ({ present: select().open }), presenceProps));
225
+ const mergedProps = mergeProps$1(() => select().getRootProps(), localProps);
226
+ return <SelectProvider value={select}>
227
+ <PresenceProvider value={presenceApi}>
228
+ <wire.div {...mergedProps} />
229
+ </PresenceProvider>
230
+ </SelectProvider>;
231
+ };
232
+ //#endregion
233
+ //#region src/components/select/root-provider.tsx
234
+ const SelectRootProvider = (props) => {
235
+ const [presenceProps, selectProps] = splitPresenceProps(props);
236
+ const [{ value: select }, localProps] = createSplitProps()(selectProps, ["value"]);
237
+ const presence = usePresence(mergeProps$1(() => ({ present: select().open }), presenceProps));
238
+ const mergedProps = mergeProps$1(() => select().getRootProps(), localProps);
239
+ return <SelectProvider value={select}>
240
+ <PresenceProvider value={presence}>
241
+ <wire.div {...mergedProps} />
242
+ </PresenceProvider>
243
+ </SelectProvider>;
244
+ };
245
+ //#endregion
246
+ //#region src/components/select/trigger.tsx
247
+ const SelectTrigger = (props) => {
248
+ const select = useSelectContext();
249
+ const mergedProps = mergeProps$1(() => select().getTriggerProps(), props);
250
+ return <wire.button {...mergedProps} />;
251
+ };
252
+ //#endregion
253
+ //#region src/components/select/value-text.tsx
254
+ const SelectValueText = (props) => {
255
+ const select = useSelectContext();
256
+ const mergedProps = mergeProps$1(() => select().getValueTextProps(), props);
257
+ return <wire.span {...mergedProps}>{select().valueAsString || props.placeholder}</wire.span>;
258
+ };
259
+ //#endregion
260
+ //#region src/components/select/select.ts
261
+ var select_exports = /* @__PURE__ */ __exportAll({
262
+ ClearTrigger: () => SelectClearTrigger,
263
+ Content: () => SelectContent,
264
+ Context: () => SelectContext,
265
+ Control: () => SelectControl,
266
+ HiddenSelect: () => SelectHiddenSelect,
267
+ Indicator: () => SelectIndicator,
268
+ Item: () => SelectItem,
269
+ ItemContext: () => SelectItemContext,
270
+ ItemGroup: () => SelectItemGroup,
271
+ ItemGroupLabel: () => SelectItemGroupLabel,
272
+ ItemIndicator: () => SelectItemIndicator,
273
+ ItemText: () => SelectItemText,
274
+ Label: () => SelectLabel,
275
+ List: () => SelectList,
276
+ Positioner: () => SelectPositioner,
277
+ Root: () => SelectRoot,
278
+ RootProvider: () => SelectRootProvider,
279
+ Trigger: () => SelectTrigger,
280
+ ValueText: () => SelectValueText
281
+ });
282
+ //#endregion
283
+ export { select_exports as Select, SelectClearTrigger, SelectContent, SelectContext, SelectControl, SelectHiddenSelect, SelectIndicator, SelectItem, SelectItemContext, SelectItemGroup, SelectItemGroupLabel, SelectItemIndicator, SelectItemText, SelectLabel, SelectList, SelectPositioner, SelectRoot, SelectRootProvider, SelectTrigger, SelectValueText, createListCollection, selectAnatomy, useListCollection, useSelect, useSelectContext, useSelectItemContext };