@lglab/compose-ui 0.27.0 → 0.29.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.
- package/dist/accordion.d.ts +49 -40
- package/dist/accordion.d.ts.map +1 -0
- package/dist/accordion.js +47 -45
- package/dist/accordion.js.map +1 -0
- package/dist/alert-dialog.d.ts +93 -87
- package/dist/alert-dialog.d.ts.map +1 -0
- package/dist/alert-dialog.js +94 -111
- package/dist/alert-dialog.js.map +1 -0
- package/dist/autocomplete.d.ts +99 -96
- package/dist/autocomplete.d.ts.map +1 -0
- package/dist/autocomplete.js +92 -116
- package/dist/autocomplete.js.map +1 -0
- package/dist/avatar.d.ts +56 -47
- package/dist/avatar.d.ts.map +1 -0
- package/dist/avatar.js +66 -79
- package/dist/avatar.js.map +1 -0
- package/dist/badge.d.ts +48 -0
- package/dist/badge.d.ts.map +1 -0
- package/dist/badge.js +196 -0
- package/dist/badge.js.map +1 -0
- package/dist/button.d.ts +26 -21
- package/dist/button.d.ts.map +1 -0
- package/dist/button.js +24 -24
- package/dist/button.js.map +1 -0
- package/dist/card.d.ts +105 -99
- package/dist/card.d.ts.map +1 -0
- package/dist/card.js +105 -66
- package/dist/card.js.map +1 -0
- package/dist/checkbox-group.d.ts +16 -12
- package/dist/checkbox-group.d.ts.map +1 -0
- package/dist/checkbox-group.js +18 -14
- package/dist/checkbox-group.js.map +1 -0
- package/dist/checkbox.d.ts +25 -19
- package/dist/checkbox.d.ts.map +1 -0
- package/dist/checkbox.js +26 -32
- package/dist/checkbox.js.map +1 -0
- package/dist/collapsible.d.ts +32 -26
- package/dist/collapsible.d.ts.map +1 -0
- package/dist/collapsible.js +32 -32
- package/dist/collapsible.js.map +1 -0
- package/dist/combobox.d.ts +191 -182
- package/dist/combobox.d.ts.map +1 -0
- package/dist/combobox.js +176 -250
- package/dist/combobox.js.map +1 -0
- package/dist/context-menu.d.ts +151 -138
- package/dist/context-menu.d.ts.map +1 -0
- package/dist/context-menu.js +151 -173
- package/dist/context-menu.js.map +1 -0
- package/dist/dialog.d.ts +101 -92
- package/dist/dialog.d.ts.map +1 -0
- package/dist/dialog.js +101 -105
- package/dist/dialog.js.map +1 -0
- package/dist/drawer.d.ts +109 -99
- package/dist/drawer.d.ts.map +1 -0
- package/dist/drawer.js +120 -111
- package/dist/drawer.js.map +1 -0
- package/dist/field.d.ts +61 -54
- package/dist/field.d.ts.map +1 -0
- package/dist/field.js +58 -27
- package/dist/field.js.map +1 -0
- package/dist/fieldset.d.ts +24 -19
- package/dist/fieldset.d.ts.map +1 -0
- package/dist/fieldset.js +26 -18
- package/dist/fieldset.js.map +1 -0
- package/dist/form.d.ts +16 -12
- package/dist/form.d.ts.map +1 -0
- package/dist/form.js +18 -8
- package/dist/form.js.map +1 -0
- package/dist/index.d.ts +44 -2077
- package/dist/index.js +44 -314
- package/dist/input.d.ts +16 -12
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +19 -9
- package/dist/input.js.map +1 -0
- package/dist/lib/arrow-svg.js +28 -0
- package/dist/lib/arrow-svg.js.map +1 -0
- package/dist/lib/button-variants.d.ts +6 -0
- package/dist/lib/button-variants.d.ts.map +1 -0
- package/dist/lib/button-variants.js +31 -0
- package/dist/lib/button-variants.js.map +1 -0
- package/dist/lib/control-variants.d.ts +6 -0
- package/dist/lib/control-variants.d.ts.map +1 -0
- package/dist/lib/control-variants.js +37 -0
- package/dist/lib/control-variants.js.map +1 -0
- package/dist/lib/form-variants.js +11 -0
- package/dist/lib/form-variants.js.map +1 -0
- package/dist/lib/tooltip-variants.d.ts +5 -0
- package/dist/lib/tooltip-variants.d.ts.map +1 -0
- package/dist/lib/tooltip-variants.js +36 -0
- package/dist/lib/tooltip-variants.js.map +1 -0
- package/dist/lib/utils.js +11 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/menu.d.ts +151 -138
- package/dist/menu.d.ts.map +1 -0
- package/dist/menu.js +151 -146
- package/dist/menu.js.map +1 -0
- package/dist/menubar.d.ts +168 -155
- package/dist/menubar.d.ts.map +1 -0
- package/dist/menubar.js +163 -169
- package/dist/menubar.js.map +1 -0
- package/dist/meter.d.ts +53 -43
- package/dist/meter.d.ts.map +1 -0
- package/dist/meter.js +59 -64
- package/dist/meter.js.map +1 -0
- package/dist/navigation-menu.d.ts +111 -96
- package/dist/navigation-menu.d.ts.map +1 -0
- package/dist/navigation-menu.js +117 -175
- package/dist/navigation-menu.js.map +1 -0
- package/dist/number-field.d.ts +64 -54
- package/dist/number-field.d.ts.map +1 -0
- package/dist/number-field.js +61 -69
- package/dist/number-field.js.map +1 -0
- package/dist/popover.d.ts +90 -82
- package/dist/popover.d.ts.map +1 -0
- package/dist/popover.js +85 -94
- package/dist/popover.js.map +1 -0
- package/dist/preview-card.d.ts +58 -54
- package/dist/preview-card.d.ts.map +1 -0
- package/dist/preview-card.js +57 -81
- package/dist/preview-card.js.map +1 -0
- package/dist/progress.d.ts +48 -40
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +46 -50
- package/dist/progress.js.map +1 -0
- package/dist/radio-group.d.ts +16 -12
- package/dist/radio-group.d.ts.map +1 -0
- package/dist/radio-group.js +18 -14
- package/dist/radio-group.js.map +1 -0
- package/dist/radio.d.ts +24 -19
- package/dist/radio.d.ts.map +1 -0
- package/dist/radio.js +25 -34
- package/dist/radio.js.map +1 -0
- package/dist/scroll-area.d.ts +57 -47
- package/dist/scroll-area.d.ts.map +1 -0
- package/dist/scroll-area.js +54 -56
- package/dist/scroll-area.js.map +1 -0
- package/dist/select.d.ts +146 -133
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +133 -167
- package/dist/select.js.map +1 -0
- package/dist/separator.d.ts +17 -12
- package/dist/separator.d.ts.map +1 -0
- package/dist/separator.js +19 -23
- package/dist/separator.js.map +1 -0
- package/dist/skeleton.d.ts +20 -0
- package/dist/skeleton.d.ts.map +1 -0
- package/dist/skeleton.js +27 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.d.ts +56 -47
- package/dist/slider.d.ts.map +1 -0
- package/dist/slider.js +53 -62
- package/dist/slider.js.map +1 -0
- package/dist/styles/default.css +26 -0
- package/dist/switch.d.ts +24 -19
- package/dist/switch.d.ts.map +1 -0
- package/dist/switch.js +23 -39
- package/dist/switch.js.map +1 -0
- package/dist/tabs.d.ts +60 -49
- package/dist/tabs.d.ts.map +1 -0
- package/dist/tabs.js +76 -84
- package/dist/tabs.js.map +1 -0
- package/dist/textarea.d.ts +15 -11
- package/dist/textarea.d.ts.map +1 -0
- package/dist/textarea.js +18 -14
- package/dist/textarea.js.map +1 -0
- package/dist/toast.d.ts +87 -81
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +79 -150
- package/dist/toast.js.map +1 -0
- package/dist/toggle-group.d.ts +34 -29
- package/dist/toggle-group.d.ts.map +1 -0
- package/dist/toggle-group.js +31 -34
- package/dist/toggle-group.js.map +1 -0
- package/dist/toggle.d.ts +24 -21
- package/dist/toggle.d.ts.map +1 -0
- package/dist/toggle.js +22 -15
- package/dist/toggle.js.map +1 -0
- package/dist/toolbar.d.ts +64 -56
- package/dist/toolbar.d.ts.map +1 -0
- package/dist/toolbar.js +57 -68
- package/dist/toolbar.js.map +1 -0
- package/dist/tooltip.d.ts +67 -62
- package/dist/tooltip.d.ts.map +1 -0
- package/dist/tooltip.js +65 -90
- package/dist/tooltip.js.map +1 -0
- package/package.json +12 -8
- package/dist/arrow-svg-C6zQTvgS.js +0 -40
- package/dist/button-variants-CbFMPwc8.js +0 -33
- package/dist/control-variants-Bwep4n0y.js +0 -37
- package/dist/form-variants-LJ8gIbk0.js +0 -9
- package/dist/utils-B6yFEsav.js +0 -8
package/dist/avatar.js
CHANGED
|
@@ -1,81 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
] });
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { cn } from "./lib/utils.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { Avatar } from "@base-ui/react/avatar";
|
|
8
|
+
|
|
9
|
+
//#region src/components/avatar.tsx
|
|
10
|
+
const avatarVariants = cva([
|
|
11
|
+
"relative flex shrink-0 items-center justify-center overflow-hidden rounded-full",
|
|
12
|
+
"bg-muted text-foreground",
|
|
13
|
+
"border-2 border-background"
|
|
14
|
+
], {
|
|
15
|
+
variants: { size: {
|
|
16
|
+
sm: "size-8 text-xs",
|
|
17
|
+
default: "size-10 text-sm",
|
|
18
|
+
lg: "size-12 text-base"
|
|
19
|
+
} },
|
|
20
|
+
defaultVariants: { size: "default" }
|
|
21
|
+
});
|
|
22
|
+
const AvatarRoot = ({ className, size, ...props }) => {
|
|
23
|
+
return /* @__PURE__ */ jsx(Avatar.Root, {
|
|
24
|
+
className: cn(avatarVariants({ size }), className),
|
|
25
|
+
...props
|
|
26
|
+
});
|
|
74
27
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
28
|
+
AvatarRoot.displayName = "AvatarRoot";
|
|
29
|
+
const AvatarImage = ({ className, ...props }) => {
|
|
30
|
+
return /* @__PURE__ */ jsx(Avatar.Image, {
|
|
31
|
+
className: cn("aspect-square h-full w-full object-cover", className),
|
|
32
|
+
...props
|
|
33
|
+
});
|
|
81
34
|
};
|
|
35
|
+
AvatarImage.displayName = "AvatarImage";
|
|
36
|
+
const AvatarFallback = ({ className, ...props }) => {
|
|
37
|
+
return /* @__PURE__ */ jsx(Avatar.Fallback, {
|
|
38
|
+
className: cn("flex h-full w-full items-center justify-center font-medium", className),
|
|
39
|
+
...props
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
AvatarFallback.displayName = "AvatarFallback";
|
|
43
|
+
const AvatarStack = ({ "aria-label": ariaLabel, maxVisible, className, children }) => {
|
|
44
|
+
const childrenArray = React.Children.toArray(children);
|
|
45
|
+
const totalCount = childrenArray.length;
|
|
46
|
+
const visibleCount = maxVisible !== void 0 ? Math.min(maxVisible, totalCount) : totalCount;
|
|
47
|
+
const overflowCount = totalCount - visibleCount;
|
|
48
|
+
const visibleAvatars = childrenArray.slice(0, visibleCount);
|
|
49
|
+
const inferSizeFromFirstChild = () => {
|
|
50
|
+
const firstChild = childrenArray[0];
|
|
51
|
+
if (React.isValidElement(firstChild) && firstChild.type === AvatarRoot) return firstChild.props.size ?? "default";
|
|
52
|
+
return "default";
|
|
53
|
+
};
|
|
54
|
+
const overflowSize = inferSizeFromFirstChild();
|
|
55
|
+
return /* @__PURE__ */ jsxs("ul", {
|
|
56
|
+
"aria-label": ariaLabel,
|
|
57
|
+
className: cn("flex -space-x-2", className),
|
|
58
|
+
children: [visibleAvatars.map((child, index) => /* @__PURE__ */ jsx("li", { children: child }, index)), overflowCount > 0 && /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("span", {
|
|
59
|
+
className: cn("relative flex shrink-0 items-center justify-center overflow-hidden rounded-full", "bg-muted text-foreground border-2 border-background", "font-medium", avatarVariants({ size: overflowSize })),
|
|
60
|
+
children: ["+", overflowCount]
|
|
61
|
+
}) })]
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
AvatarStack.displayName = "AvatarStack";
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
export { AvatarFallback, AvatarImage, AvatarRoot, AvatarStack };
|
|
68
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","names":["BaseAvatar"],"sources":["../src/components/avatar.tsx"],"sourcesContent":["'use client'\n\nimport { Avatar as BaseAvatar } from '@base-ui/react/avatar'\nimport { cva } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\n// ============================================================================\n// Avatar Variants\n// ============================================================================\n\nconst avatarVariants = cva(\n [\n 'relative flex shrink-0 items-center justify-center overflow-hidden rounded-full',\n 'bg-muted text-foreground',\n 'border-2 border-background',\n ],\n {\n variants: {\n size: {\n sm: 'size-8 text-xs',\n default: 'size-10 text-sm',\n lg: 'size-12 text-base',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n },\n)\n\ntype AvatarSize = 'sm' | 'default' | 'lg'\n\n// ============================================================================\n// AvatarRoot\n// ============================================================================\n\ntype AvatarRootProps = React.ComponentProps<typeof BaseAvatar.Root> & {\n /** Size of the avatar */\n size?: AvatarSize\n}\n\nconst AvatarRoot = ({ className, size, ...props }: AvatarRootProps) => {\n return (\n <BaseAvatar.Root className={cn(avatarVariants({ size }), className)} {...props} />\n )\n}\n\nAvatarRoot.displayName = 'AvatarRoot'\n\n// ============================================================================\n// AvatarImage\n// ============================================================================\n\ntype AvatarImageProps = React.ComponentProps<typeof BaseAvatar.Image>\n\nconst AvatarImage = ({ className, ...props }: AvatarImageProps) => {\n return (\n <BaseAvatar.Image\n className={cn('aspect-square h-full w-full object-cover', className)}\n {...props}\n />\n )\n}\n\nAvatarImage.displayName = 'AvatarImage'\n\n// ============================================================================\n// AvatarFallback\n// ============================================================================\n\ntype AvatarFallbackProps = React.ComponentProps<typeof BaseAvatar.Fallback>\n\nconst AvatarFallback = ({ className, ...props }: AvatarFallbackProps) => {\n return (\n <BaseAvatar.Fallback\n className={cn(\n 'flex h-full w-full items-center justify-center font-medium',\n className,\n )}\n {...props}\n />\n )\n}\n\nAvatarFallback.displayName = 'AvatarFallback'\n\n// ============================================================================\n// AvatarStack\n// ============================================================================\n\ntype AvatarStackProps = {\n /** ARIA label for the avatar stack list */\n 'aria-label': string\n /** Maximum number of avatars to display before showing overflow indicator */\n maxVisible?: number\n /** Additional CSS classes */\n className?: string\n /** Avatar components to display */\n children: React.ReactNode\n}\n\nconst AvatarStack = ({\n 'aria-label': ariaLabel,\n maxVisible,\n className,\n children,\n}: AvatarStackProps) => {\n const childrenArray = React.Children.toArray(children)\n const totalCount = childrenArray.length\n const visibleCount =\n maxVisible !== undefined ? Math.min(maxVisible, totalCount) : totalCount\n const overflowCount = totalCount - visibleCount\n\n const visibleAvatars = childrenArray.slice(0, visibleCount)\n\n const inferSizeFromFirstChild = (): AvatarSize => {\n const firstChild = childrenArray[0]\n if (React.isValidElement(firstChild) && firstChild.type === AvatarRoot) {\n const childProps = firstChild.props as unknown as { size?: AvatarSize }\n return childProps.size ?? 'default'\n }\n return 'default'\n }\n\n const overflowSize = inferSizeFromFirstChild()\n\n return (\n <ul aria-label={ariaLabel} className={cn('flex -space-x-2', className)}>\n {visibleAvatars.map((child, index) => (\n <li key={index}>{child}</li>\n ))}\n {overflowCount > 0 && (\n <li>\n <span\n className={cn(\n 'relative flex shrink-0 items-center justify-center overflow-hidden rounded-full',\n 'bg-muted text-foreground border-2 border-background',\n 'font-medium',\n avatarVariants({ size: overflowSize }),\n )}\n >\n +{overflowCount}\n </span>\n </li>\n )}\n </ul>\n )\n}\n\nAvatarStack.displayName = 'AvatarStack'\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport { AvatarRoot, AvatarImage, AvatarFallback, AvatarStack }\n\nexport type { AvatarRootProps, AvatarImageProps, AvatarFallbackProps, AvatarStackProps }\n"],"mappings":";;;;;;;;;AAYA,MAAM,iBAAiB,IACrB;CACE;CACA;CACA;CACD,EACD;CACE,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,SAAS;EACT,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,WACP;CACF,CACF;AAaD,MAAM,cAAc,EAAE,WAAW,MAAM,GAAG,YAA6B;AACrE,QACE,oBAACA,OAAW;EAAK,WAAW,GAAG,eAAe,EAAE,MAAM,CAAC,EAAE,UAAU;EAAE,GAAI;GAAS;;AAItF,WAAW,cAAc;AAQzB,MAAM,eAAe,EAAE,WAAW,GAAG,YAA8B;AACjE,QACE,oBAACA,OAAW;EACV,WAAW,GAAG,4CAA4C,UAAU;EACpE,GAAI;GACJ;;AAIN,YAAY,cAAc;AAQ1B,MAAM,kBAAkB,EAAE,WAAW,GAAG,YAAiC;AACvE,QACE,oBAACA,OAAW;EACV,WAAW,GACT,8DACA,UACD;EACD,GAAI;GACJ;;AAIN,eAAe,cAAc;AAiB7B,MAAM,eAAe,EACnB,cAAc,WACd,YACA,WACA,eACsB;CACtB,MAAM,gBAAgB,MAAM,SAAS,QAAQ,SAAS;CACtD,MAAM,aAAa,cAAc;CACjC,MAAM,eACJ,eAAe,SAAY,KAAK,IAAI,YAAY,WAAW,GAAG;CAChE,MAAM,gBAAgB,aAAa;CAEnC,MAAM,iBAAiB,cAAc,MAAM,GAAG,aAAa;CAE3D,MAAM,gCAA4C;EAChD,MAAM,aAAa,cAAc;AACjC,MAAI,MAAM,eAAe,WAAW,IAAI,WAAW,SAAS,WAE1D,QADmB,WAAW,MACZ,QAAQ;AAE5B,SAAO;;CAGT,MAAM,eAAe,yBAAyB;AAE9C,QACE,qBAAC;EAAG,cAAY;EAAW,WAAW,GAAG,mBAAmB,UAAU;aACnE,eAAe,KAAK,OAAO,UAC1B,oBAAC,kBAAgB,SAAR,MAAmB,CAC5B,EACD,gBAAgB,KACf,oBAAC,kBACC,qBAAC;GACC,WAAW,GACT,mFACA,uDACA,eACA,eAAe,EAAE,MAAM,cAAc,CAAC,CACvC;cACF,KACG;IACG,GACJ;GAEJ;;AAIT,YAAY,cAAc"}
|
package/dist/badge.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as react_jsx_runtime225 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/badge.d.ts
|
|
5
|
+
type BadgeVariant = 'default' | 'secondary' | 'destructive' | 'success' | 'warning' | 'info';
|
|
6
|
+
type BadgeAppearance = 'default' | 'outline' | 'light' | 'ghost';
|
|
7
|
+
type BadgeSize = 'sm' | 'md' | 'lg';
|
|
8
|
+
type BadgeShape = 'pill' | 'rounded';
|
|
9
|
+
type BadgeProps = React.ComponentProps<'span'> & {
|
|
10
|
+
/** Visual style variant */
|
|
11
|
+
variant?: BadgeVariant;
|
|
12
|
+
/** Appearance style */
|
|
13
|
+
appearance?: BadgeAppearance;
|
|
14
|
+
/** Size of the badge */
|
|
15
|
+
size?: BadgeSize;
|
|
16
|
+
/** Shape of the badge */
|
|
17
|
+
shape?: BadgeShape;
|
|
18
|
+
};
|
|
19
|
+
declare const Badge: {
|
|
20
|
+
({
|
|
21
|
+
className,
|
|
22
|
+
variant,
|
|
23
|
+
appearance,
|
|
24
|
+
size,
|
|
25
|
+
shape,
|
|
26
|
+
...props
|
|
27
|
+
}: BadgeProps): react_jsx_runtime225.JSX.Element;
|
|
28
|
+
displayName: string;
|
|
29
|
+
};
|
|
30
|
+
type BadgeDotProps = React.ComponentProps<'span'>;
|
|
31
|
+
declare const BadgeDot: {
|
|
32
|
+
({
|
|
33
|
+
className,
|
|
34
|
+
...props
|
|
35
|
+
}: BadgeDotProps): react_jsx_runtime225.JSX.Element;
|
|
36
|
+
displayName: string;
|
|
37
|
+
};
|
|
38
|
+
type BadgeButtonProps = React.ComponentProps<'button'>;
|
|
39
|
+
declare const BadgeButton: {
|
|
40
|
+
({
|
|
41
|
+
className,
|
|
42
|
+
...props
|
|
43
|
+
}: BadgeButtonProps): react_jsx_runtime225.JSX.Element;
|
|
44
|
+
displayName: string;
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
export { Badge, BadgeAppearance, BadgeButton, type BadgeButtonProps, BadgeDot, type BadgeDotProps, type BadgeProps, BadgeShape, BadgeSize, BadgeVariant };
|
|
48
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","names":[],"sources":["../src/components/badge.tsx"],"sourcesContent":[],"mappings":";;;;KAiLY,YAAA;KAQA,eAAA;KAEA,SAAA;AAVA,KAYA,UAAA,GAZY,MAAA,GAAA,SAAA;AAQxB,KAUK,UAAA,GAAa,KAAA,CAAM,cAVG,CAAA,MAAA,CAAA,GAAA;EAEf;EAEA,OAAA,CAAA,EAQA,YARU;EAMjB;EAAU,UAAA,CAAA,EAIA,eAJA;;MAEH,CAAA,EAIH,SAJG;;OAIH,CAAA,EAEC,UAFD;;cAKH,KAHc,EAAA;EAGd,CAAA;IAAA,SAOL;IAAA,OAAA;IAAA,UAAA;IAAA,IAAA;IAAA,KAAA;IAAA,GAAA;EAAA,CAAA,EAPyE,UAOzE,CAAA,EAPmF,oBAAA,CAAA,GAAA,CAAA,OAOnF;EAAA,WAAA,EAAA,MAAA;;KAQI,aAAA,GAAgB,KAAA,CAAM;cAErB;;;;KAAqC,gBAAa,oBAAA,CAAA,GAAA,CAAA;;;KAgBnD,gBAAA,GAAmB,KAAA,CAAM,cAjCsD,CAAA,QAAA,CAAA;cAmC9E,WAnC8E,EAAA;EAe/E,CAAA;IAAA,SAAA;IAAA,GAAa;EAAS,CAAT,EAoB4B,gBApBnB,CAAA,EAoBmC,oBAAA,CAAA,GAAA,CAAA,OApBrB;EAEnC,WAQL,EAAA,MAAA;CAAA"}
|
package/dist/badge.js
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { cn } from "./lib/utils.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region src/components/badge.tsx
|
|
9
|
+
const badgeVariants = cva(["inline-flex items-center gap-1.5 whitespace-nowrap font-medium transition-colors", "[&_svg]:pointer-events-none [&_svg]:shrink-0"], {
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: "",
|
|
13
|
+
secondary: "",
|
|
14
|
+
destructive: "",
|
|
15
|
+
success: "",
|
|
16
|
+
warning: "",
|
|
17
|
+
info: ""
|
|
18
|
+
},
|
|
19
|
+
appearance: {
|
|
20
|
+
default: "",
|
|
21
|
+
outline: "border",
|
|
22
|
+
light: "",
|
|
23
|
+
ghost: ""
|
|
24
|
+
},
|
|
25
|
+
size: {
|
|
26
|
+
sm: "text-xs px-2 h-5 min-w-5 [&_svg]:size-3",
|
|
27
|
+
md: "text-xs px-2.5 h-6 min-w-6 [&_svg]:size-3.5",
|
|
28
|
+
lg: "text-sm px-3 h-7 min-w-7 [&_svg]:size-4"
|
|
29
|
+
},
|
|
30
|
+
shape: {
|
|
31
|
+
pill: "rounded-full",
|
|
32
|
+
rounded: "rounded-md"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
compoundVariants: [
|
|
36
|
+
{
|
|
37
|
+
variant: "default",
|
|
38
|
+
appearance: "default",
|
|
39
|
+
class: "bg-primary text-primary-foreground"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
variant: "secondary",
|
|
43
|
+
appearance: "default",
|
|
44
|
+
class: "bg-secondary text-secondary-foreground"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
variant: "destructive",
|
|
48
|
+
appearance: "default",
|
|
49
|
+
class: "bg-destructive text-white"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
variant: "success",
|
|
53
|
+
appearance: "default",
|
|
54
|
+
class: "bg-success text-white"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
variant: "warning",
|
|
58
|
+
appearance: "default",
|
|
59
|
+
class: "bg-warning text-white"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
variant: "info",
|
|
63
|
+
appearance: "default",
|
|
64
|
+
class: "bg-info text-white"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
variant: "default",
|
|
68
|
+
appearance: "light",
|
|
69
|
+
class: "bg-primary/10 text-primary"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
variant: "secondary",
|
|
73
|
+
appearance: "light",
|
|
74
|
+
class: "bg-secondary text-secondary-foreground"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
variant: "destructive",
|
|
78
|
+
appearance: "light",
|
|
79
|
+
class: "bg-destructive/10 text-destructive"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
variant: "success",
|
|
83
|
+
appearance: "light",
|
|
84
|
+
class: "bg-success/10 text-success"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
variant: "warning",
|
|
88
|
+
appearance: "light",
|
|
89
|
+
class: "bg-warning/10 text-warning"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
variant: "info",
|
|
93
|
+
appearance: "light",
|
|
94
|
+
class: "bg-info/10 text-info"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
variant: "default",
|
|
98
|
+
appearance: "outline",
|
|
99
|
+
class: "border-primary bg-primary/10 text-primary"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
variant: "secondary",
|
|
103
|
+
appearance: "outline",
|
|
104
|
+
class: "bg-secondary border-border text-foreground"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
variant: "destructive",
|
|
108
|
+
appearance: "outline",
|
|
109
|
+
class: "border-destructive bg-destructive/10 text-destructive"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
variant: "success",
|
|
113
|
+
appearance: "outline",
|
|
114
|
+
class: "border-success bg-success/10 text-success"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
variant: "warning",
|
|
118
|
+
appearance: "outline",
|
|
119
|
+
class: "border-warning bg-warning/10 text-warning"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
variant: "info",
|
|
123
|
+
appearance: "outline",
|
|
124
|
+
class: "border-info bg-info/10 text-info"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
variant: "default",
|
|
128
|
+
appearance: "ghost",
|
|
129
|
+
class: "text-primary"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
variant: "secondary",
|
|
133
|
+
appearance: "ghost",
|
|
134
|
+
class: "text-secondary-foreground"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
variant: "destructive",
|
|
138
|
+
appearance: "ghost",
|
|
139
|
+
class: "text-destructive"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
variant: "success",
|
|
143
|
+
appearance: "ghost",
|
|
144
|
+
class: "text-success"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
variant: "warning",
|
|
148
|
+
appearance: "ghost",
|
|
149
|
+
class: "text-warning"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
variant: "info",
|
|
153
|
+
appearance: "ghost",
|
|
154
|
+
class: "text-info"
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
defaultVariants: {
|
|
158
|
+
variant: "default",
|
|
159
|
+
appearance: "default",
|
|
160
|
+
size: "md",
|
|
161
|
+
shape: "rounded"
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
const Badge = ({ className, variant, appearance, size, shape, ...props }) => {
|
|
165
|
+
return /* @__PURE__ */ jsx("span", {
|
|
166
|
+
className: cn(badgeVariants({
|
|
167
|
+
variant,
|
|
168
|
+
appearance,
|
|
169
|
+
size,
|
|
170
|
+
shape
|
|
171
|
+
}), className),
|
|
172
|
+
...props
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
Badge.displayName = "Badge";
|
|
176
|
+
const BadgeDot = ({ className, ...props }) => {
|
|
177
|
+
return /* @__PURE__ */ jsx("span", {
|
|
178
|
+
"data-slot": "badge-dot",
|
|
179
|
+
className: cn("size-2 rounded-full bg-[currentColor]", className),
|
|
180
|
+
...props
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
BadgeDot.displayName = "BadgeDot";
|
|
184
|
+
const BadgeButton = ({ className, ...props }) => {
|
|
185
|
+
return /* @__PURE__ */ jsx("button", {
|
|
186
|
+
"data-slot": "badge-button",
|
|
187
|
+
type: "button",
|
|
188
|
+
className: cn("cursor-pointer transition-all inline-flex items-center justify-center leading-none size-3.5 [&>svg]:opacity-100! [&>svg]:size-3.5! p-0 rounded-md -me-0.5 opacity-60 hover:opacity-100", className),
|
|
189
|
+
...props
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
BadgeButton.displayName = "BadgeButton";
|
|
193
|
+
|
|
194
|
+
//#endregion
|
|
195
|
+
export { Badge, BadgeButton, BadgeDot };
|
|
196
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","names":[],"sources":["../src/components/badge.tsx"],"sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\n// ============================================================================\n// Badge Variants\n// ============================================================================\n\nconst badgeVariants = cva(\n [\n 'inline-flex items-center gap-1.5 whitespace-nowrap font-medium transition-colors',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n ],\n {\n variants: {\n variant: {\n default: '',\n secondary: '',\n destructive: '',\n success: '',\n warning: '',\n info: '',\n },\n appearance: {\n default: '',\n outline: 'border',\n light: '',\n ghost: '',\n },\n size: {\n sm: 'text-xs px-2 h-5 min-w-5 [&_svg]:size-3',\n md: 'text-xs px-2.5 h-6 min-w-6 [&_svg]:size-3.5',\n lg: 'text-sm px-3 h-7 min-w-7 [&_svg]:size-4',\n },\n shape: {\n pill: 'rounded-full',\n rounded: 'rounded-md',\n },\n },\n compoundVariants: [\n // Default appearance (solid) - full color bg, white text\n {\n variant: 'default',\n appearance: 'default',\n class: 'bg-primary text-primary-foreground',\n },\n {\n variant: 'secondary',\n appearance: 'default',\n class: 'bg-secondary text-secondary-foreground',\n },\n {\n variant: 'destructive',\n appearance: 'default',\n class: 'bg-destructive text-white',\n },\n {\n variant: 'success',\n appearance: 'default',\n class: 'bg-success text-white',\n },\n {\n variant: 'warning',\n appearance: 'default',\n class: 'bg-warning text-white',\n },\n {\n variant: 'info',\n appearance: 'default',\n class: 'bg-info text-white',\n },\n // Light appearance - 10% bg, colored text\n {\n variant: 'default',\n appearance: 'light',\n class: 'bg-primary/10 text-primary',\n },\n {\n variant: 'secondary',\n appearance: 'light',\n class: 'bg-secondary text-secondary-foreground',\n },\n {\n variant: 'destructive',\n appearance: 'light',\n class: 'bg-destructive/10 text-destructive',\n },\n {\n variant: 'success',\n appearance: 'light',\n class: 'bg-success/10 text-success',\n },\n {\n variant: 'warning',\n appearance: 'light',\n class: 'bg-warning/10 text-warning',\n },\n {\n variant: 'info',\n appearance: 'light',\n class: 'bg-info/10 text-info',\n },\n // Outline appearance - border + 10% bg, colored text\n {\n variant: 'default',\n appearance: 'outline',\n class: 'border-primary bg-primary/10 text-primary',\n },\n {\n variant: 'secondary',\n appearance: 'outline',\n class: 'bg-secondary border-border text-foreground',\n },\n {\n variant: 'destructive',\n appearance: 'outline',\n class: 'border-destructive bg-destructive/10 text-destructive',\n },\n {\n variant: 'success',\n appearance: 'outline',\n class: 'border-success bg-success/10 text-success',\n },\n {\n variant: 'warning',\n appearance: 'outline',\n class: 'border-warning bg-warning/10 text-warning',\n },\n {\n variant: 'info',\n appearance: 'outline',\n class: 'border-info bg-info/10 text-info',\n },\n // Ghost appearance - just colored text\n {\n variant: 'default',\n appearance: 'ghost',\n class: 'text-primary',\n },\n {\n variant: 'secondary',\n appearance: 'ghost',\n class: 'text-secondary-foreground',\n },\n {\n variant: 'destructive',\n appearance: 'ghost',\n class: 'text-destructive',\n },\n {\n variant: 'success',\n appearance: 'ghost',\n class: 'text-success',\n },\n {\n variant: 'warning',\n appearance: 'ghost',\n class: 'text-warning',\n },\n {\n variant: 'info',\n appearance: 'ghost',\n class: 'text-info',\n },\n ],\n defaultVariants: {\n variant: 'default',\n appearance: 'default',\n size: 'md',\n shape: 'rounded',\n },\n },\n)\n\nexport type BadgeVariant =\n | 'default'\n | 'secondary'\n | 'destructive'\n | 'success'\n | 'warning'\n | 'info'\n\nexport type BadgeAppearance = 'default' | 'outline' | 'light' | 'ghost'\n\nexport type BadgeSize = 'sm' | 'md' | 'lg'\n\nexport type BadgeShape = 'pill' | 'rounded'\n\n// ============================================================================\n// Badge\n// ============================================================================\n\ntype BadgeProps = React.ComponentProps<'span'> & {\n /** Visual style variant */\n variant?: BadgeVariant\n /** Appearance style */\n appearance?: BadgeAppearance\n /** Size of the badge */\n size?: BadgeSize\n /** Shape of the badge */\n shape?: BadgeShape\n}\n\nconst Badge = ({ className, variant, appearance, size, shape, ...props }: BadgeProps) => {\n return (\n <span\n className={cn(badgeVariants({ variant, appearance, size, shape }), className)}\n {...props}\n />\n )\n}\n\nBadge.displayName = 'Badge'\n\n// ============================================================================\n// BadgeDot\n// ============================================================================\n\ntype BadgeDotProps = React.ComponentProps<'span'>\n\nconst BadgeDot = ({ className, ...props }: BadgeDotProps) => {\n return (\n <span\n data-slot='badge-dot'\n className={cn('size-2 rounded-full bg-[currentColor]', className)}\n {...props}\n />\n )\n}\n\nBadgeDot.displayName = 'BadgeDot'\n\n// ============================================================================\n// BadgeButton\n// ============================================================================\n\ntype BadgeButtonProps = React.ComponentProps<'button'>\n\nconst BadgeButton = ({ className, ...props }: BadgeButtonProps) => {\n return (\n <button\n data-slot='badge-button'\n type='button'\n className={cn(\n 'cursor-pointer transition-all inline-flex items-center justify-center leading-none size-3.5 [&>svg]:opacity-100! [&>svg]:size-3.5! p-0 rounded-md -me-0.5 opacity-60 hover:opacity-100',\n className,\n )}\n {...props}\n />\n )\n}\n\nBadgeButton.displayName = 'BadgeButton'\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport { Badge, BadgeDot, BadgeButton }\n\nexport type { BadgeProps, BadgeDotProps, BadgeButtonProps }\n"],"mappings":";;;;;;;;AAWA,MAAM,gBAAgB,IACpB,CACE,oFACA,+CACD,EACD;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,WAAW;GACX,aAAa;GACb,SAAS;GACT,SAAS;GACT,MAAM;GACP;EACD,YAAY;GACV,SAAS;GACT,SAAS;GACT,OAAO;GACP,OAAO;GACR;EACD,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL;EACD,OAAO;GACL,MAAM;GACN,SAAS;GACV;EACF;CACD,kBAAkB;EAEhB;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EAED;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EAED;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EAED;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACD;GACE,SAAS;GACT,YAAY;GACZ,OAAO;GACR;EACF;CACD,iBAAiB;EACf,SAAS;EACT,YAAY;EACZ,MAAM;EACN,OAAO;EACR;CACF,CACF;AA+BD,MAAM,SAAS,EAAE,WAAW,SAAS,YAAY,MAAM,OAAO,GAAG,YAAwB;AACvF,QACE,oBAAC;EACC,WAAW,GAAG,cAAc;GAAE;GAAS;GAAY;GAAM;GAAO,CAAC,EAAE,UAAU;EAC7E,GAAI;GACJ;;AAIN,MAAM,cAAc;AAQpB,MAAM,YAAY,EAAE,WAAW,GAAG,YAA2B;AAC3D,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,yCAAyC,UAAU;EACjE,GAAI;GACJ;;AAIN,SAAS,cAAc;AAQvB,MAAM,eAAe,EAAE,WAAW,GAAG,YAA8B;AACjE,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,WAAW,GACT,0LACA,UACD;EACD,GAAI;GACJ;;AAIN,YAAY,cAAc"}
|
package/dist/button.d.ts
CHANGED
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import * as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
import { ButtonSize, ButtonVariant } from "./lib/button-variants.js";
|
|
2
|
+
import { Button as Button$1 } from "@base-ui/react/button";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as react_jsx_runtime18 from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/button.d.ts
|
|
7
|
+
type ButtonProps = React.ComponentProps<typeof Button$1> & {
|
|
8
|
+
/** Visual style variant */
|
|
9
|
+
variant?: ButtonVariant;
|
|
10
|
+
/** Size of the button */
|
|
11
|
+
size?: ButtonSize;
|
|
12
|
+
};
|
|
13
|
+
declare const Button: {
|
|
14
|
+
({
|
|
15
|
+
className,
|
|
16
|
+
variant,
|
|
17
|
+
size,
|
|
18
|
+
disabled,
|
|
19
|
+
children,
|
|
20
|
+
...props
|
|
21
|
+
}: ButtonProps): react_jsx_runtime18.JSX.Element;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { Button, type ButtonProps };
|
|
26
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","names":[],"sources":["../src/components/button.tsx"],"sourcesContent":[],"mappings":";;;;;;KAYK,WAAA,GAAc,KAAA,CAAM,sBAAsB;;YAEnC;EAFP;EAAW,IAAA,CAAA,EAIP,UAJO;;cAOV,MAPmB,EAAA;;IAEb,SAAA;IAAA,OAAA;IAAA,IAAA;IAAA,QAAA;IAAA,QAAA;IAAA,GAAA;EAAA,CAAA,EAYT,WAZS,CAAA,EAYE,mBAAA,CAAA,GAAA,CAAA,OAZF;aAEH,EAAA,MAAA;CAAU"}
|
package/dist/button.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
p.displayName = "Button";
|
|
23
|
-
export {
|
|
24
|
-
p as Button
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { buttonVariants } from "./lib/button-variants.js";
|
|
4
|
+
import { cn } from "./lib/utils.js";
|
|
5
|
+
import { Button as Button$1 } from "@base-ui/react/button";
|
|
6
|
+
import "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
|
|
9
|
+
//#region src/components/button.tsx
|
|
10
|
+
const Button = ({ className, variant, size, disabled, children, ...props }) => {
|
|
11
|
+
return /* @__PURE__ */ jsx(Button$1, {
|
|
12
|
+
className: cn(buttonVariants({
|
|
13
|
+
variant,
|
|
14
|
+
size
|
|
15
|
+
}), className),
|
|
16
|
+
disabled,
|
|
17
|
+
...props,
|
|
18
|
+
children
|
|
19
|
+
});
|
|
25
20
|
};
|
|
21
|
+
Button.displayName = "Button";
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { Button };
|
|
25
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","names":["BaseButton"],"sources":["../src/components/button.tsx"],"sourcesContent":["'use client'\n\nimport { Button as BaseButton } from '@base-ui/react/button'\nimport * as React from 'react'\n\nimport {\n type ButtonSize,\n type ButtonVariant,\n buttonVariants,\n} from '../lib/button-variants'\nimport { cn } from '../lib/utils'\n\ntype ButtonProps = React.ComponentProps<typeof BaseButton> & {\n /** Visual style variant */\n variant?: ButtonVariant\n /** Size of the button */\n size?: ButtonSize\n}\n\nconst Button = ({\n className,\n variant,\n size,\n disabled,\n children,\n ...props\n}: ButtonProps) => {\n return (\n <BaseButton\n className={cn(buttonVariants({ variant, size }), className)}\n disabled={disabled}\n {...props}\n >\n {children}\n </BaseButton>\n )\n}\n\nButton.displayName = 'Button'\n\nexport { Button }\n\nexport type { ButtonProps }\n"],"mappings":";;;;;;;;;AAmBA,MAAM,UAAU,EACd,WACA,SACA,MACA,UACA,UACA,GAAG,YACc;AACjB,QACE,oBAACA;EACC,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM,CAAC,EAAE,UAAU;EACjD;EACV,GAAI;EAEH;GACU;;AAIjB,OAAO,cAAc"}
|