arvue-ui 0.1.0 → 0.2.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 (58) hide show
  1. package/dist/all.css +1 -1
  2. package/dist/dialog/dialogDescription.js +7 -5
  3. package/dist/dialog/dialogDescription.js.map +1 -1
  4. package/dist/dialog/dialogFooter.js +16 -10
  5. package/dist/dialog/dialogFooter.js.map +1 -1
  6. package/dist/dialog/dialogHeader.js +16 -10
  7. package/dist/dialog/dialogHeader.js.map +1 -1
  8. package/dist/dialog/dialogTitle.js +7 -5
  9. package/dist/dialog/dialogTitle.js.map +1 -1
  10. package/dist/drawer/drawer.js +32 -0
  11. package/dist/drawer/drawer.js.map +1 -0
  12. package/dist/drawer/drawerClose.js +23 -0
  13. package/dist/drawer/drawerClose.js.map +1 -0
  14. package/dist/drawer/drawerContent.js +108 -0
  15. package/dist/drawer/drawerContent.js.map +1 -0
  16. package/dist/drawer/drawerDescription.js +33 -0
  17. package/dist/drawer/drawerDescription.js.map +1 -0
  18. package/dist/drawer/drawerFooter.js +33 -0
  19. package/dist/drawer/drawerFooter.js.map +1 -0
  20. package/dist/drawer/drawerHeader.js +33 -0
  21. package/dist/drawer/drawerHeader.js.map +1 -0
  22. package/dist/drawer/drawerOverlay.js +34 -0
  23. package/dist/drawer/drawerOverlay.js.map +1 -0
  24. package/dist/drawer/drawerTitle.js +33 -0
  25. package/dist/drawer/drawerTitle.js.map +1 -0
  26. package/dist/drawer/drawerTrigger.js +23 -0
  27. package/dist/drawer/drawerTrigger.js.map +1 -0
  28. package/dist/index.d.ts +191 -31
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +331 -27
  31. package/dist/index.js.map +1 -1
  32. package/dist/style.css +12 -0
  33. package/package.json +8 -3
  34. package/src/dialog/DialogDescription.vue +13 -5
  35. package/src/dialog/DialogFooter.vue +9 -2
  36. package/src/dialog/DialogHeader.vue +9 -2
  37. package/src/dialog/DialogTitle.vue +13 -5
  38. package/src/dialog/dialog-content.css +1 -1
  39. package/src/dialog/dialog-description.css +1 -0
  40. package/src/dialog/dialog-overlay.css +1 -1
  41. package/src/dialog/dialog-title.css +1 -3
  42. package/src/drawer/Drawer.vue +27 -0
  43. package/src/drawer/DrawerClose.vue +19 -0
  44. package/src/drawer/DrawerContent.vue +99 -0
  45. package/src/drawer/DrawerDescription.vue +33 -0
  46. package/src/drawer/DrawerFooter.vue +31 -0
  47. package/src/drawer/DrawerHeader.vue +31 -0
  48. package/src/drawer/DrawerOverlay.vue +31 -0
  49. package/src/drawer/DrawerTitle.vue +33 -0
  50. package/src/drawer/DrawerTrigger.vue +17 -0
  51. package/src/drawer/drawer-content.css +68 -0
  52. package/src/drawer/drawer-description.css +4 -0
  53. package/src/drawer/drawer-footer.css +11 -0
  54. package/src/drawer/drawer-header.css +6 -0
  55. package/src/drawer/drawer-overlay.css +12 -0
  56. package/src/drawer/drawer-title.css +3 -0
  57. package/src/drawer/index.ts +38 -0
  58. package/src/index.ts +1 -0
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
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";
1
+ import { computed, createBlock, createCommentVNode, createElementVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeProps, openBlock, renderSlot, unref, withCtx } from "vue";
2
+ import { DialogClose, DialogContent, DialogDescription, DialogOverlay, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, Primitive, useForwardPropsEmits } from "reka-ui";
3
3
  import { reactiveOmit } from "@vueuse/core";
4
4
  import { AnimatePresence, Motion } from "motion-v";
5
5
  //#region src/dialog/Dialog.vue
@@ -165,15 +165,16 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
165
165
  Array
166
166
  ] },
167
167
  asChild: { type: Boolean },
168
- as: {}
168
+ as: { default: "p" }
169
169
  },
170
170
  setup(__props) {
171
171
  const props = __props;
172
+ const delegatedProps = reactiveOmit(props, "class");
172
173
  return (_ctx, _cache) => {
173
- return openBlock(), createBlock(unref(Primitive), { class: normalizeClass(unref(clsx)("arvue-dialog-description", props.class)) }, {
174
+ return openBlock(), createBlock(unref(DialogDescription), mergeProps({ class: unref(clsx)("arvue-dialog-description", props.class) }, unref(delegatedProps)), {
174
175
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
175
176
  _: 3
176
- }, 8, ["class"]);
177
+ }, 16, ["class"]);
177
178
  };
178
179
  }
179
180
  });
@@ -181,20 +182,25 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
181
182
  //#region src/dialog/DialogFooter.vue
182
183
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
183
184
  __name: "DialogFooter",
184
- props: { class: { type: [
185
- Boolean,
186
- null,
187
- String,
188
- Object,
189
- Array
190
- ] } },
185
+ props: {
186
+ class: { type: [
187
+ Boolean,
188
+ null,
189
+ String,
190
+ Object,
191
+ Array
192
+ ] },
193
+ asChild: { type: Boolean },
194
+ as: {}
195
+ },
191
196
  setup(__props) {
192
197
  const props = __props;
198
+ const delegatedProps = reactiveOmit(props, "class");
193
199
  return (_ctx, _cache) => {
194
- return openBlock(), createBlock(unref(Primitive), { class: normalizeClass(unref(clsx)("arvue-dialog-footer", props.class)) }, {
200
+ return openBlock(), createBlock(unref(Primitive), mergeProps({ class: unref(clsx)("arvue-dialog-footer", props.class) }, unref(delegatedProps)), {
195
201
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
196
202
  _: 3
197
- }, 8, ["class"]);
203
+ }, 16, ["class"]);
198
204
  };
199
205
  }
200
206
  });
@@ -202,20 +208,25 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
202
208
  //#region src/dialog/DialogHeader.vue
203
209
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
204
210
  __name: "DialogHeader",
205
- props: { class: { type: [
206
- Boolean,
207
- null,
208
- String,
209
- Object,
210
- Array
211
- ] } },
211
+ props: {
212
+ class: { type: [
213
+ Boolean,
214
+ null,
215
+ String,
216
+ Object,
217
+ Array
218
+ ] },
219
+ asChild: { type: Boolean },
220
+ as: {}
221
+ },
212
222
  setup(__props) {
213
223
  const props = __props;
224
+ const delegatedProps = reactiveOmit(props, "class");
214
225
  return (_ctx, _cache) => {
215
- return openBlock(), createBlock(unref(Primitive), { class: normalizeClass(unref(clsx)("arvue-dialog-header", props.class)) }, {
226
+ return openBlock(), createBlock(unref(Primitive), mergeProps({ class: unref(clsx)("arvue-dialog-header", props.class) }, unref(delegatedProps)), {
216
227
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
217
228
  _: 3
218
- }, 8, ["class"]);
229
+ }, 16, ["class"]);
219
230
  };
220
231
  }
221
232
  });
@@ -259,15 +270,16 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
259
270
  Array
260
271
  ] },
261
272
  asChild: { type: Boolean },
262
- as: {}
273
+ as: { default: "h3" }
263
274
  },
264
275
  setup(__props) {
265
276
  const props = __props;
277
+ const delegatedProps = reactiveOmit(props, "class");
266
278
  return (_ctx, _cache) => {
267
- return openBlock(), createBlock(unref(Primitive), { class: normalizeClass(unref(clsx)("arvue-dialog-title", props.class)) }, {
279
+ return openBlock(), createBlock(unref(DialogTitle), mergeProps({ class: unref(clsx)("arvue-dialog-title", props.class) }, unref(delegatedProps)), {
268
280
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
269
281
  _: 3
270
- }, 8, ["class"]);
282
+ }, 16, ["class"]);
271
283
  };
272
284
  }
273
285
  });
@@ -290,6 +302,298 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
290
302
  }
291
303
  });
292
304
  //#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 };
305
+ //#region src/drawer/Drawer.vue
306
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
307
+ __name: "Drawer",
308
+ props: {
309
+ class: { type: [
310
+ Boolean,
311
+ null,
312
+ String,
313
+ Object,
314
+ Array
315
+ ] },
316
+ open: { type: Boolean },
317
+ defaultOpen: { type: Boolean },
318
+ modal: { type: Boolean }
319
+ },
320
+ emits: ["update:open"],
321
+ setup(__props, { emit: __emit }) {
322
+ const forwarded = useForwardPropsEmits(__props, __emit);
323
+ return (_ctx, _cache) => {
324
+ return openBlock(), createBlock(unref(DialogRoot), normalizeProps(guardReactiveProps(unref(forwarded))), {
325
+ default: withCtx((slotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps)))]),
326
+ _: 3
327
+ }, 16);
328
+ };
329
+ }
330
+ });
331
+ //#endregion
332
+ //#region src/drawer/DrawerClose.vue
333
+ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
334
+ __name: "DrawerClose",
335
+ props: {
336
+ asChild: { type: Boolean },
337
+ as: { default: "a" }
338
+ },
339
+ setup(__props) {
340
+ const props = __props;
341
+ return (_ctx, _cache) => {
342
+ return openBlock(), createBlock(unref(DialogClose), normalizeProps(guardReactiveProps(props)), {
343
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
344
+ _: 3
345
+ }, 16);
346
+ };
347
+ }
348
+ });
349
+ //#endregion
350
+ //#region src/drawer/DrawerContent.vue
351
+ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
352
+ inheritAttrs: false,
353
+ __name: "DrawerContent",
354
+ props: {
355
+ class: { type: [
356
+ Boolean,
357
+ null,
358
+ String,
359
+ Object,
360
+ Array
361
+ ] },
362
+ side: { default: "right" },
363
+ showCloseButton: {
364
+ type: Boolean,
365
+ default: true
366
+ },
367
+ forceMount: { type: Boolean },
368
+ disableOutsidePointerEvents: { type: Boolean },
369
+ asChild: { type: Boolean },
370
+ as: {}
371
+ },
372
+ emits: [
373
+ "escapeKeyDown",
374
+ "pointerDownOutside",
375
+ "focusOutside",
376
+ "interactOutside",
377
+ "openAutoFocus",
378
+ "closeAutoFocus"
379
+ ],
380
+ setup(__props, { emit: __emit }) {
381
+ const props = __props;
382
+ const emits = __emit;
383
+ const forwarded = useForwardPropsEmits(reactiveOmit(props, "class", "side"), emits);
384
+ const sideMotion = {
385
+ top: {
386
+ initial: { y: "-100%" },
387
+ animate: { y: 0 },
388
+ exit: { y: "-100%" }
389
+ },
390
+ bottom: {
391
+ initial: { y: "100%" },
392
+ animate: { y: 0 },
393
+ exit: { y: "100%" }
394
+ },
395
+ left: {
396
+ initial: { x: "-100%" },
397
+ animate: { x: 0 },
398
+ exit: { x: "-100%" }
399
+ },
400
+ right: {
401
+ initial: { x: "100%" },
402
+ animate: { x: 0 },
403
+ exit: { x: "100%" }
404
+ }
405
+ };
406
+ const motionProps = computed(() => sideMotion[props.side]);
407
+ return (_ctx, _cache) => {
408
+ return openBlock(), createBlock(unref(DialogPortal), null, {
409
+ default: withCtx(() => [createVNode(unref(AnimatePresence), { as: "div" }, {
410
+ default: withCtx(() => [createVNode(unref(_sfc_main$15), { "as-child": "" }, {
411
+ default: withCtx(() => [createVNode(unref(Motion), {
412
+ initial: { opacity: 0 },
413
+ animate: { opacity: 1 },
414
+ exit: { opacity: 0 },
415
+ transition: {
416
+ duration: .3,
417
+ ease: "easeInOut"
418
+ }
419
+ })]),
420
+ _: 1
421
+ }), createVNode(unref(DialogContent), mergeProps({ class: unref(clsx)("arvue-drawer-content", __props.side === "top" && "top", __props.side === "right" && "right", __props.side === "bottom" && "bottom", __props.side === "left" && "left", props.class) }, {
422
+ ..._ctx.$attrs,
423
+ ...unref(forwarded)
424
+ }, { "as-child": "" }), {
425
+ default: withCtx(() => [createVNode(unref(Motion), mergeProps(motionProps.value, { transition: {
426
+ duration: .3,
427
+ ease: "easeIn"
428
+ } }), {
429
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default"), __props.showCloseButton ? (openBlock(), createBlock(unref(_sfc_main$10), {
430
+ key: 0,
431
+ class: "arvue-drawer-close-button icon"
432
+ }, {
433
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [createElementVNode("i", { class: "fas fa-times" }, null, -1)])]),
434
+ _: 1
435
+ })) : createCommentVNode("v-if", true)]),
436
+ _: 3
437
+ }, 16)]),
438
+ _: 3
439
+ }, 16, ["class"])]),
440
+ _: 3
441
+ })]),
442
+ _: 3
443
+ });
444
+ };
445
+ }
446
+ });
447
+ //#endregion
448
+ //#region src/drawer/DrawerDescription.vue
449
+ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
450
+ __name: "DrawerDescription",
451
+ props: {
452
+ class: { type: [
453
+ Boolean,
454
+ null,
455
+ String,
456
+ Object,
457
+ Array
458
+ ] },
459
+ asChild: { type: Boolean },
460
+ as: { default: "p" }
461
+ },
462
+ setup(__props) {
463
+ const props = __props;
464
+ const delegatedProps = reactiveOmit(props, "class");
465
+ return (_ctx, _cache) => {
466
+ return openBlock(), createBlock(unref(DialogDescription), mergeProps({ class: unref(clsx)("arvue-drawer-description", props.class) }, unref(delegatedProps)), {
467
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
468
+ _: 3
469
+ }, 16, ["class"]);
470
+ };
471
+ }
472
+ });
473
+ //#endregion
474
+ //#region src/drawer/DrawerFooter.vue
475
+ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
476
+ __name: "DrawerFooter",
477
+ props: {
478
+ class: { type: [
479
+ Boolean,
480
+ null,
481
+ String,
482
+ Object,
483
+ Array
484
+ ] },
485
+ asChild: { type: Boolean },
486
+ as: {}
487
+ },
488
+ setup(__props) {
489
+ const props = __props;
490
+ const delegatedProps = reactiveOmit(props, "class");
491
+ return (_ctx, _cache) => {
492
+ return openBlock(), createBlock(unref(Primitive), mergeProps({ class: unref(clsx)("arvue-drawer-footer", props.class) }, unref(delegatedProps)), {
493
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
494
+ _: 3
495
+ }, 16, ["class"]);
496
+ };
497
+ }
498
+ });
499
+ //#endregion
500
+ //#region src/drawer/DrawerHeader.vue
501
+ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
502
+ __name: "DrawerHeader",
503
+ props: {
504
+ class: { type: [
505
+ Boolean,
506
+ null,
507
+ String,
508
+ Object,
509
+ Array
510
+ ] },
511
+ asChild: { type: Boolean },
512
+ as: {}
513
+ },
514
+ setup(__props) {
515
+ const props = __props;
516
+ const delegatedProps = reactiveOmit(props, "class");
517
+ return (_ctx, _cache) => {
518
+ return openBlock(), createBlock(unref(Primitive), mergeProps({ class: unref(clsx)("arvue-drawer-header", props.class) }, unref(delegatedProps)), {
519
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
520
+ _: 3
521
+ }, 16, ["class"]);
522
+ };
523
+ }
524
+ });
525
+ //#endregion
526
+ //#region src/drawer/DrawerOverlay.vue
527
+ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
528
+ __name: "DrawerOverlay",
529
+ props: {
530
+ class: { type: [
531
+ Boolean,
532
+ null,
533
+ String,
534
+ Object,
535
+ Array
536
+ ] },
537
+ forceMount: { type: Boolean },
538
+ asChild: { type: Boolean },
539
+ as: {}
540
+ },
541
+ setup(__props) {
542
+ const props = __props;
543
+ const delegatedProps = reactiveOmit(props, "class");
544
+ return (_ctx, _cache) => {
545
+ return openBlock(), createBlock(unref(DialogOverlay), mergeProps(unref(delegatedProps), { class: unref(clsx)("arvue-drawer-overlay", props.class) }), {
546
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
547
+ _: 3
548
+ }, 16, ["class"]);
549
+ };
550
+ }
551
+ });
552
+ //#endregion
553
+ //#region src/drawer/DrawerTitle.vue
554
+ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
555
+ __name: "DrawerTitle",
556
+ props: {
557
+ class: { type: [
558
+ Boolean,
559
+ null,
560
+ String,
561
+ Object,
562
+ Array
563
+ ] },
564
+ asChild: { type: Boolean },
565
+ as: { default: "h3" }
566
+ },
567
+ setup(__props) {
568
+ const props = __props;
569
+ const delegatedProps = reactiveOmit(props, "class");
570
+ return (_ctx, _cache) => {
571
+ return openBlock(), createBlock(unref(DialogTitle), mergeProps({ class: unref(clsx)("arvue-drawer-title", props.class) }, unref(delegatedProps)), {
572
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
573
+ _: 3
574
+ }, 16, ["class"]);
575
+ };
576
+ }
577
+ });
578
+ //#endregion
579
+ //#region src/drawer/DrawerTrigger.vue
580
+ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
581
+ __name: "DrawerTrigger",
582
+ props: {
583
+ asChild: { type: Boolean },
584
+ as: {}
585
+ },
586
+ setup(__props) {
587
+ const props = __props;
588
+ return (_ctx, _cache) => {
589
+ return openBlock(), createBlock(unref(DialogTrigger), normalizeProps(guardReactiveProps(props)), {
590
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
591
+ _: 3
592
+ }, 16);
593
+ };
594
+ }
595
+ });
596
+ //#endregion
597
+ 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, _sfc_main$9 as Drawer, _sfc_main$10 as DrawerClose, _sfc_main$11 as DrawerContent, _sfc_main$12 as DrawerDescription, _sfc_main$13 as DrawerFooter, _sfc_main$14 as DrawerHeader, _sfc_main$15 as DrawerOverlay, _sfc_main$16 as DrawerTitle, _sfc_main$17 as DrawerTrigger };
294
598
 
295
599
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +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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"}
1
+ {"version":3,"file":"index.js","names":["$attrs","$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","../src/drawer/Drawer.vue","../src/drawer/DrawerClose.vue","../src/drawer/DrawerContent.vue","../src/drawer/DrawerDescription.vue","../src/drawer/DrawerFooter.vue","../src/drawer/DrawerHeader.vue","../src/drawer/DrawerOverlay.vue","../src/drawer/DrawerTitle.vue","../src/drawer/DrawerTrigger.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 <DialogDescription\n :class=\"clsx('arvue-dialog-description', props.class)\"\n v-bind=\"delegatedProps\"\n >\n <slot/>\n </DialogDescription>\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 { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { DialogDescription } from 'reka-ui'\n\nconst props = withDefaults(defineProps<DialogDescriptionProps>(), {\n as: 'p',\n})\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n","<style>\n@import \"./dialog-footer.css\";\n</style>\n\n<template>\n <Primitive\n :class=\"clsx('arvue-dialog-footer', props.class)\"\n v-bind=\"delegatedProps\"\n >\n <slot/>\n </Primitive>\n</template>\n\n<script lang=\"ts\">\nimport type { PrimitiveProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DialogFooterProps extends PrimitiveProps {\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { Primitive } from 'reka-ui'\n\nconst props = defineProps<DialogFooterProps>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n","<style>\n@import \"./dialog-header.css\";\n</style>\n\n<template>\n <Primitive\n :class=\"clsx('arvue-dialog-header', props.class)\"\n v-bind=\"delegatedProps\"\n >\n <slot/>\n </Primitive>\n</template>\n\n<script lang=\"ts\">\nimport type { PrimitiveProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DialogHeaderProps extends PrimitiveProps {\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { Primitive } from 'reka-ui'\n\nconst props = defineProps<DialogHeaderProps>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\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 <DialogTitle\n :class=\"clsx('arvue-dialog-title', props.class)\"\n v-bind=\"delegatedProps\"\n >\n <slot/>\n </DialogTitle>\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 { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { DialogTitle } from 'reka-ui'\n\nconst props = withDefaults(defineProps<DialogTitleProps>(), {\n as: 'h3',\n})\n\nconst delegatedProps = reactiveOmit(props, 'class')\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","<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 DrawerProps extends DialogRootProps {\n class?: HTMLAttributes['class']\n}\nexport interface DrawerEmits extends DialogRootEmits {}\n</script>\n\n<script setup lang=\"ts\">\nimport { DialogRoot, useForwardPropsEmits } from 'reka-ui'\n\nconst props = defineProps<DrawerProps>()\nconst emits = defineEmits<DrawerEmits>()\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 } from 'reka-ui'\n\nexport interface DrawerCloseProps extends DialogCloseProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { DialogClose } from 'reka-ui'\n\nconst props = withDefaults(defineProps<DrawerCloseProps>(), {\n as: 'a',\n})\n</script>\n","<style>\n@import './drawer-content.css';\n</style>\n\n<template>\n <DialogPortal>\n <AnimatePresence as=\"div\">\n <DrawerOverlay as-child>\n <Motion\n :initial=\"{ opacity: 0 }\"\n :animate=\"{ opacity: 1 }\"\n :exit=\"{ opacity: 0 }\"\n :transition=\"{\n duration: .3,\n ease: 'easeInOut',\n }\"\n />\n </DrawerOverlay>\n <DialogContent\n :class=\"clsx(\n 'arvue-drawer-content',\n side === 'top' && 'top',\n side === 'right' && 'right',\n side === 'bottom' && 'bottom',\n side === 'left' && 'left',\n props.class,\n )\"\n v-bind=\"{ ...$attrs, ...forwarded }\"\n as-child\n >\n <Motion\n v-bind=\"motionProps\"\n :transition=\"{\n duration: .3,\n ease: 'easeIn',\n }\"\n >\n <slot/>\n <DrawerClose\n v-if=\"showCloseButton\"\n class=\"arvue-drawer-close-button icon\"\n >\n <i class=\"fas fa-times\"/>\n </DrawerClose>\n </Motion>\n </DialogContent>\n </AnimatePresence>\n </DialogPortal>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogContentEmits, DialogContentProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DrawerContentEmits extends DialogContentEmits {\n}\n\nexport interface DrawerContentProps extends DialogContentProps {\n class?: HTMLAttributes['class']\n side?: 'top' | 'right' | 'bottom' | 'left'\n showCloseButton?: boolean\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 { computed } from 'vue'\nimport { DrawerClose, DrawerOverlay } from '.'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DrawerContentProps>(), {\n side: 'right',\n showCloseButton: true,\n})\nconst emits = defineEmits<DrawerContentEmits>()\n\nconst delegatedProps = reactiveOmit(props, 'class', 'side')\n\nconst forwarded = useForwardPropsEmits(delegatedProps, emits)\n\nconst sideMotion = {\n top: { initial: { y: '-100%' }, animate: { y: 0 }, exit: { y: '-100%' } },\n bottom: { initial: { y: '100%' }, animate: { y: 0 }, exit: { y: '100%' } },\n left: { initial: { x: '-100%' }, animate: { x: 0 }, exit: { x: '-100%' } },\n right: { initial: { x: '100%' }, animate: { x: 0 }, exit: { x: '100%' } },\n} satisfies Record<NonNullable<DrawerContentProps['side']>, object>\n\nconst motionProps = computed(() => sideMotion[props.side])\n</script>\n","<style>\n@import \"./drawer-description.css\";\n</style>\n\n<template>\n <DialogDescription\n :class=\"clsx('arvue-drawer-description', props.class)\"\n v-bind=\"delegatedProps\"\n >\n <slot/>\n </DialogDescription>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogDescriptionProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DrawerDescriptionProps extends DialogDescriptionProps {\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { DialogDescription } from 'reka-ui'\n\nconst props = withDefaults(defineProps<DrawerDescriptionProps>(), {\n as: 'p',\n})\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n","<style>\n@import \"./drawer-footer.css\";\n</style>\n\n<template>\n <Primitive\n :class=\"clsx('arvue-drawer-footer', props.class)\"\n v-bind=\"delegatedProps\"\n >\n <slot/>\n </Primitive>\n</template>\n\n<script lang=\"ts\">\nimport type { PrimitiveProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DrawerFooterProps extends PrimitiveProps {\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { Primitive } from 'reka-ui'\n\nconst props = defineProps<DrawerFooterProps>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n","<style>\n@import \"./drawer-header.css\";\n</style>\n\n<template>\n <Primitive\n :class=\"clsx('arvue-drawer-header', props.class)\"\n v-bind=\"delegatedProps\"\n >\n <slot/>\n </Primitive>\n</template>\n\n<script lang=\"ts\">\nimport type { PrimitiveProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DrawerHeaderProps extends PrimitiveProps {\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { Primitive } from 'reka-ui'\n\nconst props = defineProps<DrawerHeaderProps>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n","<style>\n@import './drawer-overlay.css';\n</style>\n\n<template>\n <DialogOverlay\n v-bind=\"delegatedProps\"\n :class=\"clsx('arvue-drawer-overlay', props.class)\"\n >\n <slot/>\n </DialogOverlay>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogOverlayProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DrawerOverlayProps extends DialogOverlayProps {\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<DrawerOverlayProps>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n","<style>\n@import \"./drawer-title.css\";\n</style>\n\n<template>\n <DialogTitle\n :class=\"clsx('arvue-drawer-title', props.class)\"\n v-bind=\"delegatedProps\"\n >\n <slot/>\n </DialogTitle>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogTitleProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface DrawerTitleProps extends DialogTitleProps {\n class?: HTMLAttributes['class']\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { DialogTitle } from 'reka-ui'\n\nconst props = withDefaults(defineProps<DrawerTitleProps>(), {\n as: 'h3',\n})\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n","<template>\n <DialogTrigger v-bind=\"props\">\n <slot/>\n </DialogTrigger>\n</template>\n\n<script lang=\"ts\">\nimport type { DialogTriggerProps } from 'reka-ui'\n\nexport interface DrawerTriggerProps extends DialogTriggerProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { DialogTrigger } from 'reka-ui'\n\nconst props = defineProps<DrawerTriggerProps>()\n</script>\n"],"x_google_ignoreList":[2],"mappings":"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"}
package/dist/style.css CHANGED
@@ -10,3 +10,15 @@
10
10
  @import './dialog-overlay.css';
11
11
 
12
12
  @import "./dialog-title.css";
13
+
14
+ @import './drawer-content.css';
15
+
16
+ @import "./drawer-description.css";
17
+
18
+ @import "./drawer-footer.css";
19
+
20
+ @import "./drawer-header.css";
21
+
22
+ @import './drawer-overlay.css';
23
+
24
+ @import "./drawer-title.css";
package/package.json CHANGED
@@ -1,14 +1,19 @@
1
1
  {
2
2
  "name": "arvue-ui",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/Articus-Company/arvue-ui.git",
7
+ "directory": "packages/arvue-ui"
8
+ },
4
9
  "keywords": [
5
10
  "ui",
6
11
  "vue",
7
12
  "components",
8
13
  "webasyst"
9
14
  ],
10
- "author": "",
11
- "license": "MTI",
15
+ "author": "Articus-Company",
16
+ "license": "MIT",
12
17
  "sideEffects": false,
13
18
  "type": "module",
14
19
  "exports": {
@@ -3,23 +3,31 @@
3
3
  </style>
4
4
 
5
5
  <template>
6
- <Primitive :class="clsx('arvue-dialog-description', props.class)">
6
+ <DialogDescription
7
+ :class="clsx('arvue-dialog-description', props.class)"
8
+ v-bind="delegatedProps"
9
+ >
7
10
  <slot/>
8
- </Primitive>
11
+ </DialogDescription>
9
12
  </template>
10
13
 
11
14
  <script lang="ts">
12
15
  import type { DialogDescriptionProps as RekaDialogDescriptionProps } from 'reka-ui'
13
16
  import type { HTMLAttributes } from 'vue'
14
17
 
15
- export interface DialogDescriptionProps extends RekaDialogDescriptionProps{
18
+ export interface DialogDescriptionProps extends RekaDialogDescriptionProps {
16
19
  class?: HTMLAttributes['class']
17
20
  }
18
21
  </script>
19
22
 
20
23
  <script setup lang="ts">
24
+ import { reactiveOmit } from '@vueuse/core'
21
25
  import { clsx } from 'clsx'
22
- import { Primitive } from 'reka-ui'
26
+ import { DialogDescription } from 'reka-ui'
23
27
 
24
- const props = defineProps<DialogDescriptionProps>()
28
+ const props = withDefaults(defineProps<DialogDescriptionProps>(), {
29
+ as: 'p',
30
+ })
31
+
32
+ const delegatedProps = reactiveOmit(props, 'class')
25
33
  </script>
@@ -3,22 +3,29 @@
3
3
  </style>
4
4
 
5
5
  <template>
6
- <Primitive :class="clsx('arvue-dialog-footer', props.class)">
6
+ <Primitive
7
+ :class="clsx('arvue-dialog-footer', props.class)"
8
+ v-bind="delegatedProps"
9
+ >
7
10
  <slot/>
8
11
  </Primitive>
9
12
  </template>
10
13
 
11
14
  <script lang="ts">
15
+ import type { PrimitiveProps } from 'reka-ui'
12
16
  import type { HTMLAttributes } from 'vue'
13
17
 
14
- export interface DialogFooterProps {
18
+ export interface DialogFooterProps extends PrimitiveProps {
15
19
  class?: HTMLAttributes['class']
16
20
  }
17
21
  </script>
18
22
 
19
23
  <script setup lang="ts">
24
+ import { reactiveOmit } from '@vueuse/core'
20
25
  import { clsx } from 'clsx'
21
26
  import { Primitive } from 'reka-ui'
22
27
 
23
28
  const props = defineProps<DialogFooterProps>()
29
+
30
+ const delegatedProps = reactiveOmit(props, 'class')
24
31
  </script>
@@ -3,22 +3,29 @@
3
3
  </style>
4
4
 
5
5
  <template>
6
- <Primitive :class="clsx('arvue-dialog-header', props.class)">
6
+ <Primitive
7
+ :class="clsx('arvue-dialog-header', props.class)"
8
+ v-bind="delegatedProps"
9
+ >
7
10
  <slot/>
8
11
  </Primitive>
9
12
  </template>
10
13
 
11
14
  <script lang="ts">
15
+ import type { PrimitiveProps } from 'reka-ui'
12
16
  import type { HTMLAttributes } from 'vue'
13
17
 
14
- export interface DialogHeaderProps {
18
+ export interface DialogHeaderProps extends PrimitiveProps {
15
19
  class?: HTMLAttributes['class']
16
20
  }
17
21
  </script>
18
22
 
19
23
  <script setup lang="ts">
24
+ import { reactiveOmit } from '@vueuse/core'
20
25
  import { clsx } from 'clsx'
21
26
  import { Primitive } from 'reka-ui'
22
27
 
23
28
  const props = defineProps<DialogHeaderProps>()
29
+
30
+ const delegatedProps = reactiveOmit(props, 'class')
24
31
  </script>