@robr0/design-system 0.14.0 → 0.16.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.
- package/README.md +11 -8
- package/behaviors/focusable.d.ts +26 -0
- package/behaviors/focusable.js +18 -0
- package/behaviors/useFocusScope.d.ts +38 -0
- package/behaviors/useFocusScope.js +82 -0
- package/behaviors/useLayer.d.ts +43 -0
- package/behaviors/useLayer.js +55 -0
- package/behaviors/useMounted.d.ts +7 -0
- package/behaviors/useMounted.js +14 -0
- package/behaviors/useScrollLock.d.ts +55 -0
- package/behaviors/useScrollLock.js +59 -0
- package/charts.d.ts +1 -0
- package/charts.js +2 -0
- package/components/AgentPlan/AgentPlan.css +12 -3
- package/components/AiButton/AiButton.css +327 -0
- package/components/AiButton/AiButton.d.ts +42 -0
- package/components/AiButton/AiButton.js +140 -16
- package/components/AlertDialog/AlertDialog.js +13 -58
- package/components/AnchorNav/AnchorNav.css +74 -0
- package/components/AnchorNav/AnchorNav.d.ts +7 -0
- package/components/AnchorNav/AnchorNav.js +74 -21
- package/components/Button/Button.css +54 -0
- package/components/Button/Button.d.ts +2 -2
- package/components/Chart/Chart.css +4 -1
- package/components/CircularButton/CircularButton.css +46 -0
- package/components/CircularButton/CircularButton.d.ts +13 -2
- package/components/CircularButton/CircularButton.js +19 -16
- package/components/Combobox/Combobox.js +2 -1
- package/components/CommandPalette/CommandPalette.css +36 -8
- package/components/CommandPalette/CommandPalette.js +9 -54
- package/components/Composer/Composer.css +72 -0
- package/components/Composer/Composer.d.ts +25 -6
- package/components/Composer/Composer.js +8 -0
- package/components/ContributionGraph/ContributionGraph.css +21 -0
- package/components/ContributionGraph/ContributionGraph.js +18 -10
- package/components/Dialog/Dialog.js +9 -62
- package/components/Drawer/Drawer.js +9 -62
- package/components/Dropdown/Dropdown.js +2 -1
- package/components/DropdownMenu/DropdownMenu.js +11 -3
- package/components/Figure/Figure.css +14 -4
- package/components/Figure/Figure.js +11 -20
- package/components/FunnelChart/FunnelChart.css +11 -36
- package/components/FunnelChart/FunnelChart.d.ts +19 -16
- package/components/FunnelChart/FunnelChart.js +67 -39
- package/components/Gauge/Gauge.css +11 -1
- package/components/Meter/Meter.css +10 -1
- package/components/ModelPicker/ModelPicker.js +2 -1
- package/components/Popover/Popover.js +3 -0
- package/components/ProgressBar/ProgressBar.css +1 -1
- package/components/SegmentedControl/SegmentedControl.css +27 -2
- package/components/SegmentedControl/SegmentedControl.d.ts +3 -1
- package/components/SegmentedControl/SegmentedControl.js +3 -1
- package/components/Slider/Slider.css +1 -1
- package/components/Slider/Slider.js +1 -1
- package/components/SourceTrail/SourceTrail.css +209 -0
- package/components/SourceTrail/SourceTrail.d.ts +49 -0
- package/components/SourceTrail/SourceTrail.js +108 -0
- package/components/Sparkline/Sparkline.css +26 -2
- package/components/Sparkline/Sparkline.js +2 -1
- package/components/Spinner/Spinner.css +1 -1
- package/components/SplitButton/SplitButton.d.ts +1 -1
- package/components/SplitButton/SplitButton.js +1 -0
- package/components/TimePicker/TimePicker.js +2 -1
- package/components/ToggleGroup/ToggleGroup.css +17 -0
- package/components/ToggleGroup/ToggleGroup.d.ts +2 -0
- package/components/ToggleGroup/ToggleGroup.js +2 -0
- package/components/ToolCall/ToolCall.css +16 -3
- package/components/Tooltip/Tooltip.css +24 -7
- package/components/Tooltip/Tooltip.d.ts +2 -1
- package/components/Tooltip/Tooltip.js +6 -0
- package/components/UsageCard/UsageCard.css +30 -0
- package/components/UsageCard/UsageCard.d.ts +48 -0
- package/components/UsageCard/UsageCard.js +54 -0
- package/components/registry.d.ts +8 -2
- package/components/registry.json +43 -16
- package/components/registry.json.d.ts +43 -16
- package/components/registry.json.js +1 -1
- package/index.d.ts +2 -1
- package/index.js +4 -2
- package/package.json +5 -1
- package/tokens/motion.d.ts +10 -4
- package/tokens/motion.js +7 -1
- package/tokens/registry.json +10 -0
- package/tokens/registry.json.d.ts +10 -0
- package/tokens/registry.json.js +1 -1
- package/tokens/tokens-dark.css +22 -2
- package/tokens/tokens-light.css +38 -11
- package/tokens/tokens-primitives.css +3 -0
package/tokens/motion.js
CHANGED
|
@@ -7,14 +7,20 @@ const MOTION_SCROLL_SETTLE_MS = 600;
|
|
|
7
7
|
const MOTION_STREAM_FLOOR_CPS = 70;
|
|
8
8
|
const MOTION_STREAM_DRAIN_MS = 250;
|
|
9
9
|
const MOTION_STREAM_CHAR_INTERVAL_MS = 15;
|
|
10
|
+
const MOTION_HOVER_EXIT_GRACE_MS = 600;
|
|
11
|
+
const MOTION_SUMMARY_THINK_MS = 900;
|
|
12
|
+
const MOTION_SUMMARY_REVEAL_MS = 1600;
|
|
10
13
|
export {
|
|
11
14
|
MOTION_AUTOPLAY_INTERVAL_MS,
|
|
12
15
|
MOTION_AUTO_DISMISS_MS,
|
|
13
16
|
MOTION_FEEDBACK_RESET_MS,
|
|
17
|
+
MOTION_HOVER_EXIT_GRACE_MS,
|
|
14
18
|
MOTION_HOVER_HIDE_DELAY_MS,
|
|
15
19
|
MOTION_HOVER_SHOW_DELAY_MS,
|
|
16
20
|
MOTION_SCROLL_SETTLE_MS,
|
|
17
21
|
MOTION_STREAM_CHAR_INTERVAL_MS,
|
|
18
22
|
MOTION_STREAM_DRAIN_MS,
|
|
19
|
-
MOTION_STREAM_FLOOR_CPS
|
|
23
|
+
MOTION_STREAM_FLOOR_CPS,
|
|
24
|
+
MOTION_SUMMARY_REVEAL_MS,
|
|
25
|
+
MOTION_SUMMARY_THINK_MS
|
|
20
26
|
};
|
package/tokens/registry.json
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
"colour": [
|
|
5
5
|
"--color-action-icon-active",
|
|
6
6
|
"--color-action-icon-default",
|
|
7
|
+
"--color-action-neutral-bg",
|
|
8
|
+
"--color-action-neutral-bg-active",
|
|
9
|
+
"--color-action-neutral-bg-hover",
|
|
10
|
+
"--color-action-neutral-text",
|
|
7
11
|
"--color-action-passive-bg",
|
|
8
12
|
"--color-action-passive-bg-active",
|
|
9
13
|
"--color-action-passive-bg-hover",
|
|
@@ -47,6 +51,7 @@
|
|
|
47
51
|
"--color-chat-bubble-received-text",
|
|
48
52
|
"--color-chat-bubble-sent-bg",
|
|
49
53
|
"--color-chat-bubble-sent-text",
|
|
54
|
+
"--color-chat-context-bg",
|
|
50
55
|
"--color-control-thumb",
|
|
51
56
|
"--color-core-accent-amber",
|
|
52
57
|
"--color-core-accent-cobalt",
|
|
@@ -72,18 +77,23 @@
|
|
|
72
77
|
"--color-scrim",
|
|
73
78
|
"--color-status-error-bg",
|
|
74
79
|
"--color-status-error-border",
|
|
80
|
+
"--color-status-error-icon",
|
|
75
81
|
"--color-status-error-text",
|
|
76
82
|
"--color-status-info-bg",
|
|
77
83
|
"--color-status-info-border",
|
|
84
|
+
"--color-status-info-icon",
|
|
78
85
|
"--color-status-info-text",
|
|
79
86
|
"--color-status-neutral-bg",
|
|
80
87
|
"--color-status-neutral-border",
|
|
88
|
+
"--color-status-neutral-icon",
|
|
81
89
|
"--color-status-neutral-text",
|
|
82
90
|
"--color-status-positive-bg",
|
|
83
91
|
"--color-status-positive-border",
|
|
92
|
+
"--color-status-positive-icon",
|
|
84
93
|
"--color-status-positive-text",
|
|
85
94
|
"--color-status-warning-bg",
|
|
86
95
|
"--color-status-warning-border",
|
|
96
|
+
"--color-status-warning-icon",
|
|
87
97
|
"--color-status-warning-text",
|
|
88
98
|
"--color-text-inverse",
|
|
89
99
|
"--color-text-on-inverse",
|
|
@@ -4,6 +4,10 @@ declare const _default: {
|
|
|
4
4
|
"colour": [
|
|
5
5
|
"--color-action-icon-active",
|
|
6
6
|
"--color-action-icon-default",
|
|
7
|
+
"--color-action-neutral-bg",
|
|
8
|
+
"--color-action-neutral-bg-active",
|
|
9
|
+
"--color-action-neutral-bg-hover",
|
|
10
|
+
"--color-action-neutral-text",
|
|
7
11
|
"--color-action-passive-bg",
|
|
8
12
|
"--color-action-passive-bg-active",
|
|
9
13
|
"--color-action-passive-bg-hover",
|
|
@@ -47,6 +51,7 @@ declare const _default: {
|
|
|
47
51
|
"--color-chat-bubble-received-text",
|
|
48
52
|
"--color-chat-bubble-sent-bg",
|
|
49
53
|
"--color-chat-bubble-sent-text",
|
|
54
|
+
"--color-chat-context-bg",
|
|
50
55
|
"--color-control-thumb",
|
|
51
56
|
"--color-core-accent-amber",
|
|
52
57
|
"--color-core-accent-cobalt",
|
|
@@ -72,18 +77,23 @@ declare const _default: {
|
|
|
72
77
|
"--color-scrim",
|
|
73
78
|
"--color-status-error-bg",
|
|
74
79
|
"--color-status-error-border",
|
|
80
|
+
"--color-status-error-icon",
|
|
75
81
|
"--color-status-error-text",
|
|
76
82
|
"--color-status-info-bg",
|
|
77
83
|
"--color-status-info-border",
|
|
84
|
+
"--color-status-info-icon",
|
|
78
85
|
"--color-status-info-text",
|
|
79
86
|
"--color-status-neutral-bg",
|
|
80
87
|
"--color-status-neutral-border",
|
|
88
|
+
"--color-status-neutral-icon",
|
|
81
89
|
"--color-status-neutral-text",
|
|
82
90
|
"--color-status-positive-bg",
|
|
83
91
|
"--color-status-positive-border",
|
|
92
|
+
"--color-status-positive-icon",
|
|
84
93
|
"--color-status-positive-text",
|
|
85
94
|
"--color-status-warning-bg",
|
|
86
95
|
"--color-status-warning-border",
|
|
96
|
+
"--color-status-warning-icon",
|
|
87
97
|
"--color-status-warning-text",
|
|
88
98
|
"--color-text-inverse",
|
|
89
99
|
"--color-text-on-inverse",
|
package/tokens/registry.json.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const categories = { "colour": ["--color-action-icon-active", "--color-action-icon-default", "--color-action-passive-bg", "--color-action-passive-bg-active", "--color-action-passive-bg-hover", "--color-action-passive-text", "--color-action-primary-bg", "--color-action-primary-bg-active", "--color-action-primary-bg-hover", "--color-action-primary-border", "--color-action-primary-border-secondary", "--color-action-primary-border-tertiary", "--color-action-primary-text", "--color-action-primary-text-active", "--color-action-primary-text-secondary", "--color-action-primary-text-tertiary", "--color-ai-gradient-end", "--color-ai-gradient-mid", "--color-ai-gradient-start", "--color-bg-container-border", "--color-bg-container-inverse", "--color-bg-container-primary", "--color-bg-container-primary-semi", "--color-bg-container-primary-transparent", "--color-bg-container-secondary", "--color-bg-container-tertiary", "--color-bg-glass", "--color-bg-page-inverse", "--color-bg-page-primary", "--color-chart-contribution-0", "--color-chart-contribution-1", "--color-chart-contribution-2", "--color-chart-contribution-3", "--color-chart-contribution-4", "--color-chart-series-1", "--color-chart-series-2", "--color-chart-series-3", "--color-chart-series-4", "--color-chart-series-5", "--color-chart-series-6", "--color-chart-series-7", "--color-chat-bubble-received-bg", "--color-chat-bubble-received-text", "--color-chat-bubble-sent-bg", "--color-chat-bubble-sent-text", "--color-control-thumb", "--color-core-accent-amber", "--color-core-accent-cobalt", "--color-core-accent-coral", "--color-core-accent-gold", "--color-core-accent-mint", "--color-core-accent-violet", "--color-core-ui-primary", "--color-core-ui-secondary", "--color-divider", "--color-icon-primary", "--color-icon-secondary", "--color-input-bg-disabled", "--color-input-bg-primary", "--color-input-border-disabled", "--color-input-border-hover", "--color-input-border-primary", "--color-input-border-selected", "--color-input-text-disabled", "--color-input-text-inverse", "--color-input-text-placeholder", "--color-input-text-primary", "--color-scrim", "--color-status-error-bg", "--color-status-error-border", "--color-status-error-text", "--color-status-info-bg", "--color-status-info-border", "--color-status-info-text", "--color-status-neutral-bg", "--color-status-neutral-border", "--color-status-neutral-text", "--color-status-positive-bg", "--color-status-positive-border", "--color-status-positive-text", "--color-status-warning-bg", "--color-status-warning-border", "--color-status-warning-text", "--color-text-inverse", "--color-text-on-inverse", "--color-text-primary", "--color-text-secondary", "--color-text-tertiary", "--color-trend-down", "--color-trend-up"], "typography": ["--font-caption-family", "--font-caption-letter-spacing", "--font-caption-line-height", "--font-caption-size", "--font-caption-weight", "--font-display-1-family", "--font-display-1-letter-spacing", "--font-display-1-line-height", "--font-display-1-size", "--font-display-1-weight", "--font-display-2-family", "--font-display-2-letter-spacing", "--font-display-2-line-height", "--font-display-2-size", "--font-display-2-weight", "--font-family-code", "--font-family-primary", "--font-heading-1-family", "--font-heading-1-letter-spacing", "--font-heading-1-line-height", "--font-heading-1-size", "--font-heading-1-weight", "--font-heading-2-family", "--font-heading-2-letter-spacing", "--font-heading-2-line-height", "--font-heading-2-size", "--font-heading-2-weight", "--font-heading-3-family", "--font-heading-3-letter-spacing", "--font-heading-3-line-height", "--font-heading-3-size", "--font-heading-3-weight", "--font-mega-1-family", "--font-mega-1-letter-spacing", "--font-mega-1-line-height", "--font-mega-1-size", "--font-mega-1-weight", "--font-mega-2-family", "--font-mega-2-letter-spacing", "--font-mega-2-line-height", "--font-mega-2-size", "--font-mega-2-weight", "--font-overline-family", "--font-overline-letter-spacing", "--font-overline-line-height", "--font-overline-size", "--font-overline-weight", "--font-paragraph-em-family", "--font-paragraph-em-letter-spacing", "--font-paragraph-em-line-height", "--font-paragraph-em-size", "--font-paragraph-em-weight", "--font-paragraph-family", "--font-paragraph-letter-spacing", "--font-paragraph-line-height", "--font-paragraph-size", "--font-paragraph-sm-em-family", "--font-paragraph-sm-em-letter-spacing", "--font-paragraph-sm-em-line-height", "--font-paragraph-sm-em-size", "--font-paragraph-sm-em-weight", "--font-paragraph-sm-family", "--font-paragraph-sm-letter-spacing", "--font-paragraph-sm-line-height", "--font-paragraph-sm-size", "--font-paragraph-sm-weight", "--font-paragraph-weight", "--font-sub-display-family", "--font-sub-display-letter-spacing", "--font-sub-display-line-height", "--font-sub-display-size", "--font-sub-display-weight", "--font-title-body-family", "--font-title-body-letter-spacing", "--font-title-body-line-height", "--font-title-body-size", "--font-title-body-weight"], "spacing": ["--gap-lg", "--gap-md", "--gap-sm", "--gap-sm-md", "--gap-xl", "--gap-xs", "--gap-xxl", "--gap-xxs", "--gap-xxxl", "--gap-xxxxl", "--padding-lg", "--padding-md", "--padding-sm", "--padding-sm-md", "--padding-xl", "--padding-xs", "--padding-xxl", "--padding-xxs", "--padding-xxxs"], "radius": ["--radius-composer", "--radius-full", "--radius-lg", "--radius-md", "--radius-sm", "--radius-xl", "--radius-xs", "--radius-xxl", "--radius-xxs"], "border": ["--border-md", "--border-xs"], "shadow": ["--shadow-floating", "--shadow-modal"], "icons": ["--icon-size-lg", "--icon-size-md", "--icon-size-sm", "--icon-size-xl"], "motion": ["--motion-duration-base", "--motion-duration-deliberate", "--motion-duration-fast", "--motion-duration-instant", "--motion-duration-loop-matrix", "--motion-duration-loop-shimmer", "--motion-duration-loop-spin", "--motion-duration-slow", "--motion-duration-slower", "--motion-ease-emphasized", "--motion-ease-entrance", "--motion-ease-linear", "--motion-ease-spring", "--motion-ease-standard"] };
|
|
1
|
+
const categories = { "colour": ["--color-action-icon-active", "--color-action-icon-default", "--color-action-neutral-bg", "--color-action-neutral-bg-active", "--color-action-neutral-bg-hover", "--color-action-neutral-text", "--color-action-passive-bg", "--color-action-passive-bg-active", "--color-action-passive-bg-hover", "--color-action-passive-text", "--color-action-primary-bg", "--color-action-primary-bg-active", "--color-action-primary-bg-hover", "--color-action-primary-border", "--color-action-primary-border-secondary", "--color-action-primary-border-tertiary", "--color-action-primary-text", "--color-action-primary-text-active", "--color-action-primary-text-secondary", "--color-action-primary-text-tertiary", "--color-ai-gradient-end", "--color-ai-gradient-mid", "--color-ai-gradient-start", "--color-bg-container-border", "--color-bg-container-inverse", "--color-bg-container-primary", "--color-bg-container-primary-semi", "--color-bg-container-primary-transparent", "--color-bg-container-secondary", "--color-bg-container-tertiary", "--color-bg-glass", "--color-bg-page-inverse", "--color-bg-page-primary", "--color-chart-contribution-0", "--color-chart-contribution-1", "--color-chart-contribution-2", "--color-chart-contribution-3", "--color-chart-contribution-4", "--color-chart-series-1", "--color-chart-series-2", "--color-chart-series-3", "--color-chart-series-4", "--color-chart-series-5", "--color-chart-series-6", "--color-chart-series-7", "--color-chat-bubble-received-bg", "--color-chat-bubble-received-text", "--color-chat-bubble-sent-bg", "--color-chat-bubble-sent-text", "--color-chat-context-bg", "--color-control-thumb", "--color-core-accent-amber", "--color-core-accent-cobalt", "--color-core-accent-coral", "--color-core-accent-gold", "--color-core-accent-mint", "--color-core-accent-violet", "--color-core-ui-primary", "--color-core-ui-secondary", "--color-divider", "--color-icon-primary", "--color-icon-secondary", "--color-input-bg-disabled", "--color-input-bg-primary", "--color-input-border-disabled", "--color-input-border-hover", "--color-input-border-primary", "--color-input-border-selected", "--color-input-text-disabled", "--color-input-text-inverse", "--color-input-text-placeholder", "--color-input-text-primary", "--color-scrim", "--color-status-error-bg", "--color-status-error-border", "--color-status-error-icon", "--color-status-error-text", "--color-status-info-bg", "--color-status-info-border", "--color-status-info-icon", "--color-status-info-text", "--color-status-neutral-bg", "--color-status-neutral-border", "--color-status-neutral-icon", "--color-status-neutral-text", "--color-status-positive-bg", "--color-status-positive-border", "--color-status-positive-icon", "--color-status-positive-text", "--color-status-warning-bg", "--color-status-warning-border", "--color-status-warning-icon", "--color-status-warning-text", "--color-text-inverse", "--color-text-on-inverse", "--color-text-primary", "--color-text-secondary", "--color-text-tertiary", "--color-trend-down", "--color-trend-up"], "typography": ["--font-caption-family", "--font-caption-letter-spacing", "--font-caption-line-height", "--font-caption-size", "--font-caption-weight", "--font-display-1-family", "--font-display-1-letter-spacing", "--font-display-1-line-height", "--font-display-1-size", "--font-display-1-weight", "--font-display-2-family", "--font-display-2-letter-spacing", "--font-display-2-line-height", "--font-display-2-size", "--font-display-2-weight", "--font-family-code", "--font-family-primary", "--font-heading-1-family", "--font-heading-1-letter-spacing", "--font-heading-1-line-height", "--font-heading-1-size", "--font-heading-1-weight", "--font-heading-2-family", "--font-heading-2-letter-spacing", "--font-heading-2-line-height", "--font-heading-2-size", "--font-heading-2-weight", "--font-heading-3-family", "--font-heading-3-letter-spacing", "--font-heading-3-line-height", "--font-heading-3-size", "--font-heading-3-weight", "--font-mega-1-family", "--font-mega-1-letter-spacing", "--font-mega-1-line-height", "--font-mega-1-size", "--font-mega-1-weight", "--font-mega-2-family", "--font-mega-2-letter-spacing", "--font-mega-2-line-height", "--font-mega-2-size", "--font-mega-2-weight", "--font-overline-family", "--font-overline-letter-spacing", "--font-overline-line-height", "--font-overline-size", "--font-overline-weight", "--font-paragraph-em-family", "--font-paragraph-em-letter-spacing", "--font-paragraph-em-line-height", "--font-paragraph-em-size", "--font-paragraph-em-weight", "--font-paragraph-family", "--font-paragraph-letter-spacing", "--font-paragraph-line-height", "--font-paragraph-size", "--font-paragraph-sm-em-family", "--font-paragraph-sm-em-letter-spacing", "--font-paragraph-sm-em-line-height", "--font-paragraph-sm-em-size", "--font-paragraph-sm-em-weight", "--font-paragraph-sm-family", "--font-paragraph-sm-letter-spacing", "--font-paragraph-sm-line-height", "--font-paragraph-sm-size", "--font-paragraph-sm-weight", "--font-paragraph-weight", "--font-sub-display-family", "--font-sub-display-letter-spacing", "--font-sub-display-line-height", "--font-sub-display-size", "--font-sub-display-weight", "--font-title-body-family", "--font-title-body-letter-spacing", "--font-title-body-line-height", "--font-title-body-size", "--font-title-body-weight"], "spacing": ["--gap-lg", "--gap-md", "--gap-sm", "--gap-sm-md", "--gap-xl", "--gap-xs", "--gap-xxl", "--gap-xxs", "--gap-xxxl", "--gap-xxxxl", "--padding-lg", "--padding-md", "--padding-sm", "--padding-sm-md", "--padding-xl", "--padding-xs", "--padding-xxl", "--padding-xxs", "--padding-xxxs"], "radius": ["--radius-composer", "--radius-full", "--radius-lg", "--radius-md", "--radius-sm", "--radius-xl", "--radius-xs", "--radius-xxl", "--radius-xxs"], "border": ["--border-md", "--border-xs"], "shadow": ["--shadow-floating", "--shadow-modal"], "icons": ["--icon-size-lg", "--icon-size-md", "--icon-size-sm", "--icon-size-xl"], "motion": ["--motion-duration-base", "--motion-duration-deliberate", "--motion-duration-fast", "--motion-duration-instant", "--motion-duration-loop-matrix", "--motion-duration-loop-shimmer", "--motion-duration-loop-spin", "--motion-duration-slow", "--motion-duration-slower", "--motion-ease-emphasized", "--motion-ease-entrance", "--motion-ease-linear", "--motion-ease-spring", "--motion-ease-standard"] };
|
|
2
2
|
const registry = {
|
|
3
3
|
categories
|
|
4
4
|
};
|
package/tokens/tokens-dark.css
CHANGED
|
@@ -40,6 +40,8 @@
|
|
|
40
40
|
--color-chat-bubble-sent-text: var(--color-text-primary);
|
|
41
41
|
--color-chat-bubble-received-bg: var(--color-bg-container-secondary);
|
|
42
42
|
--color-chat-bubble-received-text: var(--color-text-primary);
|
|
43
|
+
/* The composer's context note — one step off the #050505 shell */
|
|
44
|
+
--color-chat-context-bg: var(--primitive-neutral-09);
|
|
43
45
|
|
|
44
46
|
/* Overlay & controls */
|
|
45
47
|
--color-scrim: var(--primitive-true-black-strong);
|
|
@@ -75,33 +77,51 @@
|
|
|
75
77
|
--color-action-passive-bg-hover: var(--primitive-neutral-08-semi);
|
|
76
78
|
--color-action-passive-bg-active: var(--primitive-neutral-07-semi);
|
|
77
79
|
|
|
80
|
+
/* Action - Neutral (grey filled buttons). The fill stays visible at
|
|
81
|
+
rest, one step above the container greys; hover and active brighten
|
|
82
|
+
toward the page's opposite, like the primary family. */
|
|
83
|
+
--color-action-neutral-bg: var(--primitive-neutral-08);
|
|
84
|
+
--color-action-neutral-bg-hover: var(--primitive-neutral-07);
|
|
85
|
+
--color-action-neutral-bg-active: var(--primitive-neutral-06);
|
|
86
|
+
--color-action-neutral-text: var(--primitive-neutral-01);
|
|
87
|
+
|
|
78
88
|
/* Status - Positive */
|
|
79
89
|
--color-status-positive-bg: var(--primitive-green-10);
|
|
80
90
|
--color-status-positive-border: var(--primitive-green-07);
|
|
81
91
|
--color-status-positive-text: var(--primitive-green-01);
|
|
92
|
+
--color-status-positive-icon: var(--primitive-green-07);
|
|
82
93
|
|
|
83
94
|
/* Status - Warning */
|
|
84
95
|
--color-status-warning-bg: var(--primitive-orange-10);
|
|
85
96
|
--color-status-warning-border: var(--primitive-orange-07);
|
|
86
97
|
--color-status-warning-text: var(--primitive-orange-01);
|
|
98
|
+
--color-status-warning-icon: var(--primitive-orange-07);
|
|
87
99
|
|
|
88
100
|
/* Status - Error */
|
|
89
101
|
--color-status-error-bg: var(--primitive-red-10);
|
|
90
102
|
--color-status-error-border: var(--primitive-red-07);
|
|
91
103
|
--color-status-error-text: var(--primitive-red-01);
|
|
104
|
+
--color-status-error-icon: var(--primitive-red-06);
|
|
92
105
|
|
|
93
106
|
/* Status - Info */
|
|
94
107
|
--color-status-info-bg: var(--primitive-blue-10);
|
|
95
108
|
--color-status-info-border: var(--primitive-blue-07);
|
|
96
109
|
--color-status-info-text: var(--primitive-blue-01);
|
|
110
|
+
--color-status-info-icon: var(--primitive-blue-05);
|
|
97
111
|
|
|
98
112
|
/* Status - Neutral */
|
|
99
113
|
--color-status-neutral-bg: var(--primitive-neutral-08);
|
|
100
114
|
--color-status-neutral-border: var(--primitive-neutral-06);
|
|
101
115
|
--color-status-neutral-text: var(--primitive-neutral-01);
|
|
116
|
+
--color-status-neutral-icon: var(--primitive-neutral-04);
|
|
117
|
+
|
|
118
|
+
/* The -icon step (status glyphs on plain surfaces) runs brighter here
|
|
119
|
+
than the light-theme inks: mid-ramp hues that hold ≥3:1 on the dark
|
|
120
|
+
container floor, where the near-white -text tints all read as grey. */
|
|
102
121
|
|
|
103
|
-
/* AI - The gradient accent
|
|
104
|
-
|
|
122
|
+
/* AI - The gradient accent: the same luminous stops as light. One set
|
|
123
|
+
works on both floors, so the AI signature never shifts hue with the
|
|
124
|
+
theme. */
|
|
105
125
|
--color-ai-gradient-start: var(--primitive-red-05);
|
|
106
126
|
--color-ai-gradient-mid: var(--primitive-blue-05);
|
|
107
127
|
--color-ai-gradient-end: var(--primitive-teal-07);
|
package/tokens/tokens-light.css
CHANGED
|
@@ -19,22 +19,25 @@
|
|
|
19
19
|
--color-icon-secondary: var(--primitive-neutral-04);
|
|
20
20
|
|
|
21
21
|
/* Background - Page */
|
|
22
|
-
--color-bg-page-primary: var(--primitive-neutral-
|
|
22
|
+
--color-bg-page-primary: var(--primitive-neutral-01);
|
|
23
23
|
--color-bg-page-inverse: var(--primitive-neutral-10);
|
|
24
24
|
|
|
25
25
|
/* Background - Container */
|
|
26
|
-
--color-bg-container-primary: var(--primitive-neutral-
|
|
27
|
-
--color-bg-container-primary-transparent: var(--primitive-neutral-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
--color-bg-container-primary: var(--primitive-neutral-00);
|
|
27
|
+
--color-bg-container-primary-transparent: var(--primitive-neutral-00-transparent);
|
|
28
|
+
/* The semi surface rides the glass-strength white, not the 60% one: light
|
|
29
|
+
containers should read bright white, with the ambient background only
|
|
30
|
+
whispering through. */
|
|
31
|
+
--color-bg-container-primary-semi: var(--primitive-neutral-00-glass);
|
|
32
|
+
--color-bg-container-secondary: var(--primitive-neutral-01);
|
|
33
|
+
--color-bg-container-tertiary: var(--primitive-neutral-02);
|
|
31
34
|
--color-bg-container-inverse: var(--primitive-neutral-09);
|
|
32
35
|
--color-bg-container-border: var(--primitive-neutral-02);
|
|
33
36
|
|
|
34
37
|
/* Glass: the translucent floating-surface fill (chat panel, floating
|
|
35
38
|
sidebar). Deliberately translucent in both themes so the page's
|
|
36
39
|
colours reach the surface; pair it with backdrop-filter: blur(24px). */
|
|
37
|
-
--color-bg-glass: var(--primitive-neutral-
|
|
40
|
+
--color-bg-glass: var(--primitive-neutral-00-glass);
|
|
38
41
|
|
|
39
42
|
/* Divider */
|
|
40
43
|
--color-divider: var(--primitive-neutral-02-semi);
|
|
@@ -47,6 +50,10 @@
|
|
|
47
50
|
--color-chat-bubble-sent-text: var(--color-text-primary);
|
|
48
51
|
--color-chat-bubble-received-bg: var(--color-bg-container-secondary);
|
|
49
52
|
--color-chat-bubble-received-text: var(--color-text-primary);
|
|
53
|
+
/* The composer's context note — the quietest tint per theme, the nearest
|
|
54
|
+
neutral to each shell that still separates from it. Its own role, not a
|
|
55
|
+
container alias, because it deliberately sits off the container ramp. */
|
|
56
|
+
--color-chat-context-bg: var(--primitive-neutral-01);
|
|
50
57
|
|
|
51
58
|
/* Overlay & controls */
|
|
52
59
|
--color-scrim: var(--primitive-true-black-semi);
|
|
@@ -81,6 +88,15 @@
|
|
|
81
88
|
--color-action-passive-bg-hover: var(--primitive-neutral-02-semi);
|
|
82
89
|
--color-action-passive-bg-active: var(--primitive-neutral-03-semi);
|
|
83
90
|
|
|
91
|
+
/* Action - Neutral (grey filled buttons). Unlike passive, the fill is a
|
|
92
|
+
solid grey step that stays visible at rest — a filled button without
|
|
93
|
+
the action teal's "click here" weight. Hover and active deepen in
|
|
94
|
+
light mode and brighten in dark, like the primary family. */
|
|
95
|
+
--color-action-neutral-bg: var(--primitive-neutral-02);
|
|
96
|
+
--color-action-neutral-bg-hover: var(--primitive-neutral-03);
|
|
97
|
+
--color-action-neutral-bg-active: var(--primitive-neutral-04);
|
|
98
|
+
--color-action-neutral-text: var(--primitive-neutral-10);
|
|
99
|
+
|
|
84
100
|
/* Core colours */
|
|
85
101
|
--color-core-ui-primary: var(--primitive-teal-08);
|
|
86
102
|
--color-core-ui-secondary: var(--primitive-teal-10);
|
|
@@ -101,34 +117,45 @@
|
|
|
101
117
|
--color-status-positive-bg: var(--primitive-green-01);
|
|
102
118
|
--color-status-positive-border: var(--primitive-green-07);
|
|
103
119
|
--color-status-positive-text: var(--primitive-green-10);
|
|
120
|
+
--color-status-positive-icon: var(--primitive-green-08);
|
|
104
121
|
|
|
105
122
|
/* Status - Warning */
|
|
106
123
|
--color-status-warning-bg: var(--primitive-orange-01);
|
|
107
124
|
--color-status-warning-border: var(--primitive-orange-07);
|
|
108
125
|
--color-status-warning-text: var(--primitive-orange-10);
|
|
126
|
+
--color-status-warning-icon: var(--primitive-orange-08);
|
|
109
127
|
|
|
110
128
|
/* Status - Error */
|
|
111
129
|
--color-status-error-bg: var(--primitive-red-01);
|
|
112
130
|
--color-status-error-border: var(--primitive-red-07);
|
|
113
131
|
--color-status-error-text: var(--primitive-red-10);
|
|
132
|
+
--color-status-error-icon: var(--primitive-red-08);
|
|
114
133
|
|
|
115
134
|
/* Status - Info */
|
|
116
135
|
--color-status-info-bg: var(--primitive-blue-01);
|
|
117
136
|
--color-status-info-border: var(--primitive-blue-07);
|
|
118
137
|
--color-status-info-text: var(--primitive-blue-10);
|
|
138
|
+
--color-status-info-icon: var(--primitive-blue-06);
|
|
119
139
|
|
|
120
140
|
/* Status - Neutral */
|
|
121
141
|
--color-status-neutral-bg: var(--primitive-neutral-02);
|
|
122
142
|
--color-status-neutral-border: var(--primitive-neutral-07);
|
|
123
143
|
--color-status-neutral-text: var(--primitive-neutral-08);
|
|
144
|
+
--color-status-neutral-icon: var(--primitive-neutral-06);
|
|
145
|
+
|
|
146
|
+
/* The -icon step is the status glyph colour for plain surfaces (a step
|
|
147
|
+
indicator, a tool-call state) — -text is tuned for the tinted status
|
|
148
|
+
bg and washes out on a bare container, especially in dark mode. */
|
|
124
149
|
|
|
125
150
|
/* AI - The gradient accent reserved for AI entry points and surfaces.
|
|
126
151
|
Red → blue → teal, so the AI affordance is its own signature and the
|
|
127
152
|
flat action teal keeps meaning "click here". Used as gradient stops
|
|
128
|
-
(AiButton's ring and glow), never as fills for ordinary chrome.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
--color-ai-gradient-
|
|
153
|
+
(AiButton's ring and glow), never as fills for ordinary chrome.
|
|
154
|
+
One luminous set, shared with dark: the deeper inks read as a heavy
|
|
155
|
+
dark border on white surfaces. */
|
|
156
|
+
--color-ai-gradient-start: var(--primitive-red-05);
|
|
157
|
+
--color-ai-gradient-mid: var(--primitive-blue-05);
|
|
158
|
+
--color-ai-gradient-end: var(--primitive-teal-07);
|
|
132
159
|
|
|
133
160
|
/* Chart - Contribution heatmap ramp (level 0 = none → level 4 = most) */
|
|
134
161
|
--color-chart-contribution-0: var(--color-bg-container-primary);
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
|
|
12
12
|
/* Neutral Scale */
|
|
13
13
|
--primitive-neutral-00: #FFFFFF;
|
|
14
|
+
--primitive-neutral-00-transparent: rgba(255, 255, 255, 0.01);
|
|
15
|
+
--primitive-neutral-00-semi: rgba(255, 255, 255, 0.6);
|
|
16
|
+
--primitive-neutral-00-glass: rgba(255, 255, 255, 0.9);
|
|
14
17
|
--primitive-neutral-01: #F1F1F1;
|
|
15
18
|
--primitive-neutral-01-transparent: rgba(241, 241, 241, 0.01);
|
|
16
19
|
--primitive-neutral-01-semi: rgba(241, 241, 241, 0.6);
|