@actioneer/ads 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 (231) hide show
  1. package/LICENSE +21 -0
  2. package/bin/ads-init.mjs +314 -0
  3. package/components/accordion.d.ts +13 -0
  4. package/components/accordion.js +91 -0
  5. package/components/agents-ui/agent-audio-visualizer-aura.d.ts +11 -0
  6. package/components/agents-ui/agent-audio-visualizer-aura.js +277 -0
  7. package/components/agents-ui/agent-audio-visualizer-wave.d.ts +12 -0
  8. package/components/agents-ui/agent-audio-visualizer-wave.js +203 -0
  9. package/components/agents-ui/react-shader-toy.d.ts +87 -0
  10. package/components/agents-ui/react-shader-toy.js +531 -0
  11. package/components/ai-elements/chain-of-thought.d.ts +30 -0
  12. package/components/ai-elements/chain-of-thought.js +182 -0
  13. package/components/ai-elements/index.d.ts +11 -0
  14. package/components/ai-elements/inline-citation.d.ts +44 -0
  15. package/components/ai-elements/inline-citation.js +314 -0
  16. package/components/ai-elements/message.d.ts +96 -0
  17. package/components/ai-elements/message.js +308 -0
  18. package/components/ai-elements/queue.d.ts +60 -0
  19. package/components/ai-elements/queue.js +193 -0
  20. package/components/ai-elements/reasoning.d.ts +26 -0
  21. package/components/ai-elements/reasoning.js +131 -0
  22. package/components/ai-elements/shimmer.d.ts +25 -0
  23. package/components/ai-elements/shimmer.js +44 -0
  24. package/components/ai-elements/speech-input.d.ts +16 -0
  25. package/components/ai-elements/speech-input.js +151 -0
  26. package/components/ai-elements/task-progress.d.ts +41 -0
  27. package/components/ai-elements/task-progress.js +211 -0
  28. package/components/ai-elements/task.d.ts +35 -0
  29. package/components/ai-elements/task.js +73 -0
  30. package/components/ai-elements/tool.d.ts +53 -0
  31. package/components/ai-elements/tool.js +116 -0
  32. package/components/ai-elements/voice.d.ts +74 -0
  33. package/components/ai-elements/voice.js +875 -0
  34. package/components/alert.d.ts +21 -0
  35. package/components/alert.js +76 -0
  36. package/components/answer.d.ts +984 -0
  37. package/components/answer.js +543 -0
  38. package/components/assistant-ui/action-bar.d.ts +3 -0
  39. package/components/assistant-ui/action-bar.js +57 -0
  40. package/components/assistant-ui/answer-tool-ui.d.ts +5 -0
  41. package/components/assistant-ui/answer-tool-ui.js +42 -0
  42. package/components/assistant-ui/attachment.d.ts +50 -0
  43. package/components/assistant-ui/attachment.js +353 -0
  44. package/components/assistant-ui/badge.d.ts +11 -0
  45. package/components/assistant-ui/badge.js +54 -0
  46. package/components/assistant-ui/branch-picker.d.ts +3 -0
  47. package/components/assistant-ui/branch-picker.js +36 -0
  48. package/components/assistant-ui/chain-of-thought.d.ts +46 -0
  49. package/components/assistant-ui/composer-add-context.d.ts +50 -0
  50. package/components/assistant-ui/composer-add-context.js +209 -0
  51. package/components/assistant-ui/composer-deep-research.d.ts +16 -0
  52. package/components/assistant-ui/composer-deep-research.js +38 -0
  53. package/components/assistant-ui/composer-harness.d.ts +18 -0
  54. package/components/assistant-ui/composer-harness.js +186 -0
  55. package/components/assistant-ui/composer-trigger-popover.d.ts +47 -0
  56. package/components/assistant-ui/composer-trigger-popover.js +147 -0
  57. package/components/assistant-ui/composer.d.ts +8 -0
  58. package/components/assistant-ui/composer.js +276 -0
  59. package/components/assistant-ui/directive-text.d.ts +16 -0
  60. package/components/assistant-ui/directive-text.js +40 -0
  61. package/components/assistant-ui/error.d.ts +6 -0
  62. package/components/assistant-ui/error.js +39 -0
  63. package/components/assistant-ui/file.d.ts +37 -0
  64. package/components/assistant-ui/file.js +159 -0
  65. package/components/assistant-ui/follow-up-suggestions.d.ts +7 -0
  66. package/components/assistant-ui/follow-up-suggestions.js +44 -0
  67. package/components/assistant-ui/image.d.ts +46 -0
  68. package/components/assistant-ui/image.js +351 -0
  69. package/components/assistant-ui/index.d.ts +28 -0
  70. package/components/assistant-ui/markdown-text.d.ts +1 -0
  71. package/components/assistant-ui/markdown-text.js +242 -0
  72. package/components/assistant-ui/message-timing.d.ts +25 -0
  73. package/components/assistant-ui/message-timing.js +56 -0
  74. package/components/assistant-ui/message.d.ts +4 -0
  75. package/components/assistant-ui/message.js +159 -0
  76. package/components/assistant-ui/primitives.d.ts +2 -0
  77. package/components/assistant-ui/quote.d.ts +37 -0
  78. package/components/assistant-ui/quote.js +150 -0
  79. package/components/assistant-ui/reasoning.d.ts +44 -0
  80. package/components/assistant-ui/reasoning.js +261 -0
  81. package/components/assistant-ui/selection-toolbar.d.ts +29 -0
  82. package/components/assistant-ui/selection-toolbar.js +91 -0
  83. package/components/assistant-ui/smart-message-text.d.ts +15 -0
  84. package/components/assistant-ui/smart-message-text.js +29 -0
  85. package/components/assistant-ui/sources.d.ts +17 -0
  86. package/components/assistant-ui/sources.js +121 -0
  87. package/components/assistant-ui/suggestions.d.ts +7 -0
  88. package/components/assistant-ui/suggestions.js +19 -0
  89. package/components/assistant-ui/thread-context.d.ts +37 -0
  90. package/components/assistant-ui/thread-context.js +8 -0
  91. package/components/assistant-ui/thread.d.ts +5 -0
  92. package/components/assistant-ui/thread.js +77 -0
  93. package/components/assistant-ui/tool-fallback.d.ts +36 -0
  94. package/components/assistant-ui/tool-fallback.js +428 -0
  95. package/components/assistant-ui/tool-group.d.ts +33 -0
  96. package/components/assistant-ui/tool-group.js +173 -0
  97. package/components/assistant-ui/tooltip-icon-button.d.ts +7 -0
  98. package/components/assistant-ui/tooltip-icon-button.js +31 -0
  99. package/components/assistant-ui/voice.d.ts +18 -0
  100. package/components/autocomplete.d.ts +18 -0
  101. package/components/autocomplete.js +162 -0
  102. package/components/avatar.d.ts +26 -0
  103. package/components/avatar.js +92 -0
  104. package/components/badge.d.ts +10 -0
  105. package/components/badge.js +83 -0
  106. package/components/brand-loader.d.ts +16 -0
  107. package/components/brand-loader.js +64 -0
  108. package/components/breadcrumbs.d.ts +8 -0
  109. package/components/breadcrumbs.js +58 -0
  110. package/components/button.d.ts +13 -0
  111. package/components/button.js +100 -0
  112. package/components/card.d.ts +19 -0
  113. package/components/card.js +82 -0
  114. package/components/carousel.d.ts +31 -0
  115. package/components/carousel.js +351 -0
  116. package/components/chart.d.ts +165 -0
  117. package/components/chart.js +841 -0
  118. package/components/checkbox.d.ts +13 -0
  119. package/components/checkbox.js +84 -0
  120. package/components/chip.d.ts +13 -0
  121. package/components/chip.js +112 -0
  122. package/components/collapsible.d.ts +5 -0
  123. package/components/collapsible.js +31 -0
  124. package/components/connector-card.d.ts +62 -0
  125. package/components/connector-card.js +154 -0
  126. package/components/divider.d.ts +23 -0
  127. package/components/divider.js +69 -0
  128. package/components/drawer.d.ts +45 -0
  129. package/components/drawer.js +234 -0
  130. package/components/dropdown.d.ts +33 -0
  131. package/components/dropdown.js +198 -0
  132. package/components/empty-state.d.ts +8 -0
  133. package/components/empty-state.js +30 -0
  134. package/components/field.d.ts +20 -0
  135. package/components/field.js +74 -0
  136. package/components/index.d.ts +56 -0
  137. package/components/index.js +444 -0
  138. package/components/input-field.d.ts +22 -0
  139. package/components/input-field.js +91 -0
  140. package/components/input.d.ts +8 -0
  141. package/components/input.js +61 -0
  142. package/components/kbd.d.ts +6 -0
  143. package/components/kbd.js +26 -0
  144. package/components/link.d.ts +14 -0
  145. package/components/link.js +72 -0
  146. package/components/modal.d.ts +18 -0
  147. package/components/modal.js +156 -0
  148. package/components/navbar.d.ts +15 -0
  149. package/components/navbar.js +68 -0
  150. package/components/number-field.d.ts +11 -0
  151. package/components/number-field.js +89 -0
  152. package/components/pagination.d.ts +28 -0
  153. package/components/pagination.js +179 -0
  154. package/components/panel.d.ts +14 -0
  155. package/components/panel.js +71 -0
  156. package/components/pixel-blast-svg.d.ts +22 -0
  157. package/components/pixel-blast-svg.js +154 -0
  158. package/components/popover.d.ts +20 -0
  159. package/components/popover.js +101 -0
  160. package/components/progress-circle.d.ts +11 -0
  161. package/components/progress-circle.js +75 -0
  162. package/components/progress.d.ts +22 -0
  163. package/components/progress.js +66 -0
  164. package/components/radio.d.ts +16 -0
  165. package/components/radio.js +101 -0
  166. package/components/segmented.d.ts +16 -0
  167. package/components/segmented.js +103 -0
  168. package/components/select.d.ts +28 -0
  169. package/components/select.js +180 -0
  170. package/components/selection-action-bar.d.ts +11 -0
  171. package/components/selection-action-bar.js +59 -0
  172. package/components/sidebar.d.ts +118 -0
  173. package/components/sidebar.js +375 -0
  174. package/components/skeleton.d.ts +6 -0
  175. package/components/skeleton.js +26 -0
  176. package/components/slider.d.ts +11 -0
  177. package/components/slider.js +62 -0
  178. package/components/spinner.d.ts +11 -0
  179. package/components/spinner.js +62 -0
  180. package/components/switch.d.ts +7 -0
  181. package/components/switch.js +61 -0
  182. package/components/table.d.ts +59 -0
  183. package/components/table.js +254 -0
  184. package/components/tabs.d.ts +29 -0
  185. package/components/tabs.js +371 -0
  186. package/components/textarea.d.ts +5 -0
  187. package/components/textarea.js +24 -0
  188. package/components/timeline.d.ts +7 -0
  189. package/components/timeline.js +47 -0
  190. package/components/toast.d.ts +74 -0
  191. package/components/toast.js +211 -0
  192. package/components/tooltip.d.ts +11 -0
  193. package/components/tooltip.js +143 -0
  194. package/components/tree.d.ts +42 -0
  195. package/components/tree.js +86 -0
  196. package/components/typography.d.ts +33 -0
  197. package/components/typography.js +65 -0
  198. package/components/ui/avatar.d.ts +11 -0
  199. package/components/ui/avatar.js +56 -0
  200. package/components/ui/button.d.ts +10 -0
  201. package/components/ui/button.js +57 -0
  202. package/components/ui/collapsible.d.ts +5 -0
  203. package/components/ui/collapsible.js +35 -0
  204. package/components/ui/dialog.d.ts +17 -0
  205. package/components/ui/dialog.js +93 -0
  206. package/components/ui/tabs.d.ts +22 -0
  207. package/components/ui/tooltip.d.ts +7 -0
  208. package/components/ui/tooltip.js +56 -0
  209. package/fonts/aribau-grotesk-400.otf +0 -0
  210. package/fonts/aribau-grotesk-700.otf +0 -0
  211. package/fonts.css +21 -0
  212. package/hooks/agents-ui/use-agent-audio-visualizer-aura.d.ts +8 -0
  213. package/hooks/agents-ui/use-agent-audio-visualizer-aura.js +62 -0
  214. package/hooks/agents-ui/use-agent-audio-visualizer-wave.d.ts +7 -0
  215. package/hooks/agents-ui/use-agent-audio-visualizer-wave.js +60 -0
  216. package/hooks/agents-ui/voice-visualizer-types.d.ts +9 -0
  217. package/lib/cn.d.ts +3 -0
  218. package/lib/cn.js +9 -0
  219. package/lib/icons.d.ts +378 -0
  220. package/lib/icons.js +119 -0
  221. package/lib/interactive.d.ts +24 -0
  222. package/lib/interactive.js +36 -0
  223. package/lib/motion.d.ts +58 -0
  224. package/lib/motion.js +70 -0
  225. package/lib/router.d.ts +3 -0
  226. package/lib/utils.d.ts +6 -0
  227. package/llms.txt +537 -0
  228. package/manifest.json +5085 -0
  229. package/package.json +60 -0
  230. package/styles.css +653 -0
  231. package/theme.css +273 -0
@@ -0,0 +1,351 @@
1
+ "use client";
2
+ import { jsx as C, jsxs as V } from "react/jsx-runtime";
3
+ import * as t from "react";
4
+ import { cva as W } from "class-variance-authority";
5
+ import { Button as D } from "./button.js";
6
+ import { ChevronLeft as H, ChevronRight as X } from "../lib/icons.js";
7
+ import { cn as S } from "../lib/cn.js";
8
+ const q = t.createContext(null);
9
+ function k(l) {
10
+ const i = t.useContext(q);
11
+ if (!i)
12
+ throw new Error(`<${l}> must be used within <Carousel>`);
13
+ return i;
14
+ }
15
+ const F = t.createContext(null);
16
+ function L(l, i, d) {
17
+ return i <= 0 ? 0 : d ? (l % i + i) % i : Math.min(Math.max(l, 0), i - 1);
18
+ }
19
+ function _(l) {
20
+ return l.detail === 0;
21
+ }
22
+ const B = W(
23
+ "relative w-full rounded-sm outline-none focus-visible:ring-3 focus-visible:ring-ring"
24
+ ), G = t.forwardRef(
25
+ ({
26
+ className: l,
27
+ index: i,
28
+ defaultIndex: d = 0,
29
+ onIndexChange: f,
30
+ loop: o = !0,
31
+ children: b,
32
+ role: p,
33
+ tabIndex: m,
34
+ onKeyDown: r,
35
+ "aria-label": x,
36
+ "aria-roledescription": I,
37
+ ...N
38
+ }, u) => {
39
+ const a = i !== void 0, [n, y] = t.useState(d), [h, v] = t.useState(0), [P, R] = t.useState(!0), E = t.useId(), g = L(a ? i : n, h, !1), e = t.useCallback((s) => {
40
+ v(s), y(
41
+ (M) => L(M, s, !1)
42
+ );
43
+ }, []), c = t.useCallback(
44
+ (s, M = "animated") => {
45
+ const $ = L(s, h, o);
46
+ R(M === "animated"), a || y($), $ !== g && (f == null || f($));
47
+ },
48
+ [h, g, a, o, f]
49
+ ), A = t.useCallback(
50
+ (s) => c(g - 1, s),
51
+ [c, g]
52
+ ), w = t.useCallback(
53
+ (s) => c(g + 1, s),
54
+ [c, g]
55
+ );
56
+ t.useEffect(() => {
57
+ if (P) return;
58
+ const s = requestAnimationFrame(() => R(!0));
59
+ return () => cancelAnimationFrame(s);
60
+ }, [g, P]);
61
+ const T = t.useMemo(
62
+ () => ({
63
+ index: g,
64
+ count: h,
65
+ loop: o,
66
+ contentId: E,
67
+ isAnimated: P,
68
+ setCount: e,
69
+ goTo: c,
70
+ goPrevious: A,
71
+ goNext: w
72
+ }),
73
+ [
74
+ g,
75
+ h,
76
+ o,
77
+ E,
78
+ P,
79
+ e,
80
+ c,
81
+ A,
82
+ w
83
+ ]
84
+ ), z = (s) => {
85
+ r == null || r(s), !(s.defaultPrevented || s.target !== s.currentTarget) && (s.key === "ArrowLeft" ? (s.preventDefault(), A("instant")) : s.key === "ArrowRight" ? (s.preventDefault(), w("instant")) : s.key === "Home" ? (s.preventDefault(), c(0, "instant")) : s.key === "End" && (s.preventDefault(), c(h - 1, "instant")));
86
+ };
87
+ return /* @__PURE__ */ C(q.Provider, { value: T, children: /* @__PURE__ */ V(
88
+ "div",
89
+ {
90
+ ref: u,
91
+ role: p ?? "region",
92
+ "aria-roledescription": I ?? "carousel",
93
+ "aria-label": x ?? "Carousel",
94
+ tabIndex: m ?? 0,
95
+ className: S(B(), l),
96
+ onKeyDown: z,
97
+ ...N,
98
+ children: [
99
+ b,
100
+ /* @__PURE__ */ C("span", { className: "sr-only", "aria-live": "polite", "aria-atomic": "true", children: h > 0 ? `Slide ${g + 1} of ${h}` : "" })
101
+ ]
102
+ }
103
+ ) });
104
+ }
105
+ );
106
+ G.displayName = "Carousel";
107
+ const O = 40, Y = 10, J = 0.11, Q = t.forwardRef(
108
+ ({
109
+ className: l,
110
+ children: i,
111
+ onPointerDown: d,
112
+ onPointerUp: f,
113
+ onPointerCancel: o,
114
+ onClickCapture: b,
115
+ ...p
116
+ }, m) => {
117
+ const {
118
+ index: r,
119
+ count: x,
120
+ contentId: I,
121
+ isAnimated: N,
122
+ setCount: u,
123
+ goPrevious: a,
124
+ goNext: n
125
+ } = k("CarouselContent"), y = t.Children.toArray(i), h = t.useRef(null), v = t.useRef(!1);
126
+ t.useEffect(() => {
127
+ u(y.length);
128
+ }, [y.length, u]);
129
+ const P = (e) => {
130
+ d == null || d(e), !(e.defaultPrevented || !e.isPrimary || e.pointerType === "mouse" || x <= 1) && (h.current = {
131
+ pointerId: e.pointerId,
132
+ x: e.clientX,
133
+ time: e.timeStamp
134
+ }, e.currentTarget.setPointerCapture(e.pointerId));
135
+ }, R = (e) => {
136
+ e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId);
137
+ }, E = (e) => {
138
+ f == null || f(e);
139
+ const c = h.current;
140
+ if (h.current = null, R(e), !c || c.pointerId !== e.pointerId) return;
141
+ const A = e.clientX - c.x, w = Math.max(1, e.timeStamp - c.time), T = Math.abs(A) / w;
142
+ (Math.abs(A) >= O || Math.abs(A) >= Y && T > J) && (v.current = !0, A < 0 ? n() : a());
143
+ }, j = (e) => {
144
+ o == null || o(e), h.current = null, R(e);
145
+ }, g = (e) => {
146
+ if (v.current) {
147
+ v.current = !1, e.preventDefault(), e.stopPropagation();
148
+ return;
149
+ }
150
+ b == null || b(e);
151
+ };
152
+ return /* @__PURE__ */ C(
153
+ "div",
154
+ {
155
+ ref: m,
156
+ id: I,
157
+ className: S("overflow-hidden touch-pan-y", l),
158
+ onPointerDown: P,
159
+ onPointerUp: E,
160
+ onPointerCancel: j,
161
+ onClickCapture: g,
162
+ ...p,
163
+ children: /* @__PURE__ */ C(
164
+ "div",
165
+ {
166
+ className: S(
167
+ "flex",
168
+ N ? "transition-transform duration-(--duration-normal) ease-in-out motion-reduce:transition-none" : "transition-none"
169
+ ),
170
+ style: { transform: `translate3d(-${r * 100}%, 0, 0)` },
171
+ children: y.map((e, c) => /* @__PURE__ */ C(
172
+ F.Provider,
173
+ {
174
+ value: {
175
+ index: c,
176
+ count: y.length,
177
+ isActive: c === r
178
+ },
179
+ children: e
180
+ },
181
+ t.isValidElement(e) ? e.key ?? c : c
182
+ ))
183
+ }
184
+ )
185
+ }
186
+ );
187
+ }
188
+ );
189
+ Q.displayName = "CarouselContent";
190
+ const Z = t.forwardRef(
191
+ ({
192
+ className: l,
193
+ role: i,
194
+ inert: d,
195
+ "aria-label": f,
196
+ "aria-hidden": o,
197
+ "aria-roledescription": b,
198
+ ...p
199
+ }, m) => {
200
+ const r = t.useContext(F);
201
+ return /* @__PURE__ */ C(
202
+ "div",
203
+ {
204
+ ref: m,
205
+ role: i ?? "group",
206
+ "aria-roledescription": b ?? "slide",
207
+ "aria-label": f ?? (r ? `${r.index + 1} of ${r.count}` : void 0),
208
+ "aria-hidden": o ?? (r ? !r.isActive : void 0),
209
+ inert: d ?? (r ? !r.isActive : void 0),
210
+ "data-active": (r == null ? void 0 : r.isActive) || void 0,
211
+ className: S("w-full shrink-0", l),
212
+ ...p
213
+ }
214
+ );
215
+ }
216
+ );
217
+ Z.displayName = "CarouselItem";
218
+ const K = t.forwardRef(
219
+ ({
220
+ className: l,
221
+ getLabel: i = (p) => `Go to slide ${p + 1}`,
222
+ onKeyDown: d,
223
+ "aria-label": f,
224
+ ...o
225
+ }, b) => {
226
+ const { index: p, count: m, contentId: r, goTo: x } = k("CarouselIndicators"), I = t.useRef([]);
227
+ if (m <= 1) return null;
228
+ const N = (u) => {
229
+ var n;
230
+ if (d == null || d(u), u.defaultPrevented) return;
231
+ let a = null;
232
+ u.key === "ArrowRight" ? a = (p + 1) % m : u.key === "ArrowLeft" ? a = (p - 1 + m) % m : u.key === "Home" ? a = 0 : u.key === "End" && (a = m - 1), a !== null && (u.preventDefault(), u.stopPropagation(), x(a, "instant"), (n = I.current[a]) == null || n.focus());
233
+ };
234
+ return /* @__PURE__ */ C(
235
+ "div",
236
+ {
237
+ ref: b,
238
+ role: "group",
239
+ "aria-label": f ?? "Choose a slide",
240
+ className: S("flex items-center justify-center gap-1", l),
241
+ onKeyDown: N,
242
+ ...o,
243
+ children: Array.from({ length: m }, (u, a) => {
244
+ const n = a === p;
245
+ return /* @__PURE__ */ C(
246
+ "button",
247
+ {
248
+ ref: (y) => {
249
+ I.current[a] = y;
250
+ },
251
+ type: "button",
252
+ "aria-label": i(a),
253
+ "aria-current": n ? "true" : void 0,
254
+ "aria-controls": r,
255
+ tabIndex: n ? 0 : -1,
256
+ "data-active": n || void 0,
257
+ className: "group inline-flex size-7 items-center justify-center rounded-sm outline-none focus-visible:ring-3 focus-visible:ring-ring",
258
+ onClick: (y) => x(
259
+ a,
260
+ _(y) ? "instant" : "animated"
261
+ ),
262
+ children: /* @__PURE__ */ C(
263
+ "span",
264
+ {
265
+ "aria-hidden": !0,
266
+ className: S(
267
+ "size-2.5 rounded-dot transition-colors duration-(--duration-fast) ease-out motion-reduce:transition-none",
268
+ n ? "bg-brand" : "bg-ink-100 group-hover:bg-ink-300"
269
+ )
270
+ }
271
+ )
272
+ },
273
+ a
274
+ );
275
+ })
276
+ }
277
+ );
278
+ }
279
+ );
280
+ K.displayName = "CarouselIndicators";
281
+ const U = t.forwardRef(
282
+ ({
283
+ children: l,
284
+ variant: i = "secondary",
285
+ size: d = "icon-sm",
286
+ disabled: f,
287
+ onClick: o,
288
+ "aria-label": b,
289
+ ...p
290
+ }, m) => {
291
+ const { index: r, count: x, loop: I, contentId: N, goPrevious: u } = k("CarouselPrevious"), a = f || x <= 1 || !I && r === 0;
292
+ return /* @__PURE__ */ C(
293
+ D,
294
+ {
295
+ ref: m,
296
+ type: "button",
297
+ variant: i,
298
+ size: d,
299
+ disabled: a,
300
+ "aria-label": b ?? "Previous slide",
301
+ "aria-controls": N,
302
+ onClick: (n) => {
303
+ o == null || o(n), n.defaultPrevented || u(_(n) ? "instant" : "animated");
304
+ },
305
+ ...p,
306
+ children: l ?? /* @__PURE__ */ C(H, {})
307
+ }
308
+ );
309
+ }
310
+ );
311
+ U.displayName = "CarouselPrevious";
312
+ const ee = t.forwardRef(
313
+ ({
314
+ children: l,
315
+ variant: i = "secondary",
316
+ size: d = "icon-sm",
317
+ disabled: f,
318
+ onClick: o,
319
+ "aria-label": b,
320
+ ...p
321
+ }, m) => {
322
+ const { index: r, count: x, loop: I, contentId: N, goNext: u } = k("CarouselNext"), a = f || x <= 1 || !I && r === x - 1;
323
+ return /* @__PURE__ */ C(
324
+ D,
325
+ {
326
+ ref: m,
327
+ type: "button",
328
+ variant: i,
329
+ size: d,
330
+ disabled: a,
331
+ "aria-label": b ?? "Next slide",
332
+ "aria-controls": N,
333
+ onClick: (n) => {
334
+ o == null || o(n), n.defaultPrevented || u(_(n) ? "instant" : "animated");
335
+ },
336
+ ...p,
337
+ children: l ?? /* @__PURE__ */ C(X, {})
338
+ }
339
+ );
340
+ }
341
+ );
342
+ ee.displayName = "CarouselNext";
343
+ export {
344
+ G as Carousel,
345
+ Q as CarouselContent,
346
+ K as CarouselIndicators,
347
+ Z as CarouselItem,
348
+ ee as CarouselNext,
349
+ U as CarouselPrevious,
350
+ B as carouselVariants
351
+ };
@@ -0,0 +1,165 @@
1
+ import * as React from "react";
2
+ /** One row of chart data. Gaps (null/undefined) render as breaks in the series. */
3
+ export type ChartDatum = Record<string, string | number | null | undefined>;
4
+ export type ChartColor = "primary" | "success" | "warning" | "danger" | "info";
5
+ export type ChartAnnotation = {
6
+ /** A goal / threshold line. `axis: "y"` (default) draws horizontal at a value; `axis: "x"` marks an event at a category. */
7
+ kind: "line";
8
+ value: number | string;
9
+ axis?: "x" | "y";
10
+ label?: string;
11
+ color?: ChartColor;
12
+ } | {
13
+ /** A soft range band — healthy range, promo window, incident period. */
14
+ kind: "band";
15
+ from: number | string;
16
+ to: number | string;
17
+ axis?: "x" | "y";
18
+ label?: string;
19
+ color?: ChartColor;
20
+ } | {
21
+ /** A numbered marker pinned to a point, with a hover/focus callout card. */
22
+ kind: "point";
23
+ x: number | string;
24
+ y: number;
25
+ label: string;
26
+ description?: string;
27
+ color?: ChartColor;
28
+ };
29
+ interface BaseChartProps {
30
+ data: ChartDatum[];
31
+ /** The key holding the category (x) value. */
32
+ categoryKey: string;
33
+ /** Data keys to plot. Defaults to every numeric key except `categoryKey`. */
34
+ series?: string[];
35
+ /** Display names for series keys (legend + tooltip), e.g. `{ mrr: "MRR" }`. */
36
+ seriesLabels?: Record<string, string>;
37
+ /**
38
+ * Accent one series (by key) — it draws in full ink while the rest recede
39
+ * to the context gray. On a single-series BarChart a category value works
40
+ * too (that bar alone draws in ink).
41
+ */
42
+ highlight?: string;
43
+ annotations?: ChartAnnotation[];
44
+ /** Plot height in px (the frame is fluid-width). */
45
+ height?: number;
46
+ grid?: boolean;
47
+ /** Defaults to on when there is more than one series. */
48
+ legend?: boolean;
49
+ showYAxis?: boolean;
50
+ formatValue?: (value: number) => string;
51
+ className?: string;
52
+ }
53
+ export interface LineChartProps extends BaseChartProps {
54
+ curve?: "linear" | "natural" | "step";
55
+ /** Series keys that render dashed — projections, not observations. */
56
+ forecastKeys?: string[];
57
+ }
58
+ export interface AreaChartProps extends BaseChartProps {
59
+ curve?: "linear" | "natural" | "step";
60
+ stacked?: boolean;
61
+ /** Series keys that render dashed — projections, not observations. */
62
+ forecastKeys?: string[];
63
+ }
64
+ export interface BarChartProps extends BaseChartProps {
65
+ stacked?: boolean;
66
+ }
67
+ export interface ComboChartProps extends BaseChartProps {
68
+ /** Series keys drawn as lines; the rest draw as bars. */
69
+ lineKeys: string[];
70
+ /** Put the line series on a right-hand value axis. */
71
+ dualAxis?: boolean;
72
+ stacked?: boolean;
73
+ /** Line keys that render dashed — projections, not observations. */
74
+ forecastKeys?: string[];
75
+ }
76
+ export type ComposedChartProps = ComboChartProps;
77
+ export interface PieChartProps {
78
+ data: ChartDatum[];
79
+ /** The key holding the slice name. */
80
+ nameKey: string;
81
+ /** The key holding the slice value. */
82
+ valueKey: string;
83
+ /** Ring (default) vs solid pie. */
84
+ donut?: boolean;
85
+ /** Small-caps label under the center total (donut only). */
86
+ centerLabel?: string;
87
+ /** Accent one slice (by name) — it draws in ink, the rest recede. */
88
+ highlight?: string;
89
+ height?: number;
90
+ legend?: boolean;
91
+ formatValue?: (value: number) => string;
92
+ className?: string;
93
+ }
94
+ export type RadarChartProps = Omit<BaseChartProps, "annotations" | "grid" | "showYAxis"> & {
95
+ /** Maximum ring value. Defaults to the largest value in the provided series. */
96
+ maxValue?: number;
97
+ };
98
+ export interface RadialBarChartProps {
99
+ data: ChartDatum[];
100
+ /** The key holding the goal/stage name. */
101
+ nameKey: string;
102
+ /** The key holding the progress value. */
103
+ valueKey: string;
104
+ /** Full-scale value. Defaults to 100 for percentage/progress charts. */
105
+ maxValue?: number;
106
+ centerLabel?: string;
107
+ height?: number;
108
+ legend?: boolean;
109
+ formatValue?: (value: number) => string;
110
+ className?: string;
111
+ }
112
+ export interface TreemapDatum {
113
+ [key: string]: string | number | null | undefined | TreemapDatum[];
114
+ children?: TreemapDatum[];
115
+ }
116
+ export interface TreemapChartProps {
117
+ data: TreemapDatum[];
118
+ /** The key holding the node name. */
119
+ nameKey: string;
120
+ /** The key holding the node value. */
121
+ valueKey: string;
122
+ height?: number;
123
+ formatValue?: (value: number) => string;
124
+ className?: string;
125
+ }
126
+ export interface ScatterChartProps {
127
+ data: ChartDatum[];
128
+ /** Numeric x key. */
129
+ xKey: string;
130
+ /** Numeric y key. */
131
+ yKey: string;
132
+ /** Optional key naming each point (tooltip header). */
133
+ labelKey?: string;
134
+ annotations?: ChartAnnotation[];
135
+ height?: number;
136
+ grid?: boolean;
137
+ showYAxis?: boolean;
138
+ formatValue?: (value: number) => string;
139
+ className?: string;
140
+ }
141
+ export interface FunnelChartProps {
142
+ data: ChartDatum[];
143
+ /** The key holding the stage name. */
144
+ nameKey: string;
145
+ /** The key holding the stage value (descending). */
146
+ valueKey: string;
147
+ height?: number;
148
+ formatValue?: (value: number) => string;
149
+ className?: string;
150
+ }
151
+ export declare const LineChart: React.ForwardRefExoticComponent<LineChartProps & React.RefAttributes<HTMLDivElement>>;
152
+ export declare const AreaChart: React.ForwardRefExoticComponent<AreaChartProps & React.RefAttributes<HTMLDivElement>>;
153
+ export declare const BarChart: React.ForwardRefExoticComponent<BarChartProps & React.RefAttributes<HTMLDivElement>>;
154
+ export declare const ComboChart: React.ForwardRefExoticComponent<ComboChartProps & React.RefAttributes<HTMLDivElement>>;
155
+ export declare const ComposedChart: React.ForwardRefExoticComponent<ComboChartProps & React.RefAttributes<HTMLDivElement>>;
156
+ export declare const ScatterChart: React.ForwardRefExoticComponent<ScatterChartProps & React.RefAttributes<HTMLDivElement>>;
157
+ export declare const PieChart: React.ForwardRefExoticComponent<PieChartProps & React.RefAttributes<HTMLDivElement>>;
158
+ export declare const RadarChart: React.ForwardRefExoticComponent<Omit<BaseChartProps, "grid" | "annotations" | "showYAxis"> & {
159
+ /** Maximum ring value. Defaults to the largest value in the provided series. */
160
+ maxValue?: number;
161
+ } & React.RefAttributes<HTMLDivElement>>;
162
+ export declare const RadialBarChart: React.ForwardRefExoticComponent<RadialBarChartProps & React.RefAttributes<HTMLDivElement>>;
163
+ export declare const TreemapChart: React.ForwardRefExoticComponent<TreemapChartProps & React.RefAttributes<HTMLDivElement>>;
164
+ export declare const FunnelChart: React.ForwardRefExoticComponent<FunnelChartProps & React.RefAttributes<HTMLDivElement>>;
165
+ export {};