@sproutsocial/racine 31.7.1 → 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 +80 -0
- package/dist/components.css +802 -5
- package/package.json +62 -62
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,85 @@
|
|
|
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
|
+
|
|
3
83
|
## 31.7.1
|
|
4
84
|
|
|
5
85
|
### Patch Changes
|
package/dist/components.css
CHANGED
|
@@ -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
|
-
|
|
1307
|
-
|
|
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.
|
|
@@ -1944,13 +2019,16 @@
|
|
|
1944
2019
|
@layer components {
|
|
1945
2020
|
|
|
1946
2021
|
/* Main card container — gray background with rounded corners and padding.
|
|
1947
|
-
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. */
|
|
1948
2026
|
.seeds-narrative-social-media-card {
|
|
1949
2027
|
box-sizing: border-box;
|
|
1950
2028
|
display: flex;
|
|
1951
2029
|
flex-direction: column;
|
|
1952
|
-
align-items:
|
|
1953
|
-
|
|
2030
|
+
align-items: stretch;
|
|
2031
|
+
width: 100%;
|
|
1954
2032
|
padding: var(--space-450); /* 24px */
|
|
1955
2033
|
border-radius: var(--radius-500); /* 6px */
|
|
1956
2034
|
background-color: var(--color-app-bg-base);
|
|
@@ -2204,6 +2282,181 @@
|
|
|
2204
2282
|
|
|
2205
2283
|
}
|
|
2206
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
|
+
|
|
2207
2460
|
/* --- seeds-react-progress --- */
|
|
2208
2461
|
/**
|
|
2209
2462
|
* Seeds Progress component classes
|
|
@@ -2235,6 +2488,14 @@
|
|
|
2235
2488
|
}
|
|
2236
2489
|
}
|
|
2237
2490
|
|
|
2491
|
+
/* --- seeds-react-rating --- */
|
|
2492
|
+
@layer components {
|
|
2493
|
+
.seeds-rating {
|
|
2494
|
+
display: flex;
|
|
2495
|
+
align-items: center;
|
|
2496
|
+
}
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2238
2499
|
/* --- seeds-react-select --- */
|
|
2239
2500
|
/**
|
|
2240
2501
|
* Seeds Select component classes
|
|
@@ -2352,6 +2613,130 @@
|
|
|
2352
2613
|
}
|
|
2353
2614
|
}
|
|
2354
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
|
+
|
|
2355
2740
|
/* --- seeds-react-spot-illustration --- */
|
|
2356
2741
|
/**
|
|
2357
2742
|
* Seeds SpotIllustration component classes
|
|
@@ -2480,6 +2865,98 @@
|
|
|
2480
2865
|
line-height: var(--line-height-200);
|
|
2481
2866
|
}
|
|
2482
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
|
+
|
|
2483
2960
|
/* --- seeds-react-token --- */
|
|
2484
2961
|
/**
|
|
2485
2962
|
* Seeds Token component classes
|
|
@@ -2641,3 +3118,323 @@
|
|
|
2641
3118
|
color-mix(in srgb, var(--color-container-border-ai_generated), white 20%);
|
|
2642
3119
|
}
|
|
2643
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.
|
|
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.
|
|
77
|
-
"@sproutsocial/seeds-react-avatar": "^1.1.
|
|
78
|
-
"@sproutsocial/seeds-react-badge": "^2.0.
|
|
79
|
-
"@sproutsocial/seeds-react-banner": "^1.1.
|
|
80
|
-
"@sproutsocial/seeds-react-box": "^1.1.
|
|
81
|
-
"@sproutsocial/seeds-react-breadcrumb": "^1.1.
|
|
82
|
-
"@sproutsocial/seeds-react-button": "^2.2.
|
|
83
|
-
"@sproutsocial/seeds-react-card": "^1.1.
|
|
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.
|
|
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.
|
|
87
|
+
"@sproutsocial/seeds-react-checkbox": "^1.3.44",
|
|
88
88
|
"@sproutsocial/seeds-react-collapsible": "^2.0.1",
|
|
89
|
-
"@sproutsocial/seeds-react-container": "^0.3.
|
|
90
|
-
"@sproutsocial/seeds-react-content-block": "^0.5.
|
|
91
|
-
"@sproutsocial/seeds-react-content-header": "^0.2.
|
|
92
|
-
"@sproutsocial/seeds-react-data-table": "^2.6.
|
|
93
|
-
"@sproutsocial/seeds-react-datepicker": "^1.0.
|
|
94
|
-
"@sproutsocial/seeds-react-drawer": "^2.2.
|
|
95
|
-
"@sproutsocial/seeds-react-duration": "^1.0.
|
|
96
|
-
"@sproutsocial/seeds-react-empty-state": "^1.0.
|
|
97
|
-
"@sproutsocial/seeds-react-fieldset": "^1.0.
|
|
98
|
-
"@sproutsocial/seeds-react-form-field": "^1.1.
|
|
99
|
-
"@sproutsocial/seeds-react-grid": "^0.2.
|
|
100
|
-
"@sproutsocial/seeds-react-hooks": "^3.2.
|
|
101
|
-
"@sproutsocial/seeds-react-icon": "^2.4.
|
|
102
|
-
"@sproutsocial/seeds-react-image": "^1.0.
|
|
103
|
-
"@sproutsocial/seeds-react-indicator": "^1.0.
|
|
104
|
-
"@sproutsocial/seeds-react-input": "^1.5.
|
|
105
|
-
"@sproutsocial/seeds-react-keyboard-key": "^1.0.
|
|
106
|
-
"@sproutsocial/seeds-react-label": "^1.0.
|
|
107
|
-
"@sproutsocial/seeds-react-link": "^1.1.
|
|
108
|
-
"@sproutsocial/seeds-react-list": "^0.3.
|
|
109
|
-
"@sproutsocial/seeds-react-loader": "^1.0.
|
|
110
|
-
"@sproutsocial/seeds-react-loader-button": "^1.0.
|
|
111
|
-
"@sproutsocial/seeds-react-message": "^1.0.
|
|
112
|
-
"@sproutsocial/seeds-react-mixins": "^4.3.
|
|
113
|
-
"@sproutsocial/seeds-react-modal": "^2.5.
|
|
114
|
-
"@sproutsocial/seeds-react-narrative-kit": "^0.
|
|
115
|
-
"@sproutsocial/seeds-react-numeral": "^1.0.
|
|
116
|
-
"@sproutsocial/seeds-react-pagination": "^0.1.
|
|
117
|
-
"@sproutsocial/seeds-react-panel": "^1.0.
|
|
118
|
-
"@sproutsocial/seeds-react-peek-in": "^0.3.
|
|
119
|
-
"@sproutsocial/seeds-react-partner-logo": "^1.7.
|
|
120
|
-
"@sproutsocial/seeds-react-popout": "^2.5.
|
|
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.
|
|
123
|
-
"@sproutsocial/seeds-react-radio": "^1.3.
|
|
124
|
-
"@sproutsocial/seeds-react-rating": "^1.0.
|
|
125
|
-
"@sproutsocial/seeds-react-segmented-control": "^1.1.
|
|
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.
|
|
128
|
-
"@sproutsocial/seeds-react-skeleton": "^1.1.
|
|
129
|
-
"@sproutsocial/seeds-react-stack": "^1.0.
|
|
130
|
-
"@sproutsocial/seeds-react-switch": "^1.2.
|
|
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.
|
|
133
|
-
"@sproutsocial/seeds-react-tabs": "^1.4.
|
|
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.
|
|
136
|
-
"@sproutsocial/seeds-react-toast": "^1.0.
|
|
137
|
-
"@sproutsocial/seeds-react-token": "^1.5.
|
|
138
|
-
"@sproutsocial/seeds-react-token-input": "^1.4.
|
|
139
|
-
"@sproutsocial/seeds-react-tooltip": "^1.1.
|
|
140
|
-
"@sproutsocial/seeds-react-theme": "^4.
|
|
141
|
-
"@sproutsocial/seeds-react-theme-provider": "^1.1.
|
|
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.
|
|
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.
|
|
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": "*",
|