@actioneer/ads 0.5.7 → 0.5.9

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 (147) hide show
  1. package/bin/ads-init.mjs +6 -0
  2. package/components/accordion.js +50 -48
  3. package/components/agent-icon.d.ts +12 -0
  4. package/components/agent-icon.js +133 -120
  5. package/components/ai-elements/chain-of-thought.d.ts +1 -1
  6. package/components/ai-elements/chain-of-thought.js +108 -108
  7. package/components/ai-elements/chart.js +16 -14
  8. package/components/ai-elements/inline-citation.js +41 -41
  9. package/components/ai-elements/message.js +4 -4
  10. package/components/ai-elements/queue.js +7 -7
  11. package/components/ai-elements/research-activity.js +114 -114
  12. package/components/ai-elements/shimmer.d.ts +2 -2
  13. package/components/ai-elements/speech-input.js +28 -28
  14. package/components/ai-elements/task-progress.js +26 -16
  15. package/components/ai-elements/task.js +17 -17
  16. package/components/ai-elements/tool.js +6 -6
  17. package/components/ai-elements/transcript.js +6 -5
  18. package/components/ai-elements/voice.js +1 -1
  19. package/components/alert.js +10 -10
  20. package/components/answer-sources.js +1 -1
  21. package/components/answer.js +115 -114
  22. package/components/assistant-ui/action-bar.js +94 -48
  23. package/components/assistant-ui/attachment.js +103 -75
  24. package/components/assistant-ui/badge.d.ts +1 -1
  25. package/components/assistant-ui/badge.js +17 -17
  26. package/components/assistant-ui/chain-of-thought.d.ts +1 -1
  27. package/components/assistant-ui/composer-add-context.js +9 -9
  28. package/components/assistant-ui/composer-deep-research.js +5 -5
  29. package/components/assistant-ui/composer-harness.js +11 -9
  30. package/components/assistant-ui/composer-trigger-popover.js +45 -34
  31. package/components/assistant-ui/composer.js +59 -59
  32. package/components/assistant-ui/error.js +14 -14
  33. package/components/assistant-ui/file.d.ts +1 -1
  34. package/components/assistant-ui/image.d.ts +1 -1
  35. package/components/assistant-ui/image.js +113 -103
  36. package/components/assistant-ui/markdown-text.js +18 -18
  37. package/components/assistant-ui/message.js +46 -45
  38. package/components/assistant-ui/quote.js +1 -1
  39. package/components/assistant-ui/reasoning.d.ts +1 -1
  40. package/components/assistant-ui/reasoning.js +66 -77
  41. package/components/assistant-ui/suggestions.js +4 -4
  42. package/components/assistant-ui/thread.js +22 -22
  43. package/components/assistant-ui/tool-fallback.js +60 -63
  44. package/components/assistant-ui/tool-group.d.ts +1 -1
  45. package/components/assistant-ui/tool-group.js +36 -42
  46. package/components/audio-waveform.js +25 -24
  47. package/components/autocomplete.d.ts +1 -0
  48. package/components/autocomplete.js +45 -43
  49. package/components/avatar.d.ts +1 -0
  50. package/components/avatar.js +27 -26
  51. package/components/badge.d.ts +1 -1
  52. package/components/breadcrumbs.d.ts +2 -0
  53. package/components/breadcrumbs.js +52 -50
  54. package/components/button.d.ts +2 -2
  55. package/components/button.js +22 -20
  56. package/components/card.js +8 -8
  57. package/components/carousel.js +105 -104
  58. package/components/chart.d.ts +6 -0
  59. package/components/chart.js +743 -672
  60. package/components/checkbox.js +74 -38
  61. package/components/chip.d.ts +1 -1
  62. package/components/code-block.js +3 -3
  63. package/components/collapsible.js +67 -23
  64. package/components/connector-card.js +6 -6
  65. package/components/drawer.d.ts +18 -11
  66. package/components/drawer.js +81 -78
  67. package/components/dropdown.d.ts +2 -0
  68. package/components/dropdown.js +88 -79
  69. package/components/empty-state.d.ts +1 -1
  70. package/components/empty-state.js +7 -7
  71. package/components/field.d.ts +4 -0
  72. package/components/field.js +45 -34
  73. package/components/file-dropzone.js +12 -12
  74. package/components/index.d.ts +3 -0
  75. package/components/index.js +584 -558
  76. package/components/input-field.js +51 -46
  77. package/components/input.js +20 -20
  78. package/components/link.js +9 -9
  79. package/components/modal.d.ts +5 -1
  80. package/components/modal.js +121 -76
  81. package/components/navbar.d.ts +1 -1
  82. package/components/navbar.js +1 -1
  83. package/components/number-field.js +38 -29
  84. package/components/page-header.js +12 -12
  85. package/components/pagination.js +19 -19
  86. package/components/panel.js +2 -2
  87. package/components/pixel-blast-svg.js +3 -3
  88. package/components/pixel-icon.d.ts +4 -0
  89. package/components/pixel-icon.js +210 -164
  90. package/components/popover.d.ts +1 -1
  91. package/components/popover.js +66 -64
  92. package/components/progress-circle.js +36 -32
  93. package/components/progress.js +28 -24
  94. package/components/radio.js +59 -49
  95. package/components/resizable-panel.js +1 -1
  96. package/components/reveal.d.ts +2 -2
  97. package/components/ripple.d.ts +3 -3
  98. package/components/scroll-area.js +17 -16
  99. package/components/segmented.d.ts +1 -0
  100. package/components/segmented.js +39 -36
  101. package/components/select.d.ts +7 -0
  102. package/components/select.js +186 -137
  103. package/components/setting-row.js +45 -42
  104. package/components/sidebar.js +131 -127
  105. package/components/skeleton.js +5 -5
  106. package/components/spinner.d.ts +13 -4
  107. package/components/spinner.js +42 -42
  108. package/components/stepper.js +21 -21
  109. package/components/switch.js +41 -39
  110. package/components/table.d.ts +16 -0
  111. package/components/table.js +393 -260
  112. package/components/tabs.js +149 -137
  113. package/components/toast.js +66 -66
  114. package/components/tooltip.js +2 -2
  115. package/components/tree.js +62 -51
  116. package/components/typography.d.ts +2 -1
  117. package/components/typography.js +33 -32
  118. package/components/ui/button.d.ts +2 -2
  119. package/components/ui/button.js +19 -19
  120. package/components/ui/collapsible.d.ts +1 -5
  121. package/components/ui/dialog.d.ts +3 -3
  122. package/components/ui/dialog.js +95 -58
  123. package/components/ui/tooltip.d.ts +2 -2
  124. package/components/ui/tooltip.js +67 -33
  125. package/components/viz-charts.js +95 -95
  126. package/demo/components/add-to-artifact.js +363 -0
  127. package/demo/lib/artifact-library.js +142 -0
  128. package/demo/lib/artifact-pin-guard.js +12 -0
  129. package/fonts/aribau-grotesk-medium.woff2 +0 -0
  130. package/fonts/aribau-grotesk-regular.woff2 +0 -0
  131. package/fonts.css +11 -11
  132. package/hooks/agents-ui/use-agent-audio-visualizer-aura.js +17 -16
  133. package/hooks/agents-ui/use-agent-audio-visualizer-wave.js +21 -20
  134. package/lib/icons.d.ts +24 -0
  135. package/lib/icons.js +114 -108
  136. package/lib/motion.d.ts +42 -39
  137. package/lib/motion.js +112 -52
  138. package/lib/spinner-mark.d.ts +9 -0
  139. package/lib/spinner-mark.js +98 -0
  140. package/llms.txt +53 -19
  141. package/manifest.json +258 -36
  142. package/package.json +1 -1
  143. package/styles.css +143 -124
  144. package/theme.css +90 -93
  145. package/components/ui/collapsible.js +0 -35
  146. package/fonts/aribau-grotesk-500.otf +0 -0
  147. package/fonts/aribau-grotesk-600.woff2 +0 -0
package/theme.css CHANGED
@@ -1,4 +1,10 @@
1
1
  /* @actioneer/ads — generated by scripts/build-lib-styles.mjs. Do not edit. */
2
+ /* ADS is light-only. Redefine the `dark` variant to be class-gated instead of
3
+ Tailwind's default `@media (prefers-color-scheme: dark)`, so a stray `dark:`
4
+ utility can never activate off the OS setting while there is no dark token
5
+ set. Nothing in ADS adds `.dark`, so `dark:` styles stay dormant. */
6
+ @custom-variant dark (&:where(.dark, .dark *));
7
+
2
8
  /*
3
9
  * ============================================================
4
10
  * ADS 1.0 — Design Tokens
@@ -7,8 +13,9 @@
7
13
  */
8
14
  @theme {
9
15
  /* ---- Typography ----
10
- One brand typeface. Figures inside prose stay in Aribau Grotesk with
11
- `tabular-nums`; only literal source code steps to the mono stack. */
16
+ One brand typeface (Regular + Medium). Figures stay in Aribau Grotesk with
17
+ `tabular-nums` (enabled globally in index.css); only literal source code
18
+ steps to the mono stack. */
12
19
  --font-sans: "Aribau Grotesk", ui-sans-serif, system-ui, -apple-system,
13
20
  "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
14
21
 
@@ -40,25 +47,27 @@
40
47
  --text-2xl: 1.625rem; /* 26px — display */
41
48
  --text-2xl--line-height: 2rem;
42
49
 
43
- /* ---- Neutral ramp — the full 12-step brand palette grey (light section,
44
- solid row). A Radix-style scale: each step owns a role — 50/100 =
50
+ /* ---- Neutral ramp — a role-based neutral Gray 12-step light scale. Every
51
+ channel is equal, so the product stays neutral with no Sand/Sage cast.
52
+ The light surface steps retain subtle spacing; the solid/text end is
53
+ perceptually widened so adjacent swatches and UI roles stay distinct.
54
+ Each step owns a role — 50/100 =
45
55
  backgrounds, 200/300/400 = interactive component fills, 500/600/700 =
46
- borders & separators, 800/850 = solid, 900/950 = accessible text. All 12
47
- values are present (the earlier 11-step cut is restored: #82827f is
48
- ink-850). The `ink` name is retained so every existing reference resolves;
49
- the semantic tokens below are re-derived from these roles. ---- */
50
- --color-ink-50: #fdfdfc; /* 1 · background */
51
- --color-ink-100: #f9f9f8; /* 2 · background */
52
- --color-ink-200: #f0f0ef; /* 3 · interactive */
53
- --color-ink-300: #e8e8e7; /* 4 · interactive */
54
- --color-ink-400: #e1e1e0; /* 5 · interactive */
55
- --color-ink-500: #d9d9d8; /* 6 · border */
56
- --color-ink-600: #cececd; /* 7 · border */
57
- --color-ink-700: #bbbbb9; /* 8 · border */
58
- --color-ink-800: #8c8c89; /* 9 · solid */
59
- --color-ink-850: #82827f; /* 10 · solid */
60
- --color-ink-900: #636461; /* 11 · accessible text */
61
- --color-ink-950: #1f1f1c; /* 12 · accessible text */
56
+ borders & separators, 800/850 = solid, 900/950 = accessible text. The
57
+ `ink` name is retained as the stable ADS API. ---- */
58
+ --color-ink-50: #fcfcfc; /* 1 · background */
59
+ --color-ink-100: #f9f9f9; /* 2 · background */
60
+ --color-ink-150: #f5f5f5; /* canvas */
61
+ --color-ink-200: #f0f0f0; /* 3 · interactive */
62
+ --color-ink-300: #e8e8e8; /* 4 · interactive */
63
+ --color-ink-400: #e0e0e0; /* 5 · interactive */
64
+ --color-ink-500: #d9d9d9; /* 6 · border */
65
+ --color-ink-600: #cecece; /* 7 · border */
66
+ --color-ink-700: #bbbbbb; /* 8 · border */
67
+ --color-ink-800: #8d8d8d; /* 9 · solid */
68
+ --color-ink-850: #737373; /* 10 · solid */
69
+ --color-ink-900: #555555; /* 11 · accessible text */
70
+ --color-ink-950: #202020; /* 12 · accessible text */
62
71
 
63
72
  /* ---- Semantic accent ramps ---- */
64
73
  /* Success stays a semantic state color, never a product-primary hue. */
@@ -99,15 +108,24 @@
99
108
  --color-amber-base: #f3a72e;
100
109
  --color-amber-deep: #b57414;
101
110
 
102
- /* ---- Radii ---- TWO values only: 2px and 4px. Compact roles resolve to
103
- 2px; every surface and formerly pill-shaped role resolves to 4px. */
104
- --radius-xs: 0.125rem; /* 2px */
105
- --radius-sm: 0.125rem; /* 2px */
106
- --radius-md: 0.25rem; /* 4px */
107
- --radius-lg: 0.25rem; /* 4px */
108
- --radius-xl: 0.25rem; /* 4px */
109
- --radius-2xl: 0.25rem; /* 4px */
110
- --radius-full: 0.25rem; /* 4px */
111
+ /* Demo logo indigo — source for artifact canvas wash. */
112
+ --color-brand-mark: #2e1065;
113
+
114
+ /* ---- Radii ---- FOUR values, assigned by element scale and role.
115
+ 2px = micro details; 4px = compact controls; 8px = standard controls
116
+ and floating UI; 16px = cards and large surfaces. The repeated aliases
117
+ keep the familiar Tailwind role names while capping surfaces at 16px. */
118
+ --radius-xs: 0.125rem; /* 2px · micro details */
119
+ --radius-sm: 0.25rem; /* 4px · compact controls */
120
+ --radius-md: 0.5rem; /* 8px · standard controls */
121
+ --radius-lg: 0.5rem; /* 8px · menus and panels */
122
+ --radius-xl: 1rem; /* 16px · cards and surfaces */
123
+ --radius-2xl: 1rem; /* 16px · large surfaces */
124
+ --radius-3xl: 1rem; /* 16px · capped compatibility alias */
125
+ --radius-4xl: 1rem; /* 16px · capped compatibility alias */
126
+ /* Shape-only exception for avatars, icon buttons, progress tracks, chips,
127
+ and badges. It is not part of the corner-radius scale. */
128
+ --radius-full: 9999px;
111
129
  /* Status/indicator dots are SQUARE with a hair of softening — echoing the
112
130
  growth-mark's square cells. Never render an indicator dot as a circle
113
131
  (`rounded-full`); radio controls are the one exception (control
@@ -116,20 +134,17 @@
116
134
 
117
135
  /* ---- Elevation ---- ONE soft token (Claude-panel style).
118
136
  Delineate surfaces with fill color first; add this to gently lift them.
119
- Tuned quieter (2026-07-30): the ambient drop sits closer (y8→y4,
120
- blur28→16) at lower opacity (9%→6%) with a faint COOL slate tint
121
- (rgb 15 23 42, not near-black) — a hard, offset-heavy black drop read
122
- "cheap" and floated small controls (switch thumb, tab pill). */
123
- --shadow-elevation: 0 0 0 1px rgb(15 23 42 / 0.03),
124
- 0 1px 2px 0 rgb(15 23 42 / 0.04),
125
- 0 4px 16px -6px rgb(15 23 42 / 0.06);
137
+ The ambient drop sits close (y4, blur16) at low opacity and uses neutral
138
+ ink — never a cool slate tint that would reintroduce a color cast. */
139
+ --shadow-elevation: 0 0 0 1px rgb(32 32 32 / 0.03),
140
+ 0 1px 2px 0 rgb(32 32 32 / 0.04),
141
+ 0 4px 16px -6px rgb(32 32 32 / 0.06);
126
142
 
127
143
  /* Pinned-table-column smudges — whisper-soft directional casts shown only
128
144
  while content is hidden behind a sticky column (Table is scroll-aware).
129
- Deep negative spread keeps the edge feathered; same cool slate tint as
130
- the elevation token. */
131
- --shadow-table-smudge-left: 8px 0 24px -14px rgb(15 23 42 / 0.05);
132
- --shadow-table-smudge-right: -8px 0 24px -14px rgb(15 23 42 / 0.05);
145
+ Deep negative spread keeps the edge feathered; the tint is neutral ink. */
146
+ --shadow-table-smudge-left: 8px 0 24px -14px rgb(32 32 32 / 0.05);
147
+ --shadow-table-smudge-right: -8px 0 24px -14px rgb(32 32 32 / 0.05);
133
148
 
134
149
  /* ---- CTA inner glow ---- luminous inset highlight for primary buttons
135
150
  (adapted from the "AI button" Figma): a crisp top-edge catch plus a soft
@@ -143,36 +158,7 @@
143
158
  inset 0 8px 16px -8px rgb(255 255 255 / 0.45);
144
159
  /* Text fields — a whisper of inset depth so the writing surface reads
145
160
  recessed into the page (persists through hover/focus/invalid). */
146
- --inner-glow-field: inset 0 1px 2px 0 rgb(10 10 11 / 0.06);
147
-
148
- /* ---- Motion ---- strong custom curves; the built-in CSS easings are too
149
- weak. Declared here so the `ease-out` / `ease-in-out` utilities resolve
150
- to these system-wide. JS mirror: src/lib/motion.ts — keep in sync. */
151
- --ease-out: cubic-bezier(0.23, 1, 0.32, 1); /* entrances, exits, presses */
152
- --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1); /* on-screen movement / morphs */
153
- --ease-expo-out: cubic-bezier(0.16, 1, 0.3, 1); /* side-panel and drawer slide */
154
- --ease-drawer: var(--ease-expo-out); /* backwards-compatible alias */
155
- --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* playful overshoot (rare) */
156
- --ease-disclosure: cubic-bezier(0.32, 0.72, 0, 1); /* height reveals — moves off the mark immediately, settles long */
157
-
158
- /* Durations — every animation/transition timing flows from these.
159
- UI animations stay under 300ms; exits run faster than enters. */
160
- --duration-fast: 0.15s; /* menu / popover / tooltip enter */
161
- --duration-normal: 0.2s; /* state transitions */
162
- --duration-disclosure: 0.28s; /* collapsible open — travels a real distance */
163
- --duration-spin: 0.8s; /* rotation loops (spinner) */
164
- --duration-pulse: 1.5s; /* breathing / shimmer loops */
165
- --duration-bloom: 0.9s; /* ambient reveals (chat texture bloom, curtain wipe) */
166
- --duration-brand-loader: 3.4s; /* BrandLoader flicker loop */
167
-
168
- /* Entrance-choreography beats — staggered delays for sequenced arrivals
169
- (e.g. chat welcome: mark → greeting → composer). */
170
- --stagger-1: 0.2s;
171
- --stagger-2: 0.3s;
172
- --stagger-3: 0.42s;
173
-
174
- /* Press feedback — every pressable element scales down on :active */
175
- --scale-press: 0.97;
161
+ --inner-glow-field: inset 0 1px 2px 0 rgb(32 32 32 / 0.06);
176
162
 
177
163
  /* ---- Layout ---- app-frame dimensions (Sidebar / Panel) */
178
164
  --sidebar-width: 15rem; /* 240px — primary nav rail */
@@ -263,13 +249,18 @@
263
249
  --color-fill-foreground: var(--fill-foreground);
264
250
  --color-table-shell: var(--table-shell);
265
251
 
252
+ --color-artifact-canvas: var(--artifact-canvas);
253
+
266
254
  --color-accent: var(--accent);
267
255
  --color-accent-foreground: var(--accent-foreground);
268
256
 
269
- --color-success: var(--color-success-600);
257
+ /* success-700 on white = 5.48:1 (600 was 3.77:1, failed AA). */
258
+ --color-success: var(--color-success-700);
270
259
  --color-success-foreground: #ffffff;
260
+ /* Amber-500 fill kept (it IS the caution signal); dark ink foreground
261
+ instead of white = 6.94:1 (white on amber was 2.35:1, failed even 3:1). */
271
262
  --color-warning: var(--color-warning-500);
272
- --color-warning-foreground: #ffffff;
263
+ --color-warning-foreground: var(--color-ink-950);
273
264
  --color-danger: var(--color-danger-600);
274
265
  --color-danger-foreground: #ffffff;
275
266
  --color-info: var(--color-info-600);
@@ -317,11 +308,14 @@
317
308
  --background: var(--color-ink-100); /* step 2 · canvas */
318
309
  --foreground: var(--color-ink-950); /* step 12 */
319
310
 
320
- /* Text levels: primary ink-950, secondary ink-900, tertiary ink-800.
321
- Primary + secondary clear AA for body copy; tertiary is AA-large only. */
322
- --text-primary: var(--color-ink-950); /* ~16:1 AAA */
323
- --text-secondary: var(--color-ink-900); /* ~5.3:1 AA */
324
- --text-tertiary: var(--color-ink-800); /* ~3:1 AA-large */
311
+ /* Text levels: primary ink-950, secondary ink-900, tertiary a tuned grey.
312
+ All three clear AA (4.5:1) for body copy on every surface they land on.
313
+ Tertiary is NOT an ink step: ink-800 (#8d8d8d) was AA-large only (2.7:1
314
+ on muted) but is used at 13px in 200+ places, so it is pinned to the
315
+ lightest grey that still passes 4.5:1 on bg/card/surface/muted. */
316
+ --text-primary: var(--color-ink-950); /* ~16:1 AAA */
317
+ --text-secondary: var(--color-ink-900); /* ~7.1:1 AAA */
318
+ --text-tertiary: #686868; /* ~4.55:1 AA (min surf) */
325
319
 
326
320
  --surface: var(--color-ink-200); /* step 3 · tinted canvas */
327
321
  --surface-foreground: var(--color-ink-950);
@@ -346,17 +340,20 @@
346
340
  --table-row-hover: color-mix(in srgb, var(--card) 40%, var(--muted));
347
341
  --table-row-selected: color-mix(in srgb, var(--card) 10%, var(--muted));
348
342
 
349
- /* Quiet fill */
350
- --fill: var(--color-ink-50); /* step 1 · lightest recessed fill */
343
+ /* Quiet component fill. Radix step 3 is the first interactive-background
344
+ step, so this remains visible on both white cards and the step-2 canvas. */
345
+ --fill: var(--color-ink-200); /* step 3 · default component fill */
351
346
  --fill-foreground: var(--color-ink-950);
352
347
 
353
- --accent: var(--color-ink-200); /* step 3 */
348
+ --accent: var(--color-ink-400); /* step 5 · active / selected wash */
354
349
  --accent-foreground: var(--color-ink-950);
355
350
 
356
- /* Borders — a three-level scale, primary (strongest) → tertiary (faintest). */
357
- --border-primary: var(--color-ink-600); /* #cececd · strongest */
358
- --border-secondary: var(--color-ink-400); /* #e1e1e0 · default */
359
- --border-tertiary: var(--color-ink-200); /* #f0f0ef · faintest */
351
+ /* Borders use consecutive Radix steps 5–7. This avoids the old 3→5→7 jump:
352
+ tertiary stays quiet but visible at 0.5px, secondary is the Radix subtle
353
+ border step, and primary is the default interactive-control edge. */
354
+ --border-primary: var(--color-ink-600); /* step 7 · #cecece · strongest */
355
+ --border-secondary: var(--color-ink-500); /* step 6 · #d9d9d9 · default */
356
+ --border-tertiary: var(--color-ink-400); /* step 5 · #e0e0e0 · faintest */
360
357
  /* Legacy aliases point into the scale so existing utilities keep resolving. */
361
358
  --border: var(--border-secondary); /* default hairline / separator */
362
359
  --border-strong: var(--border-primary); /* emphasized / hover / selected */
@@ -365,9 +362,8 @@
365
362
  /* Ripple — the appearance wash that radiates from a floating surface's
366
363
  origin corner as it opens (Dropdown/Popover/Select/Modal…). A soft ink
367
364
  tint that expands + fades once on mount; see the `.ads-ripple` layer and
368
- the `Ripple` component. Duration stays in the sub-300ms UI band. */
365
+ the `Ripple` component. */
369
366
  --ripple-tint: color-mix(in srgb, var(--brand) 20%, transparent);
370
- --ripple-duration: 300ms;
371
367
 
372
368
  /* Stroke width — ADS hairlines are 0.5px, not the Tailwind 1px default.
373
369
  The single-width border utilities are overridden to this token at the
@@ -381,16 +377,17 @@
381
377
  the ink scale. Components pass these into non-CSS renderers (Recharts,
382
378
  React Flow, the Paper/WebGL texture) so no component carries a raw ink-*
383
379
  value. Same DS pattern as the data-viz --color-chart-* palette. */
384
- --chart-axis: var(--color-ink-200); /* axis lines + de-emphasised marks */
385
- --chart-grid: var(--color-ink-50); /* gridlines */
386
- --chart-track: var(--color-ink-100); /* funnel / progress track */
387
- --chart-context: var(--color-ink-300); /* de-emphasised context series */
388
- --canvas-edge: var(--color-ink-300); /* infinite-canvas edges / connectors */
380
+ --chart-axis: var(--border-tertiary); /* axis lines + de-emphasised marks */
381
+ --chart-grid: var(--color-ink-200); /* quieter than axes, visible on white */
382
+ --chart-track: var(--color-ink-200); /* funnel / progress track */
383
+ --chart-context: var(--color-ink-500); /* de-emphasised context series */
384
+ --canvas-edge: var(--border-secondary);/* infinite-canvas edges / connectors */
389
385
  --texture-ink: var(--color-ink-950); /* brand-texture / pixel-blast marks */
390
386
  --table-shell: var(--color-ink-200); /* recessed table tray (lighter than muted) */
391
- --table-scroll-hint: rgb(15 23 42 / 0.04); /* right-edge "more columns" wash */
387
+ --table-scroll-hint: rgb(32 32 32 / 0.04); /* right-edge "more columns" wash */
392
388
  --surface-inverse: var(--color-ink-950); /* dark hero / inverse surface base */
393
389
  --surface-inverse-soft: var(--color-ink-900); /* dark hero gradient falloff */
390
+ --artifact-canvas: color-mix(in srgb, var(--color-brand-mark) 7%, #ffffff);
394
391
 
395
392
  /* shadcn-compat raw surfaces — so a downstream shadcn Sidebar / Popover
396
393
  (or an inline `var(--sidebar)` / `var(--popover)`) resolves to the ADS
@@ -444,7 +441,7 @@
444
441
  pointer-events: none;
445
442
  transform-origin: var(--ripple-origin, center);
446
443
  background: radial-gradient(125% 125% at var(--ripple-origin, center), var(--ripple-tint), transparent 62%);
447
- animation: ads-ripple-wave var(--ripple-duration, 300ms) var(--ease-out) forwards;
444
+ animation: ads-ripple-wave 300ms ease-out forwards;
448
445
  will-change: transform, opacity;
449
446
  }
450
447
  @media (prefers-reduced-motion: reduce) {
@@ -1,35 +0,0 @@
1
- "use client";
2
- import { jsx as o } from "react/jsx-runtime";
3
- import { Collapsible as t } from "radix-ui";
4
- function a({
5
- ...l
6
- }) {
7
- return /* @__PURE__ */ o(t.Root, { "data-slot": "collapsible", ...l });
8
- }
9
- function r({
10
- ...l
11
- }) {
12
- return /* @__PURE__ */ o(
13
- t.CollapsibleTrigger,
14
- {
15
- "data-slot": "collapsible-trigger",
16
- ...l
17
- }
18
- );
19
- }
20
- function n({
21
- ...l
22
- }) {
23
- return /* @__PURE__ */ o(
24
- t.CollapsibleContent,
25
- {
26
- "data-slot": "collapsible-content",
27
- ...l
28
- }
29
- );
30
- }
31
- export {
32
- a as Collapsible,
33
- n as CollapsibleContent,
34
- r as CollapsibleTrigger
35
- };
Binary file
Binary file