@lglab/compose-ui 0.20.0 → 0.21.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 (107) hide show
  1. package/dist/accordion.d.ts +40 -0
  2. package/dist/accordion.js +46 -0
  3. package/dist/alert-dialog.d.ts +87 -0
  4. package/dist/alert-dialog.js +112 -0
  5. package/dist/arrow-svg-C6zQTvgS.js +40 -0
  6. package/dist/avatar.d.ts +47 -0
  7. package/dist/avatar.js +81 -0
  8. package/dist/button-variants-CbFMPwc8.js +33 -0
  9. package/dist/button.d.ts +21 -0
  10. package/dist/button.js +25 -0
  11. package/dist/card.d.ts +99 -0
  12. package/dist/card.js +67 -0
  13. package/dist/collapsible.d.ts +26 -0
  14. package/dist/collapsible.js +33 -0
  15. package/dist/context-menu.d.ts +138 -0
  16. package/dist/context-menu.js +174 -0
  17. package/dist/control-variants-Bwep4n0y.js +37 -0
  18. package/dist/dialog.d.ts +92 -0
  19. package/dist/dialog.js +106 -0
  20. package/dist/drawer.d.ts +99 -0
  21. package/dist/drawer.js +112 -0
  22. package/dist/index.d.ts +1284 -47
  23. package/dist/index.js +186 -0
  24. package/dist/menu.d.ts +138 -0
  25. package/dist/menu.js +147 -0
  26. package/dist/menubar.d.ts +155 -0
  27. package/dist/menubar.js +170 -0
  28. package/dist/meter.d.ts +43 -0
  29. package/dist/meter.js +66 -0
  30. package/dist/popover.d.ts +82 -0
  31. package/dist/popover.js +95 -0
  32. package/dist/progress.d.ts +40 -0
  33. package/dist/progress.js +51 -0
  34. package/dist/scroll-area.d.ts +47 -0
  35. package/dist/scroll-area.js +57 -0
  36. package/dist/separator.d.ts +12 -0
  37. package/dist/separator.js +24 -0
  38. package/dist/slider.d.ts +47 -0
  39. package/dist/slider.js +63 -0
  40. package/dist/switch.d.ts +19 -0
  41. package/dist/switch.js +40 -0
  42. package/dist/tabs.d.ts +49 -0
  43. package/dist/tabs.js +85 -0
  44. package/dist/toggle-group.d.ts +29 -0
  45. package/dist/toggle-group.js +35 -0
  46. package/dist/toggle.d.ts +21 -0
  47. package/dist/toggle.js +16 -0
  48. package/dist/tooltip.d.ts +62 -0
  49. package/dist/tooltip.js +93 -0
  50. package/dist/utils-B6yFEsav.js +8 -0
  51. package/package.json +92 -4
  52. package/dist/components/accordion.d.ts +0 -30
  53. package/dist/components/accordion.d.ts.map +0 -1
  54. package/dist/components/alert-dialog.d.ts +0 -64
  55. package/dist/components/alert-dialog.d.ts.map +0 -1
  56. package/dist/components/avatar.d.ts +0 -38
  57. package/dist/components/avatar.d.ts.map +0 -1
  58. package/dist/components/button.d.ts +0 -16
  59. package/dist/components/button.d.ts.map +0 -1
  60. package/dist/components/card.d.ts +0 -79
  61. package/dist/components/card.d.ts.map +0 -1
  62. package/dist/components/collapsible.d.ts +0 -20
  63. package/dist/components/collapsible.d.ts.map +0 -1
  64. package/dist/components/context-menu.d.ts +0 -100
  65. package/dist/components/context-menu.d.ts.map +0 -1
  66. package/dist/components/dialog.d.ts +0 -69
  67. package/dist/components/dialog.d.ts.map +0 -1
  68. package/dist/components/drawer.d.ts +0 -74
  69. package/dist/components/drawer.d.ts.map +0 -1
  70. package/dist/components/menu.d.ts +0 -100
  71. package/dist/components/menu.d.ts.map +0 -1
  72. package/dist/components/menubar.d.ts +0 -112
  73. package/dist/components/menubar.d.ts.map +0 -1
  74. package/dist/components/meter.d.ts +0 -33
  75. package/dist/components/meter.d.ts.map +0 -1
  76. package/dist/components/popover.d.ts +0 -60
  77. package/dist/components/popover.d.ts.map +0 -1
  78. package/dist/components/progress.d.ts +0 -30
  79. package/dist/components/progress.d.ts.map +0 -1
  80. package/dist/components/scroll-area.d.ts +0 -35
  81. package/dist/components/scroll-area.d.ts.map +0 -1
  82. package/dist/components/separator.d.ts +0 -10
  83. package/dist/components/separator.d.ts.map +0 -1
  84. package/dist/components/slider.d.ts +0 -35
  85. package/dist/components/slider.d.ts.map +0 -1
  86. package/dist/components/switch.d.ts +0 -15
  87. package/dist/components/switch.d.ts.map +0 -1
  88. package/dist/components/tabs.d.ts +0 -39
  89. package/dist/components/tabs.d.ts.map +0 -1
  90. package/dist/components/toggle-group.d.ts +0 -22
  91. package/dist/components/toggle-group.d.ts.map +0 -1
  92. package/dist/components/toggle.d.ts +0 -16
  93. package/dist/components/toggle.d.ts.map +0 -1
  94. package/dist/components/tooltip.d.ts +0 -47
  95. package/dist/components/tooltip.d.ts.map +0 -1
  96. package/dist/index.d.ts.map +0 -1
  97. package/dist/index.es.js +0 -1666
  98. package/dist/lib/arrow-svg.d.ts +0 -9
  99. package/dist/lib/arrow-svg.d.ts.map +0 -1
  100. package/dist/lib/button-variants.d.ts +0 -7
  101. package/dist/lib/button-variants.d.ts.map +0 -1
  102. package/dist/lib/control-variants.d.ts +0 -7
  103. package/dist/lib/control-variants.d.ts.map +0 -1
  104. package/dist/lib/tooltip-variants.d.ts +0 -9
  105. package/dist/lib/tooltip-variants.d.ts.map +0 -1
  106. package/dist/lib/utils.d.ts +0 -3
  107. package/dist/lib/utils.d.ts.map +0 -1
@@ -0,0 +1,40 @@
1
+ import { Accordion } from '@base-ui/react/accordion';
2
+ import { JSX } from 'react/jsx-runtime';
3
+ import * as React_2 from 'react';
4
+
5
+ export declare const AccordionHeader: {
6
+ ({ className, ...props }: AccordionHeaderProps): JSX.Element;
7
+ displayName: string;
8
+ };
9
+
10
+ export declare type AccordionHeaderProps = React_2.ComponentProps<typeof Accordion.Header>;
11
+
12
+ export declare const AccordionItem: {
13
+ ({ className, ...props }: AccordionItemProps): JSX.Element;
14
+ displayName: string;
15
+ };
16
+
17
+ export declare type AccordionItemProps = React_2.ComponentProps<typeof Accordion.Item>;
18
+
19
+ export declare const AccordionPanel: {
20
+ ({ className, ...props }: AccordionPanelProps): JSX.Element;
21
+ displayName: string;
22
+ };
23
+
24
+ export declare type AccordionPanelProps = React_2.ComponentProps<typeof Accordion.Panel>;
25
+
26
+ export declare const AccordionRoot: {
27
+ ({ className, ...props }: AccordionRootProps): JSX.Element;
28
+ displayName: string;
29
+ };
30
+
31
+ export declare type AccordionRootProps = React_2.ComponentProps<typeof Accordion.Root>;
32
+
33
+ export declare const AccordionTrigger: {
34
+ ({ className, children, ...props }: AccordionTriggerProps): JSX.Element;
35
+ displayName: string;
36
+ };
37
+
38
+ export declare type AccordionTriggerProps = React_2.ComponentProps<typeof Accordion.Trigger>;
39
+
40
+ export { }
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import { jsx as r } from "react/jsx-runtime";
3
+ import { Accordion as t } from "@base-ui/react/accordion";
4
+ import { c as a } from "./utils-B6yFEsav.js";
5
+ const n = ({ className: e, ...o }) => /* @__PURE__ */ r(t.Root, { className: a("w-full", e), ...o });
6
+ n.displayName = "AccordionRoot";
7
+ const i = ({ className: e, ...o }) => /* @__PURE__ */ r(
8
+ t.Item,
9
+ {
10
+ className: a("border-b border-border last:border-b-0", e),
11
+ ...o
12
+ }
13
+ );
14
+ i.displayName = "AccordionItem";
15
+ const d = ({ className: e, ...o }) => /* @__PURE__ */ r(t.Header, { className: a("flex", e), ...o });
16
+ d.displayName = "AccordionHeader";
17
+ const s = ({ className: e, children: o, ...c }) => /* @__PURE__ */ r(
18
+ t.Trigger,
19
+ {
20
+ className: a(
21
+ "flex flex-1 items-center justify-between py-3 font-medium",
22
+ e
23
+ ),
24
+ ...c,
25
+ children: o
26
+ }
27
+ );
28
+ s.displayName = "AccordionTrigger";
29
+ const l = ({ className: e, ...o }) => /* @__PURE__ */ r(
30
+ t.Panel,
31
+ {
32
+ className: a(
33
+ "overflow-hidden duration-200 h-(--accordion-panel-height) transition-height ease-out data-ending-style:h-0 data-starting-style:h-0",
34
+ e
35
+ ),
36
+ ...o
37
+ }
38
+ );
39
+ l.displayName = "AccordionPanel";
40
+ export {
41
+ d as AccordionHeader,
42
+ i as AccordionItem,
43
+ l as AccordionPanel,
44
+ n as AccordionRoot,
45
+ s as AccordionTrigger
46
+ };
@@ -0,0 +1,87 @@
1
+ import { AlertDialog } from '@base-ui/react/alert-dialog';
2
+ import { JSX } from 'react/jsx-runtime';
3
+ import * as React_2 from 'react';
4
+
5
+ export { AlertDialog }
6
+
7
+ export declare const AlertDialogBackdrop: {
8
+ ({ className, ...props }: AlertDialogBackdropProps): JSX.Element;
9
+ displayName: string;
10
+ };
11
+
12
+ export declare type AlertDialogBackdropProps = React_2.ComponentProps<typeof AlertDialog.Backdrop>;
13
+
14
+ export declare const AlertDialogClose: {
15
+ ({ className, variant, size, ...props }: AlertDialogCloseProps): JSX.Element;
16
+ displayName: string;
17
+ };
18
+
19
+ export declare type AlertDialogCloseProps = React_2.ComponentProps<typeof AlertDialog.Close> & {
20
+ /** Visual style variant */
21
+ variant?: ButtonVariant;
22
+ /** Size of the close button */
23
+ size?: ButtonSize;
24
+ };
25
+
26
+ export declare const AlertDialogDescription: {
27
+ ({ className, ...props }: AlertDialogDescriptionProps): JSX.Element;
28
+ displayName: string;
29
+ };
30
+
31
+ export declare type AlertDialogDescriptionProps = React_2.ComponentProps<typeof AlertDialog.Description>;
32
+
33
+ export declare const AlertDialogPopup: {
34
+ ({ className, size, ...props }: AlertDialogPopupProps): JSX.Element;
35
+ displayName: string;
36
+ };
37
+
38
+ export declare type AlertDialogPopupProps = React_2.ComponentProps<typeof AlertDialog.Popup> & {
39
+ /** Size of the alert dialog popup */
40
+ size?: 'sm' | 'default' | 'lg' | 'xl' | 'full';
41
+ };
42
+
43
+ export declare const AlertDialogPortal: {
44
+ (props: AlertDialogPortalProps): JSX.Element;
45
+ displayName: string;
46
+ };
47
+
48
+ export declare type AlertDialogPortalProps = React_2.ComponentProps<typeof AlertDialog.Portal>;
49
+
50
+ export declare const AlertDialogRoot: {
51
+ (props: AlertDialogRootProps): JSX.Element;
52
+ displayName: string;
53
+ };
54
+
55
+ export declare type AlertDialogRootProps = React_2.ComponentProps<typeof AlertDialog.Root>;
56
+
57
+ export declare const AlertDialogTitle: {
58
+ ({ className, ...props }: AlertDialogTitleProps): JSX.Element;
59
+ displayName: string;
60
+ };
61
+
62
+ export declare type AlertDialogTitleProps = React_2.ComponentProps<typeof AlertDialog.Title>;
63
+
64
+ export declare const AlertDialogTrigger: {
65
+ ({ className, variant, size, ...props }: AlertDialogTriggerProps): JSX.Element;
66
+ displayName: string;
67
+ };
68
+
69
+ export declare type AlertDialogTriggerProps = React_2.ComponentProps<typeof AlertDialog.Trigger> & {
70
+ /** Visual style variant */
71
+ variant?: ButtonVariant;
72
+ /** Size of the trigger button */
73
+ size?: ButtonSize;
74
+ };
75
+
76
+ export declare const AlertDialogViewport: {
77
+ ({ className, ...props }: AlertDialogViewportProps): JSX.Element;
78
+ displayName: string;
79
+ };
80
+
81
+ export declare type AlertDialogViewportProps = React_2.ComponentProps<typeof AlertDialog.Viewport>;
82
+
83
+ declare type ButtonSize = 'sm' | 'default' | 'lg' | 'icon' | 'icon-sm' | 'icon-lg';
84
+
85
+ declare type ButtonVariant = 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link';
86
+
87
+ export { }
@@ -0,0 +1,112 @@
1
+ "use client";
2
+ import { jsx as e } from "react/jsx-runtime";
3
+ import { AlertDialog as l } from "@base-ui/react/alert-dialog";
4
+ import { AlertDialog as T } from "@base-ui/react/alert-dialog";
5
+ import { cva as n } from "class-variance-authority";
6
+ import { b as s } from "./button-variants-CbFMPwc8.js";
7
+ import { c as r } from "./utils-B6yFEsav.js";
8
+ const d = (a) => /* @__PURE__ */ e(l.Root, { ...a });
9
+ d.displayName = "AlertDialogRoot";
10
+ const g = ({
11
+ className: a,
12
+ variant: t,
13
+ size: o,
14
+ ...i
15
+ }) => /* @__PURE__ */ e(
16
+ l.Trigger,
17
+ {
18
+ className: r(s({ variant: t, size: o }), a),
19
+ ...i
20
+ }
21
+ );
22
+ g.displayName = "AlertDialogTrigger";
23
+ const c = (a) => /* @__PURE__ */ e(l.Portal, { ...a });
24
+ c.displayName = "AlertDialogPortal";
25
+ const p = ({ className: a, ...t }) => /* @__PURE__ */ e(
26
+ l.Backdrop,
27
+ {
28
+ className: r(
29
+ "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",
30
+ "transition-opacity duration-200",
31
+ "data-starting-style:opacity-0 data-ending-style:opacity-0",
32
+ a
33
+ ),
34
+ ...t
35
+ }
36
+ );
37
+ p.displayName = "AlertDialogBackdrop";
38
+ const m = ({ className: a, ...t }) => /* @__PURE__ */ e(
39
+ l.Viewport,
40
+ {
41
+ className: r("fixed inset-0 z-50 flex items-center justify-center p-4", a),
42
+ ...t
43
+ }
44
+ );
45
+ m.displayName = "AlertDialogViewport";
46
+ const u = n(
47
+ [
48
+ "fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2",
49
+ "w-full max-w-[calc(100vw-2rem)] rounded-lg border border-border bg-background p-6 shadow-lg",
50
+ "transition-all duration-200",
51
+ "data-[starting-style]:scale-95 data-[starting-style]:opacity-0",
52
+ "data-[ending-style]:scale-95 data-[ending-style]:opacity-0",
53
+ "top-[calc(50%+1.25rem*var(--nested-dialogs))] scale-[calc(1-0.1*var(--nested-dialogs))]",
54
+ "data-[nested-dialog-open]:after:absolute data-[nested-dialog-open]:after:inset-0 data-[nested-dialog-open]:after:rounded-[inherit] data-[nested-dialog-open]:after:bg-black/5"
55
+ ],
56
+ {
57
+ variants: {
58
+ size: {
59
+ sm: "w-sm",
60
+ default: "w-lg",
61
+ lg: "w-2xl",
62
+ xl: "w-4xl",
63
+ full: "h-[calc(100vh-2rem)]"
64
+ }
65
+ },
66
+ defaultVariants: {
67
+ size: "default"
68
+ }
69
+ }
70
+ ), D = ({ className: a, size: t, ...o }) => /* @__PURE__ */ e(
71
+ l.Popup,
72
+ {
73
+ className: r(u({ size: t }), a),
74
+ ...o
75
+ }
76
+ );
77
+ D.displayName = "AlertDialogPopup";
78
+ const f = ({ className: a, ...t }) => /* @__PURE__ */ e(
79
+ l.Title,
80
+ {
81
+ className: r("text-lg font-semibold leading-none tracking-tight", a),
82
+ ...t
83
+ }
84
+ );
85
+ f.displayName = "AlertDialogTitle";
86
+ const y = ({ className: a, ...t }) => /* @__PURE__ */ e(l.Description, { className: r("mt-2", a), ...t });
87
+ y.displayName = "AlertDialogDescription";
88
+ const A = ({
89
+ className: a,
90
+ variant: t,
91
+ size: o,
92
+ ...i
93
+ }) => /* @__PURE__ */ e(
94
+ l.Close,
95
+ {
96
+ className: r(s({ variant: t ?? "outline", size: o }), a),
97
+ ...i
98
+ }
99
+ );
100
+ A.displayName = "AlertDialogClose";
101
+ export {
102
+ T as AlertDialog,
103
+ p as AlertDialogBackdrop,
104
+ A as AlertDialogClose,
105
+ y as AlertDialogDescription,
106
+ D as AlertDialogPopup,
107
+ c as AlertDialogPortal,
108
+ d as AlertDialogRoot,
109
+ f as AlertDialogTitle,
110
+ g as AlertDialogTrigger,
111
+ m as AlertDialogViewport
112
+ };
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ import { jsxs as l, jsx as r } from "react/jsx-runtime";
3
+ import { c as o } from "./utils-B6yFEsav.js";
4
+ function n({
5
+ fillClassName: s = "fill-background",
6
+ strokeClassName: e = "fill-border",
7
+ className: a,
8
+ ...i
9
+ }) {
10
+ return /* @__PURE__ */ l(
11
+ "svg",
12
+ {
13
+ width: "20",
14
+ height: "10",
15
+ viewBox: "0 0 20 10",
16
+ fill: "none",
17
+ className: o(a),
18
+ ...i,
19
+ children: [
20
+ /* @__PURE__ */ r(
21
+ "path",
22
+ {
23
+ d: "M9.66437 2.60207L4.80758 6.97318C4.07308 7.63423 3.11989 8 2.13172 8H0V10H20V8H18.5349C17.5468 8 16.5936 7.63423 15.8591 6.97318L11.0023 2.60207C10.622 2.2598 10.0447 2.25979 9.66437 2.60207Z",
24
+ className: s
25
+ }
26
+ ),
27
+ /* @__PURE__ */ r(
28
+ "path",
29
+ {
30
+ d: "M10.3333 3.34539L5.47654 7.71648C4.55842 8.54279 3.36693 9 2.13172 9H0V8H2.13172C3.11989 8 4.07308 7.63423 4.80758 6.97318L9.66437 2.60207C10.0447 2.25979 10.622 2.2598 11.0023 2.60207L15.8591 6.97318C16.5936 7.63423 17.5468 8 18.5349 8H20V9H18.5349C17.2998 9 16.1083 8.54278 15.1901 7.71648L10.3333 3.34539Z",
31
+ className: e
32
+ }
33
+ )
34
+ ]
35
+ }
36
+ );
37
+ }
38
+ export {
39
+ n as A
40
+ };
@@ -0,0 +1,47 @@
1
+ import { Avatar } from '@base-ui/react/avatar';
2
+ import { JSX } from 'react/jsx-runtime';
3
+ import * as React_2 from 'react';
4
+
5
+ export declare const AvatarFallback: {
6
+ ({ className, ...props }: AvatarFallbackProps): JSX.Element;
7
+ displayName: string;
8
+ };
9
+
10
+ export declare type AvatarFallbackProps = React_2.ComponentProps<typeof Avatar.Fallback>;
11
+
12
+ export declare const AvatarImage: {
13
+ ({ className, ...props }: AvatarImageProps): JSX.Element;
14
+ displayName: string;
15
+ };
16
+
17
+ export declare type AvatarImageProps = React_2.ComponentProps<typeof Avatar.Image>;
18
+
19
+ export declare const AvatarRoot: {
20
+ ({ className, size, ...props }: AvatarRootProps): JSX.Element;
21
+ displayName: string;
22
+ };
23
+
24
+ export declare type AvatarRootProps = React_2.ComponentProps<typeof Avatar.Root> & {
25
+ /** Size of the avatar */
26
+ size?: AvatarSize;
27
+ };
28
+
29
+ declare type AvatarSize = 'sm' | 'default' | 'lg';
30
+
31
+ export declare const AvatarStack: {
32
+ ({ "aria-label": ariaLabel, maxVisible, className, children, }: AvatarStackProps): JSX.Element;
33
+ displayName: string;
34
+ };
35
+
36
+ export declare type AvatarStackProps = {
37
+ /** ARIA label for the avatar stack list */
38
+ 'aria-label': string;
39
+ /** Maximum number of avatars to display before showing overflow indicator */
40
+ maxVisible?: number;
41
+ /** Additional CSS classes */
42
+ className?: string;
43
+ /** Avatar components to display */
44
+ children: React_2.ReactNode;
45
+ };
46
+
47
+ export { }
package/dist/avatar.js ADDED
@@ -0,0 +1,81 @@
1
+ "use client";
2
+ import { jsx as a, jsxs as u } from "react/jsx-runtime";
3
+ import { Avatar as n } from "@base-ui/react/avatar";
4
+ import { cva as A } from "class-variance-authority";
5
+ import * as f from "react";
6
+ import { c as s } from "./utils-B6yFEsav.js";
7
+ const v = A(
8
+ [
9
+ "relative flex shrink-0 items-center justify-center overflow-hidden rounded-full",
10
+ "bg-muted text-foreground",
11
+ "border-2 border-background"
12
+ ],
13
+ {
14
+ variants: {
15
+ size: {
16
+ sm: "size-8 text-xs",
17
+ default: "size-10 text-sm",
18
+ lg: "size-12 text-base"
19
+ }
20
+ },
21
+ defaultVariants: {
22
+ size: "default"
23
+ }
24
+ }
25
+ ), h = ({ className: t, size: e, ...l }) => /* @__PURE__ */ a(n.Root, { className: s(v({ size: e }), t), ...l });
26
+ h.displayName = "AvatarRoot";
27
+ const g = ({ className: t, ...e }) => /* @__PURE__ */ a(
28
+ n.Image,
29
+ {
30
+ className: s("aspect-square h-full w-full object-cover", t),
31
+ ...e
32
+ }
33
+ );
34
+ g.displayName = "AvatarImage";
35
+ const y = ({ className: t, ...e }) => /* @__PURE__ */ a(
36
+ n.Fallback,
37
+ {
38
+ className: s(
39
+ "flex h-full w-full items-center justify-center font-medium",
40
+ t
41
+ ),
42
+ ...e
43
+ }
44
+ );
45
+ y.displayName = "AvatarFallback";
46
+ const z = ({
47
+ "aria-label": t,
48
+ maxVisible: e,
49
+ className: l,
50
+ children: p
51
+ }) => {
52
+ const o = f.Children.toArray(p), i = o.length, c = e !== void 0 ? Math.min(e, i) : i, d = i - c, b = o.slice(0, c), x = (() => {
53
+ const r = o[0];
54
+ return f.isValidElement(r) && r.type === h ? r.props.size ?? "default" : "default";
55
+ })();
56
+ return /* @__PURE__ */ u("ul", { "aria-label": t, className: s("flex -space-x-2", l), children: [
57
+ b.map((r, m) => /* @__PURE__ */ a("li", { children: r }, m)),
58
+ d > 0 && /* @__PURE__ */ a("li", { children: /* @__PURE__ */ u(
59
+ "span",
60
+ {
61
+ className: s(
62
+ "relative flex shrink-0 items-center justify-center overflow-hidden rounded-full",
63
+ "bg-muted text-foreground border-2 border-background",
64
+ "font-medium",
65
+ v({ size: x })
66
+ ),
67
+ children: [
68
+ "+",
69
+ d
70
+ ]
71
+ }
72
+ ) })
73
+ ] });
74
+ };
75
+ z.displayName = "AvatarStack";
76
+ export {
77
+ y as AvatarFallback,
78
+ g as AvatarImage,
79
+ h as AvatarRoot,
80
+ z as AvatarStack
81
+ };
@@ -0,0 +1,33 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ const t = e(
3
+ [
4
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all select-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
5
+ ],
6
+ {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
10
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
11
+ outline: "border border-border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
12
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
13
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
14
+ link: "text-primary underline-offset-4 hover:underline"
15
+ },
16
+ size: {
17
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
18
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
19
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
20
+ icon: "size-9",
21
+ "icon-sm": "size-8",
22
+ "icon-lg": "size-10"
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ variant: "default",
27
+ size: "default"
28
+ }
29
+ }
30
+ );
31
+ export {
32
+ t as b
33
+ };
@@ -0,0 +1,21 @@
1
+ import { Button as Button_2 } from '@base-ui/react/button';
2
+ import { JSX } from 'react/jsx-runtime';
3
+ import * as React_2 from 'react';
4
+
5
+ export declare const Button: {
6
+ ({ className, variant, size, disabled, children, ...props }: ButtonProps): JSX.Element;
7
+ displayName: string;
8
+ };
9
+
10
+ export declare type ButtonProps = React_2.ComponentProps<typeof Button_2> & {
11
+ /** Visual style variant */
12
+ variant?: ButtonVariant;
13
+ /** Size of the button */
14
+ size?: ButtonSize;
15
+ };
16
+
17
+ declare type ButtonSize = 'sm' | 'default' | 'lg' | 'icon' | 'icon-sm' | 'icon-lg';
18
+
19
+ declare type ButtonVariant = 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link';
20
+
21
+ export { }
package/dist/button.js ADDED
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ import { jsx as a } from "react/jsx-runtime";
3
+ import { Button as i } from "@base-ui/react/button";
4
+ import { b as u } from "./button-variants-CbFMPwc8.js";
5
+ import { c as e } from "./utils-B6yFEsav.js";
6
+ const p = ({
7
+ className: t,
8
+ variant: o,
9
+ size: r,
10
+ disabled: m,
11
+ children: n,
12
+ ...s
13
+ }) => /* @__PURE__ */ a(
14
+ i,
15
+ {
16
+ className: e(u({ variant: o, size: r }), t),
17
+ disabled: m,
18
+ ...s,
19
+ children: n
20
+ }
21
+ );
22
+ p.displayName = "Button";
23
+ export {
24
+ p as Button
25
+ };
package/dist/card.d.ts ADDED
@@ -0,0 +1,99 @@
1
+ import { ClassProp } from 'class-variance-authority/types';
2
+ import { JSX } from 'react/jsx-runtime';
3
+ import * as React_2 from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ /**
7
+ * Container for the main content of the card.
8
+ */
9
+ export declare const CardContent: {
10
+ ({ className, ...props }: CardContentProps): JSX.Element;
11
+ displayName: string;
12
+ };
13
+
14
+ export declare type CardContentProps = React_2.ComponentProps<'div'>;
15
+
16
+ /**
17
+ * Secondary text content for the card.
18
+ */
19
+ export declare const CardDescription: {
20
+ ({ className, ...props }: CardDescriptionProps): JSX.Element;
21
+ displayName: string;
22
+ };
23
+
24
+ export declare type CardDescriptionProps = React_2.ComponentProps<'p'>;
25
+
26
+ /**
27
+ * Container for card actions and footer content.
28
+ * Use Separator component above footer if a visual divider is needed.
29
+ */
30
+ export declare const CardFooter: {
31
+ ({ className, ...props }: CardFooterProps): JSX.Element;
32
+ displayName: string;
33
+ };
34
+
35
+ export declare type CardFooterProps = React_2.ComponentProps<'footer'>;
36
+
37
+ /**
38
+ * Container for the card's header content (title, description).
39
+ */
40
+ export declare const CardHeader: {
41
+ ({ className, ...props }: CardHeaderProps): JSX.Element;
42
+ displayName: string;
43
+ };
44
+
45
+ export declare type CardHeaderProps = React_2.ComponentProps<'header'>;
46
+
47
+ /**
48
+ * Container for media content (images, videos) within a card.
49
+ * Use Tailwind aspect-* classes for aspect ratios (e.g., className="aspect-video").
50
+ */
51
+ export declare const CardMedia: {
52
+ ({ className, ...props }: CardMediaProps): JSX.Element;
53
+ displayName: string;
54
+ };
55
+
56
+ export declare type CardMediaProps = React_2.ComponentProps<'div'>;
57
+
58
+ /**
59
+ * The root container for a card component.
60
+ * Renders as an `<article>` for semantic HTML.
61
+ */
62
+ export declare const CardRoot: React_2.ForwardRefExoticComponent<Omit<CardRootProps, "ref"> & React_2.RefAttributes<HTMLElement>>;
63
+
64
+ export declare type CardRootProps = React_2.ComponentProps<'article'> & VariantProps<typeof cardVariants>;
65
+
66
+ /**
67
+ * A distinct section within a card, useful for multi-section layouts.
68
+ * Use Separator component between sections if visual dividers are needed.
69
+ */
70
+ export declare const CardSection: {
71
+ ({ className, ...props }: CardSectionProps): JSX.Element;
72
+ displayName: string;
73
+ };
74
+
75
+ export declare type CardSectionProps = React_2.ComponentProps<'section'>;
76
+
77
+ /**
78
+ * The card's title. Renders as an `<h3>` by default.
79
+ * Use the `as` prop to change the heading level.
80
+ */
81
+ export declare const CardTitle: {
82
+ ({ as: Component, className, ...props }: CardTitleProps): JSX.Element;
83
+ displayName: string;
84
+ };
85
+
86
+ export declare type CardTitleProps = React_2.ComponentProps<'h3'> & {
87
+ /** The heading level to render */
88
+ as?: HeadingLevel;
89
+ };
90
+
91
+ export declare type CardVariant = VariantProps<typeof cardVariants>['variant'];
92
+
93
+ declare const cardVariants: (props?: ({
94
+ variant?: "default" | "outline" | "elevated" | null | undefined;
95
+ } & ClassProp) | undefined) => string;
96
+
97
+ declare type HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
98
+
99
+ export { }