@mirror-physics/fractal-ui 0.2.0-next.76 → 0.2.0-next.78

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/index.css CHANGED
@@ -1326,6 +1326,224 @@
1326
1326
  border-top: 1px solid var(--border-subtle);
1327
1327
  }
1328
1328
 
1329
+ /* src/components/TableLayout/TableLayout.css */
1330
+ .fractal-table-layout {
1331
+ container: fractal-table / inline-size;
1332
+ min-width: 0;
1333
+ max-width: 100%;
1334
+ }
1335
+ .fractal-table-layout .fractal-datatable-surface,
1336
+ .fractal-table-layout .fractal-sortable-table-surface {
1337
+ width: fit-content;
1338
+ max-width: 100%;
1339
+ box-sizing: border-box;
1340
+ }
1341
+ .fractal-table-layout[data-table-layout=fill] .fractal-datatable-surface,
1342
+ .fractal-table-layout[data-table-layout=fill] .fractal-sortable-table-surface {
1343
+ width: 100%;
1344
+ }
1345
+ .fractal-table-viewport {
1346
+ max-width: 100%;
1347
+ overflow: auto;
1348
+ position: relative;
1349
+ }
1350
+ .fractal-table-layout table {
1351
+ width: max-content;
1352
+ table-layout: auto;
1353
+ height: 1px;
1354
+ }
1355
+ .fractal-table-layout[data-table-layout=fill] table {
1356
+ min-width: 100%;
1357
+ }
1358
+ .fractal-table-layout th,
1359
+ .fractal-table-layout td {
1360
+ --table-cell-padding: var(--space-4);
1361
+ white-space: nowrap;
1362
+ overflow-wrap: normal;
1363
+ box-sizing: border-box;
1364
+ }
1365
+ .fractal-datatable--sm :is(th, td),
1366
+ .fractal-sortable-table--sm :is(th, td) {
1367
+ --table-cell-padding: var(--space-3);
1368
+ }
1369
+ .fractal-datatable--lg :is(th, td),
1370
+ .fractal-sortable-table--lg :is(th, td) {
1371
+ --table-cell-padding: var(--space-6);
1372
+ }
1373
+ .fractal-table-cell-scroll {
1374
+ --table-default-cap: var(--table-column-max-wide);
1375
+ --table-cap: var(--table-column-max, var(--table-default-cap));
1376
+ width: var(--table-column-width, auto);
1377
+ height: 100%;
1378
+ min-width: max(100%, calc(min(var(--table-column-min, 0px), var(--table-cap)) - 1px));
1379
+ max-width: max(0px, calc(var(--table-cap) - 1px));
1380
+ overflow-x: auto;
1381
+ overflow-y: hidden;
1382
+ white-space: nowrap;
1383
+ scrollbar-width: none;
1384
+ }
1385
+ .fractal-table-cell-scroll::-webkit-scrollbar {
1386
+ display: none;
1387
+ }
1388
+ .fractal-table-layout :is(th, td):has(> .fractal-table-cell-scroll) {
1389
+ padding: 0;
1390
+ height: 100%;
1391
+ }
1392
+ .fractal-table-cell-content {
1393
+ display: flex;
1394
+ align-items: center;
1395
+ box-sizing: border-box;
1396
+ width: max-content;
1397
+ min-width: 100%;
1398
+ min-height: 100%;
1399
+ padding: var(--table-cell-block-padding) var(--table-cell-padding);
1400
+ gap: var(--space-1);
1401
+ white-space: nowrap;
1402
+ }
1403
+ .fractal-table-cell-content > * {
1404
+ flex-shrink: 0;
1405
+ }
1406
+ .fractal-table-cell-scroll {
1407
+ overscroll-behavior-x: auto;
1408
+ }
1409
+ .fractal-table-viewport:focus-visible,
1410
+ .fractal-table-cell-scroll:focus-visible {
1411
+ outline: 2px solid var(--border-focus);
1412
+ outline-offset: -2px;
1413
+ }
1414
+ .fractal-table-layout .fractal-sortable-table-th--sortable .fractal-table-cell-content {
1415
+ padding: 0;
1416
+ }
1417
+ .fractal-table-layout .fractal-sortable-table-sort-button {
1418
+ width: max-content;
1419
+ min-width: 100%;
1420
+ align-self: stretch;
1421
+ white-space: nowrap;
1422
+ }
1423
+ @container fractal-table (max-width: 1024px) {
1424
+ .fractal-table-cell-scroll {
1425
+ --table-default-cap: var(--table-column-max-medium);
1426
+ }
1427
+ }
1428
+ @container fractal-table (max-width: 640px) {
1429
+ .fractal-table-cell-scroll {
1430
+ --table-default-cap: var(--table-column-max-compact);
1431
+ }
1432
+ }
1433
+ .fractal-table-layout[data-sticky-first=true] [data-pinned-column=data] .fractal-table-cell-scroll {
1434
+ --table-cap: min(var(--table-column-max, var(--table-default-cap)), 55cqi);
1435
+ }
1436
+ .fractal-table-layout[data-sticky-first=true] :is([data-pinned-column=data], [data-pinned-column=selection]) {
1437
+ position: sticky;
1438
+ inset-inline-start: 0;
1439
+ z-index: 2;
1440
+ background: inherit;
1441
+ }
1442
+ .fractal-table-layout[data-sticky-first=true][data-table-selection=true] [data-pinned-column=data] {
1443
+ inset-inline-start: 52px;
1444
+ }
1445
+ .fractal-table-layout[data-sticky-header=true] thead th {
1446
+ position: sticky;
1447
+ top: 0;
1448
+ z-index: 3;
1449
+ background: var(--bg-surface-1);
1450
+ }
1451
+ .fractal-table-layout[data-sticky-first=true] thead [data-pinned-column] {
1452
+ background: var(--bg-surface-1);
1453
+ }
1454
+ .fractal-table-layout[data-sticky-header=true][data-sticky-first=true] thead [data-pinned-column] {
1455
+ z-index: 4;
1456
+ }
1457
+ .fractal-table-layout [data-column-align=right] .fractal-table-cell-content {
1458
+ justify-content: flex-end;
1459
+ }
1460
+ .fractal-table-layout .fractal-table-overflow-cell {
1461
+ position: sticky;
1462
+ inset-inline-end: 0;
1463
+ z-index: 2;
1464
+ width: 48px;
1465
+ min-width: 48px;
1466
+ max-width: 48px;
1467
+ padding: var(--space-2);
1468
+ vertical-align: middle;
1469
+ background: inherit;
1470
+ }
1471
+ .fractal-table-layout thead .fractal-table-overflow-cell {
1472
+ background: var(--bg-surface-1);
1473
+ }
1474
+ .fractal-table-layout[data-sticky-header=true] thead .fractal-table-overflow-cell {
1475
+ z-index: 4;
1476
+ }
1477
+ .fractal-table-layout[data-overflow-menu=true] {
1478
+ --table-trailing-reserve: 48px;
1479
+ }
1480
+ .fractal-table-layout[data-table-selection=true] {
1481
+ --table-leading-reserve: 52px;
1482
+ }
1483
+ .fractal-table-layout[data-sticky-first=true] [data-pinned-column=data] .fractal-table-cell-scroll {
1484
+ --table-cap: min(var(--table-column-max, var(--table-default-cap)), 55cqi, max(0px, calc(100cqi - var(--table-leading-reserve, 0px) - var(--table-trailing-reserve, 0px) - 64px)));
1485
+ }
1486
+ .fractal-table-overflow-trigger {
1487
+ display: flex;
1488
+ align-items: center;
1489
+ justify-content: center;
1490
+ }
1491
+ .fractal-table-overflow-menu {
1492
+ position: fixed;
1493
+ z-index: 10000;
1494
+ box-sizing: border-box;
1495
+ min-width: min(160px, calc(100vw - 16px));
1496
+ max-width: calc(100vw - 16px);
1497
+ max-height: calc(100vh - 16px);
1498
+ overflow: auto;
1499
+ padding: var(--space-1);
1500
+ border: 1px solid var(--border-subtle);
1501
+ border-radius: var(--radius-md);
1502
+ background: var(--bg-canvas);
1503
+ box-shadow: var(--shadow-md);
1504
+ color: var(--fg-primary);
1505
+ font-family: var(--font-sans);
1506
+ font-size: 0.875rem;
1507
+ }
1508
+ .fractal-table-overflow-menu > button {
1509
+ display: flex;
1510
+ align-items: center;
1511
+ gap: var(--space-2);
1512
+ width: 100%;
1513
+ padding: var(--space-2) var(--space-3);
1514
+ border: 0;
1515
+ border-radius: var(--radius-sm);
1516
+ background: transparent;
1517
+ color: inherit;
1518
+ font: inherit;
1519
+ text-align: start;
1520
+ cursor: pointer;
1521
+ }
1522
+ .fractal-table-overflow-menu > button:hover:not(:disabled) {
1523
+ background: var(--hover-surface);
1524
+ }
1525
+ .fractal-table-overflow-menu > button:focus-visible {
1526
+ background: var(--hover-surface);
1527
+ outline: 2px solid var(--border-focus);
1528
+ outline-offset: -2px;
1529
+ }
1530
+ .fractal-table-overflow-menu > button:disabled {
1531
+ color: var(--fg-disabled);
1532
+ cursor: not-allowed;
1533
+ }
1534
+ .fractal-table-overflow-menu > button > span {
1535
+ display: inline-flex;
1536
+ }
1537
+ .fractal-table-layout[data-sticky-first=true] [data-pinned-column=data]::after {
1538
+ content: "";
1539
+ position: absolute;
1540
+ inset-block: 0;
1541
+ inset-inline-end: -1px;
1542
+ width: 1px;
1543
+ background: var(--border-subtle);
1544
+ pointer-events: none;
1545
+ }
1546
+
1329
1547
  /* src/components/DataTable/DataTable.css */
1330
1548
  .fractal-datatable {
1331
1549
  font-family: var(--font-sans);
@@ -1367,7 +1585,9 @@
1367
1585
  .fractal-datatable-th {
1368
1586
  text-align: left;
1369
1587
  padding: 12px 16px;
1370
- font-size: 0.75rem;
1588
+ --table-cell-block-padding: 12px;
1589
+ font-size: inherit;
1590
+ line-height: 1.55;
1371
1591
  font-weight: 500;
1372
1592
  color: var(--fg-secondary);
1373
1593
  border-bottom: 1px solid var(--border-subtle);
@@ -1382,9 +1602,10 @@
1382
1602
  }
1383
1603
  .fractal-datatable-td {
1384
1604
  padding: 14px 16px;
1605
+ --table-cell-block-padding: 14px;
1385
1606
  color: var(--fg-primary);
1386
1607
  line-height: 1.55;
1387
- vertical-align: top;
1608
+ vertical-align: middle;
1388
1609
  overflow-wrap: anywhere;
1389
1610
  }
1390
1611
  .fractal-datatable-td .fractal-dropdown-trigger--icon-only.fractal-dropdown-trigger--tertiary:hover {
@@ -1395,15 +1616,23 @@
1395
1616
  }
1396
1617
  .fractal-datatable--sm .fractal-datatable-th {
1397
1618
  padding: 8px 12px;
1619
+ --table-cell-block-padding: 8px;
1398
1620
  }
1399
1621
  .fractal-datatable--sm .fractal-datatable-td {
1400
1622
  padding: 10px 12px;
1623
+ --table-cell-block-padding: 10px;
1401
1624
  }
1402
1625
  .fractal-datatable--lg .fractal-datatable-th {
1403
1626
  padding: 18px 24px;
1627
+ --table-cell-block-padding: 18px;
1404
1628
  }
1405
1629
  .fractal-datatable--lg .fractal-datatable-td {
1406
1630
  padding: 22px 24px;
1631
+ --table-cell-block-padding: 22px;
1632
+ }
1633
+ .fractal-datatable-th + .fractal-datatable-th,
1634
+ .fractal-datatable-td + .fractal-datatable-td {
1635
+ border-inline-start: 1px solid var(--border-subtle);
1407
1636
  }
1408
1637
 
1409
1638
  /* src/components/Dropdown/Dropdown.css */
@@ -1495,13 +1724,18 @@
1495
1724
  .fractal-dropdown-panel {
1496
1725
  position: absolute;
1497
1726
  z-index: 999999;
1498
- min-width: 100%;
1499
- overflow: hidden;
1727
+ width: max-content;
1728
+ max-height: 320px;
1729
+ max-width: calc(100vw - 16px);
1730
+ overflow-x: hidden;
1731
+ overflow-y: auto;
1732
+ overscroll-behavior: contain;
1500
1733
  box-sizing: border-box;
1501
1734
  border-radius: var(--radius-md, 6px);
1502
1735
  border: 1px solid var(--border-subtle);
1503
1736
  background: var(--bg-canvas);
1504
- white-space: nowrap;
1737
+ white-space: normal;
1738
+ overflow-wrap: anywhere;
1505
1739
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
1506
1740
  padding: 4px;
1507
1741
  }
@@ -1542,6 +1776,7 @@
1542
1776
  background: var(--border-subtle);
1543
1777
  }
1544
1778
  .fractal-dropdown-option-text {
1779
+ min-width: 0;
1545
1780
  color: var(--fg-primary);
1546
1781
  }
1547
1782
  .fractal-dropdown-trailing {
@@ -1600,41 +1835,36 @@
1600
1835
  display: inline-flex;
1601
1836
  align-items: center;
1602
1837
  border-radius: var(--radius-full);
1603
- padding: 1px 8px;
1604
- font-family: var(--font-mono);
1605
- font-size: 0.6875rem;
1606
- font-weight: 400;
1607
- letter-spacing: -0.01em;
1608
- line-height: 1.5;
1838
+ padding: var(--space-1) var(--space-2);
1839
+ font-family: var(--font-sans);
1840
+ font-size: 0.75rem;
1841
+ font-weight: 500;
1842
+ letter-spacing: normal;
1843
+ line-height: 1rem;
1609
1844
  white-space: nowrap;
1610
- background: var(--bg-surface-2);
1611
- border: 1px solid var(--border-subtle);
1612
- color: var(--fg-secondary);
1845
+ border: 0;
1846
+ background: var(--tag-neutral-bg);
1847
+ color: var(--tag-neutral-fg);
1613
1848
  }
1614
1849
  .fractal-chip--neutral {
1615
- background: var(--bg-surface-2);
1616
- border-color: var(--border-subtle);
1617
- color: var(--fg-secondary);
1850
+ background: var(--tag-neutral-bg);
1851
+ color: var(--tag-neutral-fg);
1618
1852
  }
1619
1853
  .fractal-chip--success {
1620
- background: var(--success-surface);
1621
- border-color: var(--success-subtle);
1622
- color: var(--success-default);
1854
+ background: var(--tag-success-bg);
1855
+ color: var(--tag-success-fg);
1623
1856
  }
1624
1857
  .fractal-chip--warning {
1625
- background: var(--warning-surface);
1626
- border-color: var(--warning-subtle);
1627
- color: var(--warning-default);
1858
+ background: var(--tag-warning-bg);
1859
+ color: var(--tag-warning-fg);
1628
1860
  }
1629
1861
  .fractal-chip--error {
1630
- background: var(--error-surface);
1631
- border-color: var(--error-subtle);
1632
- color: var(--error-default);
1862
+ background: var(--tag-error-bg);
1863
+ color: var(--tag-error-fg);
1633
1864
  }
1634
1865
  .fractal-chip--info {
1635
- background: var(--accent-surface);
1636
- border-color: var(--accent-subtle);
1637
- color: var(--accent-default);
1866
+ background: var(--tag-info-bg);
1867
+ color: var(--tag-info-fg);
1638
1868
  }
1639
1869
 
1640
1870
  /* src/components/Checkbox/Checkbox.css */
@@ -1801,7 +2031,9 @@
1801
2031
  .fractal-sortable-table-th {
1802
2032
  text-align: left;
1803
2033
  padding: 12px 16px;
1804
- font-size: 0.75rem;
2034
+ --table-cell-block-padding: 12px;
2035
+ font-size: inherit;
2036
+ line-height: 1.55;
1805
2037
  font-weight: 500;
1806
2038
  color: var(--fg-secondary);
1807
2039
  border-bottom: 1px solid var(--border-subtle);
@@ -1947,24 +2179,37 @@
1947
2179
  }
1948
2180
  .fractal-sortable-table-td {
1949
2181
  padding: 14px 16px;
2182
+ --table-cell-block-padding: 14px;
1950
2183
  color: var(--fg-primary);
1951
2184
  line-height: 1.55;
1952
- vertical-align: top;
2185
+ vertical-align: middle;
1953
2186
  overflow-wrap: anywhere;
1954
2187
  }
1955
- .fractal-sortable-table--sm .fractal-sortable-table-th:not(.fractal-sortable-table-th--sortable),
2188
+ .fractal-sortable-table--sm .fractal-sortable-table-th {
2189
+ --table-cell-block-padding: 8px;
2190
+ }
1956
2191
  .fractal-sortable-table--sm .fractal-sortable-table-sort-button {
1957
2192
  padding: 8px 12px;
2193
+ --table-cell-block-padding: 8px;
1958
2194
  }
1959
2195
  .fractal-sortable-table--sm .fractal-sortable-table-td {
1960
2196
  padding: 10px 12px;
2197
+ --table-cell-block-padding: 10px;
2198
+ }
2199
+ .fractal-sortable-table--lg .fractal-sortable-table-th {
2200
+ --table-cell-block-padding: 18px;
1961
2201
  }
1962
- .fractal-sortable-table--lg .fractal-sortable-table-th:not(.fractal-sortable-table-th--sortable),
1963
2202
  .fractal-sortable-table--lg .fractal-sortable-table-sort-button {
1964
2203
  padding: 18px 24px;
2204
+ --table-cell-block-padding: 18px;
1965
2205
  }
1966
2206
  .fractal-sortable-table--lg .fractal-sortable-table-td {
1967
2207
  padding: 22px 24px;
2208
+ --table-cell-block-padding: 22px;
2209
+ }
2210
+ .fractal-sortable-table-th + .fractal-sortable-table-th,
2211
+ .fractal-sortable-table-td + .fractal-sortable-table-td {
2212
+ border-inline-start: 1px solid var(--border-subtle);
1968
2213
  }
1969
2214
 
1970
2215
  /* src/components/Tabs/Tabs.css */
@@ -2650,13 +2895,27 @@
2650
2895
  min-width: var(--fractal-sidebar-width);
2651
2896
  box-shadow: var(--shadow-md);
2652
2897
  }
2898
+ .fractal-shell-header,
2653
2899
  .fractal-sidebar__header {
2900
+ box-sizing: border-box;
2654
2901
  display: flex;
2655
- min-height: 48px;
2902
+ block-size: var(--shell-header-height);
2903
+ min-block-size: var(--shell-header-height);
2904
+ max-block-size: var(--shell-header-height);
2905
+ min-inline-size: 0;
2906
+ flex-shrink: 0;
2656
2907
  align-items: center;
2657
- padding: var(--space-2);
2908
+ padding-block: 0;
2658
2909
  border-bottom: 1px solid var(--border-subtle);
2659
2910
  }
2911
+ .fractal-shell-header {
2912
+ justify-content: space-between;
2913
+ gap: var(--space-4);
2914
+ padding-inline: var(--space-4);
2915
+ }
2916
+ .fractal-sidebar__header {
2917
+ padding-inline: var(--space-2);
2918
+ }
2660
2919
  .fractal-sidebar__brand {
2661
2920
  display: inline-flex;
2662
2921
  min-width: 0;
@@ -2834,7 +3093,7 @@
2834
3093
  display: flex;
2835
3094
  justify-content: flex-end;
2836
3095
  background: color-mix(in srgb, var(--fg-primary) 16%, transparent);
2837
- animation: fractal-side-panel-overlay-in 180ms ease-out both;
3096
+ animation: fractal-side-panel-overlay-in var(--duration-normal) var(--ease-out) both;
2838
3097
  }
2839
3098
  .fractal-side-panel {
2840
3099
  display: flex;
@@ -2846,7 +3105,7 @@
2846
3105
  box-shadow: var(--shadow-lg);
2847
3106
  color: var(--fg-primary);
2848
3107
  font-family: var(--font-sans);
2849
- animation: fractal-side-panel-in 180ms cubic-bezier(0.16, 1, 0.3, 1) both;
3108
+ animation: fractal-side-panel-in var(--duration-normal) var(--ease-out) both;
2850
3109
  }
2851
3110
  .fractal-side-panel--sm {
2852
3111
  width: min(100vw, 420px);
@@ -2920,7 +3179,33 @@
2920
3179
  justify-content: flex-end;
2921
3180
  gap: var(--space-2);
2922
3181
  padding: var(--space-4) var(--space-6);
2923
- border-top: 1px solid var(--border-subtle);
3182
+ border-top: 1px solid transparent;
3183
+ }
3184
+ .fractal-side-panel__header,
3185
+ .fractal-side-panel__footer {
3186
+ position: relative;
3187
+ flex-shrink: 0;
3188
+ }
3189
+ .fractal-side-panel__header::after,
3190
+ .fractal-side-panel__footer::before {
3191
+ content: "";
3192
+ position: absolute;
3193
+ inset-inline: 0;
3194
+ height: 1px;
3195
+ background: var(--border-subtle);
3196
+ opacity: 0;
3197
+ pointer-events: none;
3198
+ transition: opacity var(--duration-fast) var(--ease-out);
3199
+ }
3200
+ .fractal-side-panel__header::after {
3201
+ bottom: 0;
3202
+ }
3203
+ .fractal-side-panel__footer::before {
3204
+ top: -1px;
3205
+ }
3206
+ .fractal-side-panel__header[data-scroll-divider=true]::after,
3207
+ .fractal-side-panel__footer[data-scroll-divider=true]::before {
3208
+ opacity: 1;
2924
3209
  }
2925
3210
  @media (max-width: 640px) {
2926
3211
  .fractal-side-panel {
@@ -2955,7 +3240,11 @@
2955
3240
  @media (prefers-reduced-motion: reduce) {
2956
3241
  .fractal-side-panel-overlay,
2957
3242
  .fractal-side-panel {
2958
- animation-duration: 0.01ms;
3243
+ animation: none;
3244
+ }
3245
+ .fractal-side-panel__header::after,
3246
+ .fractal-side-panel__footer::before {
3247
+ transition: none;
2959
3248
  }
2960
3249
  }
2961
3250
 
@@ -3198,4 +3487,137 @@
3198
3487
  text-align: center;
3199
3488
  white-space: nowrap;
3200
3489
  }
3490
+
3491
+ /* src/components/ColumnEditor/ColumnEditor.css */
3492
+ .fractal-column-editor {
3493
+ position: relative;
3494
+ }
3495
+ .fractal-column-editor__panel {
3496
+ position: absolute;
3497
+ z-index: 60;
3498
+ top: calc(100% + var(--space-2));
3499
+ right: 0;
3500
+ width: min(440px, calc(100vw - var(--space-7)));
3501
+ box-sizing: border-box;
3502
+ padding: var(--space-4);
3503
+ border: 1px solid var(--border-subtle);
3504
+ border-radius: var(--radius-lg);
3505
+ background: var(--bg-canvas);
3506
+ box-shadow: var(--shadow-md);
3507
+ max-height: 72dvh;
3508
+ overflow-y: auto;
3509
+ font-family: var(--font-sans);
3510
+ font-size: .875rem;
3511
+ }
3512
+ .fractal-column-editor__panel:focus-visible {
3513
+ outline: 2px solid var(--border-focus);
3514
+ outline-offset: 2px;
3515
+ }
3516
+ .fractal-column-editor__list {
3517
+ display: grid;
3518
+ gap: var(--space-2);
3519
+ padding: 0;
3520
+ margin: 0;
3521
+ list-style: none;
3522
+ min-height: var(--space-4);
3523
+ }
3524
+ .fractal-column-editor__row {
3525
+ display: flex;
3526
+ align-items: center;
3527
+ gap: var(--space-2);
3528
+ padding: var(--space-2);
3529
+ border: 1px solid var(--border-subtle);
3530
+ border-radius: var(--radius-md);
3531
+ color: var(--fg-primary);
3532
+ background: var(--bg-canvas);
3533
+ cursor: grab;
3534
+ user-select: none;
3535
+ touch-action: none;
3536
+ transition: background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
3537
+ }
3538
+ .fractal-column-editor__row[data-hidden] {
3539
+ color: var(--fg-disabled);
3540
+ background: var(--bg-surface-1);
3541
+ }
3542
+ .fractal-column-editor__row:hover {
3543
+ background: var(--hover-surface);
3544
+ }
3545
+ .fractal-column-editor__row[data-dragging] {
3546
+ cursor: grabbing;
3547
+ background: var(--nav-selected);
3548
+ border-color: var(--border-focus);
3549
+ }
3550
+ .fractal-column-editor__grip {
3551
+ width: 20px;
3552
+ height: 20px;
3553
+ flex-shrink: 0;
3554
+ color: inherit;
3555
+ pointer-events: none;
3556
+ }
3557
+ .fractal-column-editor__name {
3558
+ min-width: 0;
3559
+ pointer-events: none;
3560
+ }
3561
+ .fractal-column-editor__actions {
3562
+ display: flex;
3563
+ flex-shrink: 0;
3564
+ margin-left: auto;
3565
+ cursor: default;
3566
+ }
3567
+ .fractal-column-editor__actions .fractal-button {
3568
+ cursor: pointer !important;
3569
+ color: var(--fg-secondary);
3570
+ }
3571
+ .fractal-column-editor__actions .fractal-button:hover:not(:disabled) {
3572
+ background: var(--bg-surface-2) !important;
3573
+ }
3574
+ .fractal-column-editor__actions .fractal-button:disabled {
3575
+ pointer-events: auto;
3576
+ cursor: pointer !important;
3577
+ }
3578
+ .fractal-column-editor__divider {
3579
+ display: flex;
3580
+ align-items: center;
3581
+ gap: var(--space-3);
3582
+ margin-block: var(--space-6);
3583
+ color: var(--fg-tertiary);
3584
+ }
3585
+ .fractal-column-editor__divider::before,
3586
+ .fractal-column-editor__divider::after {
3587
+ content: "";
3588
+ flex: 1;
3589
+ border-top: 1px solid var(--border-subtle);
3590
+ }
3591
+ .fractal-column-editor__divider > span {
3592
+ display: flex;
3593
+ gap: var(--space-2);
3594
+ align-items: center;
3595
+ white-space: nowrap;
3596
+ }
3597
+ .fractal-column-editor__divider svg {
3598
+ width: 20px;
3599
+ height: 20px;
3600
+ }
3601
+ .fractal-column-editor__empty {
3602
+ margin: 0;
3603
+ padding-block: var(--space-4);
3604
+ color: var(--fg-tertiary);
3605
+ }
3606
+ .fractal-column-editor__announcement {
3607
+ position: absolute;
3608
+ width: 1px;
3609
+ height: 1px;
3610
+ overflow: hidden;
3611
+ clip-path: inset(50%);
3612
+ white-space: nowrap;
3613
+ }
3614
+ @media (prefers-reduced-motion: reduce) {
3615
+ .fractal-column-editor__row {
3616
+ transition: none;
3617
+ }
3618
+ }
3619
+ .fractal-column-editor__panel[data-dragging],
3620
+ .fractal-column-editor__panel[data-dragging] .fractal-column-editor__row {
3621
+ cursor: grabbing;
3622
+ }
3201
3623
  /*# sourceMappingURL=index.css.map */