@sproutsocial/racine 31.7.25 → 31.7.27
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/CHANGELOG.md +33 -0
- package/dist/components.css +402 -0
- package/package.json +17 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 31.7.27
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [736b022]
|
|
8
|
+
- Updated dependencies [8842be3]
|
|
9
|
+
- Updated dependencies [9d7c36d]
|
|
10
|
+
- @sproutsocial/seeds-react-character-counter@1.1.0
|
|
11
|
+
- @sproutsocial/seeds-react-avatar@1.2.0
|
|
12
|
+
- @sproutsocial/seeds-react-hooks@3.4.0
|
|
13
|
+
- @sproutsocial/seeds-react-message@1.0.66
|
|
14
|
+
- @sproutsocial/seeds-react-drawer@2.2.23
|
|
15
|
+
- @sproutsocial/seeds-react-input@1.5.43
|
|
16
|
+
- @sproutsocial/seeds-react-panel@1.2.2
|
|
17
|
+
- @sproutsocial/seeds-react-peek-in@0.6.2
|
|
18
|
+
- @sproutsocial/seeds-react-popout@2.5.24
|
|
19
|
+
- @sproutsocial/seeds-react-token@1.5.21
|
|
20
|
+
- @sproutsocial/seeds-react-token-input@1.4.65
|
|
21
|
+
- @sproutsocial/seeds-react-accordion@0.4.68
|
|
22
|
+
|
|
23
|
+
## 31.7.26
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Updated dependencies [ffdb036]
|
|
28
|
+
- Updated dependencies [e39bbd7]
|
|
29
|
+
- Updated dependencies [32c2ae7]
|
|
30
|
+
- @sproutsocial/seeds-react-chart-legend@1.0.54
|
|
31
|
+
- @sproutsocial/seeds-react-list@0.4.0
|
|
32
|
+
- @sproutsocial/seeds-react-checkbox@1.3.55
|
|
33
|
+
- @sproutsocial/seeds-react-message@1.0.65
|
|
34
|
+
- @sproutsocial/seeds-react-accordion@0.4.67
|
|
35
|
+
|
|
3
36
|
## 31.7.25
|
|
4
37
|
|
|
5
38
|
### Patch Changes
|
package/dist/components.css
CHANGED
|
@@ -289,6 +289,55 @@
|
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
+
/* --- seeds-react-avatar --- */
|
|
293
|
+
/**
|
|
294
|
+
* Seeds DualAvatar component classes
|
|
295
|
+
* Use these instead of writing out individual Tailwind utility classes.
|
|
296
|
+
*
|
|
297
|
+
* Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
|
|
298
|
+
* CSS variable definitions and dark mode support, plus avatar.css for the
|
|
299
|
+
* two Avatars themselves.
|
|
300
|
+
*
|
|
301
|
+
* Usage:
|
|
302
|
+
* <div class="seeds-dual-avatar" style="--seeds-dual-avatar-offset: 4px">
|
|
303
|
+
* <div class="seeds-avatar ...">JD</div>
|
|
304
|
+
* <div class="seeds-avatar seeds-dual-avatar-secondary ...">JR</div>
|
|
305
|
+
* </div>
|
|
306
|
+
*
|
|
307
|
+
* The overhang is driven by the --seeds-dual-avatar-offset custom property, set
|
|
308
|
+
* inline by the component as a fraction of its `size` prop and inherited by the
|
|
309
|
+
* secondary avatar.
|
|
310
|
+
*
|
|
311
|
+
* This file sits alongside avatar.css rather than inside src/DualAvatar/ because
|
|
312
|
+
* racine's stylesheet aggregation globs `src/*.css` per package and does not
|
|
313
|
+
* recurse into subdirectories.
|
|
314
|
+
*
|
|
315
|
+
* Rules live in `@layer components` so that consumer Tailwind utilities win in
|
|
316
|
+
* the cascade and can override these component styles.
|
|
317
|
+
*/
|
|
318
|
+
|
|
319
|
+
@layer components {
|
|
320
|
+
.seeds-dual-avatar {
|
|
321
|
+
position: relative;
|
|
322
|
+
display: inline-flex;
|
|
323
|
+
flex-shrink: 0;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.seeds-avatar.seeds-dual-avatar-secondary {
|
|
327
|
+
position: absolute;
|
|
328
|
+
right: calc(-1 * var(--seeds-dual-avatar-offset));
|
|
329
|
+
bottom: calc(-1 * var(--seeds-dual-avatar-offset));
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/*
|
|
333
|
+
* An image secondary has no border of its own (.seeds-avatar sets border: none),
|
|
334
|
+
* so it needs a ring to separate it from the primary underneath.
|
|
335
|
+
*/
|
|
336
|
+
.seeds-avatar.seeds-dual-avatar-secondary:not(.seeds-avatar-fallback) {
|
|
337
|
+
box-shadow: 0 0 0 1px var(--color-container-bg-base);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
292
341
|
/* --- seeds-react-badge --- */
|
|
293
342
|
/**
|
|
294
343
|
* Seeds Badge component classes
|
|
@@ -1017,6 +1066,56 @@
|
|
|
1017
1066
|
}
|
|
1018
1067
|
}
|
|
1019
1068
|
|
|
1069
|
+
/* --- seeds-react-chart-legend --- */
|
|
1070
|
+
@layer components {
|
|
1071
|
+
.seeds-chart-legend {
|
|
1072
|
+
--chart-legend-label-color: var(--color-text-subtext);
|
|
1073
|
+
--chart-legend-swatch-gap: var(--space-300);
|
|
1074
|
+
--chart-legend-swatch-size: var(--space-350);
|
|
1075
|
+
--chart-legend-label-gap: var(--space-450);
|
|
1076
|
+
--chart-legend-font-family: var(--font-family);
|
|
1077
|
+
--chart-legend-font-size: var(--font-size-200);
|
|
1078
|
+
--chart-legend-line-height: var(--line-height-200);
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
.seeds-chart-legend-inline {
|
|
1082
|
+
display: flex;
|
|
1083
|
+
justify-content: center;
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
.seeds-chart-legend-label {
|
|
1087
|
+
display: flex;
|
|
1088
|
+
align-items: center;
|
|
1089
|
+
color: var(--chart-legend-label-color, var(--color-text-subtext));
|
|
1090
|
+
white-space: nowrap;
|
|
1091
|
+
text-transform: capitalize;
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
.seeds-chart-legend-inline
|
|
1095
|
+
.seeds-chart-legend-label
|
|
1096
|
+
+ .seeds-chart-legend-label {
|
|
1097
|
+
margin-left: var(--chart-legend-label-gap, var(--space-450));
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
.seeds-chart-legend-swatch {
|
|
1101
|
+
margin-right: var(--chart-legend-swatch-gap, var(--space-300));
|
|
1102
|
+
width: var(--chart-legend-swatch-size, var(--space-350));
|
|
1103
|
+
height: var(--chart-legend-swatch-size, var(--space-350));
|
|
1104
|
+
border-radius: 4px;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
.seeds-chart-legend-text {
|
|
1108
|
+
margin: 0;
|
|
1109
|
+
padding-left: 0;
|
|
1110
|
+
padding-right: 0;
|
|
1111
|
+
font-family: var(--chart-legend-font-family, var(--font-family));
|
|
1112
|
+
font-size: var(--chart-legend-font-size, var(--font-size-200));
|
|
1113
|
+
line-height: var(--chart-legend-line-height, var(--line-height-200));
|
|
1114
|
+
word-break: break-word;
|
|
1115
|
+
hyphens: auto;
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1020
1119
|
/* --- seeds-react-chat-bubble --- */
|
|
1021
1120
|
/**
|
|
1022
1121
|
* Seeds ChatBubble component classes
|
|
@@ -1079,6 +1178,195 @@
|
|
|
1079
1178
|
}
|
|
1080
1179
|
}
|
|
1081
1180
|
|
|
1181
|
+
/* --- seeds-react-checkbox --- */
|
|
1182
|
+
/**
|
|
1183
|
+
* Seeds Checkbox component classes
|
|
1184
|
+
* Use these instead of writing out individual Tailwind utility classes.
|
|
1185
|
+
*
|
|
1186
|
+
* Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
|
|
1187
|
+
* CSS variable definitions and dark mode support.
|
|
1188
|
+
*
|
|
1189
|
+
* Usage (default appearance): rendered by CheckboxTailwind on top of
|
|
1190
|
+
* `@base-ui/react`'s Checkbox —
|
|
1191
|
+
* <span class="seeds-checkbox">
|
|
1192
|
+
* <button class="seeds-checkbox-input" role="checkbox">
|
|
1193
|
+
* <span class="seeds-checkbox-indicator">
|
|
1194
|
+
* <Icon class="seeds-checkbox-icon" />
|
|
1195
|
+
* </span>
|
|
1196
|
+
* </button>
|
|
1197
|
+
* <span class="seeds-checkbox-label">Label</span>
|
|
1198
|
+
* </span>
|
|
1199
|
+
*
|
|
1200
|
+
* The default-appearance box is base-ui's `Checkbox.Root` (`<button
|
|
1201
|
+
* role="checkbox">`) and the mark is a real `<Icon>` inside
|
|
1202
|
+
* `Checkbox.Indicator`. State is read from base-ui's ARIA contract
|
|
1203
|
+
* (`aria-checked` = "true" | "mixed" | "false") and its `data-disabled`
|
|
1204
|
+
* attribute, so there is no imperative `indeterminate` sync and no mask-image
|
|
1205
|
+
* pseudo-element — which is what made the previous indeterminate rendering
|
|
1206
|
+
* unreliable.
|
|
1207
|
+
*
|
|
1208
|
+
* All rules are wrapped in `@layer components` so consuming Tailwind utility
|
|
1209
|
+
* classes (e.g. `mx-200`, `p-300`, `inline-flex`) win the cascade over these
|
|
1210
|
+
* component styles.
|
|
1211
|
+
*/
|
|
1212
|
+
|
|
1213
|
+
@layer components {
|
|
1214
|
+
/* ----------------------------------------------------------------------------
|
|
1215
|
+
* Default appearance
|
|
1216
|
+
* ------------------------------------------------------------------------- */
|
|
1217
|
+
|
|
1218
|
+
.seeds-checkbox {
|
|
1219
|
+
display: inline-flex;
|
|
1220
|
+
align-items: center;
|
|
1221
|
+
box-sizing: border-box;
|
|
1222
|
+
position: relative;
|
|
1223
|
+
transition: all var(--duration-fast) var(--ease-ease_in);
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
/* Whole control dims when the control is disabled (matches container opacity).
|
|
1227
|
+
base-ui sets both the native `disabled` attribute and `data-disabled`. */
|
|
1228
|
+
.seeds-checkbox:has(.seeds-checkbox-input:disabled),
|
|
1229
|
+
.seeds-checkbox:has(.seeds-checkbox-input[data-disabled]) {
|
|
1230
|
+
opacity: 0.4;
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
/* The box — base-ui's Checkbox.Root <button>. `color` sets the grey mark used
|
|
1234
|
+
for the hover preview; the selected state overrides the mark color below. */
|
|
1235
|
+
.seeds-checkbox .seeds-checkbox-input {
|
|
1236
|
+
box-sizing: border-box;
|
|
1237
|
+
appearance: none;
|
|
1238
|
+
-webkit-appearance: none;
|
|
1239
|
+
display: inline-flex;
|
|
1240
|
+
align-items: center;
|
|
1241
|
+
justify-content: center;
|
|
1242
|
+
position: relative;
|
|
1243
|
+
margin: 0;
|
|
1244
|
+
padding: 0;
|
|
1245
|
+
width: var(--space-400);
|
|
1246
|
+
height: var(--space-400);
|
|
1247
|
+
border: 1px solid var(--color-form-border-base);
|
|
1248
|
+
border-radius: var(--radius-400);
|
|
1249
|
+
background-color: var(--color-form-bg-base);
|
|
1250
|
+
color: var(--color-form-border-base);
|
|
1251
|
+
transition: all var(--duration-fast) var(--ease-ease_in);
|
|
1252
|
+
cursor: pointer;
|
|
1253
|
+
flex-shrink: 0;
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
.seeds-checkbox .seeds-checkbox-input:disabled,
|
|
1257
|
+
.seeds-checkbox .seeds-checkbox-input[data-disabled] {
|
|
1258
|
+
cursor: not-allowed;
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
/* Selected (checked or indeterminate): filled box. The mark color is set here
|
|
1262
|
+
(not on the icon) so it inherits through the seeds Icon's unlayered
|
|
1263
|
+
`.Icon { color: inherit }` rule, which would otherwise win the cascade over a
|
|
1264
|
+
layered color on `.seeds-checkbox-icon`. `--color-icon-inverse` resolves to
|
|
1265
|
+
white in light mode and black in dark mode — matching the SC component's
|
|
1266
|
+
`icon.inverse` checked-mark color (styles.tsx:137). */
|
|
1267
|
+
.seeds-checkbox .seeds-checkbox-input[aria-checked="true"],
|
|
1268
|
+
.seeds-checkbox .seeds-checkbox-input[aria-checked="mixed"] {
|
|
1269
|
+
border-color: var(--color-form-border-selected);
|
|
1270
|
+
background-color: var(--color-form-bg-selected);
|
|
1271
|
+
color: var(--color-icon-inverse);
|
|
1272
|
+
}
|
|
1273
|
+
|
|
1274
|
+
/* Focus ring. The visible box is base-ui's Checkbox.Root <button>, but base-ui
|
|
1275
|
+
also renders a separate hidden <input> for form participation, and focus (on
|
|
1276
|
+
click or Tab) can land on that <input> rather than the button. A plain
|
|
1277
|
+
`.seeds-checkbox-input:focus` only matched the button, so the ring never
|
|
1278
|
+
painted and the box looked unfocusable. Track focus anywhere inside the
|
|
1279
|
+
control and paint the ring on the visible box regardless of which element
|
|
1280
|
+
actually holds focus: base-ui mirrors focus state onto the Root button as
|
|
1281
|
+
`data-focused`, and the `:has(:focus)` wrapper rules catch focus on either
|
|
1282
|
+
the button or the hidden <input>. `:focus` (not `:focus-visible`) keeps parity
|
|
1283
|
+
with the styled-components `focusRing` mixin, which shows the ring on both
|
|
1284
|
+
keyboard focus and click (styles.tsx:115-117). */
|
|
1285
|
+
.seeds-checkbox .seeds-checkbox-input[data-focused],
|
|
1286
|
+
.seeds-checkbox:has(.seeds-checkbox-input:focus) .seeds-checkbox-input,
|
|
1287
|
+
.seeds-checkbox:has(input:focus) .seeds-checkbox-input {
|
|
1288
|
+
box-shadow:
|
|
1289
|
+
0 0 0 1px var(--color-button-primary-bg-base),
|
|
1290
|
+
0 0px 0px 4px
|
|
1291
|
+
color-mix(
|
|
1292
|
+
in srgb,
|
|
1293
|
+
var(--color-button-primary-bg-base),
|
|
1294
|
+
transparent 70%
|
|
1295
|
+
);
|
|
1296
|
+
outline: none;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
.seeds-checkbox .seeds-checkbox-input:focus::-moz-focus-inner {
|
|
1300
|
+
border: 0;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
/* The mark — a real <Icon> inside Checkbox.Indicator (kept mounted). Hidden by
|
|
1304
|
+
default; shown (inverse) when selected, previewed (grey) on hover. */
|
|
1305
|
+
.seeds-checkbox .seeds-checkbox-indicator {
|
|
1306
|
+
display: inline-flex;
|
|
1307
|
+
align-items: center;
|
|
1308
|
+
justify-content: center;
|
|
1309
|
+
pointer-events: none;
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
.seeds-checkbox .seeds-checkbox-icon {
|
|
1313
|
+
display: inline-flex;
|
|
1314
|
+
align-items: center;
|
|
1315
|
+
justify-content: center;
|
|
1316
|
+
opacity: 0;
|
|
1317
|
+
color: currentColor;
|
|
1318
|
+
pointer-events: none;
|
|
1319
|
+
transition: var(--duration-fast) var(--ease-ease_inout);
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
.seeds-checkbox .seeds-checkbox-icon,
|
|
1323
|
+
.seeds-checkbox .seeds-checkbox-icon .Icon-svg {
|
|
1324
|
+
width: 10px;
|
|
1325
|
+
height: 10px;
|
|
1326
|
+
line-height: 10px;
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1329
|
+
/* Selected: inverse mark, shown. The mark inherits its color from the box's
|
|
1330
|
+
`color: var(--color-icon-inverse)` above (via the Icon's unlayered
|
|
1331
|
+
`color: inherit`), so only opacity is toggled here. */
|
|
1332
|
+
.seeds-checkbox .seeds-checkbox-input[aria-checked="true"] .seeds-checkbox-icon,
|
|
1333
|
+
.seeds-checkbox
|
|
1334
|
+
.seeds-checkbox-input[aria-checked="mixed"]
|
|
1335
|
+
.seeds-checkbox-icon {
|
|
1336
|
+
opacity: 1;
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
/* Hover previews the mark (grey, via the box `color`) unless the control is
|
|
1340
|
+
disabled and unchecked. */
|
|
1341
|
+
.seeds-checkbox
|
|
1342
|
+
.seeds-checkbox-input:not(:disabled):not([data-disabled]):hover
|
|
1343
|
+
.seeds-checkbox-icon {
|
|
1344
|
+
opacity: 1;
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
.seeds-checkbox
|
|
1348
|
+
.seeds-checkbox-input[aria-checked="false"]:disabled:hover
|
|
1349
|
+
.seeds-checkbox-icon,
|
|
1350
|
+
.seeds-checkbox
|
|
1351
|
+
.seeds-checkbox-input[aria-checked="false"][data-disabled]:hover
|
|
1352
|
+
.seeds-checkbox-icon {
|
|
1353
|
+
opacity: 0;
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
.seeds-checkbox-label {
|
|
1357
|
+
margin-left: var(--space-300);
|
|
1358
|
+
font-size: var(--font-size-200);
|
|
1359
|
+
line-height: 1;
|
|
1360
|
+
cursor: pointer;
|
|
1361
|
+
color: var(--color-text-headline);
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
.seeds-checkbox:has(.seeds-checkbox-input:disabled) .seeds-checkbox-label {
|
|
1365
|
+
cursor: not-allowed;
|
|
1366
|
+
opacity: 0.4;
|
|
1367
|
+
}
|
|
1368
|
+
} /* end @layer components */
|
|
1369
|
+
|
|
1082
1370
|
/* --- seeds-react-collapsible --- */
|
|
1083
1371
|
/**
|
|
1084
1372
|
* Seeds Collapsible component classes
|
|
@@ -2204,6 +2492,120 @@
|
|
|
2204
2492
|
}
|
|
2205
2493
|
}
|
|
2206
2494
|
|
|
2495
|
+
/* --- seeds-react-list --- */
|
|
2496
|
+
/**
|
|
2497
|
+
* Seeds List component classes
|
|
2498
|
+
* Use these instead of writing out individual Tailwind utility classes.
|
|
2499
|
+
*
|
|
2500
|
+
* Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
|
|
2501
|
+
* CSS variable definitions and dark mode support.
|
|
2502
|
+
*
|
|
2503
|
+
* Usage:
|
|
2504
|
+
* <ul class="seeds-list">
|
|
2505
|
+
* <li class="seeds-list-item">…</li>
|
|
2506
|
+
* <li class="seeds-list-item seeds-list-item-bordered">…</li>
|
|
2507
|
+
* </ul>
|
|
2508
|
+
*
|
|
2509
|
+
* Rules live in `@layer components` so that consumer Tailwind utilities
|
|
2510
|
+
* (e.g. mt-300, p-300) win in the cascade and can override these component
|
|
2511
|
+
* styles, rather than tying/beating them on specificity.
|
|
2512
|
+
*/
|
|
2513
|
+
|
|
2514
|
+
@layer components {
|
|
2515
|
+
/* List container: strip the browser's default list chrome. */
|
|
2516
|
+
.seeds-list {
|
|
2517
|
+
margin: 0;
|
|
2518
|
+
padding: 0;
|
|
2519
|
+
list-style: none;
|
|
2520
|
+
}
|
|
2521
|
+
|
|
2522
|
+
/* List item: rounded row that stacks with top spacing. The legacy component
|
|
2523
|
+
applies `mt={300}` to every item (including the first), so the class does
|
|
2524
|
+
the same rather than collapsing the first item's margin. */
|
|
2525
|
+
.seeds-list-item {
|
|
2526
|
+
box-sizing: border-box;
|
|
2527
|
+
margin-top: var(--space-300);
|
|
2528
|
+
border-radius: var(--radius-outer);
|
|
2529
|
+
}
|
|
2530
|
+
|
|
2531
|
+
/* Bordered items read as a card/button: 1px container border + padding.
|
|
2532
|
+
borderWidths[500] resolves to 1px; no --border-width var is emitted. */
|
|
2533
|
+
.seeds-list-item-bordered {
|
|
2534
|
+
border: 1px solid var(--color-container-border-base);
|
|
2535
|
+
padding: var(--space-300);
|
|
2536
|
+
}
|
|
2537
|
+
|
|
2538
|
+
/* ListItemContent ---------------------------------------------------- */
|
|
2539
|
+
|
|
2540
|
+
/* Outer row: main content left, aside/actions right, baseline-aligned. */
|
|
2541
|
+
.seeds-list-item-content {
|
|
2542
|
+
display: flex;
|
|
2543
|
+
justify-content: space-between;
|
|
2544
|
+
align-items: baseline;
|
|
2545
|
+
border-radius: var(--radius-outer);
|
|
2546
|
+
}
|
|
2547
|
+
|
|
2548
|
+
/* Main content grows to fill; icon sits to the left of the text block. */
|
|
2549
|
+
.seeds-list-item-content-main {
|
|
2550
|
+
display: flex;
|
|
2551
|
+
flex: 1;
|
|
2552
|
+
}
|
|
2553
|
+
|
|
2554
|
+
/* Icon spacing previously came from Icon's mr={300} system prop. */
|
|
2555
|
+
.seeds-list-item-content-icon {
|
|
2556
|
+
margin-right: var(--space-300);
|
|
2557
|
+
}
|
|
2558
|
+
|
|
2559
|
+
.seeds-list-item-content-text {
|
|
2560
|
+
flex: 1;
|
|
2561
|
+
}
|
|
2562
|
+
|
|
2563
|
+
/* Details byline spacing previously came from its mt={200} system prop.
|
|
2564
|
+
The details node is a Text.Byline, so it also carries `.seeds-text`, whose
|
|
2565
|
+
`margin: 0` sits later in the aggregated component layer and would reset a
|
|
2566
|
+
single-class rule. Qualify with the parent to raise specificity above
|
|
2567
|
+
`.seeds-text` while staying inside the components layer (consumer utilities
|
|
2568
|
+
still win). */
|
|
2569
|
+
.seeds-list-item-content .seeds-list-item-content-details {
|
|
2570
|
+
margin-top: var(--space-200);
|
|
2571
|
+
}
|
|
2572
|
+
|
|
2573
|
+
/* Aside/actions cluster on the right; does not shrink. */
|
|
2574
|
+
.seeds-list-item-content-aside {
|
|
2575
|
+
display: flex;
|
|
2576
|
+
align-items: center;
|
|
2577
|
+
gap: var(--space-300);
|
|
2578
|
+
flex-shrink: 0;
|
|
2579
|
+
}
|
|
2580
|
+
|
|
2581
|
+
.seeds-list-item-content-actions {
|
|
2582
|
+
display: flex;
|
|
2583
|
+
align-items: center;
|
|
2584
|
+
}
|
|
2585
|
+
|
|
2586
|
+
/* ListItemButton ----------------------------------------------------- */
|
|
2587
|
+
|
|
2588
|
+
/* Container reads as a card. radii[500] resolves to 6px (--radius-inner). */
|
|
2589
|
+
.seeds-list-item-button {
|
|
2590
|
+
position: relative;
|
|
2591
|
+
box-sizing: border-box;
|
|
2592
|
+
border: 1px solid var(--color-container-border-base);
|
|
2593
|
+
padding: var(--space-300);
|
|
2594
|
+
border-radius: var(--radius-inner);
|
|
2595
|
+
background-color: var(--color-container-bg-base);
|
|
2596
|
+
color: var(--color-text-body);
|
|
2597
|
+
}
|
|
2598
|
+
|
|
2599
|
+
/* Transparent overlay button that captures clicks across the whole card. */
|
|
2600
|
+
.seeds-list-item-button-overlay {
|
|
2601
|
+
position: absolute;
|
|
2602
|
+
top: 0;
|
|
2603
|
+
left: 0;
|
|
2604
|
+
width: 100%;
|
|
2605
|
+
height: 100%;
|
|
2606
|
+
}
|
|
2607
|
+
}
|
|
2608
|
+
|
|
2207
2609
|
/* --- seeds-react-loader --- */
|
|
2208
2610
|
/**
|
|
2209
2611
|
* Seeds Loader component classes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sproutsocial/racine",
|
|
3
|
-
"version": "31.7.
|
|
3
|
+
"version": "31.7.27",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=18"
|
|
@@ -73,51 +73,51 @@
|
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
75
|
"@size-limit/file": "^11.1.6",
|
|
76
|
-
"@sproutsocial/seeds-react-accordion": "^0.4.
|
|
77
|
-
"@sproutsocial/seeds-react-avatar": "^1.
|
|
76
|
+
"@sproutsocial/seeds-react-accordion": "^0.4.68",
|
|
77
|
+
"@sproutsocial/seeds-react-avatar": "^1.2.0",
|
|
78
78
|
"@sproutsocial/seeds-react-badge": "^2.0.46",
|
|
79
79
|
"@sproutsocial/seeds-react-banner": "^1.1.36",
|
|
80
80
|
"@sproutsocial/seeds-react-box": "^1.1.32",
|
|
81
81
|
"@sproutsocial/seeds-react-breadcrumb": "^1.1.18",
|
|
82
82
|
"@sproutsocial/seeds-react-button": "^2.3.9",
|
|
83
83
|
"@sproutsocial/seeds-react-card": "^1.1.55",
|
|
84
|
-
"@sproutsocial/seeds-react-character-counter": "^1.0
|
|
85
|
-
"@sproutsocial/seeds-react-chart-legend": "^1.0.
|
|
84
|
+
"@sproutsocial/seeds-react-character-counter": "^1.1.0",
|
|
85
|
+
"@sproutsocial/seeds-react-chart-legend": "^1.0.54",
|
|
86
86
|
"@sproutsocial/seeds-react-chat-bubble": "^0.2.7",
|
|
87
|
-
"@sproutsocial/seeds-react-checkbox": "^1.3.
|
|
87
|
+
"@sproutsocial/seeds-react-checkbox": "^1.3.55",
|
|
88
88
|
"@sproutsocial/seeds-react-collapsible": "^2.0.1",
|
|
89
89
|
"@sproutsocial/seeds-react-container": "^0.3.26",
|
|
90
90
|
"@sproutsocial/seeds-react-content-block": "^0.6.1",
|
|
91
91
|
"@sproutsocial/seeds-react-content-header": "^0.3.1",
|
|
92
92
|
"@sproutsocial/seeds-react-data-table": "^2.6.38",
|
|
93
93
|
"@sproutsocial/seeds-react-datepicker": "^1.0.51",
|
|
94
|
-
"@sproutsocial/seeds-react-drawer": "^2.2.
|
|
94
|
+
"@sproutsocial/seeds-react-drawer": "^2.2.23",
|
|
95
95
|
"@sproutsocial/seeds-react-duration": "^1.0.36",
|
|
96
96
|
"@sproutsocial/seeds-react-empty-state": "^1.0.35",
|
|
97
97
|
"@sproutsocial/seeds-react-fieldset": "^1.0.35",
|
|
98
98
|
"@sproutsocial/seeds-react-form-field": "^1.1.29",
|
|
99
99
|
"@sproutsocial/seeds-react-grid": "^0.2.17",
|
|
100
|
-
"@sproutsocial/seeds-react-hooks": "^3.
|
|
100
|
+
"@sproutsocial/seeds-react-hooks": "^3.4.0",
|
|
101
101
|
"@sproutsocial/seeds-react-icon": "^2.5.2",
|
|
102
102
|
"@sproutsocial/seeds-react-image": "^1.0.33",
|
|
103
103
|
"@sproutsocial/seeds-react-indicator": "^1.0.52",
|
|
104
|
-
"@sproutsocial/seeds-react-input": "^1.5.
|
|
104
|
+
"@sproutsocial/seeds-react-input": "^1.5.43",
|
|
105
105
|
"@sproutsocial/seeds-react-keyboard-key": "^1.0.34",
|
|
106
106
|
"@sproutsocial/seeds-react-label": "^1.0.34",
|
|
107
107
|
"@sproutsocial/seeds-react-link": "^1.1.24",
|
|
108
|
-
"@sproutsocial/seeds-react-list": "^0.
|
|
108
|
+
"@sproutsocial/seeds-react-list": "^0.4.0",
|
|
109
109
|
"@sproutsocial/seeds-react-loader": "^1.0.34",
|
|
110
110
|
"@sproutsocial/seeds-react-loader-button": "^1.0.60",
|
|
111
|
-
"@sproutsocial/seeds-react-message": "^1.0.
|
|
111
|
+
"@sproutsocial/seeds-react-message": "^1.0.66",
|
|
112
112
|
"@sproutsocial/seeds-react-mixins": "^4.3.16",
|
|
113
113
|
"@sproutsocial/seeds-react-modal": "^2.6.1",
|
|
114
114
|
"@sproutsocial/seeds-react-narrative-kit": "^0.6.7",
|
|
115
115
|
"@sproutsocial/seeds-react-numeral": "^1.0.60",
|
|
116
116
|
"@sproutsocial/seeds-react-pagination": "^0.1.33",
|
|
117
|
-
"@sproutsocial/seeds-react-panel": "^1.2.
|
|
118
|
-
"@sproutsocial/seeds-react-peek-in": "^0.6.
|
|
117
|
+
"@sproutsocial/seeds-react-panel": "^1.2.2",
|
|
118
|
+
"@sproutsocial/seeds-react-peek-in": "^0.6.2",
|
|
119
119
|
"@sproutsocial/seeds-react-partner-logo": "^1.7.24",
|
|
120
|
-
"@sproutsocial/seeds-react-popout": "^2.5.
|
|
120
|
+
"@sproutsocial/seeds-react-popout": "^2.5.24",
|
|
121
121
|
"@sproutsocial/seeds-react-portal": "^1.2.0",
|
|
122
122
|
"@sproutsocial/seeds-react-progress": "^0.2.19",
|
|
123
123
|
"@sproutsocial/seeds-react-radio": "^1.3.35",
|
|
@@ -134,8 +134,8 @@
|
|
|
134
134
|
"@sproutsocial/seeds-react-text": "^1.5.5",
|
|
135
135
|
"@sproutsocial/seeds-react-textarea": "^1.0.33",
|
|
136
136
|
"@sproutsocial/seeds-react-toast": "^1.0.54",
|
|
137
|
-
"@sproutsocial/seeds-react-token": "^1.5.
|
|
138
|
-
"@sproutsocial/seeds-react-token-input": "^1.4.
|
|
137
|
+
"@sproutsocial/seeds-react-token": "^1.5.21",
|
|
138
|
+
"@sproutsocial/seeds-react-token-input": "^1.4.65",
|
|
139
139
|
"@sproutsocial/seeds-react-tooltip": "^1.1.39",
|
|
140
140
|
"@sproutsocial/seeds-react-theme": "^4.5.1",
|
|
141
141
|
"@sproutsocial/seeds-react-theme-provider": "^1.1.29",
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
"@sproutsocial/seeds-motion": "^1.8.2",
|
|
164
164
|
"@sproutsocial/seeds-networkcolor": "^2.22.0",
|
|
165
165
|
"@sproutsocial/seeds-partner-logos": "^2.4.1",
|
|
166
|
-
"@sproutsocial/seeds-react-menu": "^1.18.
|
|
166
|
+
"@sproutsocial/seeds-react-menu": "^1.18.2",
|
|
167
167
|
"@sproutsocial/seeds-react-testing-library": "*",
|
|
168
168
|
"@sproutsocial/seeds-space": "^0.8.1",
|
|
169
169
|
"@sproutsocial/seeds-testing": "*",
|