@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.
Files changed (82) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +92 -0
  3. package/dist/badge.d.ts +12 -0
  4. package/dist/badge.js +3 -0
  5. package/dist/badge.js.map +1 -0
  6. package/dist/button.d.ts +15 -0
  7. package/dist/button.js +3 -0
  8. package/dist/button.js.map +1 -0
  9. package/dist/card.d.ts +10 -0
  10. package/dist/card.js +3 -0
  11. package/dist/card.js.map +1 -0
  12. package/dist/chunk-3HFL3JGP.js +47 -0
  13. package/dist/chunk-3HFL3JGP.js.map +1 -0
  14. package/dist/chunk-56VRWCLJ.js +56 -0
  15. package/dist/chunk-56VRWCLJ.js.map +1 -0
  16. package/dist/chunk-6BLRNKFS.js +3 -0
  17. package/dist/chunk-6BLRNKFS.js.map +1 -0
  18. package/dist/chunk-7YLR4AGA.js +12 -0
  19. package/dist/chunk-7YLR4AGA.js.map +1 -0
  20. package/dist/chunk-BLJWR4ZV.js +11 -0
  21. package/dist/chunk-BLJWR4ZV.js.map +1 -0
  22. package/dist/chunk-CI56SSO2.js +29 -0
  23. package/dist/chunk-CI56SSO2.js.map +1 -0
  24. package/dist/chunk-COPPAHR5.js +36 -0
  25. package/dist/chunk-COPPAHR5.js.map +1 -0
  26. package/dist/chunk-HSWSYEFQ.js +81 -0
  27. package/dist/chunk-HSWSYEFQ.js.map +1 -0
  28. package/dist/chunk-IFNT6JSQ.js +3 -0
  29. package/dist/chunk-IFNT6JSQ.js.map +1 -0
  30. package/dist/chunk-INTST5VG.js +36 -0
  31. package/dist/chunk-INTST5VG.js.map +1 -0
  32. package/dist/chunk-KDJLYKR6.js +49 -0
  33. package/dist/chunk-KDJLYKR6.js.map +1 -0
  34. package/dist/chunk-NQQNTK6L.js +39 -0
  35. package/dist/chunk-NQQNTK6L.js.map +1 -0
  36. package/dist/chunk-ORTCK34Y.js +3 -0
  37. package/dist/chunk-ORTCK34Y.js.map +1 -0
  38. package/dist/chunk-RHBQ3GZE.js +113 -0
  39. package/dist/chunk-RHBQ3GZE.js.map +1 -0
  40. package/dist/chunk-TGU3PKNM.js +23 -0
  41. package/dist/chunk-TGU3PKNM.js.map +1 -0
  42. package/dist/chunk-TJGX27YO.js +60 -0
  43. package/dist/chunk-TJGX27YO.js.map +1 -0
  44. package/dist/chunk-TLTKWLMN.js +55 -0
  45. package/dist/chunk-TLTKWLMN.js.map +1 -0
  46. package/dist/chunk-XDMGFB6Q.js +3 -0
  47. package/dist/chunk-XDMGFB6Q.js.map +1 -0
  48. package/dist/confirmation-modal.d.ts +20 -0
  49. package/dist/confirmation-modal.js +3 -0
  50. package/dist/confirmation-modal.js.map +1 -0
  51. package/dist/empty-state.d.ts +13 -0
  52. package/dist/empty-state.js +3 -0
  53. package/dist/empty-state.js.map +1 -0
  54. package/dist/index.d.ts +26 -0
  55. package/dist/index.js +16 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/input.d.ts +10 -0
  58. package/dist/input.js +3 -0
  59. package/dist/input.js.map +1 -0
  60. package/dist/modal.d.ts +21 -0
  61. package/dist/modal.js +3 -0
  62. package/dist/modal.js.map +1 -0
  63. package/dist/popover.d.ts +10 -0
  64. package/dist/popover.js +3 -0
  65. package/dist/popover.js.map +1 -0
  66. package/dist/portal.d.ts +9 -0
  67. package/dist/portal.js +3 -0
  68. package/dist/portal.js.map +1 -0
  69. package/dist/spinner.d.ts +14 -0
  70. package/dist/spinner.js +3 -0
  71. package/dist/spinner.js.map +1 -0
  72. package/dist/styles.css +2 -0
  73. package/dist/theme-scope.d.ts +9 -0
  74. package/dist/theme-scope.js +3 -0
  75. package/dist/theme-scope.js.map +1 -0
  76. package/dist/tokens.d.ts +8 -0
  77. package/dist/tokens.js +3 -0
  78. package/dist/tokens.js.map +1 -0
  79. package/dist/tooltip.d.ts +23 -0
  80. package/dist/tooltip.js +3 -0
  81. package/dist/tooltip.js.map +1 -0
  82. 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,3 @@
1
+
2
+ //# sourceMappingURL=chunk-IFNT6JSQ.js.map
3
+ //# sourceMappingURL=chunk-IFNT6JSQ.js.map
@@ -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,3 @@
1
+
2
+ //# sourceMappingURL=chunk-ORTCK34Y.js.map
3
+ //# sourceMappingURL=chunk-ORTCK34Y.js.map
@@ -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,3 @@
1
+
2
+ //# sourceMappingURL=chunk-XDMGFB6Q.js.map
3
+ //# sourceMappingURL=chunk-XDMGFB6Q.js.map
@@ -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,3 @@
1
+ export { ConfirmationModal } from './chunk-TLTKWLMN.js';
2
+ //# sourceMappingURL=confirmation-modal.js.map
3
+ //# sourceMappingURL=confirmation-modal.js.map
@@ -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,3 @@
1
+ export { EmptyState } from './chunk-KDJLYKR6.js';
2
+ //# sourceMappingURL=empty-state.js.map
3
+ //# sourceMappingURL=empty-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"empty-state.js"}