@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,433 @@
|
|
|
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 { n as useRenderStrategyProps, 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 { computed, createBlock, createCommentVNode, defineComponent, guardReactiveProps, mergeDefaults, mergeProps, normalizeProps, openBlock, renderSlot, toValue, unref, useId, withCtx } from "vue";
|
|
10
|
+
import * as dialog from "@sprawlify/primitives/machines/dialog";
|
|
11
|
+
import { anatomy as dialogAnatomy } from "@sprawlify/primitives/machines/dialog";
|
|
12
|
+
|
|
13
|
+
//#region src/components/dialog/use-dialog-context.ts
|
|
14
|
+
const [DialogProvider, useDialogContext] = createContext("DialogContext");
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/components/dialog/dialog-backdrop.vue?vue&type=script&setup=true&lang.ts
|
|
18
|
+
var dialog_backdrop_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
19
|
+
__name: "dialog-backdrop",
|
|
20
|
+
props: { asChild: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
required: false
|
|
23
|
+
} },
|
|
24
|
+
setup(__props) {
|
|
25
|
+
const dialog = useDialogContext();
|
|
26
|
+
const renderStrategy = useRenderStrategyProps();
|
|
27
|
+
const presence = usePresence(computed(() => ({
|
|
28
|
+
...renderStrategy.value,
|
|
29
|
+
present: dialog.value.open
|
|
30
|
+
})));
|
|
31
|
+
const mergedProps = computed(() => mergeProps$1(dialog.value.getBackdropProps(), presence.value.presenceProps));
|
|
32
|
+
useForwardExpose();
|
|
33
|
+
return (_ctx, _cache) => {
|
|
34
|
+
return !unref(presence).unmounted ? (openBlock(), createBlock(unref(sprawlify).div, mergeProps({ key: 0 }, mergedProps.value, { "as-child": __props.asChild }), {
|
|
35
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
36
|
+
_: 3
|
|
37
|
+
}, 16, ["as-child"])) : createCommentVNode("v-if", true);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region src/components/dialog/dialog-backdrop.vue
|
|
44
|
+
var dialog_backdrop_default = dialog_backdrop_vue_vue_type_script_setup_true_lang_default;
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/components/dialog/dialog-close-trigger.vue?vue&type=script&setup=true&lang.ts
|
|
48
|
+
var dialog_close_trigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
49
|
+
__name: "dialog-close-trigger",
|
|
50
|
+
props: { asChild: {
|
|
51
|
+
type: Boolean,
|
|
52
|
+
required: false
|
|
53
|
+
} },
|
|
54
|
+
setup(__props) {
|
|
55
|
+
const dialog = useDialogContext();
|
|
56
|
+
useForwardExpose();
|
|
57
|
+
return (_ctx, _cache) => {
|
|
58
|
+
return openBlock(), createBlock(unref(sprawlify).button, mergeProps(unref(dialog).getCloseTriggerProps(), { "as-child": __props.asChild }), {
|
|
59
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
60
|
+
_: 3
|
|
61
|
+
}, 16, ["as-child"]);
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region src/components/dialog/dialog-close-trigger.vue
|
|
68
|
+
var dialog_close_trigger_default = dialog_close_trigger_vue_vue_type_script_setup_true_lang_default;
|
|
69
|
+
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/components/dialog/dialog-content.vue?vue&type=script&setup=true&lang.ts
|
|
72
|
+
var dialog_content_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
73
|
+
__name: "dialog-content",
|
|
74
|
+
props: { asChild: {
|
|
75
|
+
type: Boolean,
|
|
76
|
+
required: false
|
|
77
|
+
} },
|
|
78
|
+
setup(__props) {
|
|
79
|
+
const dialog = useDialogContext();
|
|
80
|
+
const presence = usePresenceContext();
|
|
81
|
+
const mergedProps = computed(() => mergeProps$1(dialog.value.getContentProps(), presence.value.presenceProps));
|
|
82
|
+
useForwardExpose();
|
|
83
|
+
return (_ctx, _cache) => {
|
|
84
|
+
return !unref(presence).unmounted ? (openBlock(), createBlock(unref(sprawlify).div, mergeProps({ key: 0 }, mergedProps.value, { "as-child": __props.asChild }), {
|
|
85
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
86
|
+
_: 3
|
|
87
|
+
}, 16, ["as-child"])) : createCommentVNode("v-if", true);
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/components/dialog/dialog-content.vue
|
|
94
|
+
var dialog_content_default = dialog_content_vue_vue_type_script_setup_true_lang_default;
|
|
95
|
+
|
|
96
|
+
//#endregion
|
|
97
|
+
//#region src/components/dialog/dialog-context.vue?vue&type=script&setup=true&lang.ts
|
|
98
|
+
var dialog_context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
99
|
+
__name: "dialog-context",
|
|
100
|
+
setup(__props) {
|
|
101
|
+
const dialog = useDialogContext();
|
|
102
|
+
return (_ctx, _cache) => {
|
|
103
|
+
return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(dialog))));
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
//#endregion
|
|
109
|
+
//#region src/components/dialog/dialog-context.vue
|
|
110
|
+
var dialog_context_default = dialog_context_vue_vue_type_script_setup_true_lang_default;
|
|
111
|
+
|
|
112
|
+
//#endregion
|
|
113
|
+
//#region src/components/dialog/dialog-description.vue?vue&type=script&setup=true&lang.ts
|
|
114
|
+
var dialog_description_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
115
|
+
__name: "dialog-description",
|
|
116
|
+
props: { asChild: {
|
|
117
|
+
type: Boolean,
|
|
118
|
+
required: false
|
|
119
|
+
} },
|
|
120
|
+
setup(__props) {
|
|
121
|
+
const dialog = useDialogContext();
|
|
122
|
+
useForwardExpose();
|
|
123
|
+
return (_ctx, _cache) => {
|
|
124
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dialog).getDescriptionProps(), { "as-child": __props.asChild }), {
|
|
125
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
126
|
+
_: 3
|
|
127
|
+
}, 16, ["as-child"]);
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
//#endregion
|
|
133
|
+
//#region src/components/dialog/dialog-description.vue
|
|
134
|
+
var dialog_description_default = dialog_description_vue_vue_type_script_setup_true_lang_default;
|
|
135
|
+
|
|
136
|
+
//#endregion
|
|
137
|
+
//#region src/components/dialog/dialog-positioner.vue?vue&type=script&setup=true&lang.ts
|
|
138
|
+
var dialog_positioner_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
139
|
+
__name: "dialog-positioner",
|
|
140
|
+
props: { asChild: {
|
|
141
|
+
type: Boolean,
|
|
142
|
+
required: false
|
|
143
|
+
} },
|
|
144
|
+
setup(__props) {
|
|
145
|
+
const dialog = useDialogContext();
|
|
146
|
+
const presence = usePresenceContext();
|
|
147
|
+
useForwardExpose();
|
|
148
|
+
return (_ctx, _cache) => {
|
|
149
|
+
return !unref(presence).unmounted ? (openBlock(), createBlock(unref(sprawlify).div, mergeProps({ key: 0 }, unref(dialog).getPositionerProps(), { "as-child": __props.asChild }), {
|
|
150
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
151
|
+
_: 3
|
|
152
|
+
}, 16, ["as-child"])) : createCommentVNode("v-if", true);
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
//#endregion
|
|
158
|
+
//#region src/components/dialog/dialog-positioner.vue
|
|
159
|
+
var dialog_positioner_default = dialog_positioner_vue_vue_type_script_setup_true_lang_default;
|
|
160
|
+
|
|
161
|
+
//#endregion
|
|
162
|
+
//#region src/components/dialog/dialog-root-provider.vue?vue&type=script&setup=true&lang.ts
|
|
163
|
+
var dialog_root_provider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
164
|
+
__name: "dialog-root-provider",
|
|
165
|
+
props: {
|
|
166
|
+
value: {
|
|
167
|
+
type: null,
|
|
168
|
+
required: true
|
|
169
|
+
},
|
|
170
|
+
lazyMount: {
|
|
171
|
+
type: Boolean,
|
|
172
|
+
required: false
|
|
173
|
+
},
|
|
174
|
+
unmountOnExit: {
|
|
175
|
+
type: Boolean,
|
|
176
|
+
required: false
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
emits: ["exitComplete"],
|
|
180
|
+
setup(__props, { emit: __emit }) {
|
|
181
|
+
const props = __props;
|
|
182
|
+
const emits = __emit;
|
|
183
|
+
const dialog = computed(() => props.value);
|
|
184
|
+
const presence = usePresence(computed(() => ({
|
|
185
|
+
present: dialog.value.open,
|
|
186
|
+
lazyMount: props.lazyMount,
|
|
187
|
+
unmountOnExit: props.unmountOnExit
|
|
188
|
+
})), emits);
|
|
189
|
+
DialogProvider(dialog);
|
|
190
|
+
PresenceProvider(presence);
|
|
191
|
+
RenderStrategyPropsProvider(computed(() => ({
|
|
192
|
+
lazyMount: props.lazyMount,
|
|
193
|
+
unmountOnExit: props.unmountOnExit
|
|
194
|
+
})));
|
|
195
|
+
useForwardExpose();
|
|
196
|
+
return (_ctx, _cache) => {
|
|
197
|
+
return renderSlot(_ctx.$slots, "default");
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
//#endregion
|
|
203
|
+
//#region src/components/dialog/dialog-root-provider.vue
|
|
204
|
+
var dialog_root_provider_default = dialog_root_provider_vue_vue_type_script_setup_true_lang_default;
|
|
205
|
+
|
|
206
|
+
//#endregion
|
|
207
|
+
//#region src/components/dialog/use-dialog.ts
|
|
208
|
+
const useDialog = (props = {}, emit) => {
|
|
209
|
+
const id = useId();
|
|
210
|
+
const env = useEnvironmentContext(DEFAULT_ENVIRONMENT);
|
|
211
|
+
const locale = useLocaleContext(DEFAULT_LOCALE);
|
|
212
|
+
const context = computed(() => {
|
|
213
|
+
const localeProps = toValue(props);
|
|
214
|
+
return {
|
|
215
|
+
id,
|
|
216
|
+
dir: locale.value.dir,
|
|
217
|
+
getRootNode: env?.value.getRootNode,
|
|
218
|
+
...cleanProps(props),
|
|
219
|
+
onOpenChange: (details) => {
|
|
220
|
+
emit?.("openChange", details);
|
|
221
|
+
emit?.("update:open", details.open);
|
|
222
|
+
localeProps.onOpenChange?.(details);
|
|
223
|
+
},
|
|
224
|
+
onEscapeKeyDown: (details) => {
|
|
225
|
+
emit?.("escapeKeyDown", details);
|
|
226
|
+
localeProps.onEscapeKeyDown?.(details);
|
|
227
|
+
},
|
|
228
|
+
onFocusOutside: (details) => {
|
|
229
|
+
emit?.("focusOutside", details);
|
|
230
|
+
localeProps.onFocusOutside?.(details);
|
|
231
|
+
},
|
|
232
|
+
onInteractOutside: (details) => {
|
|
233
|
+
emit?.("interactOutside", details);
|
|
234
|
+
localeProps.onInteractOutside?.(details);
|
|
235
|
+
},
|
|
236
|
+
onPointerDownOutside: (details) => {
|
|
237
|
+
emit?.("pointerDownOutside", details);
|
|
238
|
+
localeProps.onPointerDownOutside?.(details);
|
|
239
|
+
},
|
|
240
|
+
onRequestDismiss: (details) => {
|
|
241
|
+
emit?.("requestDismiss", details);
|
|
242
|
+
localeProps.onRequestDismiss?.(details);
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
});
|
|
246
|
+
const service = useMachine(dialog.machine, context);
|
|
247
|
+
return computed(() => dialog.connect(service, normalizeProps$1));
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
//#endregion
|
|
251
|
+
//#region src/components/dialog/dialog-root.vue?vue&type=script&setup=true&lang.ts
|
|
252
|
+
var dialog_root_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
253
|
+
__name: "dialog-root",
|
|
254
|
+
props: /* @__PURE__ */ mergeDefaults({
|
|
255
|
+
"aria-label": {
|
|
256
|
+
type: String,
|
|
257
|
+
required: false
|
|
258
|
+
},
|
|
259
|
+
closeOnEscape: {
|
|
260
|
+
type: Boolean,
|
|
261
|
+
required: false
|
|
262
|
+
},
|
|
263
|
+
closeOnInteractOutside: {
|
|
264
|
+
type: Boolean,
|
|
265
|
+
required: false
|
|
266
|
+
},
|
|
267
|
+
defaultOpen: {
|
|
268
|
+
type: Boolean,
|
|
269
|
+
required: false
|
|
270
|
+
},
|
|
271
|
+
finalFocusEl: {
|
|
272
|
+
type: Function,
|
|
273
|
+
required: false
|
|
274
|
+
},
|
|
275
|
+
id: {
|
|
276
|
+
type: String,
|
|
277
|
+
required: false
|
|
278
|
+
},
|
|
279
|
+
ids: {
|
|
280
|
+
type: Object,
|
|
281
|
+
required: false
|
|
282
|
+
},
|
|
283
|
+
initialFocusEl: {
|
|
284
|
+
type: Function,
|
|
285
|
+
required: false
|
|
286
|
+
},
|
|
287
|
+
modal: {
|
|
288
|
+
type: Boolean,
|
|
289
|
+
required: false
|
|
290
|
+
},
|
|
291
|
+
open: {
|
|
292
|
+
type: Boolean,
|
|
293
|
+
required: false
|
|
294
|
+
},
|
|
295
|
+
persistentElements: {
|
|
296
|
+
type: Array,
|
|
297
|
+
required: false
|
|
298
|
+
},
|
|
299
|
+
preventScroll: {
|
|
300
|
+
type: Boolean,
|
|
301
|
+
required: false
|
|
302
|
+
},
|
|
303
|
+
restoreFocus: {
|
|
304
|
+
type: Boolean,
|
|
305
|
+
required: false
|
|
306
|
+
},
|
|
307
|
+
role: {
|
|
308
|
+
type: String,
|
|
309
|
+
required: false
|
|
310
|
+
},
|
|
311
|
+
trapFocus: {
|
|
312
|
+
type: Boolean,
|
|
313
|
+
required: false
|
|
314
|
+
},
|
|
315
|
+
lazyMount: {
|
|
316
|
+
type: Boolean,
|
|
317
|
+
required: false
|
|
318
|
+
},
|
|
319
|
+
unmountOnExit: {
|
|
320
|
+
type: Boolean,
|
|
321
|
+
required: false
|
|
322
|
+
}
|
|
323
|
+
}, {
|
|
324
|
+
closeOnEscape: void 0,
|
|
325
|
+
closeOnInteractOutside: void 0,
|
|
326
|
+
defaultOpen: void 0,
|
|
327
|
+
modal: void 0,
|
|
328
|
+
open: void 0,
|
|
329
|
+
preventScroll: void 0,
|
|
330
|
+
restoreFocus: void 0,
|
|
331
|
+
trapFocus: void 0
|
|
332
|
+
}),
|
|
333
|
+
emits: [
|
|
334
|
+
"escapeKeyDown",
|
|
335
|
+
"exitComplete",
|
|
336
|
+
"focusOutside",
|
|
337
|
+
"interactOutside",
|
|
338
|
+
"openChange",
|
|
339
|
+
"pointerDownOutside",
|
|
340
|
+
"requestDismiss",
|
|
341
|
+
"update:open"
|
|
342
|
+
],
|
|
343
|
+
setup(__props, { emit: __emit }) {
|
|
344
|
+
const props = __props;
|
|
345
|
+
const emits = __emit;
|
|
346
|
+
const dialog = useDialog(props, emits);
|
|
347
|
+
const presence = usePresence(computed(() => ({
|
|
348
|
+
present: dialog.value.open,
|
|
349
|
+
lazyMount: props.lazyMount,
|
|
350
|
+
unmountOnExit: props.unmountOnExit
|
|
351
|
+
})), emits);
|
|
352
|
+
DialogProvider(dialog);
|
|
353
|
+
PresenceProvider(presence);
|
|
354
|
+
RenderStrategyPropsProvider(computed(() => ({
|
|
355
|
+
lazyMount: props.lazyMount,
|
|
356
|
+
unmountOnExit: props.unmountOnExit
|
|
357
|
+
})));
|
|
358
|
+
useForwardExpose();
|
|
359
|
+
return (_ctx, _cache) => {
|
|
360
|
+
return renderSlot(_ctx.$slots, "default");
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
|
|
365
|
+
//#endregion
|
|
366
|
+
//#region src/components/dialog/dialog-root.vue
|
|
367
|
+
var dialog_root_default = dialog_root_vue_vue_type_script_setup_true_lang_default;
|
|
368
|
+
|
|
369
|
+
//#endregion
|
|
370
|
+
//#region src/components/dialog/dialog-title.vue?vue&type=script&setup=true&lang.ts
|
|
371
|
+
var dialog_title_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
372
|
+
__name: "dialog-title",
|
|
373
|
+
props: { asChild: {
|
|
374
|
+
type: Boolean,
|
|
375
|
+
required: false
|
|
376
|
+
} },
|
|
377
|
+
setup(__props) {
|
|
378
|
+
const dialog = useDialogContext();
|
|
379
|
+
useForwardExpose();
|
|
380
|
+
return (_ctx, _cache) => {
|
|
381
|
+
return openBlock(), createBlock(unref(sprawlify).h2, mergeProps(unref(dialog).getTitleProps(), { "as-child": __props.asChild }), {
|
|
382
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
383
|
+
_: 3
|
|
384
|
+
}, 16, ["as-child"]);
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
});
|
|
388
|
+
|
|
389
|
+
//#endregion
|
|
390
|
+
//#region src/components/dialog/dialog-title.vue
|
|
391
|
+
var dialog_title_default = dialog_title_vue_vue_type_script_setup_true_lang_default;
|
|
392
|
+
|
|
393
|
+
//#endregion
|
|
394
|
+
//#region src/components/dialog/dialog-trigger.vue?vue&type=script&setup=true&lang.ts
|
|
395
|
+
var dialog_trigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
396
|
+
__name: "dialog-trigger",
|
|
397
|
+
props: { asChild: {
|
|
398
|
+
type: Boolean,
|
|
399
|
+
required: false
|
|
400
|
+
} },
|
|
401
|
+
setup(__props) {
|
|
402
|
+
const dialog = useDialogContext();
|
|
403
|
+
useForwardExpose();
|
|
404
|
+
return (_ctx, _cache) => {
|
|
405
|
+
return openBlock(), createBlock(unref(sprawlify).button, mergeProps(unref(dialog).getTriggerProps(), { "as-child": __props.asChild }), {
|
|
406
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
407
|
+
_: 3
|
|
408
|
+
}, 16, ["as-child"]);
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
});
|
|
412
|
+
|
|
413
|
+
//#endregion
|
|
414
|
+
//#region src/components/dialog/dialog-trigger.vue
|
|
415
|
+
var dialog_trigger_default = dialog_trigger_vue_vue_type_script_setup_true_lang_default;
|
|
416
|
+
|
|
417
|
+
//#endregion
|
|
418
|
+
//#region src/components/dialog/dialog.ts
|
|
419
|
+
var dialog_exports = /* @__PURE__ */ __exportAll({
|
|
420
|
+
Backdrop: () => dialog_backdrop_default,
|
|
421
|
+
CloseTrigger: () => dialog_close_trigger_default,
|
|
422
|
+
Content: () => dialog_content_default,
|
|
423
|
+
Context: () => dialog_context_default,
|
|
424
|
+
Description: () => dialog_description_default,
|
|
425
|
+
Positioner: () => dialog_positioner_default,
|
|
426
|
+
Root: () => dialog_root_default,
|
|
427
|
+
RootProvider: () => dialog_root_provider_default,
|
|
428
|
+
Title: () => dialog_title_default,
|
|
429
|
+
Trigger: () => dialog_trigger_default
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
//#endregion
|
|
433
|
+
export { dialog_exports as Dialog, dialog_backdrop_default as DialogBackdrop, dialog_close_trigger_default as DialogCloseTrigger, dialog_content_default as DialogContent, dialog_context_default as DialogContext, dialog_description_default as DialogDescription, dialog_positioner_default as DialogPositioner, dialog_root_default as DialogRoot, dialog_root_provider_default as DialogRootProvider, dialog_title_default as DialogTitle, dialog_trigger_default as DialogTrigger, dialogAnatomy, useDialog, useDialogContext };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { t as PolymorphicProps } from "../../factory-D_ge_w76.js";
|
|
2
|
+
import { i as MaybePromise } from "../../types-Bj-dS2Hc.js";
|
|
3
|
+
import * as vue253 from "vue";
|
|
4
|
+
import { ButtonHTMLAttributes } from "vue";
|
|
5
|
+
import { FileMimeType } from "@sprawlify/primitives/file-utils";
|
|
6
|
+
|
|
7
|
+
//#region src/components/download-trigger/download-trigger.vue.d.ts
|
|
8
|
+
type DownloadableData = string | Blob | File;
|
|
9
|
+
interface DownloadTriggerBaseProps extends PolymorphicProps {
|
|
10
|
+
fileName: string;
|
|
11
|
+
data: DownloadableData | (() => MaybePromise<DownloadableData>);
|
|
12
|
+
mimeType: FileMimeType;
|
|
13
|
+
}
|
|
14
|
+
interface DownloadTriggerProps extends DownloadTriggerBaseProps,
|
|
15
|
+
/**
|
|
16
|
+
* @vue-ignore
|
|
17
|
+
*/
|
|
18
|
+
ButtonHTMLAttributes {}
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
declare const __VLS_export: __VLS_WithSlots<vue253.DefineComponent<DownloadTriggerProps, {}, {}, {}, {}, vue253.ComponentOptionsMixin, vue253.ComponentOptionsMixin, {}, string, vue253.PublicProps, Readonly<DownloadTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, vue253.ComponentProvideOptions, false, {}, any>, {
|
|
21
|
+
default?: (props: {}) => any;
|
|
22
|
+
}>;
|
|
23
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
24
|
+
new (): {
|
|
25
|
+
$slots: S;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { _default as DownloadTrigger, type DownloadTriggerBaseProps, type DownloadTriggerProps };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import "../../core-DNndr38p.js";
|
|
2
|
+
import { c as useEnvironmentContext, s as DEFAULT_ENVIRONMENT } from "../../providers-B2CNPFg1.js";
|
|
3
|
+
import { t as useForwardExpose } from "../../use-forward-expose-4p5AGAI3.js";
|
|
4
|
+
import { t as sprawlify } from "../../factory-BH3WrWd2.js";
|
|
5
|
+
import { createBlock, defineComponent, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
6
|
+
import { downloadFile } from "@sprawlify/primitives/file-utils";
|
|
7
|
+
|
|
8
|
+
//#region src/components/download-trigger/download-trigger.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
+
var download_trigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
10
|
+
__name: "download-trigger",
|
|
11
|
+
props: {
|
|
12
|
+
fileName: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: true
|
|
15
|
+
},
|
|
16
|
+
data: {
|
|
17
|
+
type: [String, Function],
|
|
18
|
+
required: true,
|
|
19
|
+
skipCheck: true
|
|
20
|
+
},
|
|
21
|
+
mimeType: {
|
|
22
|
+
type: null,
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
asChild: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
required: false
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
setup(__props) {
|
|
31
|
+
const props = __props;
|
|
32
|
+
const env = useEnvironmentContext(DEFAULT_ENVIRONMENT);
|
|
33
|
+
const download = (data) => {
|
|
34
|
+
downloadFile({
|
|
35
|
+
file: data,
|
|
36
|
+
name: props.fileName,
|
|
37
|
+
type: props.mimeType,
|
|
38
|
+
win: env?.value.getWindow() || window
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const handleClick = (e) => {
|
|
42
|
+
if (e.defaultPrevented) return;
|
|
43
|
+
if (typeof props.data === "function") {
|
|
44
|
+
const maybePromise = props.data();
|
|
45
|
+
if (maybePromise instanceof Promise) maybePromise.then((data) => download(data));
|
|
46
|
+
else download(maybePromise);
|
|
47
|
+
} else download(props.data);
|
|
48
|
+
};
|
|
49
|
+
useForwardExpose();
|
|
50
|
+
return (_ctx, _cache) => {
|
|
51
|
+
return openBlock(), createBlock(unref(sprawlify).button, {
|
|
52
|
+
"as-child": __props.asChild,
|
|
53
|
+
type: "button",
|
|
54
|
+
onClick: handleClick
|
|
55
|
+
}, {
|
|
56
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
57
|
+
_: 3
|
|
58
|
+
}, 8, ["as-child"]);
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region src/components/download-trigger/download-trigger.vue
|
|
65
|
+
var download_trigger_default = download_trigger_vue_vue_type_script_setup_true_lang_default;
|
|
66
|
+
|
|
67
|
+
//#endregion
|
|
68
|
+
export { download_trigger_default as DownloadTrigger };
|