@sproutsocial/racine 31.7.0 → 31.7.3

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,92 @@
1
1
  # Change Log
2
2
 
3
+ ## 31.7.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [4f969e6]
8
+ - Updated dependencies [6c37edd]
9
+ - Updated dependencies [a64cdfd]
10
+ - @sproutsocial/seeds-react-rating@1.0.43
11
+ - @sproutsocial/seeds-react-skeleton@1.1.23
12
+ - @sproutsocial/seeds-react-textarea@1.0.24
13
+ - @sproutsocial/seeds-react-list@0.3.29
14
+
15
+ ## 31.7.2
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [0f4bfe2]
20
+ - Updated dependencies [85f9728]
21
+ - Updated dependencies [fa7d859]
22
+ - @sproutsocial/seeds-react-narrative-kit@0.6.0
23
+ - @sproutsocial/seeds-react-theme@4.2.0
24
+ - @sproutsocial/seeds-react-accordion@0.4.50
25
+ - @sproutsocial/seeds-react-avatar@1.1.19
26
+ - @sproutsocial/seeds-react-banner@1.1.24
27
+ - @sproutsocial/seeds-react-box@1.1.23
28
+ - @sproutsocial/seeds-react-breadcrumb@1.1.9
29
+ - @sproutsocial/seeds-react-card@1.1.44
30
+ - @sproutsocial/seeds-react-chart-legend@1.0.43
31
+ - @sproutsocial/seeds-react-container@0.3.17
32
+ - @sproutsocial/seeds-react-content-block@0.5.17
33
+ - @sproutsocial/seeds-react-data-table@2.6.25
34
+ - @sproutsocial/seeds-react-datepicker@1.0.41
35
+ - @sproutsocial/seeds-react-drawer@2.2.10
36
+ - @sproutsocial/seeds-react-duration@1.0.26
37
+ - @sproutsocial/seeds-react-empty-state@1.0.25
38
+ - @sproutsocial/seeds-react-fieldset@1.0.25
39
+ - @sproutsocial/seeds-react-form-field@1.1.19
40
+ - @sproutsocial/seeds-react-grid@0.2.7
41
+ - @sproutsocial/seeds-react-hooks@3.2.4
42
+ - @sproutsocial/seeds-react-icon@2.4.2
43
+ - @sproutsocial/seeds-react-image@1.0.23
44
+ - @sproutsocial/seeds-react-indicator@1.0.42
45
+ - @sproutsocial/seeds-react-keyboard-key@1.0.25
46
+ - @sproutsocial/seeds-react-label@1.0.25
47
+ - @sproutsocial/seeds-react-link@1.1.15
48
+ - @sproutsocial/seeds-react-list@0.3.28
49
+ - @sproutsocial/seeds-react-loader@1.0.25
50
+ - @sproutsocial/seeds-react-loader-button@1.0.48
51
+ - @sproutsocial/seeds-react-message@1.0.51
52
+ - @sproutsocial/seeds-react-mixins@4.3.9
53
+ - @sproutsocial/seeds-react-modal@2.5.25
54
+ - @sproutsocial/seeds-react-numeral@1.0.50
55
+ - @sproutsocial/seeds-react-pagination@0.1.23
56
+ - @sproutsocial/seeds-react-panel@1.0.3
57
+ - @sproutsocial/seeds-react-partner-logo@1.7.15
58
+ - @sproutsocial/seeds-react-progress@0.2.10
59
+ - @sproutsocial/seeds-react-rating@1.0.42
60
+ - @sproutsocial/seeds-react-segmented-control@1.1.24
61
+ - @sproutsocial/seeds-react-select@1.1.43
62
+ - @sproutsocial/seeds-react-skeleton@1.1.22
63
+ - @sproutsocial/seeds-react-stack@1.0.22
64
+ - @sproutsocial/seeds-react-table@1.0.44
65
+ - @sproutsocial/seeds-react-tabs@1.4.13
66
+ - @sproutsocial/seeds-react-textarea@1.0.23
67
+ - @sproutsocial/seeds-react-theme-provider@1.1.22
68
+ - @sproutsocial/seeds-react-toast@1.0.44
69
+ - @sproutsocial/seeds-react-token@1.5.9
70
+ - @sproutsocial/seeds-react-token-input@1.4.51
71
+ - @sproutsocial/seeds-react-tooltip@1.1.29
72
+ - @sproutsocial/seeds-react-visually-hidden@1.0.24
73
+ - @sproutsocial/seeds-react-badge@2.0.36
74
+ - @sproutsocial/seeds-react-checkbox@1.3.44
75
+ - @sproutsocial/seeds-react-content-header@0.2.22
76
+ - @sproutsocial/seeds-react-input@1.5.29
77
+ - @sproutsocial/seeds-react-peek-in@0.3.2
78
+ - @sproutsocial/seeds-react-popout@2.5.11
79
+ - @sproutsocial/seeds-react-button@2.2.3
80
+ - @sproutsocial/seeds-react-switch@1.2.41
81
+ - @sproutsocial/seeds-react-radio@1.3.25
82
+
83
+ ## 31.7.1
84
+
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies [82bad75]
88
+ - @sproutsocial/seeds-react-narrative-kit@0.5.1
89
+
3
90
  ## 31.7.0
4
91
 
5
92
  ### Minor Changes
@@ -1277,6 +1277,11 @@
1277
1277
  .seeds-metric-highlight {
1278
1278
  box-sizing: border-box;
1279
1279
  display: flex;
1280
+ /* Wrap the fixed-width chart onto its own line when the metric block + chart
1281
+ can't sit side by side (narrow cards / mobile). The metric block claims its
1282
+ min-content width below, so a cramped row drops the chart down rather than
1283
+ overflowing the card and getting clipped by the container. */
1284
+ flex-wrap: wrap;
1280
1285
  align-items: flex-start;
1281
1286
  gap: var(--space-350); /* 12px */
1282
1287
  border-radius: var(--radius-800); /* 12px */
@@ -1303,8 +1308,11 @@
1303
1308
  flex-direction: column;
1304
1309
  align-items: flex-start;
1305
1310
  gap: var(--space-200); /* 4px */
1306
- flex: 1 0 0;
1307
- min-width: 0;
1311
+ /* Grow to fill the row, but never shrink below the metric's own content
1312
+ (the nowrap value + trend pill). That min-content floor is what forces the
1313
+ chart to wrap below on narrow cards instead of the row overflowing. */
1314
+ flex: 1 1 auto;
1315
+ min-width: min-content;
1308
1316
  }
1309
1317
 
1310
1318
  .seeds-metric-highlight-vertical .seeds-metric-highlight-metric {
@@ -1336,6 +1344,7 @@
1336
1344
 
1337
1345
  .seeds-metric-highlight-value-row {
1338
1346
  display: flex;
1347
+ flex-wrap: wrap; /* trend pill drops under the value on very narrow cards */
1339
1348
  align-items: center;
1340
1349
  gap: var(--space-300); /* 8px */
1341
1350
  }
@@ -1513,6 +1522,24 @@
1513
1522
  font-family: var(--font-family);
1514
1523
  }
1515
1524
 
1525
+ /* Grid and flex items default to `min-width: auto`, so they never shrink below
1526
+ their own min-content. A wide row of widgets (a metric grid, a card grid) then
1527
+ forces its column wider than the padded surface — and since the container clips
1528
+ with overflow:hidden, the excess is cut off at the edge, eating the right-hand
1529
+ padding, and the whole layout can't reflow down to mobile widths. Letting the
1530
+ container and its layout descendants shrink to zero lets the grids collapse to
1531
+ their fair 1fr share and reflow within the padding, so the padding stays
1532
+ consistent at every size.
1533
+
1534
+ Wrapped in :where() so the whole rule carries ZERO specificity — it is only a
1535
+ default. Any component that needs a real floor (e.g. the data callout's 270px
1536
+ donut slot) sets its own min-width via a plain class and always wins, instead
1537
+ of racing this rule on source order. */
1538
+ :where(.seeds-narrative-container),
1539
+ :where(.seeds-narrative-container *) {
1540
+ min-width: 0;
1541
+ }
1542
+
1516
1543
  /* Decorative inner gradient border anchored to the top-left corner.
1517
1544
  A masked ::before so the gradient renders as a uniform-width ring that follows
1518
1545
  border-radius and never tints the content. The radial ellipse fades to
@@ -1925,6 +1952,54 @@
1925
1952
 
1926
1953
  }
1927
1954
 
1955
+ /* --- seeds-react-narrative-kit --- */
1956
+ /**
1957
+ * Seeds NarrativeSection component classes.
1958
+ * Use these instead of writing out individual Tailwind utility classes.
1959
+ *
1960
+ * Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
1961
+ * CSS variable definitions and dark mode support.
1962
+ *
1963
+ * Usage:
1964
+ * <section class="seeds-narrative-section">
1965
+ * <h2 class="seeds-narrative-section-title">What's Happening</h2>
1966
+ * <div class="seeds-narrative-section-content">...</div>
1967
+ * </section>
1968
+ */
1969
+
1970
+ @layer components {
1971
+
1972
+ /* The wrapper stacks the title above the content with a small gap. It carries
1973
+ no surface of its own — it's meant to sit inside a NarrativeContainer. */
1974
+ .seeds-narrative-section {
1975
+ display: flex;
1976
+ flex-direction: column;
1977
+ gap: var(--space-400); /* 16px — title to content */
1978
+ }
1979
+
1980
+ /* The content slot stacks the section's widgets with the same 32px rhythm a
1981
+ single-column grid (gap={500}) would give them, so multiple primitives inside
1982
+ one section are spaced exactly as they are between sections. */
1983
+ .seeds-narrative-section-content {
1984
+ display: flex;
1985
+ flex-direction: column;
1986
+ gap: var(--space-500); /* 32px — between widgets */
1987
+ }
1988
+
1989
+ /* The section title: bold 14px/24px in the headline color token (#273333,
1990
+ which also tracks dark mode). Matches the summary-label recipe used across
1991
+ the kit. The heading element ships with user-agent margins, so reset them. */
1992
+ .seeds-narrative-section-title {
1993
+ margin: 0;
1994
+ font-family: var(--font-family);
1995
+ font-size: 14px;
1996
+ line-height: 24px;
1997
+ font-weight: var(--font-weight-bold);
1998
+ color: var(--color-text-headline); /* #273333 */
1999
+ }
2000
+
2001
+ }
2002
+
1928
2003
  /* --- seeds-react-narrative-kit --- */
1929
2004
  /**
1930
2005
  * Seeds NarrativeSocialMediaCard component classes.
@@ -1941,19 +2016,19 @@
1941
2016
  * </div>
1942
2017
  */
1943
2018
 
1944
- /* Import dependent component styles */
1945
- @import "./narrative-attribution.css";
1946
-
1947
2019
  @layer components {
1948
2020
 
1949
2021
  /* Main card container — gray background with rounded corners and padding.
1950
- Uses Seeds tokens for spacing, colors, and radius to match the design system. */
2022
+ Uses Seeds tokens for spacing, colors, and radius to match the design system.
2023
+ Fills the width it is given (e.g. a grid column) and stretches its content to
2024
+ match, mirroring the horizontal NarrativeOrderedList — so a row of cards grows
2025
+ and resizes together instead of being pinned to a fixed 320px. */
1951
2026
  .seeds-narrative-social-media-card {
1952
2027
  box-sizing: border-box;
1953
2028
  display: flex;
1954
2029
  flex-direction: column;
1955
- align-items: flex-start;
1956
- max-width: 320px;
2030
+ align-items: stretch;
2031
+ width: 100%;
1957
2032
  padding: var(--space-450); /* 24px */
1958
2033
  border-radius: var(--radius-500); /* 6px */
1959
2034
  background-color: var(--color-app-bg-base);
@@ -2207,6 +2282,181 @@
2207
2282
 
2208
2283
  }
2209
2284
 
2285
+ /* --- seeds-react-profile --- */
2286
+ /**
2287
+ * Seeds InlineProfile component classes
2288
+ *
2289
+ * Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
2290
+ * CSS variable definitions and dark mode support.
2291
+ */
2292
+
2293
+ @layer components {
2294
+ .seeds-inline-profile {
2295
+ display: inline-flex;
2296
+ flex-direction: row;
2297
+ align-items: center;
2298
+ gap: var(--space-200);
2299
+ max-width: 100%;
2300
+ font-size: var(--font-size-200);
2301
+ line-height: var(--line-height-200);
2302
+ color: var(--color-text-subtext);
2303
+ text-align: inherit;
2304
+ }
2305
+
2306
+ .seeds-inline-profile-avatar {
2307
+ display: inline-flex;
2308
+ flex-shrink: 0;
2309
+ }
2310
+
2311
+ .seeds-inline-profile-content {
2312
+ display: inline-flex;
2313
+ align-items: center;
2314
+ gap: var(--space-200);
2315
+ min-width: 0;
2316
+ flex: 1;
2317
+ }
2318
+
2319
+ .seeds-inline-profile-network {
2320
+ display: inline-flex;
2321
+ align-items: center;
2322
+ flex-shrink: 0;
2323
+ }
2324
+
2325
+ .seeds-inline-profile-text {
2326
+ display: inline-flex;
2327
+ flex-direction: row;
2328
+ align-items: center;
2329
+ gap: var(--space-200);
2330
+ min-width: 0;
2331
+ flex: 1;
2332
+ }
2333
+
2334
+ .seeds-inline-profile-name {
2335
+ display: inline-block;
2336
+ font-size: var(--font-size-200);
2337
+ line-height: var(--line-height-200);
2338
+ font-family: var(--font-family);
2339
+ font-weight: var(--font-weight-semibold);
2340
+ color: var(--color-text-body);
2341
+ max-width: 100%;
2342
+ overflow: hidden;
2343
+ text-overflow: ellipsis;
2344
+ white-space: nowrap;
2345
+ }
2346
+
2347
+ .seeds-inline-profile-handle {
2348
+ display: inline-block;
2349
+ font-size: var(--font-size-200);
2350
+ line-height: var(--line-height-200);
2351
+ font-family: var(--font-family);
2352
+ color: var(--color-text-subtext);
2353
+ max-width: 100%;
2354
+ overflow: hidden;
2355
+ text-overflow: ellipsis;
2356
+ white-space: nowrap;
2357
+ }
2358
+ }
2359
+
2360
+ /* --- seeds-react-profile --- */
2361
+ /**
2362
+ * Seeds ProfileCard component classes
2363
+ *
2364
+ * Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
2365
+ * CSS variable definitions and dark mode support.
2366
+ *
2367
+ * The header background color is dynamic (consumer bannerColor or the network
2368
+ * color for the partner) and is supplied via the
2369
+ * --seeds-profile-card-banner-bg custom property set as an inline style on the
2370
+ * header element; the background declaration below consumes it.
2371
+ */
2372
+
2373
+ @layer components {
2374
+ .seeds-profile-card {
2375
+ max-width: 300px;
2376
+ border-radius: var(--radius-500);
2377
+ background-color: var(--color-container-bg-base);
2378
+ border: 1px solid var(--color-container-border-base);
2379
+ }
2380
+
2381
+ .seeds-profile-card-header {
2382
+ display: flex;
2383
+ flex-direction: row;
2384
+ position: relative;
2385
+ height: 80px;
2386
+ padding: var(--space-400) var(--space-400) 0 var(--space-400);
2387
+ margin-bottom: 0;
2388
+ color: var(--color-text-inverse);
2389
+ background: var(--seeds-profile-card-banner-bg, transparent);
2390
+ border-radius: var(--radius-500) var(--radius-500) 0 0;
2391
+ }
2392
+
2393
+ .seeds-profile-card-footer {
2394
+ border-top: 1px solid var(--color-container-border-base);
2395
+ border-radius: 0 0 var(--radius-500) var(--radius-500);
2396
+ padding: var(--space-400);
2397
+ }
2398
+
2399
+ .seeds-profile-card-banner-content {
2400
+ display: flex;
2401
+ justify-content: flex-end;
2402
+ width: 100%;
2403
+ }
2404
+
2405
+ .seeds-profile-card-actions {
2406
+ display: flex;
2407
+ justify-content: flex-end;
2408
+ gap: var(--space-100);
2409
+ padding: 0 var(--space-300);
2410
+ }
2411
+
2412
+ .seeds-profile-card-actions:empty {
2413
+ min-height: 44px;
2414
+ }
2415
+
2416
+ .seeds-profile-card-content {
2417
+ display: flex;
2418
+ flex-direction: column;
2419
+ gap: var(--space-300);
2420
+ padding: 0 var(--space-400) var(--space-400);
2421
+ }
2422
+
2423
+ .seeds-profile-card-name-section {
2424
+ display: flex;
2425
+ align-items: center;
2426
+ gap: var(--space-200);
2427
+ }
2428
+
2429
+ .seeds-profile-card-info-row {
2430
+ display: flex;
2431
+ align-items: center;
2432
+ gap: var(--space-300);
2433
+ }
2434
+ }
2435
+ /* --- seeds-react-profile --- */
2436
+ /**
2437
+ * Seeds ProfileToken component classes
2438
+ *
2439
+ * Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
2440
+ * CSS variable definitions and dark mode support.
2441
+ */
2442
+
2443
+ @layer components {
2444
+ /*
2445
+ * The rendered element carries both .seeds-token (from Token) and
2446
+ * .seeds-profile-token at equal specificity, so the tighter profile padding
2447
+ * would otherwise depend on CSS concatenation order. The compound selector
2448
+ * raises specificity so this override deterministically wins over .seeds-token.
2449
+ */
2450
+ .seeds-token.seeds-profile-token {
2451
+ box-sizing: border-box;
2452
+ display: inline-flex;
2453
+ max-width: 100%;
2454
+ vertical-align: middle;
2455
+ padding: var(--space-100) var(--space-200);
2456
+ margin: var(--space-100) 0;
2457
+ }
2458
+ }
2459
+
2210
2460
  /* --- seeds-react-progress --- */
2211
2461
  /**
2212
2462
  * Seeds Progress component classes
@@ -2238,6 +2488,14 @@
2238
2488
  }
2239
2489
  }
2240
2490
 
2491
+ /* --- seeds-react-rating --- */
2492
+ @layer components {
2493
+ .seeds-rating {
2494
+ display: flex;
2495
+ align-items: center;
2496
+ }
2497
+ }
2498
+
2241
2499
  /* --- seeds-react-select --- */
2242
2500
  /**
2243
2501
  * Seeds Select component classes
@@ -2355,6 +2613,130 @@
2355
2613
  }
2356
2614
  }
2357
2615
 
2616
+ /* --- seeds-react-skeleton --- */
2617
+ /**
2618
+ * Seeds Skeleton component classes
2619
+ * Static reproduction of the styled-components Skeleton visuals.
2620
+ *
2621
+ * Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
2622
+ * CSS variable definitions and dark mode support.
2623
+ *
2624
+ * Usage:
2625
+ * <div class="seeds-skeleton circular" style="width:48px;height:48px"></div>
2626
+ * <div class="seeds-skeleton linear" style="width:100%;height:16px"></div>
2627
+ *
2628
+ * The `--skeleton-radius` custom property (set inline from the `borderRadius`
2629
+ * prop) controls corner rounding for the linear surface; the circular variant
2630
+ * masks its own shape.
2631
+ */
2632
+
2633
+ @layer components {
2634
+ .seeds-skeleton {
2635
+ position: relative;
2636
+ background: var(--color-container-bg-decorative-neutral);
2637
+ overflow: hidden;
2638
+ border-radius: var(--skeleton-radius, 0);
2639
+ }
2640
+
2641
+ .seeds-skeleton.circular::before {
2642
+ position: absolute;
2643
+ top: -25%;
2644
+ left: -25%;
2645
+ content: "";
2646
+ background-image: conic-gradient(
2647
+ var(--color-container-bg-decorative-neutral) 270deg,
2648
+ var(--color-container-border-decorative-neutral) 300deg
2649
+ );
2650
+ height: 150%;
2651
+ width: 150%;
2652
+ animation: SkeletonRotate 2s infinite linear;
2653
+ }
2654
+
2655
+ .seeds-skeleton.circular::after {
2656
+ position: absolute;
2657
+ top: 50%;
2658
+ left: 50%;
2659
+ transform: translate(-50%, -50%);
2660
+ content: "";
2661
+ height: calc(100% - 8px);
2662
+ width: calc(100% - 8px);
2663
+ background: var(--color-app-bg-base);
2664
+ border-radius: 50%;
2665
+ }
2666
+
2667
+ .seeds-skeleton.linear {
2668
+ position: relative;
2669
+ background-image: linear-gradient(
2670
+ 288deg,
2671
+ var(--color-container-bg-decorative-neutral) 32%,
2672
+ var(--color-container-border-decorative-neutral),
2673
+ var(--color-container-bg-decorative-neutral) 68%
2674
+ );
2675
+ background-size: 400%;
2676
+ background-repeat: no-repeat;
2677
+ animation: SkeletonShimmer 2s linear infinite reverse;
2678
+ overflow: hidden;
2679
+ }
2680
+
2681
+ .seeds-skeleton.linear::after {
2682
+ position: absolute;
2683
+ bottom: 0;
2684
+ content: "";
2685
+ height: calc(100% - 4px);
2686
+ width: 100%;
2687
+ background: var(--color-container-bg-decorative-neutral);
2688
+ }
2689
+
2690
+ @media (prefers-reduced-motion) {
2691
+ .seeds-skeleton.linear,
2692
+ .seeds-skeleton.circular::before {
2693
+ animation: none;
2694
+ }
2695
+ .seeds-skeleton::before,
2696
+ .seeds-skeleton::after {
2697
+ display: none;
2698
+ }
2699
+ .seeds-skeleton.linear,
2700
+ .seeds-skeleton.circular {
2701
+ border: 1px solid var(--color-container-border-decorative-neutral);
2702
+ animation: SkeletonPulse 2s linear infinite alternate;
2703
+ }
2704
+ }
2705
+ }
2706
+
2707
+ @keyframes SkeletonRotate {
2708
+ 100% {
2709
+ transform: rotate(360deg);
2710
+ }
2711
+ }
2712
+
2713
+ @keyframes SkeletonShimmer {
2714
+ 0% {
2715
+ background-position: 0% 0;
2716
+ }
2717
+ 100% {
2718
+ background-position: 100% 0;
2719
+ }
2720
+ }
2721
+
2722
+ /*
2723
+ * The styled-components original faded the border via hex-alpha concatenation
2724
+ * (…neutral + "FF" → "1A"); that string trick does not translate to var(--…),
2725
+ * so the fade is reproduced with color-mix (≈10% alpha matches 0x1A).
2726
+ */
2727
+ @keyframes SkeletonPulse {
2728
+ 0% {
2729
+ border-color: var(--color-container-border-decorative-neutral);
2730
+ }
2731
+ 100% {
2732
+ border-color: color-mix(
2733
+ in srgb,
2734
+ var(--color-container-border-decorative-neutral) 10%,
2735
+ transparent
2736
+ );
2737
+ }
2738
+ }
2739
+
2358
2740
  /* --- seeds-react-spot-illustration --- */
2359
2741
  /**
2360
2742
  * Seeds SpotIllustration component classes
@@ -2483,6 +2865,98 @@
2483
2865
  line-height: var(--line-height-200);
2484
2866
  }
2485
2867
  }
2868
+ /* --- seeds-react-textarea --- */
2869
+ /**
2870
+ * Seeds Textarea component classes
2871
+ * Use these instead of writing out individual Tailwind utility classes.
2872
+ *
2873
+ * Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
2874
+ * CSS variable definitions and dark mode support.
2875
+ *
2876
+ * Usage:
2877
+ * <div class="seeds-textarea">
2878
+ * <textarea class="seeds-textarea-input"></textarea>
2879
+ * </div>
2880
+ */
2881
+
2882
+ @layer components {
2883
+ .seeds-textarea {
2884
+ box-sizing: border-box;
2885
+ position: relative;
2886
+ }
2887
+
2888
+ .seeds-textarea-disabled {
2889
+ opacity: 0.4;
2890
+ }
2891
+
2892
+ .seeds-textarea-input {
2893
+ box-sizing: border-box;
2894
+ display: block;
2895
+ width: 100%;
2896
+ padding: var(--space-300);
2897
+ border: 1px solid var(--color-form-border-base);
2898
+ border-radius: var(--radius-500);
2899
+ background-color: var(--color-form-bg-base);
2900
+ color: var(--color-text-body);
2901
+ outline: none;
2902
+ resize: none;
2903
+ transition-property: border-color, box-shadow;
2904
+ transition-duration: var(--duration-fast);
2905
+ font-family: var(--font-family);
2906
+ font-size: var(--font-size-200);
2907
+ line-height: var(--line-height-200);
2908
+ font-weight: var(--font-weight-normal);
2909
+ appearance: none;
2910
+ }
2911
+
2912
+ .seeds-textarea-input:focus {
2913
+ box-shadow:
2914
+ 0 0 0 1px var(--color-button-primary-bg-base),
2915
+ 0 0 0 4px color-mix(in srgb, var(--color-button-primary-bg-base), transparent 70%);
2916
+ outline: none;
2917
+ }
2918
+
2919
+ .seeds-textarea-input::placeholder {
2920
+ color: var(--color-form-placeholder-base);
2921
+ font-style: italic;
2922
+ }
2923
+
2924
+ .seeds-textarea-input-resizable {
2925
+ resize: vertical;
2926
+ }
2927
+
2928
+ .seeds-textarea-input-before {
2929
+ padding-left: 40px;
2930
+ }
2931
+
2932
+ .seeds-textarea-input-after {
2933
+ padding-right: 40px;
2934
+ }
2935
+
2936
+ .seeds-textarea-input-disabled {
2937
+ cursor: not-allowed;
2938
+ }
2939
+
2940
+ .seeds-textarea-input-invalid {
2941
+ border-color: var(--color-form-border-error);
2942
+ }
2943
+
2944
+ .seeds-textarea-accessory {
2945
+ position: absolute;
2946
+ color: var(--color-icon-base);
2947
+ }
2948
+
2949
+ .seeds-textarea-accessory-before {
2950
+ top: var(--space-300);
2951
+ left: var(--space-350);
2952
+ }
2953
+
2954
+ .seeds-textarea-accessory-after {
2955
+ right: var(--space-350);
2956
+ bottom: var(--space-300);
2957
+ }
2958
+ }
2959
+
2486
2960
  /* --- seeds-react-token --- */
2487
2961
  /**
2488
2962
  * Seeds Token component classes
@@ -2644,3 +3118,323 @@
2644
3118
  color-mix(in srgb, var(--color-container-border-ai_generated), white 20%);
2645
3119
  }
2646
3120
  }
3121
+
3122
+ /* --- seeds-react-tree --- */
3123
+ /**
3124
+ * Seeds Tree component classes
3125
+ * CSS-class mirror of the styled-components that previously styled the tree
3126
+ * package (TreeStyles.tsx, TreeCombobox.tsx, Common/TreeSearchableSelectBase.tsx).
3127
+ *
3128
+ * Requires @sproutsocial/seeds-react-theme/dist/theme-all.css imported for
3129
+ * CSS variable definitions and dark mode support.
3130
+ *
3131
+ * Rules live in @layer components so consumer Tailwind utilities (which sit in
3132
+ * the later `utilities` layer) can override component styles on equal
3133
+ * specificity. Without the layer, these unlayered rules would out-rank any
3134
+ * utility class.
3135
+ *
3136
+ * Usage:
3137
+ * <ul class="seeds-tree" role="tree">
3138
+ * <li class="seeds-tree-item" role="treeitem">
3139
+ * <div class="seeds-tree-item-row" style="--tree-level: 1">…</div>
3140
+ * </li>
3141
+ * </ul>
3142
+ */
3143
+
3144
+ @layer components {
3145
+ /* ---------------------------------------------------------------------- */
3146
+ /* Tree / TreeItem (mirror of TreeStyles.tsx) */
3147
+ /* ---------------------------------------------------------------------- */
3148
+
3149
+ .seeds-tree {
3150
+ list-style: none;
3151
+ margin: 0;
3152
+ padding: 0;
3153
+ font-family: var(--font-family);
3154
+ font-size: var(--font-size-200);
3155
+ line-height: var(--line-height-200);
3156
+ color: var(--color-text-body);
3157
+ }
3158
+
3159
+ .seeds-tree-item {
3160
+ list-style: none;
3161
+ outline: none;
3162
+ }
3163
+
3164
+ /*
3165
+ * Tree rows stack tightly, so the standard outset Seeds focusRing bleeds
3166
+ * into adjacent rows. Use an inset outline so the ring is drawn just inside
3167
+ * the row's edge and never overlaps siblings or children.
3168
+ *
3169
+ * The same ring is drawn when [data-treeitem-active] is set so combobox
3170
+ * hosts that drive the tree via aria-activedescendant (no real DOM focus)
3171
+ * still get a visible "active" indicator on the row.
3172
+ */
3173
+ .seeds-tree-item:focus-visible > .seeds-tree-item-row,
3174
+ .seeds-tree-item[data-treeitem-active] > .seeds-tree-item-row {
3175
+ outline: 2px solid var(--color-button-primary-bg-base);
3176
+ outline-offset: -2px;
3177
+ }
3178
+
3179
+ .seeds-tree-item-row {
3180
+ display: flex;
3181
+ align-items: center;
3182
+ gap: var(--space-300);
3183
+ padding: var(--space-300);
3184
+ /* Indentation per depth: --tree-level is set inline on each row. */
3185
+ padding-left: calc(
3186
+ var(--space-300) + (var(--tree-level) - 1) * var(--space-400)
3187
+ );
3188
+ border-radius: var(--radius-400);
3189
+ cursor: pointer;
3190
+ user-select: none;
3191
+ background: transparent;
3192
+ transition: background-color var(--duration-fast) var(--ease-ease_in);
3193
+ }
3194
+
3195
+ .seeds-tree-item-row:hover {
3196
+ background: var(--color-listItem-bg-hover);
3197
+ }
3198
+
3199
+ .seeds-tree-item-row.selected {
3200
+ background: var(--color-listItem-bg-hover);
3201
+ font-weight: var(--font-weight-semibold);
3202
+ }
3203
+
3204
+ .seeds-tree-item-row.disabled {
3205
+ opacity: 0.4;
3206
+ cursor: not-allowed;
3207
+ pointer-events: none;
3208
+ }
3209
+
3210
+ .seeds-tree-item-group {
3211
+ list-style: none;
3212
+ margin: 0;
3213
+ padding: 0;
3214
+ }
3215
+
3216
+ .seeds-tree-item-label {
3217
+ flex: 1;
3218
+ min-width: 0;
3219
+ overflow: hidden;
3220
+ text-overflow: ellipsis;
3221
+ white-space: nowrap;
3222
+ }
3223
+
3224
+ .seeds-tree-item-icon {
3225
+ display: inline-flex;
3226
+ align-items: center;
3227
+ flex-shrink: 0;
3228
+ }
3229
+
3230
+ .seeds-tree-item-chevron {
3231
+ display: inline-flex;
3232
+ align-items: center;
3233
+ justify-content: center;
3234
+ flex-shrink: 0;
3235
+ width: var(--space-500);
3236
+ height: var(--space-500);
3237
+ padding: 0;
3238
+ border: none;
3239
+ background: transparent;
3240
+ color: var(--color-icon-base);
3241
+ cursor: pointer;
3242
+ border-radius: var(--radius-300);
3243
+ transition: transform var(--duration-fast) var(--ease-ease_in);
3244
+ transform: rotate(-90deg);
3245
+ }
3246
+
3247
+ .seeds-tree-item-chevron.expanded {
3248
+ transform: rotate(0deg);
3249
+ }
3250
+
3251
+ .seeds-tree-item-chevron:hover {
3252
+ background: var(--color-listItem-bg-hover);
3253
+ }
3254
+
3255
+ /* ---------------------------------------------------------------------- */
3256
+ /* TreeCombobox (mirror of TreeCombobox.tsx) */
3257
+ /* ---------------------------------------------------------------------- */
3258
+
3259
+ .seeds-tree-combobox {
3260
+ display: flex;
3261
+ flex-direction: column;
3262
+ flex: 1;
3263
+ min-height: 0;
3264
+ }
3265
+
3266
+ .seeds-tree-combobox-search {
3267
+ padding: var(--space-300);
3268
+ border-bottom: 1px solid var(--color-container-border-base);
3269
+ flex-shrink: 0;
3270
+ }
3271
+
3272
+ .seeds-tree-combobox-input-group {
3273
+ display: flex;
3274
+ align-items: center;
3275
+ gap: var(--space-200);
3276
+ padding: var(--space-200) var(--space-300);
3277
+ border-radius: var(--radius-500);
3278
+ border: 1px solid var(--color-container-border-base);
3279
+ background: var(--color-container-bg-base);
3280
+ color: var(--color-icon-base);
3281
+ }
3282
+
3283
+ .seeds-tree-combobox-input-group:focus-within {
3284
+ box-shadow:
3285
+ 0 0 0 1px var(--color-button-primary-bg-base),
3286
+ 0 0px 0px 4px
3287
+ color-mix(
3288
+ in srgb,
3289
+ var(--color-button-primary-bg-base),
3290
+ transparent 70%
3291
+ );
3292
+ outline: none;
3293
+ }
3294
+
3295
+ .seeds-tree-combobox-input {
3296
+ flex: 1;
3297
+ border: none;
3298
+ background: transparent;
3299
+ outline: none;
3300
+ font-family: var(--font-family);
3301
+ font-size: var(--font-size-200);
3302
+ line-height: var(--line-height-200);
3303
+ color: var(--color-text-body);
3304
+ }
3305
+
3306
+ .seeds-tree-combobox-input::placeholder {
3307
+ color: var(--color-text-subtext);
3308
+ }
3309
+
3310
+ .seeds-tree-combobox-list {
3311
+ padding: var(--space-200);
3312
+ overflow: auto;
3313
+ flex: 1;
3314
+ min-height: 0;
3315
+ }
3316
+
3317
+ .seeds-tree-combobox-empty {
3318
+ padding: var(--space-300) var(--space-350);
3319
+ text-align: center;
3320
+ color: var(--color-text-subtext);
3321
+ font-size: var(--font-size-200);
3322
+ line-height: var(--line-height-200);
3323
+ }
3324
+
3325
+ /* ---------------------------------------------------------------------- */
3326
+ /* TreeSearchableSelect (mirror of Common/TreeSearchableSelectBase.tsx) */
3327
+ /* ---------------------------------------------------------------------- */
3328
+
3329
+ .seeds-tree-select-trigger {
3330
+ display: flex;
3331
+ align-items: center;
3332
+ justify-content: space-between;
3333
+ gap: var(--space-300);
3334
+ padding: var(--space-200) var(--space-350);
3335
+ min-width: 160px;
3336
+ width: auto;
3337
+ border-radius: var(--radius-500);
3338
+ border: 1px solid var(--color-form-border-base);
3339
+ background: var(--color-form-bg-base);
3340
+ font-family: var(--font-family);
3341
+ font-size: var(--font-size-200);
3342
+ line-height: var(--line-height-200);
3343
+ color: var(--color-text-body);
3344
+ text-align: left;
3345
+ cursor: default;
3346
+ outline: none;
3347
+ user-select: none;
3348
+ transition:
3349
+ border-color var(--duration-fast) var(--ease-ease_in),
3350
+ box-shadow var(--duration-fast) var(--ease-ease_in);
3351
+ }
3352
+
3353
+ .seeds-tree-select-trigger.full-width {
3354
+ width: 100%;
3355
+ }
3356
+
3357
+ .seeds-tree-select-trigger:focus-visible {
3358
+ box-shadow:
3359
+ 0 0 0 1px var(--color-button-primary-bg-base),
3360
+ 0 0px 0px 4px
3361
+ color-mix(
3362
+ in srgb,
3363
+ var(--color-button-primary-bg-base),
3364
+ transparent 70%
3365
+ );
3366
+ outline: none;
3367
+ }
3368
+
3369
+ .seeds-tree-select-trigger::-moz-focus-inner {
3370
+ border: 0;
3371
+ }
3372
+
3373
+ .seeds-tree-select-trigger[aria-disabled="true"],
3374
+ .seeds-tree-select-trigger:disabled {
3375
+ opacity: 0.4;
3376
+ cursor: not-allowed;
3377
+ }
3378
+
3379
+ .seeds-tree-select-trigger.invalid {
3380
+ border-color: var(--color-form-border-error);
3381
+ }
3382
+
3383
+ .seeds-tree-select-trigger-label {
3384
+ flex: 1;
3385
+ min-width: 0;
3386
+ overflow: hidden;
3387
+ text-overflow: ellipsis;
3388
+ white-space: nowrap;
3389
+ }
3390
+
3391
+ .seeds-tree-select-placeholder {
3392
+ color: var(--color-text-subtext);
3393
+ }
3394
+
3395
+ .seeds-tree-select-chevron {
3396
+ display: inline-flex;
3397
+ align-items: center;
3398
+ color: var(--color-icon-base);
3399
+ transition: transform var(--duration-fast) var(--ease-ease_in);
3400
+ }
3401
+
3402
+ .seeds-tree-select-chevron.open {
3403
+ transform: rotate(-180deg);
3404
+ }
3405
+
3406
+ /*
3407
+ * Visually-hidden input that mirrors the combobox's selected value into a
3408
+ * form-submittable element. Matches Base UI's pattern (used by v3
3409
+ * SearchableSelect): the input stays in the DOM so HTML forms pick up the
3410
+ * value, but it's removed from view and from the accessibility tree.
3411
+ */
3412
+ .seeds-tree-select-hidden-input {
3413
+ clip-path: inset(50%);
3414
+ overflow: hidden;
3415
+ white-space: nowrap;
3416
+ border: 0;
3417
+ padding: 0;
3418
+ width: 1px;
3419
+ height: 1px;
3420
+ margin: -1px;
3421
+ position: fixed;
3422
+ top: 0;
3423
+ left: 0;
3424
+ }
3425
+
3426
+ .seeds-tree-select-popout {
3427
+ display: flex;
3428
+ flex-direction: column;
3429
+ /* Width sizes to content within bounds: at least the trigger width, never */
3430
+ /* wider than the available viewport space. Shallow popups stay flush with */
3431
+ /* the trigger; deeply nested trees expand horizontally as needed. */
3432
+ min-width: var(--radix-popover-trigger-width);
3433
+ max-width: var(--radix-popper-available-width);
3434
+ /* Height caps at 400px (or available viewport) so a popup with many */
3435
+ /* expanded branches scrolls vertically instead of growing off-screen. */
3436
+ max-height: min(var(--radix-popper-available-height), 400px);
3437
+ /* Width is set inline via --tree-select-width (defaults to max-content). */
3438
+ width: var(--tree-select-width, max-content);
3439
+ }
3440
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sproutsocial/racine",
3
- "version": "31.7.0",
3
+ "version": "31.7.3",
4
4
  "license": "MIT",
5
5
  "engines": {
6
6
  "node": ">=18"
@@ -73,74 +73,74 @@
73
73
  },
74
74
  "dependencies": {
75
75
  "@size-limit/file": "^11.1.6",
76
- "@sproutsocial/seeds-react-accordion": "^0.4.49",
77
- "@sproutsocial/seeds-react-avatar": "^1.1.18",
78
- "@sproutsocial/seeds-react-badge": "^2.0.35",
79
- "@sproutsocial/seeds-react-banner": "^1.1.23",
80
- "@sproutsocial/seeds-react-box": "^1.1.22",
81
- "@sproutsocial/seeds-react-breadcrumb": "^1.1.8",
82
- "@sproutsocial/seeds-react-button": "^2.2.2",
83
- "@sproutsocial/seeds-react-card": "^1.1.43",
76
+ "@sproutsocial/seeds-react-accordion": "^0.4.50",
77
+ "@sproutsocial/seeds-react-avatar": "^1.1.19",
78
+ "@sproutsocial/seeds-react-badge": "^2.0.36",
79
+ "@sproutsocial/seeds-react-banner": "^1.1.24",
80
+ "@sproutsocial/seeds-react-box": "^1.1.23",
81
+ "@sproutsocial/seeds-react-breadcrumb": "^1.1.9",
82
+ "@sproutsocial/seeds-react-button": "^2.2.3",
83
+ "@sproutsocial/seeds-react-card": "^1.1.44",
84
84
  "@sproutsocial/seeds-react-character-counter": "^1.0.4",
85
- "@sproutsocial/seeds-react-chart-legend": "^1.0.42",
85
+ "@sproutsocial/seeds-react-chart-legend": "^1.0.43",
86
86
  "@sproutsocial/seeds-react-chat-bubble": "^0.2.2",
87
- "@sproutsocial/seeds-react-checkbox": "^1.3.43",
87
+ "@sproutsocial/seeds-react-checkbox": "^1.3.44",
88
88
  "@sproutsocial/seeds-react-collapsible": "^2.0.1",
89
- "@sproutsocial/seeds-react-container": "^0.3.16",
90
- "@sproutsocial/seeds-react-content-block": "^0.5.16",
91
- "@sproutsocial/seeds-react-content-header": "^0.2.21",
92
- "@sproutsocial/seeds-react-data-table": "^2.6.24",
93
- "@sproutsocial/seeds-react-datepicker": "^1.0.40",
94
- "@sproutsocial/seeds-react-drawer": "^2.2.9",
95
- "@sproutsocial/seeds-react-duration": "^1.0.25",
96
- "@sproutsocial/seeds-react-empty-state": "^1.0.24",
97
- "@sproutsocial/seeds-react-fieldset": "^1.0.24",
98
- "@sproutsocial/seeds-react-form-field": "^1.1.18",
99
- "@sproutsocial/seeds-react-grid": "^0.2.6",
100
- "@sproutsocial/seeds-react-hooks": "^3.2.3",
101
- "@sproutsocial/seeds-react-icon": "^2.4.1",
102
- "@sproutsocial/seeds-react-image": "^1.0.22",
103
- "@sproutsocial/seeds-react-indicator": "^1.0.41",
104
- "@sproutsocial/seeds-react-input": "^1.5.28",
105
- "@sproutsocial/seeds-react-keyboard-key": "^1.0.24",
106
- "@sproutsocial/seeds-react-label": "^1.0.24",
107
- "@sproutsocial/seeds-react-link": "^1.1.14",
108
- "@sproutsocial/seeds-react-list": "^0.3.27",
109
- "@sproutsocial/seeds-react-loader": "^1.0.24",
110
- "@sproutsocial/seeds-react-loader-button": "^1.0.47",
111
- "@sproutsocial/seeds-react-message": "^1.0.50",
112
- "@sproutsocial/seeds-react-mixins": "^4.3.8",
113
- "@sproutsocial/seeds-react-modal": "^2.5.24",
114
- "@sproutsocial/seeds-react-narrative-kit": "^0.5.0",
115
- "@sproutsocial/seeds-react-numeral": "^1.0.49",
116
- "@sproutsocial/seeds-react-pagination": "^0.1.22",
117
- "@sproutsocial/seeds-react-panel": "^1.0.2",
118
- "@sproutsocial/seeds-react-peek-in": "^0.3.1",
119
- "@sproutsocial/seeds-react-partner-logo": "^1.7.14",
120
- "@sproutsocial/seeds-react-popout": "^2.5.10",
89
+ "@sproutsocial/seeds-react-container": "^0.3.17",
90
+ "@sproutsocial/seeds-react-content-block": "^0.5.17",
91
+ "@sproutsocial/seeds-react-content-header": "^0.2.22",
92
+ "@sproutsocial/seeds-react-data-table": "^2.6.25",
93
+ "@sproutsocial/seeds-react-datepicker": "^1.0.41",
94
+ "@sproutsocial/seeds-react-drawer": "^2.2.10",
95
+ "@sproutsocial/seeds-react-duration": "^1.0.26",
96
+ "@sproutsocial/seeds-react-empty-state": "^1.0.25",
97
+ "@sproutsocial/seeds-react-fieldset": "^1.0.25",
98
+ "@sproutsocial/seeds-react-form-field": "^1.1.19",
99
+ "@sproutsocial/seeds-react-grid": "^0.2.7",
100
+ "@sproutsocial/seeds-react-hooks": "^3.2.4",
101
+ "@sproutsocial/seeds-react-icon": "^2.4.2",
102
+ "@sproutsocial/seeds-react-image": "^1.0.23",
103
+ "@sproutsocial/seeds-react-indicator": "^1.0.42",
104
+ "@sproutsocial/seeds-react-input": "^1.5.29",
105
+ "@sproutsocial/seeds-react-keyboard-key": "^1.0.25",
106
+ "@sproutsocial/seeds-react-label": "^1.0.25",
107
+ "@sproutsocial/seeds-react-link": "^1.1.15",
108
+ "@sproutsocial/seeds-react-list": "^0.3.29",
109
+ "@sproutsocial/seeds-react-loader": "^1.0.25",
110
+ "@sproutsocial/seeds-react-loader-button": "^1.0.48",
111
+ "@sproutsocial/seeds-react-message": "^1.0.51",
112
+ "@sproutsocial/seeds-react-mixins": "^4.3.9",
113
+ "@sproutsocial/seeds-react-modal": "^2.5.25",
114
+ "@sproutsocial/seeds-react-narrative-kit": "^0.6.0",
115
+ "@sproutsocial/seeds-react-numeral": "^1.0.50",
116
+ "@sproutsocial/seeds-react-pagination": "^0.1.23",
117
+ "@sproutsocial/seeds-react-panel": "^1.0.3",
118
+ "@sproutsocial/seeds-react-peek-in": "^0.3.2",
119
+ "@sproutsocial/seeds-react-partner-logo": "^1.7.15",
120
+ "@sproutsocial/seeds-react-popout": "^2.5.11",
121
121
  "@sproutsocial/seeds-react-portal": "^1.2.0",
122
- "@sproutsocial/seeds-react-progress": "^0.2.9",
123
- "@sproutsocial/seeds-react-radio": "^1.3.24",
124
- "@sproutsocial/seeds-react-rating": "^1.0.41",
125
- "@sproutsocial/seeds-react-segmented-control": "^1.1.23",
122
+ "@sproutsocial/seeds-react-progress": "^0.2.10",
123
+ "@sproutsocial/seeds-react-radio": "^1.3.25",
124
+ "@sproutsocial/seeds-react-rating": "^1.0.43",
125
+ "@sproutsocial/seeds-react-segmented-control": "^1.1.24",
126
126
  "@sproutsocial/seeds-react-spot-illustration": "^1.2.4",
127
- "@sproutsocial/seeds-react-select": "^1.1.42",
128
- "@sproutsocial/seeds-react-skeleton": "^1.1.21",
129
- "@sproutsocial/seeds-react-stack": "^1.0.21",
130
- "@sproutsocial/seeds-react-switch": "^1.2.40",
127
+ "@sproutsocial/seeds-react-select": "^1.1.43",
128
+ "@sproutsocial/seeds-react-skeleton": "^1.1.23",
129
+ "@sproutsocial/seeds-react-stack": "^1.0.22",
130
+ "@sproutsocial/seeds-react-switch": "^1.2.41",
131
131
  "@sproutsocial/seeds-react-system-props": "^3.1.1",
132
- "@sproutsocial/seeds-react-table": "^1.0.43",
133
- "@sproutsocial/seeds-react-tabs": "^1.4.12",
132
+ "@sproutsocial/seeds-react-table": "^1.0.44",
133
+ "@sproutsocial/seeds-react-tabs": "^1.4.13",
134
134
  "@sproutsocial/seeds-react-text": "^1.5.0",
135
- "@sproutsocial/seeds-react-textarea": "^1.0.22",
136
- "@sproutsocial/seeds-react-toast": "^1.0.43",
137
- "@sproutsocial/seeds-react-token": "^1.5.8",
138
- "@sproutsocial/seeds-react-token-input": "^1.4.50",
139
- "@sproutsocial/seeds-react-tooltip": "^1.1.28",
140
- "@sproutsocial/seeds-react-theme": "^4.1.1",
141
- "@sproutsocial/seeds-react-theme-provider": "^1.1.21",
135
+ "@sproutsocial/seeds-react-textarea": "^1.0.24",
136
+ "@sproutsocial/seeds-react-toast": "^1.0.44",
137
+ "@sproutsocial/seeds-react-token": "^1.5.9",
138
+ "@sproutsocial/seeds-react-token-input": "^1.4.51",
139
+ "@sproutsocial/seeds-react-tooltip": "^1.1.29",
140
+ "@sproutsocial/seeds-react-theme": "^4.2.0",
141
+ "@sproutsocial/seeds-react-theme-provider": "^1.1.22",
142
142
  "@sproutsocial/seeds-react-utilities": "^4.3.0",
143
- "@sproutsocial/seeds-react-visually-hidden": "^1.0.23",
143
+ "@sproutsocial/seeds-react-visually-hidden": "^1.0.24",
144
144
  "scroll-into-view-if-needed": "^2.2.20",
145
145
  "lodash.uniqueid": "^4.0.1",
146
146
  "styled-system": "^5.1.5",
@@ -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.16.2",
166
+ "@sproutsocial/seeds-react-menu": "^1.16.3",
167
167
  "@sproutsocial/seeds-react-testing-library": "*",
168
168
  "@sproutsocial/seeds-space": "^0.8.1",
169
169
  "@sproutsocial/seeds-testing": "*",