@naeil/ui 0.2.0 → 0.3.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/CHANGELOG.md +18 -0
- package/DESIGN.md +186 -0
- package/LICENSE +21 -0
- package/README.md +77 -53
- package/THIRD_PARTY_NOTICES.md +49 -0
- package/dist/{chunk-SYI3IKIC.js → chunk-QKVN6Q6C.js} +102 -19
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.js +9 -9
- package/dist/components/ui/index.d.ts +26 -4
- package/dist/components/ui/index.js +288 -33
- package/dist/source/components/footer.d.ts +15 -0
- package/dist/source/components/footer.js +172 -0
- package/dist/source/components/index.d.ts +11 -0
- package/dist/source/components/index.js +26 -0
- package/dist/source/components/locale-switcher.d.ts +17 -0
- package/dist/source/components/locale-switcher.js +66 -0
- package/dist/source/components/logo.d.ts +9 -0
- package/dist/source/components/logo.js +52 -0
- package/dist/source/components/nav.d.ts +39 -0
- package/dist/source/components/nav.js +412 -0
- package/dist/source/components/theme-provider.d.ts +6 -0
- package/dist/source/components/theme-provider.js +45 -0
- package/dist/source/components/theme-toggle-icon.d.ts +5 -0
- package/dist/source/components/theme-toggle-icon.js +62 -0
- package/dist/source/components/theme-toggle.d.ts +5 -0
- package/dist/source/components/theme-toggle.js +34 -0
- package/dist/source/components/typography.d.ts +12 -0
- package/dist/source/components/typography.js +49 -0
- package/dist/source/components/ui/avatar.d.ts +14 -0
- package/dist/source/components/ui/avatar.js +137 -0
- package/dist/source/components/ui/badge.d.ts +13 -0
- package/dist/source/components/ui/badge.js +76 -0
- package/dist/source/components/ui/button.d.ts +14 -0
- package/dist/source/components/ui/button.js +88 -0
- package/dist/source/components/ui/card.d.ts +13 -0
- package/dist/source/components/ui/card.js +135 -0
- package/dist/source/components/ui/checkbox.d.ts +7 -0
- package/dist/source/components/ui/checkbox.js +58 -0
- package/dist/source/components/ui/dialog.d.ts +20 -0
- package/dist/source/components/ui/dialog.js +182 -0
- package/dist/source/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/source/components/ui/dropdown-menu.js +282 -0
- package/dist/source/components/ui/index.d.ts +19 -0
- package/dist/source/components/ui/index.js +131 -0
- package/dist/source/components/ui/input.d.ts +6 -0
- package/dist/source/components/ui/input.js +49 -0
- package/dist/source/components/ui/select.d.ts +16 -0
- package/dist/source/components/ui/select.js +197 -0
- package/dist/source/components/ui/sonner.d.ts +6 -0
- package/dist/source/components/ui/sonner.js +80 -0
- package/dist/source/components/ui/switch.d.ts +7 -0
- package/dist/source/components/ui/switch.js +54 -0
- package/dist/source/components/ui/tabs.d.ts +10 -0
- package/dist/source/components/ui/tabs.js +57 -0
- package/dist/source/components/ui/textarea.d.ts +6 -0
- package/dist/source/components/ui/textarea.js +46 -0
- package/dist/source/i18n/config.d.ts +6 -0
- package/dist/source/i18n/config.js +12 -0
- package/dist/source/i18n/routing.d.ts +371 -0
- package/dist/source/i18n/routing.js +17 -0
- package/dist/source/lib/design/modal-inert.d.ts +6 -0
- package/dist/source/lib/design/modal-inert.js +73 -0
- package/dist/source/lib/utils.d.ts +5 -0
- package/dist/source/lib/utils.js +8 -0
- package/dist/tokens.ts +217 -0
- package/docs/components/README.md +21 -0
- package/docs/components/avatar.md +47 -0
- package/docs/components/badge.md +29 -0
- package/docs/components/button.md +39 -0
- package/docs/components/card.md +32 -0
- package/docs/components/checkbox.md +35 -0
- package/docs/components/common.md +31 -0
- package/docs/components/composition.md +68 -0
- package/docs/components/dialog.md +41 -0
- package/docs/components/dropdown-menu.md +38 -0
- package/docs/components/input.md +32 -0
- package/docs/components/select.md +39 -0
- package/docs/components/sonner.md +37 -0
- package/docs/components/switch.md +33 -0
- package/docs/components/tabs.md +40 -0
- package/docs/components/textarea.md +35 -0
- package/docs/design/component-demand.md +30 -0
- package/docs/design/public-ui-final-verification.md +96 -0
- package/docs/design/public-ui-release-validation.md +86 -0
- package/docs/design/public-ui-stage3-verification.md +98 -0
- package/docs/design/public-ui-stage4-verification.md +129 -0
- package/docs/design/public-ui-support.md +40 -0
- package/docs/design/v2-migration.md +199 -0
- package/docs/package-release.md +89 -0
- package/licenses/Noto-Sans-JP-OFL.txt +93 -0
- package/licenses/Nunito-Sans-OFL.txt +93 -0
- package/licenses/Pretendard-OFL.txt +94 -0
- package/licenses/React-MIT.txt +21 -0
- package/licenses/Storybook-MIT.txt +21 -0
- package/licenses/popper-MIT.txt +25 -0
- package/licenses/react-remove-scroll-bar-MIT.txt +21 -0
- package/licenses/store2-MIT.txt +22 -0
- package/licenses/toggle-selection-MIT.txt +21 -0
- package/package.json +182 -34
- package/src/styles/components.css +276 -0
- package/src/styles/globals.css +18 -0
- package/src/styles/theme.css +185 -98
- package/messages/en.json +0 -221
- package/messages/ja.json +0 -221
- package/messages/ko.json +0 -221
- package/src/app/globals.css +0 -32
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useTheme } from "next-themes";
|
|
4
|
+
import { useSyncExternalStore } from "react";
|
|
5
|
+
const emptySubscribe = () => () => {
|
|
6
|
+
};
|
|
7
|
+
function useIsMounted() {
|
|
8
|
+
return useSyncExternalStore(
|
|
9
|
+
emptySubscribe,
|
|
10
|
+
() => true,
|
|
11
|
+
() => false
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
function ThemeToggleIcon() {
|
|
15
|
+
const { resolvedTheme, setTheme } = useTheme();
|
|
16
|
+
const mounted = useIsMounted();
|
|
17
|
+
if (!mounted) {
|
|
18
|
+
return /* @__PURE__ */ jsx("div", { className: "h-4 w-4" });
|
|
19
|
+
}
|
|
20
|
+
const isDark = resolvedTheme === "dark";
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
"button",
|
|
23
|
+
{
|
|
24
|
+
onClick: () => setTheme(isDark ? "light" : "dark"),
|
|
25
|
+
className: "ui-control ui-focus inline-flex w-11 items-center justify-center text-muted-foreground hover:text-foreground",
|
|
26
|
+
"aria-label": isDark ? "Switch to light mode" : "Switch to dark mode",
|
|
27
|
+
children: isDark ? /* @__PURE__ */ jsxs(
|
|
28
|
+
"svg",
|
|
29
|
+
{
|
|
30
|
+
width: "16",
|
|
31
|
+
height: "16",
|
|
32
|
+
viewBox: "0 0 24 24",
|
|
33
|
+
fill: "none",
|
|
34
|
+
stroke: "currentColor",
|
|
35
|
+
strokeWidth: "1.5",
|
|
36
|
+
strokeLinecap: "round",
|
|
37
|
+
strokeLinejoin: "round",
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "5" }),
|
|
40
|
+
/* @__PURE__ */ jsx("path", { d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42" })
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
) : /* @__PURE__ */ jsx(
|
|
44
|
+
"svg",
|
|
45
|
+
{
|
|
46
|
+
width: "16",
|
|
47
|
+
height: "16",
|
|
48
|
+
viewBox: "0 0 24 24",
|
|
49
|
+
fill: "none",
|
|
50
|
+
stroke: "currentColor",
|
|
51
|
+
strokeWidth: "1.5",
|
|
52
|
+
strokeLinecap: "round",
|
|
53
|
+
strokeLinejoin: "round",
|
|
54
|
+
children: /* @__PURE__ */ jsx("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
ThemeToggleIcon
|
|
62
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useTheme } from "next-themes";
|
|
4
|
+
import { useSyncExternalStore } from "react";
|
|
5
|
+
import { Button } from "./ui/button.js";
|
|
6
|
+
const emptySubscribe = () => () => {
|
|
7
|
+
};
|
|
8
|
+
function useIsMounted() {
|
|
9
|
+
return useSyncExternalStore(
|
|
10
|
+
emptySubscribe,
|
|
11
|
+
() => true,
|
|
12
|
+
() => false
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
function ThemeToggle() {
|
|
16
|
+
const { resolvedTheme, setTheme } = useTheme();
|
|
17
|
+
const mounted = useIsMounted();
|
|
18
|
+
if (!mounted) {
|
|
19
|
+
return /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", className: "w-24", children: "\u2026" });
|
|
20
|
+
}
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
Button,
|
|
23
|
+
{
|
|
24
|
+
variant: "outline",
|
|
25
|
+
size: "sm",
|
|
26
|
+
className: "w-24",
|
|
27
|
+
onClick: () => setTheme(resolvedTheme === "dark" ? "light" : "dark"),
|
|
28
|
+
children: resolvedTheme === "dark" ? "\u2600\uFE0F Light" : "\u{1F319} Dark"
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
ThemeToggle
|
|
34
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
|
|
4
|
+
type HeadingProps = react.HTMLAttributes<HTMLHeadingElement> & {
|
|
5
|
+
children: react.ReactNode;
|
|
6
|
+
};
|
|
7
|
+
declare const pageTitleClass = "text-foreground text-3xl font-semibold leading-tight";
|
|
8
|
+
declare const sectionTitleClass = "text-foreground text-xl font-semibold";
|
|
9
|
+
declare function PageTitle({ className, children, ...props }: HeadingProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function SectionTitle({ className, children, ...props }: HeadingProps): react_jsx_runtime.JSX.Element;
|
|
11
|
+
|
|
12
|
+
export { PageTitle, SectionTitle, pageTitleClass, sectionTitleClass };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
32
|
+
import { jsx } from "react/jsx-runtime";
|
|
33
|
+
import { cn } from "../lib/utils.js";
|
|
34
|
+
const pageTitleClass = "text-foreground text-3xl font-semibold leading-tight";
|
|
35
|
+
const sectionTitleClass = "text-foreground text-xl font-semibold";
|
|
36
|
+
function PageTitle(_a) {
|
|
37
|
+
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
38
|
+
return /* @__PURE__ */ jsx("h1", __spreadProps(__spreadValues({ className: cn(pageTitleClass, className) }, props), { children }));
|
|
39
|
+
}
|
|
40
|
+
function SectionTitle(_c) {
|
|
41
|
+
var _d = _c, { className, children } = _d, props = __objRest(_d, ["className", "children"]);
|
|
42
|
+
return /* @__PURE__ */ jsx("h2", __spreadProps(__spreadValues({ className: cn(sectionTitleClass, className) }, props), { children }));
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
PageTitle,
|
|
46
|
+
SectionTitle,
|
|
47
|
+
pageTitleClass,
|
|
48
|
+
sectionTitleClass
|
|
49
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { Avatar as Avatar$1 } from 'radix-ui';
|
|
4
|
+
|
|
5
|
+
declare function Avatar({ className, size, ...props }: react.ComponentProps<typeof Avatar$1.Root> & {
|
|
6
|
+
size?: "default" | "sm" | "lg";
|
|
7
|
+
}): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function AvatarImage({ className, ...props }: react.ComponentProps<typeof Avatar$1.Image>): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function AvatarFallback({ className, ...props }: react.ComponentProps<typeof Avatar$1.Fallback>): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function AvatarBadge({ className, ...props }: react.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare function AvatarGroup({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
12
|
+
declare function AvatarGroupCount({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
13
|
+
|
|
14
|
+
export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __spreadValues = (a, b) => {
|
|
8
|
+
for (var prop in b || (b = {}))
|
|
9
|
+
if (__hasOwnProp.call(b, prop))
|
|
10
|
+
__defNormalProp(a, prop, b[prop]);
|
|
11
|
+
if (__getOwnPropSymbols)
|
|
12
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
13
|
+
if (__propIsEnum.call(b, prop))
|
|
14
|
+
__defNormalProp(a, prop, b[prop]);
|
|
15
|
+
}
|
|
16
|
+
return a;
|
|
17
|
+
};
|
|
18
|
+
var __objRest = (source, exclude) => {
|
|
19
|
+
var target = {};
|
|
20
|
+
for (var prop in source)
|
|
21
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
22
|
+
target[prop] = source[prop];
|
|
23
|
+
if (source != null && __getOwnPropSymbols)
|
|
24
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
25
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
26
|
+
target[prop] = source[prop];
|
|
27
|
+
}
|
|
28
|
+
return target;
|
|
29
|
+
};
|
|
30
|
+
import { jsx } from "react/jsx-runtime";
|
|
31
|
+
import { Avatar as AvatarPrimitive } from "radix-ui";
|
|
32
|
+
import { cn } from "../../lib/utils.js";
|
|
33
|
+
function Avatar(_a) {
|
|
34
|
+
var _b = _a, {
|
|
35
|
+
className,
|
|
36
|
+
size = "default"
|
|
37
|
+
} = _b, props = __objRest(_b, [
|
|
38
|
+
"className",
|
|
39
|
+
"size"
|
|
40
|
+
]);
|
|
41
|
+
return /* @__PURE__ */ jsx(
|
|
42
|
+
AvatarPrimitive.Root,
|
|
43
|
+
__spreadValues({
|
|
44
|
+
"data-slot": "avatar",
|
|
45
|
+
"data-size": size,
|
|
46
|
+
className: cn(
|
|
47
|
+
"group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6 ui-focus",
|
|
48
|
+
className
|
|
49
|
+
)
|
|
50
|
+
}, props)
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
function AvatarImage(_c) {
|
|
54
|
+
var _d = _c, {
|
|
55
|
+
className
|
|
56
|
+
} = _d, props = __objRest(_d, [
|
|
57
|
+
"className"
|
|
58
|
+
]);
|
|
59
|
+
return /* @__PURE__ */ jsx(
|
|
60
|
+
AvatarPrimitive.Image,
|
|
61
|
+
__spreadValues({
|
|
62
|
+
"data-slot": "avatar-image",
|
|
63
|
+
className: cn("aspect-square size-full", className)
|
|
64
|
+
}, props)
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
function AvatarFallback(_e) {
|
|
68
|
+
var _f = _e, {
|
|
69
|
+
className
|
|
70
|
+
} = _f, props = __objRest(_f, [
|
|
71
|
+
"className"
|
|
72
|
+
]);
|
|
73
|
+
return /* @__PURE__ */ jsx(
|
|
74
|
+
AvatarPrimitive.Fallback,
|
|
75
|
+
__spreadValues({
|
|
76
|
+
"data-slot": "avatar-fallback",
|
|
77
|
+
className: cn(
|
|
78
|
+
"bg-secondary text-secondary-foreground flex size-full items-center justify-center rounded-full font-medium text-xs group-data-[size=sm]/avatar:text-xs",
|
|
79
|
+
className
|
|
80
|
+
)
|
|
81
|
+
}, props)
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
function AvatarBadge(_g) {
|
|
85
|
+
var _h = _g, { className } = _h, props = __objRest(_h, ["className"]);
|
|
86
|
+
return /* @__PURE__ */ jsx(
|
|
87
|
+
"span",
|
|
88
|
+
__spreadValues({
|
|
89
|
+
"data-slot": "avatar-badge",
|
|
90
|
+
className: cn(
|
|
91
|
+
"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",
|
|
92
|
+
"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
|
|
93
|
+
"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
|
|
94
|
+
"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
|
|
95
|
+
className
|
|
96
|
+
)
|
|
97
|
+
}, props)
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
function AvatarGroup(_i) {
|
|
101
|
+
var _j = _i, { className } = _j, props = __objRest(_j, ["className"]);
|
|
102
|
+
return /* @__PURE__ */ jsx(
|
|
103
|
+
"div",
|
|
104
|
+
__spreadValues({
|
|
105
|
+
"data-slot": "avatar-group",
|
|
106
|
+
className: cn(
|
|
107
|
+
"*:data-[slot=avatar]:ring-background group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2",
|
|
108
|
+
className
|
|
109
|
+
)
|
|
110
|
+
}, props)
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
function AvatarGroupCount(_k) {
|
|
114
|
+
var _l = _k, {
|
|
115
|
+
className
|
|
116
|
+
} = _l, props = __objRest(_l, [
|
|
117
|
+
"className"
|
|
118
|
+
]);
|
|
119
|
+
return /* @__PURE__ */ jsx(
|
|
120
|
+
"div",
|
|
121
|
+
__spreadValues({
|
|
122
|
+
"data-slot": "avatar-group-count",
|
|
123
|
+
className: cn(
|
|
124
|
+
"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",
|
|
125
|
+
className
|
|
126
|
+
)
|
|
127
|
+
}, props)
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
export {
|
|
131
|
+
Avatar,
|
|
132
|
+
AvatarBadge,
|
|
133
|
+
AvatarFallback,
|
|
134
|
+
AvatarGroup,
|
|
135
|
+
AvatarGroupCount,
|
|
136
|
+
AvatarImage
|
|
137
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import * as react from 'react';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const badgeVariants: (props?: ({
|
|
7
|
+
variant?: "success" | "warning" | "error" | "info" | "default" | "secondary" | "outline" | "destructive" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
declare function Badge({ className, variant, asChild, ...props }: react.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
|
|
10
|
+
asChild?: boolean;
|
|
11
|
+
}): react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
export { Badge, badgeVariants };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
var __objRest = (source, exclude) => {
|
|
18
|
+
var target = {};
|
|
19
|
+
for (var prop in source)
|
|
20
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
21
|
+
target[prop] = source[prop];
|
|
22
|
+
if (source != null && __getOwnPropSymbols)
|
|
23
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
24
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
25
|
+
target[prop] = source[prop];
|
|
26
|
+
}
|
|
27
|
+
return target;
|
|
28
|
+
};
|
|
29
|
+
import { jsx } from "react/jsx-runtime";
|
|
30
|
+
import { cva } from "class-variance-authority";
|
|
31
|
+
import { Slot } from "radix-ui";
|
|
32
|
+
import { cn } from "../../lib/utils.js";
|
|
33
|
+
const badgeVariants = cva(
|
|
34
|
+
"inline-flex items-center justify-center rounded-sm border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none ui-focus aria-invalid:border-error transition-colors overflow-hidden",
|
|
35
|
+
{
|
|
36
|
+
variants: {
|
|
37
|
+
variant: {
|
|
38
|
+
success: "bg-success-bg text-success border-transparent",
|
|
39
|
+
warning: "bg-warning-bg text-warning border-transparent",
|
|
40
|
+
error: "bg-error-bg text-error border-transparent",
|
|
41
|
+
info: "bg-info-bg text-info border-transparent",
|
|
42
|
+
default: "bg-primary text-primary-foreground border-transparent [a&]:hover:bg-primary/90",
|
|
43
|
+
secondary: "bg-secondary text-secondary-foreground border-transparent [a&]:hover:bg-secondary/80",
|
|
44
|
+
outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
45
|
+
destructive: "bg-destructive text-destructive-foreground border-transparent [a&]:hover:bg-destructive/90"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
defaultVariants: {
|
|
49
|
+
variant: "default"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
function Badge(_a) {
|
|
54
|
+
var _b = _a, {
|
|
55
|
+
className,
|
|
56
|
+
variant = "default",
|
|
57
|
+
asChild = false
|
|
58
|
+
} = _b, props = __objRest(_b, [
|
|
59
|
+
"className",
|
|
60
|
+
"variant",
|
|
61
|
+
"asChild"
|
|
62
|
+
]);
|
|
63
|
+
const Comp = asChild ? Slot.Root : "span";
|
|
64
|
+
return /* @__PURE__ */ jsx(
|
|
65
|
+
Comp,
|
|
66
|
+
__spreadValues({
|
|
67
|
+
"data-slot": "badge",
|
|
68
|
+
"data-variant": variant,
|
|
69
|
+
className: cn(badgeVariants({ variant }), className)
|
|
70
|
+
}, props)
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
Badge,
|
|
75
|
+
badgeVariants
|
|
76
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import * as react from 'react';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const buttonVariants: (props?: ({
|
|
7
|
+
variant?: "link" | "default" | "secondary" | "outline" | "destructive" | "ghost" | null | undefined;
|
|
8
|
+
size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
|
+
declare function Button({ className, variant, size, asChild, ...props }: react.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
11
|
+
asChild?: boolean;
|
|
12
|
+
}): react_jsx_runtime.JSX.Element;
|
|
13
|
+
|
|
14
|
+
export { Button, buttonVariants };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
var __objRest = (source, exclude) => {
|
|
18
|
+
var target = {};
|
|
19
|
+
for (var prop in source)
|
|
20
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
21
|
+
target[prop] = source[prop];
|
|
22
|
+
if (source != null && __getOwnPropSymbols)
|
|
23
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
24
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
25
|
+
target[prop] = source[prop];
|
|
26
|
+
}
|
|
27
|
+
return target;
|
|
28
|
+
};
|
|
29
|
+
import { jsx } from "react/jsx-runtime";
|
|
30
|
+
import { cva } from "class-variance-authority";
|
|
31
|
+
import { Slot } from "radix-ui";
|
|
32
|
+
import { cn } from "../../lib/utils.js";
|
|
33
|
+
const buttonVariants = cva(
|
|
34
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap ui-control ui-focus rounded-md text-base font-medium transition-colors duration-(--ui-motion-fast) cursor-pointer disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 ui-focus aria-invalid:border-error",
|
|
35
|
+
{
|
|
36
|
+
variants: {
|
|
37
|
+
variant: {
|
|
38
|
+
default: "bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
39
|
+
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 ",
|
|
40
|
+
outline: "border border-border-strong bg-background hover:bg-surface-subtle",
|
|
41
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
42
|
+
ghost: "hover:bg-surface-subtle",
|
|
43
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
44
|
+
},
|
|
45
|
+
size: {
|
|
46
|
+
default: "px-4 has-[>svg]:px-3",
|
|
47
|
+
xs: "gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
48
|
+
sm: "rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
49
|
+
lg: "rounded-md px-6 has-[>svg]:px-4",
|
|
50
|
+
icon: "",
|
|
51
|
+
"icon-xs": "rounded-md [&_svg:not([class*='size-'])]:size-3",
|
|
52
|
+
"icon-sm": "",
|
|
53
|
+
"icon-lg": ""
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
defaultVariants: {
|
|
57
|
+
variant: "default",
|
|
58
|
+
size: "default"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
function Button(_a) {
|
|
63
|
+
var _b = _a, {
|
|
64
|
+
className,
|
|
65
|
+
variant = "default",
|
|
66
|
+
size = "default",
|
|
67
|
+
asChild = false
|
|
68
|
+
} = _b, props = __objRest(_b, [
|
|
69
|
+
"className",
|
|
70
|
+
"variant",
|
|
71
|
+
"size",
|
|
72
|
+
"asChild"
|
|
73
|
+
]);
|
|
74
|
+
const Comp = asChild ? Slot.Root : "button";
|
|
75
|
+
return /* @__PURE__ */ jsx(
|
|
76
|
+
Comp,
|
|
77
|
+
__spreadValues({
|
|
78
|
+
"data-slot": "button",
|
|
79
|
+
"data-variant": variant,
|
|
80
|
+
"data-size": size,
|
|
81
|
+
className: cn(buttonVariants({ variant, size, className }))
|
|
82
|
+
}, props)
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
export {
|
|
86
|
+
Button,
|
|
87
|
+
buttonVariants
|
|
88
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
|
|
4
|
+
declare function Card({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
5
|
+
declare function CardElevated({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function CardHeader({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare function CardTitle({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function CardDescription({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function CardAction({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function CardContent({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare function CardFooter({ className, ...props }: react.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
export { Card, CardAction, CardContent, CardDescription, CardElevated, CardFooter, CardHeader, CardTitle };
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
var __objRest = (source, exclude) => {
|
|
18
|
+
var target = {};
|
|
19
|
+
for (var prop in source)
|
|
20
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
21
|
+
target[prop] = source[prop];
|
|
22
|
+
if (source != null && __getOwnPropSymbols)
|
|
23
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
24
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
25
|
+
target[prop] = source[prop];
|
|
26
|
+
}
|
|
27
|
+
return target;
|
|
28
|
+
};
|
|
29
|
+
import { jsx } from "react/jsx-runtime";
|
|
30
|
+
import { cn } from "../../lib/utils.js";
|
|
31
|
+
function Card(_a) {
|
|
32
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
33
|
+
return /* @__PURE__ */ jsx(
|
|
34
|
+
"div",
|
|
35
|
+
__spreadValues({
|
|
36
|
+
"data-slot": "card",
|
|
37
|
+
className: cn(
|
|
38
|
+
"bg-card text-card-foreground flex flex-col rounded-xl border border-border-subtle transition-colors duration-(--ui-motion-fast)",
|
|
39
|
+
className
|
|
40
|
+
)
|
|
41
|
+
}, props)
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
function CardElevated(_c) {
|
|
45
|
+
var _d = _c, { className } = _d, props = __objRest(_d, ["className"]);
|
|
46
|
+
return /* @__PURE__ */ jsx(
|
|
47
|
+
"div",
|
|
48
|
+
__spreadValues({
|
|
49
|
+
"data-slot": "card",
|
|
50
|
+
className: cn(
|
|
51
|
+
"bg-card text-card-foreground flex flex-col rounded-xl border border-border-subtle shadow-sm dark:bg-card-elevated transition-colors duration-(--ui-motion-fast)",
|
|
52
|
+
className
|
|
53
|
+
)
|
|
54
|
+
}, props)
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
function CardHeader(_e) {
|
|
58
|
+
var _f = _e, { className } = _f, props = __objRest(_f, ["className"]);
|
|
59
|
+
return /* @__PURE__ */ jsx(
|
|
60
|
+
"div",
|
|
61
|
+
__spreadValues({
|
|
62
|
+
"data-slot": "card-header",
|
|
63
|
+
className: cn(
|
|
64
|
+
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-(--ui-panel-padding) has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-(--ui-panel-padding)",
|
|
65
|
+
className
|
|
66
|
+
)
|
|
67
|
+
}, props)
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
function CardTitle(_g) {
|
|
71
|
+
var _h = _g, { className } = _h, props = __objRest(_h, ["className"]);
|
|
72
|
+
return /* @__PURE__ */ jsx(
|
|
73
|
+
"div",
|
|
74
|
+
__spreadValues({
|
|
75
|
+
"data-slot": "card-title",
|
|
76
|
+
className: cn("leading-none font-semibold", className)
|
|
77
|
+
}, props)
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
function CardDescription(_i) {
|
|
81
|
+
var _j = _i, { className } = _j, props = __objRest(_j, ["className"]);
|
|
82
|
+
return /* @__PURE__ */ jsx(
|
|
83
|
+
"div",
|
|
84
|
+
__spreadValues({
|
|
85
|
+
"data-slot": "card-description",
|
|
86
|
+
className: cn("text-muted-foreground text-sm", className)
|
|
87
|
+
}, props)
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
function CardAction(_k) {
|
|
91
|
+
var _l = _k, { className } = _l, props = __objRest(_l, ["className"]);
|
|
92
|
+
return /* @__PURE__ */ jsx(
|
|
93
|
+
"div",
|
|
94
|
+
__spreadValues({
|
|
95
|
+
"data-slot": "card-action",
|
|
96
|
+
className: cn(
|
|
97
|
+
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
|
|
98
|
+
className
|
|
99
|
+
)
|
|
100
|
+
}, props)
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
function CardContent(_m) {
|
|
104
|
+
var _n = _m, { className } = _n, props = __objRest(_n, ["className"]);
|
|
105
|
+
return /* @__PURE__ */ jsx(
|
|
106
|
+
"div",
|
|
107
|
+
__spreadValues({
|
|
108
|
+
"data-slot": "card-content",
|
|
109
|
+
className: cn("px-(--ui-panel-padding)", className)
|
|
110
|
+
}, props)
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
function CardFooter(_o) {
|
|
114
|
+
var _p = _o, { className } = _p, props = __objRest(_p, ["className"]);
|
|
115
|
+
return /* @__PURE__ */ jsx(
|
|
116
|
+
"div",
|
|
117
|
+
__spreadValues({
|
|
118
|
+
"data-slot": "card-footer",
|
|
119
|
+
className: cn(
|
|
120
|
+
"flex items-center px-(--ui-panel-padding) [.border-t]:pt-(--ui-panel-padding)",
|
|
121
|
+
className
|
|
122
|
+
)
|
|
123
|
+
}, props)
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
export {
|
|
127
|
+
Card,
|
|
128
|
+
CardAction,
|
|
129
|
+
CardContent,
|
|
130
|
+
CardDescription,
|
|
131
|
+
CardElevated,
|
|
132
|
+
CardFooter,
|
|
133
|
+
CardHeader,
|
|
134
|
+
CardTitle
|
|
135
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { Checkbox as Checkbox$1 } from 'radix-ui';
|
|
4
|
+
|
|
5
|
+
declare function Checkbox({ className, ...props }: react.ComponentProps<typeof Checkbox$1.Root>): react_jsx_runtime.JSX.Element;
|
|
6
|
+
|
|
7
|
+
export { Checkbox };
|