@vritti/quantum-ui 0.2.7 → 0.2.9
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/README.md +7 -7
- package/dist/Alert.js +110 -0
- package/dist/Alert.js.map +1 -0
- package/dist/Avatar.js +219 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Badge.js +32 -0
- package/dist/Badge.js.map +1 -0
- package/dist/Button2.js +2 -2
- package/dist/Chart.js +19003 -0
- package/dist/Chart.js.map +1 -0
- package/dist/Checkbox.js +6 -26
- package/dist/Checkbox.js.map +1 -1
- package/dist/Combination.js +3856 -0
- package/dist/Combination.js.map +1 -0
- package/dist/DatePicker.js +15 -3886
- package/dist/DatePicker.js.map +1 -1
- package/dist/DropdownMenu.js +1522 -0
- package/dist/DropdownMenu.js.map +1 -0
- package/dist/Form.js +34 -23
- package/dist/Form.js.map +1 -1
- package/dist/Label.js +1 -1
- package/dist/OTPField.js +16 -5
- package/dist/OTPField.js.map +1 -1
- package/dist/PhoneField.js +14 -6
- package/dist/PhoneField.js.map +1 -1
- package/dist/Progress.js +116 -0
- package/dist/Progress.js.map +1 -0
- package/dist/SelectField.js +1351 -0
- package/dist/SelectField.js.map +1 -0
- package/dist/Separator.js +6 -0
- package/dist/Separator.js.map +1 -0
- package/dist/Sonner.js +3 -38
- package/dist/Sonner.js.map +1 -1
- package/dist/Spinner.js +1 -9
- package/dist/Spinner.js.map +1 -1
- package/dist/Switch.js +210 -0
- package/dist/Switch.js.map +1 -0
- package/dist/ThemeContext.js +57 -0
- package/dist/ThemeContext.js.map +1 -0
- package/dist/ThemeToggle.js +4 -15
- package/dist/ThemeToggle.js.map +1 -1
- package/dist/Toggle.js +69 -0
- package/dist/Toggle.js.map +1 -0
- package/dist/_commonjsHelpers.js +6 -0
- package/dist/_commonjsHelpers.js.map +1 -0
- package/dist/assets/quantum-ui.css +18 -0
- package/dist/axios.js.map +1 -1
- package/dist/check.js +15 -0
- package/dist/check.js.map +1 -0
- package/dist/chevron-down.js +15 -0
- package/dist/chevron-down.js.map +1 -0
- package/dist/chevron-right.js +15 -0
- package/dist/chevron-right.js.map +1 -0
- package/dist/components/Alert.js +2 -0
- package/dist/components/Alert.js.map +1 -0
- package/dist/components/Avatar.js +2 -0
- package/dist/components/Avatar.js.map +1 -0
- package/dist/components/Badge.js +2 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/Chart.js +2 -0
- package/dist/components/Chart.js.map +1 -0
- package/dist/components/DropdownMenu.js +2 -0
- package/dist/components/DropdownMenu.js.map +1 -0
- package/dist/components/Progress.js +1 -174
- package/dist/components/Progress.js.map +1 -1
- package/dist/components/SelectField.js +2 -0
- package/dist/components/SelectField.js.map +1 -0
- package/dist/components/Separator.js +2 -0
- package/dist/components/Separator.js.map +1 -0
- package/dist/components/Switch.js +2 -0
- package/dist/components/Switch.js.map +1 -0
- package/dist/components/Toggle.js +2 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/context/index.js +2 -0
- package/dist/context/index.js.map +1 -0
- package/dist/field.js +2 -49
- package/dist/field.js.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/index10.js +105 -0
- package/dist/index10.js.map +1 -0
- package/dist/index11.js +79 -0
- package/dist/index11.js.map +1 -0
- package/dist/index12.js +101 -0
- package/dist/index12.js.map +1 -0
- package/dist/index13.js +205 -0
- package/dist/index13.js.map +1 -0
- package/dist/index14.js +199 -0
- package/dist/index14.js.map +1 -0
- package/dist/index2.js +55 -130
- package/dist/index2.js.map +1 -1
- package/dist/index3.js +10 -42
- package/dist/index3.js.map +1 -1
- package/dist/index4.js +125 -35
- package/dist/index4.js.map +1 -1
- package/dist/index5.js +26 -414
- package/dist/index5.js.map +1 -1
- package/dist/index6.js +8 -0
- package/dist/index6.js.map +1 -0
- package/dist/index7.js +16 -0
- package/dist/index7.js.map +1 -0
- package/dist/index8.js +45 -0
- package/dist/index8.js.map +1 -0
- package/dist/index9.js +41 -0
- package/dist/index9.js.map +1 -0
- package/dist/lib/components/Alert/Alert.d.ts +10 -0
- package/dist/lib/components/Alert/Alert.d.ts.map +1 -0
- package/dist/lib/components/Alert/index.d.ts +2 -0
- package/dist/lib/components/Alert/index.d.ts.map +1 -0
- package/dist/lib/components/Avatar/Avatar.d.ts +8 -0
- package/dist/lib/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/lib/components/Avatar/index.d.ts +2 -0
- package/dist/lib/components/Avatar/index.d.ts.map +1 -0
- package/dist/lib/components/Badge/Badge.d.ts +5 -0
- package/dist/lib/components/Badge/Badge.d.ts.map +1 -0
- package/dist/lib/components/Badge/index.d.ts +3 -0
- package/dist/lib/components/Badge/index.d.ts.map +1 -0
- package/dist/lib/components/Button/index.d.ts +1 -1
- package/dist/lib/components/Button/index.d.ts.map +1 -1
- package/dist/lib/components/Chart/Chart.d.ts +13 -0
- package/dist/lib/components/Chart/Chart.d.ts.map +1 -0
- package/dist/lib/components/Chart/index.d.ts +3 -0
- package/dist/lib/components/Chart/index.d.ts.map +1 -0
- package/dist/lib/components/DropdownMenu/DropdownMenu.d.ts +28 -0
- package/dist/lib/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
- package/dist/lib/components/DropdownMenu/index.d.ts +3 -0
- package/dist/lib/components/DropdownMenu/index.d.ts.map +1 -0
- package/dist/lib/components/DropdownMenu/types.d.ts +72 -0
- package/dist/lib/components/DropdownMenu/types.d.ts.map +1 -0
- package/dist/lib/components/Form/Form.d.ts +1 -1
- package/dist/lib/components/Form/Form.d.ts.map +1 -1
- package/dist/lib/components/OTPField/OTPField.d.ts.map +1 -1
- package/dist/lib/components/PhoneField/PhoneField.d.ts.map +1 -1
- package/dist/lib/components/SelectField/SelectField.d.ts +24 -0
- package/dist/lib/components/SelectField/SelectField.d.ts.map +1 -0
- package/dist/lib/components/SelectField/index.d.ts +3 -0
- package/dist/lib/components/SelectField/index.d.ts.map +1 -0
- package/dist/lib/components/Separator/Separator.d.ts +3 -0
- package/dist/lib/components/Separator/Separator.d.ts.map +1 -0
- package/dist/lib/components/Separator/index.d.ts +2 -0
- package/dist/lib/components/Separator/index.d.ts.map +1 -0
- package/dist/lib/components/Switch/Switch.d.ts +9 -0
- package/dist/lib/components/Switch/Switch.d.ts.map +1 -0
- package/dist/lib/components/Switch/index.d.ts +3 -0
- package/dist/lib/components/Switch/index.d.ts.map +1 -0
- package/dist/lib/components/ThemeToggle/ThemeToggle.d.ts.map +1 -1
- package/dist/lib/components/Toggle/Toggle.d.ts +7 -0
- package/dist/lib/components/Toggle/Toggle.d.ts.map +1 -0
- package/dist/lib/components/Toggle/index.d.ts +2 -0
- package/dist/lib/components/Toggle/index.d.ts.map +1 -0
- package/dist/lib/components/index.d.ts +10 -0
- package/dist/lib/components/index.d.ts.map +1 -1
- package/dist/lib/context/ThemeContext.d.ts +18 -0
- package/dist/lib/context/ThemeContext.d.ts.map +1 -0
- package/dist/lib/context/index.d.ts +2 -0
- package/dist/lib/context/index.d.ts.map +1 -0
- package/dist/lib/hooks/index.d.ts +2 -0
- package/dist/lib/hooks/index.d.ts.map +1 -0
- package/dist/lib/hooks/useTheme.d.ts +8 -0
- package/dist/lib/hooks/useTheme.d.ts.map +1 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/theme/index.d.ts +13 -0
- package/dist/lib/theme/index.d.ts.map +1 -0
- package/dist/lib/utils/axios.d.ts +1 -0
- package/dist/lib/utils/axios.d.ts.map +1 -1
- package/dist/lib/utils/formHelpers.d.ts +7 -3
- package/dist/lib/utils/formHelpers.d.ts.map +1 -1
- package/dist/separator2.js +53 -0
- package/dist/separator2.js.map +1 -0
- package/dist/shadcn/index.d.ts +1 -1
- package/dist/shadcn/index.d.ts.map +1 -1
- package/dist/shadcn/shadcnAlert/alert.d.ts +11 -0
- package/dist/shadcn/shadcnAlert/alert.d.ts.map +1 -0
- package/dist/shadcn/shadcnAlert/index.d.ts +2 -0
- package/dist/shadcn/shadcnAlert/index.d.ts.map +1 -0
- package/dist/shadcn/shadcnAvatar/Avatar.d.ts +12 -0
- package/dist/shadcn/shadcnAvatar/Avatar.d.ts.map +1 -0
- package/dist/shadcn/shadcnAvatar/index.d.ts +2 -0
- package/dist/shadcn/shadcnAvatar/index.d.ts.map +1 -0
- package/dist/shadcn/shadcnBadge/Badge.d.ts +11 -0
- package/dist/shadcn/shadcnBadge/Badge.d.ts.map +1 -0
- package/dist/shadcn/shadcnBadge/index.d.ts +3 -0
- package/dist/shadcn/shadcnBadge/index.d.ts.map +1 -0
- package/dist/shadcn/shadcnButton/Button.d.ts +2 -2
- package/dist/shadcn/shadcnChart/Chart.d.ts +58 -0
- package/dist/shadcn/shadcnChart/Chart.d.ts.map +1 -0
- package/dist/shadcn/shadcnChart/index.d.ts +3 -0
- package/dist/shadcn/shadcnChart/index.d.ts.map +1 -0
- package/dist/shadcn/shadcnSpinner/Spinner.d.ts.map +1 -1
- package/dist/shadcn/shadcnSwitch/Switch.d.ts +7 -0
- package/dist/shadcn/shadcnSwitch/Switch.d.ts.map +1 -0
- package/dist/shadcn/shadcnSwitch/index.d.ts +2 -0
- package/dist/shadcn/shadcnSwitch/index.d.ts.map +1 -0
- package/dist/shadcn/shadcnToggle/Toggle.d.ts +10 -0
- package/dist/shadcn/shadcnToggle/Toggle.d.ts.map +1 -0
- package/dist/shadcn/shadcnToggle/index.d.ts +2 -0
- package/dist/shadcn/shadcnToggle/index.d.ts.map +1 -0
- package/dist/theme/index.js +11 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/triangle-alert.js +40 -0
- package/dist/triangle-alert.js.map +1 -0
- package/dist/useTheme.js +15 -0
- package/dist/useTheme.js.map +1 -0
- package/package.json +59 -6
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
A modern, TypeScript-first React component library built on Radix UI primitives and styled with Tailwind CSS v4. Fully typed, accessible, and tree-shakeable.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@vritti/quantum-ui)
|
|
6
|
-
[](https://github.com/vritti-
|
|
6
|
+
[](https://github.com/vritti-ai-platforms/quantum-ui/blob/main/LICENSE)
|
|
7
7
|
|
|
8
8
|
## Features
|
|
9
9
|
|
|
@@ -16,7 +16,7 @@ A modern, TypeScript-first React component library built on Radix UI primitives
|
|
|
16
16
|
|
|
17
17
|
## Documentation
|
|
18
18
|
|
|
19
|
-
📖 [View full documentation and interactive examples on Storybook](https://vritti-
|
|
19
|
+
📖 [View full documentation and interactive examples on Storybook](https://vritti-ai-platforms.github.io/quantum-ui)
|
|
20
20
|
|
|
21
21
|
## Installation
|
|
22
22
|
|
|
@@ -88,7 +88,7 @@ import { Button, Card, TextField } from '@vritti/quantum-ui';
|
|
|
88
88
|
|
|
89
89
|
1. Clone the repository:
|
|
90
90
|
```bash
|
|
91
|
-
git clone https://github.com/vritti-
|
|
91
|
+
git clone https://github.com/vritti-ai-platforms/quantum-ui.git
|
|
92
92
|
cd quantum-ui
|
|
93
93
|
```
|
|
94
94
|
|
|
@@ -136,7 +136,7 @@ We welcome contributions! Please follow these steps:
|
|
|
136
136
|
|
|
137
137
|
## Issues and Support
|
|
138
138
|
|
|
139
|
-
Found a bug or have a feature request? Please [open an issue](https://github.com/vritti-
|
|
139
|
+
Found a bug or have a feature request? Please [open an issue](https://github.com/vritti-ai-platforms/quantum-ui/issues).
|
|
140
140
|
|
|
141
141
|
## License
|
|
142
142
|
|
|
@@ -144,7 +144,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
144
144
|
|
|
145
145
|
## Links
|
|
146
146
|
|
|
147
|
-
- [Documentation (Storybook)](https://vritti-
|
|
148
|
-
- [GitHub Repository](https://github.com/vritti-
|
|
147
|
+
- [Documentation (Storybook)](https://vritti-ai-platforms.github.io/quantum-ui)
|
|
148
|
+
- [GitHub Repository](https://github.com/vritti-ai-platforms/quantum-ui)
|
|
149
149
|
- [npm Package](https://www.npmjs.com/package/@vritti/quantum-ui)
|
|
150
|
-
- [Report Issues](https://github.com/vritti-
|
|
150
|
+
- [Report Issues](https://github.com/vritti-ai-platforms/quantum-ui/issues)
|
package/dist/Alert.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { c as cn } from './utils.js';
|
|
3
|
+
import { c as cva } from './index8.js';
|
|
4
|
+
import { I as Info, T as TriangleAlert } from './triangle-alert.js';
|
|
5
|
+
import { c as createLucideIcon } from './createLucideIcon.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @license lucide-react v0.562.0 - ISC
|
|
9
|
+
*
|
|
10
|
+
* This source code is licensed under the ISC license.
|
|
11
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
const __iconNode$1 = [
|
|
16
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
17
|
+
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
18
|
+
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
19
|
+
];
|
|
20
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$1);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @license lucide-react v0.562.0 - ISC
|
|
24
|
+
*
|
|
25
|
+
* This source code is licensed under the ISC license.
|
|
26
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
const __iconNode = [
|
|
31
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
32
|
+
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
33
|
+
];
|
|
34
|
+
const CircleCheck = createLucideIcon("circle-check", __iconNode);
|
|
35
|
+
|
|
36
|
+
const alertVariants = cva(
|
|
37
|
+
"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert",
|
|
38
|
+
{
|
|
39
|
+
variants: {
|
|
40
|
+
variant: {
|
|
41
|
+
default: "bg-card text-card-foreground",
|
|
42
|
+
destructive: "text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current",
|
|
43
|
+
warning: "text-warning bg-card *:data-[slot=alert-description]:text-warning/90 *:[svg]:text-current",
|
|
44
|
+
success: "text-success bg-card *:data-[slot=alert-description]:text-success/90 *:[svg]:text-current",
|
|
45
|
+
info: "text-primary bg-card *:data-[slot=alert-description]:text-primary/90 *:[svg]:text-current"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
defaultVariants: {
|
|
49
|
+
variant: "default"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
function Alert$1({ className, variant, ...props }) {
|
|
54
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "alert", role: "alert", className: cn(alertVariants({ variant }), className), ...props });
|
|
55
|
+
}
|
|
56
|
+
function AlertTitle({ className, ...props }) {
|
|
57
|
+
return /* @__PURE__ */ jsx(
|
|
58
|
+
"div",
|
|
59
|
+
{
|
|
60
|
+
"data-slot": "alert-title",
|
|
61
|
+
className: cn(
|
|
62
|
+
"font-medium group-has-[>svg]/alert:col-start-2 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3",
|
|
63
|
+
className
|
|
64
|
+
),
|
|
65
|
+
...props
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
function AlertDescription({ className, ...props }) {
|
|
70
|
+
return /* @__PURE__ */ jsx(
|
|
71
|
+
"div",
|
|
72
|
+
{
|
|
73
|
+
"data-slot": "alert-description",
|
|
74
|
+
className: cn(
|
|
75
|
+
"text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3",
|
|
76
|
+
className
|
|
77
|
+
),
|
|
78
|
+
...props
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const variantIcons = {
|
|
84
|
+
default: Info,
|
|
85
|
+
destructive: CircleAlert,
|
|
86
|
+
warning: TriangleAlert,
|
|
87
|
+
success: CircleCheck,
|
|
88
|
+
info: Info
|
|
89
|
+
};
|
|
90
|
+
function Alert({
|
|
91
|
+
variant = "default",
|
|
92
|
+
title,
|
|
93
|
+
description,
|
|
94
|
+
icon,
|
|
95
|
+
hideIcon = false,
|
|
96
|
+
children,
|
|
97
|
+
className,
|
|
98
|
+
...props
|
|
99
|
+
}) {
|
|
100
|
+
const IconComponent = variant ? variantIcons[variant] : variantIcons.default;
|
|
101
|
+
return /* @__PURE__ */ jsxs(Alert$1, { variant, className: cn(className), ...props, children: [
|
|
102
|
+
!hideIcon && (icon ?? /* @__PURE__ */ jsx(IconComponent, { className: "h-4 w-4" })),
|
|
103
|
+
title && /* @__PURE__ */ jsx(AlertTitle, { children: title }),
|
|
104
|
+
description && /* @__PURE__ */ jsx(AlertDescription, { children: description }),
|
|
105
|
+
children
|
|
106
|
+
] });
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export { Alert as A };
|
|
110
|
+
//# sourceMappingURL=Alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":["../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle-alert.js","../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle-check.js","../shadcn/shadcnAlert/alert.tsx","../lib/components/Alert/Alert.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.562.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n];\nconst CircleAlert = createLucideIcon(\"circle-alert\", __iconNode);\n\nexport { __iconNode, CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n","/**\n * @license lucide-react v0.562.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"m9 12 2 2 4-4\", key: \"dzmm74\" }]\n];\nconst CircleCheck = createLucideIcon(\"circle-check\", __iconNode);\n\nexport { __iconNode, CircleCheck as default };\n//# sourceMappingURL=circle-check.js.map\n","import { cva, type VariantProps } from 'class-variance-authority';\r\nimport type * as React from 'react';\r\nimport { cn } from '../utils';\r\n\r\nconst alertVariants = cva(\r\n \"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert\",\r\n {\r\n variants: {\r\n variant: {\r\n default: 'bg-card text-card-foreground',\r\n destructive:\r\n 'text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current',\r\n warning:\r\n 'text-warning bg-card *:data-[slot=alert-description]:text-warning/90 *:[svg]:text-current',\r\n success:\r\n 'text-success bg-card *:data-[slot=alert-description]:text-success/90 *:[svg]:text-current',\r\n info: 'text-primary bg-card *:data-[slot=alert-description]:text-primary/90 *:[svg]:text-current',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n },\r\n);\r\n\r\nfunction Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\r\n return <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />;\r\n}\r\n\r\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"alert-title\"\r\n className={cn(\r\n 'font-medium group-has-[>svg]/alert:col-start-2 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"alert-description\"\r\n className={cn(\r\n 'text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction AlertAction({ className, ...props }: React.ComponentProps<'div'>) {\r\n return <div data-slot=\"alert-action\" className={cn('absolute top-2 right-2', className)} {...props} />;\r\n}\r\n\r\nexport { Alert, AlertTitle, AlertDescription, AlertAction, alertVariants };\r\n","import type { VariantProps } from 'class-variance-authority';\r\nimport { AlertCircle, CheckCircle2, Info, TriangleAlert } from 'lucide-react';\r\nimport {\r\n type alertVariants,\r\n Alert as ShadcnAlert,\r\n AlertDescription as ShadcnAlertDescription,\r\n AlertTitle as ShadcnAlertTitle,\r\n} from '../../../shadcn/shadcnAlert';\r\nimport { cn } from '../../../shadcn/utils';\r\n\r\nexport interface AlertProps extends Omit<React.ComponentProps<'div'>, 'title'>, VariantProps<typeof alertVariants> {\r\n /** Short heading text */\r\n title?: React.ReactNode;\r\n /** Body / description text */\r\n description?: React.ReactNode;\r\n /** Override the default variant-based icon */\r\n icon?: React.ReactNode;\r\n /** Hide the icon entirely */\r\n hideIcon?: boolean;\r\n}\r\n\r\nconst variantIcons = {\r\n default: Info,\r\n destructive: AlertCircle,\r\n warning: TriangleAlert,\r\n success: CheckCircle2,\r\n info: Info,\r\n} as const;\r\n\r\nexport function Alert({\r\n variant = 'default',\r\n title,\r\n description,\r\n icon,\r\n hideIcon = false,\r\n children,\r\n className,\r\n ...props\r\n}: AlertProps) {\r\n const IconComponent = variant ? variantIcons[variant] : variantIcons.default;\r\n\r\n return (\r\n <ShadcnAlert variant={variant} className={cn(className)} {...props}>\r\n {!hideIcon && (icon ?? <IconComponent className=\"h-4 w-4\" />)}\r\n {title && <ShadcnAlertTitle>{title}</ShadcnAlertTitle>}\r\n {description && <ShadcnAlertDescription>{description}</ShadcnAlertDescription>}\r\n {children}\r\n </ShadcnAlert>\r\n );\r\n}\r\n"],"names":["__iconNode","Alert","AlertCircle","CheckCircle2","ShadcnAlert","ShadcnAlertTitle","ShadcnAlertDescription"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/dist/Avatar.js
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { c as createContextScope } from './index2.js';
|
|
4
|
+
import { u as useCallbackRef } from './index3.js';
|
|
5
|
+
import { u as useLayoutEffect2 } from './index6.js';
|
|
6
|
+
import { P as Primitive } from './index9.js';
|
|
7
|
+
import { r as requireShim } from './index14.js';
|
|
8
|
+
import { c as cn } from './utils.js';
|
|
9
|
+
|
|
10
|
+
var shimExports = requireShim();
|
|
11
|
+
|
|
12
|
+
// src/use-is-hydrated.tsx
|
|
13
|
+
function useIsHydrated() {
|
|
14
|
+
return shimExports.useSyncExternalStore(
|
|
15
|
+
subscribe,
|
|
16
|
+
() => true,
|
|
17
|
+
() => false
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
function subscribe() {
|
|
21
|
+
return () => {
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var AVATAR_NAME = "Avatar";
|
|
26
|
+
var [createAvatarContext] = createContextScope(AVATAR_NAME);
|
|
27
|
+
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
|
28
|
+
var Avatar$2 = React.forwardRef(
|
|
29
|
+
(props, forwardedRef) => {
|
|
30
|
+
const { __scopeAvatar, ...avatarProps } = props;
|
|
31
|
+
const [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
AvatarProvider,
|
|
34
|
+
{
|
|
35
|
+
scope: __scopeAvatar,
|
|
36
|
+
imageLoadingStatus,
|
|
37
|
+
onImageLoadingStatusChange: setImageLoadingStatus,
|
|
38
|
+
children: /* @__PURE__ */ jsx(Primitive.span, { ...avatarProps, ref: forwardedRef })
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
Avatar$2.displayName = AVATAR_NAME;
|
|
44
|
+
var IMAGE_NAME = "AvatarImage";
|
|
45
|
+
var AvatarImage$2 = React.forwardRef(
|
|
46
|
+
(props, forwardedRef) => {
|
|
47
|
+
const { __scopeAvatar, src, onLoadingStatusChange = () => {
|
|
48
|
+
}, ...imageProps } = props;
|
|
49
|
+
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
|
50
|
+
const imageLoadingStatus = useImageLoadingStatus(src, imageProps);
|
|
51
|
+
const handleLoadingStatusChange = useCallbackRef((status) => {
|
|
52
|
+
onLoadingStatusChange(status);
|
|
53
|
+
context.onImageLoadingStatusChange(status);
|
|
54
|
+
});
|
|
55
|
+
useLayoutEffect2(() => {
|
|
56
|
+
if (imageLoadingStatus !== "idle") {
|
|
57
|
+
handleLoadingStatusChange(imageLoadingStatus);
|
|
58
|
+
}
|
|
59
|
+
}, [imageLoadingStatus, handleLoadingStatusChange]);
|
|
60
|
+
return imageLoadingStatus === "loaded" ? /* @__PURE__ */ jsx(Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
AvatarImage$2.displayName = IMAGE_NAME;
|
|
64
|
+
var FALLBACK_NAME = "AvatarFallback";
|
|
65
|
+
var AvatarFallback$2 = React.forwardRef(
|
|
66
|
+
(props, forwardedRef) => {
|
|
67
|
+
const { __scopeAvatar, delayMs, ...fallbackProps } = props;
|
|
68
|
+
const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
|
69
|
+
const [canRender, setCanRender] = React.useState(delayMs === void 0);
|
|
70
|
+
React.useEffect(() => {
|
|
71
|
+
if (delayMs !== void 0) {
|
|
72
|
+
const timerId = window.setTimeout(() => setCanRender(true), delayMs);
|
|
73
|
+
return () => window.clearTimeout(timerId);
|
|
74
|
+
}
|
|
75
|
+
}, [delayMs]);
|
|
76
|
+
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ jsx(Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
AvatarFallback$2.displayName = FALLBACK_NAME;
|
|
80
|
+
function resolveLoadingStatus(image, src) {
|
|
81
|
+
if (!image) {
|
|
82
|
+
return "idle";
|
|
83
|
+
}
|
|
84
|
+
if (!src) {
|
|
85
|
+
return "error";
|
|
86
|
+
}
|
|
87
|
+
if (image.src !== src) {
|
|
88
|
+
image.src = src;
|
|
89
|
+
}
|
|
90
|
+
return image.complete && image.naturalWidth > 0 ? "loaded" : "loading";
|
|
91
|
+
}
|
|
92
|
+
function useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {
|
|
93
|
+
const isHydrated = useIsHydrated();
|
|
94
|
+
const imageRef = React.useRef(null);
|
|
95
|
+
const image = (() => {
|
|
96
|
+
if (!isHydrated) return null;
|
|
97
|
+
if (!imageRef.current) {
|
|
98
|
+
imageRef.current = new window.Image();
|
|
99
|
+
}
|
|
100
|
+
return imageRef.current;
|
|
101
|
+
})();
|
|
102
|
+
const [loadingStatus, setLoadingStatus] = React.useState(
|
|
103
|
+
() => resolveLoadingStatus(image, src)
|
|
104
|
+
);
|
|
105
|
+
useLayoutEffect2(() => {
|
|
106
|
+
setLoadingStatus(resolveLoadingStatus(image, src));
|
|
107
|
+
}, [image, src]);
|
|
108
|
+
useLayoutEffect2(() => {
|
|
109
|
+
const updateStatus = (status) => () => {
|
|
110
|
+
setLoadingStatus(status);
|
|
111
|
+
};
|
|
112
|
+
if (!image) return;
|
|
113
|
+
const handleLoad = updateStatus("loaded");
|
|
114
|
+
const handleError = updateStatus("error");
|
|
115
|
+
image.addEventListener("load", handleLoad);
|
|
116
|
+
image.addEventListener("error", handleError);
|
|
117
|
+
if (referrerPolicy) {
|
|
118
|
+
image.referrerPolicy = referrerPolicy;
|
|
119
|
+
}
|
|
120
|
+
if (typeof crossOrigin === "string") {
|
|
121
|
+
image.crossOrigin = crossOrigin;
|
|
122
|
+
}
|
|
123
|
+
return () => {
|
|
124
|
+
image.removeEventListener("load", handleLoad);
|
|
125
|
+
image.removeEventListener("error", handleError);
|
|
126
|
+
};
|
|
127
|
+
}, [image, crossOrigin, referrerPolicy]);
|
|
128
|
+
return loadingStatus;
|
|
129
|
+
}
|
|
130
|
+
var Root = Avatar$2;
|
|
131
|
+
var Image = AvatarImage$2;
|
|
132
|
+
var Fallback = AvatarFallback$2;
|
|
133
|
+
|
|
134
|
+
function Avatar$1({
|
|
135
|
+
className,
|
|
136
|
+
size = "default",
|
|
137
|
+
...props
|
|
138
|
+
}) {
|
|
139
|
+
return /* @__PURE__ */ jsx(
|
|
140
|
+
Root,
|
|
141
|
+
{
|
|
142
|
+
"data-slot": "avatar",
|
|
143
|
+
"data-size": size,
|
|
144
|
+
className: cn(
|
|
145
|
+
"group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
|
|
146
|
+
className
|
|
147
|
+
),
|
|
148
|
+
...props
|
|
149
|
+
}
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
function AvatarImage$1({ className, ...props }) {
|
|
153
|
+
return /* @__PURE__ */ jsx(Image, { "data-slot": "avatar-image", className: cn("aspect-square size-full", className), ...props });
|
|
154
|
+
}
|
|
155
|
+
function AvatarFallback$1({ className, ...props }) {
|
|
156
|
+
return /* @__PURE__ */ jsx(
|
|
157
|
+
Fallback,
|
|
158
|
+
{
|
|
159
|
+
"data-slot": "avatar-fallback",
|
|
160
|
+
className: cn(
|
|
161
|
+
"bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",
|
|
162
|
+
className
|
|
163
|
+
),
|
|
164
|
+
...props
|
|
165
|
+
}
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
function AvatarBadge$1({ className, ...props }) {
|
|
169
|
+
return /* @__PURE__ */ jsx(
|
|
170
|
+
"span",
|
|
171
|
+
{
|
|
172
|
+
"data-slot": "avatar-badge",
|
|
173
|
+
className: cn(
|
|
174
|
+
"bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full ring-2 select-none",
|
|
175
|
+
"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
|
|
176
|
+
"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
|
|
177
|
+
"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
|
|
178
|
+
className
|
|
179
|
+
),
|
|
180
|
+
...props
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
function AvatarGroup$1({ className, ...props }) {
|
|
185
|
+
return /* @__PURE__ */ jsx(
|
|
186
|
+
"div",
|
|
187
|
+
{
|
|
188
|
+
"data-slot": "avatar-group",
|
|
189
|
+
className: cn(
|
|
190
|
+
"*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2",
|
|
191
|
+
className
|
|
192
|
+
),
|
|
193
|
+
...props
|
|
194
|
+
}
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
function AvatarGroupCount$1({ className, ...props }) {
|
|
198
|
+
return /* @__PURE__ */ jsx(
|
|
199
|
+
"div",
|
|
200
|
+
{
|
|
201
|
+
"data-slot": "avatar-group-count",
|
|
202
|
+
className: cn(
|
|
203
|
+
"bg-muted text-muted-foreground ring-background relative flex size-8 shrink-0 items-center justify-center rounded-full text-sm ring-2 group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
|
|
204
|
+
className
|
|
205
|
+
),
|
|
206
|
+
...props
|
|
207
|
+
}
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
const Avatar = Avatar$1;
|
|
212
|
+
const AvatarImage = AvatarImage$1;
|
|
213
|
+
const AvatarFallback = AvatarFallback$1;
|
|
214
|
+
const AvatarBadge = AvatarBadge$1;
|
|
215
|
+
const AvatarGroup = AvatarGroup$1;
|
|
216
|
+
const AvatarGroupCount = AvatarGroupCount$1;
|
|
217
|
+
|
|
218
|
+
export { Avatar as A, AvatarBadge as a, AvatarFallback as b, AvatarGroup as c, AvatarGroupCount as d, AvatarImage as e };
|
|
219
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.js","sources":["../node_modules/.pnpm/@radix-ui+react-use-is-hydrated@0.1.0_@types+react@19.2.9_react@19.2.3/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-avatar@1.1.11_@types+react-dom@19.2.3_@types+react@19.2.9__@types+react_2641e1f976ca7fa6b07fc0cb16af88cd/node_modules/@radix-ui/react-avatar/dist/index.mjs","../shadcn/shadcnAvatar/Avatar.tsx","../lib/components/Avatar/Avatar.tsx"],"sourcesContent":["// src/use-is-hydrated.tsx\nimport { useSyncExternalStore } from \"use-sync-external-store/shim\";\nfunction useIsHydrated() {\n return useSyncExternalStore(\n subscribe,\n () => true,\n () => false\n );\n}\nfunction subscribe() {\n return () => {\n };\n}\nexport {\n useIsHydrated\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/avatar.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useIsHydrated } from \"@radix-ui/react-use-is-hydrated\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AVATAR_NAME = \"Avatar\";\nvar [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);\nvar [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);\nvar Avatar = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, ...avatarProps } = props;\n const [imageLoadingStatus, setImageLoadingStatus] = React.useState(\"idle\");\n return /* @__PURE__ */ jsx(\n AvatarProvider,\n {\n scope: __scopeAvatar,\n imageLoadingStatus,\n onImageLoadingStatusChange: setImageLoadingStatus,\n children: /* @__PURE__ */ jsx(Primitive.span, { ...avatarProps, ref: forwardedRef })\n }\n );\n }\n);\nAvatar.displayName = AVATAR_NAME;\nvar IMAGE_NAME = \"AvatarImage\";\nvar AvatarImage = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, src, onLoadingStatusChange = () => {\n }, ...imageProps } = props;\n const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);\n const imageLoadingStatus = useImageLoadingStatus(src, imageProps);\n const handleLoadingStatusChange = useCallbackRef((status) => {\n onLoadingStatusChange(status);\n context.onImageLoadingStatusChange(status);\n });\n useLayoutEffect(() => {\n if (imageLoadingStatus !== \"idle\") {\n handleLoadingStatusChange(imageLoadingStatus);\n }\n }, [imageLoadingStatus, handleLoadingStatusChange]);\n return imageLoadingStatus === \"loaded\" ? /* @__PURE__ */ jsx(Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;\n }\n);\nAvatarImage.displayName = IMAGE_NAME;\nvar FALLBACK_NAME = \"AvatarFallback\";\nvar AvatarFallback = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAvatar, delayMs, ...fallbackProps } = props;\n const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);\n const [canRender, setCanRender] = React.useState(delayMs === void 0);\n React.useEffect(() => {\n if (delayMs !== void 0) {\n const timerId = window.setTimeout(() => setCanRender(true), delayMs);\n return () => window.clearTimeout(timerId);\n }\n }, [delayMs]);\n return canRender && context.imageLoadingStatus !== \"loaded\" ? /* @__PURE__ */ jsx(Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;\n }\n);\nAvatarFallback.displayName = FALLBACK_NAME;\nfunction resolveLoadingStatus(image, src) {\n if (!image) {\n return \"idle\";\n }\n if (!src) {\n return \"error\";\n }\n if (image.src !== src) {\n image.src = src;\n }\n return image.complete && image.naturalWidth > 0 ? \"loaded\" : \"loading\";\n}\nfunction useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {\n const isHydrated = useIsHydrated();\n const imageRef = React.useRef(null);\n const image = (() => {\n if (!isHydrated) return null;\n if (!imageRef.current) {\n imageRef.current = new window.Image();\n }\n return imageRef.current;\n })();\n const [loadingStatus, setLoadingStatus] = React.useState(\n () => resolveLoadingStatus(image, src)\n );\n useLayoutEffect(() => {\n setLoadingStatus(resolveLoadingStatus(image, src));\n }, [image, src]);\n useLayoutEffect(() => {\n const updateStatus = (status) => () => {\n setLoadingStatus(status);\n };\n if (!image) return;\n const handleLoad = updateStatus(\"loaded\");\n const handleError = updateStatus(\"error\");\n image.addEventListener(\"load\", handleLoad);\n image.addEventListener(\"error\", handleError);\n if (referrerPolicy) {\n image.referrerPolicy = referrerPolicy;\n }\n if (typeof crossOrigin === \"string\") {\n image.crossOrigin = crossOrigin;\n }\n return () => {\n image.removeEventListener(\"load\", handleLoad);\n image.removeEventListener(\"error\", handleError);\n };\n }, [image, crossOrigin, referrerPolicy]);\n return loadingStatus;\n}\nvar Root = Avatar;\nvar Image = AvatarImage;\nvar Fallback = AvatarFallback;\nexport {\n Avatar,\n AvatarFallback,\n AvatarImage,\n Fallback,\n Image,\n Root,\n createAvatarScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport type * as React from 'react';\n\nimport { cn } from '../utils';\n\nfunction Avatar({\n className,\n size = 'default',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: 'default' | 'sm' | 'lg';\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n 'group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image data-slot=\"avatar-image\" className={cn('aspect-square size-full', className)} {...props} />\n );\n}\n\nfunction AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n 'bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full ring-2 select-none',\n 'group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden',\n 'group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2',\n 'group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n '*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroupCount({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n 'bg-muted text-muted-foreground ring-background relative flex size-8 shrink-0 items-center justify-center rounded-full text-sm ring-2 group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount };\n","import {\n Avatar as ShadcnAvatar,\n AvatarBadge as ShadcnAvatarBadge,\n AvatarFallback as ShadcnAvatarFallback,\n AvatarGroup as ShadcnAvatarGroup,\n AvatarGroupCount as ShadcnAvatarGroupCount,\n AvatarImage as ShadcnAvatarImage,\n} from '../../../shadcn/shadcnAvatar';\n\n/**\n * Avatar component for displaying user profile images with fallback support.\n *\n * @example\n * ```tsx\n * <Avatar>\n * <AvatarImage src=\"/avatar.jpg\" alt=\"User\" />\n * <AvatarFallback>JD</AvatarFallback>\n * </Avatar>\n * ```\n */\nexport const Avatar = ShadcnAvatar;\n\n/**\n * Image component for Avatar. Displays the user's profile image.\n */\nexport const AvatarImage = ShadcnAvatarImage;\n\n/**\n * Fallback component for Avatar. Displays when image hasn't loaded or errored.\n */\nexport const AvatarFallback = ShadcnAvatarFallback;\n\n/**\n * Badge component for Avatar. Displays a status indicator.\n */\nexport const AvatarBadge = ShadcnAvatarBadge;\n\n/**\n * Group component for displaying multiple avatars in a stack.\n *\n * @example\n * ```tsx\n * <AvatarGroup>\n * <Avatar>...</Avatar>\n * <Avatar>...</Avatar>\n * <AvatarGroupCount>+3</AvatarGroupCount>\n * </AvatarGroup>\n * ```\n */\nexport const AvatarGroup = ShadcnAvatarGroup;\n\n/**\n * Count component for AvatarGroup. Shows overflow count.\n */\nexport const AvatarGroupCount = ShadcnAvatarGroupCount;\n"],"names":["useSyncExternalStore","Avatar","AvatarImage","useLayoutEffect","AvatarFallback","AvatarPrimitive.Root","AvatarPrimitive.Image","AvatarPrimitive.Fallback","AvatarBadge","AvatarGroup","AvatarGroupCount","ShadcnAvatar","ShadcnAvatarImage","ShadcnAvatarFallback","ShadcnAvatarBadge","ShadcnAvatarGroup","ShadcnAvatarGroupCount"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/dist/Badge.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { S as Slot } from './index10.js';
|
|
3
|
+
import { c as cva } from './index8.js';
|
|
4
|
+
import { c as cn } from './utils.js';
|
|
5
|
+
|
|
6
|
+
const badgeVariants = cva(
|
|
7
|
+
"inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] transition-[color,box-shadow] overflow-hidden",
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
variant: {
|
|
11
|
+
default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
12
|
+
secondary: "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
13
|
+
destructive: "bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
14
|
+
outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
15
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
16
|
+
link: "text-primary underline-offset-4 hover:underline cursor-pointer"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
variant: "default"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
function Badge$1({ className, variant = "default", asChild = false, ...props }) {
|
|
25
|
+
const Comp = asChild ? Slot : "span";
|
|
26
|
+
return /* @__PURE__ */ jsx(Comp, { "data-slot": "badge", "data-variant": variant, className: cn(badgeVariants({ variant }), className), ...props });
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const Badge = Badge$1;
|
|
30
|
+
|
|
31
|
+
export { Badge as B, badgeVariants as b };
|
|
32
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.js","sources":["../shadcn/shadcnBadge/Badge.tsx","../lib/components/Badge/Badge.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport type * as React from 'react';\nimport { cn } from '../utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] transition-[color,box-shadow] overflow-hidden',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground [a&]:hover:bg-primary/90',\n secondary: 'bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90',\n destructive:\n 'bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline: 'border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline cursor-pointer',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport interface BadgeProps extends React.ComponentProps<'span'>, VariantProps<typeof badgeVariants> {\n asChild?: boolean;\n}\n\nfunction Badge({ className, variant = 'default', asChild = false, ...props }: BadgeProps) {\n const Comp = asChild ? Slot : 'span';\n\n return (\n <Comp data-slot=\"badge\" data-variant={variant} className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","import { badgeVariants, Badge as ShadcnBadge } from '../../../shadcn/shadcnBadge';\n\nexport const Badge = ShadcnBadge;\nexport type { BadgeProps } from '../../../shadcn/shadcnBadge';\nexport { badgeVariants };\n"],"names":["Badge","ShadcnBadge"],"mappings":";;;;;AAKA,MAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,8TAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,6DAAA;AAAA,QACT,SAAA,EAAW,mEAAA;AAAA,QACX,WAAA,EACE,wJAAA;AAAA,QACF,OAAA,EAAS,sFAAA;AAAA,QACT,KAAA,EAAO,8CAAA;AAAA,QACP,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAMA,SAASA,OAAA,CAAM,EAAE,SAAA,EAAW,OAAA,GAAU,WAAW,OAAA,GAAU,KAAA,EAAO,GAAG,KAAA,EAAM,EAAe;AACxF,EAAA,MAAM,IAAA,GAAO,UAAU,IAAA,GAAO,MAAA;AAE9B,EAAA,2BACG,IAAA,EAAA,EAAK,WAAA,EAAU,OAAA,EAAQ,cAAA,EAAc,SAAS,SAAA,EAAW,EAAA,CAAG,aAAA,CAAc,EAAE,SAAS,CAAA,EAAG,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAEpH;;ACjCO,MAAM,KAAA,GAAQC;;;;"}
|
package/dist/Button2.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { S as Slot } from './
|
|
3
|
-
import { c as cva } from './
|
|
2
|
+
import { S as Slot } from './index10.js';
|
|
3
|
+
import { c as cva } from './index8.js';
|
|
4
4
|
import { c as cn } from './utils.js';
|
|
5
5
|
|
|
6
6
|
const buttonVariants = cva(
|