@nocoo/basalt 3.1.0 → 3.2.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 (77) hide show
  1. package/ai/DESIGN.md +108 -46
  2. package/ai/USAGE.md +1 -1
  3. package/ai/registry.json +115 -73
  4. package/dist/charts/config.d.ts +1 -1
  5. package/dist/charts/config.js +1 -1
  6. package/dist/charts/config.js.map +1 -1
  7. package/dist/charts/heatmap-matrix.js +2 -2
  8. package/dist/charts/heatmap-matrix.js.map +1 -1
  9. package/dist/charts/sparkline.js +1 -1
  10. package/dist/charts/sparkline.js.map +1 -1
  11. package/dist/charts/stat-card.js +1 -1
  12. package/dist/charts/stat-card.js.map +1 -1
  13. package/dist/components/alert-dialog.js +4 -4
  14. package/dist/components/alert-dialog.js.map +1 -1
  15. package/dist/components/approval-card.js +5 -6
  16. package/dist/components/approval-card.js.map +1 -1
  17. package/dist/components/avatar.js +1 -1
  18. package/dist/components/avatar.js.map +1 -1
  19. package/dist/components/chat-bubble.js +1 -1
  20. package/dist/components/chat-bubble.js.map +1 -1
  21. package/dist/components/chat-header.js +1 -1
  22. package/dist/components/chat-header.js.map +1 -1
  23. package/dist/components/chat-inbox.js +1 -1
  24. package/dist/components/chat-inbox.js.map +1 -1
  25. package/dist/components/chat-markdown.js +1 -1
  26. package/dist/components/chat-markdown.js.map +1 -1
  27. package/dist/components/chat-message.js +1 -1
  28. package/dist/components/chat-message.js.map +1 -1
  29. package/dist/components/code.js +4 -3
  30. package/dist/components/code.js.map +1 -1
  31. package/dist/components/context-cards.js +5 -5
  32. package/dist/components/context-cards.js.map +1 -1
  33. package/dist/components/dialog.js +2 -2
  34. package/dist/components/dialog.js.map +1 -1
  35. package/dist/components/diff-table.js +2 -2
  36. package/dist/components/diff-table.js.map +1 -1
  37. package/dist/components/input-area.js +1 -1
  38. package/dist/components/input-area.js.map +1 -1
  39. package/dist/components/layer-card.d.ts +6 -4
  40. package/dist/components/layer-card.js +60 -71
  41. package/dist/components/layer-card.js.map +1 -1
  42. package/dist/components/loader.js +1 -1
  43. package/dist/components/loader.js.map +1 -1
  44. package/dist/components/page-header.d.ts +2 -2
  45. package/dist/components/page-header.js +7 -7
  46. package/dist/components/page-header.js.map +1 -1
  47. package/dist/components/recommendation-card.js +2 -2
  48. package/dist/components/recommendation-card.js.map +1 -1
  49. package/dist/components/section-rule.js +1 -1
  50. package/dist/components/section-rule.js.map +1 -1
  51. package/dist/components/select.js +1 -1
  52. package/dist/components/select.js.map +1 -1
  53. package/dist/components/sheet.js +3 -3
  54. package/dist/components/sheet.js.map +1 -1
  55. package/dist/components/sidebar.js +2 -2
  56. package/dist/components/sidebar.js.map +1 -1
  57. package/dist/components/skeleton-line.js +1 -1
  58. package/dist/components/skeleton-line.js.map +1 -1
  59. package/dist/components/stat-strip.js +1 -1
  60. package/dist/components/stat-strip.js.map +1 -1
  61. package/dist/components/table.d.ts +2 -0
  62. package/dist/components/table.js +10 -12
  63. package/dist/components/table.js.map +1 -1
  64. package/dist/components/tabs.js +1 -1
  65. package/dist/components/tabs.js.map +1 -1
  66. package/dist/components/tag-badge.js +1 -1
  67. package/dist/components/tag-badge.js.map +1 -1
  68. package/dist/components/text.js +2 -2
  69. package/dist/components/text.js.map +1 -1
  70. package/dist/components/thinking.js +1 -1
  71. package/dist/components/thinking.js.map +1 -1
  72. package/dist/components/tool-chips.js +2 -2
  73. package/dist/components/tool-chips.js.map +1 -1
  74. package/dist/styles/standalone.css +119 -85
  75. package/dist/styles/tailwind.css +1 -0
  76. package/dist/styles/tokens.css +82 -39
  77. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tool-chips.js","names":["ICONS","Sparkles","FileText","Pencil","Terminal","ToolChips","vm","useToolChipsViewModel","steps","defaultOpen","highlightRef","useHoverHighlight","Collapsible","cn","className","CollapsibleTrigger","title","CollapsibleContent","Icon","step","next","Loader","Check","CircleAlert","diffs","Popover","PopoverTrigger","Button","diff","PopoverContent","PopoverTitle","CodeBlock"],"sources":["../../src/components/tool-chips.tsx"],"sourcesContent":["import { Check, CircleAlert, FileText, Pencil, Sparkles, Terminal } from \"lucide-react\";\nimport type { ToolDiff, ToolStep } from \"../models/agent-feedback\";\nimport { cn } from \"../utils/cn\";\nimport { useHoverHighlight } from \"../utils/use-hover-highlight\";\nimport { useToolChipsViewModel } from \"../viewmodels/use-tool-chips\";\nimport { Button } from \"./button\";\nimport { CodeBlock } from \"./code\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"./collapsible\";\nimport { Loader } from \"./loader\";\nimport { Popover, PopoverContent, PopoverTitle, PopoverTrigger } from \"./popover\";\n\nexport type { ToolDiff, ToolStep } from \"../models/agent-feedback\";\nexport interface ToolChipsProps {\n\t/** Caller-owned tool activity; statuses never advance automatically. */\n\tsteps: readonly ToolStep[];\n\tdiffs?: readonly ToolDiff[];\n\ttitle?: string;\n\t/** Start with the tool list expanded. @default true */\n\tdefaultOpen?: boolean;\n\tclassName?: string;\n}\nconst ICONS = { think: Sparkles, read: FileText, write: Pencil, run: Terminal };\n\nexport function ToolChips({\n\tsteps,\n\tdiffs = [],\n\ttitle,\n\tdefaultOpen = true,\n\tclassName,\n}: ToolChipsProps) {\n\tconst vm = useToolChipsViewModel(steps, defaultOpen);\n\tconst highlightRef = useHoverHighlight();\n\treturn (\n\t\t<Collapsible\n\t\t\topen={vm.open}\n\t\t\tonOpenChange={vm.setOpen}\n\t\t\tclassName={cn(\n\t\t\t\t\"basalt-ui w-full space-y-basalt-content-gap leading-[var(--basalt-line-body)]\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<CollapsibleTrigger className=\"rounded-basalt-sm px-basalt-row-x py-basalt-control-y text-basalt-muted-foreground\">\n\t\t\t\t<span role=\"status\">{title ?? `${vm.total} tool calls · ${vm.completed} complete`}</span>\n\t\t\t</CollapsibleTrigger>\n\t\t\t<CollapsibleContent\n\t\t\t\tref={highlightRef}\n\t\t\t\tunstyled\n\t\t\t\tclassName=\"basalt-hover-list space-y-basalt-space-sm\"\n\t\t\t>\n\t\t\t\t{steps.map((step) => {\n\t\t\t\t\tconst Icon = ICONS[step.kind];\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Collapsible\n\t\t\t\t\t\t\tkey={step.id}\n\t\t\t\t\t\t\topen={vm.expanded.includes(step.id)}\n\t\t\t\t\t\t\tonOpenChange={(next) => vm.setExpanded(step.id, next)}\n\t\t\t\t\t\t\tclassName=\"basalt-agent-reveal\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CollapsibleTrigger\n\t\t\t\t\t\t\t\tdata-basalt-hover-item=\"\"\n\t\t\t\t\t\t\t\tdata-hover-selected={vm.expanded.includes(step.id)}\n\t\t\t\t\t\t\t\taria-label={[step.label, step.target, step.status].filter(Boolean).join(\" \")}\n\t\t\t\t\t\t\t\tclassName=\"w-full min-h-basalt-control items-start justify-between rounded-basalt-sm px-basalt-row-x py-basalt-row-y leading-basalt-row [&>svg]:mt-[calc((var(--basalt-line-row)-var(--basalt-size-icon-sm))/2)]\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"flex min-w-0 items-start gap-basalt-row-gap text-basalt-base leading-basalt-row\">\n\t\t\t\t\t\t\t\t\t<span className=\"flex h-[var(--basalt-line-row)] w-basalt-icon-lg shrink-0 items-center justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Icon aria-hidden=\"true\" className=\"size-basalt-icon-lg\" strokeWidth={1.5} />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"flex min-w-0 flex-wrap items-center gap-x-basalt-row-gap\">\n\t\t\t\t\t\t\t\t\t\t<span>{step.label}</span>\n\t\t\t\t\t\t\t\t\t\t{step.target && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"max-w-full truncate font-mono text-basalt-code text-basalt-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{step.target}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\taria-label={step.status}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex h-[var(--basalt-line-row)] w-basalt-icon-sm shrink-0 items-center justify-center\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{step.status === \"running\" ? (\n\t\t\t\t\t\t\t\t\t\t\t<Loader size={12} showLabel={false} showElapsed={false} aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t) : step.status === \"complete\" ? (\n\t\t\t\t\t\t\t\t\t\t\t<Check size={12} />\n\t\t\t\t\t\t\t\t\t\t) : step.status === \"error\" ? (\n\t\t\t\t\t\t\t\t\t\t\t<CircleAlert size={12} className=\"text-basalt-danger\" />\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</CollapsibleTrigger>\n\t\t\t\t\t\t\t<CollapsibleContent\n\t\t\t\t\t\t\t\tunstyled\n\t\t\t\t\t\t\t\tclassName=\"pl-basalt-row-content pr-basalt-row-x pb-basalt-row-y\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p className=\"whitespace-pre-wrap break-words text-basalt-code text-basalt-muted-foreground\">\n\t\t\t\t\t\t\t\t\t{step.detail || \"No output yet\"}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</CollapsibleContent>\n\t\t\t\t\t\t</Collapsible>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{steps.length === 0 && (\n\t\t\t\t\t<p className=\"px-basalt-row-x py-basalt-space-lg text-basalt-sm text-basalt-muted-foreground\">\n\t\t\t\t\t\tNo tool calls yet\n\t\t\t\t\t</p>\n\t\t\t\t)}\n\t\t\t\t<div className=\"flex flex-wrap gap-basalt-content-gap px-basalt-row-x\">\n\t\t\t\t\t{diffs.map((diff) => (\n\t\t\t\t\t\t<Popover key={diff.file}>\n\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\taria-label={`${diff.file} +${diff.added} -${diff.removed}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"font-mono text-basalt-sm\">{diff.file}</span>\n\t\t\t\t\t\t\t\t\t<span className=\"text-basalt-primary\">+{diff.added}</span>\n\t\t\t\t\t\t\t\t\t<span className=\"text-basalt-danger\">-{diff.removed}</span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t<PopoverContent arrow={false} className=\"max-w-[calc(100vw-2rem)]\">\n\t\t\t\t\t\t\t\t<PopoverTitle>{diff.file}</PopoverTitle>\n\t\t\t\t\t\t\t\t<CodeBlock className=\"mt-basalt-space-lg max-h-basalt-64 text-basalt-sm\">\n\t\t\t\t\t\t\t\t\t{diff.content || \"No diff preview available\"}\n\t\t\t\t\t\t\t\t</CodeBlock>\n\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</CollapsibleContent>\n\t\t</Collapsible>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"tool-chips.js","names":["ICONS","Sparkles","FileText","Pencil","Terminal","ToolChips","vm","useToolChipsViewModel","steps","defaultOpen","highlightRef","useHoverHighlight","Collapsible","cn","className","CollapsibleTrigger","title","CollapsibleContent","Icon","step","next","Loader","Check","CircleAlert","diffs","Popover","PopoverTrigger","Button","diff","PopoverContent","PopoverTitle","CodeBlock"],"sources":["../../src/components/tool-chips.tsx"],"sourcesContent":["import { Check, CircleAlert, FileText, Pencil, Sparkles, Terminal } from \"lucide-react\";\nimport type { ToolDiff, ToolStep } from \"../models/agent-feedback\";\nimport { cn } from \"../utils/cn\";\nimport { useHoverHighlight } from \"../utils/use-hover-highlight\";\nimport { useToolChipsViewModel } from \"../viewmodels/use-tool-chips\";\nimport { Button } from \"./button\";\nimport { CodeBlock } from \"./code\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"./collapsible\";\nimport { Loader } from \"./loader\";\nimport { Popover, PopoverContent, PopoverTitle, PopoverTrigger } from \"./popover\";\n\nexport type { ToolDiff, ToolStep } from \"../models/agent-feedback\";\nexport interface ToolChipsProps {\n\t/** Caller-owned tool activity; statuses never advance automatically. */\n\tsteps: readonly ToolStep[];\n\tdiffs?: readonly ToolDiff[];\n\ttitle?: string;\n\t/** Start with the tool list expanded. @default true */\n\tdefaultOpen?: boolean;\n\tclassName?: string;\n}\nconst ICONS = { think: Sparkles, read: FileText, write: Pencil, run: Terminal };\n\nexport function ToolChips({\n\tsteps,\n\tdiffs = [],\n\ttitle,\n\tdefaultOpen = true,\n\tclassName,\n}: ToolChipsProps) {\n\tconst vm = useToolChipsViewModel(steps, defaultOpen);\n\tconst highlightRef = useHoverHighlight();\n\treturn (\n\t\t<Collapsible\n\t\t\topen={vm.open}\n\t\t\tonOpenChange={vm.setOpen}\n\t\t\tclassName={cn(\n\t\t\t\t\"basalt-ui w-full space-y-basalt-content-gap leading-[var(--basalt-line-body)]\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<CollapsibleTrigger className=\"rounded-basalt-sm px-basalt-row-x py-basalt-control-y text-basalt-muted-foreground\">\n\t\t\t\t<span role=\"status\">{title ?? `${vm.total} tool calls · ${vm.completed} complete`}</span>\n\t\t\t</CollapsibleTrigger>\n\t\t\t<CollapsibleContent\n\t\t\t\tref={highlightRef}\n\t\t\t\tunstyled\n\t\t\t\tclassName=\"basalt-hover-list space-y-basalt-space-sm\"\n\t\t\t>\n\t\t\t\t{steps.map((step) => {\n\t\t\t\t\tconst Icon = ICONS[step.kind];\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Collapsible\n\t\t\t\t\t\t\tkey={step.id}\n\t\t\t\t\t\t\topen={vm.expanded.includes(step.id)}\n\t\t\t\t\t\t\tonOpenChange={(next) => vm.setExpanded(step.id, next)}\n\t\t\t\t\t\t\tclassName=\"basalt-agent-reveal\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CollapsibleTrigger\n\t\t\t\t\t\t\t\tdata-basalt-hover-item=\"\"\n\t\t\t\t\t\t\t\tdata-hover-selected={vm.expanded.includes(step.id)}\n\t\t\t\t\t\t\t\taria-label={[step.label, step.target, step.status].filter(Boolean).join(\" \")}\n\t\t\t\t\t\t\t\tclassName=\"w-full min-h-basalt-control items-start justify-between rounded-basalt-sm px-basalt-row-x py-basalt-row-y leading-basalt-row [&>svg]:mt-[calc((var(--basalt-line-row)-var(--basalt-size-icon-sm))/2)]\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"flex min-w-0 items-start gap-basalt-row-gap text-basalt-base leading-basalt-row\">\n\t\t\t\t\t\t\t\t\t<span className=\"flex h-[var(--basalt-line-row)] w-basalt-icon-lg shrink-0 items-center justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Icon aria-hidden=\"true\" className=\"size-basalt-icon-lg\" strokeWidth={1.5} />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"flex min-w-0 flex-wrap items-center gap-x-basalt-row-gap\">\n\t\t\t\t\t\t\t\t\t\t<span>{step.label}</span>\n\t\t\t\t\t\t\t\t\t\t{step.target && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"max-w-full truncate font-mono text-basalt-base text-basalt-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{step.target}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\taria-label={step.status}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex h-[var(--basalt-line-row)] w-basalt-icon-sm shrink-0 items-center justify-center\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{step.status === \"running\" ? (\n\t\t\t\t\t\t\t\t\t\t\t<Loader size={12} showLabel={false} showElapsed={false} aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t) : step.status === \"complete\" ? (\n\t\t\t\t\t\t\t\t\t\t\t<Check size={12} />\n\t\t\t\t\t\t\t\t\t\t) : step.status === \"error\" ? (\n\t\t\t\t\t\t\t\t\t\t\t<CircleAlert size={12} className=\"text-basalt-danger\" />\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</CollapsibleTrigger>\n\t\t\t\t\t\t\t<CollapsibleContent\n\t\t\t\t\t\t\t\tunstyled\n\t\t\t\t\t\t\t\tclassName=\"pl-basalt-row-content pr-basalt-row-x pb-basalt-row-y\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p className=\"whitespace-pre-wrap break-words text-basalt-base text-basalt-muted-foreground\">\n\t\t\t\t\t\t\t\t\t{step.detail || \"No output yet\"}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</CollapsibleContent>\n\t\t\t\t\t\t</Collapsible>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{steps.length === 0 && (\n\t\t\t\t\t<p className=\"px-basalt-row-x py-basalt-space-lg text-basalt-sm text-basalt-muted-foreground\">\n\t\t\t\t\t\tNo tool calls yet\n\t\t\t\t\t</p>\n\t\t\t\t)}\n\t\t\t\t<div className=\"flex flex-wrap gap-basalt-content-gap px-basalt-row-x\">\n\t\t\t\t\t{diffs.map((diff) => (\n\t\t\t\t\t\t<Popover key={diff.file}>\n\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\taria-label={`${diff.file} +${diff.added} -${diff.removed}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"font-mono text-basalt-sm\">{diff.file}</span>\n\t\t\t\t\t\t\t\t\t<span className=\"text-basalt-primary\">+{diff.added}</span>\n\t\t\t\t\t\t\t\t\t<span className=\"text-basalt-danger\">-{diff.removed}</span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t<PopoverContent arrow={false} className=\"max-w-[calc(100vw-2rem)]\">\n\t\t\t\t\t\t\t\t<PopoverTitle>{diff.file}</PopoverTitle>\n\t\t\t\t\t\t\t\t<CodeBlock className=\"mt-basalt-space-lg max-h-basalt-64 text-basalt-sm\">\n\t\t\t\t\t\t\t\t\t{diff.content || \"No diff preview available\"}\n\t\t\t\t\t\t\t\t</CodeBlock>\n\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</CollapsibleContent>\n\t\t</Collapsible>\n\t);\n}\n"],"mappings":";;;;;;;;;;;;AAqBA,IAAMA,IAAQ;CAAE,OAAOC;CAAU,MAAMC;CAAU,OAAOC;CAAQ,KAAKC;AAAS;AAE9E,SAAgBC,EAAU,EACzB,UACA,WAAQ,CAAC,GACT,UACA,iBAAc,IACd,gBACkB;CAClB,IAAMC,IAAKC,EAAsBC,GAAOC,CAAW,GAC7CC,IAAeC,EAAkB;CACvC,OACC,kBAACC,GAAD;EACC,MAAMN,EAAG;EACT,cAAcA,EAAG;EACjB,WAAWO,EACV,iFACAC,CACD;EAND,UAAA,CAQC,kBAACC,GAAD;GAAoB,WAAU;GAC7B,UAAA,kBAAC,QAAD;IAAM,MAAK;IAAU,UAAAC,KAAS,GAAGV,EAAG,MAAM,gBAAgBA,EAAG,UAAU;GAAiB,CAAA;EACrE,CAAA,GACpB,kBAACW,GAAD;GACC,KAAKP;GACL,UAAA;GACA,WAAU;GAHX,UAAA;IAKEF,EAAM,KAAK,MAAS;KACpB,IAAMU,IAAOlB,EAAMmB,EAAK;KACxB,OACC,kBAACP,GAAD;MAEC,MAAMN,EAAG,SAAS,SAASa,EAAK,EAAE;MAClC,eAAe,MAASb,EAAG,YAAYa,EAAK,IAAIC,CAAI;MACpD,WAAU;MAJX,UAAA,CAMC,kBAACL,GAAD;OACC,0BAAuB;OACvB,uBAAqBT,EAAG,SAAS,SAASa,EAAK,EAAE;OACjD,cAAY;QAACA,EAAK;QAAOA,EAAK;QAAQA,EAAK;OAAM,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;OAC3E,WAAU;OAEV,UAAA,kBAAC,QAAD;QAAM,WAAU;QAAhB,UAAA;SACC,kBAAC,QAAD;UAAM,WAAU;UACf,UAAA,kBAACD,GAAD;WAAM,eAAY;WAAO,WAAU;WAAsB,aAAa;UAAM,CAAA;SACvE,CAAA;SACN,kBAAC,QAAD;UAAM,WAAU;UAAhB,UAAA,CACC,kBAAC,QAAD,EAAA,UAAOC,EAAK,MAAY,CAAA,GACvBA,EAAK,UACL,kBAAC,QAAD;WAAM,WAAU;WACd,UAAAA,EAAK;UACD,CAAA,CAEF;;SACN,kBAAC,QAAD;UACC,MAAK;UACL,cAAYA,EAAK;UACjB,WAAU;UAET,UAAAA,EAAK,WAAW,YAChB,kBAACE,GAAD;WAAQ,MAAM;WAAI,WAAW;WAAO,aAAa;WAAO,eAAY;UAAQ,CAAA,IACzEF,EAAK,WAAW,aACnB,kBAACG,GAAD,EAAO,MAAM,GAAK,CAAA,IACfH,EAAK,WAAW,UACnB,kBAACI,GAAD;WAAa,MAAM;WAAI,WAAU;UAAsB,CAAA,IACpD;SACC,CAAA;QACD;;MACa,CAAA,GACpB,kBAACN,GAAD;OACC,UAAA;OACA,WAAU;OAEV,UAAA,kBAAC,KAAD;QAAG,WAAU;QACX,UAAAE,EAAK,UAAU;OACd,CAAA;MACgB,CAAA,CACR;KA9CP,GAAAA,EAAK,EA8CE;IAEf,CAAC;IACAX,EAAM,WAAW,KACjB,kBAAC,KAAD;KAAG,WAAU;KAAiF,UAAA;IAE3F,CAAA;IAEJ,kBAAC,OAAD;KAAK,WAAU;KACb,UAAAgB,EAAM,KAAK,MACX,kBAACC,GAAD,EAAA,UAAA,CACC,kBAACC,GAAD;MAAgB,SAAA;MACf,UAAA,kBAACC,GAAD;OACC,SAAQ;OACR,MAAK;OACL,cAAY,GAAGC,EAAK,KAAK,IAAIA,EAAK,MAAM,IAAIA,EAAK;OAHlD,UAAA;QAKC,kBAAC,QAAD;SAAM,WAAU;SAA4B,UAAAA,EAAK;QAAW,CAAA;QAC5D,kBAAC,QAAD;SAAM,WAAU;SAAhB,UAAA,CAAsC,KAAEA,EAAK,KAAY;;QACzD,kBAAC,QAAD;SAAM,WAAU;SAAhB,UAAA,CAAqC,KAAEA,EAAK,OAAc;;OACnD;;KACO,CAAA,GAChB,kBAACC,GAAD;MAAgB,OAAO;MAAO,WAAU;MAAxC,UAAA,CACC,kBAACC,GAAD,EAAA,UAAeF,EAAK,KAAmB,CAAA,GACvC,kBAACG,GAAD;OAAW,WAAU;OACnB,UAAAH,EAAK,WAAW;MACP,CAAA,CACI;KACR,CAAA,CAAA,EAAA,GAlBKA,EAAK,IAkBV,CACT;IACG,CAAA;GACc;EACR,CAAA,CAAA;;AAEf"}
@@ -27,15 +27,15 @@
27
27
  --basalt-space-md: 0.375rem;
28
28
  --basalt-space-lg: 0.5rem;
29
29
  --basalt-space-default: var(--basalt-space-lg);
30
- --basalt-text-xs: 0.6875rem;
30
+ --basalt-text-xs: 0.75rem;
31
31
  --basalt-text-sm: 0.75rem;
32
- --basalt-text-code: 0.8125rem;
32
+ --basalt-text-code: 0.875rem;
33
33
  --basalt-text-base: 0.875rem;
34
- --basalt-text-lg: 1rem;
34
+ --basalt-text-lg: 1.125rem;
35
35
  --basalt-text-xl: 1.125rem;
36
- --basalt-text-2xl: 1.25rem;
36
+ --basalt-text-2xl: 1.125rem;
37
37
  --basalt-text-3xl: 1.5rem;
38
- --basalt-text-4xl: 1.875rem;
38
+ --basalt-text-4xl: 1.5rem;
39
39
  --basalt-text-5xl: 2.25rem;
40
40
  --basalt-text-6xl: 3rem;
41
41
  --basalt-text-7xl: 3.75rem;
@@ -48,7 +48,7 @@
48
48
  --basalt-leading-inline: calc(16 / 12);
49
49
  --basalt-leading-action: calc(24 / 14);
50
50
  --basalt-leading-action-sm: 1.5;
51
- --basalt-leading-action-lg: 1.375;
51
+ --basalt-leading-action-lg: calc(22 / 14);
52
52
  --basalt-leading-banner: calc(22 / 14);
53
53
  --basalt-radius-sm: 0.25rem;
54
54
  --basalt-radius-md: 0.5rem;
@@ -104,15 +104,15 @@
104
104
  --basalt-size-icon-display: 1.5rem;
105
105
  --basalt-size-touch: 2.75rem;
106
106
  --basalt-size-menu-row: var(--basalt-size-control);
107
- --basalt-size-table-row: 2.25rem;
107
+ --basalt-size-table-row: 2.5rem;
108
108
  --basalt-size-check: 1rem;
109
109
  --basalt-size-check-sm: 0.75rem;
110
110
  --basalt-size-textarea: 5rem;
111
111
  --basalt-size-textarea-sm: 4rem;
112
112
  --basalt-size-textarea-lg: 6rem;
113
- --basalt-space-control-x: var(--basalt-space-lg);
114
- --basalt-space-control-x-sm: var(--basalt-space-md);
115
- --basalt-space-control-x-lg: var(--basalt-space-lg);
113
+ --basalt-space-control-x: 0.75rem;
114
+ --basalt-space-control-x-sm: 0.625rem;
115
+ --basalt-space-control-x-lg: 1rem;
116
116
  --basalt-space-control-y: var(--basalt-space-sm);
117
117
  --basalt-space-control-gap: var(--basalt-space-lg);
118
118
  --basalt-space-menu-inset: var(--basalt-space-lg);
@@ -127,8 +127,8 @@
127
127
  --basalt-space-layout-lg: 1.5rem;
128
128
  --basalt-space-layout-xl: 2rem;
129
129
  --basalt-space-field-gap: var(--basalt-space-lg);
130
- --basalt-space-table-x: var(--basalt-space-lg);
131
- --basalt-space-table-y: var(--basalt-space-md);
130
+ --basalt-space-table-x: 0.75rem;
131
+ --basalt-space-table-y: var(--basalt-space-lg);
132
132
  --basalt-space-overlay: var(--basalt-space-lg);
133
133
  --basalt-space-panel-x: var(--basalt-space-card);
134
134
  --basalt-space-panel-y: var(--basalt-space-card-sm);
@@ -178,16 +178,15 @@
178
178
  --basalt-input: 220 13% 88%;
179
179
  --basalt-ring: var(--basalt-primary);
180
180
  --basalt-control-fill: hsl(var(--basalt-secondary));
181
+ --basalt-surface-current: var(--basalt-card);
182
+ --basalt-surface-elevated: var(--basalt-secondary);
183
+ --basalt-hover-weight: 18%;
181
184
  --basalt-hover: hsl(var(--basalt-primary));
182
185
  @supports (color: color-mix(in lab, red, red)) {
183
- --basalt-hover: color-mix(in srgb, hsl(var(--basalt-primary)) 9.6%, hsl(var(--basalt-popover)));
184
- }
185
- --basalt-hover-end: hsl(var(--basalt-primary));
186
- @supports (color: color-mix(in lab, red, red)) {
187
- --basalt-hover-end: color-mix(
186
+ --basalt-hover: color-mix(
188
187
  in srgb,
189
- hsl(var(--basalt-primary)) 4.8%,
190
- hsl(var(--basalt-popover))
188
+ hsl(var(--basalt-primary)) 18%,
189
+ hsl(var(--basalt-surface-elevated))
191
190
  );
192
191
  }
193
192
  --basalt-selected: 0 0% 100%;
@@ -228,13 +227,13 @@
228
227
  --basalt-chart-yellow: 49 100% 69%;
229
228
  --basalt-chart-pearl: 215 12% 48%;
230
229
  --basalt-chart-1: var(--basalt-chart-blue);
231
- --basalt-chart-2: var(--basalt-chart-blue);
232
- --basalt-chart-3: var(--basalt-chart-green);
233
- --basalt-chart-4: var(--basalt-chart-green);
230
+ --basalt-chart-2: var(--basalt-chart-pink);
231
+ --basalt-chart-3: 182 38% 48%;
232
+ --basalt-chart-4: 280 32% 62%;
234
233
  --basalt-chart-5: var(--basalt-chart-green);
235
- --basalt-chart-6: var(--basalt-chart-green);
234
+ --basalt-chart-6: 27 54% 62%;
236
235
  --basalt-chart-7: var(--basalt-chart-yellow);
237
- --basalt-chart-8: var(--basalt-chart-yellow);
236
+ --basalt-chart-8: 237 36% 62%;
238
237
  --basalt-chart-9: var(--basalt-chart-pink);
239
238
  --basalt-chart-10: var(--basalt-chart-pink);
240
239
  --basalt-chart-11: var(--basalt-chart-pink);
@@ -263,6 +262,7 @@
263
262
  --basalt-accent-10: 280 53% 71%;
264
263
  --basalt-accent-11: 237 66% 69%;
265
264
  --basalt-accent-12: 210 20% 87%;
265
+ --basalt-success: var(--basalt-tag-success-foreground);
266
266
  --basalt-badge-green: 113 60% 30%;
267
267
  --basalt-badge-green-foreground: 0 0% 100%;
268
268
  --basalt-badge-teal: 182 62% 30%;
@@ -315,6 +315,7 @@
315
315
  --basalt-danger-tint: 0 40% 16%;
316
316
  --basalt-info-foreground: 0 0% 10%;
317
317
  --basalt-warning-foreground: 0 0% 10%;
318
+ --basalt-success: var(--basalt-tag-success-foreground);
318
319
  --basalt-badge-green: 113 55% 62%;
319
320
  --basalt-badge-green-foreground: 0 0% 10%;
320
321
  --basalt-badge-teal: var(--basalt-accent-3);
@@ -325,16 +326,15 @@
325
326
  --basalt-input: 0 0% 18%;
326
327
  --basalt-ring: var(--basalt-primary);
327
328
  --basalt-control-fill: hsl(var(--basalt-secondary));
329
+ --basalt-surface-current: var(--basalt-card);
330
+ --basalt-surface-elevated: var(--basalt-secondary);
331
+ --basalt-hover-weight: 18%;
328
332
  --basalt-hover: hsl(var(--basalt-primary));
329
333
  @supports (color: color-mix(in lab, red, red)) {
330
- --basalt-hover: color-mix(in srgb, hsl(var(--basalt-primary)) 16%, hsl(var(--basalt-popover)));
331
- }
332
- --basalt-hover-end: hsl(var(--basalt-primary));
333
- @supports (color: color-mix(in lab, red, red)) {
334
- --basalt-hover-end: color-mix(
334
+ --basalt-hover: color-mix(
335
335
  in srgb,
336
- hsl(var(--basalt-primary)) 9.6%,
337
- hsl(var(--basalt-popover))
336
+ hsl(var(--basalt-primary)) 18%,
337
+ hsl(var(--basalt-surface-elevated))
338
338
  );
339
339
  }
340
340
  --basalt-selected: 0 0% 22%;
@@ -362,13 +362,13 @@
362
362
  --basalt-chart-yellow: 49 100% 73%;
363
363
  --basalt-chart-pearl: 210 20% 86%;
364
364
  --basalt-chart-1: var(--basalt-chart-blue);
365
- --basalt-chart-2: var(--basalt-chart-blue);
366
- --basalt-chart-3: var(--basalt-chart-green);
367
- --basalt-chart-4: var(--basalt-chart-green);
365
+ --basalt-chart-2: var(--basalt-chart-pink);
366
+ --basalt-chart-3: 182 38% 64%;
367
+ --basalt-chart-4: 280 32% 74%;
368
368
  --basalt-chart-5: var(--basalt-chart-green);
369
- --basalt-chart-6: var(--basalt-chart-green);
369
+ --basalt-chart-6: 27 54% 72%;
370
370
  --basalt-chart-7: var(--basalt-chart-yellow);
371
- --basalt-chart-8: var(--basalt-chart-yellow);
371
+ --basalt-chart-8: 237 36% 74%;
372
372
  --basalt-chart-9: var(--basalt-chart-pink);
373
373
  --basalt-chart-10: var(--basalt-chart-pink);
374
374
  --basalt-chart-11: var(--basalt-chart-pink);
@@ -418,12 +418,24 @@
418
418
  }
419
419
  [data-basalt-surface-root] {
420
420
  background: hsl(var(--basalt-card));
421
- --basalt-control-fill: hsl(var(--basalt-card));
421
+ --basalt-surface-current: var(--basalt-card);
422
+ --basalt-surface-elevated: var(--basalt-secondary);
423
+ --basalt-control-fill: hsl(var(--basalt-secondary));
422
424
  --basalt-zebra-fill: hsl(var(--basalt-secondary));
423
425
  }
424
426
  [data-basalt-surface-root] [data-basalt-surface] {
425
427
  background: hsl(var(--basalt-secondary));
426
- --basalt-control-fill: hsl(var(--basalt-secondary));
428
+ --basalt-surface-current: var(--basalt-secondary);
429
+ --basalt-surface-elevated: var(--basalt-bright);
430
+ --basalt-control-fill: hsl(var(--basalt-bright));
431
+ --basalt-hover: hsl(var(--basalt-primary));
432
+ @supports (color: color-mix(in lab, red, red)) {
433
+ --basalt-hover: color-mix(
434
+ in srgb,
435
+ hsl(var(--basalt-primary)) var(--basalt-hover-weight),
436
+ hsl(var(--basalt-surface-elevated))
437
+ );
438
+ }
427
439
  --basalt-primary-hover: hsl(var(--basalt-primary));
428
440
  @supports (color: color-mix(in lab, red, red)) {
429
441
  --basalt-primary-hover: color-mix(
@@ -444,6 +456,7 @@
444
456
  }
445
457
  [data-basalt-surface-root] [data-basalt-surface] [data-basalt-surface] {
446
458
  background: hsl(var(--basalt-bright));
459
+ --basalt-surface-current: var(--basalt-bright);
447
460
  --basalt-control-fill: hsl(var(--basalt-bright));
448
461
  --basalt-zebra-fill: transparent;
449
462
  }
@@ -454,12 +467,31 @@
454
467
  }
455
468
  [data-basalt-surface]:not([data-basalt-surface-root] *):not([data-basalt-surface] *) {
456
469
  background: hsl(var(--basalt-card));
457
- --basalt-control-fill: hsl(var(--basalt-card));
470
+ --basalt-surface-current: var(--basalt-card);
471
+ --basalt-surface-elevated: var(--basalt-bright);
472
+ --basalt-control-fill: hsl(var(--basalt-bright));
473
+ --basalt-hover: hsl(var(--basalt-primary));
474
+ @supports (color: color-mix(in lab, red, red)) {
475
+ --basalt-hover: color-mix(
476
+ in srgb,
477
+ hsl(var(--basalt-primary)) var(--basalt-hover-weight),
478
+ hsl(var(--basalt-surface-elevated))
479
+ );
480
+ }
458
481
  --basalt-zebra-fill: hsl(var(--basalt-secondary));
459
482
  }
460
483
  [data-basalt-surface]:not([data-basalt-surface-root] *) [data-basalt-surface] {
461
484
  background: hsl(var(--basalt-secondary));
462
- --basalt-control-fill: hsl(var(--basalt-secondary));
485
+ --basalt-surface-current: var(--basalt-secondary);
486
+ --basalt-control-fill: hsl(var(--basalt-bright));
487
+ --basalt-hover: hsl(var(--basalt-primary));
488
+ @supports (color: color-mix(in lab, red, red)) {
489
+ --basalt-hover: color-mix(
490
+ in srgb,
491
+ hsl(var(--basalt-primary)) var(--basalt-hover-weight),
492
+ hsl(var(--basalt-surface-elevated))
493
+ );
494
+ }
463
495
  --basalt-primary-hover: hsl(var(--basalt-primary));
464
496
  @supports (color: color-mix(in lab, red, red)) {
465
497
  --basalt-primary-hover: color-mix(
@@ -480,6 +512,7 @@
480
512
  }
481
513
  [data-basalt-surface]:not([data-basalt-surface-root] *) [data-basalt-surface] [data-basalt-surface] {
482
514
  background: hsl(var(--basalt-bright));
515
+ --basalt-surface-current: var(--basalt-bright);
483
516
  --basalt-control-fill: hsl(var(--basalt-bright));
484
517
  --basalt-zebra-fill: transparent;
485
518
  }
@@ -488,6 +521,9 @@
488
521
  --basalt-control-fill: hsl(var(--basalt-bright));
489
522
  --basalt-zebra-fill: transparent;
490
523
  }
524
+ [data-basalt-table] tbody tr:not(:last-child), [data-basalt-table] tbody tr:not(:last-child) > td {
525
+ border-bottom: 1px solid hsl(var(--basalt-border) / 0.5);
526
+ }
491
527
  [data-basalt-table] tbody tr[aria-selected="true"] td {
492
528
  background: hsl(var(--basalt-selected));
493
529
  color: hsl(var(--basalt-selected-foreground));
@@ -495,8 +531,14 @@
495
531
  [data-basalt-table] tbody tr:hover:not([aria-selected="true"]) td {
496
532
  background: var(--basalt-hover);
497
533
  }
498
- [data-basalt-table] tbody tr:nth-child(even):not([aria-selected="true"]):not(:hover) td {
499
- background: var(--basalt-zebra-fill);
534
+ [data-basalt-table][data-striped="true"] tbody tr:nth-child(even) {
535
+ background-color: hsl(var(--basalt-surface-current));
536
+ }
537
+ [data-basalt-table-container][data-edge="attached"] :where(th, td):first-child {
538
+ padding-inline-start: var(--basalt-space-card);
539
+ }
540
+ [data-basalt-table-container][data-edge="attached"] :where(th, td):last-child {
541
+ padding-inline-end: var(--basalt-space-card);
500
542
  }
501
543
  [data-basalt-table] tbody tr[data-diff-change="remove"][data-included="true"][aria-selected="true"] td {
502
544
  background: hsl(var(--basalt-danger-tint));
@@ -531,7 +573,7 @@
531
573
  .basalt-action-lg {
532
574
  padding-block: var(--basalt-space-lg);
533
575
  padding-inline: var(--basalt-space-control-x-lg);
534
- font-size: var(--basalt-text-lg);
576
+ font-size: var(--basalt-text-base);
535
577
  line-height: var(--basalt-leading-action-lg);
536
578
  }
537
579
  .basalt-action-icon {
@@ -622,7 +664,7 @@
622
664
  height: var(--basalt-hover-height, 0px);
623
665
  transform: translate(var(--basalt-hover-x, 0px), var(--basalt-hover-y, 0px));
624
666
  border-radius: var(--basalt-radius-md);
625
- background: linear-gradient(90deg, var(--basalt-hover), var(--basalt-hover-end));
667
+ background: var(--basalt-hover);
626
668
  opacity: 0;
627
669
  transition: none;
628
670
  }
@@ -677,7 +719,7 @@
677
719
  width: var(--basalt-command-width);
678
720
  height: var(--basalt-command-height);
679
721
  border-radius: var(--basalt-radius-md);
680
- background: linear-gradient(90deg, var(--basalt-hover), var(--basalt-hover-end));
722
+ background: var(--basalt-hover);
681
723
  }
682
724
  .basalt-command-list[data-basalt-command-animated="true"]::before {
683
725
  transition: transform var(--basalt-motion-normal) var(--basalt-motion-ease);
@@ -1347,6 +1389,9 @@
1347
1389
  .-my-basalt-space-lg {
1348
1390
  margin-block: calc(var(--basalt-space-lg) * -1);
1349
1391
  }
1392
+ .-my-basalt-space-sm {
1393
+ margin-block: calc(var(--basalt-space-sm) * -1);
1394
+ }
1350
1395
  .my-basalt-card {
1351
1396
  margin-block: var(--basalt-space-card);
1352
1397
  }
@@ -1371,9 +1416,6 @@
1371
1416
  .my-basalt-layout-xl {
1372
1417
  margin-block: var(--basalt-space-layout-xl);
1373
1418
  }
1374
- .ms-auto {
1375
- margin-inline-start: auto;
1376
- }
1377
1419
  .mt-auto {
1378
1420
  margin-top: auto;
1379
1421
  }
@@ -1395,6 +1437,9 @@
1395
1437
  .-mr-\[calc\(\(var\(--basalt-size-action\)-var\(--basalt-size-icon\)\)\/2\)\] {
1396
1438
  margin-right: calc(calc((var(--basalt-size-action) - var(--basalt-size-icon)) / 2) * -1);
1397
1439
  }
1440
+ .-mr-basalt-space-sm {
1441
+ margin-right: calc(var(--basalt-space-sm) * -1);
1442
+ }
1398
1443
  .mr-basalt-space-lg {
1399
1444
  margin-right: var(--basalt-space-lg);
1400
1445
  }
@@ -2223,10 +2268,6 @@
2223
2268
  .rounded-none {
2224
2269
  border-radius: 0;
2225
2270
  }
2226
- .rounded-t-basalt-md {
2227
- border-top-left-radius: var(--basalt-radius-md);
2228
- border-top-right-radius: var(--basalt-radius-md);
2229
- }
2230
2271
  .rounded-l-basalt-md {
2231
2272
  border-top-left-radius: var(--basalt-radius-md);
2232
2273
  border-bottom-left-radius: var(--basalt-radius-md);
@@ -2500,10 +2541,10 @@
2500
2541
  --tw-gradient-from: transparent;
2501
2542
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2502
2543
  }
2503
- .via-basalt-backdrop\/10 {
2504
- --tw-gradient-via: hsl(var(--basalt-backdrop));
2544
+ .via-basalt-foreground\/10 {
2545
+ --tw-gradient-via: hsl(var(--basalt-foreground));
2505
2546
  @supports (color: color-mix(in lab, red, red)) {
2506
- --tw-gradient-via: color-mix(in oklab, hsl(var(--basalt-backdrop)) 10%, transparent);
2547
+ --tw-gradient-via: color-mix(in oklab, hsl(var(--basalt-foreground)) 10%, transparent);
2507
2548
  }
2508
2549
  --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
2509
2550
  --tw-gradient-stops: var(--tw-gradient-via-stops);
@@ -2689,6 +2730,12 @@
2689
2730
  .pe-basalt-table-x {
2690
2731
  padding-inline-end: var(--basalt-space-table-x);
2691
2732
  }
2733
+ .pt-basalt-card {
2734
+ padding-top: var(--basalt-space-card);
2735
+ }
2736
+ .pt-basalt-card-sm {
2737
+ padding-top: var(--basalt-space-card-sm);
2738
+ }
2692
2739
  .pt-basalt-layout {
2693
2740
  padding-top: var(--basalt-space-layout);
2694
2741
  }
@@ -2698,9 +2745,6 @@
2698
2745
  .pt-basalt-nav-gap {
2699
2746
  padding-top: var(--basalt-space-nav-gap);
2700
2747
  }
2701
- .pt-basalt-space-lg {
2702
- padding-top: var(--basalt-space-lg);
2703
- }
2704
2748
  .pr-basalt-row-x {
2705
2749
  padding-right: var(--basalt-space-row-x);
2706
2750
  }
@@ -2710,6 +2754,9 @@
2710
2754
  .pr-basalt-space-sm {
2711
2755
  padding-right: var(--basalt-space-sm);
2712
2756
  }
2757
+ .pb-0 {
2758
+ padding-bottom: 0px;
2759
+ }
2713
2760
  .pb-basalt-panel-y {
2714
2761
  padding-bottom: var(--basalt-space-panel-y);
2715
2762
  }
@@ -2758,30 +2805,14 @@
2758
2805
  .font-mono {
2759
2806
  font-family: var(--font-mono);
2760
2807
  }
2761
- .text-basalt-2xl {
2762
- font-size: var(--basalt-text-2xl);
2763
- line-height: var(--tw-leading, var(--basalt-leading-body));
2764
- }
2765
2808
  .text-basalt-3xl {
2766
2809
  font-size: var(--basalt-text-3xl);
2767
2810
  line-height: var(--tw-leading, var(--basalt-leading-body));
2768
2811
  }
2769
- .text-basalt-4xl {
2770
- font-size: var(--basalt-text-4xl);
2771
- line-height: var(--tw-leading, var(--basalt-leading-body));
2772
- }
2773
2812
  .text-basalt-base {
2774
2813
  font-size: var(--basalt-text-base);
2775
2814
  line-height: var(--tw-leading, var(--basalt-leading-body));
2776
2815
  }
2777
- .text-basalt-code {
2778
- font-size: var(--basalt-text-code);
2779
- line-height: var(--tw-leading, var(--basalt-leading-body));
2780
- }
2781
- .text-basalt-lg {
2782
- font-size: var(--basalt-text-lg);
2783
- line-height: var(--tw-leading, var(--basalt-leading-body));
2784
- }
2785
2816
  .text-basalt-sm {
2786
2817
  font-size: var(--basalt-text-sm);
2787
2818
  line-height: var(--tw-leading, var(--basalt-leading-body));
@@ -2810,10 +2841,6 @@
2810
2841
  --tw-leading: var(--basalt-line-relaxed);
2811
2842
  line-height: var(--basalt-line-relaxed);
2812
2843
  }
2813
- .leading-\[var\(--basalt-line-row\)\] {
2814
- --tw-leading: var(--basalt-line-row);
2815
- line-height: var(--basalt-line-row);
2816
- }
2817
2844
  .leading-basalt-relaxed {
2818
2845
  --tw-leading: var(--basalt-leading-relaxed);
2819
2846
  line-height: var(--basalt-leading-relaxed);
@@ -2838,6 +2865,10 @@
2838
2865
  --tw-font-weight: var(--font-weight-semibold);
2839
2866
  font-weight: var(--font-weight-semibold);
2840
2867
  }
2868
+ .tracking-\[0\.04em\] {
2869
+ --tw-tracking: 0.04em;
2870
+ letter-spacing: 0.04em;
2871
+ }
2841
2872
  .tracking-tight {
2842
2873
  --tw-tracking: var(--tracking-tight);
2843
2874
  letter-spacing: var(--tracking-tight);
@@ -2944,6 +2975,9 @@
2944
2975
  color: color-mix(in oklab, hsl(var(--basalt-primary-foreground)) 80%, transparent);
2945
2976
  }
2946
2977
  }
2978
+ .text-basalt-success {
2979
+ color: var(--basalt-success);
2980
+ }
2947
2981
  .text-basalt-tag-amber-foreground {
2948
2982
  color: var(--basalt-tag-amber-foreground);
2949
2983
  }
@@ -3464,9 +3498,6 @@
3464
3498
  .data-\[state\=active\]\:animate-basalt-tab-in[data-state="active"] {
3465
3499
  animation: basalt-tab-in var(--basalt-motion-normal) var(--basalt-motion-ease);
3466
3500
  }
3467
- .data-\[state\=active\]\:bg-basalt-selected[data-state="active"] {
3468
- background-color: hsl(var(--basalt-selected));
3469
- }
3470
3501
  .data-\[state\=active\]\:text-basalt-selected-foreground[data-state="active"] {
3471
3502
  color: hsl(var(--basalt-selected-foreground));
3472
3503
  }
@@ -3526,6 +3557,13 @@
3526
3557
  animation: basalt-overlay-in var(--basalt-floating-duration-enter)
3527
3558
  var(--basalt-motion-ease-enter);
3528
3559
  }
3560
+ .data-\[state\=open\]\:border-b[data-state="open"] {
3561
+ border-bottom-style: var(--tw-border-style);
3562
+ border-bottom-width: 1px;
3563
+ }
3564
+ .data-\[state\=open\]\:border-basalt-border[data-state="open"] {
3565
+ border-color: hsl(var(--basalt-border));
3566
+ }
3529
3567
  .data-\[state\=open\]\:bg-basalt-selected[data-state="open"] {
3530
3568
  background-color: hsl(var(--basalt-selected));
3531
3569
  }
@@ -3626,10 +3664,6 @@
3626
3664
  .md\:px-basalt-space-lg {
3627
3665
  padding-inline: var(--basalt-space-lg);
3628
3666
  }
3629
- .md\:text-basalt-5xl {
3630
- font-size: var(--basalt-text-5xl);
3631
- line-height: var(--tw-leading, var(--basalt-leading-body));
3632
- }
3633
3667
  .md\:shadow-sm {
3634
3668
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
3635
3669
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -175,6 +175,7 @@
175
175
  --color-basalt-muted-foreground: hsl(var(--basalt-muted-foreground));
176
176
  --color-basalt-accent: hsl(var(--basalt-accent));
177
177
  --color-basalt-accent-foreground: hsl(var(--basalt-accent-foreground));
178
+ --color-basalt-success: var(--basalt-success);
178
179
  --color-basalt-destructive: hsl(var(--basalt-destructive));
179
180
  --color-basalt-destructive-foreground: hsl(var(--basalt-destructive-foreground));
180
181
  --color-basalt-info: hsl(var(--basalt-info));