@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 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
@@ -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.25",
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.66",
77
- "@sproutsocial/seeds-react-avatar": "^1.1.29",
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.10",
85
- "@sproutsocial/seeds-react-chart-legend": "^1.0.53",
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.54",
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.22",
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.3.2",
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.42",
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.3.41",
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.64",
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.1",
118
- "@sproutsocial/seeds-react-peek-in": "^0.6.1",
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.23",
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.20",
138
- "@sproutsocial/seeds-react-token-input": "^1.4.64",
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.0",
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": "*",