@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.
- package/dist/clean-props-BDv2zb5M.js +9 -0
- package/dist/collapsible-DQfAISmg.js +259 -0
- package/dist/collection-Ba0Aeh5P.js +218 -0
- package/dist/components/accordion/index.d.ts +195 -0
- package/dist/components/accordion/index.js +361 -0
- package/dist/components/angle-slider/index.d.ts +230 -0
- package/dist/components/angle-slider/index.js +371 -0
- package/dist/components/avatar/index.d.ts +116 -0
- package/dist/components/avatar/index.js +177 -0
- package/dist/components/bottom-sheet/index.d.ts +241 -0
- package/dist/components/bottom-sheet/index.js +429 -0
- package/dist/components/carousel/index.d.ts +306 -0
- package/dist/components/carousel/index.js +500 -0
- package/dist/components/checkbox/index.d.ts +273 -0
- package/dist/components/checkbox/index.js +500 -0
- package/dist/components/client-only/index.d.ts +20 -0
- package/dist/components/client-only/index.js +22 -0
- package/dist/components/clipboard/index.d.ts +204 -0
- package/dist/components/clipboard/index.js +297 -0
- package/dist/components/collapsible/index.d.ts +15 -23
- package/dist/components/collapsible/index.js +5 -325
- package/dist/components/collection/index.d.ts +2 -0
- package/dist/components/collection/index.js +4 -0
- package/dist/components/color-picker/index.d.ts +610 -0
- package/dist/components/color-picker/index.js +1127 -0
- package/dist/components/combobox/index.d.ts +618 -0
- package/dist/components/combobox/index.js +802 -0
- package/dist/components/date-picker/index.d.ts +597 -0
- package/dist/components/date-picker/index.js +1110 -0
- package/dist/components/dialog/index.d.ts +270 -0
- package/dist/components/dialog/index.js +433 -0
- package/dist/components/download-trigger/index.d.ts +29 -0
- package/dist/components/download-trigger/index.js +68 -0
- package/dist/components/editable/index.d.ts +288 -0
- package/dist/components/editable/index.js +459 -0
- package/dist/components/field/index.d.ts +326 -0
- package/dist/components/field/index.js +7 -0
- package/dist/components/fieldset/index.d.ts +161 -0
- package/dist/components/fieldset/index.js +7 -0
- package/dist/components/highlight/index.d.ts +35 -0
- package/dist/components/highlight/index.js +57 -0
- package/dist/components/menu/index.d.ts +498 -0
- package/dist/components/menu/index.js +885 -0
- package/dist/components/presence/index.d.ts +3 -0
- package/dist/components/presence/index.js +6 -0
- package/dist/components/select/index.d.ts +430 -0
- package/dist/components/select/index.js +769 -0
- package/dist/{use-forward-expose-BIk4OI3R.js → core-DNndr38p.js} +2 -170
- package/dist/create-split-props-YZ3qgXe_.js +11 -0
- package/dist/factory-BH3WrWd2.js +68 -0
- package/dist/factory-D_ge_w76.d.ts +8 -0
- package/dist/field-DnHnX3Tf.js +501 -0
- package/dist/fieldset-DzhN7Zrg.js +278 -0
- package/dist/{types-BQfkZGpL.d.ts → index-B66Om_3U.d.ts} +1 -9
- package/dist/index-BBHms9-0.d.ts +91 -0
- package/dist/index-CDQghZtv.d.ts +57 -0
- package/dist/index-DqRk-Yea.d.ts +199 -0
- package/dist/index.d.ts +4 -92
- package/dist/index.js +4 -50
- package/dist/presence-CvUnYMZQ.js +105 -0
- package/dist/presence-types-Bv1E60Cw.d.ts +13 -0
- package/dist/providers-B2CNPFg1.js +108 -0
- package/dist/types-Bj-dS2Hc.d.ts +9 -0
- package/dist/use-forward-expose-4p5AGAI3.js +67 -0
- package/dist/use-render-strategy-BkxoN6ll.js +7 -0
- package/dist/use-render-strategy-CHj_pCfT.d.ts +9 -0
- package/dist/utils-B4FuOOE-.js +51 -0
- package/package.json +86 -2
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
import { t as __exportAll } from "./chunk-BN_g-Awi.js";
|
|
2
|
+
import { c as useEnvironmentContext, s as DEFAULT_ENVIRONMENT } from "./providers-B2CNPFg1.js";
|
|
3
|
+
import { n as unrefElement, r as createContext, t as useForwardExpose } from "./use-forward-expose-4p5AGAI3.js";
|
|
4
|
+
import { t as sprawlify } from "./factory-BH3WrWd2.js";
|
|
5
|
+
import { computed, createBlock, createCommentVNode, createTextVNode, defineComponent, guardReactiveProps, mergeDefaults, mergeProps, normalizeProps, onBeforeUnmount, onMounted, openBlock, reactive, ref, renderSlot, toValue, unref, useId, withCtx } from "vue";
|
|
6
|
+
import { ariaAttr, dataAttr } from "@sprawlify/primitives/dom-query";
|
|
7
|
+
import { createAnatomy } from "@sprawlify/primitives/anatomy";
|
|
8
|
+
import { autoresizeTextarea } from "@sprawlify/primitives/auto-resize";
|
|
9
|
+
|
|
10
|
+
//#region src/components/field/use-field-context.ts
|
|
11
|
+
const [FieldProvider, useFieldContext] = createContext("FieldContext");
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/components/field/field-context.vue?vue&type=script&setup=true&lang.ts
|
|
15
|
+
var field_context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
16
|
+
__name: "field-context",
|
|
17
|
+
setup(__props) {
|
|
18
|
+
const field = useFieldContext();
|
|
19
|
+
return (_ctx, _cache) => {
|
|
20
|
+
return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(field))));
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/components/field/field-context.vue
|
|
27
|
+
var field_context_default = field_context_vue_vue_type_script_setup_true_lang_default;
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/components/field/field-error-text.vue?vue&type=script&setup=true&lang.ts
|
|
31
|
+
var field_error_text_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
32
|
+
__name: "field-error-text",
|
|
33
|
+
props: { asChild: {
|
|
34
|
+
type: Boolean,
|
|
35
|
+
required: false
|
|
36
|
+
} },
|
|
37
|
+
setup(__props) {
|
|
38
|
+
const field = useFieldContext();
|
|
39
|
+
useForwardExpose();
|
|
40
|
+
return (_ctx, _cache) => {
|
|
41
|
+
return unref(field).invalid ? (openBlock(), createBlock(unref(sprawlify).span, mergeProps({ key: 0 }, unref(field).getErrorTextProps(), { "as-child": __props.asChild }), {
|
|
42
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
43
|
+
_: 3
|
|
44
|
+
}, 16, ["as-child"])) : createCommentVNode("v-if", true);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region src/components/field/field-error-text.vue
|
|
51
|
+
var field_error_text_default = field_error_text_vue_vue_type_script_setup_true_lang_default;
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/components/field/field-helper-text.vue?vue&type=script&setup=true&lang.ts
|
|
55
|
+
var field_helper_text_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
56
|
+
__name: "field-helper-text",
|
|
57
|
+
props: { asChild: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
required: false
|
|
60
|
+
} },
|
|
61
|
+
setup(__props) {
|
|
62
|
+
const field = useFieldContext();
|
|
63
|
+
useForwardExpose();
|
|
64
|
+
return (_ctx, _cache) => {
|
|
65
|
+
return openBlock(), createBlock(unref(sprawlify).span, mergeProps(unref(field).getHelperTextProps(), { "as-child": __props.asChild }), {
|
|
66
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
67
|
+
_: 3
|
|
68
|
+
}, 16, ["as-child"]);
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
//#endregion
|
|
74
|
+
//#region src/components/field/field-helper-text.vue
|
|
75
|
+
var field_helper_text_default = field_helper_text_vue_vue_type_script_setup_true_lang_default;
|
|
76
|
+
|
|
77
|
+
//#endregion
|
|
78
|
+
//#region src/components/field/field-input.vue?vue&type=script&setup=true&lang.ts
|
|
79
|
+
var field_input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
80
|
+
__name: "field-input",
|
|
81
|
+
props: {
|
|
82
|
+
modelValue: {
|
|
83
|
+
type: null,
|
|
84
|
+
required: false
|
|
85
|
+
},
|
|
86
|
+
asChild: {
|
|
87
|
+
type: Boolean,
|
|
88
|
+
required: false
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
emits: ["update:modelValue"],
|
|
92
|
+
setup(__props, { emit: __emit }) {
|
|
93
|
+
const field = useFieldContext();
|
|
94
|
+
const emit = __emit;
|
|
95
|
+
useForwardExpose();
|
|
96
|
+
return (_ctx, _cache) => {
|
|
97
|
+
return openBlock(), createBlock(unref(sprawlify).input, mergeProps(unref(field).getInputProps(), {
|
|
98
|
+
"as-child": __props.asChild,
|
|
99
|
+
value: __props.modelValue,
|
|
100
|
+
onInput: _cache[0] || (_cache[0] = (event) => emit("update:modelValue", event.target.value))
|
|
101
|
+
}), {
|
|
102
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
103
|
+
_: 3
|
|
104
|
+
}, 16, ["as-child", "value"]);
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
//#endregion
|
|
110
|
+
//#region src/components/field/field-input.vue
|
|
111
|
+
var field_input_default = field_input_vue_vue_type_script_setup_true_lang_default;
|
|
112
|
+
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/components/field/field-label.vue?vue&type=script&setup=true&lang.ts
|
|
115
|
+
var field_label_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
116
|
+
__name: "field-label",
|
|
117
|
+
props: { asChild: {
|
|
118
|
+
type: Boolean,
|
|
119
|
+
required: false
|
|
120
|
+
} },
|
|
121
|
+
setup(__props) {
|
|
122
|
+
const field = useFieldContext();
|
|
123
|
+
useForwardExpose();
|
|
124
|
+
return (_ctx, _cache) => {
|
|
125
|
+
return openBlock(), createBlock(unref(sprawlify).label, mergeProps(unref(field).getLabelProps(), { "as-child": __props.asChild }), {
|
|
126
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
127
|
+
_: 3
|
|
128
|
+
}, 16, ["as-child"]);
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
//#endregion
|
|
134
|
+
//#region src/components/field/field-label.vue
|
|
135
|
+
var field_label_default = field_label_vue_vue_type_script_setup_true_lang_default;
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
//#region src/components/field/field-required-indicator.vue?vue&type=script&setup=true&lang.ts
|
|
139
|
+
var field_required_indicator_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
140
|
+
__name: "field-required-indicator",
|
|
141
|
+
props: { asChild: {
|
|
142
|
+
type: Boolean,
|
|
143
|
+
required: false
|
|
144
|
+
} },
|
|
145
|
+
setup(__props) {
|
|
146
|
+
const field = useFieldContext();
|
|
147
|
+
useForwardExpose();
|
|
148
|
+
return (_ctx, _cache) => {
|
|
149
|
+
return unref(field).required ? (openBlock(), createBlock(unref(sprawlify).span, mergeProps({ key: 0 }, unref(field).getRequiredIndicatorProps(), { "as-child": __props.asChild }), {
|
|
150
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = createTextVNode("*", -1))])]),
|
|
151
|
+
_: 3
|
|
152
|
+
}, 16, ["as-child"])) : renderSlot(_ctx.$slots, "fallback", { key: 1 });
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
//#endregion
|
|
158
|
+
//#region src/components/field/field-required-indicator.vue
|
|
159
|
+
var field_required_indicator_default = field_required_indicator_vue_vue_type_script_setup_true_lang_default;
|
|
160
|
+
|
|
161
|
+
//#endregion
|
|
162
|
+
//#region src/components/field/field-root-provider.vue?vue&type=script&setup=true&lang.ts
|
|
163
|
+
var field_root_provider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
164
|
+
__name: "field-root-provider",
|
|
165
|
+
props: {
|
|
166
|
+
value: {
|
|
167
|
+
type: null,
|
|
168
|
+
required: true
|
|
169
|
+
},
|
|
170
|
+
asChild: {
|
|
171
|
+
type: Boolean,
|
|
172
|
+
required: false
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
setup(__props) {
|
|
176
|
+
const props = __props;
|
|
177
|
+
const field = computed(() => props.value);
|
|
178
|
+
FieldProvider(field);
|
|
179
|
+
useForwardExpose();
|
|
180
|
+
return (_ctx, _cache) => {
|
|
181
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(field.value.getRootProps(), { "as-child": __props.asChild }), {
|
|
182
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
183
|
+
_: 3
|
|
184
|
+
}, 16, ["as-child"]);
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
//#endregion
|
|
190
|
+
//#region src/components/field/field-root-provider.vue
|
|
191
|
+
var field_root_provider_default = field_root_provider_vue_vue_type_script_setup_true_lang_default;
|
|
192
|
+
|
|
193
|
+
//#endregion
|
|
194
|
+
//#region src/components/field/field-anatomy.ts
|
|
195
|
+
const fieldAnatomy = createAnatomy("field").parts("root", "errorText", "helperText", "input", "label", "select", "textarea", "requiredIndicator");
|
|
196
|
+
const parts = fieldAnatomy.build();
|
|
197
|
+
|
|
198
|
+
//#endregion
|
|
199
|
+
//#region src/components/field/use-field.ts
|
|
200
|
+
const useField = (props = {}) => {
|
|
201
|
+
const env = useEnvironmentContext(DEFAULT_ENVIRONMENT);
|
|
202
|
+
const state = reactive({
|
|
203
|
+
hasErrorText: false,
|
|
204
|
+
hasHelperText: false
|
|
205
|
+
});
|
|
206
|
+
const uid = useId();
|
|
207
|
+
const id = computed(() => toValue(props).id ?? uid);
|
|
208
|
+
const rootRef = ref(null);
|
|
209
|
+
const rootId = computed(() => toValue(props).ids?.control ?? `field::${id.value}`);
|
|
210
|
+
const errorTextId = computed(() => toValue(props).ids?.errorText ?? `field::${id.value}::error-text`);
|
|
211
|
+
const helperTextId = computed(() => toValue(props).ids?.helperText ?? `field::${id.value}::helper-text`);
|
|
212
|
+
const labelId = computed(() => toValue(props).ids?.label ?? `field::${id.value}::label`);
|
|
213
|
+
onMounted(() => {
|
|
214
|
+
const rootNode = unrefElement(rootRef);
|
|
215
|
+
if (!rootNode) return;
|
|
216
|
+
const checkTextElements = () => {
|
|
217
|
+
const docOrShadowRoot = env.value.getRootNode();
|
|
218
|
+
state.hasErrorText = !!docOrShadowRoot.getElementById(errorTextId.value);
|
|
219
|
+
state.hasHelperText = !!docOrShadowRoot.getElementById(helperTextId.value);
|
|
220
|
+
};
|
|
221
|
+
checkTextElements();
|
|
222
|
+
const observer = new (env.value.getWindow()).MutationObserver(checkTextElements);
|
|
223
|
+
observer.observe(rootNode, {
|
|
224
|
+
childList: true,
|
|
225
|
+
subtree: true
|
|
226
|
+
});
|
|
227
|
+
onBeforeUnmount(() => {
|
|
228
|
+
observer.disconnect();
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
const getRootProps = () => {
|
|
232
|
+
const values = toValue(props);
|
|
233
|
+
return {
|
|
234
|
+
...parts.root.attrs,
|
|
235
|
+
id: rootId.value,
|
|
236
|
+
role: "group",
|
|
237
|
+
"data-disabled": dataAttr(values.disabled),
|
|
238
|
+
"data-invalid": dataAttr(values.invalid),
|
|
239
|
+
"data-readonly": dataAttr(values.readOnly)
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
const getLabelProps = () => {
|
|
243
|
+
const values = toValue(props);
|
|
244
|
+
return {
|
|
245
|
+
...parts.label.attrs,
|
|
246
|
+
id: labelId.value,
|
|
247
|
+
"data-disabled": dataAttr(values.disabled),
|
|
248
|
+
"data-invalid": dataAttr(values.invalid),
|
|
249
|
+
"data-readonly": dataAttr(values.readOnly),
|
|
250
|
+
"data-required": dataAttr(values.required),
|
|
251
|
+
htmlFor: id.value
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
const labelIds = computed(() => {
|
|
255
|
+
const values = toValue(props);
|
|
256
|
+
const ids = [];
|
|
257
|
+
if (state.hasErrorText && values.invalid) ids.push(errorTextId.value);
|
|
258
|
+
if (state.hasHelperText) ids.push(helperTextId.value);
|
|
259
|
+
return ids;
|
|
260
|
+
});
|
|
261
|
+
const getControlProps = () => {
|
|
262
|
+
const values = toValue(props);
|
|
263
|
+
return {
|
|
264
|
+
"aria-describedby": labelIds.value.join(" ") || void 0,
|
|
265
|
+
"aria-invalid": ariaAttr(values.invalid),
|
|
266
|
+
"data-invalid": dataAttr(values.invalid),
|
|
267
|
+
"data-required": dataAttr(values.required),
|
|
268
|
+
"data-readonly": dataAttr(values.readOnly),
|
|
269
|
+
id: id.value,
|
|
270
|
+
required: values.required,
|
|
271
|
+
disabled: values.disabled,
|
|
272
|
+
readOnly: values.readOnly
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
const getInputProps = () => ({
|
|
276
|
+
...getControlProps(),
|
|
277
|
+
...parts.input.attrs
|
|
278
|
+
});
|
|
279
|
+
const getTextareaProps = () => ({
|
|
280
|
+
...getControlProps(),
|
|
281
|
+
...parts.textarea.attrs
|
|
282
|
+
});
|
|
283
|
+
const getSelectProps = () => ({
|
|
284
|
+
...getControlProps(),
|
|
285
|
+
...parts.select.attrs
|
|
286
|
+
});
|
|
287
|
+
const getHelperTextProps = () => {
|
|
288
|
+
const values = toValue(props);
|
|
289
|
+
return {
|
|
290
|
+
id: helperTextId.value,
|
|
291
|
+
...parts.helperText.attrs,
|
|
292
|
+
"data-disabled": dataAttr(values.disabled)
|
|
293
|
+
};
|
|
294
|
+
};
|
|
295
|
+
const getErrorTextProps = () => ({
|
|
296
|
+
id: errorTextId.value,
|
|
297
|
+
...parts.errorText.attrs,
|
|
298
|
+
"aria-live": "polite"
|
|
299
|
+
});
|
|
300
|
+
const getRequiredIndicatorProps = () => ({
|
|
301
|
+
"aria-hidden": true,
|
|
302
|
+
...parts.requiredIndicator.attrs
|
|
303
|
+
});
|
|
304
|
+
return computed(() => {
|
|
305
|
+
const values = toValue(props);
|
|
306
|
+
return {
|
|
307
|
+
ariaDescribedby: labelIds.value.join(" ") || void 0,
|
|
308
|
+
ids: {
|
|
309
|
+
control: id.value,
|
|
310
|
+
label: labelId.value,
|
|
311
|
+
errorText: errorTextId.value,
|
|
312
|
+
helperText: helperTextId.value
|
|
313
|
+
},
|
|
314
|
+
refs: { rootRef },
|
|
315
|
+
disabled: values.disabled,
|
|
316
|
+
invalid: values.invalid,
|
|
317
|
+
readOnly: values.readOnly,
|
|
318
|
+
required: values.required,
|
|
319
|
+
getLabelProps,
|
|
320
|
+
getRootProps,
|
|
321
|
+
getInputProps,
|
|
322
|
+
getTextareaProps,
|
|
323
|
+
getSelectProps,
|
|
324
|
+
getHelperTextProps,
|
|
325
|
+
getErrorTextProps,
|
|
326
|
+
getRequiredIndicatorProps
|
|
327
|
+
};
|
|
328
|
+
});
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
//#endregion
|
|
332
|
+
//#region src/components/field/field-root.vue?vue&type=script&setup=true&lang.ts
|
|
333
|
+
var field_root_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
334
|
+
__name: "field-root",
|
|
335
|
+
props: /* @__PURE__ */ mergeDefaults({
|
|
336
|
+
disabled: {
|
|
337
|
+
type: Boolean,
|
|
338
|
+
required: false
|
|
339
|
+
},
|
|
340
|
+
id: {
|
|
341
|
+
type: String,
|
|
342
|
+
required: false
|
|
343
|
+
},
|
|
344
|
+
ids: {
|
|
345
|
+
type: Object,
|
|
346
|
+
required: false
|
|
347
|
+
},
|
|
348
|
+
invalid: {
|
|
349
|
+
type: Boolean,
|
|
350
|
+
required: false
|
|
351
|
+
},
|
|
352
|
+
readOnly: {
|
|
353
|
+
type: Boolean,
|
|
354
|
+
required: false
|
|
355
|
+
},
|
|
356
|
+
required: {
|
|
357
|
+
type: Boolean,
|
|
358
|
+
required: false
|
|
359
|
+
},
|
|
360
|
+
asChild: {
|
|
361
|
+
type: Boolean,
|
|
362
|
+
required: false
|
|
363
|
+
}
|
|
364
|
+
}, {
|
|
365
|
+
disabled: void 0,
|
|
366
|
+
invalid: void 0,
|
|
367
|
+
readOnly: void 0,
|
|
368
|
+
required: void 0
|
|
369
|
+
}),
|
|
370
|
+
setup(__props) {
|
|
371
|
+
const field = useField(__props);
|
|
372
|
+
FieldProvider(field);
|
|
373
|
+
useForwardExpose();
|
|
374
|
+
return (_ctx, _cache) => {
|
|
375
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(field).getRootProps(), {
|
|
376
|
+
ref: unref(field).refs.rootRef,
|
|
377
|
+
"as-child": __props.asChild
|
|
378
|
+
}), {
|
|
379
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
380
|
+
_: 3
|
|
381
|
+
}, 16, ["as-child"]);
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
});
|
|
385
|
+
|
|
386
|
+
//#endregion
|
|
387
|
+
//#region src/components/field/field-root.vue
|
|
388
|
+
var field_root_default = field_root_vue_vue_type_script_setup_true_lang_default;
|
|
389
|
+
|
|
390
|
+
//#endregion
|
|
391
|
+
//#region src/components/field/field-select.vue?vue&type=script&setup=true&lang.ts
|
|
392
|
+
var field_select_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
393
|
+
__name: "field-select",
|
|
394
|
+
props: {
|
|
395
|
+
modelValue: {
|
|
396
|
+
type: String,
|
|
397
|
+
required: false
|
|
398
|
+
},
|
|
399
|
+
asChild: {
|
|
400
|
+
type: Boolean,
|
|
401
|
+
required: false
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
emits: ["update:modelValue"],
|
|
405
|
+
setup(__props, { emit: __emit }) {
|
|
406
|
+
const field = useFieldContext();
|
|
407
|
+
const emit = __emit;
|
|
408
|
+
useForwardExpose();
|
|
409
|
+
return (_ctx, _cache) => {
|
|
410
|
+
return openBlock(), createBlock(unref(sprawlify).select, mergeProps(unref(field).getSelectProps(), {
|
|
411
|
+
value: __props.modelValue,
|
|
412
|
+
onChange: _cache[0] || (_cache[0] = (event) => emit("update:modelValue", event.target.value)),
|
|
413
|
+
"as-child": __props.asChild
|
|
414
|
+
}), {
|
|
415
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
416
|
+
_: 3
|
|
417
|
+
}, 16, ["value", "as-child"]);
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
|
|
422
|
+
//#endregion
|
|
423
|
+
//#region src/components/field/field-select.vue
|
|
424
|
+
var field_select_default = field_select_vue_vue_type_script_setup_true_lang_default;
|
|
425
|
+
|
|
426
|
+
//#endregion
|
|
427
|
+
//#region src/components/field/field-textarea.vue?vue&type=script&setup=true&lang.ts
|
|
428
|
+
var field_textarea_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
429
|
+
__name: "field-textarea",
|
|
430
|
+
props: {
|
|
431
|
+
modelValue: {
|
|
432
|
+
type: null,
|
|
433
|
+
required: false
|
|
434
|
+
},
|
|
435
|
+
autoresize: {
|
|
436
|
+
type: Boolean,
|
|
437
|
+
required: false
|
|
438
|
+
},
|
|
439
|
+
asChild: {
|
|
440
|
+
type: Boolean,
|
|
441
|
+
required: false
|
|
442
|
+
}
|
|
443
|
+
},
|
|
444
|
+
emits: ["update:modelValue"],
|
|
445
|
+
setup(__props, { emit: __emit }) {
|
|
446
|
+
const props = __props;
|
|
447
|
+
const field = useFieldContext();
|
|
448
|
+
const emit = __emit;
|
|
449
|
+
const textareaRef = ref();
|
|
450
|
+
onMounted(() => {
|
|
451
|
+
const node = unrefElement(textareaRef);
|
|
452
|
+
if (!node || !props.autoresize) return;
|
|
453
|
+
const cleanup = autoresizeTextarea(node);
|
|
454
|
+
onBeforeUnmount(() => cleanup?.());
|
|
455
|
+
});
|
|
456
|
+
useForwardExpose();
|
|
457
|
+
return (_ctx, _cache) => {
|
|
458
|
+
return openBlock(), createBlock(unref(sprawlify).textarea, mergeProps({
|
|
459
|
+
ref_key: "textareaRef",
|
|
460
|
+
ref: textareaRef
|
|
461
|
+
}, unref(field).getTextareaProps(), {
|
|
462
|
+
value: __props.modelValue,
|
|
463
|
+
onInput: _cache[0] || (_cache[0] = (event) => emit("update:modelValue", event.target.value)),
|
|
464
|
+
style: props.autoresize ? {
|
|
465
|
+
resize: "none",
|
|
466
|
+
overflow: "hidden"
|
|
467
|
+
} : void 0,
|
|
468
|
+
"as-child": __props.asChild
|
|
469
|
+
}), {
|
|
470
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
471
|
+
_: 3
|
|
472
|
+
}, 16, [
|
|
473
|
+
"value",
|
|
474
|
+
"style",
|
|
475
|
+
"as-child"
|
|
476
|
+
]);
|
|
477
|
+
};
|
|
478
|
+
}
|
|
479
|
+
});
|
|
480
|
+
|
|
481
|
+
//#endregion
|
|
482
|
+
//#region src/components/field/field-textarea.vue
|
|
483
|
+
var field_textarea_default = field_textarea_vue_vue_type_script_setup_true_lang_default;
|
|
484
|
+
|
|
485
|
+
//#endregion
|
|
486
|
+
//#region src/components/field/field.ts
|
|
487
|
+
var field_exports = /* @__PURE__ */ __exportAll({
|
|
488
|
+
Context: () => field_context_default,
|
|
489
|
+
ErrorText: () => field_error_text_default,
|
|
490
|
+
HelperText: () => field_helper_text_default,
|
|
491
|
+
Input: () => field_input_default,
|
|
492
|
+
Label: () => field_label_default,
|
|
493
|
+
RequiredIndicator: () => field_required_indicator_default,
|
|
494
|
+
Root: () => field_root_default,
|
|
495
|
+
RootProvider: () => field_root_provider_default,
|
|
496
|
+
Select: () => field_select_default,
|
|
497
|
+
Textarea: () => field_textarea_default
|
|
498
|
+
});
|
|
499
|
+
|
|
500
|
+
//#endregion
|
|
501
|
+
export { useField as a, field_required_indicator_default as c, field_helper_text_default as d, field_error_text_default as f, field_root_default as i, field_label_default as l, useFieldContext as m, field_textarea_default as n, fieldAnatomy as o, field_context_default as p, field_select_default as r, field_root_provider_default as s, field_exports as t, field_input_default as u };
|