arvue-ui 0.1.0

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 (46) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +99 -0
  3. package/dist/all.css +1 -0
  4. package/dist/clsx.js +18 -0
  5. package/dist/clsx.js.map +1 -0
  6. package/dist/dialog/dialog.js +32 -0
  7. package/dist/dialog/dialog.js.map +1 -0
  8. package/dist/dialog/dialogClose.js +23 -0
  9. package/dist/dialog/dialogClose.js.map +1 -0
  10. package/dist/dialog/dialogContent.js +101 -0
  11. package/dist/dialog/dialogContent.js.map +1 -0
  12. package/dist/dialog/dialogDescription.js +31 -0
  13. package/dist/dialog/dialogDescription.js.map +1 -0
  14. package/dist/dialog/dialogFooter.js +27 -0
  15. package/dist/dialog/dialogFooter.js.map +1 -0
  16. package/dist/dialog/dialogHeader.js +27 -0
  17. package/dist/dialog/dialogHeader.js.map +1 -0
  18. package/dist/dialog/dialogOverlay.js +34 -0
  19. package/dist/dialog/dialogOverlay.js.map +1 -0
  20. package/dist/dialog/dialogTitle.js +31 -0
  21. package/dist/dialog/dialogTitle.js.map +1 -0
  22. package/dist/dialog/dialogTrigger.js +23 -0
  23. package/dist/dialog/dialogTrigger.js.map +1 -0
  24. package/dist/index.d.ts +155 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +295 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/style.css +12 -0
  29. package/package.json +64 -0
  30. package/src/dialog/Dialog.vue +27 -0
  31. package/src/dialog/DialogClose.vue +19 -0
  32. package/src/dialog/DialogContent.vue +94 -0
  33. package/src/dialog/DialogDescription.vue +25 -0
  34. package/src/dialog/DialogFooter.vue +24 -0
  35. package/src/dialog/DialogHeader.vue +24 -0
  36. package/src/dialog/DialogOverlay.vue +31 -0
  37. package/src/dialog/DialogTitle.vue +25 -0
  38. package/src/dialog/DialogTrigger.vue +17 -0
  39. package/src/dialog/dialog-content.css +42 -0
  40. package/src/dialog/dialog-description.css +3 -0
  41. package/src/dialog/dialog-footer.css +16 -0
  42. package/src/dialog/dialog-header.css +12 -0
  43. package/src/dialog/dialog-overlay.css +12 -0
  44. package/src/dialog/dialog-title.css +5 -0
  45. package/src/dialog/index.ts +38 -0
  46. package/src/index.ts +1 -0
@@ -0,0 +1,155 @@
1
+ import { HTMLAttributes } from "vue";
2
+ import { DialogCloseProps as DialogCloseProps$1, DialogContentEmits as DialogContentEmits$1, DialogContentProps as DialogContentProps$1, DialogDescriptionProps as DialogDescriptionProps$1, DialogOverlayProps as DialogOverlayProps$1, DialogRootEmits, DialogRootProps, DialogTitleProps as DialogTitleProps$1, DialogTriggerProps as DialogTriggerProps$1 } from "reka-ui";
3
+
4
+ //#region src/dialog/Dialog.vue.d.ts
5
+ interface DialogProps extends DialogRootProps {
6
+ class?: HTMLAttributes['class'];
7
+ }
8
+ interface DialogEmits extends DialogRootEmits {}
9
+ declare const _default: typeof __VLS_export$8;
10
+ declare const __VLS_export$8: __VLS_WithSlots$8<import("vue").DefineComponent<DialogProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ "update:open": (value: boolean) => any;
12
+ }, string, import("vue").PublicProps, Readonly<DialogProps> & Readonly<{
13
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
15
+ default?: (props: {
16
+ open: boolean;
17
+ close: () => void;
18
+ }) => any;
19
+ }>;
20
+ type __VLS_WithSlots$8<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ }; //# sourceMappingURL=Dialog.vue.d.ts.map
25
+ //#endregion
26
+ //#region src/dialog/DialogClose.vue.d.ts
27
+ interface DialogCloseProps extends DialogCloseProps$1 {}
28
+ declare const _default$1: typeof __VLS_export$7;
29
+ declare const __VLS_export$7: __VLS_WithSlots$7<import("vue").DefineComponent<DialogCloseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DialogCloseProps> & Readonly<{}>, {
30
+ as: import("reka-ui").AsTag | import("vue").Component;
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
32
+ default?: (props: {}) => any;
33
+ }>;
34
+ type __VLS_WithSlots$7<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ }; //# sourceMappingURL=DialogClose.vue.d.ts.map
39
+ //#endregion
40
+ //#region src/dialog/DialogContent.vue.d.ts
41
+ interface DialogContentProps extends DialogContentProps$1 {
42
+ class?: HTMLAttributes['class'];
43
+ showCloseButton?: boolean;
44
+ }
45
+ interface DialogContentEmits extends DialogContentEmits$1 {}
46
+ declare const _default$2: typeof __VLS_export$6;
47
+ declare const __VLS_export$6: __VLS_WithSlots$6<import("vue").DefineComponent<DialogContentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
+ escapeKeyDown: (event: KeyboardEvent) => any;
49
+ pointerDownOutside: (event: import("reka-ui").PointerDownOutsideEvent) => any;
50
+ focusOutside: (event: import("reka-ui").FocusOutsideEvent) => any;
51
+ interactOutside: (event: import("reka-ui").PointerDownOutsideEvent | import("reka-ui").FocusOutsideEvent) => any;
52
+ openAutoFocus: (event: Event) => any;
53
+ closeAutoFocus: (event: Event) => any;
54
+ }, string, import("vue").PublicProps, Readonly<DialogContentProps> & Readonly<{
55
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
56
+ onPointerDownOutside?: ((event: import("reka-ui").PointerDownOutsideEvent) => any) | undefined;
57
+ onFocusOutside?: ((event: import("reka-ui").FocusOutsideEvent) => any) | undefined;
58
+ onInteractOutside?: ((event: import("reka-ui").PointerDownOutsideEvent | import("reka-ui").FocusOutsideEvent) => any) | undefined;
59
+ onOpenAutoFocus?: ((event: Event) => any) | undefined;
60
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
61
+ }>, {
62
+ showCloseButton: boolean;
63
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
64
+ default?: (props: {}) => any;
65
+ }>;
66
+ type __VLS_WithSlots$6<T, S> = T & {
67
+ new (): {
68
+ $slots: S;
69
+ };
70
+ }; //# sourceMappingURL=DialogContent.vue.d.ts.map
71
+ //#endregion
72
+ //#region src/dialog/DialogDescription.vue.d.ts
73
+ interface DialogDescriptionProps extends DialogDescriptionProps$1 {
74
+ class?: HTMLAttributes['class'];
75
+ }
76
+ declare const _default$3: typeof __VLS_export$5;
77
+ declare const __VLS_export$5: __VLS_WithSlots$5<import("vue").DefineComponent<DialogDescriptionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DialogDescriptionProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
78
+ default?: (props: {}) => any;
79
+ }>;
80
+ type __VLS_WithSlots$5<T, S> = T & {
81
+ new (): {
82
+ $slots: S;
83
+ };
84
+ }; //# sourceMappingURL=DialogDescription.vue.d.ts.map
85
+ //#endregion
86
+ //#region src/dialog/DialogFooter.vue.d.ts
87
+ interface DialogFooterProps {
88
+ class?: HTMLAttributes['class'];
89
+ }
90
+ declare const _default$4: typeof __VLS_export$4;
91
+ declare const __VLS_export$4: __VLS_WithSlots$4<import("vue").DefineComponent<DialogFooterProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DialogFooterProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
92
+ default?: (props: {}) => any;
93
+ }>;
94
+ type __VLS_WithSlots$4<T, S> = T & {
95
+ new (): {
96
+ $slots: S;
97
+ };
98
+ }; //# sourceMappingURL=DialogFooter.vue.d.ts.map
99
+ //#endregion
100
+ //#region src/dialog/DialogHeader.vue.d.ts
101
+ interface DialogHeaderProps {
102
+ class?: HTMLAttributes['class'];
103
+ }
104
+ declare const _default$5: typeof __VLS_export$3;
105
+ declare const __VLS_export$3: __VLS_WithSlots$3<import("vue").DefineComponent<DialogHeaderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DialogHeaderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
106
+ default?: (props: {}) => any;
107
+ }>;
108
+ type __VLS_WithSlots$3<T, S> = T & {
109
+ new (): {
110
+ $slots: S;
111
+ };
112
+ }; //# sourceMappingURL=DialogHeader.vue.d.ts.map
113
+ //#endregion
114
+ //#region src/dialog/DialogOverlay.vue.d.ts
115
+ interface DialogOverlayProps extends DialogOverlayProps$1 {
116
+ class?: HTMLAttributes['class'];
117
+ }
118
+ declare const _default$6: typeof __VLS_export$2;
119
+ declare const __VLS_export$2: __VLS_WithSlots$2<import("vue").DefineComponent<DialogOverlayProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DialogOverlayProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
120
+ default?: (props: {}) => any;
121
+ }>;
122
+ type __VLS_WithSlots$2<T, S> = T & {
123
+ new (): {
124
+ $slots: S;
125
+ };
126
+ }; //# sourceMappingURL=DialogOverlay.vue.d.ts.map
127
+ //#endregion
128
+ //#region src/dialog/DialogTitle.vue.d.ts
129
+ interface DialogTitleProps extends DialogTitleProps$1 {
130
+ class?: HTMLAttributes['class'];
131
+ }
132
+ declare const _default$7: typeof __VLS_export$1;
133
+ declare const __VLS_export$1: __VLS_WithSlots$1<import("vue").DefineComponent<DialogTitleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DialogTitleProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
134
+ default?: (props: {}) => any;
135
+ }>;
136
+ type __VLS_WithSlots$1<T, S> = T & {
137
+ new (): {
138
+ $slots: S;
139
+ };
140
+ }; //# sourceMappingURL=DialogTitle.vue.d.ts.map
141
+ //#endregion
142
+ //#region src/dialog/DialogTrigger.vue.d.ts
143
+ interface DialogTriggerProps extends DialogTriggerProps$1 {}
144
+ declare const _default$8: typeof __VLS_export;
145
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<DialogTriggerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DialogTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
146
+ default?: (props: {}) => any;
147
+ }>;
148
+ type __VLS_WithSlots<T, S> = T & {
149
+ new (): {
150
+ $slots: S;
151
+ };
152
+ }; //# sourceMappingURL=DialogTrigger.vue.d.ts.map
153
+ //#endregion
154
+ export { __VLS_export$8 as Dialog, __VLS_export$7 as DialogClose, type DialogCloseProps, __VLS_export$6 as DialogContent, type DialogContentEmits, type DialogContentProps, __VLS_export$5 as DialogDescription, type DialogDescriptionProps, type DialogEmits, __VLS_export$4 as DialogFooter, type DialogFooterProps, __VLS_export$3 as DialogHeader, type DialogHeaderProps, __VLS_export$2 as DialogOverlay, type DialogOverlayProps, type DialogProps, __VLS_export$1 as DialogTitle, type DialogTitleProps, _default$8 as DialogTrigger, type DialogTriggerProps };
155
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/dialog/Dialog.vue","../src/dialog/DialogClose.vue","../src/dialog/DialogContent.vue","../src/dialog/DialogDescription.vue","../src/dialog/DialogFooter.vue","../src/dialog/DialogHeader.vue","../src/dialog/DialogOverlay.vue","../src/dialog/DialogTitle.vue","../src/dialog/DialogTrigger.vue"],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,295 @@
1
+ import { createBlock, createCommentVNode, createElementVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, renderSlot, unref, withCtx } from "vue";
2
+ import { DialogClose, DialogContent, DialogOverlay, DialogPortal, DialogRoot, DialogTrigger, Primitive, useForwardPropsEmits } from "reka-ui";
3
+ import { reactiveOmit } from "@vueuse/core";
4
+ import { AnimatePresence, Motion } from "motion-v";
5
+ //#region src/dialog/Dialog.vue
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ __name: "Dialog",
8
+ props: {
9
+ class: { type: [
10
+ Boolean,
11
+ null,
12
+ String,
13
+ Object,
14
+ Array
15
+ ] },
16
+ open: { type: Boolean },
17
+ defaultOpen: { type: Boolean },
18
+ modal: { type: Boolean }
19
+ },
20
+ emits: ["update:open"],
21
+ setup(__props, { emit: __emit }) {
22
+ const forwarded = useForwardPropsEmits(__props, __emit);
23
+ return (_ctx, _cache) => {
24
+ return openBlock(), createBlock(unref(DialogRoot), normalizeProps(guardReactiveProps(unref(forwarded))), {
25
+ default: withCtx((slotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps)))]),
26
+ _: 3
27
+ }, 16);
28
+ };
29
+ }
30
+ });
31
+ //#endregion
32
+ //#region src/dialog/DialogClose.vue
33
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34
+ __name: "DialogClose",
35
+ props: {
36
+ asChild: { type: Boolean },
37
+ as: { default: "a" }
38
+ },
39
+ setup(__props) {
40
+ const props = __props;
41
+ return (_ctx, _cache) => {
42
+ return openBlock(), createBlock(unref(DialogClose), normalizeProps(guardReactiveProps(props)), {
43
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
44
+ _: 3
45
+ }, 16);
46
+ };
47
+ }
48
+ });
49
+ //#endregion
50
+ //#region ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
51
+ function r(e) {
52
+ var t, f, n = "";
53
+ if ("string" == typeof e || "number" == typeof e) n += e;
54
+ else if ("object" == typeof e) if (Array.isArray(e)) {
55
+ var o = e.length;
56
+ for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
57
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
58
+ return n;
59
+ }
60
+ function clsx() {
61
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
62
+ return n;
63
+ }
64
+ //#endregion
65
+ //#region src/dialog/DialogContent.vue
66
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
67
+ inheritAttrs: false,
68
+ __name: "DialogContent",
69
+ props: {
70
+ class: { type: [
71
+ Boolean,
72
+ null,
73
+ String,
74
+ Object,
75
+ Array
76
+ ] },
77
+ showCloseButton: {
78
+ type: Boolean,
79
+ default: true
80
+ },
81
+ forceMount: { type: Boolean },
82
+ disableOutsidePointerEvents: { type: Boolean },
83
+ asChild: { type: Boolean },
84
+ as: {}
85
+ },
86
+ emits: [
87
+ "escapeKeyDown",
88
+ "pointerDownOutside",
89
+ "focusOutside",
90
+ "interactOutside",
91
+ "openAutoFocus",
92
+ "closeAutoFocus"
93
+ ],
94
+ setup(__props, { emit: __emit }) {
95
+ const props = __props;
96
+ const emits = __emit;
97
+ const forwarded = useForwardPropsEmits(reactiveOmit(props, "class"), emits);
98
+ return (_ctx, _cache) => {
99
+ return openBlock(), createBlock(unref(DialogPortal), null, {
100
+ default: withCtx(() => [createVNode(unref(AnimatePresence), { as: "div" }, {
101
+ default: withCtx(() => [createVNode(unref(_sfc_main$6), { "as-child": "" }, {
102
+ default: withCtx(() => [createVNode(unref(Motion), {
103
+ initial: { opacity: 0 },
104
+ animate: { opacity: 1 },
105
+ exit: { opacity: 0 },
106
+ transition: {
107
+ duration: .2,
108
+ ease: "easeInOut"
109
+ }
110
+ })]),
111
+ _: 1
112
+ }), createVNode(unref(DialogContent), mergeProps({
113
+ ..._ctx.$attrs,
114
+ ...unref(forwarded)
115
+ }, {
116
+ class: unref(clsx)("arvue-dialog-content", props.class),
117
+ "as-child": ""
118
+ }), {
119
+ default: withCtx(() => [createVNode(unref(Motion), {
120
+ initial: {
121
+ y: "2rem",
122
+ opacity: 0
123
+ },
124
+ animate: {
125
+ y: 0,
126
+ opacity: 1
127
+ },
128
+ exit: {
129
+ y: "2rem",
130
+ opacity: 0
131
+ },
132
+ transition: {
133
+ duration: .2,
134
+ ease: "easeInOut"
135
+ }
136
+ }, {
137
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default"), __props.showCloseButton ? (openBlock(), createBlock(unref(_sfc_main$1), {
138
+ key: 0,
139
+ class: "arvue-dialog-close-button icon"
140
+ }, {
141
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [createElementVNode("i", { class: "fas fa-times" }, null, -1)])]),
142
+ _: 1
143
+ })) : createCommentVNode("v-if", true)]),
144
+ _: 3
145
+ })]),
146
+ _: 3
147
+ }, 16, ["class"])]),
148
+ _: 3
149
+ })]),
150
+ _: 3
151
+ });
152
+ };
153
+ }
154
+ });
155
+ //#endregion
156
+ //#region src/dialog/DialogDescription.vue
157
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
158
+ __name: "DialogDescription",
159
+ props: {
160
+ class: { type: [
161
+ Boolean,
162
+ null,
163
+ String,
164
+ Object,
165
+ Array
166
+ ] },
167
+ asChild: { type: Boolean },
168
+ as: {}
169
+ },
170
+ setup(__props) {
171
+ const props = __props;
172
+ return (_ctx, _cache) => {
173
+ return openBlock(), createBlock(unref(Primitive), { class: normalizeClass(unref(clsx)("arvue-dialog-description", props.class)) }, {
174
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
175
+ _: 3
176
+ }, 8, ["class"]);
177
+ };
178
+ }
179
+ });
180
+ //#endregion
181
+ //#region src/dialog/DialogFooter.vue
182
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
183
+ __name: "DialogFooter",
184
+ props: { class: { type: [
185
+ Boolean,
186
+ null,
187
+ String,
188
+ Object,
189
+ Array
190
+ ] } },
191
+ setup(__props) {
192
+ const props = __props;
193
+ return (_ctx, _cache) => {
194
+ return openBlock(), createBlock(unref(Primitive), { class: normalizeClass(unref(clsx)("arvue-dialog-footer", props.class)) }, {
195
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
196
+ _: 3
197
+ }, 8, ["class"]);
198
+ };
199
+ }
200
+ });
201
+ //#endregion
202
+ //#region src/dialog/DialogHeader.vue
203
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
204
+ __name: "DialogHeader",
205
+ props: { class: { type: [
206
+ Boolean,
207
+ null,
208
+ String,
209
+ Object,
210
+ Array
211
+ ] } },
212
+ setup(__props) {
213
+ const props = __props;
214
+ return (_ctx, _cache) => {
215
+ return openBlock(), createBlock(unref(Primitive), { class: normalizeClass(unref(clsx)("arvue-dialog-header", props.class)) }, {
216
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
217
+ _: 3
218
+ }, 8, ["class"]);
219
+ };
220
+ }
221
+ });
222
+ //#endregion
223
+ //#region src/dialog/DialogOverlay.vue
224
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
225
+ __name: "DialogOverlay",
226
+ props: {
227
+ class: { type: [
228
+ Boolean,
229
+ null,
230
+ String,
231
+ Object,
232
+ Array
233
+ ] },
234
+ forceMount: { type: Boolean },
235
+ asChild: { type: Boolean },
236
+ as: {}
237
+ },
238
+ setup(__props) {
239
+ const props = __props;
240
+ const delegatedProps = reactiveOmit(props, "class");
241
+ return (_ctx, _cache) => {
242
+ return openBlock(), createBlock(unref(DialogOverlay), mergeProps(unref(delegatedProps), { class: unref(clsx)("arvue-dialog-overlay", props.class) }), {
243
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
244
+ _: 3
245
+ }, 16, ["class"]);
246
+ };
247
+ }
248
+ });
249
+ //#endregion
250
+ //#region src/dialog/DialogTitle.vue
251
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
252
+ __name: "DialogTitle",
253
+ props: {
254
+ class: { type: [
255
+ Boolean,
256
+ null,
257
+ String,
258
+ Object,
259
+ Array
260
+ ] },
261
+ asChild: { type: Boolean },
262
+ as: {}
263
+ },
264
+ setup(__props) {
265
+ const props = __props;
266
+ return (_ctx, _cache) => {
267
+ return openBlock(), createBlock(unref(Primitive), { class: normalizeClass(unref(clsx)("arvue-dialog-title", props.class)) }, {
268
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
269
+ _: 3
270
+ }, 8, ["class"]);
271
+ };
272
+ }
273
+ });
274
+ //#endregion
275
+ //#region src/dialog/DialogTrigger.vue
276
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
277
+ __name: "DialogTrigger",
278
+ props: {
279
+ asChild: { type: Boolean },
280
+ as: {}
281
+ },
282
+ setup(__props) {
283
+ const props = __props;
284
+ return (_ctx, _cache) => {
285
+ return openBlock(), createBlock(unref(DialogTrigger), normalizeProps(guardReactiveProps(props)), {
286
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
287
+ _: 3
288
+ }, 16);
289
+ };
290
+ }
291
+ });
292
+ //#endregion
293
+ export { _sfc_main as Dialog, _sfc_main$1 as DialogClose, _sfc_main$2 as DialogContent, _sfc_main$3 as DialogDescription, _sfc_main$4 as DialogFooter, _sfc_main$5 as DialogHeader, _sfc_main$6 as DialogOverlay, _sfc_main$7 as DialogTitle, _sfc_main$8 as DialogTrigger };
294
+
295
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["$attrs"],"sources":["../src/dialog/Dialog.vue","../src/dialog/DialogClose.vue","../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../src/dialog/DialogContent.vue","../src/dialog/DialogDescription.vue","../src/dialog/DialogFooter.vue","../src/dialog/DialogHeader.vue","../src/dialog/DialogOverlay.vue","../src/dialog/DialogTitle.vue","../src/dialog/DialogTrigger.vue"],"sourcesContent":["<template>\n <DialogRoot\n v-slot=\"slotProps\"\n v-bind=\"forwarded\"\n >\n <slot v-bind=\"slotProps\"/>\n </DialogRoot>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogRootEmits, DialogRootProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DialogProps extends DialogRootProps {\n class?: HTMLAttributes['class']\n}\nexport interface DialogEmits extends DialogRootEmits {}\n</script>\n\n<script setup lang=\"ts\">\nimport { DialogRoot, useForwardPropsEmits } from 'reka-ui'\n\nconst props = defineProps<DialogProps>()\nconst emits = defineEmits<DialogEmits>()\n\nconst forwarded = useForwardPropsEmits(props, emits)\n</script>\n","<template>\n <DialogClose v-bind=\"props\">\n <slot/>\n </DialogClose>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogCloseProps as RekaDialogCloseProps } from 'reka-ui'\n\nexport interface DialogCloseProps extends RekaDialogCloseProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { DialogClose } from 'reka-ui'\n\nconst props = withDefaults(defineProps<DialogCloseProps>(), {\n as: 'a',\n})\n</script>\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","<style>\n@import './dialog-content.css';\n</style>\n\n<template>\n <DialogPortal>\n <AnimatePresence as=\"div\">\n <DialogOverlay as-child>\n <Motion\n :initial=\"{ opacity: 0 }\"\n :animate=\"{ opacity: 1 }\"\n :exit=\"{ opacity: 0 }\"\n :transition=\"{\n duration: .2,\n ease: 'easeInOut',\n }\"\n />\n </DialogOverlay>\n <DialogContent\n v-bind=\"{ ...$attrs, ...forwarded }\"\n :class=\"clsx('arvue-dialog-content', props.class)\"\n as-child\n >\n <Motion\n :initial=\"{\n y: '2rem',\n opacity: 0,\n }\"\n :animate=\"{\n y: 0,\n opacity: 1,\n }\"\n :exit=\"{\n y: '2rem',\n opacity: 0,\n }\"\n :transition=\"{\n duration: .2,\n ease: 'easeInOut',\n }\"\n >\n <slot/>\n <DialogClose\n v-if=\"showCloseButton\"\n class=\"arvue-dialog-close-button icon\"\n >\n <i class=\"fas fa-times\"/>\n </DialogClose>\n </Motion>\n </DialogContent>\n </AnimatePresence>\n </DialogPortal>\n</template>\n\n<script lang=\"ts\">\nimport type {\n DialogContentEmits as RekaDialogContentEmits,\n DialogContentProps as RekaDialogContentProps,\n} from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DialogContentProps extends RekaDialogContentProps {\n class?: HTMLAttributes['class']\n showCloseButton?: boolean\n}\n\nexport interface DialogContentEmits extends RekaDialogContentEmits {\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { AnimatePresence, Motion } from 'motion-v'\nimport {\n DialogContent,\n DialogPortal,\n useForwardPropsEmits,\n} from 'reka-ui'\nimport { DialogClose, DialogOverlay } from '.'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DialogContentProps>(), {\n showCloseButton: true,\n})\nconst emits = defineEmits<DialogContentEmits>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\n\nconst forwarded = useForwardPropsEmits(delegatedProps, emits)\n</script>\n","<style>\n@import \"./dialog-description.css\";\n</style>\n\n<template>\n <Primitive :class=\"clsx('arvue-dialog-description', props.class)\">\n <slot/>\n </Primitive>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogDescriptionProps as RekaDialogDescriptionProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DialogDescriptionProps extends RekaDialogDescriptionProps{\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { clsx } from 'clsx'\nimport { Primitive } from 'reka-ui'\n\nconst props = defineProps<DialogDescriptionProps>()\n</script>\n","<style>\n@import \"./dialog-footer.css\";\n</style>\n\n<template>\n <Primitive :class=\"clsx('arvue-dialog-footer', props.class)\">\n <slot/>\n </Primitive>\n</template>\n\n<script lang=\"ts\">\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DialogFooterProps {\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { clsx } from 'clsx'\nimport { Primitive } from 'reka-ui'\n\nconst props = defineProps<DialogFooterProps>()\n</script>\n","<style>\n@import \"./dialog-header.css\";\n</style>\n\n<template>\n <Primitive :class=\"clsx('arvue-dialog-header', props.class)\">\n <slot/>\n </Primitive>\n</template>\n\n<script lang=\"ts\">\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DialogHeaderProps {\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { clsx } from 'clsx'\nimport { Primitive } from 'reka-ui'\n\nconst props = defineProps<DialogHeaderProps>()\n</script>\n","<style>\n@import './dialog-overlay.css';\n</style>\n\n<template>\n <DialogOverlay\n v-bind=\"delegatedProps\"\n :class=\"clsx('arvue-dialog-overlay', props.class)\"\n >\n <slot/>\n </DialogOverlay>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogOverlayProps as RekaDialogOverlayProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DialogOverlayProps extends RekaDialogOverlayProps {\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { DialogOverlay } from 'reka-ui'\n\nconst props = defineProps<DialogOverlayProps>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n","<style>\n@import \"./dialog-title.css\";\n</style>\n\n<template>\n <Primitive :class=\"clsx('arvue-dialog-title', props.class)\">\n <slot/>\n </Primitive>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogTitleProps as RekaDialogTitleProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DialogTitleProps extends RekaDialogTitleProps{\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { clsx } from 'clsx'\nimport { Primitive } from 'reka-ui'\n\nconst props = defineProps<DialogTitleProps>()\n</script>\n","<template>\n <DialogTrigger v-bind=\"props\">\n <slot/>\n </DialogTrigger>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogTriggerProps as RekaDialogTriggerProps } from 'reka-ui'\n\nexport interface DialogTriggerProps extends RekaDialogTriggerProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { DialogTrigger } from 'reka-ui'\n\nconst props = defineProps<DialogTriggerProps>()\n</script>\n"],"x_google_ignoreList":[2],"mappings":"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"}
package/dist/style.css ADDED
@@ -0,0 +1,12 @@
1
+
2
+ @import './dialog-content.css';
3
+
4
+ @import "./dialog-description.css";
5
+
6
+ @import "./dialog-footer.css";
7
+
8
+ @import "./dialog-header.css";
9
+
10
+ @import './dialog-overlay.css';
11
+
12
+ @import "./dialog-title.css";
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "arvue-ui",
3
+ "version": "0.1.0",
4
+ "keywords": [
5
+ "ui",
6
+ "vue",
7
+ "components",
8
+ "webasyst"
9
+ ],
10
+ "author": "",
11
+ "license": "MTI",
12
+ "sideEffects": false,
13
+ "type": "module",
14
+ "exports": {
15
+ ".": {
16
+ "import": "./dist/index.js"
17
+ },
18
+ "./all.css": "./dist/all.css",
19
+ "./package.json": "./package.json"
20
+ },
21
+ "module": "./dist/index.js",
22
+ "types": "./dist/index.d.ts",
23
+ "files": [
24
+ "src",
25
+ "dist",
26
+ "!src/**/*.story.vue",
27
+ "!src/**/*.test.*",
28
+ "!src/**/_*.vue",
29
+ "!src/**/__snapshots__",
30
+ "!src/**/stories",
31
+ "!src/**/story"
32
+ ],
33
+ "dependencies": {
34
+ "@vueuse/core": "^14.3.0",
35
+ "class-variance-authority": "^0.7.1",
36
+ "motion-v": "^2.2.1",
37
+ "reka-ui": "^2.9.8"
38
+ },
39
+ "devDependencies": {
40
+ "@microsoft/api-extractor": "^7.58.7",
41
+ "@tsconfig/node24": "^24.0.4",
42
+ "@tsdown/css": "^0.22.0",
43
+ "@types/node": "^24.10.9",
44
+ "@vitejs/plugin-vue": "^6.0.6",
45
+ "@vue/tsconfig": "^0.9.1",
46
+ "clsx": "^2.1.1",
47
+ "jiti": "^2.6.1",
48
+ "postcss-import": "^16.1.1",
49
+ "tsdown": "^0.22.0",
50
+ "tsx": "^4.21.0",
51
+ "unplugin-vue": "^7.2.0",
52
+ "vue-tsc": "^3.2.8"
53
+ },
54
+ "peerDependencies": {
55
+ "vue": "^3.5.33"
56
+ },
57
+ "scripts": {
58
+ "build": "pnpm type-check && pnpm build-only",
59
+ "build-only": "tsdown",
60
+ "type-check": "vue-tsc -p tsconfig.build.json --noEmit",
61
+ "watch": "tsdown --watch",
62
+ "pub:release": "pnpm publish --no-git-checks --access public"
63
+ }
64
+ }
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <DialogRoot
3
+ v-slot="slotProps"
4
+ v-bind="forwarded"
5
+ >
6
+ <slot v-bind="slotProps"/>
7
+ </DialogRoot>
8
+ </template>
9
+
10
+ <script lang="ts">
11
+ import type { DialogRootEmits, DialogRootProps } from 'reka-ui'
12
+ import type { HTMLAttributes } from 'vue'
13
+
14
+ export interface DialogProps extends DialogRootProps {
15
+ class?: HTMLAttributes['class']
16
+ }
17
+ export interface DialogEmits extends DialogRootEmits {}
18
+ </script>
19
+
20
+ <script setup lang="ts">
21
+ import { DialogRoot, useForwardPropsEmits } from 'reka-ui'
22
+
23
+ const props = defineProps<DialogProps>()
24
+ const emits = defineEmits<DialogEmits>()
25
+
26
+ const forwarded = useForwardPropsEmits(props, emits)
27
+ </script>
@@ -0,0 +1,19 @@
1
+ <template>
2
+ <DialogClose v-bind="props">
3
+ <slot/>
4
+ </DialogClose>
5
+ </template>
6
+
7
+ <script lang="ts">
8
+ import type { DialogCloseProps as RekaDialogCloseProps } from 'reka-ui'
9
+
10
+ export interface DialogCloseProps extends RekaDialogCloseProps {}
11
+ </script>
12
+
13
+ <script setup lang="ts">
14
+ import { DialogClose } from 'reka-ui'
15
+
16
+ const props = withDefaults(defineProps<DialogCloseProps>(), {
17
+ as: 'a',
18
+ })
19
+ </script>