@codesweep-ai/ui 0.2.1-dev.20260830023458.856ea8f

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 (215) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +2 -0
  3. package/README.md +124 -0
  4. package/dist/BUILD.json +1 -0
  5. package/dist/chart.d.ts +3 -0
  6. package/dist/chart.d.ts.map +1 -0
  7. package/dist/chart.js +3 -0
  8. package/dist/code.d.ts +2 -0
  9. package/dist/code.d.ts.map +1 -0
  10. package/dist/code.js +2 -0
  11. package/dist/components/AgentStatus.d.ts +15 -0
  12. package/dist/components/AgentStatus.d.ts.map +1 -0
  13. package/dist/components/AgentStatus.js +38 -0
  14. package/dist/components/AgentTrace.d.ts +42 -0
  15. package/dist/components/AgentTrace.d.ts.map +1 -0
  16. package/dist/components/AgentTrace.js +140 -0
  17. package/dist/components/AppShell.d.ts +29 -0
  18. package/dist/components/AppShell.d.ts.map +1 -0
  19. package/dist/components/AppShell.js +71 -0
  20. package/dist/components/Button.d.ts +10 -0
  21. package/dist/components/Button.d.ts.map +1 -0
  22. package/dist/components/Button.js +41 -0
  23. package/dist/components/Card.d.ts +19 -0
  24. package/dist/components/Card.d.ts.map +1 -0
  25. package/dist/components/Card.js +96 -0
  26. package/dist/components/CardGroup.d.ts +16 -0
  27. package/dist/components/CardGroup.d.ts.map +1 -0
  28. package/dist/components/CardGroup.js +33 -0
  29. package/dist/components/CardGroupContext.d.ts +14 -0
  30. package/dist/components/CardGroupContext.d.ts.map +1 -0
  31. package/dist/components/CardGroupContext.js +8 -0
  32. package/dist/components/ChartFrame.d.ts +30 -0
  33. package/dist/components/ChartFrame.d.ts.map +1 -0
  34. package/dist/components/ChartFrame.js +96 -0
  35. package/dist/components/ChartTooltip.d.ts +22 -0
  36. package/dist/components/ChartTooltip.d.ts.map +1 -0
  37. package/dist/components/ChartTooltip.js +26 -0
  38. package/dist/components/CheckboxGroup.d.ts +37 -0
  39. package/dist/components/CheckboxGroup.d.ts.map +1 -0
  40. package/dist/components/CheckboxGroup.js +198 -0
  41. package/dist/components/Chip.d.ts +9 -0
  42. package/dist/components/Chip.d.ts.map +1 -0
  43. package/dist/components/Chip.js +31 -0
  44. package/dist/components/CodeBlock.d.ts +30 -0
  45. package/dist/components/CodeBlock.d.ts.map +1 -0
  46. package/dist/components/CodeBlock.js +112 -0
  47. package/dist/components/Dropdown.d.ts +28 -0
  48. package/dist/components/Dropdown.d.ts.map +1 -0
  49. package/dist/components/Dropdown.js +50 -0
  50. package/dist/components/EventLanes.d.ts +93 -0
  51. package/dist/components/EventLanes.d.ts.map +1 -0
  52. package/dist/components/EventLanes.js +445 -0
  53. package/dist/components/FormGroup.d.ts +29 -0
  54. package/dist/components/FormGroup.d.ts.map +1 -0
  55. package/dist/components/FormGroup.js +48 -0
  56. package/dist/components/HighlightText.d.ts +15 -0
  57. package/dist/components/HighlightText.d.ts.map +1 -0
  58. package/dist/components/HighlightText.js +28 -0
  59. package/dist/components/Input.d.ts +35 -0
  60. package/dist/components/Input.d.ts.map +1 -0
  61. package/dist/components/Input.js +61 -0
  62. package/dist/components/Legend.d.ts +21 -0
  63. package/dist/components/Legend.d.ts.map +1 -0
  64. package/dist/components/Legend.js +61 -0
  65. package/dist/components/LightweightMarkdown.d.ts +3 -0
  66. package/dist/components/LightweightMarkdown.d.ts.map +1 -0
  67. package/dist/components/LightweightMarkdown.js +249 -0
  68. package/dist/components/MarkdownMinimap.d.ts +7 -0
  69. package/dist/components/MarkdownMinimap.d.ts.map +1 -0
  70. package/dist/components/MarkdownMinimap.js +84 -0
  71. package/dist/components/MarkdownViewer.d.ts +51 -0
  72. package/dist/components/MarkdownViewer.d.ts.map +1 -0
  73. package/dist/components/MarkdownViewer.js +455 -0
  74. package/dist/components/MermaidDiagram.d.ts +11 -0
  75. package/dist/components/MermaidDiagram.d.ts.map +1 -0
  76. package/dist/components/MermaidDiagram.js +119 -0
  77. package/dist/components/Modal.d.ts +13 -0
  78. package/dist/components/Modal.d.ts.map +1 -0
  79. package/dist/components/Modal.js +91 -0
  80. package/dist/components/Panel.d.ts +13 -0
  81. package/dist/components/Panel.d.ts.map +1 -0
  82. package/dist/components/Panel.js +44 -0
  83. package/dist/components/PulseBadge.d.ts +15 -0
  84. package/dist/components/PulseBadge.d.ts.map +1 -0
  85. package/dist/components/PulseBadge.js +22 -0
  86. package/dist/components/RadioGroup.d.ts +20 -0
  87. package/dist/components/RadioGroup.d.ts.map +1 -0
  88. package/dist/components/RadioGroup.js +63 -0
  89. package/dist/components/RichMarkdownRenderer.d.ts +10 -0
  90. package/dist/components/RichMarkdownRenderer.d.ts.map +1 -0
  91. package/dist/components/RichMarkdownRenderer.js +18 -0
  92. package/dist/components/SearchInput.d.ts +25 -0
  93. package/dist/components/SearchInput.d.ts.map +1 -0
  94. package/dist/components/SearchInput.js +92 -0
  95. package/dist/components/SectionedTree.d.ts +36 -0
  96. package/dist/components/SectionedTree.d.ts.map +1 -0
  97. package/dist/components/SectionedTree.js +173 -0
  98. package/dist/components/SegmentedControl.d.ts +16 -0
  99. package/dist/components/SegmentedControl.d.ts.map +1 -0
  100. package/dist/components/SegmentedControl.js +48 -0
  101. package/dist/components/Skeleton.d.ts +8 -0
  102. package/dist/components/Skeleton.d.ts.map +1 -0
  103. package/dist/components/Skeleton.js +25 -0
  104. package/dist/components/SplitPane.d.ts +16 -0
  105. package/dist/components/SplitPane.d.ts.map +1 -0
  106. package/dist/components/SplitPane.js +118 -0
  107. package/dist/components/StatusBadge.d.ts +15 -0
  108. package/dist/components/StatusBadge.d.ts.map +1 -0
  109. package/dist/components/StatusBadge.js +40 -0
  110. package/dist/components/StreamingText.d.ts +20 -0
  111. package/dist/components/StreamingText.d.ts.map +1 -0
  112. package/dist/components/StreamingText.js +50 -0
  113. package/dist/components/Table.d.ts +62 -0
  114. package/dist/components/Table.d.ts.map +1 -0
  115. package/dist/components/Table.js +256 -0
  116. package/dist/components/ThemeToggle.d.ts +11 -0
  117. package/dist/components/ThemeToggle.d.ts.map +1 -0
  118. package/dist/components/ThemeToggle.js +55 -0
  119. package/dist/components/Toast.d.ts +8 -0
  120. package/dist/components/Toast.d.ts.map +1 -0
  121. package/dist/components/Toast.js +51 -0
  122. package/dist/components/ToastContainer.d.ts +5 -0
  123. package/dist/components/ToastContainer.d.ts.map +1 -0
  124. package/dist/components/ToastContainer.js +29 -0
  125. package/dist/components/Tree.d.ts +50 -0
  126. package/dist/components/Tree.d.ts.map +1 -0
  127. package/dist/components/Tree.js +528 -0
  128. package/dist/components/TreeDnd.d.ts +18 -0
  129. package/dist/components/TreeDnd.d.ts.map +1 -0
  130. package/dist/components/TreeDnd.js +39 -0
  131. package/dist/index.d.ts +50 -0
  132. package/dist/index.d.ts.map +1 -0
  133. package/dist/index.js +35 -0
  134. package/dist/lib/accentToken.d.ts +3 -0
  135. package/dist/lib/accentToken.d.ts.map +1 -0
  136. package/dist/lib/accentToken.js +12 -0
  137. package/dist/lib/chartTheme.d.ts +45 -0
  138. package/dist/lib/chartTheme.d.ts.map +1 -0
  139. package/dist/lib/chartTheme.js +64 -0
  140. package/dist/lib/cn.d.ts +6 -0
  141. package/dist/lib/cn.d.ts.map +1 -0
  142. package/dist/lib/cn.js +11 -0
  143. package/dist/lib/forwardRefToRoot.d.ts +8 -0
  144. package/dist/lib/forwardRefToRoot.d.ts.map +1 -0
  145. package/dist/lib/forwardRefToRoot.js +18 -0
  146. package/dist/lib/markdownUrl.d.ts +5 -0
  147. package/dist/lib/markdownUrl.d.ts.map +1 -0
  148. package/dist/lib/markdownUrl.js +24 -0
  149. package/dist/lib/toast.d.ts +30 -0
  150. package/dist/lib/toast.d.ts.map +1 -0
  151. package/dist/lib/toast.js +34 -0
  152. package/dist/lib/useTheme.d.ts +22 -0
  153. package/dist/lib/useTheme.d.ts.map +1 -0
  154. package/dist/lib/useTheme.js +62 -0
  155. package/dist/markdown/rich.d.ts +10 -0
  156. package/dist/markdown/rich.d.ts.map +1 -0
  157. package/dist/markdown/rich.js +8 -0
  158. package/dist/markdown.d.ts +3 -0
  159. package/dist/markdown.d.ts.map +1 -0
  160. package/dist/markdown.js +2 -0
  161. package/dist/mermaid.d.ts +2 -0
  162. package/dist/mermaid.d.ts.map +1 -0
  163. package/dist/mermaid.js +2 -0
  164. package/dist/minimap.d.ts +2 -0
  165. package/dist/minimap.d.ts.map +1 -0
  166. package/dist/minimap.js +2 -0
  167. package/dist/styles/base.css +98 -0
  168. package/dist/styles/components/agent-status.css +52 -0
  169. package/dist/styles/components/agent-trace.css +206 -0
  170. package/dist/styles/components/app-shell.css +195 -0
  171. package/dist/styles/components/button.css +172 -0
  172. package/dist/styles/components/card-group.css +20 -0
  173. package/dist/styles/components/card.css +200 -0
  174. package/dist/styles/components/chart-frame.css +144 -0
  175. package/dist/styles/components/chart-tooltip.css +54 -0
  176. package/dist/styles/components/checkbox-group.css +281 -0
  177. package/dist/styles/components/chip.css +61 -0
  178. package/dist/styles/components/code-block.css +215 -0
  179. package/dist/styles/components/dropdown.css +131 -0
  180. package/dist/styles/components/event-lanes.css +159 -0
  181. package/dist/styles/components/form-group.css +34 -0
  182. package/dist/styles/components/highlight-text.css +17 -0
  183. package/dist/styles/components/input.css +168 -0
  184. package/dist/styles/components/legend.css +80 -0
  185. package/dist/styles/components/markdown-minimap.css +13 -0
  186. package/dist/styles/components/markdown-viewer.css +354 -0
  187. package/dist/styles/components/mermaid-diagram.css +8 -0
  188. package/dist/styles/components/modal.css +167 -0
  189. package/dist/styles/components/panel.css +126 -0
  190. package/dist/styles/components/pulse-badge.css +56 -0
  191. package/dist/styles/components/radio-group.css +89 -0
  192. package/dist/styles/components/search-input.css +153 -0
  193. package/dist/styles/components/sectioned-tree.css +183 -0
  194. package/dist/styles/components/segmented-control.css +54 -0
  195. package/dist/styles/components/skeleton.css +21 -0
  196. package/dist/styles/components/split-pane.css +78 -0
  197. package/dist/styles/components/status-badge.css +94 -0
  198. package/dist/styles/components/streaming-text.css +38 -0
  199. package/dist/styles/components/table.css +235 -0
  200. package/dist/styles/components/theme-toggle.css +123 -0
  201. package/dist/styles/components/toast-container.css +34 -0
  202. package/dist/styles/components/toast.css +169 -0
  203. package/dist/styles/components/tree.css +375 -0
  204. package/dist/styles/components.css +37 -0
  205. package/dist/styles/core.css +3 -0
  206. package/dist/styles/markdown-content.css +368 -0
  207. package/dist/styles/print.css +55 -0
  208. package/dist/styles/reset.css +202 -0
  209. package/dist/styles/syntax.css +62 -0
  210. package/dist/styles/tokens.css +344 -0
  211. package/dist/styles/utilities.css +7 -0
  212. package/dist/testing/index.d.ts +39 -0
  213. package/dist/testing/index.d.ts.map +1 -0
  214. package/dist/testing/index.js +119 -0
  215. package/package.json +138 -0
@@ -0,0 +1,71 @@
1
+ import { forwardRefToRoot as e } from "../lib/forwardRefToRoot.js";
2
+ import { cn as t } from "../lib/cn.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/components/AppShell.tsx
5
+ function i({ logoSrc: e, title: i, titleHref: a = null, navItems: o, actions: s, className: c }) {
6
+ let l = e ? /* @__PURE__ */ n("img", {
7
+ src: e,
8
+ alt: i,
9
+ className: "cs-component-app-shell-7 "
10
+ }) : /* @__PURE__ */ n("span", {
11
+ className: "cs-component-app-shell-8 ",
12
+ children: i
13
+ });
14
+ return /* @__PURE__ */ n("header", {
15
+ "data-component": "Header",
16
+ className: t("cs-component-app-shell-3 ", c),
17
+ children: /* @__PURE__ */ r("div", {
18
+ className: "cs-component-app-shell-4 ",
19
+ children: [a === null ? /* @__PURE__ */ n("span", {
20
+ className: "cs-component-app-shell-6 ",
21
+ children: l
22
+ }) : /* @__PURE__ */ n("a", {
23
+ href: a,
24
+ className: "cs-component-app-shell-6 ",
25
+ children: l
26
+ }), /* @__PURE__ */ n("nav", {
27
+ role: "navigation",
28
+ "aria-label": "Main navigation",
29
+ children: /* @__PURE__ */ r("div", {
30
+ className: "cs-component-app-shell-11 ",
31
+ children: [o?.map((e, i) => {
32
+ let a = i > 0 ? o[i - 1].group : void 0;
33
+ return /* @__PURE__ */ r("span", {
34
+ className: "cs-component-app-shell-12 ",
35
+ children: [e.group && a && e.group !== a && /* @__PURE__ */ n("span", {
36
+ className: "cs-component-app-shell-13 ",
37
+ "aria-hidden": "true"
38
+ }), /* @__PURE__ */ n("a", {
39
+ "data-header-nav-link": e.href,
40
+ href: e.href,
41
+ "aria-current": e.active ? "page" : void 0,
42
+ className: t("cs-component-app-shell-16 ", e.active ? "cs-component-app-shell-17 " : "cs-component-app-shell-18 "),
43
+ onClick: e.onClick ? (t) => {
44
+ t.preventDefault(), e.onClick?.(t);
45
+ } : void 0,
46
+ children: e.label
47
+ })]
48
+ }, e.href);
49
+ }), s]
50
+ })
51
+ })]
52
+ })
53
+ });
54
+ }
55
+ function a({ children: e, className: r }) {
56
+ return /* @__PURE__ */ n("footer", {
57
+ "data-component": "Footer",
58
+ className: t("cs-component-app-shell-20 ", r),
59
+ children: e
60
+ });
61
+ }
62
+ function o({ children: e, className: r }) {
63
+ return /* @__PURE__ */ n("div", {
64
+ "data-component": "AppShell",
65
+ className: t("cs-component-app-shell-24 ", r),
66
+ children: e
67
+ });
68
+ }
69
+ var s = e(i), c = e(a), l = e(o);
70
+ //#endregion
71
+ export { l as AppShell, c as Footer, s as Header };
@@ -0,0 +1,10 @@
1
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
2
+ variant?: "primary" | "secondary" | "danger" | "ghost" | "success" | "warning";
3
+ size?: "sm" | "md";
4
+ /** Merge button styling and behaviour onto the single child element. */
5
+ asChild?: boolean;
6
+ children: React.ReactNode;
7
+ }
8
+ export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLElement>>;
9
+ export {};
10
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAIA,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/E,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAyED,eAAO,MAAM,MAAM,qGAAyD,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { forwardRefToRoot as e } from "../lib/forwardRefToRoot.js";
2
+ import { cn as t } from "../lib/cn.js";
3
+ import { Children as n, cloneElement as r, isValidElement as i } from "react";
4
+ import { jsx as a } from "react/jsx-runtime";
5
+ //#region src/components/Button.tsx
6
+ var o = {
7
+ primary: "cs-component-button-10 ",
8
+ secondary: "cs-component-button-11 ",
9
+ danger: "cs-component-button-12 ",
10
+ ghost: "cs-component-button-13 ",
11
+ success: "cs-component-button-14 ",
12
+ warning: "cs-component-button-15 "
13
+ }, s = {
14
+ sm: "cs-component-button-16 ",
15
+ md: "cs-component-button-17 "
16
+ };
17
+ function c({ variant: e = "primary", size: c = "md", className: l, children: u, asChild: d = !1, disabled: f, type: p = "button", ...m }) {
18
+ let h = t("cs-component-button-22 ", "cs-component-button-23 ", "cs-component-button-24 ", "cs-component-button-25 ", "cs-component-button-26", o[e], s[c], f && "cs-component-button-27 ", l);
19
+ if (d) {
20
+ let e = n.only(u);
21
+ if (!i(e)) throw Error("Button asChild requires one React element");
22
+ let a = e;
23
+ return r(a, {
24
+ ...m,
25
+ "data-component": "Button",
26
+ "aria-disabled": f || void 0,
27
+ className: t(h, a.props.className)
28
+ });
29
+ }
30
+ return /* @__PURE__ */ a("button", {
31
+ "data-component": "Button",
32
+ type: p,
33
+ disabled: f,
34
+ className: h,
35
+ ...m,
36
+ children: u
37
+ });
38
+ }
39
+ var l = e(c);
40
+ //#endregion
41
+ export { l as Button };
@@ -0,0 +1,19 @@
1
+ interface CardProps extends React.HTMLAttributes<HTMLElement> {
2
+ header?: React.ReactNode;
3
+ children: React.ReactNode;
4
+ variant?: "default" | "muted" | "success" | "warning" | "danger" | "tight";
5
+ className?: string;
6
+ id?: string;
7
+ maximizable?: boolean;
8
+ as?: React.ElementType;
9
+ interactive?: boolean;
10
+ onActivate?: () => void;
11
+ collapsible?: boolean;
12
+ collapsed?: boolean;
13
+ onToggle?: () => void;
14
+ /** Loading state: replace card body with skeleton lines (header preserved). Added v1.2.0. */
15
+ loading?: boolean;
16
+ }
17
+ export declare const Card: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>>;
18
+ export {};
19
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../src/components/Card.tsx"],"names":[],"mappings":"AAQA,UAAU,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC3D,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAaD,eAAO,MAAM,IAAI,mGAgJf,CAAC"}
@@ -0,0 +1,96 @@
1
+ "use client";
2
+ "use client";
3
+ import { cn as e } from "../lib/cn.js";
4
+ import { Skeleton as t } from "./Skeleton.js";
5
+ import { useCardGroup as n } from "./CardGroupContext.js";
6
+ import { forwardRef as r } from "react";
7
+ import { ChevronDown as i, ChevronRight as a, Maximize2 as o, Minimize2 as s } from "lucide-react";
8
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
+ //#region src/components/Card.tsx
10
+ var u = {
11
+ default: "cs-component-card-10 ",
12
+ muted: "cs-component-card-11 ",
13
+ success: "cs-component-card-12 ",
14
+ warning: "cs-component-card-15 ",
15
+ danger: "cs-component-card-13 ",
16
+ tight: "cs-component-card-14 "
17
+ }, d = r(function({ header: t, children: r, variant: d = "default", className: p, id: m, maximizable: h, loading: g, as: _ = "div", interactive: v, onActivate: y, collapsible: b, collapsed: x = !1, onToggle: S, onClick: C, onKeyDown: w, role: T, tabIndex: E, ...D }, O) {
18
+ let k = n(), A = !!k && !!m && !!h, j = A && k.maximizedId === m;
19
+ if (k && m && k.maximizedId !== null && k.maximizedId !== m) return /* @__PURE__ */ c(_, {
20
+ ...D,
21
+ ref: O,
22
+ id: m,
23
+ "data-component": "Card",
24
+ className: e("cs-component-card-17", p)
25
+ });
26
+ let M = j ? s : o, N = !!k && (k.fill || j), P = v || !!y;
27
+ return /* @__PURE__ */ l(_, {
28
+ ...D,
29
+ ref: O,
30
+ id: m,
31
+ "data-component": "Card",
32
+ role: T ?? (P ? "button" : void 0),
33
+ tabIndex: E ?? (P ? 0 : void 0),
34
+ onClick: (e) => {
35
+ C?.(e), e.defaultPrevented || y?.();
36
+ },
37
+ onKeyDown: (e) => {
38
+ w?.(e), !e.defaultPrevented && P && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), y?.());
39
+ },
40
+ className: e("cs-component-card-19 ", u[d], P && "cs-component-card-16", t && "cs-component-card-20", N && "cs-component-card-21", p),
41
+ children: [t && /* @__PURE__ */ l("div", {
42
+ "data-card-header": "",
43
+ className: e("cs-component-card-22 ", (A || b) && "cs-component-card-23 "),
44
+ children: [/* @__PURE__ */ c("span", { children: t }), (b || A) && /* @__PURE__ */ l("span", {
45
+ className: "cs-component-card-23",
46
+ children: [b && /* @__PURE__ */ c("button", {
47
+ type: "button",
48
+ onClick: (e) => {
49
+ e.stopPropagation(), S?.();
50
+ },
51
+ className: "cs-component-card-24 ",
52
+ "aria-label": x ? "Expand" : "Collapse",
53
+ "aria-expanded": !x,
54
+ children: c(x ? a : i, { className: "cs-component-card-27 " })
55
+ }), A && /* @__PURE__ */ c("button", {
56
+ type: "button",
57
+ onClick: (e) => {
58
+ e.stopPropagation(), k.toggle(m);
59
+ },
60
+ className: "cs-component-card-24 ",
61
+ "aria-label": j ? "Show all cards" : "Show only this card",
62
+ title: j ? "Show all cards" : "Show only this card — its siblings are hidden",
63
+ children: /* @__PURE__ */ c(M, { className: "cs-component-card-27 " })
64
+ })]
65
+ })]
66
+ }), !x && (t ? /* @__PURE__ */ c("div", {
67
+ className: e(d === "tight" ? "cs-component-card-29" : "cs-component-card-30", N && "cs-component-card-31 ", j && "cs-component-card-32 "),
68
+ children: g ? /* @__PURE__ */ c(f, {}) : r
69
+ }) : g ? /* @__PURE__ */ c("div", {
70
+ className: "cs-component-card-30",
71
+ children: /* @__PURE__ */ c(f, {})
72
+ }) : r)]
73
+ });
74
+ });
75
+ function f() {
76
+ return /* @__PURE__ */ l("div", {
77
+ "data-testid": "card-loading",
78
+ className: "cs-component-card-34 ",
79
+ children: [
80
+ /* @__PURE__ */ c(t, {
81
+ variant: "text",
82
+ width: "80%"
83
+ }),
84
+ /* @__PURE__ */ c(t, {
85
+ variant: "text",
86
+ width: "65%"
87
+ }),
88
+ /* @__PURE__ */ c(t, {
89
+ variant: "text",
90
+ width: "75%"
91
+ })
92
+ ]
93
+ });
94
+ }
95
+ //#endregion
96
+ export { d as Card };
@@ -0,0 +1,16 @@
1
+ interface CardGroupProps {
2
+ children: React.ReactNode;
3
+ maximizedId?: string | null;
4
+ onMaximizedChange?: (id: string | null) => void;
5
+ /**
6
+ * Fill the group's height and distribute it across cards (each scrolls
7
+ * internally) — the fixed-viewport dashboard layout. Default true. Set
8
+ * false for a natural-height stack where the page scrolls instead. A
9
+ * maximized card fills the viewport in either mode. Added v1.7.0.
10
+ */
11
+ fill?: boolean;
12
+ className?: string;
13
+ }
14
+ export declare const CardGroup: import("react").ForwardRefExoticComponent<CardGroupProps & import("react").RefAttributes<HTMLDivElement>>;
15
+ export {};
16
+ //# sourceMappingURL=CardGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardGroup.d.ts","sourceRoot":"","sources":["../../src/components/CardGroup.tsx"],"names":[],"mappings":"AAMA,UAAU,cAAc;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+CD,eAAO,MAAM,SAAS,2GAA4D,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ "use client";
3
+ import { cn as e } from "../lib/cn.js";
4
+ import { CardGroupContext as t } from "./CardGroupContext.js";
5
+ import { forwardRef as n, useCallback as r, useState as i } from "react";
6
+ import { jsx as a } from "react/jsx-runtime";
7
+ //#region src/components/CardGroup.tsx
8
+ function o({ children: n, maximizedId: o, onMaximizedChange: s, fill: c = !0, className: l }, u) {
9
+ let [d, f] = i(null), p = o !== void 0, m = p ? o : d, h = r((e) => {
10
+ let t = m === e ? null : e;
11
+ p ? s?.(t) : f(t);
12
+ }, [
13
+ m,
14
+ p,
15
+ s
16
+ ]), g = c || m !== null;
17
+ return /* @__PURE__ */ a(t.Provider, {
18
+ value: {
19
+ maximizedId: m,
20
+ toggle: h,
21
+ fill: c
22
+ },
23
+ children: /* @__PURE__ */ a("div", {
24
+ ref: u,
25
+ "data-component": "CardGroup",
26
+ className: e("cs-component-card-group-5 ", g && "cs-component-card-group-6", l),
27
+ children: n
28
+ })
29
+ });
30
+ }
31
+ var s = n(o);
32
+ //#endregion
33
+ export { s as CardGroup };
@@ -0,0 +1,14 @@
1
+ export interface CardGroupContextValue {
2
+ maximizedId: string | null;
3
+ toggle: (id: string) => void;
4
+ /**
5
+ * When true (default), cards flex to fill the group's height and scroll
6
+ * internally (fixed-viewport dashboard). When false, cards take their
7
+ * natural height and stack — the page scrolls instead. A maximized card
8
+ * fills the viewport in either mode.
9
+ */
10
+ fill: boolean;
11
+ }
12
+ export declare const CardGroupContext: import("react").Context<CardGroupContextValue | null>;
13
+ export declare function useCardGroup(): CardGroupContextValue | null;
14
+ //# sourceMappingURL=CardGroupContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardGroupContext.d.ts","sourceRoot":"","sources":["../../src/components/CardGroupContext.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,gBAAgB,uDAAoD,CAAC;AAElF,wBAAgB,YAAY,IAAI,qBAAqB,GAAG,IAAI,CAE3D"}
@@ -0,0 +1,8 @@
1
+ import { createContext as e, useContext as t } from "react";
2
+ //#region src/components/CardGroupContext.ts
3
+ var n = e(null);
4
+ function r() {
5
+ return t(n);
6
+ }
7
+ //#endregion
8
+ export { n as CardGroupContext, r as useCardGroup };
@@ -0,0 +1,30 @@
1
+ import type { ReactNode } from "react";
2
+ interface ChartFrameProps {
3
+ /** Title shown in the frame header. */
4
+ title?: string;
5
+ /** Optional actions rendered on the right of the header (legend toggle, export, …). */
6
+ actions?: ReactNode;
7
+ /** Fixed height for the chart body. Accepts a number (px) or any CSS length. Default: 240 */
8
+ height?: number | string;
9
+ /** The chart. Rendered only in the happy path. */
10
+ children: ReactNode;
11
+ loading?: boolean;
12
+ error?: Error | string | null;
13
+ errorMessage?: string;
14
+ onRetry?: () => void;
15
+ emptyMessage?: string;
16
+ emptyHint?: string;
17
+ emptyAction?: {
18
+ label: string;
19
+ onClick: () => void;
20
+ };
21
+ /**
22
+ * Whether the chart is empty. When true (and not loading/error), the empty
23
+ * state renders. Defaults to false — pass `empty={data.length === 0}`.
24
+ */
25
+ empty?: boolean;
26
+ className?: string;
27
+ }
28
+ export declare const ChartFrame: import("react").ForwardRefExoticComponent<ChartFrameProps & import("react").RefAttributes<HTMLDivElement>>;
29
+ export {};
30
+ //# sourceMappingURL=ChartFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartFrame.d.ts","sourceRoot":"","sources":["../../src/components/ChartFrame.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,UAAU,eAAe;IACvB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,kDAAkD;IAClD,QAAQ,EAAE,SAAS,CAAC;IAGpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACrD;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyGD,eAAO,MAAM,UAAU,4GAAoE,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { forwardRefToRoot as e } from "../lib/forwardRefToRoot.js";
2
+ import { cn as t } from "../lib/cn.js";
3
+ import { Button as n } from "./Button.js";
4
+ import { Skeleton as r } from "./Skeleton.js";
5
+ import { AlertCircle as i, Inbox as a } from "lucide-react";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
+ //#region src/components/ChartFrame.tsx
8
+ function c({ title: e, actions: c, height: l = 240, children: u, loading: d = !1, error: f = null, errorMessage: p = "Couldn't load chart", onRetry: m, emptyMessage: h = "No data to chart.", emptyHint: g, emptyAction: _, empty: v = !1, className: y }) {
9
+ let b = typeof l == "number" ? `${l}px` : l, x;
10
+ if (d) x = /* @__PURE__ */ o("div", {
11
+ "data-testid": "chartframe-loading",
12
+ className: "cs-component-chart-frame-12 ",
13
+ children: /* @__PURE__ */ o("div", {
14
+ className: "cs-component-chart-frame-13 ",
15
+ children: [
16
+ 40,
17
+ 65,
18
+ 50,
19
+ 80,
20
+ 55,
21
+ 70,
22
+ 45,
23
+ 60
24
+ ].map((e, t) => /* @__PURE__ */ o(r, {
25
+ variant: "rect",
26
+ width: "100%",
27
+ height: `${e}%`
28
+ }, t))
29
+ })
30
+ });
31
+ else if (f) {
32
+ let e = typeof f == "string" ? f : f.message;
33
+ x = /* @__PURE__ */ s("div", {
34
+ "data-testid": "chartframe-error",
35
+ className: "cs-component-chart-frame-20 ",
36
+ children: [
37
+ /* @__PURE__ */ o(i, { className: "cs-component-chart-frame-21 " }),
38
+ /* @__PURE__ */ o("span", {
39
+ className: "cs-component-chart-frame-22 ",
40
+ children: p
41
+ }),
42
+ e && /* @__PURE__ */ o("span", {
43
+ className: "cs-component-chart-frame-23 ",
44
+ children: e
45
+ }),
46
+ m && /* @__PURE__ */ o(n, {
47
+ variant: "secondary",
48
+ size: "sm",
49
+ onClick: m,
50
+ children: "Retry"
51
+ })
52
+ ]
53
+ });
54
+ } else x = v ? /* @__PURE__ */ s("div", {
55
+ "data-testid": "chartframe-empty",
56
+ className: "cs-component-chart-frame-20 ",
57
+ children: [
58
+ /* @__PURE__ */ o(a, { className: "cs-component-chart-frame-27 " }),
59
+ /* @__PURE__ */ o("span", {
60
+ className: "cs-component-chart-frame-22 ",
61
+ children: h
62
+ }),
63
+ g && /* @__PURE__ */ o("span", {
64
+ className: "cs-component-chart-frame-23 ",
65
+ children: g
66
+ }),
67
+ _ && /* @__PURE__ */ o(n, {
68
+ variant: "secondary",
69
+ size: "sm",
70
+ onClick: _.onClick,
71
+ children: _.label
72
+ })
73
+ ]
74
+ }) : u;
75
+ return /* @__PURE__ */ s("div", {
76
+ "data-component": "ChartFrame",
77
+ className: t("cs-component-chart-frame-31 ", "cs-component-chart-frame-32 ", "cs-component-chart-frame-33", y),
78
+ children: [(e || c) && /* @__PURE__ */ s("div", {
79
+ className: "cs-component-chart-frame-34 ",
80
+ children: [e ? /* @__PURE__ */ o("span", {
81
+ className: "text-label-upper cs-component-chart-frame-35",
82
+ children: e
83
+ }) : /* @__PURE__ */ o("span", {}), c && /* @__PURE__ */ o("div", {
84
+ className: "cs-component-chart-frame-36 ",
85
+ children: c
86
+ })]
87
+ }), /* @__PURE__ */ o("div", {
88
+ className: "cs-component-chart-frame-37 ",
89
+ style: { height: b },
90
+ children: x
91
+ })]
92
+ });
93
+ }
94
+ var l = e(c);
95
+ //#endregion
96
+ export { l as ChartFrame };
@@ -0,0 +1,22 @@
1
+ import type { ReactNode } from "react";
2
+ interface ChartTooltipProps {
3
+ /** Whether the tooltip is shown. Default: true */
4
+ visible?: boolean;
5
+ /**
6
+ * Position relative to the chart's positioned container. The tooltip is
7
+ * absolutely positioned; the consumer supplies the cursor coordinates.
8
+ */
9
+ x: number;
10
+ y: number;
11
+ /**
12
+ * Anchor: where the (x, y) point sits relative to the tooltip box.
13
+ * Default "top" — tooltip is centered horizontally above the point.
14
+ */
15
+ anchor?: "top" | "bottom" | "left" | "right";
16
+ /** Tooltip content. Consumers build the rows; the box handles chrome. */
17
+ children: ReactNode;
18
+ className?: string;
19
+ }
20
+ export declare const ChartTooltip: import("react").ForwardRefExoticComponent<ChartTooltipProps & import("react").RefAttributes<HTMLDivElement>>;
21
+ export {};
22
+ //# sourceMappingURL=ChartTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartTooltip.d.ts","sourceRoot":"","sources":["../../src/components/ChartTooltip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,OAAO,CAAC;AAGtD,UAAU,iBAAiB;IACzB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,yEAAyE;IACzE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqDD,eAAO,MAAM,YAAY,8GAAwE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { forwardRefToRoot as e } from "../lib/forwardRefToRoot.js";
2
+ import { cn as t } from "../lib/cn.js";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/components/ChartTooltip.tsx
5
+ var r = {
6
+ top: "translate(-50%, calc(-100% - 8px))",
7
+ bottom: "translate(-50%, 8px)",
8
+ left: "translate(calc(-100% - 8px), -50%)",
9
+ right: "translate(8px, -50%)"
10
+ };
11
+ function i({ visible: e = !0, x: i, y: a, anchor: o = "top", children: s, className: c }) {
12
+ return e ? /* @__PURE__ */ n("div", {
13
+ "data-component": "ChartTooltip",
14
+ role: "tooltip",
15
+ style: {
16
+ left: i,
17
+ top: a,
18
+ transform: r[o]
19
+ },
20
+ className: t("cs-component-chart-tooltip-15 ", "cs-component-chart-tooltip-16", "cs-component-chart-tooltip-17 ", "cs-component-chart-tooltip-18", "cs-component-chart-tooltip-19 ", "cs-component-chart-tooltip-20 ", c),
21
+ children: s
22
+ }) : null;
23
+ }
24
+ var a = e(i);
25
+ //#endregion
26
+ export { a as ChartTooltip };
@@ -0,0 +1,37 @@
1
+ export interface CheckboxOption {
2
+ /** Unique value identifier */
3
+ value: string;
4
+ /** Display label */
5
+ label: string;
6
+ /** Optional color dot rendered beside the label */
7
+ color?: string;
8
+ /** Optional group name — when set on any option, sections are rendered */
9
+ group?: string;
10
+ /** Disable this individual option */
11
+ disabled?: boolean;
12
+ }
13
+ interface CheckboxGroupProps {
14
+ /** Available options */
15
+ options: CheckboxOption[];
16
+ /** Currently selected values */
17
+ selected: Set<string>;
18
+ /** Called when selection changes */
19
+ onChange: (selected: Set<string>) => void;
20
+ /** Group label displayed above the checkboxes */
21
+ label?: string;
22
+ /** Optional grey helper text below the group. Added v1.3.0. */
23
+ helper?: string;
24
+ /** Optional red error message below the group (replaces helper). Added v1.3.0. */
25
+ error?: string;
26
+ /** Show a filter input to narrow visible options. Default: false */
27
+ filterable?: boolean;
28
+ /** Placeholder for the filter input */
29
+ filterPlaceholder?: string;
30
+ /** Disable the entire group */
31
+ disabled?: boolean;
32
+ /** Additional className on the root container */
33
+ className?: string;
34
+ }
35
+ export declare const CheckboxGroup: import("react").ForwardRefExoticComponent<CheckboxGroupProps & import("react").RefAttributes<HTMLDivElement>>;
36
+ export {};
37
+ //# sourceMappingURL=CheckboxGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroup.d.ts","sourceRoot":"","sources":["../../src/components/CheckboxGroup.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,kBAAkB;IAC1B,wBAAwB;IACxB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC1C,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoTD,eAAO,MAAM,aAAa,+GAA0E,CAAC"}