fernwell 0.2.0 → 0.4.0

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/dist/fernwell.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! fernwell v0.2.0 | MIT | https://github.com/JacobKnaack/fernwell */
1
+ /*! fernwell v0.4.0 | MIT | https://github.com/JacobKnaack/fernwell */
2
2
  /* src/css/tokens.css */
3
3
  @layer fw-tokens {
4
4
  :root,
@@ -30,6 +30,9 @@
30
30
  --fw-overlay: rgba(31, 36, 48, 0.55);
31
31
  --fw-overlay-soft: rgba(31, 36, 48, 0.32);
32
32
  --fw-focus-ring: 0 0 0 4px color-mix(in srgb, var(--fw-primary) 25%, transparent);
33
+ --fw-scrollbar-thumb: var(--fw-text-soft);
34
+ --fw-scrollbar-thumb-hover: color-mix(in srgb, var(--fw-text-soft), var(--fw-text) 15%);
35
+ --fw-scrollbar-track: transparent;
33
36
  --fw-font-display:
34
37
  "Plus Jakarta Sans",
35
38
  system-ui,
@@ -96,6 +99,9 @@
96
99
  --fw-overlay: rgba(0, 0, 0, 0.6);
97
100
  --fw-overlay-soft: rgba(0, 0, 0, 0.4);
98
101
  --fw-focus-ring: 0 0 0 4px color-mix(in srgb, var(--fw-primary) 25%, transparent);
102
+ --fw-scrollbar-thumb: var(--fw-text-soft);
103
+ --fw-scrollbar-thumb-hover: color-mix(in srgb, var(--fw-text-soft), var(--fw-text) 15%);
104
+ --fw-scrollbar-track: transparent;
99
105
  --fw-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
100
106
  --fw-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35);
101
107
  --fw-shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.45);
@@ -113,6 +119,10 @@
113
119
  -webkit-font-smoothing: antialiased;
114
120
  transition: background var(--fw-motion-base) var(--fw-motion-ease), color var(--fw-motion-base) var(--fw-motion-ease);
115
121
  }
122
+ [data-fw-theme-init],
123
+ [data-fw-theme-init] * {
124
+ transition: none !important;
125
+ }
116
126
  .fw-root,
117
127
  .fw-root *,
118
128
  .fw-root *::before,
@@ -147,6 +157,9 @@
147
157
  white-space: nowrap;
148
158
  border: 0;
149
159
  }
160
+ html:has(body.fw-scroll-lock) {
161
+ scrollbar-gutter: stable;
162
+ }
150
163
  .fw-scroll-lock {
151
164
  overflow: hidden;
152
165
  }
@@ -185,6 +198,155 @@
185
198
  }
186
199
  }
187
200
 
201
+ /* src/css/components/spacer.css */
202
+ .fw-spacer {
203
+ display: block;
204
+ flex-shrink: 0;
205
+ }
206
+ .fw-spacer[data-fw-axis=horizontal] {
207
+ display: inline-block;
208
+ width: var(--fw-spacer-size, var(--fw-sp-4));
209
+ height: 1px;
210
+ }
211
+ .fw-spacer:not([data-fw-axis=horizontal]):not([data-fw-axis=both]) {
212
+ width: 100%;
213
+ height: var(--fw-spacer-size, var(--fw-sp-4));
214
+ }
215
+ .fw-spacer[data-fw-axis=both] {
216
+ width: var(--fw-spacer-size, var(--fw-sp-4));
217
+ height: var(--fw-spacer-size, var(--fw-sp-4));
218
+ }
219
+ .fw-spacer[data-fw-size="1"] {
220
+ --fw-spacer-size: var(--fw-sp-1);
221
+ }
222
+ .fw-spacer[data-fw-size="2"] {
223
+ --fw-spacer-size: var(--fw-sp-2);
224
+ }
225
+ .fw-spacer[data-fw-size="3"] {
226
+ --fw-spacer-size: var(--fw-sp-3);
227
+ }
228
+ .fw-spacer[data-fw-size="4"] {
229
+ --fw-spacer-size: var(--fw-sp-4);
230
+ }
231
+ .fw-spacer[data-fw-size="5"] {
232
+ --fw-spacer-size: var(--fw-sp-5);
233
+ }
234
+ .fw-spacer[data-fw-size="6"] {
235
+ --fw-spacer-size: var(--fw-sp-6);
236
+ }
237
+ .fw-spacer[data-fw-size="7"] {
238
+ --fw-spacer-size: var(--fw-sp-7);
239
+ }
240
+ .fw-spacer[data-fw-size="8"] {
241
+ --fw-spacer-size: var(--fw-sp-8);
242
+ }
243
+ .fw-spacer[data-fw-size="9"] {
244
+ --fw-spacer-size: var(--fw-sp-9);
245
+ }
246
+ .fw-spacer[data-fw-size=auto] {
247
+ flex: 1 1 auto;
248
+ width: auto;
249
+ height: auto;
250
+ }
251
+
252
+ /* src/css/components/divider.css */
253
+ .fw-divider {
254
+ border: none;
255
+ margin: 0;
256
+ flex-shrink: 0;
257
+ background: var(--fw-bg-dim);
258
+ }
259
+ .fw-divider,
260
+ .fw-divider[aria-orientation=horizontal] {
261
+ width: 100%;
262
+ height: var(--fw-border-w);
263
+ }
264
+ .fw-divider[aria-orientation=vertical] {
265
+ width: var(--fw-border-w);
266
+ height: 100%;
267
+ align-self: stretch;
268
+ }
269
+ .fw-divider-dashed,
270
+ .fw-divider-dotted {
271
+ background: none;
272
+ height: 0;
273
+ }
274
+ .fw-divider-dashed {
275
+ border-top: var(--fw-border-w) dashed var(--fw-bg-dim);
276
+ }
277
+ .fw-divider-dotted {
278
+ border-top: var(--fw-border-w) dotted var(--fw-bg-dim);
279
+ }
280
+ .fw-divider[aria-orientation=vertical].fw-divider-dashed,
281
+ .fw-divider[aria-orientation=vertical].fw-divider-dotted {
282
+ width: 0;
283
+ border-top: none;
284
+ }
285
+ .fw-divider[aria-orientation=vertical].fw-divider-dashed {
286
+ border-left: var(--fw-border-w) dashed var(--fw-bg-dim);
287
+ }
288
+ .fw-divider[aria-orientation=vertical].fw-divider-dotted {
289
+ border-left: var(--fw-border-w) dotted var(--fw-bg-dim);
290
+ }
291
+ .fw-divider-labeled {
292
+ display: flex;
293
+ align-items: center;
294
+ gap: var(--fw-sp-3);
295
+ width: 100%;
296
+ color: var(--fw-text-soft);
297
+ font-size: 13px;
298
+ font-family: var(--fw-font-body);
299
+ }
300
+ .fw-divider-labeled::before,
301
+ .fw-divider-labeled::after {
302
+ content: "";
303
+ flex: 1;
304
+ height: var(--fw-border-w);
305
+ background: var(--fw-bg-dim);
306
+ }
307
+ .fw-divider-labeled-start::before {
308
+ flex: 0 0 var(--fw-sp-5);
309
+ }
310
+ .fw-divider-labeled-end::after {
311
+ flex: 0 0 var(--fw-sp-5);
312
+ }
313
+
314
+ /* src/css/components/aspect-ratio.css */
315
+ .fw-aspect-ratio {
316
+ position: relative;
317
+ overflow: hidden;
318
+ width: 100%;
319
+ aspect-ratio: var(--fw-aspect-ratio, 16 / 9);
320
+ }
321
+ .fw-aspect-ratio > img,
322
+ .fw-aspect-ratio > video,
323
+ .fw-aspect-ratio > iframe,
324
+ .fw-aspect-ratio > .fw-aspect-ratio-media {
325
+ display: block;
326
+ width: 100%;
327
+ height: 100%;
328
+ object-fit: cover;
329
+ object-position: var(--fw-aspect-position, 50% 50%);
330
+ }
331
+ .fw-aspect-ratio[data-fw-ratio="1:1"] {
332
+ --fw-aspect-ratio: 1 / 1;
333
+ }
334
+ .fw-aspect-ratio[data-fw-ratio="4:3"] {
335
+ --fw-aspect-ratio: 4 / 3;
336
+ }
337
+ .fw-aspect-ratio[data-fw-ratio="16:9"] {
338
+ --fw-aspect-ratio: 16 / 9;
339
+ }
340
+ .fw-aspect-ratio[data-fw-ratio="21:9"] {
341
+ --fw-aspect-ratio: 21 / 9;
342
+ }
343
+ .fw-aspect-ratio[data-fw-fit=contain] > img,
344
+ .fw-aspect-ratio[data-fw-fit=contain] > video,
345
+ .fw-aspect-ratio[data-fw-fit=contain] > iframe,
346
+ .fw-aspect-ratio[data-fw-fit=contain] > .fw-aspect-ratio-media {
347
+ object-fit: contain;
348
+ }
349
+
188
350
  /* src/css/components/button.css */
189
351
  .fw-btn {
190
352
  font-family: var(--fw-font-body);
@@ -286,6 +448,20 @@
286
448
  height: 15px;
287
449
  }
288
450
 
451
+ /* src/css/components/icon.css */
452
+ .fw-icon {
453
+ display: inline-flex;
454
+ width: 1em;
455
+ height: 1em;
456
+ color: inherit;
457
+ vertical-align: -0.125em;
458
+ }
459
+ .fw-icon svg {
460
+ width: 100%;
461
+ height: 100%;
462
+ display: block;
463
+ }
464
+
289
465
  /* src/css/components/card.css */
290
466
  .fw-card {
291
467
  background: var(--fw-surface);
@@ -1103,6 +1279,7 @@ textarea.fw-input,
1103
1279
  135deg,
1104
1280
  var(--fw-primary),
1105
1281
  var(--fw-primary-soft));
1282
+ color: var(--fw-on-primary);
1106
1283
  display: flex;
1107
1284
  align-items: center;
1108
1285
  justify-content: center;
@@ -1146,13 +1323,16 @@ textarea.fw-input,
1146
1323
  font-family: var(--fw-font-body);
1147
1324
  border-radius: var(--fw-r-xl);
1148
1325
  box-shadow: var(--fw-shadow-lg);
1326
+ overflow: hidden;
1149
1327
  width: 100%;
1150
1328
  max-width: 460px;
1329
+ transform: translateY(8px) scale(0.98);
1330
+ transition: transform var(--fw-motion-base) var(--fw-motion-ease);
1331
+ }
1332
+ .fw-modal-scroll {
1151
1333
  max-height: 88vh;
1152
1334
  overflow-y: auto;
1153
1335
  padding: var(--fw-sp-6);
1154
- transform: translateY(8px) scale(0.98);
1155
- transition: transform var(--fw-motion-base) var(--fw-motion-ease);
1156
1336
  }
1157
1337
  .fw-modal-wide {
1158
1338
  max-width: 600px;
@@ -1304,8 +1484,9 @@ textarea.fw-input,
1304
1484
  }
1305
1485
  @media (max-width: 560px) {
1306
1486
  .fw-drawer {
1307
- width: 100vw;
1308
- max-width: 100vw;
1487
+ left: 0;
1488
+ width: auto;
1489
+ max-width: none;
1309
1490
  }
1310
1491
  }
1311
1492
  @media (prefers-reduced-motion: reduce) {
@@ -1321,6 +1502,55 @@ textarea.fw-input,
1321
1502
  }
1322
1503
  }
1323
1504
 
1505
+ /* src/css/components/popover.css */
1506
+ .fw-popover {
1507
+ position: fixed;
1508
+ top: 0;
1509
+ left: 0;
1510
+ z-index: 40;
1511
+ width: max-content;
1512
+ max-width: min(320px, calc(100vw - 2 * var(--fw-sp-4)));
1513
+ background: var(--fw-surface);
1514
+ color: var(--fw-text);
1515
+ font-family: var(--fw-font-body);
1516
+ border: var(--fw-border-w) solid var(--fw-bg-dim);
1517
+ border-radius: var(--fw-r-lg);
1518
+ box-shadow: var(--fw-shadow-lg);
1519
+ padding: var(--fw-sp-4);
1520
+ opacity: 0;
1521
+ transform: scale(0.98);
1522
+ pointer-events: none;
1523
+ transition: opacity var(--fw-motion-base) var(--fw-motion-ease), transform var(--fw-motion-base) var(--fw-motion-ease);
1524
+ }
1525
+ .fw-popover.is-open {
1526
+ opacity: 1;
1527
+ transform: scale(1);
1528
+ pointer-events: auto;
1529
+ }
1530
+ .fw-popover-head {
1531
+ display: flex;
1532
+ align-items: flex-start;
1533
+ justify-content: space-between;
1534
+ gap: var(--fw-sp-3);
1535
+ margin-bottom: var(--fw-sp-3);
1536
+ }
1537
+ .fw-popover-title {
1538
+ font-family: var(--fw-font-display);
1539
+ font-size: 15px;
1540
+ font-weight: 700;
1541
+ color: var(--fw-text);
1542
+ margin: 0;
1543
+ }
1544
+ .fw-popover-body {
1545
+ font-size: 13px;
1546
+ color: var(--fw-text-soft);
1547
+ }
1548
+ @media (prefers-reduced-motion: reduce) {
1549
+ .fw-popover {
1550
+ transform: none;
1551
+ }
1552
+ }
1553
+
1324
1554
  /* src/css/components/toast.css */
1325
1555
  .fw-toast {
1326
1556
  position: fixed;
@@ -1708,7 +1938,7 @@ textarea.fw-input,
1708
1938
 
1709
1939
  /* src/css/components/table.css */
1710
1940
  .fw-table-wrap {
1711
- overflow-x: auto;
1941
+ overflow: hidden;
1712
1942
  background: var(--fw-surface);
1713
1943
  border: var(--fw-border-w) solid var(--fw-bg-dim);
1714
1944
  border-radius: var(--fw-r-lg);
@@ -1716,11 +1946,16 @@ textarea.fw-input,
1716
1946
  font-family: var(--fw-font-body);
1717
1947
  color: var(--fw-text);
1718
1948
  }
1719
- .fw-table-wrap:focus-visible {
1949
+ .fw-table-scroll {
1950
+ overflow-x: auto;
1951
+ }
1952
+ .fw-table-scroll:focus-visible {
1720
1953
  outline: none;
1954
+ }
1955
+ .fw-table-wrap:has(.fw-table-scroll:focus-visible) {
1721
1956
  box-shadow: var(--fw-focus-ring);
1722
1957
  }
1723
- .fw-table-wrap.fw-table-sticky {
1958
+ .fw-table-wrap.fw-table-sticky .fw-table-scroll {
1724
1959
  max-height: var(--fw-table-max-height, 460px);
1725
1960
  overflow: auto;
1726
1961
  }
@@ -1817,6 +2052,7 @@ textarea.fw-input,
1817
2052
  .fw-table-select {
1818
2053
  width: 1%;
1819
2054
  padding-right: 0;
2055
+ box-sizing: border-box;
1820
2056
  }
1821
2057
  .fw-table-select .fw-checkbox {
1822
2058
  gap: 0;
@@ -1826,6 +2062,7 @@ textarea.fw-input,
1826
2062
  width: 1%;
1827
2063
  text-align: right;
1828
2064
  white-space: nowrap;
2065
+ box-sizing: border-box;
1829
2066
  }
1830
2067
  .fw-table-actions .fw-icon-btn {
1831
2068
  vertical-align: middle;
@@ -1899,5 +2136,244 @@ th[aria-sort=descending] .fw-table-sort::after {
1899
2136
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
1900
2137
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
1901
2138
  }
2139
+ @media (max-width: 560px) {
2140
+ .fw-table {
2141
+ table-layout: fixed;
2142
+ }
2143
+ .fw-table-select {
2144
+ width: var(--fw-table-select-w, 44px);
2145
+ }
2146
+ .fw-table-actions {
2147
+ width: var(--fw-table-actions-w, 96px);
2148
+ }
2149
+ .fw-table td:not(.fw-table-select):not(.fw-table-actions):not(.fw-table-num) {
2150
+ white-space: normal;
2151
+ overflow-wrap: anywhere;
2152
+ }
2153
+ .fw-table-num {
2154
+ overflow: hidden;
2155
+ text-overflow: ellipsis;
2156
+ }
2157
+ .fw-table th {
2158
+ overflow: hidden;
2159
+ text-overflow: ellipsis;
2160
+ }
2161
+ }
2162
+
2163
+ /* src/css/components/tabs.css */
2164
+ .fw-tablist {
2165
+ display: flex;
2166
+ gap: var(--fw-sp-2);
2167
+ border-bottom: var(--fw-border-w) solid var(--fw-bg-dim);
2168
+ overflow-x: auto;
2169
+ scrollbar-width: none;
2170
+ }
2171
+ .fw-tablist::-webkit-scrollbar {
2172
+ display: none;
2173
+ }
2174
+ .fw-tablist[aria-orientation=vertical] {
2175
+ flex-direction: column;
2176
+ align-items: flex-start;
2177
+ border-bottom: none;
2178
+ border-right: var(--fw-border-w) solid var(--fw-bg-dim);
2179
+ overflow-x: visible;
2180
+ overflow-y: auto;
2181
+ }
2182
+ .fw-tab {
2183
+ appearance: none;
2184
+ background: transparent;
2185
+ border: none;
2186
+ border-bottom: 2px solid transparent;
2187
+ border-radius: var(--fw-r-sm) var(--fw-r-sm) 0 0;
2188
+ font-family: var(--fw-font-body);
2189
+ font-weight: 600;
2190
+ font-size: 13px;
2191
+ color: var(--fw-text-soft);
2192
+ padding: var(--fw-sp-3) var(--fw-sp-4);
2193
+ cursor: pointer;
2194
+ white-space: nowrap;
2195
+ flex-shrink: 0;
2196
+ transition:
2197
+ color var(--fw-motion-fast) var(--fw-motion-ease),
2198
+ border-color var(--fw-motion-fast) var(--fw-motion-ease),
2199
+ background var(--fw-motion-fast) var(--fw-motion-ease);
2200
+ }
2201
+ .fw-tablist[aria-orientation=vertical] .fw-tab {
2202
+ border-bottom: none;
2203
+ border-right: 2px solid transparent;
2204
+ border-radius: var(--fw-r-sm) 0 0 var(--fw-r-sm);
2205
+ text-align: left;
2206
+ width: 100%;
2207
+ }
2208
+ .fw-tab:hover:not([aria-selected=true]):not([aria-disabled=true]) {
2209
+ color: var(--fw-text);
2210
+ background: var(--fw-bg-dim);
2211
+ }
2212
+ .fw-tab[aria-selected=true] {
2213
+ color: var(--fw-text);
2214
+ border-color: var(--fw-secondary);
2215
+ }
2216
+ .fw-tab:focus-visible {
2217
+ outline: none;
2218
+ box-shadow: var(--fw-focus-ring);
2219
+ }
2220
+ .fw-tab[aria-disabled=true] {
2221
+ opacity: 0.45;
2222
+ cursor: not-allowed;
2223
+ }
2224
+ .fw-tabpanel {
2225
+ padding: var(--fw-sp-4) 0;
2226
+ }
2227
+ .fw-tabpanel:focus-visible {
2228
+ outline: none;
2229
+ border-radius: var(--fw-r-sm);
2230
+ box-shadow: var(--fw-focus-ring);
2231
+ }
2232
+ @media (prefers-reduced-motion: reduce) {
2233
+ .fw-tab {
2234
+ transition: none;
2235
+ }
2236
+ }
2237
+
2238
+ /* src/css/components/tooltip.css */
2239
+ .fw-tooltip {
2240
+ position: fixed;
2241
+ top: 0;
2242
+ left: 0;
2243
+ z-index: 50;
2244
+ max-width: 220px;
2245
+ background: var(--fw-text);
2246
+ color: var(--fw-bg);
2247
+ font-family: var(--fw-font-body);
2248
+ font-size: 12.5px;
2249
+ font-weight: 600;
2250
+ line-height: 1.4;
2251
+ border-radius: var(--fw-r-sm);
2252
+ padding: 6px 10px;
2253
+ box-shadow: var(--fw-shadow-md);
2254
+ opacity: 0;
2255
+ transform: scale(0.96);
2256
+ pointer-events: none;
2257
+ transition: opacity var(--fw-motion-fast) var(--fw-motion-ease), transform var(--fw-motion-fast) var(--fw-motion-ease);
2258
+ --fw-tooltip-arrow: 5px;
2259
+ }
2260
+ .fw-tooltip.is-open {
2261
+ opacity: 1;
2262
+ transform: scale(1);
2263
+ pointer-events: auto;
2264
+ }
2265
+ .fw-tooltip::after {
2266
+ content: "";
2267
+ position: absolute;
2268
+ width: 0;
2269
+ height: 0;
2270
+ border: var(--fw-tooltip-arrow) solid transparent;
2271
+ }
2272
+ .fw-tooltip[data-placement^=top]::after {
2273
+ top: 100%;
2274
+ left: var(--fw-tooltip-arrow-pos, 50%);
2275
+ transform: translateX(-50%);
2276
+ border-top-color: var(--fw-text);
2277
+ border-bottom-width: 0;
2278
+ }
2279
+ .fw-tooltip[data-placement^=bottom]::after {
2280
+ bottom: 100%;
2281
+ left: var(--fw-tooltip-arrow-pos, 50%);
2282
+ transform: translateX(-50%);
2283
+ border-bottom-color: var(--fw-text);
2284
+ border-top-width: 0;
2285
+ }
2286
+ .fw-tooltip[data-placement=left]::after {
2287
+ left: 100%;
2288
+ top: var(--fw-tooltip-arrow-pos, 50%);
2289
+ transform: translateY(-50%);
2290
+ border-left-color: var(--fw-text);
2291
+ border-right-width: 0;
2292
+ }
2293
+ .fw-tooltip[data-placement=right]::after {
2294
+ right: 100%;
2295
+ top: var(--fw-tooltip-arrow-pos, 50%);
2296
+ transform: translateY(-50%);
2297
+ border-right-color: var(--fw-text);
2298
+ border-left-width: 0;
2299
+ }
2300
+ @media (prefers-reduced-motion: reduce) {
2301
+ .fw-tooltip {
2302
+ transform: none;
2303
+ }
2304
+ }
2305
+
2306
+ /* src/css/components/scrollbar.css */
2307
+ .fw-root,
2308
+ .fw-modal-scroll,
2309
+ .fw-drawer-body,
2310
+ .fw-table-scroll {
2311
+ scrollbar-width: thin;
2312
+ scrollbar-color: var(--fw-scrollbar-thumb) var(--fw-scrollbar-track);
2313
+ }
2314
+ .fw-root::-webkit-scrollbar,
2315
+ .fw-modal-scroll::-webkit-scrollbar,
2316
+ .fw-drawer-body::-webkit-scrollbar,
2317
+ .fw-table-scroll::-webkit-scrollbar {
2318
+ width: var(--fw-sp-2);
2319
+ height: var(--fw-sp-2);
2320
+ }
2321
+ .fw-root::-webkit-scrollbar-track,
2322
+ .fw-modal-scroll::-webkit-scrollbar-track,
2323
+ .fw-drawer-body::-webkit-scrollbar-track {
2324
+ background: var(--fw-scrollbar-track);
2325
+ }
2326
+ .fw-root::-webkit-scrollbar-thumb,
2327
+ .fw-modal-scroll::-webkit-scrollbar-thumb,
2328
+ .fw-drawer-body::-webkit-scrollbar-thumb,
2329
+ .fw-table-scroll::-webkit-scrollbar-thumb {
2330
+ background-color: var(--fw-scrollbar-thumb);
2331
+ border-radius: var(--fw-r-full);
2332
+ border: 2px solid var(--fw-surface);
2333
+ }
2334
+ .fw-root::-webkit-scrollbar-thumb:hover,
2335
+ .fw-modal-scroll::-webkit-scrollbar-thumb:hover,
2336
+ .fw-drawer-body::-webkit-scrollbar-thumb:hover,
2337
+ .fw-table-scroll::-webkit-scrollbar-thumb:hover {
2338
+ background-color: var(--fw-scrollbar-thumb-hover);
2339
+ }
2340
+ .fw-table-scroll {
2341
+ scrollbar-color: var(--fw-scrollbar-thumb) var(--fw-bg-dim);
2342
+ }
2343
+ .fw-table-scroll::-webkit-scrollbar-track {
2344
+ background: var(--fw-bg-dim);
2345
+ }
2346
+ .fw-tablist:not([aria-orientation=vertical]) {
2347
+ mask-image:
2348
+ linear-gradient(
2349
+ to right,
2350
+ transparent,
2351
+ black 24px,
2352
+ black calc(100% - 24px),
2353
+ transparent);
2354
+ -webkit-mask-image:
2355
+ linear-gradient(
2356
+ to right,
2357
+ transparent,
2358
+ black 24px,
2359
+ black calc(100% - 24px),
2360
+ transparent);
2361
+ }
2362
+ .fw-tablist[aria-orientation=vertical] {
2363
+ mask-image:
2364
+ linear-gradient(
2365
+ to bottom,
2366
+ transparent,
2367
+ black 24px,
2368
+ black calc(100% - 24px),
2369
+ transparent);
2370
+ -webkit-mask-image:
2371
+ linear-gradient(
2372
+ to bottom,
2373
+ transparent,
2374
+ black 24px,
2375
+ black calc(100% - 24px),
2376
+ transparent);
2377
+ }
1902
2378
 
1903
2379
  /* src/css/index.css */