@robr0/design-system 0.5.0 → 0.7.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 (35) hide show
  1. package/LICENSE +53 -2
  2. package/README.md +54 -12
  3. package/components/AgentStatus/AgentStatus.css +26 -11
  4. package/components/Card/Card.css +9 -0
  5. package/components/Card/Card.d.ts +6 -0
  6. package/components/Card/Card.js +2 -1
  7. package/components/ChatMessage/ChatMessage.css +6 -0
  8. package/components/ChatMessage/ChatMessage.d.ts +7 -1
  9. package/components/ChatMessage/ChatMessage.js +2 -0
  10. package/components/Composer/Composer.css +23 -6
  11. package/components/Composer/Composer.d.ts +3 -0
  12. package/components/Composer/Composer.js +12 -1
  13. package/components/Prose/Prose.css +18 -1
  14. package/components/Reasoning/Reasoning.css +19 -4
  15. package/components/ShaderField/ShaderField.css +24 -0
  16. package/components/ShaderField/ShaderField.d.ts +68 -0
  17. package/components/ShaderField/ShaderField.js +54 -0
  18. package/components/ShaderField/field.glsl.d.ts +33 -0
  19. package/components/ShaderField/field.glsl.js +177 -0
  20. package/components/ShaderField/useShaderField.d.ts +86 -0
  21. package/components/ShaderField/useShaderField.js +395 -0
  22. package/components/Timeline/Timeline.css +9 -1
  23. package/components/registry.json +8 -0
  24. package/components/registry.json.d.ts +8 -0
  25. package/components/registry.json.js +1 -1
  26. package/index.d.ts +1 -0
  27. package/index.js +8 -0
  28. package/package.json +5 -1
  29. package/tokens/registry.json +2 -0
  30. package/tokens/registry.json.d.ts +2 -0
  31. package/tokens/registry.json.js +1 -1
  32. package/tokens/tokens-dark.css +1 -1
  33. package/tokens/tokens-light.css +3 -2
  34. package/tokens/tokens-motion.css +2 -0
  35. package/tokens/tokens-primitives.css +5 -0
@@ -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-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-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"], "typography": ["--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-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-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-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-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-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-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"], "typography": ["--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-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
  };
@@ -97,7 +97,7 @@
97
97
 
98
98
  /* AI - The gradient accent, one step brighter than light mode so the ring
99
99
  stays luminous on dark surfaces. */
100
- --color-ai-gradient-start: var(--primitive-purple-05);
100
+ --color-ai-gradient-start: var(--primitive-red-05);
101
101
  --color-ai-gradient-mid: var(--primitive-blue-05);
102
102
  --color-ai-gradient-end: var(--primitive-teal-05);
103
103
 
@@ -109,10 +109,10 @@
109
109
  --color-status-neutral-text: var(--primitive-neutral-08);
110
110
 
111
111
  /* AI - The gradient accent reserved for AI entry points and surfaces.
112
- Purple → blue → teal, so the AI affordance is its own signature and the
112
+ Red → blue → teal, so the AI affordance is its own signature and the
113
113
  flat action teal keeps meaning "click here". Used as gradient stops
114
114
  (AiButton's ring and glow), never as fills for ordinary chrome. */
115
- --color-ai-gradient-start: var(--primitive-purple-06);
115
+ --color-ai-gradient-start: var(--primitive-red-06);
116
116
  --color-ai-gradient-mid: var(--primitive-blue-06);
117
117
  --color-ai-gradient-end: var(--primitive-teal-06);
118
118
 
@@ -144,6 +144,7 @@
144
144
  --radius-xl: var(--primitive-radius-xl);
145
145
  --radius-xxl: var(--primitive-radius-xxl);
146
146
  --radius-full: var(--primitive-radius-full);
147
+ --radius-composer: var(--primitive-radius-composer);
147
148
 
148
149
  --padding-xxxs: var(--primitive-padding-xxxs);
149
150
  --padding-xxs: var(--primitive-padding-xxs);
@@ -24,6 +24,7 @@
24
24
  day-to-day scale.
25
25
  ============================================ */
26
26
 
27
+ --motion-duration-instant: 75ms; /* Sub-threshold: takes the edge off a size change without reading as motion (Composer grow/shrink) */
27
28
  --motion-duration-deliberate: 400ms; /* Carousel slide */
28
29
  --motion-duration-loop-spin: 1000ms; /* Spinner rotation */
29
30
  --motion-duration-loop-shimmer: 1800ms; /* Skeleton shimmer, agent label sweep */
@@ -53,6 +54,7 @@
53
54
  --motion-duration-base: 0.01ms;
54
55
  --motion-duration-slow: 0.01ms;
55
56
  --motion-duration-slower: 0.01ms;
57
+ --motion-duration-instant: 0.01ms;
56
58
  --motion-duration-deliberate: 0.01ms;
57
59
  --motion-duration-loop-spin: 0.01ms;
58
60
  --motion-duration-loop-shimmer: 0.01ms;
@@ -136,6 +136,11 @@
136
136
  --primitive-radius-xl: 24px;
137
137
  --primitive-radius-xxl: 48px;
138
138
  --primitive-radius-full: 999px;
139
+ /* The composer shell's corner: concentric with the 40px send button it
140
+ wraps (half the button + the padding-sm ring + the border width).
141
+ Held as a resolved constant so consumers re-theme it like any other
142
+ radius step. */
143
+ --primitive-radius-composer: 29px;
139
144
 
140
145
  /* Padding */
141
146
  --primitive-padding-xxxs: 2px;