@neuronection/assistant-ui 0.1.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/LICENSE +176 -0
- package/README.md +92 -0
- package/dist/badge.d.ts +12 -0
- package/dist/badge.js +3 -0
- package/dist/badge.js.map +1 -0
- package/dist/button.d.ts +15 -0
- package/dist/button.js +3 -0
- package/dist/button.js.map +1 -0
- package/dist/card.d.ts +10 -0
- package/dist/card.js +3 -0
- package/dist/card.js.map +1 -0
- package/dist/chunk-3HFL3JGP.js +47 -0
- package/dist/chunk-3HFL3JGP.js.map +1 -0
- package/dist/chunk-56VRWCLJ.js +56 -0
- package/dist/chunk-56VRWCLJ.js.map +1 -0
- package/dist/chunk-6BLRNKFS.js +3 -0
- package/dist/chunk-6BLRNKFS.js.map +1 -0
- package/dist/chunk-7YLR4AGA.js +12 -0
- package/dist/chunk-7YLR4AGA.js.map +1 -0
- package/dist/chunk-BLJWR4ZV.js +11 -0
- package/dist/chunk-BLJWR4ZV.js.map +1 -0
- package/dist/chunk-CI56SSO2.js +29 -0
- package/dist/chunk-CI56SSO2.js.map +1 -0
- package/dist/chunk-COPPAHR5.js +36 -0
- package/dist/chunk-COPPAHR5.js.map +1 -0
- package/dist/chunk-HSWSYEFQ.js +81 -0
- package/dist/chunk-HSWSYEFQ.js.map +1 -0
- package/dist/chunk-IFNT6JSQ.js +3 -0
- package/dist/chunk-IFNT6JSQ.js.map +1 -0
- package/dist/chunk-INTST5VG.js +36 -0
- package/dist/chunk-INTST5VG.js.map +1 -0
- package/dist/chunk-KDJLYKR6.js +49 -0
- package/dist/chunk-KDJLYKR6.js.map +1 -0
- package/dist/chunk-NQQNTK6L.js +39 -0
- package/dist/chunk-NQQNTK6L.js.map +1 -0
- package/dist/chunk-ORTCK34Y.js +3 -0
- package/dist/chunk-ORTCK34Y.js.map +1 -0
- package/dist/chunk-RHBQ3GZE.js +113 -0
- package/dist/chunk-RHBQ3GZE.js.map +1 -0
- package/dist/chunk-TGU3PKNM.js +23 -0
- package/dist/chunk-TGU3PKNM.js.map +1 -0
- package/dist/chunk-TJGX27YO.js +60 -0
- package/dist/chunk-TJGX27YO.js.map +1 -0
- package/dist/chunk-TLTKWLMN.js +55 -0
- package/dist/chunk-TLTKWLMN.js.map +1 -0
- package/dist/chunk-XDMGFB6Q.js +3 -0
- package/dist/chunk-XDMGFB6Q.js.map +1 -0
- package/dist/confirmation-modal.d.ts +20 -0
- package/dist/confirmation-modal.js +3 -0
- package/dist/confirmation-modal.js.map +1 -0
- package/dist/empty-state.d.ts +13 -0
- package/dist/empty-state.js +3 -0
- package/dist/empty-state.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/input.d.ts +10 -0
- package/dist/input.js +3 -0
- package/dist/input.js.map +1 -0
- package/dist/modal.d.ts +21 -0
- package/dist/modal.js +3 -0
- package/dist/modal.js.map +1 -0
- package/dist/popover.d.ts +10 -0
- package/dist/popover.js +3 -0
- package/dist/popover.js.map +1 -0
- package/dist/portal.d.ts +9 -0
- package/dist/portal.js +3 -0
- package/dist/portal.js.map +1 -0
- package/dist/spinner.d.ts +14 -0
- package/dist/spinner.js +3 -0
- package/dist/spinner.js.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/theme-scope.d.ts +9 -0
- package/dist/theme-scope.js +3 -0
- package/dist/theme-scope.js.map +1 -0
- package/dist/tokens.d.ts +8 -0
- package/dist/tokens.js +3 -0
- package/dist/tokens.js.map +1 -0
- package/dist/tooltip.d.ts +23 -0
- package/dist/tooltip.js +3 -0
- package/dist/tooltip.js.map +1 -0
- package/package.json +140 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { cn } from './chunk-BLJWR4ZV.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var Card = React.forwardRef(
|
|
6
|
+
function Card2({ className, ...props }, ref) {
|
|
7
|
+
return /* @__PURE__ */ jsx(
|
|
8
|
+
"div",
|
|
9
|
+
{
|
|
10
|
+
ref,
|
|
11
|
+
"data-as": "card",
|
|
12
|
+
className: cn(
|
|
13
|
+
"rounded-[var(--as-radius-lg)] border border-[var(--as-border)] bg-[var(--as-surface)] text-[var(--as-fg)] shadow-[var(--as-shadow-1)]",
|
|
14
|
+
className
|
|
15
|
+
),
|
|
16
|
+
...props
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
var CardHeader = React.forwardRef(
|
|
22
|
+
function CardHeader2({ className, ...props }, ref) {
|
|
23
|
+
return /* @__PURE__ */ jsx(
|
|
24
|
+
"div",
|
|
25
|
+
{
|
|
26
|
+
ref,
|
|
27
|
+
"data-as": "card-header",
|
|
28
|
+
className: cn("flex flex-col gap-1.5 p-5", className),
|
|
29
|
+
...props
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
var CardTitle = React.forwardRef(
|
|
35
|
+
function CardTitle2({ className, ...props }, ref) {
|
|
36
|
+
return /* @__PURE__ */ jsx(
|
|
37
|
+
"h3",
|
|
38
|
+
{
|
|
39
|
+
ref,
|
|
40
|
+
"data-as": "card-title",
|
|
41
|
+
className: cn("font-semibold leading-none tracking-tight", className),
|
|
42
|
+
...props
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
var CardDescription = React.forwardRef(
|
|
48
|
+
function CardDescription2({ className, ...props }, ref) {
|
|
49
|
+
return /* @__PURE__ */ jsx(
|
|
50
|
+
"p",
|
|
51
|
+
{
|
|
52
|
+
ref,
|
|
53
|
+
"data-as": "card-description",
|
|
54
|
+
className: cn("text-sm text-[var(--as-muted-fg)]", className),
|
|
55
|
+
...props
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
var CardContent = React.forwardRef(
|
|
61
|
+
function CardContent2({ className, ...props }, ref) {
|
|
62
|
+
return /* @__PURE__ */ jsx("div", { ref, "data-as": "card-content", className: cn("p-5 pt-0", className), ...props });
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
var CardFooter = React.forwardRef(
|
|
66
|
+
function CardFooter2({ className, ...props }, ref) {
|
|
67
|
+
return /* @__PURE__ */ jsx(
|
|
68
|
+
"div",
|
|
69
|
+
{
|
|
70
|
+
ref,
|
|
71
|
+
"data-as": "card-footer",
|
|
72
|
+
className: cn("flex items-center p-5 pt-0", className),
|
|
73
|
+
...props
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
|
|
80
|
+
//# sourceMappingURL=chunk-HSWSYEFQ.js.map
|
|
81
|
+
//# sourceMappingURL=chunk-HSWSYEFQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/card/Card.tsx"],"names":["Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter"],"mappings":";;;;AAGO,IAAM,IAAA,GAAa,KAAA,CAAA,UAAA;AAAA,EACxB,SAASA,KAAAA,CAAK,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,EAAK;AAC1C,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAQ,MAAA;AAAA,QACR,SAAA,EAAW,EAAA;AAAA,UACT,uIAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEO,IAAM,UAAA,GAAmB,KAAA,CAAA,UAAA;AAAA,EAC9B,SAASC,WAAAA,CAAW,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,EAAK;AAChD,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAQ,aAAA;AAAA,QACR,SAAA,EAAW,EAAA,CAAG,2BAAA,EAA6B,SAAS,CAAA;AAAA,QACnD,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEO,IAAM,SAAA,GAAkB,KAAA,CAAA,UAAA;AAAA,EAC7B,SAASC,UAAAA,CAAU,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,EAAK;AAC/C,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAQ,YAAA;AAAA,QACR,SAAA,EAAW,EAAA,CAAG,2CAAA,EAA6C,SAAS,CAAA;AAAA,QACnE,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEO,IAAM,eAAA,GAAwB,KAAA,CAAA,UAAA;AAAA,EACnC,SAASC,gBAAAA,CAAgB,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,EAAK;AACrD,IAAA,uBACE,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAQ,kBAAA;AAAA,QACR,SAAA,EAAW,EAAA,CAAG,mCAAA,EAAqC,SAAS,CAAA;AAAA,QAC3D,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEO,IAAM,WAAA,GAAoB,KAAA,CAAA,UAAA;AAAA,EAC/B,SAASC,YAAAA,CAAY,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,EAAK;AACjD,IAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,SAAA,EAAQ,cAAA,EAAe,SAAA,EAAW,EAAA,CAAG,UAAA,EAAY,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAAA,EAE3F;AACF;AAEO,IAAM,UAAA,GAAmB,KAAA,CAAA,UAAA;AAAA,EAC9B,SAASC,WAAAA,CAAW,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,EAAK;AAChD,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAQ,aAAA;AAAA,QACR,SAAA,EAAW,EAAA,CAAG,4BAAA,EAA8B,SAAS,CAAA;AAAA,QACpD,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF","file":"chunk-HSWSYEFQ.js","sourcesContent":["import * as React from 'react'\nimport { cn } from '../../lib/utils'\n\nexport const Card = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n function Card({ className, ...props }, ref) {\n return (\n <div\n ref={ref}\n data-as=\"card\"\n className={cn(\n 'rounded-[var(--as-radius-lg)] border border-[var(--as-border)] bg-[var(--as-surface)] text-[var(--as-fg)] shadow-[var(--as-shadow-1)]',\n className,\n )}\n {...props}\n />\n )\n },\n)\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n function CardHeader({ className, ...props }, ref) {\n return (\n <div\n ref={ref}\n data-as=\"card-header\"\n className={cn('flex flex-col gap-1.5 p-5', className)}\n {...props}\n />\n )\n },\n)\n\nexport const CardTitle = React.forwardRef<HTMLHeadingElement, React.ComponentProps<'h3'>>(\n function CardTitle({ className, ...props }, ref) {\n return (\n <h3\n ref={ref}\n data-as=\"card-title\"\n className={cn('font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n )\n },\n)\n\nexport const CardDescription = React.forwardRef<HTMLParagraphElement, React.ComponentProps<'p'>>(\n function CardDescription({ className, ...props }, ref) {\n return (\n <p\n ref={ref}\n data-as=\"card-description\"\n className={cn('text-sm text-[var(--as-muted-fg)]', className)}\n {...props}\n />\n )\n },\n)\n\nexport const CardContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n function CardContent({ className, ...props }, ref) {\n return (\n <div ref={ref} data-as=\"card-content\" className={cn('p-5 pt-0', className)} {...props} />\n )\n },\n)\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n function CardFooter({ className, ...props }, ref) {\n return (\n <div\n ref={ref}\n data-as=\"card-footer\"\n className={cn('flex items-center p-5 pt-0', className)}\n {...props}\n />\n )\n },\n)\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-IFNT6JSQ.js"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { cn } from './chunk-BLJWR4ZV.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Loader2 } from 'lucide-react';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var sizeClasses = {
|
|
7
|
+
sm: "size-3.5",
|
|
8
|
+
md: "size-4",
|
|
9
|
+
lg: "size-6"
|
|
10
|
+
};
|
|
11
|
+
var Spinner = React.forwardRef(
|
|
12
|
+
function Spinner2({ className, size = "md", label, ...props }, ref) {
|
|
13
|
+
return /* @__PURE__ */ jsxs(
|
|
14
|
+
"span",
|
|
15
|
+
{
|
|
16
|
+
ref,
|
|
17
|
+
"data-as": "spinner",
|
|
18
|
+
role: label ? "status" : void 0,
|
|
19
|
+
"aria-live": label ? "polite" : void 0,
|
|
20
|
+
className: cn(
|
|
21
|
+
"inline-flex items-center justify-center text-[var(--as-muted-fg)]",
|
|
22
|
+
className
|
|
23
|
+
),
|
|
24
|
+
...props,
|
|
25
|
+
children: [
|
|
26
|
+
/* @__PURE__ */ jsx(Loader2, { "aria-hidden": "true", className: cn("animate-spin", sizeClasses[size]) }),
|
|
27
|
+
label ? /* @__PURE__ */ jsx("span", { className: "sr-only", children: label }) : null
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
export { Spinner };
|
|
35
|
+
//# sourceMappingURL=chunk-INTST5VG.js.map
|
|
36
|
+
//# sourceMappingURL=chunk-INTST5VG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/spinner/Spinner.tsx"],"names":["Spinner"],"mappings":";;;;;AAIA,IAAM,WAAA,GAAc;AAAA,EAClB,EAAA,EAAI,UAAA;AAAA,EACJ,EAAA,EAAI,QAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAOO,IAAM,OAAA,GAAgB,KAAA,CAAA,UAAA;AAAA,EAC3B,SAASA,QAAAA,CAAQ,EAAE,SAAA,EAAW,IAAA,GAAO,MAAM,KAAA,EAAO,GAAG,KAAA,EAAM,EAAG,GAAA,EAAK;AACjE,IAAA,uBACE,IAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAM,QAAQ,QAAA,GAAW,MAAA;AAAA,QACzB,WAAA,EAAW,QAAQ,QAAA,GAAW,MAAA;AAAA,QAC9B,SAAA,EAAW,EAAA;AAAA,UACT,mEAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,OAAA,EAAA,EAAQ,eAAY,MAAA,EAAO,SAAA,EAAW,GAAG,cAAA,EAAgB,WAAA,CAAY,IAAI,CAAC,CAAA,EAAG,CAAA;AAAA,UAC7E,wBAAQ,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,iBAAM,CAAA,GAAU;AAAA;AAAA;AAAA,KACtD;AAAA,EAEJ;AACF","file":"chunk-INTST5VG.js","sourcesContent":["import * as React from 'react'\nimport { Loader2 } from 'lucide-react'\nimport { cn } from '../../lib/utils'\n\nconst sizeClasses = {\n sm: 'size-3.5',\n md: 'size-4',\n lg: 'size-6',\n} as const\n\nexport interface SpinnerProps extends React.ComponentProps<'span'> {\n size?: keyof typeof sizeClasses\n label?: string\n}\n\nexport const Spinner = React.forwardRef<HTMLSpanElement, SpinnerProps>(\n function Spinner({ className, size = 'md', label, ...props }, ref) {\n return (\n <span\n ref={ref}\n data-as=\"spinner\"\n role={label ? 'status' : undefined}\n aria-live={label ? 'polite' : undefined}\n className={cn(\n 'inline-flex items-center justify-center text-[var(--as-muted-fg)]',\n className,\n )}\n {...props}\n >\n <Loader2 aria-hidden=\"true\" className={cn('animate-spin', sizeClasses[size])} />\n {label ? <span className=\"sr-only\">{label}</span> : null}\n </span>\n )\n },\n)\n"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { cn } from './chunk-BLJWR4ZV.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var EmptyState = React.forwardRef(
|
|
6
|
+
function EmptyState2({ icon: Icon, title, description, action, compact = false, className, ...props }, ref) {
|
|
7
|
+
return /* @__PURE__ */ jsxs(
|
|
8
|
+
"div",
|
|
9
|
+
{
|
|
10
|
+
ref,
|
|
11
|
+
"data-as": "empty-state",
|
|
12
|
+
className: cn(
|
|
13
|
+
"flex flex-col items-center justify-center text-center",
|
|
14
|
+
compact ? "py-6" : "py-12",
|
|
15
|
+
className
|
|
16
|
+
),
|
|
17
|
+
...props,
|
|
18
|
+
children: [
|
|
19
|
+
Icon ? /* @__PURE__ */ jsx(
|
|
20
|
+
Icon,
|
|
21
|
+
{
|
|
22
|
+
"aria-hidden": "true",
|
|
23
|
+
className: cn(
|
|
24
|
+
"mb-3 text-[var(--as-muted-fg)] opacity-60",
|
|
25
|
+
compact ? "size-8" : "size-12"
|
|
26
|
+
)
|
|
27
|
+
}
|
|
28
|
+
) : null,
|
|
29
|
+
/* @__PURE__ */ jsx(
|
|
30
|
+
"p",
|
|
31
|
+
{
|
|
32
|
+
className: cn(
|
|
33
|
+
"font-semibold text-[var(--as-fg)]",
|
|
34
|
+
compact ? "text-sm" : "text-base"
|
|
35
|
+
),
|
|
36
|
+
children: title
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
description ? /* @__PURE__ */ jsx("p", { className: "mt-1 max-w-sm text-sm text-[var(--as-muted-fg)]", children: description }) : null,
|
|
40
|
+
action ? /* @__PURE__ */ jsx("div", { className: "mt-4", children: action }) : null
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
export { EmptyState };
|
|
48
|
+
//# sourceMappingURL=chunk-KDJLYKR6.js.map
|
|
49
|
+
//# sourceMappingURL=chunk-KDJLYKR6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/empty-state/EmptyState.tsx"],"names":["EmptyState"],"mappings":";;;;AAYO,IAAM,UAAA,GAAmB,KAAA,CAAA,UAAA;AAAA,EAC9B,SAASA,WAAAA,CACP,EAAE,IAAA,EAAM,MAAM,KAAA,EAAO,WAAA,EAAa,MAAA,EAAQ,OAAA,GAAU,KAAA,EAAO,SAAA,EAAW,GAAG,KAAA,IACzE,GAAA,EACA;AACA,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAQ,aAAA;AAAA,QACR,SAAA,EAAW,EAAA;AAAA,UACT,uDAAA;AAAA,UACA,UAAU,MAAA,GAAS,OAAA;AAAA,UACnB;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA,UAAA,IAAA,mBACC,GAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cACC,aAAA,EAAY,MAAA;AAAA,cACZ,SAAA,EAAW,EAAA;AAAA,gBACT,2CAAA;AAAA,gBACA,UAAU,QAAA,GAAW;AAAA;AACvB;AAAA,WACF,GACE,IAAA;AAAA,0BACJ,GAAA;AAAA,YAAC,GAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,mCAAA;AAAA,gBACA,UAAU,SAAA,GAAY;AAAA,eACxB;AAAA,cAEC,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UACC,8BACC,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,iDAAA,EAAmD,uBAAY,CAAA,GAC1E,IAAA;AAAA,UACH,yBAAS,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAQ,kBAAO,CAAA,GAAS;AAAA;AAAA;AAAA,KACnD;AAAA,EAEJ;AACF","file":"chunk-KDJLYKR6.js","sourcesContent":["import * as React from 'react'\nimport type { LucideIcon } from 'lucide-react'\nimport { cn } from '../../lib/utils'\n\nexport interface EmptyStateProps extends React.ComponentProps<'div'> {\n icon?: LucideIcon\n title: string\n description?: string\n action?: React.ReactNode\n compact?: boolean\n}\n\nexport const EmptyState = React.forwardRef<HTMLDivElement, EmptyStateProps>(\n function EmptyState(\n { icon: Icon, title, description, action, compact = false, className, ...props },\n ref,\n ) {\n return (\n <div\n ref={ref}\n data-as=\"empty-state\"\n className={cn(\n 'flex flex-col items-center justify-center text-center',\n compact ? 'py-6' : 'py-12',\n className,\n )}\n {...props}\n >\n {Icon ? (\n <Icon\n aria-hidden=\"true\"\n className={cn(\n 'mb-3 text-[var(--as-muted-fg)] opacity-60',\n compact ? 'size-8' : 'size-12',\n )}\n />\n ) : null}\n <p\n className={cn(\n 'font-semibold text-[var(--as-fg)]',\n compact ? 'text-sm' : 'text-base',\n )}\n >\n {title}\n </p>\n {description ? (\n <p className=\"mt-1 max-w-sm text-sm text-[var(--as-muted-fg)]\">{description}</p>\n ) : null}\n {action ? <div className=\"mt-4\">{action}</div> : null}\n </div>\n )\n },\n)\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { cn } from './chunk-BLJWR4ZV.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var badgeVariants = cva(
|
|
7
|
+
"inline-flex items-center gap-1 rounded-full border px-2.5 py-0.5 text-xs font-medium [&_svg]:size-3",
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
variant: {
|
|
11
|
+
default: "border-transparent bg-[var(--as-primary)] text-[var(--as-primary-fg)]",
|
|
12
|
+
secondary: "border-transparent bg-[var(--as-secondary)] text-[var(--as-secondary-fg)]",
|
|
13
|
+
outline: "border-[var(--as-border)] text-[var(--as-fg)]",
|
|
14
|
+
success: "border-transparent bg-[var(--as-success)] text-[var(--as-success-fg)]",
|
|
15
|
+
warning: "border-transparent bg-[var(--as-warning)] text-[var(--as-warning-fg)]",
|
|
16
|
+
danger: "border-transparent bg-[var(--as-danger)] text-[var(--as-danger-fg)]",
|
|
17
|
+
ai: "border-transparent bg-[var(--as-ai)] text-[var(--as-ai-fg)]"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
variant: "default"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
var Badge = React.forwardRef(function Badge2({ className, variant, ...props }, ref) {
|
|
26
|
+
return /* @__PURE__ */ jsx(
|
|
27
|
+
"span",
|
|
28
|
+
{
|
|
29
|
+
ref,
|
|
30
|
+
"data-as": "badge",
|
|
31
|
+
className: cn(badgeVariants({ variant, className })),
|
|
32
|
+
...props
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
export { Badge, badgeVariants };
|
|
38
|
+
//# sourceMappingURL=chunk-NQQNTK6L.js.map
|
|
39
|
+
//# sourceMappingURL=chunk-NQQNTK6L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/badge/Badge.tsx"],"names":["Badge"],"mappings":";;;;;AAIA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,qGAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,uEAAA;AAAA,QACT,SAAA,EACE,2EAAA;AAAA,QACF,OAAA,EAAS,+CAAA;AAAA,QACT,OAAA,EAAS,uEAAA;AAAA,QACT,OAAA,EAAS,uEAAA;AAAA,QACT,MAAA,EAAQ,qEAAA;AAAA,QACR,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAMO,IAAM,KAAA,GAAc,KAAA,CAAA,UAAA,CAAwC,SAASA,MAAAA,CAC1E,EAAE,WAAW,OAAA,EAAS,GAAG,KAAA,EAAM,EAC/B,GAAA,EACA;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAQ,OAAA;AAAA,MACR,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,OAAA,EAAS,SAAA,EAAW,CAAC,CAAA;AAAA,MAClD,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC","file":"chunk-NQQNTK6L.js","sourcesContent":["import * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../../lib/utils'\n\nconst badgeVariants = cva(\n 'inline-flex items-center gap-1 rounded-full border px-2.5 py-0.5 text-xs font-medium [&_svg]:size-3',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-[var(--as-primary)] text-[var(--as-primary-fg)]',\n secondary:\n 'border-transparent bg-[var(--as-secondary)] text-[var(--as-secondary-fg)]',\n outline: 'border-[var(--as-border)] text-[var(--as-fg)]',\n success: 'border-transparent bg-[var(--as-success)] text-[var(--as-success-fg)]',\n warning: 'border-transparent bg-[var(--as-warning)] text-[var(--as-warning-fg)]',\n danger: 'border-transparent bg-[var(--as-danger)] text-[var(--as-danger-fg)]',\n ai: 'border-transparent bg-[var(--as-ai)] text-[var(--as-ai-fg)]',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n)\n\nexport interface BadgeProps\n extends React.ComponentProps<'span'>,\n VariantProps<typeof badgeVariants> {}\n\nexport const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(function Badge(\n { className, variant, ...props },\n ref,\n) {\n return (\n <span\n ref={ref}\n data-as=\"badge\"\n className={cn(badgeVariants({ variant, className }))}\n {...props}\n />\n )\n})\n\nexport { badgeVariants }\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-ORTCK34Y.js"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { cn } from './chunk-BLJWR4ZV.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
4
|
+
import { X } from 'lucide-react';
|
|
5
|
+
import { cva } from 'class-variance-authority';
|
|
6
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var Modal = DialogPrimitive.Root;
|
|
9
|
+
var ModalTrigger = DialogPrimitive.Trigger;
|
|
10
|
+
var ModalClose = DialogPrimitive.Close;
|
|
11
|
+
var modalContentVariants = cva("", {
|
|
12
|
+
variants: {
|
|
13
|
+
size: {
|
|
14
|
+
sm: "max-w-sm",
|
|
15
|
+
md: "max-w-md",
|
|
16
|
+
lg: "max-w-lg",
|
|
17
|
+
xl: "max-w-xl"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
size: "md"
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var ModalContent = React.forwardRef(function ModalContent2({ className, children, size, closeLabel = "Close", ...props }, ref) {
|
|
25
|
+
return /* @__PURE__ */ jsxs(DialogPrimitive.Portal, { children: [
|
|
26
|
+
/* @__PURE__ */ jsx(
|
|
27
|
+
DialogPrimitive.Overlay,
|
|
28
|
+
{
|
|
29
|
+
"data-as": "modal-overlay",
|
|
30
|
+
className: cn("as-anim-fade fixed inset-0 z-50 bg-[var(--as-overlay)]")
|
|
31
|
+
}
|
|
32
|
+
),
|
|
33
|
+
/* @__PURE__ */ jsxs(
|
|
34
|
+
DialogPrimitive.Content,
|
|
35
|
+
{
|
|
36
|
+
ref,
|
|
37
|
+
"data-as": "modal",
|
|
38
|
+
className: cn(
|
|
39
|
+
"as-anim-modal fixed left-1/2 top-1/2 z-50 flex max-h-[85vh] w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-y-auto rounded-[var(--as-radius-lg)] border border-[var(--as-border)] bg-[var(--as-surface-raised)] text-[var(--as-fg)] shadow-[var(--as-shadow-3)] focus:outline-none",
|
|
40
|
+
modalContentVariants({ size }),
|
|
41
|
+
className
|
|
42
|
+
),
|
|
43
|
+
...props,
|
|
44
|
+
children: [
|
|
45
|
+
children,
|
|
46
|
+
/* @__PURE__ */ jsx(
|
|
47
|
+
DialogPrimitive.Close,
|
|
48
|
+
{
|
|
49
|
+
"aria-label": closeLabel,
|
|
50
|
+
className: "absolute right-4 top-4 rounded-[var(--as-radius-sm)] p-1 text-[var(--as-muted-fg)] transition-colors hover:bg-[var(--as-secondary)] hover:text-[var(--as-fg)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--as-focus-ring)]",
|
|
51
|
+
children: /* @__PURE__ */ jsx(X, { "aria-hidden": "true", className: "size-4" })
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
] });
|
|
58
|
+
});
|
|
59
|
+
var ModalHeader = React.forwardRef(
|
|
60
|
+
function ModalHeader2({ className, ...props }, ref) {
|
|
61
|
+
return /* @__PURE__ */ jsx(
|
|
62
|
+
"div",
|
|
63
|
+
{
|
|
64
|
+
ref,
|
|
65
|
+
"data-as": "modal-header",
|
|
66
|
+
className: cn("flex flex-col gap-1.5 p-6 pb-4", className),
|
|
67
|
+
...props
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
var ModalTitle = React.forwardRef(function ModalTitle2({ className, ...props }, ref) {
|
|
73
|
+
return /* @__PURE__ */ jsx(
|
|
74
|
+
DialogPrimitive.Title,
|
|
75
|
+
{
|
|
76
|
+
ref,
|
|
77
|
+
"data-as": "modal-title",
|
|
78
|
+
className: cn("pr-8 text-lg font-semibold leading-none tracking-tight", className),
|
|
79
|
+
...props
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
});
|
|
83
|
+
var ModalDescription = React.forwardRef(function ModalDescription2({ className, ...props }, ref) {
|
|
84
|
+
return /* @__PURE__ */ jsx(
|
|
85
|
+
DialogPrimitive.Description,
|
|
86
|
+
{
|
|
87
|
+
ref,
|
|
88
|
+
"data-as": "modal-description",
|
|
89
|
+
className: cn("text-sm text-[var(--as-muted-fg)]", className),
|
|
90
|
+
...props
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
});
|
|
94
|
+
var ModalFooter = React.forwardRef(
|
|
95
|
+
function ModalFooter2({ className, ...props }, ref) {
|
|
96
|
+
return /* @__PURE__ */ jsx(
|
|
97
|
+
"div",
|
|
98
|
+
{
|
|
99
|
+
ref,
|
|
100
|
+
"data-as": "modal-footer",
|
|
101
|
+
className: cn(
|
|
102
|
+
"flex flex-col-reverse gap-2 p-6 pt-0 sm:flex-row sm:justify-end",
|
|
103
|
+
className
|
|
104
|
+
),
|
|
105
|
+
...props
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
export { Modal, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, modalContentVariants };
|
|
112
|
+
//# sourceMappingURL=chunk-RHBQ3GZE.js.map
|
|
113
|
+
//# sourceMappingURL=chunk-RHBQ3GZE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/modal/Modal.tsx"],"names":["ModalContent","ModalHeader","ModalTitle","ModalDescription","ModalFooter"],"mappings":"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","file":"chunk-RHBQ3GZE.js","sourcesContent":["import * as React from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { X } from 'lucide-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../../lib/utils'\n\nexport const Modal = DialogPrimitive.Root\nexport const ModalTrigger = DialogPrimitive.Trigger\nexport const ModalClose = DialogPrimitive.Close\n\nconst modalContentVariants = cva('', {\n variants: {\n size: {\n sm: 'max-w-sm',\n md: 'max-w-md',\n lg: 'max-w-lg',\n xl: 'max-w-xl',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nexport interface ModalContentProps\n extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>,\n VariantProps<typeof modalContentVariants> {\n closeLabel?: string\n}\n\nexport const ModalContent = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Content>,\n ModalContentProps\n>(function ModalContent({ className, children, size, closeLabel = 'Close', ...props }, ref) {\n return (\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay\n data-as=\"modal-overlay\"\n className={cn('as-anim-fade fixed inset-0 z-50 bg-[var(--as-overlay)]')}\n />\n <DialogPrimitive.Content\n ref={ref}\n data-as=\"modal\"\n className={cn(\n 'as-anim-modal fixed left-1/2 top-1/2 z-50 flex max-h-[85vh] w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-y-auto rounded-[var(--as-radius-lg)] border border-[var(--as-border)] bg-[var(--as-surface-raised)] text-[var(--as-fg)] shadow-[var(--as-shadow-3)] focus:outline-none',\n modalContentVariants({ size }),\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n aria-label={closeLabel}\n className=\"absolute right-4 top-4 rounded-[var(--as-radius-sm)] p-1 text-[var(--as-muted-fg)] transition-colors hover:bg-[var(--as-secondary)] hover:text-[var(--as-fg)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--as-focus-ring)]\"\n >\n <X aria-hidden=\"true\" className=\"size-4\" />\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n )\n})\n\nexport const ModalHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n function ModalHeader({ className, ...props }, ref) {\n return (\n <div\n ref={ref}\n data-as=\"modal-header\"\n className={cn('flex flex-col gap-1.5 p-6 pb-4', className)}\n {...props}\n />\n )\n },\n)\n\nexport const ModalTitle = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(function ModalTitle({ className, ...props }, ref) {\n return (\n <DialogPrimitive.Title\n ref={ref}\n data-as=\"modal-title\"\n className={cn('pr-8 text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n )\n})\n\nexport const ModalDescription = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(function ModalDescription({ className, ...props }, ref) {\n return (\n <DialogPrimitive.Description\n ref={ref}\n data-as=\"modal-description\"\n className={cn('text-sm text-[var(--as-muted-fg)]', className)}\n {...props}\n />\n )\n})\n\nexport const ModalFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n function ModalFooter({ className, ...props }, ref) {\n return (\n <div\n ref={ref}\n data-as=\"modal-footer\"\n className={cn(\n 'flex flex-col-reverse gap-2 p-6 pt-0 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n )\n },\n)\n\nexport { modalContentVariants }\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/components/theme-scope/ThemeScope.tsx
|
|
5
|
+
var ThemeScope = React.forwardRef(
|
|
6
|
+
function ThemeScope2({ tokens, style, children, ...props }, ref) {
|
|
7
|
+
const tokenStyle = tokens ? { ...tokens } : void 0;
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
"div",
|
|
10
|
+
{
|
|
11
|
+
ref,
|
|
12
|
+
"data-as": "theme-scope",
|
|
13
|
+
style: { ...tokenStyle, ...style },
|
|
14
|
+
...props,
|
|
15
|
+
children
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
export { ThemeScope };
|
|
22
|
+
//# sourceMappingURL=chunk-TGU3PKNM.js.map
|
|
23
|
+
//# sourceMappingURL=chunk-TGU3PKNM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/theme-scope/ThemeScope.tsx"],"names":["ThemeScope"],"mappings":";;;;AAOO,IAAM,UAAA,GAAmB,KAAA,CAAA,UAAA;AAAA,EAC9B,SAASA,YAAW,EAAE,MAAA,EAAQ,OAAO,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,EAAK;AAC9D,IAAA,MAAM,UAAA,GAAa,MAAA,GAAU,EAAE,GAAG,QAAO,GAA4B,MAAA;AACrE,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAQ,aAAA;AAAA,QACR,KAAA,EAAO,EAAE,GAAG,UAAA,EAAY,GAAG,KAAA,EAAM;AAAA,QAChC,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF","file":"chunk-TGU3PKNM.js","sourcesContent":["import * as React from 'react'\nimport type { ThemeTokens } from '../../tokens/tokens'\n\nexport interface ThemeScopeProps extends React.ComponentProps<'div'> {\n tokens?: ThemeTokens\n}\n\nexport const ThemeScope = React.forwardRef<HTMLDivElement, ThemeScopeProps>(\n function ThemeScope({ tokens, style, children, ...props }, ref) {\n const tokenStyle = tokens ? ({ ...tokens } as React.CSSProperties) : undefined\n return (\n <div\n ref={ref}\n data-as=\"theme-scope\"\n style={{ ...tokenStyle, ...style }}\n {...props}\n >\n {children}\n </div>\n )\n },\n)\n"]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Popover, PopoverTrigger, PopoverContent } from './chunk-CI56SSO2.js';
|
|
2
|
+
import { cn } from './chunk-BLJWR4ZV.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
import { Info } from 'lucide-react';
|
|
7
|
+
|
|
8
|
+
var TooltipProvider = TooltipPrimitive.Provider;
|
|
9
|
+
var Tooltip = TooltipPrimitive.Root;
|
|
10
|
+
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
11
|
+
var TooltipContent = React.forwardRef(function TooltipContent2({ className, sideOffset = 6, children, ...props }, ref) {
|
|
12
|
+
return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
13
|
+
TooltipPrimitive.Content,
|
|
14
|
+
{
|
|
15
|
+
ref,
|
|
16
|
+
"data-as": "tooltip",
|
|
17
|
+
sideOffset,
|
|
18
|
+
className: cn(
|
|
19
|
+
"as-anim-fade z-50 max-w-64 rounded-[var(--as-radius)] bg-[var(--as-fg)] px-3 py-1.5 text-xs font-medium text-[var(--as-surface)] shadow-[var(--as-shadow-2)] focus:outline-none",
|
|
20
|
+
className
|
|
21
|
+
),
|
|
22
|
+
...props,
|
|
23
|
+
children
|
|
24
|
+
}
|
|
25
|
+
) });
|
|
26
|
+
});
|
|
27
|
+
function InfoTooltip({
|
|
28
|
+
content,
|
|
29
|
+
title,
|
|
30
|
+
icon: Icon = Info,
|
|
31
|
+
side = "top",
|
|
32
|
+
trigger = "hover",
|
|
33
|
+
label = "Information",
|
|
34
|
+
className
|
|
35
|
+
}) {
|
|
36
|
+
const iconButtonClassName = cn(
|
|
37
|
+
"inline-flex size-6 items-center justify-center rounded-[var(--as-radius-sm)] text-[var(--as-muted-fg)] transition-colors hover:bg-[var(--as-secondary)] hover:text-[var(--as-fg)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--as-focus-ring)]",
|
|
38
|
+
className
|
|
39
|
+
);
|
|
40
|
+
if (trigger === "click") {
|
|
41
|
+
return /* @__PURE__ */ jsxs(Popover, { children: [
|
|
42
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx("button", { type: "button", "aria-label": label, className: iconButtonClassName, children: /* @__PURE__ */ jsx(Icon, { className: "size-4" }) }) }),
|
|
43
|
+
/* @__PURE__ */ jsxs(PopoverContent, { side, className: "w-72", children: [
|
|
44
|
+
title ? /* @__PURE__ */ jsx("p", { className: "mb-1 text-xs font-semibold uppercase tracking-wide", children: title }) : null,
|
|
45
|
+
/* @__PURE__ */ jsx("div", { className: "text-sm leading-relaxed text-[var(--as-muted-fg)]", children: content })
|
|
46
|
+
] })
|
|
47
|
+
] });
|
|
48
|
+
}
|
|
49
|
+
return /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
50
|
+
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx("button", { type: "button", "aria-label": label, className: iconButtonClassName, children: /* @__PURE__ */ jsx(Icon, { className: "size-4" }) }) }),
|
|
51
|
+
/* @__PURE__ */ jsxs(TooltipContent, { side, children: [
|
|
52
|
+
title ? /* @__PURE__ */ jsx("p", { className: "mb-0.5 font-semibold", children: title }) : null,
|
|
53
|
+
content
|
|
54
|
+
] })
|
|
55
|
+
] });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { InfoTooltip, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
59
|
+
//# sourceMappingURL=chunk-TJGX27YO.js.map
|
|
60
|
+
//# sourceMappingURL=chunk-TJGX27YO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/tooltip/Tooltip.tsx","../src/components/tooltip/InfoTooltip.tsx"],"names":["TooltipContent","jsx"],"mappings":";;;;;;;AAIO,IAAM,eAAA,GAAmC,gBAAA,CAAA;AACzC,IAAM,OAAA,GAA2B,gBAAA,CAAA;AACjC,IAAM,cAAA,GAAkC,gBAAA,CAAA;AAExC,IAAM,cAAA,GAAuB,KAAA,CAAA,UAAA,CAGlC,SAASA,eAAAA,CAAe,EAAE,SAAA,EAAW,UAAA,GAAa,CAAA,EAAG,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,EAAK;AAChF,EAAA,uBACE,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,GAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAQ,SAAA;AAAA,MACR,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,iLAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH,EACF,CAAA;AAEJ,CAAC;ACVM,SAAS,WAAA,CAAY;AAAA,EAC1B,OAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAM,IAAA,GAAO,IAAA;AAAA,EACb,IAAA,GAAO,KAAA;AAAA,EACP,OAAA,GAAU,OAAA;AAAA,EACV,KAAA,GAAQ,aAAA;AAAA,EACR;AACF,CAAA,EAAqB;AACnB,EAAA,MAAM,mBAAA,GAAsB,EAAA;AAAA,IAC1B,uRAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,IAAI,YAAY,OAAA,EAAS;AACvB,IAAA,4BACG,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAAC,IAAC,cAAA,EAAA,EAAe,OAAA,EAAO,MACrB,QAAA,kBAAAA,GAAAA,CAAC,YAAO,IAAA,EAAK,QAAA,EAAS,cAAY,KAAA,EAAO,SAAA,EAAW,qBAClD,QAAA,kBAAAA,GAAAA,CAAC,QAAK,SAAA,EAAU,QAAA,EAAS,GAC3B,CAAA,EACF,CAAA;AAAA,sBACA,IAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAY,SAAA,EAAU,MAAA,EACnC,QAAA,EAAA;AAAA,QAAA,KAAA,mBACCA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oDAAA,EAAsD,iBAAM,CAAA,GACvE,IAAA;AAAA,wBACJA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qDAAqD,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EAC9E;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,4BACG,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAA,IAAC,cAAA,EAAA,EAAe,OAAA,EAAO,MACrB,QAAA,kBAAAA,GAAAA,CAAC,YAAO,IAAA,EAAK,QAAA,EAAS,cAAY,KAAA,EAAO,SAAA,EAAW,qBAClD,QAAA,kBAAAA,GAAAA,CAAC,QAAK,SAAA,EAAU,QAAA,EAAS,GAC3B,CAAA,EACF,CAAA;AAAA,oBACA,IAAA,CAAC,kBAAe,IAAA,EACb,QAAA,EAAA;AAAA,MAAA,KAAA,mBAAQA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sBAAA,EAAwB,iBAAM,CAAA,GAAO,IAAA;AAAA,MAC1D;AAAA,KAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ","file":"chunk-TJGX27YO.js","sourcesContent":["import * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport { cn } from '../../lib/utils'\n\nexport const TooltipProvider = TooltipPrimitive.Provider\nexport const Tooltip = TooltipPrimitive.Root\nexport const TooltipTrigger = TooltipPrimitive.Trigger\n\nexport const TooltipContent = React.forwardRef<\n React.ComponentRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(function TooltipContent({ className, sideOffset = 6, children, ...props }, ref) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n data-as=\"tooltip\"\n sideOffset={sideOffset}\n className={cn(\n 'as-anim-fade z-50 max-w-64 rounded-[var(--as-radius)] bg-[var(--as-fg)] px-3 py-1.5 text-xs font-medium text-[var(--as-surface)] shadow-[var(--as-shadow-2)] focus:outline-none',\n className,\n )}\n {...props}\n >\n {children}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n})\n","import * as React from 'react'\nimport { Info } from 'lucide-react'\nimport { cn } from '../../lib/utils'\nimport { Popover, PopoverContent, PopoverTrigger } from '../popover/Popover'\nimport { Tooltip, TooltipContent, TooltipTrigger } from './Tooltip'\n\ntype IconType = React.ComponentType<{ className?: string }>\n\nexport interface InfoTooltipProps {\n content: React.ReactNode\n title?: string\n icon?: IconType\n side?: 'top' | 'bottom' | 'left' | 'right'\n trigger?: 'hover' | 'click'\n label?: string\n className?: string\n}\n\nexport function InfoTooltip({\n content,\n title,\n icon: Icon = Info,\n side = 'top',\n trigger = 'hover',\n label = 'Information',\n className,\n}: InfoTooltipProps) {\n const iconButtonClassName = cn(\n 'inline-flex size-6 items-center justify-center rounded-[var(--as-radius-sm)] text-[var(--as-muted-fg)] transition-colors hover:bg-[var(--as-secondary)] hover:text-[var(--as-fg)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--as-focus-ring)]',\n className,\n )\n\n if (trigger === 'click') {\n return (\n <Popover>\n <PopoverTrigger asChild>\n <button type=\"button\" aria-label={label} className={iconButtonClassName}>\n <Icon className=\"size-4\" />\n </button>\n </PopoverTrigger>\n <PopoverContent side={side} className=\"w-72\">\n {title ? (\n <p className=\"mb-1 text-xs font-semibold uppercase tracking-wide\">{title}</p>\n ) : null}\n <div className=\"text-sm leading-relaxed text-[var(--as-muted-fg)]\">{content}</div>\n </PopoverContent>\n </Popover>\n )\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <button type=\"button\" aria-label={label} className={iconButtonClassName}>\n <Icon className=\"size-4\" />\n </button>\n </TooltipTrigger>\n <TooltipContent side={side}>\n {title ? <p className=\"mb-0.5 font-semibold\">{title}</p> : null}\n {content}\n </TooltipContent>\n </Tooltip>\n )\n}\n"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Modal, ModalContent, ModalHeader, ModalTitle, ModalDescription } from './chunk-RHBQ3GZE.js';
|
|
2
|
+
import { Button } from './chunk-56VRWCLJ.js';
|
|
3
|
+
import { cn } from './chunk-BLJWR4ZV.js';
|
|
4
|
+
import { AlertTriangle } from 'lucide-react';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
function ConfirmationModal({
|
|
8
|
+
open,
|
|
9
|
+
onOpenChange,
|
|
10
|
+
title,
|
|
11
|
+
description,
|
|
12
|
+
confirmLabel = "Confirm",
|
|
13
|
+
cancelLabel = "Cancel",
|
|
14
|
+
destructive = false,
|
|
15
|
+
busy = false,
|
|
16
|
+
onConfirm,
|
|
17
|
+
icon: Icon = AlertTriangle,
|
|
18
|
+
size = "sm",
|
|
19
|
+
closeLabel = "Close"
|
|
20
|
+
}) {
|
|
21
|
+
return /* @__PURE__ */ jsx(Modal, { open, onOpenChange, children: /* @__PURE__ */ jsxs(ModalContent, { size, closeLabel, "aria-describedby": void 0, children: [
|
|
22
|
+
/* @__PURE__ */ jsxs(ModalHeader, { children: [
|
|
23
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
24
|
+
/* @__PURE__ */ jsx(
|
|
25
|
+
"span",
|
|
26
|
+
{
|
|
27
|
+
className: cn(
|
|
28
|
+
"rounded-[var(--as-radius)] p-2",
|
|
29
|
+
destructive ? "bg-[var(--as-danger)]/10 text-[var(--as-danger)]" : "bg-[var(--as-secondary)] text-[var(--as-fg)]"
|
|
30
|
+
),
|
|
31
|
+
children: /* @__PURE__ */ jsx(Icon, { "aria-hidden": "true", className: "size-5" })
|
|
32
|
+
}
|
|
33
|
+
),
|
|
34
|
+
/* @__PURE__ */ jsx(ModalTitle, { children: title })
|
|
35
|
+
] }),
|
|
36
|
+
description ? /* @__PURE__ */ jsx(ModalDescription, { children: description }) : null
|
|
37
|
+
] }),
|
|
38
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col-reverse gap-2 p-6 pt-0 sm:flex-row sm:justify-end", children: [
|
|
39
|
+
/* @__PURE__ */ jsx(Button, { variant: "outline", onClick: () => onOpenChange(false), disabled: busy, children: cancelLabel }),
|
|
40
|
+
/* @__PURE__ */ jsx(
|
|
41
|
+
Button,
|
|
42
|
+
{
|
|
43
|
+
variant: destructive ? "destructive" : "default",
|
|
44
|
+
onClick: () => onConfirm(),
|
|
45
|
+
loading: busy,
|
|
46
|
+
children: confirmLabel
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
] })
|
|
50
|
+
] }) });
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { ConfirmationModal };
|
|
54
|
+
//# sourceMappingURL=chunk-TLTKWLMN.js.map
|
|
55
|
+
//# sourceMappingURL=chunk-TLTKWLMN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/confirmation-modal/ConfirmationModal.tsx"],"names":[],"mappings":";;;;;;AA2BO,SAAS,iBAAA,CAAkB;AAAA,EAChC,IAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA,GAAe,SAAA;AAAA,EACf,WAAA,GAAc,QAAA;AAAA,EACd,WAAA,GAAc,KAAA;AAAA,EACd,IAAA,GAAO,KAAA;AAAA,EACP,SAAA;AAAA,EACA,MAAM,IAAA,GAAO,aAAA;AAAA,EACb,IAAA,GAAO,IAAA;AAAA,EACP,UAAA,GAAa;AACf,CAAA,EAA2B;AACzB,EAAA,uBACE,GAAA,CAAC,SAAM,IAAA,EAAY,YAAA,EACjB,+BAAC,YAAA,EAAA,EAAa,IAAA,EAAY,UAAA,EAAwB,kBAAA,EAAkB,MAAA,EAClE,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,WAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,gCAAA;AAAA,cACA,cACI,kDAAA,GACA;AAAA,aACN;AAAA,YAEA,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,WAAU,QAAA,EAAS;AAAA;AAAA,SAC9C;AAAA,wBACA,GAAA,CAAC,cAAY,QAAA,EAAA,KAAA,EAAM;AAAA,OAAA,EACrB,CAAA;AAAA,MACC,WAAA,mBAAc,GAAA,CAAC,gBAAA,EAAA,EAAkB,QAAA,EAAA,WAAA,EAAY,CAAA,GAAsB;AAAA,KAAA,EACtE,CAAA;AAAA,oBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iEAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,OAAA,EAAS,MAAM,aAAa,KAAK,CAAA,EAAG,QAAA,EAAU,IAAA,EACrE,QAAA,EAAA,WAAA,EACH,CAAA;AAAA,sBACA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAS,cAAc,aAAA,GAAgB,SAAA;AAAA,UACvC,OAAA,EAAS,MAAM,SAAA,EAAU;AAAA,UACzB,OAAA,EAAS,IAAA;AAAA,UAER,QAAA,EAAA;AAAA;AAAA;AACH,KAAA,EACF;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ","file":"chunk-TLTKWLMN.js","sourcesContent":["import * as React from 'react'\nimport { AlertTriangle, type LucideIcon } from 'lucide-react'\nimport { cn } from '../../lib/utils'\nimport { Button } from '../button/Button'\nimport {\n Modal,\n ModalContent,\n ModalDescription,\n ModalHeader,\n ModalTitle,\n} from '../modal/Modal'\n\nexport interface ConfirmationModalProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n title: string\n description?: string\n confirmLabel?: string\n cancelLabel?: string\n destructive?: boolean\n busy?: boolean\n onConfirm: () => void\n icon?: LucideIcon\n size?: 'sm' | 'md' | 'lg' | 'xl'\n closeLabel?: string\n}\n\nexport function ConfirmationModal({\n open,\n onOpenChange,\n title,\n description,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n destructive = false,\n busy = false,\n onConfirm,\n icon: Icon = AlertTriangle,\n size = 'sm',\n closeLabel = 'Close',\n}: ConfirmationModalProps) {\n return (\n <Modal open={open} onOpenChange={onOpenChange}>\n <ModalContent size={size} closeLabel={closeLabel} aria-describedby={undefined}>\n <ModalHeader>\n <div className=\"flex items-center gap-3\">\n <span\n className={cn(\n 'rounded-[var(--as-radius)] p-2',\n destructive\n ? 'bg-[var(--as-danger)]/10 text-[var(--as-danger)]'\n : 'bg-[var(--as-secondary)] text-[var(--as-fg)]',\n )}\n >\n <Icon aria-hidden=\"true\" className=\"size-5\" />\n </span>\n <ModalTitle>{title}</ModalTitle>\n </div>\n {description ? <ModalDescription>{description}</ModalDescription> : null}\n </ModalHeader>\n <div className=\"flex flex-col-reverse gap-2 p-6 pt-0 sm:flex-row sm:justify-end\">\n <Button variant=\"outline\" onClick={() => onOpenChange(false)} disabled={busy}>\n {cancelLabel}\n </Button>\n <Button\n variant={destructive ? 'destructive' : 'default'}\n onClick={() => onConfirm()}\n loading={busy}\n >\n {confirmLabel}\n </Button>\n </div>\n </ModalContent>\n </Modal>\n )\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-XDMGFB6Q.js"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { LucideIcon } from 'lucide-react';
|
|
3
|
+
|
|
4
|
+
interface ConfirmationModalProps {
|
|
5
|
+
open: boolean;
|
|
6
|
+
onOpenChange: (open: boolean) => void;
|
|
7
|
+
title: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
confirmLabel?: string;
|
|
10
|
+
cancelLabel?: string;
|
|
11
|
+
destructive?: boolean;
|
|
12
|
+
busy?: boolean;
|
|
13
|
+
onConfirm: () => void;
|
|
14
|
+
icon?: LucideIcon;
|
|
15
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
16
|
+
closeLabel?: string;
|
|
17
|
+
}
|
|
18
|
+
declare function ConfirmationModal({ open, onOpenChange, title, description, confirmLabel, cancelLabel, destructive, busy, onConfirm, icon: Icon, size, closeLabel, }: ConfirmationModalProps): React.JSX.Element;
|
|
19
|
+
|
|
20
|
+
export { ConfirmationModal, type ConfirmationModalProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"confirmation-modal.js"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { LucideIcon } from 'lucide-react';
|
|
3
|
+
|
|
4
|
+
interface EmptyStateProps extends React.ComponentProps<'div'> {
|
|
5
|
+
icon?: LucideIcon;
|
|
6
|
+
title: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
action?: React.ReactNode;
|
|
9
|
+
compact?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const EmptyState: React.ForwardRefExoticComponent<Omit<EmptyStateProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
|
|
13
|
+
export { EmptyState, type EmptyStateProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"empty-state.js"}
|