@actioneer/ads 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/icons.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as h } from "react/jsx-runtime";
3
3
  import * as C from "react";
4
- import { Code as g, Check as p, Copy as u, FileText as $, X as d, UploadSimple as S, EyeSlash as k, Eye as P, MagnifyingGlass as f, Minus as w, Plus as T, CaretDown as A, Info as L, WarningCircle as m, Warning as y, CheckCircle as B, CaretUp as U, ArrowsDownUp as x, ChatCircle as I, ArrowUpRight as M, Clock as D, Database as O, ArrowSquareOut as F, Table as b, CaretLeft as R, CaretRight as v, CornersOut as H, Magnet as G, Tray as W, ArrowLeft as E, DotsThree as z, User as V, XCircle as N, CircleDashed as Q, ArrowsClockwise as q, Paperclip as X, Quotes as j, At as J, Lightning as K, Sparkle as Y, File as Z, DownloadSimple as _, Image as n, BracketsCurly as ee, MusicNotes as oe, VideoCamera as te, ImageBroken as ne, Pulse as se, Archive as ae, ArrowDown as re, ArrowRight as ce, ArrowUp as le, Scroll as ie, Bell as he, Stack as Ce, BookOpen as ge, Brain as pe, CalendarBlank as ue, Phone as $e, ListChecks as de, Cube as Se, DotsNine as ke, FunnelSimple as Pe, Folder as fe, FolderOpen as we, Gauge as Te, GitBranch as Ae, Hash as Le, ClockCounterClockwise as me, House as ye, SquaresFour as Be, Leaf as Ue, Lightbulb as xe, Link as Ie, CircleNotch as Me, SignOut as De, Envelope as Oe, Microphone as Fe, MicrophoneSlash as be, DotsThreeVertical as Re, Palette as ve, SidebarSimple as He, Pause as Ge, PencilSimple as We, PhoneIncoming as Ee, PhoneSlash as ze, ChartPie as Ve, Play as Ne, Plug as Qe, Presentation as qe, Rocket as Xe, Gear as je, Shapes as Je, ShareNetwork as Ke, Star as Ye, Stop as Ze, ArrowsLeftRight as _e, Target as eo, Binoculars as oo, TextB as to, TextT as no, TextItalic as so, TextStrikethrough as ao, TextUnderline as ro, ToggleRight as co, Trash as lo, Users as io, Wrench as ho } from "@phosphor-icons/react";
4
+ import { Code as g, Check as p, Copy as u, FileText as $, X as d, UploadSimple as S, EyeSlash as k, Eye as P, MagnifyingGlass as f, Minus as w, Plus as T, CaretDown as A, Info as L, WarningCircle as m, Warning as y, CheckCircle as B, CaretRight as U, CaretUp as x, ArrowsDownUp as I, ChatCircle as M, ArrowUpRight as D, Clock as O, Database as F, ArrowSquareOut as b, Table as R, CaretLeft as v, CornersOut as H, Magnet as G, Tray as W, ArrowLeft as E, DotsThree as z, User as V, XCircle as N, CircleDashed as Q, ArrowsClockwise as q, Paperclip as X, Quotes as j, At as J, Lightning as K, Sparkle as Y, File as Z, DownloadSimple as _, Image as n, BracketsCurly as ee, MusicNotes as oe, VideoCamera as te, ImageBroken as ne, Pulse as se, Archive as ae, ArrowDown as re, ArrowRight as ce, ArrowUp as le, Scroll as ie, Bell as he, Stack as Ce, BookOpen as ge, Brain as pe, CalendarBlank as ue, Phone as $e, ListChecks as de, Cube as Se, DotsNine as ke, FunnelSimple as Pe, Folder as fe, FolderOpen as we, Gauge as Te, GitBranch as Ae, Hash as Le, ClockCounterClockwise as me, House as ye, SquaresFour as Be, Leaf as Ue, Lightbulb as xe, Link as Ie, CircleNotch as Me, SignOut as De, Envelope as Oe, Microphone as Fe, MicrophoneSlash as be, DotsThreeVertical as Re, Palette as ve, SidebarSimple as He, Pause as Ge, PencilSimple as We, PhoneIncoming as Ee, PhoneSlash as ze, ChartPie as Ve, Play as Ne, Plug as Qe, Presentation as qe, Rocket as Xe, Gear as je, Shapes as Je, ShareNetwork as Ke, Star as Ye, Stop as Ze, ArrowsLeftRight as _e, Target as eo, Binoculars as oo, TextB as to, TextT as no, TextItalic as so, TextStrikethrough as ao, TextUnderline as ro, ToggleRight as co, Trash as lo, Users as io, Wrench as ho } from "@phosphor-icons/react";
5
5
  function e(s, a) {
6
6
  const o = C.forwardRef(function({ strokeWidth: t, weight: r, ...c }, l) {
7
7
  const i = r ?? (t != null && t >= 2 ? "bold" : "regular");
@@ -9,7 +9,7 @@ function e(s, a) {
9
9
  });
10
10
  return o.displayName = a, o;
11
11
  }
12
- const uo = e(re, "ArrowDown"), $o = e(E, "ArrowLeft"), So = e(ce, "ArrowRight"), ko = e(le, "ArrowUp"), Po = e(M, "ArrowUpRight"), fo = e(A, "ChevronDown"), wo = e(R, "ChevronLeft"), To = e(v, "ChevronRight"), Ao = e(U, "ChevronUp"), Lo = e(x, "SortIcon"), mo = e(_e, "SwapHorizontal"), yo = e(F, "ExternalLink"), Bo = e(He, "PanelLeft"), Uo = e(J, "At"), xo = e($e, "Call"), Io = e(Ee, "PhoneIncoming"), Mo = e(d, "Close"), Do = e(N, "CloseCircle"), Oo = e(u, "Copy"), Fo = e(_, "Download"), bo = e(De, "LogOut"), Ro = e(Fe, "Mic"), vo = e(be, "MicOff"), Ho = e(ze, "PhoneOff"), Go = e(We, "Pencil"), Wo = e(j, "Quote"), Eo = e(P, "Eye"), zo = e(k, "EyeOff"), Vo = e(Le, "Hash"), No = e(n, "ImageUpload"), Qo = e(S, "Upload"), qo = e(no, "TextFont"), Xo = e(to, "TextBold"), jo = e(so, "TextItalicStyle"), Jo = e(ao, "TextStrike"), Ko = e(ro, "TextUnderlineStyle"), Yo = e(co, "ToggleOn"), Zo = e(ue, "Calendar"), _o = e(D, "Clock"), et = e(g, "Code"), ot = e(Ze, "Stop"), tt = e(G, "Magnet"), nt = e(H, "Maximize"), st = e(w, "Minus"), at = e(z, "MoreHorizontal"), rt = e(Re, "MoreVertical"), ct = e(ke, "DragHandle"), lt = e(Ie, "Link"), it = e(T, "Plus"), ht = e(q, "Refresh"), Ct = e(ie, "AuditTrail"), gt = e(f, "Search"), pt = e(Ke, "Share"), ut = e(lo, "Trash"), $t = e(p, "Check"), dt = e(Me, "Loader"), St = e(B, "CheckCircle"), kt = e(L, "Info"), Pt = e(y, "Warning"), ft = e(he, "Bell"), wt = e(m, "WarningCircle"), Tt = e(se, "Activity"), At = e(I, "AgentChat"), Lt = e(K, "Bolt"), mt = e(ge, "BookOpen"), yt = e(pe, "Brain"), Bt = e(de, "CheckList"), Ut = e(Se, "Component"), xt = e(O, "Database"), It = e(b, "Table"), Mt = e(Pe, "Filter"), Dt = e(ae, "Archive"), Ot = e(Z, "File"), Ft = e($, "FileText"), bt = e(fe, "Folder"), Rt = e(n, "Image"), vt = e(ne, "ImageOff"), Ht = e(oe, "Music"), Gt = e(te, "Video"), Wt = e(ee, "Braces"), Et = e(we, "FolderOpen"), zt = e(Te, "Gauge"), Vt = e(Ae, "GitBranch"), Nt = e(me, "HistoryClock"), Qt = e(ye, "Home"), qt = e(Ce, "Blocks"), Xt = e(W, "Inbox"), jt = e(xe, "Lightbulb"), Jt = e(Ue, "Leaf"), Kt = e(Be, "LayoutGrid"), Yt = e(Oe, "Mail"), Zt = e(ve, "Palette"), _t = e(Ve, "PieChart"), en = e(Qe, "Plug"), on = e(Xe, "Rocket"), tn = e(je, "Settings"), nn = e(Je, "Shapes"), sn = e(Y, "Sparkles"), an = e(Ye, "Star"), rn = e(oo, "Telescope"), cn = e(eo, "Target"), ln = e(V, "User"), hn = e(io, "Users"), Cn = e(Ne, "Play"), gn = e(qe, "Presentation"), pn = e(Ge, "Pause"), un = e(X, "Paperclip"), $n = e(Q, "CircleDashed"), dn = e(ho, "Wrench");
12
+ const uo = e(re, "ArrowDown"), $o = e(E, "ArrowLeft"), So = e(ce, "ArrowRight"), ko = e(le, "ArrowUp"), Po = e(D, "ArrowUpRight"), fo = e(A, "ChevronDown"), wo = e(v, "ChevronLeft"), To = e(U, "ChevronRight"), Ao = e(x, "ChevronUp"), Lo = e(I, "SortIcon"), mo = e(_e, "SwapHorizontal"), yo = e(b, "ExternalLink"), Bo = e(He, "PanelLeft"), Uo = e(J, "At"), xo = e($e, "Call"), Io = e(Ee, "PhoneIncoming"), Mo = e(d, "Close"), Do = e(N, "CloseCircle"), Oo = e(u, "Copy"), Fo = e(_, "Download"), bo = e(De, "LogOut"), Ro = e(Fe, "Mic"), vo = e(be, "MicOff"), Ho = e(ze, "PhoneOff"), Go = e(We, "Pencil"), Wo = e(j, "Quote"), Eo = e(P, "Eye"), zo = e(k, "EyeOff"), Vo = e(Le, "Hash"), No = e(n, "ImageUpload"), Qo = e(S, "Upload"), qo = e(no, "TextFont"), Xo = e(to, "TextBold"), jo = e(so, "TextItalicStyle"), Jo = e(ao, "TextStrike"), Ko = e(ro, "TextUnderlineStyle"), Yo = e(co, "ToggleOn"), Zo = e(ue, "Calendar"), _o = e(O, "Clock"), et = e(g, "Code"), ot = e(Ze, "Stop"), tt = e(G, "Magnet"), nt = e(H, "Maximize"), st = e(w, "Minus"), at = e(z, "MoreHorizontal"), rt = e(Re, "MoreVertical"), ct = e(ke, "DragHandle"), lt = e(Ie, "Link"), it = e(T, "Plus"), ht = e(q, "Refresh"), Ct = e(ie, "AuditTrail"), gt = e(f, "Search"), pt = e(Ke, "Share"), ut = e(lo, "Trash"), $t = e(p, "Check"), dt = e(Me, "Loader"), St = e(B, "CheckCircle"), kt = e(L, "Info"), Pt = e(y, "Warning"), ft = e(he, "Bell"), wt = e(m, "WarningCircle"), Tt = e(se, "Activity"), At = e(M, "AgentChat"), Lt = e(K, "Bolt"), mt = e(ge, "BookOpen"), yt = e(pe, "Brain"), Bt = e(de, "CheckList"), Ut = e(Se, "Component"), xt = e(F, "Database"), It = e(R, "Table"), Mt = e(Pe, "Filter"), Dt = e(ae, "Archive"), Ot = e(Z, "File"), Ft = e($, "FileText"), bt = e(fe, "Folder"), Rt = e(n, "Image"), vt = e(ne, "ImageOff"), Ht = e(oe, "Music"), Gt = e(te, "Video"), Wt = e(ee, "Braces"), Et = e(we, "FolderOpen"), zt = e(Te, "Gauge"), Vt = e(Ae, "GitBranch"), Nt = e(me, "HistoryClock"), Qt = e(ye, "Home"), qt = e(Ce, "Blocks"), Xt = e(W, "Inbox"), jt = e(xe, "Lightbulb"), Jt = e(Ue, "Leaf"), Kt = e(Be, "LayoutGrid"), Yt = e(Oe, "Mail"), Zt = e(ve, "Palette"), _t = e(Ve, "PieChart"), en = e(Qe, "Plug"), on = e(Xe, "Rocket"), tn = e(je, "Settings"), nn = e(Je, "Shapes"), sn = e(Y, "Sparkles"), an = e(Ye, "Star"), rn = e(oo, "Telescope"), cn = e(eo, "Target"), ln = e(V, "User"), hn = e(io, "Users"), Cn = e(Ne, "Play"), gn = e(qe, "Presentation"), pn = e(Ge, "Pause"), un = e(X, "Paperclip"), $n = e(Q, "CircleDashed"), dn = e(ho, "Wrench");
13
13
  export {
14
14
  Tt as Activity,
15
15
  At as AgentChat,
package/llms.txt CHANGED
@@ -456,7 +456,7 @@ Before using any component below, preserve its built-in motion and apply the mot
456
456
  - [SeriesChart] — component [docs](https://ads.actioneer.dev/#/viz-charts)
457
457
  - [StatusAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
458
458
  - [Tab] — component (variants: orientation: horizontal|vertical; selected: true|false) [docs](https://ads.actioneer.dev/#/tabs)
459
- - [Table] — Use Table for structured tabular data that may need row selection, column sorting, sticky columns, or a paginated footer — not for simple key-value lists. Every primary body-cell value defaults to text-m (14px / 20px); only clearly secondary metadata inside a cell may opt down to text-s. Give a whole-row action an onClick and aria-label: TableRow then adds hover/focus feedback, a pointer cursor, and Enter/Space activation. The consumer decides whether that action navigates or opens a panel; TableRow owns neither destination. Display-only rows stay static; selection rows toggle when clicked. Keep normal row geometry without a brand tint or hover-only corner rounding. Nested controls keep their own actions. Primary record links stay text-only in every state: never reveal an arrow, chevron, or other directional icon only on hover. Persistent row actions use a final sticky-right column plus elevatedActionColumn so one body-column shadow lifts the action surface instead of repeating on individual cells. The empty matching header cell remains transparent and non-sticky. [docs](https://ads.actioneer.dev/#/table)
459
+ - [Table] — Use Table for structured tabular data that may need row selection, column sorting, sticky columns, or a paginated footer — not for simple key-value lists. Every primary body-cell value defaults to text-m (14px / 20px); only clearly secondary metadata inside a cell may opt down to text-s. Give a whole-row action an onClick and aria-label: TableRow then adds hover/focus feedback, a pointer cursor, and Enter/Space activation. The consumer decides whether that action navigates or opens a panel; TableRow owns neither destination. Display-only rows stay static. Single selection uses grouped radio buttons and keeps the chosen row selected; multiple selection uses checkboxes. Selecting or clearing a parent cascades through all descendants, including collapsed rows; partial groups show a mixed checkbox. Selection callbacks include the complete selected key set. Selected row fills fade from full soft-teal tint at the visible left edge to no tint at the right edge, including pinned cells. Use TableRow.childRows for collapsible hierarchies, expanded/defaultExpanded and onExpandedChange for disclosure, and stable rowKey values. Child rows open below their parent without shifting columns; the caret and parent label share one transparent disclosure button, separate from selection, and both turn the primary-action text color on hover. Sorting keeps child rows with their parent. Keep normal row geometry without a brand tint or hover-only corner rounding. Nested controls keep their own actions. Primary record links stay text-only in every state: never reveal an arrow, chevron, or other directional icon only on hover. Persistent row actions use a final sticky-right column plus elevatedActionColumn so one body-column shadow lifts the action surface instead of repeating on individual cells. The empty matching header cell remains transparent and non-sticky. [docs](https://ads.actioneer.dev/#/table)
460
460
  - [TableAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
461
461
  - [TableBody] — component [docs](https://ads.actioneer.dev/#/table)
462
462
  - [TableCell] — component [docs](https://ads.actioneer.dev/#/table)
@@ -650,7 +650,7 @@ Before using any component below, preserve its built-in motion and apply the mot
650
650
 
651
651
  ### Feedback
652
652
 
653
- - [Alert] — Use for inline status messaging on a raised white surface. Add duration for a temporary announcement with a countdown bar; otherwise it remains persistent. (variants: variant: default|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/alert)
653
+ - [Alert] — Use for inline status messaging in an outlined white container. Neutral 14px text leads, a softly tinted icon carries status, and actions align below the description. Add duration for a temporary announcement with a countdown bar; otherwise it remains persistent. (variants: variant: default|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/alert)
654
654
  - [AlertDescription] — component (variants: variant: default|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/alert)
655
655
  - [AlertTitle] — component (variants: variant: default|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/alert)
656
656
  - [BrandMark] — component [docs](https://ads.actioneer.dev/#/brand-loader)
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actioneer/ads",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "importPath": "@actioneer/ads",
5
5
  "styleImport": "@import \"@actioneer/ads/styles.css\";",
6
6
  "families": [
@@ -3613,7 +3613,7 @@
3613
3613
  "kind": "component",
3614
3614
  "importPath": "@actioneer/ads",
3615
3615
  "module": "table",
3616
- "description": "Use Table for structured tabular data that may need row selection, column sorting, sticky columns, or a paginated footer — not for simple key-value lists. Every primary body-cell value defaults to text-m (14px / 20px); only clearly secondary metadata inside a cell may opt down to text-s. Give a whole-row action an onClick and aria-label: TableRow then adds hover/focus feedback, a pointer cursor, and Enter/Space activation. The consumer decides whether that action navigates or opens a panel; TableRow owns neither destination. Display-only rows stay static; selection rows toggle when clicked. Keep normal row geometry without a brand tint or hover-only corner rounding. Nested controls keep their own actions. Primary record links stay text-only in every state: never reveal an arrow, chevron, or other directional icon only on hover. Persistent row actions use a final sticky-right column plus elevatedActionColumn so one body-column shadow lifts the action surface instead of repeating on individual cells. The empty matching header cell remains transparent and non-sticky.",
3616
+ "description": "Use Table for structured tabular data that may need row selection, column sorting, sticky columns, or a paginated footer — not for simple key-value lists. Every primary body-cell value defaults to text-m (14px / 20px); only clearly secondary metadata inside a cell may opt down to text-s. Give a whole-row action an onClick and aria-label: TableRow then adds hover/focus feedback, a pointer cursor, and Enter/Space activation. The consumer decides whether that action navigates or opens a panel; TableRow owns neither destination. Display-only rows stay static. Single selection uses grouped radio buttons and keeps the chosen row selected; multiple selection uses checkboxes. Selecting or clearing a parent cascades through all descendants, including collapsed rows; partial groups show a mixed checkbox. Selection callbacks include the complete selected key set. Selected row fills fade from full soft-teal tint at the visible left edge to no tint at the right edge, including pinned cells. Use TableRow.childRows for collapsible hierarchies, expanded/defaultExpanded and onExpandedChange for disclosure, and stable rowKey values. Child rows open below their parent without shifting columns; the caret and parent label share one transparent disclosure button, separate from selection, and both turn the primary-action text color on hover. Sorting keeps child rows with their parent. Keep normal row geometry without a brand tint or hover-only corner rounding. Nested controls keep their own actions. Primary record links stay text-only in every state: never reveal an arrow, chevron, or other directional icon only on hover. Persistent row actions use a final sticky-right column plus elevatedActionColumn so one body-column shadow lifts the action surface instead of repeating on individual cells. The empty matching header cell remains transparent and non-sticky.",
3617
3617
  "showcaseUrl": "https://ads.actioneer.dev/#/table",
3618
3618
  "props": [
3619
3619
  "wrapperClassName",
@@ -3710,6 +3710,11 @@
3710
3710
  "showcaseUrl": "https://ads.actioneer.dev/#/table",
3711
3711
  "props": [
3712
3712
  "rowKey",
3713
+ "childRows",
3714
+ "expanded",
3715
+ "defaultExpanded",
3716
+ "onExpandedChange",
3717
+ "disclosureLabel",
3713
3718
  "isInteractive"
3714
3719
  ]
3715
3720
  },
@@ -5128,7 +5133,7 @@
5128
5133
  "kind": "component",
5129
5134
  "importPath": "@actioneer/ads",
5130
5135
  "module": "alert",
5131
- "description": "Use for inline status messaging on a raised white surface. Add duration for a temporary announcement with a countdown bar; otherwise it remains persistent.",
5136
+ "description": "Use for inline status messaging in an outlined white container. Neutral 14px text leads, a softly tinted icon carries status, and actions align below the description. Add duration for a temporary announcement with a countdown bar; otherwise it remains persistent.",
5132
5137
  "showcaseUrl": "https://ads.actioneer.dev/#/alert",
5133
5138
  "variants": {
5134
5139
  "variant": {
@@ -5141,7 +5146,7 @@
5141
5146
  ],
5142
5147
  "default": "default",
5143
5148
  "options": {
5144
- "default": "Neutral heads-up with no status implication, foreground-colored icon/title, no urgency signaled.",
5149
+ "default": "Neutral heads-up with a warm-grey icon tile and no urgency signaled.",
5145
5150
  "success": "Grass green confirms a completed or positive outcome.",
5146
5151
  "warning": "Flags a non-blocking risk or upcoming issue (e.g. scheduled maintenance), amber accent.",
5147
5152
  "danger": "Signals a failure or blocking problem (e.g. connection error) needing attention, red accent.",
@@ -9500,7 +9505,22 @@
9500
9505
  },
9501
9506
  {
9502
9507
  "id": "row-selected",
9503
- "description": "Selected row wash.",
9508
+ "description": "Selected row fill fades from full tint at the left to no tint at the right of the viewport.",
9509
+ "required": true
9510
+ },
9511
+ {
9512
+ "id": "row-partially-selected",
9513
+ "description": "Parent checkbox is mixed when only some descendants are selected.",
9514
+ "required": true
9515
+ },
9516
+ {
9517
+ "id": "collapsed",
9518
+ "description": "Parent row visible with its child rows hidden.",
9519
+ "required": true
9520
+ },
9521
+ {
9522
+ "id": "expanded",
9523
+ "description": "Indented child rows open below their parent without changing column widths.",
9504
9524
  "required": true
9505
9525
  },
9506
9526
  {
@@ -9517,6 +9537,18 @@
9517
9537
  [
9518
9538
  "sorted",
9519
9539
  "row-focus"
9540
+ ],
9541
+ [
9542
+ "expanded",
9543
+ "row-selected"
9544
+ ],
9545
+ [
9546
+ "expanded",
9547
+ "row-partially-selected"
9548
+ ],
9549
+ [
9550
+ "sorted",
9551
+ "expanded"
9520
9552
  ]
9521
9553
  ]
9522
9554
  },
@@ -9619,14 +9651,26 @@
9619
9651
  [
9620
9652
  "sorted",
9621
9653
  "row-focus"
9654
+ ],
9655
+ [
9656
+ "expanded",
9657
+ "row-selected"
9658
+ ],
9659
+ [
9660
+ "expanded",
9661
+ "row-partially-selected"
9662
+ ],
9663
+ [
9664
+ "sorted",
9665
+ "expanded"
9622
9666
  ]
9623
9667
  ]
9624
9668
  },
9625
9669
  "counts": {
9626
- "nodes": 803,
9627
- "edges": 545,
9670
+ "nodes": 806,
9671
+ "edges": 548,
9628
9672
  "component": 323,
9629
- "state": 458,
9673
+ "state": 461,
9630
9674
  "principle": 11,
9631
9675
  "production": 9,
9632
9676
  "layout": 2
@@ -14037,7 +14081,7 @@
14037
14081
  "family": "Data display",
14038
14082
  "module": "table",
14039
14083
  "showcaseUrl": "https://ads.actioneer.dev/#/table",
14040
- "description": "Use Table for structured tabular data that may need row selection, column sorting, sticky columns, or a paginated footer — not for simple key-value lists. Every primary body-cell value defaults to text-m (14px / 20px); only clearly secondary metadata inside a cell may opt down to text-s. Give a whole-row action an onClick and aria-label: TableRow then adds hover/focus feedback, a pointer cursor, and Enter/Space activation. The consumer decides whether that action navigates or opens a panel; TableRow owns neither destination. Display-only rows stay static; selection rows toggle when clicked. Keep normal row geometry without a brand tint or hover-only corner rounding. Nested controls keep their own actions. Primary record links stay text-only in every state: never reveal an arrow, chevron, or other directional icon only on hover. Persistent row actions use a final sticky-right column plus elevatedActionColumn so one body-column shadow lifts the action surface instead of repeating on individual cells. The empty matching header cell remains transparent and non-sticky."
14084
+ "description": "Use Table for structured tabular data that may need row selection, column sorting, sticky columns, or a paginated footer — not for simple key-value lists. Every primary body-cell value defaults to text-m (14px / 20px); only clearly secondary metadata inside a cell may opt down to text-s. Give a whole-row action an onClick and aria-label: TableRow then adds hover/focus feedback, a pointer cursor, and Enter/Space activation. The consumer decides whether that action navigates or opens a panel; TableRow owns neither destination. Display-only rows stay static. Single selection uses grouped radio buttons and keeps the chosen row selected; multiple selection uses checkboxes. Selecting or clearing a parent cascades through all descendants, including collapsed rows; partial groups show a mixed checkbox. Selection callbacks include the complete selected key set. Selected row fills fade from full soft-teal tint at the visible left edge to no tint at the right edge, including pinned cells. Use TableRow.childRows for collapsible hierarchies, expanded/defaultExpanded and onExpandedChange for disclosure, and stable rowKey values. Child rows open below their parent without shifting columns; the caret and parent label share one transparent disclosure button, separate from selection, and both turn the primary-action text color on hover. Sorting keeps child rows with their parent. Keep normal row geometry without a brand tint or hover-only corner rounding. Nested controls keep their own actions. Primary record links stay text-only in every state: never reveal an arrow, chevron, or other directional icon only on hover. Persistent row actions use a final sticky-right column plus elevatedActionColumn so one body-column shadow lifts the action surface instead of repeating on individual cells. The empty matching header cell remains transparent and non-sticky."
14041
14085
  },
14042
14086
  {
14043
14087
  "id": "component:TableAnswer",
@@ -14502,7 +14546,7 @@
14502
14546
  "family": "Feedback",
14503
14547
  "module": "alert",
14504
14548
  "showcaseUrl": "https://ads.actioneer.dev/#/alert",
14505
- "description": "Use for inline status messaging on a raised white surface. Add duration for a temporary announcement with a countdown bar; otherwise it remains persistent."
14549
+ "description": "Use for inline status messaging in an outlined white container. Neutral 14px text leads, a softly tinted icon carries status, and actions align below the description. Add duration for a temporary announcement with a countdown bar; otherwise it remains persistent."
14506
14550
  },
14507
14551
  {
14508
14552
  "id": "state:Alert:variant=default",
@@ -14514,7 +14558,7 @@
14514
14558
  "required": false,
14515
14559
  "derived": true,
14516
14560
  "isDefault": true,
14517
- "description": "Neutral heads-up with no status implication, foreground-colored icon/title, no urgency signaled."
14561
+ "description": "Neutral heads-up with a warm-grey icon tile and no urgency signaled."
14518
14562
  },
14519
14563
  {
14520
14564
  "id": "state:Alert:variant=success",
@@ -17929,7 +17973,40 @@
17929
17973
  "value": "row-selected",
17930
17974
  "required": true,
17931
17975
  "derived": false,
17932
- "description": "Selected row wash."
17976
+ "description": "Selected row fill fades from full tint at the left to no tint at the right of the viewport."
17977
+ },
17978
+ {
17979
+ "id": "state:Table:interaction=row-partially-selected",
17980
+ "kind": "state",
17981
+ "label": "row-partially-selected",
17982
+ "component": "Table",
17983
+ "axis": "interaction",
17984
+ "value": "row-partially-selected",
17985
+ "required": true,
17986
+ "derived": false,
17987
+ "description": "Parent checkbox is mixed when only some descendants are selected."
17988
+ },
17989
+ {
17990
+ "id": "state:Table:interaction=collapsed",
17991
+ "kind": "state",
17992
+ "label": "collapsed",
17993
+ "component": "Table",
17994
+ "axis": "interaction",
17995
+ "value": "collapsed",
17996
+ "required": true,
17997
+ "derived": false,
17998
+ "description": "Parent row visible with its child rows hidden."
17999
+ },
18000
+ {
18001
+ "id": "state:Table:interaction=expanded",
18002
+ "kind": "state",
18003
+ "label": "expanded",
18004
+ "component": "Table",
18005
+ "axis": "interaction",
18006
+ "value": "expanded",
18007
+ "required": true,
18008
+ "derived": false,
18009
+ "description": "Indented child rows open below their parent without changing column widths."
17933
18010
  },
17934
18011
  {
17935
18012
  "id": "state:Table:interaction=horizontal-overflow",
@@ -20938,6 +21015,24 @@
20938
21015
  "target": "state:Table:interaction=row-selected",
20939
21016
  "relation": "supports-state"
20940
21017
  },
21018
+ {
21019
+ "id": "component:Table:supports-state:state:Table:interaction=row-partially-selected:global",
21020
+ "source": "component:Table",
21021
+ "target": "state:Table:interaction=row-partially-selected",
21022
+ "relation": "supports-state"
21023
+ },
21024
+ {
21025
+ "id": "component:Table:supports-state:state:Table:interaction=collapsed:global",
21026
+ "source": "component:Table",
21027
+ "target": "state:Table:interaction=collapsed",
21028
+ "relation": "supports-state"
21029
+ },
21030
+ {
21031
+ "id": "component:Table:supports-state:state:Table:interaction=expanded:global",
21032
+ "source": "component:Table",
21033
+ "target": "state:Table:interaction=expanded",
21034
+ "relation": "supports-state"
21035
+ },
20941
21036
  {
20942
21037
  "id": "component:Table:supports-state:state:Table:interaction=horizontal-overflow:global",
20943
21038
  "source": "component:Table",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actioneer/ads",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Actioneer Design System 1.0 — React 19 + Tailwind v4 component library.",
5
5
  "type": "module",
6
6
  "sideEffects": [
package/styles.css CHANGED
@@ -521,8 +521,9 @@
521
521
  --brand-hover: var(--action-primary-hover);
522
522
  --brand-text: var(--action-primary-text);
523
523
 
524
- /* Interactive row hover/focus uses the WG2 highlight wash. */
525
- --table-row-hover: var(--color-wg2);
524
+ /* Interactive row hover/focus uses the WG1 highlight wash. */
525
+ --table-row-hover: var(--color-wg1);
526
+ /* Start color for the row's selection fade; its right edge returns to White. */
526
527
  --table-row-selected: var(--action-primary-soft);
527
528
 
528
529
  /* Quiet component fill. WG3 is the first interactive-background
@@ -588,8 +589,8 @@
588
589
  --sidebar-foreground: var(--foreground);
589
590
  --sidebar-primary: var(--brand);
590
591
  --sidebar-primary-foreground: var(--brand-foreground);
591
- --sidebar-accent: var(--action-primary-soft);
592
- --sidebar-accent-foreground: var(--brand-text);
592
+ --sidebar-accent: var(--elevated);
593
+ --sidebar-accent-foreground: var(--foreground);
593
594
  --sidebar-border: var(--border);
594
595
  --sidebar-ring: var(--ring);
595
596
  --popover: var(--elevated);
package/theme.css CHANGED
@@ -490,8 +490,9 @@
490
490
  --brand-hover: var(--action-primary-hover);
491
491
  --brand-text: var(--action-primary-text);
492
492
 
493
- /* Interactive row hover/focus uses the WG2 highlight wash. */
494
- --table-row-hover: var(--color-wg2);
493
+ /* Interactive row hover/focus uses the WG1 highlight wash. */
494
+ --table-row-hover: var(--color-wg1);
495
+ /* Start color for the row's selection fade; its right edge returns to White. */
495
496
  --table-row-selected: var(--action-primary-soft);
496
497
 
497
498
  /* Quiet component fill. WG3 is the first interactive-background
@@ -557,8 +558,8 @@
557
558
  --sidebar-foreground: var(--foreground);
558
559
  --sidebar-primary: var(--brand);
559
560
  --sidebar-primary-foreground: var(--brand-foreground);
560
- --sidebar-accent: var(--action-primary-soft);
561
- --sidebar-accent-foreground: var(--brand-text);
561
+ --sidebar-accent: var(--elevated);
562
+ --sidebar-accent-foreground: var(--foreground);
562
563
  --sidebar-border: var(--border);
563
564
  --sidebar-ring: var(--ring);
564
565
  --popover: var(--elevated);