rift-ds 1.19.0 → 1.19.1

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.
@@ -178,6 +178,7 @@ const AttachmentViewer = React.forwardRef(
178
178
  {
179
179
  icon: "chevron_left",
180
180
  variant: "secondary",
181
+ tone: "neutral",
181
182
  size: "compact",
182
183
  ariaLabel: previousLabel,
183
184
  tooltip: false,
@@ -190,6 +191,7 @@ const AttachmentViewer = React.forwardRef(
190
191
  {
191
192
  icon: "chevron_right",
192
193
  variant: "secondary",
194
+ tone: "neutral",
193
195
  size: "compact",
194
196
  ariaLabel: nextLabel,
195
197
  tooltip: false,
@@ -197,6 +197,7 @@ const BentoTile = React.forwardRef(
197
197
  ref: triggerRef,
198
198
  icon: "open_in_full",
199
199
  variant: awake ? "primary" : "secondary",
200
+ tone: awake ? void 0 : "neutral",
200
201
  size: "compact",
201
202
  ariaLabel: label,
202
203
  tooltip: false,
@@ -280,6 +281,7 @@ function BentoTileOverlay({ title, titleId, panelName, toggleName, closeLabel, o
280
281
  ref: closeRef,
281
282
  icon: "close_fullscreen",
282
283
  variant: "secondary",
284
+ tone: "neutral",
283
285
  size: "compact",
284
286
  ariaLabel: closeLabel,
285
287
  tooltip: false,
@@ -272,6 +272,12 @@
272
272
  transform var(--motion-duration-fast) var(--motion-ease-standard);
273
273
  }
274
274
 
275
+ /* The tip sits on the page surface, not the selected segment's fill, so it
276
+ keeps its own ink when the active-label rules above would recolour it. */
277
+ .ds-segmented-control .ds-segmented-control__segment .ds-segmented-control__label--tip {
278
+ color: var(--color-text-primary);
279
+ }
280
+
275
281
  /* --motion-duration-slow matches MOTION_HOVER_SHOW_DELAY_MS, the hover-intent
276
282
  delay Tooltip uses in JS, so the label does not flash while the pointer
277
283
  passes through. Hiding takes no delay, like a tooltip leaving. */
@@ -120,6 +120,7 @@
120
120
  chip's editor) holds its pressed fill until the panel closes, so the
121
121
  bar says which control the open panel belongs to. */
122
122
  .ds-table-toolbar .ds-circular-button--tertiary[aria-expanded='true'],
123
+ .ds-table-toolbar .ds-circular-button--secondary-neutral[aria-expanded='true'],
123
124
  .ds-table-toolbar .ds-chip[aria-expanded='true'],
124
125
  .ds-table-toolbar .ds-button[aria-expanded='true'] {
125
126
  background-color: var(--color-action-passive-bg-active);
@@ -302,7 +303,7 @@
302
303
 
303
304
  /* A count on an icon's top-end corner, drawn as BottomNav's count badge:
304
305
  a solid pill on the count badge pair, so it reads at a glance on the
305
- filled icon buttons in both modes. */
306
+ outlined icon buttons in both modes. */
306
307
  .ds-table-toolbar__badge {
307
308
  position: absolute;
308
309
  inset-block-start: calc(-1 * var(--padding-100));
@@ -794,7 +794,7 @@ const TableToolbar = React.forwardRef(
794
794
  CircularButton,
795
795
  {
796
796
  icon: "filter_list",
797
- variant: "primary",
797
+ variant: "secondary",
798
798
  tone: "neutral",
799
799
  size,
800
800
  ariaLabel: labels.filters(activeFilters),
@@ -1081,7 +1081,7 @@ const TableToolbar = React.forwardRef(
1081
1081
  CircularButton,
1082
1082
  {
1083
1083
  icon: "swap_vert",
1084
- variant: "primary",
1084
+ variant: "secondary",
1085
1085
  tone: "neutral",
1086
1086
  size,
1087
1087
  ariaLabel: labels.sort(sorts.length),
@@ -1276,7 +1276,7 @@ const TableToolbar = React.forwardRef(
1276
1276
  CircularButton,
1277
1277
  {
1278
1278
  icon: "view_agenda",
1279
- variant: "primary",
1279
+ variant: "secondary",
1280
1280
  tone: "neutral",
1281
1281
  size,
1282
1282
  ariaLabel: labels.group(Boolean(groupedBy)),
@@ -1304,7 +1304,7 @@ const TableToolbar = React.forwardRef(
1304
1304
  CircularButton,
1305
1305
  {
1306
1306
  icon: "view_column",
1307
- variant: "primary",
1307
+ variant: "secondary",
1308
1308
  tone: "neutral",
1309
1309
  size,
1310
1310
  ariaLabel: labels.columns,
@@ -1349,7 +1349,7 @@ const TableToolbar = React.forwardRef(
1349
1349
  CircularButton,
1350
1350
  {
1351
1351
  icon: "more_horiz",
1352
- variant: "primary",
1352
+ variant: "secondary",
1353
1353
  tone: "neutral",
1354
1354
  size,
1355
1355
  ariaLabel: labels.more,
@@ -1457,7 +1457,7 @@ const TableToolbar = React.forwardRef(
1457
1457
  CircularButton,
1458
1458
  {
1459
1459
  icon: "search",
1460
- variant: "primary",
1460
+ variant: "secondary",
1461
1461
  tone: "neutral",
1462
1462
  size,
1463
1463
  ariaLabel: labels.search,
@@ -1478,7 +1478,7 @@ const TableToolbar = React.forwardRef(
1478
1478
  CircularButton,
1479
1479
  {
1480
1480
  icon: action.icon,
1481
- variant: "primary",
1481
+ variant: "secondary",
1482
1482
  tone: "neutral",
1483
1483
  size,
1484
1484
  ariaLabel: action.label,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rift-ds",
3
- "version": "1.19.0",
3
+ "version": "1.19.1",
4
4
  "description": "An AI-ready React design system: accessible components on composable tokens, light/dark theming, and CSS-variable overrides.",
5
5
  "author": {
6
6
  "name": "Robert Ritacca",
@@ -61,6 +61,13 @@ html[data-brand="mono"] {
61
61
  --color-ambient-4: #5C5C5C;
62
62
  --color-ambient-5: #707070;
63
63
  --color-ambient-6: #A7A7A7;
64
+ --color-chart-series-1: var(--primitive-blue-06);
65
+ --color-chart-series-2: var(--primitive-green-07);
66
+ --color-chart-series-3: var(--primitive-yellow-07);
67
+ --color-chart-series-4: var(--primitive-red-07);
68
+ --color-chart-series-5: var(--primitive-purple-07);
69
+ --color-chart-series-6: var(--primitive-orange-07);
70
+ --color-chart-series-7: var(--primitive-teal-07);
64
71
  --color-core-accent-amber: #B8B8B8;
65
72
  --color-core-accent-cobalt: #5C5C5C;
66
73
  --color-core-accent-coral: #A3A3A3;
@@ -191,6 +198,13 @@ html[data-brand="mono"][data-theme="dark"] {
191
198
  --color-ambient-4: #5C5C5C;
192
199
  --color-ambient-5: #F6F6F6;
193
200
  --color-ambient-6: #F9F9F9;
201
+ --color-chart-series-1: var(--primitive-blue-05);
202
+ --color-chart-series-2: var(--primitive-green-07);
203
+ --color-chart-series-3: var(--primitive-yellow-07);
204
+ --color-chart-series-4: var(--primitive-red-07);
205
+ --color-chart-series-5: var(--primitive-purple-07);
206
+ --color-chart-series-6: var(--primitive-orange-07);
207
+ --color-chart-series-7: var(--primitive-teal-07);
194
208
  --color-core-accent-amber: #B8B8B8;
195
209
  --color-core-accent-cobalt: #5C5C5C;
196
210
  --color-core-accent-coral: #A3A3A3;
@@ -72,6 +72,7 @@ html[data-brand="zest"] {
72
72
  --color-core-ui-secondary: var(--primitive-green-10);
73
73
  --color-input-border-hover: var(--primitive-green-08);
74
74
  --color-input-border-selected: var(--primitive-green-07);
75
+ --color-status-positive-text: var(--primitive-green-10);
75
76
  --font-display-1-letter-spacing: -0.025em;
76
77
  --font-display-1-weight: 800;
77
78
  --font-display-2-letter-spacing: -0.02em;
@@ -240,6 +241,7 @@ html[data-brand="zest"][data-theme="dark"] {
240
241
  --color-core-ui-secondary: var(--primitive-green-09);
241
242
  --color-input-border-hover: var(--primitive-green-08);
242
243
  --color-input-border-selected: var(--primitive-green-08);
244
+ --color-status-positive-text: var(--primitive-green-01);
243
245
  --font-display-1-letter-spacing: -0.025em;
244
246
  --font-display-1-weight: 800;
245
247
  --font-display-2-letter-spacing: -0.02em;
@@ -140,7 +140,7 @@
140
140
  --color-action-neutral-bg-hover: var(--primitive-neutral-07);
141
141
  --color-action-neutral-bg-active: var(--primitive-neutral-06);
142
142
  --color-action-neutral-text: var(--primitive-neutral-00);
143
- --color-action-neutral-border: var(--primitive-neutral-06);
143
+ --color-action-neutral-border: var(--primitive-neutral-08);
144
144
  --color-action-destructive-bg: var(--primitive-red-05);
145
145
  --color-action-destructive-bg-hover: var(--primitive-red-04);
146
146
  --color-action-destructive-bg-active: var(--primitive-red-03);
@@ -162,9 +162,9 @@
162
162
  --color-action-neutral-bg-active: var(--primitive-neutral-04);
163
163
  --color-action-neutral-text: var(--primitive-neutral-10);
164
164
  /* The outlined neutral button's edge (secondary emphasis, neutral tone):
165
- a mid grey that reads as a control edge on the page without the
166
- action colour. */
167
- --color-action-neutral-border: var(--primitive-neutral-05);
165
+ the container border's step, so it matches a SegmentedControl beside
166
+ it without the action colour. */
167
+ --color-action-neutral-border: var(--primitive-neutral-02);
168
168
 
169
169
  /* Action - Destructive (dangerous or irreversible actions). Keyed to the
170
170
  red ramp the error status uses, never to an accent, so danger reads as
@@ -220,33 +220,33 @@
220
220
  --color-file-presentation: var(--primitive-file-presentation);
221
221
 
222
222
  /* Status - Positive */
223
- --color-status-positive-bg: var(--primitive-green-01);
223
+ --color-status-positive-bg: var(--primitive-green-02);
224
224
  --color-status-positive-border: var(--primitive-green-07);
225
- --color-status-positive-text: var(--primitive-green-10);
225
+ --color-status-positive-text: var(--primitive-green-09);
226
226
  --color-status-positive-icon: var(--primitive-green-08);
227
227
 
228
228
  /* Status - Warning */
229
- --color-status-warning-bg: var(--primitive-orange-01);
229
+ --color-status-warning-bg: var(--primitive-orange-02);
230
230
  --color-status-warning-border: var(--primitive-orange-07);
231
- --color-status-warning-text: var(--primitive-orange-10);
231
+ --color-status-warning-text: var(--primitive-orange-09);
232
232
  --color-status-warning-icon: var(--primitive-orange-08);
233
233
 
234
234
  /* Status - Error */
235
- --color-status-error-bg: var(--primitive-red-01);
235
+ --color-status-error-bg: var(--primitive-red-02);
236
236
  --color-status-error-border: var(--primitive-red-07);
237
- --color-status-error-text: var(--primitive-red-10);
237
+ --color-status-error-text: var(--primitive-red-09);
238
238
  --color-status-error-icon: var(--primitive-red-08);
239
239
 
240
240
  /* Status - Info */
241
- --color-status-info-bg: var(--primitive-blue-01);
241
+ --color-status-info-bg: var(--primitive-blue-02);
242
242
  --color-status-info-border: var(--primitive-blue-07);
243
- --color-status-info-text: var(--primitive-blue-10);
243
+ --color-status-info-text: var(--primitive-blue-08);
244
244
  --color-status-info-icon: var(--primitive-blue-06);
245
245
 
246
246
  /* Status - Neutral */
247
- --color-status-neutral-bg: var(--primitive-neutral-02);
247
+ --color-status-neutral-bg: var(--primitive-neutral-01);
248
248
  --color-status-neutral-border: var(--primitive-neutral-07);
249
- --color-status-neutral-text: var(--primitive-neutral-08);
249
+ --color-status-neutral-text: var(--primitive-neutral-07);
250
250
  --color-status-neutral-icon: var(--primitive-neutral-06);
251
251
 
252
252
  /* The -icon step is the status glyph colour for plain surfaces (a step
@@ -276,7 +276,8 @@
276
276
 
277
277
  /* Chart - Ordered series ramp for multi-series charts. Series 1 follows
278
278
  the action teal (theme-split with it); 2-7 alias the core accents, so
279
- re-theming an accent re-themes every chart that uses its slot. */
279
+ re-theming an accent re-themes every chart that uses its slot. A theme
280
+ may re-point any of them in its extras. */
280
281
  --color-chart-series-1: var(--color-action-primary-bg);
281
282
  --color-chart-series-2: var(--color-core-accent-mint);
282
283
  --color-chart-series-3: var(--color-core-accent-gold);