@sprawlify/vue 0.0.65 → 0.0.67

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 (68) hide show
  1. package/dist/clean-props-BDv2zb5M.js +9 -0
  2. package/dist/collapsible-DQfAISmg.js +259 -0
  3. package/dist/collection-Ba0Aeh5P.js +218 -0
  4. package/dist/components/accordion/index.d.ts +195 -0
  5. package/dist/components/accordion/index.js +361 -0
  6. package/dist/components/angle-slider/index.d.ts +230 -0
  7. package/dist/components/angle-slider/index.js +371 -0
  8. package/dist/components/avatar/index.d.ts +116 -0
  9. package/dist/components/avatar/index.js +177 -0
  10. package/dist/components/bottom-sheet/index.d.ts +241 -0
  11. package/dist/components/bottom-sheet/index.js +429 -0
  12. package/dist/components/carousel/index.d.ts +306 -0
  13. package/dist/components/carousel/index.js +500 -0
  14. package/dist/components/checkbox/index.d.ts +273 -0
  15. package/dist/components/checkbox/index.js +500 -0
  16. package/dist/components/client-only/index.d.ts +20 -0
  17. package/dist/components/client-only/index.js +22 -0
  18. package/dist/components/clipboard/index.d.ts +204 -0
  19. package/dist/components/clipboard/index.js +297 -0
  20. package/dist/components/collapsible/index.d.ts +15 -23
  21. package/dist/components/collapsible/index.js +5 -325
  22. package/dist/components/collection/index.d.ts +2 -0
  23. package/dist/components/collection/index.js +4 -0
  24. package/dist/components/color-picker/index.d.ts +610 -0
  25. package/dist/components/color-picker/index.js +1127 -0
  26. package/dist/components/combobox/index.d.ts +618 -0
  27. package/dist/components/combobox/index.js +802 -0
  28. package/dist/components/date-picker/index.d.ts +597 -0
  29. package/dist/components/date-picker/index.js +1110 -0
  30. package/dist/components/dialog/index.d.ts +270 -0
  31. package/dist/components/dialog/index.js +433 -0
  32. package/dist/components/download-trigger/index.d.ts +29 -0
  33. package/dist/components/download-trigger/index.js +68 -0
  34. package/dist/components/editable/index.d.ts +288 -0
  35. package/dist/components/editable/index.js +459 -0
  36. package/dist/components/field/index.d.ts +326 -0
  37. package/dist/components/field/index.js +7 -0
  38. package/dist/components/fieldset/index.d.ts +161 -0
  39. package/dist/components/fieldset/index.js +7 -0
  40. package/dist/components/highlight/index.d.ts +35 -0
  41. package/dist/components/highlight/index.js +57 -0
  42. package/dist/components/menu/index.d.ts +498 -0
  43. package/dist/components/menu/index.js +885 -0
  44. package/dist/components/presence/index.d.ts +3 -0
  45. package/dist/components/presence/index.js +6 -0
  46. package/dist/components/select/index.d.ts +430 -0
  47. package/dist/components/select/index.js +769 -0
  48. package/dist/{use-forward-expose-BIk4OI3R.js → core-DNndr38p.js} +2 -170
  49. package/dist/create-split-props-YZ3qgXe_.js +11 -0
  50. package/dist/factory-BH3WrWd2.js +68 -0
  51. package/dist/factory-D_ge_w76.d.ts +8 -0
  52. package/dist/field-DnHnX3Tf.js +501 -0
  53. package/dist/fieldset-DzhN7Zrg.js +278 -0
  54. package/dist/{types-BQfkZGpL.d.ts → index-B66Om_3U.d.ts} +1 -9
  55. package/dist/index-BBHms9-0.d.ts +91 -0
  56. package/dist/index-CDQghZtv.d.ts +57 -0
  57. package/dist/index-DqRk-Yea.d.ts +199 -0
  58. package/dist/index.d.ts +4 -92
  59. package/dist/index.js +4 -50
  60. package/dist/presence-CvUnYMZQ.js +105 -0
  61. package/dist/presence-types-Bv1E60Cw.d.ts +13 -0
  62. package/dist/providers-B2CNPFg1.js +108 -0
  63. package/dist/types-Bj-dS2Hc.d.ts +9 -0
  64. package/dist/use-forward-expose-4p5AGAI3.js +67 -0
  65. package/dist/use-render-strategy-BkxoN6ll.js +7 -0
  66. package/dist/use-render-strategy-CHj_pCfT.d.ts +9 -0
  67. package/dist/utils-B4FuOOE-.js +51 -0
  68. package/package.json +86 -2
@@ -0,0 +1,769 @@
1
+ import { t as __exportAll } from "../../chunk-BN_g-Awi.js";
2
+ import { n as useMachine, r as normalizeProps$1, t as mergeProps$1 } from "../../core-DNndr38p.js";
3
+ import { a as useLocaleContext, c as useEnvironmentContext, i as DEFAULT_LOCALE, s as DEFAULT_ENVIRONMENT } from "../../providers-B2CNPFg1.js";
4
+ import { r as createContext, t as useForwardExpose } from "../../use-forward-expose-4p5AGAI3.js";
5
+ import { t as sprawlify } from "../../factory-BH3WrWd2.js";
6
+ import { t as cleanProps } from "../../clean-props-BDv2zb5M.js";
7
+ import { t as RenderStrategyPropsProvider } from "../../use-render-strategy-BkxoN6ll.js";
8
+ import { i as usePresence, n as PresenceProvider, r as usePresenceContext } from "../../presence-CvUnYMZQ.js";
9
+ import { m as useFieldContext } from "../../field-DnHnX3Tf.js";
10
+ import { n as useListCollection, o as createListCollection } from "../../collection-Ba0Aeh5P.js";
11
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, defineComponent, guardReactiveProps, mergeDefaults, mergeProps, normalizeProps, openBlock, renderList, renderSlot, toDisplayString, toValue, unref, useId, useSlots, withCtx } from "vue";
12
+ import * as select from "@sprawlify/primitives/machines/select";
13
+ import { anatomy as selectAnatomy } from "@sprawlify/primitives/machines/select";
14
+
15
+ //#region src/components/select/use-select-context.ts
16
+ const [SelectProvider, useSelectContext] = createContext("SelectContext");
17
+
18
+ //#endregion
19
+ //#region src/components/select/select-clear-trigger.vue?vue&type=script&setup=true&lang.ts
20
+ var select_clear_trigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
21
+ __name: "select-clear-trigger",
22
+ props: { asChild: {
23
+ type: Boolean,
24
+ required: false
25
+ } },
26
+ setup(__props) {
27
+ const select = useSelectContext();
28
+ useForwardExpose();
29
+ return (_ctx, _cache) => {
30
+ return openBlock(), createBlock(unref(sprawlify).button, mergeProps(unref(select).getClearTriggerProps(), { "as-child": __props.asChild }), {
31
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
32
+ _: 3
33
+ }, 16, ["as-child"]);
34
+ };
35
+ }
36
+ });
37
+
38
+ //#endregion
39
+ //#region src/components/select/select-clear-trigger.vue
40
+ var select_clear_trigger_default = select_clear_trigger_vue_vue_type_script_setup_true_lang_default;
41
+
42
+ //#endregion
43
+ //#region src/components/select/select-content.vue?vue&type=script&setup=true&lang.ts
44
+ var select_content_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
45
+ __name: "select-content",
46
+ props: { asChild: {
47
+ type: Boolean,
48
+ required: false
49
+ } },
50
+ setup(__props) {
51
+ const select = useSelectContext();
52
+ const presence = usePresenceContext();
53
+ const mergedProps = computed(() => mergeProps$1(select.value.getContentProps(), presence.value.presenceProps));
54
+ useForwardExpose();
55
+ return (_ctx, _cache) => {
56
+ return !unref(presence).unmounted ? (openBlock(), createBlock(unref(sprawlify).div, mergeProps({ key: 0 }, mergedProps.value, { "as-child": __props.asChild }), {
57
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
58
+ _: 3
59
+ }, 16, ["as-child"])) : createCommentVNode("v-if", true);
60
+ };
61
+ }
62
+ });
63
+
64
+ //#endregion
65
+ //#region src/components/select/select-content.vue
66
+ var select_content_default = select_content_vue_vue_type_script_setup_true_lang_default;
67
+
68
+ //#endregion
69
+ //#region src/components/select/select-context.vue?vue&type=script&setup=true&lang.ts
70
+ var select_context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
71
+ __name: "select-context",
72
+ setup(__props) {
73
+ const select = useSelectContext();
74
+ return (_ctx, _cache) => {
75
+ return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(select))));
76
+ };
77
+ }
78
+ });
79
+
80
+ //#endregion
81
+ //#region src/components/select/select-context.vue
82
+ var select_context_default = select_context_vue_vue_type_script_setup_true_lang_default;
83
+
84
+ //#endregion
85
+ //#region src/components/select/select-control.vue?vue&type=script&setup=true&lang.ts
86
+ var select_control_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
87
+ __name: "select-control",
88
+ props: { asChild: {
89
+ type: Boolean,
90
+ required: false
91
+ } },
92
+ setup(__props) {
93
+ const select = useSelectContext();
94
+ useForwardExpose();
95
+ return (_ctx, _cache) => {
96
+ return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(select).getControlProps(), { "as-child": __props.asChild }), {
97
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
98
+ _: 3
99
+ }, 16, ["as-child"]);
100
+ };
101
+ }
102
+ });
103
+
104
+ //#endregion
105
+ //#region src/components/select/select-control.vue
106
+ var select_control_default = select_control_vue_vue_type_script_setup_true_lang_default;
107
+
108
+ //#endregion
109
+ //#region src/components/select/select-hidden-select.vue?vue&type=script&setup=true&lang.ts
110
+ const _hoisted_1 = {
111
+ key: 0,
112
+ value: ""
113
+ };
114
+ const _hoisted_2 = ["value", "disabled"];
115
+ var select_hidden_select_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
116
+ __name: "select-hidden-select",
117
+ props: { asChild: {
118
+ type: Boolean,
119
+ required: false
120
+ } },
121
+ setup(__props) {
122
+ const select = useSelectContext();
123
+ const field = useFieldContext();
124
+ useForwardExpose();
125
+ return (_ctx, _cache) => {
126
+ return openBlock(), createBlock(unref(sprawlify).select, mergeProps({ "aria-describedby": unref(field)?.ariaDescribedby }, unref(select).getHiddenSelectProps()), {
127
+ default: withCtx(() => [unref(select).value.length === 0 ? (openBlock(), createElementBlock("option", _hoisted_1)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(select).collection.items, (item) => {
128
+ return openBlock(), createElementBlock("option", {
129
+ key: item.value,
130
+ value: unref(select).collection.getItemValue(item),
131
+ disabled: unref(select).collection.getItemDisabled(item)
132
+ }, toDisplayString(unref(select).collection.stringifyItem(item)) + " > ", 9, _hoisted_2);
133
+ }), 128))]),
134
+ _: 1
135
+ }, 16, ["aria-describedby"]);
136
+ };
137
+ }
138
+ });
139
+
140
+ //#endregion
141
+ //#region src/components/select/select-hidden-select.vue
142
+ var select_hidden_select_default = select_hidden_select_vue_vue_type_script_setup_true_lang_default;
143
+
144
+ //#endregion
145
+ //#region src/components/select/select-indicator.vue?vue&type=script&setup=true&lang.ts
146
+ var select_indicator_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
147
+ __name: "select-indicator",
148
+ props: { asChild: {
149
+ type: Boolean,
150
+ required: false
151
+ } },
152
+ setup(__props) {
153
+ const select = useSelectContext();
154
+ useForwardExpose();
155
+ return (_ctx, _cache) => {
156
+ return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(select).getIndicatorProps(), { "as-child": __props.asChild }), {
157
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
158
+ _: 3
159
+ }, 16, ["as-child"]);
160
+ };
161
+ }
162
+ });
163
+
164
+ //#endregion
165
+ //#region src/components/select/select-indicator.vue
166
+ var select_indicator_default = select_indicator_vue_vue_type_script_setup_true_lang_default;
167
+
168
+ //#endregion
169
+ //#region src/components/select/use-select-item-context.ts
170
+ const [SelectItemProvider, useSelectItemContext] = createContext("SelectItemContext");
171
+
172
+ //#endregion
173
+ //#region src/components/select/select-item-context.vue?vue&type=script&setup=true&lang.ts
174
+ var select_item_context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
175
+ __name: "select-item-context",
176
+ setup(__props) {
177
+ const item = useSelectItemContext();
178
+ return (_ctx, _cache) => {
179
+ return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(item))));
180
+ };
181
+ }
182
+ });
183
+
184
+ //#endregion
185
+ //#region src/components/select/select-item-context.vue
186
+ var select_item_context_default = select_item_context_vue_vue_type_script_setup_true_lang_default;
187
+
188
+ //#endregion
189
+ //#region src/components/select/use-select-item-group-props-context.ts
190
+ const [SelectItemGroupPropsProvider, useSelectItemGroupPropsContext] = createContext("SelectItemGroupPropsContext");
191
+
192
+ //#endregion
193
+ //#region src/components/select/select-item-group-label.vue?vue&type=script&setup=true&lang.ts
194
+ var select_item_group_label_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
195
+ __name: "select-item-group-label",
196
+ props: { asChild: {
197
+ type: Boolean,
198
+ required: false
199
+ } },
200
+ setup(__props) {
201
+ const select = useSelectContext();
202
+ const itemGroupProps = useSelectItemGroupPropsContext();
203
+ useForwardExpose();
204
+ return (_ctx, _cache) => {
205
+ return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(select).getItemGroupLabelProps({ htmlFor: unref(itemGroupProps).id }), { "as-child": __props.asChild }), {
206
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
207
+ _: 3
208
+ }, 16, ["as-child"]);
209
+ };
210
+ }
211
+ });
212
+
213
+ //#endregion
214
+ //#region src/components/select/select-item-group-label.vue
215
+ var select_item_group_label_default = select_item_group_label_vue_vue_type_script_setup_true_lang_default;
216
+
217
+ //#endregion
218
+ //#region src/components/select/select-item-group.vue?vue&type=script&setup=true&lang.ts
219
+ var select_item_group_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
220
+ __name: "select-item-group",
221
+ props: {
222
+ id: {
223
+ type: String,
224
+ required: false
225
+ },
226
+ asChild: {
227
+ type: Boolean,
228
+ required: false
229
+ }
230
+ },
231
+ setup(__props) {
232
+ const props = __props;
233
+ const select = useSelectContext();
234
+ const uid = useId();
235
+ const id = props.id ?? uid;
236
+ SelectItemGroupPropsProvider({ id });
237
+ useForwardExpose();
238
+ return (_ctx, _cache) => {
239
+ return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(select).getItemGroupProps({ id: unref(id) }), { "as-child": __props.asChild }), {
240
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
241
+ _: 3
242
+ }, 16, ["as-child"]);
243
+ };
244
+ }
245
+ });
246
+
247
+ //#endregion
248
+ //#region src/components/select/select-item-group.vue
249
+ var select_item_group_default = select_item_group_vue_vue_type_script_setup_true_lang_default;
250
+
251
+ //#endregion
252
+ //#region src/components/select/use-select-item-props-context.ts
253
+ const [SelectItemPropsProvider, useSelectItemPropsContext] = createContext("SelectItemPropsContext");
254
+
255
+ //#endregion
256
+ //#region src/components/select/select-item-indicator.vue?vue&type=script&setup=true&lang.ts
257
+ var select_item_indicator_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
258
+ __name: "select-item-indicator",
259
+ props: { asChild: {
260
+ type: Boolean,
261
+ required: false
262
+ } },
263
+ setup(__props) {
264
+ const select = useSelectContext();
265
+ const itemProps = useSelectItemPropsContext();
266
+ useForwardExpose();
267
+ return (_ctx, _cache) => {
268
+ return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(select).getItemIndicatorProps(unref(itemProps)), { "as-child": __props.asChild }), {
269
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
270
+ _: 3
271
+ }, 16, ["as-child"]);
272
+ };
273
+ }
274
+ });
275
+
276
+ //#endregion
277
+ //#region src/components/select/select-item-indicator.vue
278
+ var select_item_indicator_default = select_item_indicator_vue_vue_type_script_setup_true_lang_default;
279
+
280
+ //#endregion
281
+ //#region src/components/select/select-item-text.vue?vue&type=script&setup=true&lang.ts
282
+ var select_item_text_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
283
+ __name: "select-item-text",
284
+ props: { asChild: {
285
+ type: Boolean,
286
+ required: false
287
+ } },
288
+ setup(__props) {
289
+ const select = useSelectContext();
290
+ const itemProps = useSelectItemPropsContext();
291
+ useForwardExpose();
292
+ return (_ctx, _cache) => {
293
+ return openBlock(), createBlock(unref(sprawlify).span, mergeProps(unref(select).getItemTextProps(unref(itemProps)), { "as-child": __props.asChild }), {
294
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
295
+ _: 3
296
+ }, 16, ["as-child"]);
297
+ };
298
+ }
299
+ });
300
+
301
+ //#endregion
302
+ //#region src/components/select/select-item-text.vue
303
+ var select_item_text_default = select_item_text_vue_vue_type_script_setup_true_lang_default;
304
+
305
+ //#endregion
306
+ //#region src/components/select/select-item.vue?vue&type=script&setup=true&lang.ts
307
+ var select_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
308
+ __name: "select-item",
309
+ props: {
310
+ item: {
311
+ type: null,
312
+ required: true
313
+ },
314
+ persistFocus: {
315
+ type: Boolean,
316
+ required: false,
317
+ skipCheck: true
318
+ },
319
+ asChild: {
320
+ type: Boolean,
321
+ required: false
322
+ }
323
+ },
324
+ setup(__props) {
325
+ const props = __props;
326
+ const select = useSelectContext();
327
+ SelectItemPropsProvider(props);
328
+ SelectItemProvider(computed(() => select.value.getItemState(props)));
329
+ useForwardExpose();
330
+ return (_ctx, _cache) => {
331
+ return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(select).getItemProps(props), { "as-child": __props.asChild }), {
332
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
333
+ _: 3
334
+ }, 16, ["as-child"]);
335
+ };
336
+ }
337
+ });
338
+
339
+ //#endregion
340
+ //#region src/components/select/select-item.vue
341
+ var select_item_default = select_item_vue_vue_type_script_setup_true_lang_default;
342
+
343
+ //#endregion
344
+ //#region src/components/select/select-label.vue?vue&type=script&setup=true&lang.ts
345
+ var select_label_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
346
+ __name: "select-label",
347
+ props: { asChild: {
348
+ type: Boolean,
349
+ required: false
350
+ } },
351
+ setup(__props) {
352
+ const select = useSelectContext();
353
+ useForwardExpose();
354
+ return (_ctx, _cache) => {
355
+ return openBlock(), createBlock(unref(sprawlify).label, mergeProps(unref(select).getLabelProps(), { "as-child": __props.asChild }), {
356
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
357
+ _: 3
358
+ }, 16, ["as-child"]);
359
+ };
360
+ }
361
+ });
362
+
363
+ //#endregion
364
+ //#region src/components/select/select-label.vue
365
+ var select_label_default = select_label_vue_vue_type_script_setup_true_lang_default;
366
+
367
+ //#endregion
368
+ //#region src/components/select/select-list.vue?vue&type=script&setup=true&lang.ts
369
+ var select_list_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
370
+ __name: "select-list",
371
+ props: { asChild: {
372
+ type: Boolean,
373
+ required: false
374
+ } },
375
+ setup(__props) {
376
+ const select = useSelectContext();
377
+ useForwardExpose();
378
+ return (_ctx, _cache) => {
379
+ return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(select).getListProps(), { "as-child": __props.asChild }), {
380
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
381
+ _: 3
382
+ }, 16, ["as-child"]);
383
+ };
384
+ }
385
+ });
386
+
387
+ //#endregion
388
+ //#region src/components/select/select-list.vue
389
+ var select_list_default = select_list_vue_vue_type_script_setup_true_lang_default;
390
+
391
+ //#endregion
392
+ //#region src/components/select/select-positioner.vue?vue&type=script&setup=true&lang.ts
393
+ var select_positioner_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
394
+ __name: "select-positioner",
395
+ props: { asChild: {
396
+ type: Boolean,
397
+ required: false
398
+ } },
399
+ setup(__props) {
400
+ const select = useSelectContext();
401
+ const presence = usePresenceContext();
402
+ useForwardExpose();
403
+ return (_ctx, _cache) => {
404
+ return !unref(presence).unmounted ? (openBlock(), createBlock(unref(sprawlify).div, mergeProps({ key: 0 }, unref(select).getPositionerProps(), { "as-child": __props.asChild }), {
405
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
406
+ _: 3
407
+ }, 16, ["as-child"])) : createCommentVNode("v-if", true);
408
+ };
409
+ }
410
+ });
411
+
412
+ //#endregion
413
+ //#region src/components/select/select-positioner.vue
414
+ var select_positioner_default = select_positioner_vue_vue_type_script_setup_true_lang_default;
415
+
416
+ //#endregion
417
+ //#region src/components/select/select-root-provider.vue?vue&type=script&setup=true&lang.ts
418
+ var select_root_provider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
419
+ __name: "select-root-provider",
420
+ props: {
421
+ value: {
422
+ type: null,
423
+ required: true
424
+ },
425
+ lazyMount: {
426
+ type: Boolean,
427
+ required: false
428
+ },
429
+ unmountOnExit: {
430
+ type: Boolean,
431
+ required: false
432
+ },
433
+ asChild: {
434
+ type: Boolean,
435
+ required: false
436
+ }
437
+ },
438
+ emits: ["exitComplete"],
439
+ setup(__props, { emit: __emit }) {
440
+ const props = __props;
441
+ const emits = __emit;
442
+ const select = computed(() => props.value);
443
+ const presence = usePresence(computed(() => ({
444
+ present: select.value.open,
445
+ lazyMount: props.lazyMount,
446
+ unmountOnExit: props.unmountOnExit
447
+ })), emits);
448
+ SelectProvider(select);
449
+ PresenceProvider(presence);
450
+ RenderStrategyPropsProvider(computed(() => ({
451
+ lazyMount: props.lazyMount,
452
+ unmountOnExit: props.unmountOnExit
453
+ })));
454
+ useForwardExpose();
455
+ return (_ctx, _cache) => {
456
+ return openBlock(), createBlock(unref(sprawlify).div, mergeProps(select.value.getRootProps(), { "as-child": __props.asChild }), {
457
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
458
+ _: 3
459
+ }, 16, ["as-child"]);
460
+ };
461
+ }
462
+ });
463
+
464
+ //#endregion
465
+ //#region src/components/select/select-root-provider.vue
466
+ var select_root_provider_default = select_root_provider_vue_vue_type_script_setup_true_lang_default;
467
+
468
+ //#endregion
469
+ //#region src/components/select/use-select.ts
470
+ const useSelect = (props, emit) => {
471
+ const id = useId();
472
+ const env = useEnvironmentContext(DEFAULT_ENVIRONMENT);
473
+ const locale = useLocaleContext(DEFAULT_LOCALE);
474
+ const field = useFieldContext();
475
+ const context = computed(() => {
476
+ const localProps = toValue(props);
477
+ return {
478
+ id,
479
+ ids: {
480
+ label: field?.value.ids.label,
481
+ hiddenSelect: field?.value.ids.control
482
+ },
483
+ disabled: field?.value.disabled,
484
+ readOnly: field?.value.readOnly,
485
+ invalid: field?.value.invalid,
486
+ required: field?.value.required,
487
+ dir: locale.value.dir,
488
+ value: localProps.modelValue,
489
+ getRootNode: env?.value.getRootNode,
490
+ ...cleanProps(localProps),
491
+ onValueChange: (details) => {
492
+ emit?.("valueChange", details);
493
+ emit?.("update:modelValue", details.value);
494
+ localProps.onValueChange?.(details);
495
+ },
496
+ onHighlightChange: (details) => {
497
+ emit?.("highlightChange", details);
498
+ emit?.("update:highlightedValue", details.highlightedValue);
499
+ localProps.onHighlightChange?.(details);
500
+ },
501
+ onOpenChange: (details) => {
502
+ emit?.("openChange", details);
503
+ emit?.("update:open", details.open);
504
+ localProps.onOpenChange?.(details);
505
+ },
506
+ onFocusOutside: (details) => {
507
+ emit?.("focusOutside", details);
508
+ localProps.onFocusOutside?.(details);
509
+ },
510
+ onInteractOutside: (details) => {
511
+ emit?.("interactOutside", details);
512
+ localProps.onInteractOutside?.(details);
513
+ },
514
+ onPointerDownOutside: (details) => {
515
+ emit?.("pointerDownOutside", details);
516
+ localProps.onPointerDownOutside?.(details);
517
+ },
518
+ onSelect(details) {
519
+ emit?.("select", details);
520
+ localProps.onSelect?.(details);
521
+ }
522
+ };
523
+ });
524
+ const service = useMachine(select.machine, context);
525
+ return computed(() => select.connect(service, normalizeProps$1));
526
+ };
527
+
528
+ //#endregion
529
+ //#region src/components/select/select-root.vue?vue&type=script&setup=true&lang.ts
530
+ var select_root_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
531
+ __name: "select-root",
532
+ props: /* @__PURE__ */ mergeDefaults({
533
+ closeOnSelect: {
534
+ type: Boolean,
535
+ required: false
536
+ },
537
+ collection: {
538
+ type: null,
539
+ required: true
540
+ },
541
+ composite: {
542
+ type: Boolean,
543
+ required: false
544
+ },
545
+ defaultHighlightedValue: {
546
+ type: String,
547
+ required: false
548
+ },
549
+ defaultOpen: {
550
+ type: Boolean,
551
+ required: false
552
+ },
553
+ defaultValue: {
554
+ type: Array,
555
+ required: false
556
+ },
557
+ deselectable: {
558
+ type: Boolean,
559
+ required: false
560
+ },
561
+ disabled: {
562
+ type: Boolean,
563
+ required: false
564
+ },
565
+ form: {
566
+ type: String,
567
+ required: false
568
+ },
569
+ highlightedValue: {
570
+ type: String,
571
+ required: false
572
+ },
573
+ id: {
574
+ type: String,
575
+ required: false
576
+ },
577
+ ids: {
578
+ type: Object,
579
+ required: false
580
+ },
581
+ invalid: {
582
+ type: Boolean,
583
+ required: false
584
+ },
585
+ loopFocus: {
586
+ type: Boolean,
587
+ required: false
588
+ },
589
+ modelValue: {
590
+ type: Array,
591
+ required: false
592
+ },
593
+ multiple: {
594
+ type: Boolean,
595
+ required: false
596
+ },
597
+ name: {
598
+ type: String,
599
+ required: false
600
+ },
601
+ open: {
602
+ type: Boolean,
603
+ required: false
604
+ },
605
+ positioning: {
606
+ type: null,
607
+ required: false
608
+ },
609
+ readOnly: {
610
+ type: Boolean,
611
+ required: false
612
+ },
613
+ required: {
614
+ type: Boolean,
615
+ required: false
616
+ },
617
+ scrollToIndexFn: {
618
+ type: Function,
619
+ required: false
620
+ },
621
+ lazyMount: {
622
+ type: Boolean,
623
+ required: false
624
+ },
625
+ unmountOnExit: {
626
+ type: Boolean,
627
+ required: false
628
+ },
629
+ asChild: {
630
+ type: Boolean,
631
+ required: false
632
+ }
633
+ }, {
634
+ closeOnSelect: void 0,
635
+ composite: void 0,
636
+ defaultOpen: void 0,
637
+ deselectable: void 0,
638
+ disabled: void 0,
639
+ invalid: void 0,
640
+ loopFocus: void 0,
641
+ multiple: void 0,
642
+ open: void 0,
643
+ readOnly: void 0,
644
+ required: void 0
645
+ }),
646
+ emits: [
647
+ "exitComplete",
648
+ "focusOutside",
649
+ "highlightChange",
650
+ "interactOutside",
651
+ "openChange",
652
+ "pointerDownOutside",
653
+ "select",
654
+ "valueChange",
655
+ "update:modelValue",
656
+ "update:open",
657
+ "update:highlightedValue"
658
+ ],
659
+ setup(__props, { emit: __emit }) {
660
+ const props = __props;
661
+ const emits = __emit;
662
+ const select = useSelect(props, emits);
663
+ const presence = usePresence(computed(() => ({
664
+ present: select.value.open,
665
+ lazyMount: props.lazyMount,
666
+ unmountOnExit: props.unmountOnExit
667
+ })), emits);
668
+ SelectProvider(select);
669
+ PresenceProvider(presence);
670
+ RenderStrategyPropsProvider(computed(() => ({
671
+ lazyMount: props.lazyMount,
672
+ unmountOnExit: props.unmountOnExit
673
+ })));
674
+ useForwardExpose();
675
+ return (_ctx, _cache) => {
676
+ return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(select).getRootProps(), { "as-child": __props.asChild }), {
677
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
678
+ _: 3
679
+ }, 16, ["as-child"]);
680
+ };
681
+ }
682
+ });
683
+
684
+ //#endregion
685
+ //#region src/components/select/select-root.vue
686
+ var select_root_default = select_root_vue_vue_type_script_setup_true_lang_default;
687
+
688
+ //#endregion
689
+ //#region src/components/select/select-trigger.vue?vue&type=script&setup=true&lang.ts
690
+ var select_trigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
691
+ __name: "select-trigger",
692
+ props: { asChild: {
693
+ type: Boolean,
694
+ required: false
695
+ } },
696
+ setup(__props) {
697
+ const select = useSelectContext();
698
+ useForwardExpose();
699
+ return (_ctx, _cache) => {
700
+ return openBlock(), createBlock(unref(sprawlify).button, mergeProps(unref(select).getTriggerProps(), { "as-child": __props.asChild }), {
701
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
702
+ _: 3
703
+ }, 16, ["as-child"]);
704
+ };
705
+ }
706
+ });
707
+
708
+ //#endregion
709
+ //#region src/components/select/select-trigger.vue
710
+ var select_trigger_default = select_trigger_vue_vue_type_script_setup_true_lang_default;
711
+
712
+ //#endregion
713
+ //#region src/components/select/select-value-text.vue?vue&type=script&setup=true&lang.ts
714
+ var select_value_text_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
715
+ __name: "select-value-text",
716
+ props: {
717
+ placeholder: {
718
+ type: String,
719
+ required: false
720
+ },
721
+ asChild: {
722
+ type: Boolean,
723
+ required: false
724
+ }
725
+ },
726
+ setup(__props) {
727
+ const props = __props;
728
+ const select = useSelectContext();
729
+ const slots = useSlots();
730
+ useForwardExpose();
731
+ return (_ctx, _cache) => {
732
+ return openBlock(), createBlock(unref(sprawlify).span, mergeProps(unref(select).getValueTextProps(), { "as-child": __props.asChild }), {
733
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(slots.default?.() || unref(select).valueAsString || props.placeholder), 1)])]),
734
+ _: 3
735
+ }, 16, ["as-child"]);
736
+ };
737
+ }
738
+ });
739
+
740
+ //#endregion
741
+ //#region src/components/select/select-value-text.vue
742
+ var select_value_text_default = select_value_text_vue_vue_type_script_setup_true_lang_default;
743
+
744
+ //#endregion
745
+ //#region src/components/select/select.ts
746
+ var select_exports = /* @__PURE__ */ __exportAll({
747
+ ClearTrigger: () => select_clear_trigger_default,
748
+ Content: () => select_content_default,
749
+ Context: () => select_context_default,
750
+ Control: () => select_control_default,
751
+ HiddenSelect: () => select_hidden_select_default,
752
+ Indicator: () => select_indicator_default,
753
+ Item: () => select_item_default,
754
+ ItemContext: () => select_item_context_default,
755
+ ItemGroup: () => select_item_group_default,
756
+ ItemGroupLabel: () => select_item_group_label_default,
757
+ ItemIndicator: () => select_item_indicator_default,
758
+ ItemText: () => select_item_text_default,
759
+ Label: () => select_label_default,
760
+ List: () => select_list_default,
761
+ Positioner: () => select_positioner_default,
762
+ Root: () => select_root_default,
763
+ RootProvider: () => select_root_provider_default,
764
+ Trigger: () => select_trigger_default,
765
+ ValueText: () => select_value_text_default
766
+ });
767
+
768
+ //#endregion
769
+ export { select_exports as Select, select_clear_trigger_default as SelectClearTrigger, select_content_default as SelectContent, select_context_default as SelectContext, select_control_default as SelectControl, select_hidden_select_default as SelectHiddenSelect, select_indicator_default as SelectIndicator, select_item_default as SelectItem, select_item_context_default as SelectItemContext, select_item_group_default as SelectItemGroup, select_item_group_label_default as SelectItemGroupLabel, select_item_indicator_default as SelectItemIndicator, select_item_text_default as SelectItemText, select_label_default as SelectLabel, select_list_default as SelectList, select_positioner_default as SelectPositioner, select_root_default as SelectRoot, select_root_provider_default as SelectRootProvider, select_trigger_default as SelectTrigger, select_value_text_default as SelectValueText, createListCollection, selectAnatomy, useListCollection, useSelect, useSelectContext, useSelectItemContext };