@hxdhxd/harmony-flow-ui 0.1.1 → 0.2.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/index.css CHANGED
@@ -1076,6 +1076,15 @@
1076
1076
  .hf-picker-trigger.is-error {
1077
1077
  border-color: #e5484d;
1078
1078
  }
1079
+ .hf-picker-trigger__chevron {
1080
+ color: var(--hf-color-primary);
1081
+ flex: 0 0 auto;
1082
+ transition: transform var(--hf-motion-duration);
1083
+ }
1084
+ .hf-picker-trigger[aria-expanded=true] .hf-picker-trigger__chevron,
1085
+ .hf-color-picker__trigger[aria-expanded=true] .hf-picker-trigger__chevron {
1086
+ transform: rotate(180deg);
1087
+ }
1079
1088
  .hf-date-picker,
1080
1089
  .hf-time-picker {
1081
1090
  position: relative;
@@ -1160,139 +1169,837 @@
1160
1169
  padding: 8px 14px;
1161
1170
  text-align: left;
1162
1171
  }
1163
- .hf-time-picker__panel button:hover,
1164
- .hf-time-picker__panel button[aria-selected=true] {
1165
- background: #edf5fd;
1166
- color: var(--hf-color-primary);
1172
+ .hf-time-picker__panel button:hover,
1173
+ .hf-time-picker__panel button[aria-selected=true] {
1174
+ background: #edf5fd;
1175
+ color: var(--hf-color-primary);
1176
+ }
1177
+ .hf-slider {
1178
+ display: grid;
1179
+ gap: 10px;
1180
+ }
1181
+ .hf-slider > span {
1182
+ color: var(--hf-color-text-muted);
1183
+ display: flex;
1184
+ font-size: 13px;
1185
+ justify-content: space-between;
1186
+ }
1187
+ .hf-slider strong {
1188
+ color: var(--hf-color-text);
1189
+ }
1190
+ .hf-slider input {
1191
+ appearance: none;
1192
+ background:
1193
+ linear-gradient(
1194
+ 90deg,
1195
+ var(--hf-color-primary) var(--hf-slider-value),
1196
+ #dce9f7 0);
1197
+ border-radius: 99px;
1198
+ height: 6px;
1199
+ width: 100%;
1200
+ }
1201
+ .hf-slider input::-webkit-slider-thumb {
1202
+ appearance: none;
1203
+ background: #fff;
1204
+ border: 2px solid var(--hf-color-primary);
1205
+ border-radius: 50%;
1206
+ box-shadow: 0 2px 8px rgba(30, 80, 130, .18);
1207
+ height: 20px;
1208
+ width: 20px;
1209
+ }
1210
+ .hf-upload {
1211
+ display: grid;
1212
+ gap: 7px;
1213
+ }
1214
+ .hf-upload > input {
1215
+ display: none;
1216
+ }
1217
+ .hf-upload > button {
1218
+ align-items: center;
1219
+ background: #f8fbfe;
1220
+ border: 1px dashed #b9cfe4;
1221
+ border-radius: 16px;
1222
+ color: var(--hf-color-text-muted);
1223
+ display: flex;
1224
+ flex-direction: column;
1225
+ gap: 6px;
1226
+ justify-content: center;
1227
+ min-height: 150px;
1228
+ padding: 20px;
1229
+ }
1230
+ .hf-upload > button:hover,
1231
+ .hf-upload > button.is-dragging {
1232
+ background: #edf6ff;
1233
+ border-color: var(--hf-color-primary);
1234
+ color: var(--hf-color-primary);
1235
+ }
1236
+ .hf-upload > button strong {
1237
+ color: var(--hf-color-text);
1238
+ font-size: 14px;
1239
+ }
1240
+ .hf-upload > button span,
1241
+ .hf-upload > small {
1242
+ font-size: 12px;
1243
+ }
1244
+ .hf-upload > small {
1245
+ color: var(--hf-color-text-muted);
1246
+ }
1247
+ .hf-form {
1248
+ display: grid;
1249
+ gap: 18px;
1250
+ }
1251
+ .hf-form-item {
1252
+ display: grid;
1253
+ gap: 8px;
1254
+ }
1255
+ .hf-form-item__label {
1256
+ font-size: 14px;
1257
+ font-weight: 650;
1258
+ }
1259
+ .hf-form-item__label span {
1260
+ color: #d93d43;
1261
+ margin-left: 3px;
1262
+ }
1263
+ .hf-form-item > div:last-child {
1264
+ display: grid;
1265
+ gap: 6px;
1266
+ }
1267
+ .hf-form-item small {
1268
+ color: var(--hf-color-text-muted);
1269
+ font-size: 12px;
1270
+ }
1271
+ .hf-form-item small.is-error {
1272
+ color: #c93439;
1273
+ }
1274
+ .hf-form--horizontal .hf-form-item {
1275
+ grid-template-columns: 140px minmax(0, 1fr);
1276
+ }
1277
+ .hf-form__fieldset {
1278
+ border: 0;
1279
+ display: grid;
1280
+ gap: 18px;
1281
+ margin: 0;
1282
+ min-width: 0;
1283
+ padding: 0;
1284
+ }
1285
+ .hf-form__fieldset:disabled {
1286
+ opacity: .68;
1287
+ }
1288
+ .hf-upload__errors {
1289
+ color: #c93439;
1290
+ display: grid;
1291
+ font-size: 12px;
1292
+ gap: 4px;
1293
+ }
1294
+ .hf-upload > button:disabled {
1295
+ cursor: not-allowed;
1296
+ opacity: .62;
1297
+ }
1298
+ @media (max-width: 520px) {
1299
+ .hf-calendar {
1300
+ width: min(300px, calc(100vw - 64px));
1301
+ }
1302
+ .hf-form--horizontal .hf-form-item {
1303
+ grid-template-columns: 1fr;
1304
+ }
1305
+ }
1306
+
1307
+ /* src/interaction-patterns.css */
1308
+ .hf-read-more {
1309
+ width: 100%;
1310
+ min-width: 0;
1311
+ }
1312
+ .hf-read-more__text {
1313
+ margin: 0;
1314
+ line-height: 1.8;
1315
+ white-space: pre-wrap;
1316
+ overflow-wrap: anywhere;
1317
+ color: var(--hf-color-text);
1318
+ }
1319
+ .hf-read-more__text.is-clamped {
1320
+ display: -webkit-box;
1321
+ -webkit-box-orient: vertical;
1322
+ -webkit-line-clamp: var(--hf-read-more-lines, 3);
1323
+ overflow: hidden;
1324
+ }
1325
+ .hf-read-more > .hf-button {
1326
+ margin-top: 8px;
1327
+ }
1328
+ .hf-onboarding {
1329
+ width: 100%;
1330
+ min-width: 0;
1331
+ padding: 20px;
1332
+ color: var(--hf-color-text);
1333
+ background: var(--hf-color-surface);
1334
+ border: 1px solid var(--hf-color-border);
1335
+ border-radius: var(--hf-radius-panel);
1336
+ }
1337
+ .hf-onboarding__header {
1338
+ display: flex;
1339
+ align-items: center;
1340
+ justify-content: space-between;
1341
+ gap: 12px;
1342
+ }
1343
+ .hf-onboarding__header h3 {
1344
+ font-size: 16px;
1345
+ margin: 0;
1346
+ overflow-wrap: anywhere;
1347
+ }
1348
+ .hf-onboarding__progress {
1349
+ display: grid;
1350
+ gap: 8px;
1351
+ margin-top: 12px;
1352
+ font-size: 13px;
1353
+ color: var(--hf-color-text-muted);
1354
+ }
1355
+ .hf-onboarding__progress progress {
1356
+ width: 100%;
1357
+ height: 8px;
1358
+ accent-color: var(--hf-color-primary);
1359
+ }
1360
+ .hf-onboarding__tasks {
1361
+ padding: 0;
1362
+ margin: 16px 0 0;
1363
+ list-style: none;
1364
+ }
1365
+ .hf-onboarding__tasks > li {
1366
+ display: flex;
1367
+ gap: 12px;
1368
+ align-items: flex-start;
1369
+ padding: 14px 0;
1370
+ border-top: 1px solid var(--hf-color-border);
1371
+ }
1372
+ .hf-onboarding__marker {
1373
+ width: 24px;
1374
+ height: 24px;
1375
+ flex: 0 0 24px;
1376
+ display: grid;
1377
+ place-items: center;
1378
+ border: 1px solid var(--hf-color-border);
1379
+ border-radius: var(--hf-radius-control);
1380
+ color: var(--hf-color-text-muted);
1381
+ font-size: 12px;
1382
+ }
1383
+ .is-complete > .hf-onboarding__marker {
1384
+ background: var(--hf-color-primary);
1385
+ color: var(--hf-color-surface);
1386
+ border-color: var(--hf-color-primary);
1387
+ }
1388
+ .hf-onboarding__detail {
1389
+ flex: 1;
1390
+ min-width: 0;
1391
+ line-height: 1.6;
1392
+ overflow-wrap: anywhere;
1393
+ }
1394
+ .hf-onboarding__detail strong {
1395
+ font-size: 14px;
1396
+ }
1397
+ .hf-onboarding__detail > div {
1398
+ color: var(--hf-color-text-muted);
1399
+ font-size: 13px;
1400
+ }
1401
+ .hf-onboarding__state {
1402
+ display: block;
1403
+ font-size: 12px;
1404
+ color: var(--hf-color-text-muted);
1405
+ }
1406
+ .hf-onboarding__done {
1407
+ margin: 12px 0 0;
1408
+ color: var(--hf-color-primary);
1409
+ }
1410
+ .hf-announcement {
1411
+ display: flex;
1412
+ align-items: center;
1413
+ gap: 12px;
1414
+ width: 100%;
1415
+ min-width: 0;
1416
+ padding: 12px 16px;
1417
+ background: var(--hf-color-background);
1418
+ color: var(--hf-color-text);
1419
+ border: 1px solid var(--hf-color-border);
1420
+ border-radius: var(--hf-radius-panel);
1421
+ }
1422
+ .hf-announcement__label {
1423
+ display: inline-flex;
1424
+ align-items: center;
1425
+ gap: 6px;
1426
+ color: var(--hf-color-primary);
1427
+ font-size: 13px;
1428
+ flex-shrink: 0;
1429
+ }
1430
+ .hf-announcement__message {
1431
+ flex: 1;
1432
+ min-width: 0;
1433
+ overflow-wrap: anywhere;
1434
+ font-size: 14px;
1435
+ line-height: 1.6;
1436
+ }
1437
+ .hf-announcement__message > .hf-button {
1438
+ margin-left: 8px;
1439
+ }
1440
+ .hf-announcement__controls {
1441
+ display: flex;
1442
+ align-items: center;
1443
+ flex-wrap: wrap;
1444
+ gap: 4px;
1445
+ font-size: 12px;
1446
+ color: var(--hf-color-text-muted);
1447
+ }
1448
+ .hf-sortable {
1449
+ width: 100%;
1450
+ min-width: 0;
1451
+ color: var(--hf-color-text);
1452
+ }
1453
+ .hf-sortable__hint {
1454
+ margin: 0 0 12px;
1455
+ font-size: 13px;
1456
+ color: var(--hf-color-text-muted);
1457
+ line-height: 1.6;
1458
+ }
1459
+ .hf-sortable__list {
1460
+ list-style: none;
1461
+ margin: 0;
1462
+ padding: 0;
1463
+ display: grid;
1464
+ gap: 8px;
1465
+ }
1466
+ .hf-sortable__list > li {
1467
+ display: flex;
1468
+ align-items: center;
1469
+ gap: 12px;
1470
+ min-width: 0;
1471
+ padding: 12px;
1472
+ background: var(--hf-color-surface);
1473
+ border: 1px solid var(--hf-color-border);
1474
+ border-radius: var(--hf-radius-panel);
1475
+ transition: background var(--hf-motion-duration), border-color var(--hf-motion-duration);
1476
+ }
1477
+ .hf-sortable__list > .is-dragging {
1478
+ background: var(--hf-color-background);
1479
+ border-color: var(--hf-color-primary);
1480
+ }
1481
+ .hf-sortable__list > .is-drop-before {
1482
+ border-top: 3px solid var(--hf-color-primary);
1483
+ padding-top: 10px;
1484
+ }
1485
+ .hf-sortable__list > .is-drop-after {
1486
+ border-bottom: 3px solid var(--hf-color-primary);
1487
+ padding-bottom: 10px;
1488
+ }
1489
+ .hf-sortable__handle {
1490
+ display: grid;
1491
+ place-items: center;
1492
+ padding: 8px;
1493
+ border: 0;
1494
+ background: transparent;
1495
+ color: var(--hf-color-text-muted);
1496
+ cursor: grab;
1497
+ touch-action: none;
1498
+ border-radius: var(--hf-radius-control);
1499
+ }
1500
+ .hf-sortable__handle:active {
1501
+ cursor: grabbing;
1502
+ }
1503
+ .hf-sortable__handle:focus-visible {
1504
+ outline: 2px solid var(--hf-color-primary);
1505
+ outline-offset: 2px;
1506
+ }
1507
+ .hf-sortable__handle:disabled {
1508
+ opacity: .45;
1509
+ cursor: not-allowed;
1510
+ }
1511
+ .hf-sortable__content {
1512
+ flex: 1;
1513
+ min-width: 0;
1514
+ overflow-wrap: anywhere;
1515
+ line-height: 1.6;
1516
+ }
1517
+ .hf-sortable__content strong {
1518
+ font-size: 14px;
1519
+ }
1520
+ .hf-sortable__content > div {
1521
+ font-size: 13px;
1522
+ color: var(--hf-color-text-muted);
1523
+ }
1524
+ .hf-sortable__actions {
1525
+ display: flex;
1526
+ flex-shrink: 0;
1527
+ gap: 4px;
1528
+ }
1529
+ @media (max-width: 640px) {
1530
+ .hf-announcement {
1531
+ flex-wrap: wrap;
1532
+ padding: 12px;
1533
+ }
1534
+ .hf-announcement__message {
1535
+ flex-basis: calc(100% - 76px);
1536
+ }
1537
+ .hf-announcement__controls {
1538
+ width: 100%;
1539
+ justify-content: flex-end;
1540
+ }
1541
+ .hf-onboarding {
1542
+ padding: 14px;
1543
+ }
1544
+ .hf-onboarding__tasks > li {
1545
+ gap: 8px;
1546
+ flex-wrap: wrap;
1547
+ }
1548
+ .hf-onboarding__detail {
1549
+ flex-basis: calc(100% - 36px);
1550
+ }
1551
+ .hf-onboarding__tasks > li > .hf-button {
1552
+ margin-left: 32px;
1553
+ }
1554
+ .hf-sortable__list > li {
1555
+ gap: 6px;
1556
+ padding: 10px 6px;
1557
+ }
1558
+ .hf-sortable__actions {
1559
+ flex-direction: column;
1560
+ }
1561
+ .hf-sortable__list > .is-drop-before {
1562
+ padding-top: 8px;
1563
+ }
1564
+ .hf-sortable__list > .is-drop-after {
1565
+ padding-bottom: 8px;
1566
+ }
1567
+ }
1568
+ @media (prefers-reduced-motion: reduce) {
1569
+ .hf-sortable__list > li {
1570
+ transition: none;
1571
+ }
1572
+ }
1573
+
1574
+ /* src/exploration-patterns.css */
1575
+ .hf-legend-filter {
1576
+ display: flex;
1577
+ flex-wrap: wrap;
1578
+ gap: 8px;
1579
+ }
1580
+ .hf-legend-filter button {
1581
+ display: inline-flex;
1582
+ align-items: center;
1583
+ gap: 8px;
1584
+ padding: 6px 10px;
1585
+ border: 1px solid var(--hf-color-border);
1586
+ border-radius: 6px;
1587
+ background: var(--hf-color-surface);
1588
+ color: var(--hf-color-text);
1589
+ font: inherit;
1590
+ cursor: pointer;
1591
+ }
1592
+ .hf-legend-filter button[aria-pressed=true] {
1593
+ border-color: var(--hf-color-primary);
1594
+ }
1595
+ .hf-legend-filter button[aria-pressed=false] {
1596
+ color: var(--hf-color-text-muted);
1597
+ }
1598
+ .hf-legend-filter button:disabled {
1599
+ cursor: not-allowed;
1600
+ opacity: .6;
1601
+ }
1602
+ .hf-legend-filter__swatch {
1603
+ width: 10px;
1604
+ height: 10px;
1605
+ flex-shrink: 0;
1606
+ background: var(--hf-color-primary);
1607
+ border-radius: 2px;
1608
+ }
1609
+ .hf-legend-filter button:focus-visible,
1610
+ .hf-range-brush input:focus-visible {
1611
+ outline: 2px solid var(--hf-color-primary);
1612
+ outline-offset: 3px;
1613
+ }
1614
+ .hf-range-brush {
1615
+ min-width: 0;
1616
+ margin: 0;
1617
+ padding: 16px;
1618
+ border: 1px solid var(--hf-color-border);
1619
+ border-radius: 8px;
1620
+ color: var(--hf-color-text);
1621
+ }
1622
+ .hf-range-brush__plot {
1623
+ position: relative;
1624
+ min-height: 64px;
1625
+ overflow: hidden;
1626
+ background: var(--hf-color-background);
1627
+ }
1628
+ .hf-range-brush__selection {
1629
+ position: absolute;
1630
+ top: 0;
1631
+ bottom: 0;
1632
+ border: 2px solid var(--hf-color-primary);
1633
+ background: color-mix(in srgb, var(--hf-color-primary) 12%, transparent);
1634
+ pointer-events: none;
1635
+ }
1636
+ .hf-range-brush__controls {
1637
+ display: grid;
1638
+ grid-template-columns: minmax(80px, auto) minmax(0, 1fr);
1639
+ gap: 12px;
1640
+ align-items: center;
1641
+ margin-top: 12px;
1642
+ }
1643
+ .hf-range-brush input {
1644
+ min-width: 0;
1645
+ width: 100%;
1646
+ accent-color: var(--hf-color-primary);
1647
+ }
1648
+ .hf-range-brush output {
1649
+ font-variant-numeric: tabular-nums;
1650
+ }
1651
+ .hf-expandable-panel {
1652
+ min-width: 0;
1653
+ border: 1px solid var(--hf-color-border);
1654
+ border-radius: 8px;
1655
+ background: var(--hf-color-surface);
1656
+ color: var(--hf-color-text);
1657
+ overflow-wrap: anywhere;
1658
+ }
1659
+ .hf-expandable-panel__header {
1660
+ display: flex;
1661
+ align-items: center;
1662
+ justify-content: space-between;
1663
+ gap: 16px;
1664
+ padding: 16px;
1665
+ }
1666
+ .hf-expandable-panel__header h3 {
1667
+ margin: 0;
1668
+ font-size: 16px;
1669
+ }
1670
+ .hf-expandable-panel__header button {
1671
+ flex-shrink: 0;
1672
+ }
1673
+ .hf-expandable-panel__summary {
1674
+ padding: 0 16px 16px;
1675
+ color: var(--hf-color-text-muted);
1676
+ }
1677
+ .hf-expandable-panel__reveal {
1678
+ display: grid;
1679
+ grid-template-rows: 0fr;
1680
+ visibility: hidden;
1681
+ transition: grid-template-rows 180ms ease, visibility 180ms;
1682
+ }
1683
+ .hf-expandable-panel__reveal[data-open=true] {
1684
+ grid-template-rows: 1fr;
1685
+ visibility: visible;
1686
+ }
1687
+ .hf-expandable-panel__reveal > div {
1688
+ overflow: hidden;
1689
+ min-height: 0;
1690
+ }
1691
+ .hf-expandable-panel__content {
1692
+ padding: 16px;
1693
+ border-top: 1px solid var(--hf-color-border);
1694
+ }
1695
+ .hf-product-tour {
1696
+ position: fixed;
1697
+ inset: 0;
1698
+ z-index: 1400;
1699
+ color: var(--hf-color-text);
1700
+ font-family: var(--hf-font-family);
1701
+ }
1702
+ .hf-product-tour__shade {
1703
+ position: absolute;
1704
+ inset: 0;
1705
+ color: rgb(0 0 0 / 48%);
1706
+ pointer-events: none;
1707
+ }
1708
+ .hf-product-tour__target {
1709
+ position: fixed;
1710
+ border: 2px solid var(--hf-color-primary);
1711
+ border-radius: 6px;
1712
+ pointer-events: none;
1713
+ }
1714
+ .hf-product-tour__card {
1715
+ position: absolute;
1716
+ bottom: 16px;
1717
+ left: 50%;
1718
+ transform: translateX(-50%);
1719
+ width: min(440px, calc(100% - 32px));
1720
+ max-height: calc(100% - 32px);
1721
+ overflow: auto;
1722
+ box-sizing: border-box;
1723
+ padding: 20px;
1724
+ border: 1px solid var(--hf-color-border);
1725
+ border-radius: 8px;
1726
+ background: var(--hf-color-surface);
1727
+ overflow-wrap: anywhere;
1728
+ }
1729
+ .hf-product-tour__card h3 {
1730
+ margin: 8px 0 12px;
1731
+ font-size: 18px;
1732
+ }
1733
+ .hf-product-tour__count {
1734
+ color: var(--hf-color-text-muted);
1735
+ font-variant-numeric: tabular-nums;
1736
+ }
1737
+ .hf-product-tour__actions {
1738
+ display: flex;
1739
+ justify-content: flex-end;
1740
+ gap: 8px;
1741
+ flex-wrap: wrap;
1742
+ margin-top: 20px;
1743
+ }
1744
+ @media (prefers-reduced-motion: reduce) {
1745
+ .hf-expandable-panel__reveal {
1746
+ transition: none;
1747
+ }
1748
+ }
1749
+
1750
+ /* src/reading-patterns.css */
1751
+ .hf-hotspot-guide,
1752
+ .hf-chart-crosshair,
1753
+ .hf-drilldown-chart {
1754
+ min-width: 0;
1755
+ color: var(--hf-color-text);
1756
+ overflow-wrap: anywhere;
1757
+ }
1758
+ .hf-hotspot-guide > button > span {
1759
+ display: inline-flex;
1760
+ align-items: center;
1761
+ flex-wrap: wrap;
1762
+ gap: 8px;
1763
+ }
1764
+ .hf-hotspot-guide > .hf-button {
1765
+ color: var(--hf-color-text);
1766
+ text-align: start;
1767
+ }
1768
+ .hf-hotspot-guide .hf-button--quiet:hover {
1769
+ background: var(--hf-color-background);
1770
+ }
1771
+ .hf-hotspot-guide__dot {
1772
+ color: var(--hf-color-primary);
1773
+ }
1774
+ .hf-hotspot-guide__state {
1775
+ color: var(--hf-color-text-muted);
1776
+ font-size: 12px;
1777
+ }
1778
+ .hf-hotspot-guide__content {
1779
+ padding: 16px;
1780
+ margin-top: 8px;
1781
+ background: var(--hf-color-surface);
1782
+ border: 1px solid var(--hf-color-border);
1783
+ border-radius: var(--hf-radius-panel);
1784
+ }
1785
+ .hf-hotspot-guide__content h3,
1786
+ .hf-chart-crosshair h3,
1787
+ .hf-drilldown-chart h3 {
1788
+ margin: 0;
1789
+ font-size: 16px;
1790
+ }
1791
+ .hf-hotspot-guide__content h3 {
1792
+ margin-bottom: 12px;
1793
+ }
1794
+ .hf-hotspot-guide__actions {
1795
+ display: flex;
1796
+ justify-content: flex-end;
1797
+ gap: 8px;
1798
+ margin-top: 16px;
1799
+ flex-wrap: wrap;
1800
+ }
1801
+ .hf-chart-crosshair,
1802
+ .hf-drilldown-chart {
1803
+ padding: 16px;
1804
+ border: 1px solid var(--hf-color-border);
1805
+ border-radius: var(--hf-radius-panel);
1806
+ background: var(--hf-color-surface);
1807
+ }
1808
+ .hf-chart-crosshair__scale {
1809
+ display: flex;
1810
+ justify-content: space-between;
1811
+ color: var(--hf-color-text-muted);
1812
+ margin-top: 16px;
1813
+ font-size: 12px;
1814
+ }
1815
+ .hf-chart-crosshair svg {
1816
+ display: block;
1817
+ width: 100%;
1818
+ height: 200px;
1819
+ cursor: crosshair;
1820
+ touch-action: pan-y;
1821
+ }
1822
+ .hf-chart-crosshair__axis {
1823
+ fill: none;
1824
+ stroke: var(--hf-color-border);
1167
1825
  }
1168
- .hf-slider {
1169
- display: grid;
1170
- gap: 10px;
1826
+ .hf-chart-crosshair__line {
1827
+ fill: none;
1828
+ stroke: var(--hf-color-primary);
1829
+ stroke-width: 3;
1171
1830
  }
1172
- .hf-slider > span {
1173
- color: var(--hf-color-text-muted);
1831
+ .hf-chart-crosshair__cursor {
1832
+ fill: none;
1833
+ stroke: var(--hf-color-text-muted);
1834
+ stroke-width: 1;
1835
+ stroke-dasharray: 4 4;
1836
+ }
1837
+ .hf-chart-crosshair circle {
1838
+ fill: var(--hf-color-surface);
1839
+ stroke: var(--hf-color-primary);
1840
+ stroke-width: 3;
1841
+ }
1842
+ .hf-chart-crosshair__reading {
1174
1843
  display: flex;
1175
- font-size: 13px;
1176
1844
  justify-content: space-between;
1845
+ gap: 16px;
1846
+ margin: 8px 0 16px;
1847
+ font-variant-numeric: tabular-nums;
1177
1848
  }
1178
- .hf-slider strong {
1179
- color: var(--hf-color-text);
1849
+ .hf-chart-crosshair label {
1850
+ font-size: 12px;
1851
+ color: var(--hf-color-text-muted);
1180
1852
  }
1181
- .hf-slider input {
1182
- appearance: none;
1183
- background:
1184
- linear-gradient(
1185
- 90deg,
1186
- var(--hf-color-primary) var(--hf-slider-value),
1187
- #dce9f7 0);
1188
- border-radius: 99px;
1189
- height: 6px;
1853
+ .hf-chart-crosshair input {
1854
+ display: block;
1190
1855
  width: 100%;
1856
+ margin: 12px 0 0;
1857
+ accent-color: var(--hf-color-primary);
1191
1858
  }
1192
- .hf-slider input::-webkit-slider-thumb {
1193
- appearance: none;
1194
- background: #fff;
1195
- border: 2px solid var(--hf-color-primary);
1196
- border-radius: 50%;
1197
- box-shadow: 0 2px 8px rgba(30, 80, 130, .18);
1198
- height: 20px;
1199
- width: 20px;
1859
+ .hf-drilldown-chart nav,
1860
+ .hf-drilldown-chart__header {
1861
+ display: flex;
1862
+ align-items: center;
1863
+ flex-wrap: wrap;
1864
+ gap: 8px;
1200
1865
  }
1201
- .hf-upload {
1866
+ .hf-drilldown-chart__header {
1867
+ justify-content: space-between;
1868
+ margin: 12px 0 16px;
1869
+ }
1870
+ .hf-drilldown-chart ul {
1871
+ list-style: none;
1872
+ padding: 0;
1873
+ margin: 0;
1202
1874
  display: grid;
1203
- gap: 7px;
1875
+ gap: 12px;
1204
1876
  }
1205
- .hf-upload > input {
1206
- display: none;
1877
+ .hf-drilldown-chart li > button,
1878
+ .hf-drilldown-chart__leaf {
1879
+ display: grid;
1880
+ grid-template-columns: minmax(0, 1fr) auto;
1881
+ gap: 8px 16px;
1882
+ text-align: start;
1883
+ width: 100%;
1884
+ padding: 10px;
1885
+ border: 1px solid var(--hf-color-border);
1886
+ border-radius: var(--hf-radius-control);
1887
+ background: var(--hf-color-surface);
1888
+ color: inherit;
1889
+ font: inherit;
1890
+ box-sizing: border-box;
1207
1891
  }
1208
- .hf-upload > button {
1209
- align-items: center;
1210
- background: #f8fbfe;
1211
- border: 1px dashed #b9cfe4;
1212
- border-radius: 16px;
1213
- color: var(--hf-color-text-muted);
1214
- display: flex;
1215
- flex-direction: column;
1216
- gap: 6px;
1217
- justify-content: center;
1218
- min-height: 150px;
1219
- padding: 20px;
1892
+ .hf-drilldown-chart li > button {
1893
+ cursor: pointer;
1220
1894
  }
1221
- .hf-upload > button:hover,
1222
- .hf-upload > button.is-dragging {
1223
- background: #edf6ff;
1895
+ .hf-drilldown-chart li > button:hover:not(:disabled) {
1224
1896
  border-color: var(--hf-color-primary);
1225
- color: var(--hf-color-primary);
1226
1897
  }
1227
- .hf-upload > button strong {
1228
- color: var(--hf-color-text);
1229
- font-size: 14px;
1898
+ .hf-drilldown-chart li > button:disabled {
1899
+ opacity: .6;
1900
+ cursor: not-allowed;
1230
1901
  }
1231
- .hf-upload > button span,
1232
- .hf-upload > small {
1233
- font-size: 12px;
1902
+ .hf-drilldown-chart__track {
1903
+ grid-column: 1 / -1;
1904
+ height: 6px;
1905
+ background: var(--hf-color-background);
1234
1906
  }
1235
- .hf-upload > small {
1236
- color: var(--hf-color-text-muted);
1907
+ .hf-drilldown-chart__track > span {
1908
+ display: block;
1909
+ height: 100%;
1910
+ background: var(--hf-color-primary);
1237
1911
  }
1238
- .hf-form {
1239
- display: grid;
1240
- gap: 18px;
1912
+ .hf-drilldown-chart button:focus-visible,
1913
+ .hf-chart-crosshair input:focus-visible {
1914
+ outline: 2px solid var(--hf-color-primary);
1915
+ outline-offset: 3px;
1241
1916
  }
1242
- .hf-form-item {
1243
- display: grid;
1244
- gap: 8px;
1917
+ @media (max-width: 480px) {
1918
+ .hf-drilldown-chart li > button,
1919
+ .hf-drilldown-chart__leaf {
1920
+ grid-template-columns: minmax(0, 1fr);
1921
+ }
1245
1922
  }
1246
- .hf-form-item__label {
1247
- font-size: 14px;
1248
- font-weight: 650;
1923
+
1924
+ /* src/manipulation-patterns.css */
1925
+ .hf-kanban-enhanced,
1926
+ .hf-zoomable-chart {
1927
+ min-width: 0;
1928
+ width: 100%;
1929
+ color: var(--hf-color-text);
1249
1930
  }
1250
- .hf-form-item__label span {
1251
- color: #d93d43;
1252
- margin-left: 3px;
1931
+ .hf-kanban-enhanced__hint,
1932
+ .hf-kanban-enhanced__empty,
1933
+ .hf-zoomable-chart__summary {
1934
+ color: var(--hf-color-text-muted);
1935
+ font-size: 13px;
1936
+ overflow-wrap: anywhere;
1253
1937
  }
1254
- .hf-form-item > div:last-child {
1255
- display: grid;
1256
- gap: 6px;
1938
+ .hf-kanban-enhanced .hf-kanban-board > section {
1939
+ min-width: 0;
1257
1940
  }
1258
- .hf-form-item small {
1259
- color: var(--hf-color-text-muted);
1260
- font-size: 12px;
1941
+ .hf-kanban-enhanced [data-drop-target=true] {
1942
+ outline: 2px solid var(--hf-color-primary);
1943
+ outline-offset: -2px;
1261
1944
  }
1262
- .hf-form-item small.is-error {
1263
- color: #c93439;
1945
+ .hf-kanban-enhanced__item {
1946
+ min-width: 0;
1264
1947
  }
1265
- .hf-form--horizontal .hf-form-item {
1266
- grid-template-columns: 140px minmax(0, 1fr);
1948
+ .hf-kanban-enhanced__item > .hf-kanban-card {
1949
+ width: 100%;
1950
+ box-sizing: border-box;
1951
+ overflow-wrap: anywhere;
1267
1952
  }
1268
- .hf-form__fieldset {
1269
- border: 0;
1270
- display: grid;
1271
- gap: 18px;
1272
- margin: 0;
1953
+ .hf-kanban-enhanced__controls {
1954
+ display: flex;
1955
+ align-items: center;
1956
+ gap: 8px;
1957
+ padding: 4px 0 8px;
1958
+ }
1959
+ .hf-kanban-enhanced__controls select,
1960
+ .hf-kanban-enhanced__handle {
1961
+ padding: 6px;
1962
+ border: 1px solid var(--hf-color-border);
1963
+ border-radius: var(--hf-radius-control);
1964
+ background: var(--hf-color-surface);
1965
+ color: var(--hf-color-text);
1966
+ font: inherit;
1967
+ }
1968
+ .hf-kanban-enhanced__controls select {
1273
1969
  min-width: 0;
1274
- padding: 0;
1970
+ max-width: 100%;
1971
+ flex: 1;
1275
1972
  }
1276
- .hf-form__fieldset:disabled {
1277
- opacity: .68;
1973
+ .hf-kanban-enhanced__handle {
1974
+ touch-action: none;
1975
+ cursor: grab;
1976
+ min-width: 34px;
1278
1977
  }
1279
- .hf-upload__errors {
1280
- color: #c93439;
1978
+ .hf-kanban-enhanced__handle:active {
1979
+ cursor: grabbing;
1980
+ }
1981
+ .hf-kanban-enhanced :focus-visible {
1982
+ outline: 2px solid var(--hf-color-primary);
1983
+ outline-offset: 2px;
1984
+ }
1985
+ .hf-kanban-enhanced__empty {
1986
+ min-height: 64px;
1987
+ margin: 0;
1988
+ }
1989
+ .hf-zoomable-chart {
1281
1990
  display: grid;
1282
- font-size: 12px;
1283
- gap: 4px;
1991
+ gap: 16px;
1284
1992
  }
1285
- .hf-upload > button:disabled {
1286
- cursor: not-allowed;
1287
- opacity: .62;
1993
+ .hf-zoomable-chart__controls {
1994
+ display: flex;
1995
+ flex-wrap: wrap;
1996
+ gap: 8px;
1288
1997
  }
1289
- @media (max-width: 520px) {
1290
- .hf-calendar {
1291
- width: min(300px, calc(100vw - 64px));
1292
- }
1293
- .hf-form--horizontal .hf-form-item {
1294
- grid-template-columns: 1fr;
1295
- }
1998
+ .hf-zoomable-chart__summary {
1999
+ margin: 0;
2000
+ }
2001
+ .hf-zoomable-chart .hf-range-brush__controls {
2002
+ grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
1296
2003
  }
1297
2004
 
1298
2005
  /* src/navigation/navigation.css */
@@ -1366,19 +2073,37 @@
1366
2073
  overflow: hidden;
1367
2074
  white-space: nowrap;
1368
2075
  }
1369
- .hf-sidebar__top button {
1370
- background: var(--hf-color-background);
1371
- border: 0;
1372
- border-radius: 10px;
1373
- color: var(--hf-color-text-muted);
2076
+ .hf-sidebar__collapse {
2077
+ align-items: center;
2078
+ background: color-mix(in srgb, var(--hf-color-primary) 7%, var(--hf-color-surface));
2079
+ border: 1px solid color-mix(in srgb, var(--hf-color-primary) 16%, var(--hf-color-border));
2080
+ border-radius: var(--hf-radius-control);
2081
+ color: var(--hf-color-primary);
1374
2082
  cursor: pointer;
1375
- flex: 0 0 30px;
1376
- font-size: 22px;
1377
- height: 30px;
1378
- transition: transform var(--hf-motion-duration);
2083
+ display: inline-flex;
2084
+ flex: 0 0 34px;
2085
+ height: 34px;
2086
+ justify-content: center;
2087
+ padding: 0;
2088
+ transition:
2089
+ background var(--hf-motion-duration),
2090
+ border-color var(--hf-motion-duration),
2091
+ color var(--hf-motion-duration);
1379
2092
  }
1380
- .hf-sidebar--collapsed .hf-sidebar__top button {
2093
+ .hf-sidebar__collapse .hf-icon {
1381
2094
  transform: rotate(180deg);
2095
+ transition: transform var(--hf-motion-duration) cubic-bezier(.2, .8, .2, 1);
2096
+ }
2097
+ .hf-sidebar--collapsed .hf-sidebar__collapse .hf-icon {
2098
+ transform: rotate(0deg);
2099
+ }
2100
+ .hf-sidebar__collapse:hover {
2101
+ background: color-mix(in srgb, var(--hf-color-primary) 13%, var(--hf-color-surface));
2102
+ border-color: color-mix(in srgb, var(--hf-color-primary) 28%, var(--hf-color-border));
2103
+ }
2104
+ .hf-sidebar__collapse:focus-visible {
2105
+ outline: 2px solid color-mix(in srgb, var(--hf-color-primary) 42%, transparent);
2106
+ outline-offset: 2px;
1382
2107
  }
1383
2108
  .hf-sidebar--collapsed .hf-sidebar__brand {
1384
2109
  display: none;
@@ -1462,28 +2187,39 @@
1462
2187
  }
1463
2188
  .hf-menu > button {
1464
2189
  align-items: center;
1465
- background: transparent;
1466
- border: 0;
1467
- border-radius: 12px;
2190
+ background: var(--hf-color-surface);
2191
+ border: 1px solid var(--hf-color-border);
2192
+ border-radius: var(--hf-radius-control);
1468
2193
  color: var(--hf-color-text);
1469
2194
  cursor: pointer;
1470
- display: flex;
2195
+ display: inline-flex;
1471
2196
  font: inherit;
1472
2197
  font-weight: 650;
1473
- gap: 7px;
1474
- padding: 9px 12px;
2198
+ gap: 9px;
2199
+ min-height: 40px;
2200
+ padding: 7px 9px 7px 13px;
1475
2201
  }
1476
2202
  .hf-menu > button:hover,
1477
2203
  .hf-menu > button[aria-expanded=true] {
1478
2204
  background: color-mix(in srgb, var(--hf-color-primary) 9%, transparent);
1479
2205
  color: var(--hf-color-primary);
1480
2206
  }
1481
- .hf-menu > button span {
1482
- transition: transform var(--hf-motion-duration);
2207
+ .hf-menu__chevron {
2208
+ background: color-mix(in srgb, var(--hf-color-primary) 8%, transparent);
2209
+ border-radius: 7px;
2210
+ box-sizing: content-box;
2211
+ color: var(--hf-color-primary);
2212
+ padding: 3px;
2213
+ transition: background var(--hf-motion-duration), transform var(--hf-motion-duration);
1483
2214
  }
1484
- .hf-menu > button[aria-expanded=true] span {
2215
+ .hf-menu > button[aria-expanded=true] .hf-menu__chevron {
2216
+ background: color-mix(in srgb, var(--hf-color-primary) 15%, transparent);
1485
2217
  transform: rotate(180deg);
1486
2218
  }
2219
+ .hf-menu > button:focus-visible {
2220
+ outline: 2px solid color-mix(in srgb, var(--hf-color-primary) 42%, transparent);
2221
+ outline-offset: 2px;
2222
+ }
1487
2223
  .hf-menu__panel,
1488
2224
  .hf-mega-menu__panel {
1489
2225
  animation: hf-nav-panel-in var(--hf-motion-duration) cubic-bezier(.2, .9, .2, 1);
@@ -1745,6 +2481,10 @@
1745
2481
  .hf-mega-menu__panel {
1746
2482
  animation: none;
1747
2483
  }
2484
+ .hf-sidebar__collapse .hf-icon,
2485
+ .hf-menu__chevron {
2486
+ transition: none;
2487
+ }
1748
2488
  }
1749
2489
 
1750
2490
  /* src/batch-two.parts/part-01.css */
@@ -2713,10 +3453,16 @@
2713
3453
  min-width: 160px;
2714
3454
  padding: 6px;
2715
3455
  position: absolute;
2716
- right: 0;
3456
+ left: 0;
2717
3457
  top: calc(100% + 6px);
2718
3458
  z-index: 80;
2719
3459
  }
3460
+ .hf-split-button > .hf-button:nth-child(2) .hf-icon {
3461
+ transition: transform var(--hf-motion-duration);
3462
+ }
3463
+ .hf-split-button > .hf-button:nth-child(2)[aria-expanded=true] .hf-icon {
3464
+ transform: rotate(180deg);
3465
+ }
2720
3466
  .hf-split-button__menu button {
2721
3467
  background: transparent;
2722
3468
  border: 0;
@@ -3131,6 +3877,14 @@
3131
3877
  min-height: 32px;
3132
3878
  width: 40px;
3133
3879
  }
3880
+ .hf-combobox__control > button .hf-icon {
3881
+ display: block;
3882
+ margin: auto;
3883
+ transition: transform var(--hf-motion-duration);
3884
+ }
3885
+ .hf-combobox__control.is-open > button .hf-icon {
3886
+ transform: rotate(180deg);
3887
+ }
3134
3888
  .hf-combobox__menu {
3135
3889
  background: var(--hf-color-surface);
3136
3890
  border: 1px solid var(--hf-color-border);
@@ -3244,12 +3998,53 @@
3244
3998
  text-align: left;
3245
3999
  width: 100%;
3246
4000
  }
3247
- .hf-accordion h3 button span:last-child {
3248
- transition: transform var(--hf-motion-duration);
4001
+ .hf-accordion__toggle {
4002
+ align-items: center;
4003
+ background: color-mix(in srgb, var(--hf-color-primary) 8%, var(--hf-color-surface));
4004
+ border: 1px solid color-mix(in srgb, var(--hf-color-primary) 14%, var(--hf-color-border));
4005
+ border-radius: var(--hf-radius-control);
4006
+ color: var(--hf-color-primary);
4007
+ display: inline-flex;
4008
+ flex: 0 0 30px;
4009
+ height: 30px;
4010
+ justify-content: center;
4011
+ margin-left: 12px;
4012
+ position: relative;
4013
+ transition: background var(--hf-motion-duration), border-color var(--hf-motion-duration);
4014
+ }
4015
+ .hf-accordion__toggle i {
4016
+ background: currentColor;
4017
+ border-radius: 1px;
4018
+ height: 1.5px;
4019
+ position: absolute;
4020
+ transition: opacity var(--hf-motion-duration), transform var(--hf-motion-duration) cubic-bezier(.2, .8, .2, 1);
4021
+ width: 12px;
3249
4022
  }
3250
- .hf-accordion section.is-open h3 button span:last-child {
4023
+ .hf-accordion__toggle i:last-child {
4024
+ transform: rotate(90deg);
4025
+ }
4026
+ .hf-accordion section.is-open .hf-accordion__toggle {
4027
+ background: color-mix(in srgb, var(--hf-color-primary) 14%, var(--hf-color-surface));
4028
+ }
4029
+ .hf-accordion section.is-open .hf-accordion__toggle i:first-child {
3251
4030
  transform: rotate(180deg);
3252
4031
  }
4032
+ .hf-accordion section.is-open .hf-accordion__toggle i:last-child {
4033
+ opacity: 0;
4034
+ transform: rotate(180deg) scaleX(.45);
4035
+ }
4036
+ .hf-accordion h3 button:hover .hf-accordion__toggle {
4037
+ background: color-mix(in srgb, var(--hf-color-primary) 14%, var(--hf-color-surface));
4038
+ }
4039
+ .hf-accordion h3 button:focus-visible {
4040
+ outline: 2px solid color-mix(in srgb, var(--hf-color-primary) 42%, transparent);
4041
+ outline-offset: -3px;
4042
+ }
4043
+ @media (prefers-reduced-motion: reduce) {
4044
+ .hf-accordion__toggle i {
4045
+ transition: none;
4046
+ }
4047
+ }
3253
4048
  .hf-accordion__panel {
3254
4049
  background: #f8fbfe;
3255
4050
  color: var(--hf-color-text-muted);
@@ -3510,6 +4305,7 @@
3510
4305
  }
3511
4306
  .hf-steps li {
3512
4307
  flex: 1;
4308
+ min-width: 0;
3513
4309
  position: relative;
3514
4310
  }
3515
4311
  .hf-steps li:not(:last-child):after {
@@ -3532,7 +4328,10 @@
3532
4328
  display: flex;
3533
4329
  gap: 10px;
3534
4330
  padding: 0 14px 0 0;
4331
+ position: relative;
3535
4332
  text-align: left;
4333
+ width: 100%;
4334
+ z-index: 1;
3536
4335
  }
3537
4336
  .hf-steps button > span:first-child {
3538
4337
  background: #edf3f8;
@@ -3552,12 +4351,20 @@
3552
4351
  color: #fff;
3553
4352
  }
3554
4353
  .hf-steps button > span:last-child {
4354
+ background: var(--hf-color-surface);
3555
4355
  display: grid;
3556
4356
  gap: 3px;
4357
+ min-width: 0;
4358
+ padding-right: 8px;
3557
4359
  padding-top: 7px;
4360
+ position: relative;
4361
+ z-index: 2;
3558
4362
  }
3559
4363
  .hf-steps strong {
4364
+ display: block;
3560
4365
  font-size: 13px;
4366
+ line-height: 20px;
4367
+ overflow-wrap: anywhere;
3561
4368
  }
3562
4369
  .hf-steps small {
3563
4370
  color: var(--hf-color-text-muted);
@@ -3736,7 +4543,7 @@
3736
4543
  display: flex;
3737
4544
  gap: 8px;
3738
4545
  }
3739
- .hf-cascader select,
4546
+ .hf-cascader__level,
3740
4547
  .hf-date-range input {
3741
4548
  background: var(--hf-color-surface);
3742
4549
  border: 1px solid var(--hf-color-border);
@@ -3745,6 +4552,12 @@
3745
4552
  min-height: 42px;
3746
4553
  padding: 8px 10px;
3747
4554
  }
4555
+ .hf-cascader__level {
4556
+ min-width: 110px;
4557
+ }
4558
+ .hf-cascader__level .hf-select {
4559
+ min-height: 42px;
4560
+ }
3748
4561
  .hf-date-range > div {
3749
4562
  align-items: center;
3750
4563
  }
@@ -4086,7 +4899,7 @@
4086
4899
  border: 1px solid var(--hf-color-border);
4087
4900
  border-radius: 14px;
4088
4901
  color: var(--hf-color-text);
4089
- overflow: hidden;
4902
+ overflow: visible;
4090
4903
  }
4091
4904
  .hf-rich-editor__header,
4092
4905
  .hf-code-editor > header,
@@ -4302,7 +5115,6 @@
4302
5115
  justify-content: flex-start;
4303
5116
  gap: 8px;
4304
5117
  }
4305
- .hf-query-builder select,
4306
5118
  .hf-query-builder input {
4307
5119
  background: var(--hf-color-surface);
4308
5120
  border: 1px solid var(--hf-color-border);
@@ -4311,6 +5123,16 @@
4311
5123
  min-height: 35px;
4312
5124
  padding: 6px 8px;
4313
5125
  }
5126
+ .hf-query-builder__select {
5127
+ min-width: 0;
5128
+ }
5129
+ .hf-query-builder__select .hf-select {
5130
+ padding-block: 6px;
5131
+ }
5132
+ .hf-query-builder__select .hf-select-shell {
5133
+ border-radius: 8px;
5134
+ min-height: 35px;
5135
+ }
4314
5136
  .hf-query-builder > div {
4315
5137
  display: grid;
4316
5138
  gap: 7px;
@@ -4689,9 +5511,9 @@
4689
5511
  border: 1px solid var(--hf-color-border);
4690
5512
  border-radius: 10px;
4691
5513
  display: flex;
4692
- overflow: hidden;
5514
+ overflow: visible;
4693
5515
  }
4694
- .hf-filter-builder__item select,
5516
+ .hf-filter-builder__select .hf-select,
4695
5517
  .hf-filter-builder__item input {
4696
5518
  background: transparent;
4697
5519
  border: 0;
@@ -4700,6 +5522,16 @@
4700
5522
  min-height: 37px;
4701
5523
  padding: 7px 9px;
4702
5524
  }
5525
+ .hf-filter-builder__select {
5526
+ min-width: 110px;
5527
+ }
5528
+ .hf-filter-builder__select .hf-select-shell {
5529
+ min-width: 110px;
5530
+ }
5531
+ .hf-filter-builder__select .hf-select {
5532
+ border-radius: 0;
5533
+ min-height: 37px;
5534
+ }
4703
5535
  .hf-filter-builder__item input {
4704
5536
  max-width: 150px;
4705
5537
  }
@@ -5336,8 +6168,25 @@
5336
6168
  display: grid;
5337
6169
  flex: 0 0 42px;
5338
6170
  height: 42px;
6171
+ line-height: 0;
6172
+ padding: 0;
5339
6173
  place-items: center;
5340
6174
  }
6175
+ .hf-voice-input__record-icon,
6176
+ .hf-voice-input__stop-icon {
6177
+ background: currentColor;
6178
+ display: block;
6179
+ }
6180
+ .hf-voice-input__record-icon {
6181
+ clip-path: circle(50%);
6182
+ height: 10px;
6183
+ width: 10px;
6184
+ }
6185
+ .hf-voice-input__stop-icon {
6186
+ border-radius: 2px;
6187
+ height: 9px;
6188
+ width: 9px;
6189
+ }
5341
6190
  .hf-voice-input.is-listening .hf-voice-input__main {
5342
6191
  animation: hf-voice-pulse 1.5s infinite;
5343
6192
  background: #e5484d;
@@ -5413,6 +6262,13 @@
5413
6262
  color: var(--hf-color-text-muted);
5414
6263
  font-style: normal;
5415
6264
  }
6265
+ .hf-model-selector__chevron {
6266
+ color: var(--hf-color-primary);
6267
+ transition: transform var(--hf-motion-duration);
6268
+ }
6269
+ .hf-model-selector__trigger[aria-expanded=true] .hf-model-selector__chevron {
6270
+ transform: rotate(180deg);
6271
+ }
5416
6272
  .hf-model-selector__menu {
5417
6273
  background: var(--hf-color-surface);
5418
6274
  border: 1px solid var(--hf-color-border);
@@ -6141,9 +6997,59 @@
6141
6997
  display: grid;
6142
6998
  padding: 5px;
6143
6999
  position: absolute;
7000
+ left: 0;
7001
+ top: calc(100% + 6px);
6144
7002
  width: 100%;
6145
7003
  z-index: 170;
6146
7004
  }
7005
+ .hf-member-picker__menu > button {
7006
+ align-items: center;
7007
+ background: transparent;
7008
+ border: 0;
7009
+ border-radius: 8px;
7010
+ color: var(--hf-color-text);
7011
+ cursor: pointer;
7012
+ display: flex;
7013
+ gap: 8px;
7014
+ min-height: 40px;
7015
+ padding: 7px 10px;
7016
+ text-align: left;
7017
+ width: 100%;
7018
+ }
7019
+ .hf-member-picker__menu > button:hover,
7020
+ .hf-member-picker__menu > button:focus-visible {
7021
+ background: color-mix(in srgb, var(--hf-color-primary) 8%, var(--hf-color-surface));
7022
+ outline: 0;
7023
+ }
7024
+ .hf-member-picker__menu > button > span {
7025
+ display: grid;
7026
+ gap: 2px;
7027
+ }
7028
+ .hf-member-picker__menu small {
7029
+ color: var(--hf-color-text-muted);
7030
+ }
7031
+ .hf-member-picker > div:first-child > span {
7032
+ align-items: center;
7033
+ display: inline-flex;
7034
+ gap: 5px;
7035
+ }
7036
+ .hf-member-picker > div:first-child > span > button {
7037
+ align-items: center;
7038
+ background: color-mix(in srgb, var(--hf-color-primary) 7%, var(--hf-color-surface));
7039
+ border: 0;
7040
+ border-radius: var(--hf-radius-control);
7041
+ color: var(--hf-color-text-muted);
7042
+ cursor: pointer;
7043
+ display: inline-flex;
7044
+ height: 26px;
7045
+ justify-content: center;
7046
+ padding: 0;
7047
+ width: 26px;
7048
+ }
7049
+ .hf-member-picker > div:first-child > span > button:hover {
7050
+ background: color-mix(in srgb, var(--hf-color-primary) 12%, var(--hf-color-surface));
7051
+ color: var(--hf-color-primary);
7052
+ }
6147
7053
  .hf-share-panel > header,
6148
7054
  .hf-share-panel > footer {
6149
7055
  border-bottom: 1px solid var(--hf-color-border);
@@ -6151,6 +7057,11 @@
6151
7057
  justify-content: space-between;
6152
7058
  padding: 12px;
6153
7059
  }
7060
+ .hf-share-panel > footer {
7061
+ align-items: center;
7062
+ border-bottom: 0;
7063
+ border-top: 1px solid var(--hf-color-border);
7064
+ }
6154
7065
  .hf-share-panel__scope {
6155
7066
  display: grid;
6156
7067
  padding: 8px;
@@ -6212,15 +7123,23 @@
6212
7123
  display: flex;
6213
7124
  gap: 8px;
6214
7125
  }
6215
- .hf-recurrence select,
6216
- .hf-recurrence input,
6217
- .hf-timezone {
7126
+ .hf-recurrence input {
6218
7127
  background: var(--hf-color-surface);
6219
7128
  border: 1px solid var(--hf-color-border);
6220
7129
  border-radius: 9px;
6221
7130
  color: var(--hf-color-text);
6222
7131
  padding: 8px;
6223
7132
  }
7133
+ .hf-recurrence__select .hf-select-shell,
7134
+ .hf-timezone .hf-select-shell {
7135
+ border-radius: 9px;
7136
+ }
7137
+ .hf-recurrence__select {
7138
+ min-width: 112px;
7139
+ }
7140
+ .hf-timezone {
7141
+ width: 100%;
7142
+ }
6224
7143
  .hf-availability {
6225
7144
  overflow: auto;
6226
7145
  }
@@ -6252,4 +7171,269 @@
6252
7171
  .hf-availability .is-unavailable {
6253
7172
  background: #dce5ed;
6254
7173
  }
7174
+
7175
+ /* src/confirmation-patterns.css */
7176
+ .hf-hold-confirm,
7177
+ .hf-typed-confirm {
7178
+ display: grid;
7179
+ gap: 12px;
7180
+ min-width: 0;
7181
+ color: var(--hf-color-text);
7182
+ overflow-wrap: anywhere;
7183
+ }
7184
+ .hf-hold-confirm p,
7185
+ .hf-typed-confirm p,
7186
+ .hf-typed-confirm h3 {
7187
+ margin: 0;
7188
+ }
7189
+ .hf-confirm-hint {
7190
+ color: var(--hf-color-text-muted);
7191
+ font-size: 13px;
7192
+ }
7193
+ .hf-confirm-error {
7194
+ padding: 8px 12px;
7195
+ border-inline-start: 3px solid currentColor;
7196
+ font-size: 13px;
7197
+ }
7198
+ .hf-hold-confirm__button {
7199
+ touch-action: none;
7200
+ user-select: none;
7201
+ }
7202
+ .hf-hold-confirm__track {
7203
+ height: 4px;
7204
+ background: var(--hf-color-border);
7205
+ overflow: hidden;
7206
+ }
7207
+ .hf-hold-confirm__track > span {
7208
+ display: block;
7209
+ height: 100%;
7210
+ background: var(--hf-color-primary);
7211
+ }
7212
+ .hf-hold-confirm__alternative {
7213
+ border: 1px solid var(--hf-color-border);
7214
+ padding: 16px;
7215
+ display: grid;
7216
+ gap: 12px;
7217
+ }
7218
+ .hf-confirm-actions {
7219
+ display: flex;
7220
+ flex-wrap: wrap;
7221
+ gap: 8px;
7222
+ }
7223
+ .hf-typed-confirm code {
7224
+ font-family: inherit;
7225
+ color: var(--hf-color-primary);
7226
+ white-space: pre-wrap;
7227
+ }
7228
+ .hf-typed-confirm .hf-button,
7229
+ .hf-hold-confirm .hf-button {
7230
+ white-space: normal;
7231
+ overflow-wrap: anywhere;
7232
+ }
7233
+
7234
+ /* src/row-action-patterns.css */
7235
+ .hf-swipe-actions,
7236
+ .hf-checklist-confirm {
7237
+ display: grid;
7238
+ gap: 12px;
7239
+ min-width: 0;
7240
+ color: var(--hf-color-text);
7241
+ overflow-wrap: anywhere;
7242
+ }
7243
+ .hf-swipe-actions p,
7244
+ .hf-checklist-confirm p,
7245
+ .hf-checklist-confirm h3 {
7246
+ margin: 0;
7247
+ }
7248
+ .hf-swipe-actions__viewport {
7249
+ position: relative;
7250
+ overflow: hidden;
7251
+ border: 1px solid var(--hf-color-border);
7252
+ touch-action: pan-y;
7253
+ }
7254
+ .hf-swipe-actions__viewport:focus-visible {
7255
+ outline: 2px solid var(--hf-color-primary);
7256
+ outline-offset: 2px;
7257
+ }
7258
+ .hf-swipe-actions__content {
7259
+ position: relative;
7260
+ min-height: 112px;
7261
+ padding: 16px;
7262
+ background: var(--hf-color-surface);
7263
+ }
7264
+ .hf-swipe-actions__tools {
7265
+ position: absolute;
7266
+ inset: 0 0 0 auto;
7267
+ width: 144px;
7268
+ padding: 8px;
7269
+ box-sizing: border-box;
7270
+ display: flex;
7271
+ flex-direction: column;
7272
+ justify-content: center;
7273
+ gap: 8px;
7274
+ overflow-y: auto;
7275
+ }
7276
+ .hf-swipe-actions .hf-button {
7277
+ white-space: normal;
7278
+ overflow-wrap: anywhere;
7279
+ }
7280
+ .hf-checklist-confirm__items {
7281
+ display: grid;
7282
+ gap: 12px;
7283
+ }
7284
+ .hf-checklist-confirm .hf-choice-control {
7285
+ min-width: 0;
7286
+ align-items: start;
7287
+ }
7288
+ .hf-checklist-confirm .hf-choice-control > span:last-child {
7289
+ min-width: 0;
7290
+ }
7291
+ .hf-row-hint {
7292
+ color: var(--hf-color-text-muted);
7293
+ font-size: 13px;
7294
+ }
7295
+ .hf-row-error {
7296
+ padding: 8px 12px;
7297
+ border-inline-start: 3px solid currentColor;
7298
+ }
7299
+
7300
+ /* src/undo-patterns.css */
7301
+ .hf-undo-notice {
7302
+ display: flex;
7303
+ align-items: flex-start;
7304
+ gap: 20px;
7305
+ padding: 20px;
7306
+ border: 1px solid var(--hf-color-border);
7307
+ border-inline-start: 3px solid var(--hf-color-primary);
7308
+ border-radius: var(--hf-radius-panel);
7309
+ color: var(--hf-color-text);
7310
+ background: var(--hf-color-surface);
7311
+ }
7312
+ .hf-undo-notice__content {
7313
+ flex: 1;
7314
+ min-width: 0;
7315
+ overflow-wrap: anywhere;
7316
+ }
7317
+ .hf-undo-notice p {
7318
+ margin: 0;
7319
+ }
7320
+ .hf-undo-notice__message {
7321
+ font-weight: 600;
7322
+ line-height: 1.6;
7323
+ }
7324
+ .hf-undo-notice .hf-undo-notice__status,
7325
+ .hf-undo-notice .hf-undo-notice__deadline {
7326
+ margin-top: 6px;
7327
+ color: var(--hf-color-text-muted);
7328
+ font-size: 13px;
7329
+ line-height: 1.6;
7330
+ }
7331
+ .hf-undo-notice__deadline {
7332
+ font-variant-numeric: tabular-nums;
7333
+ }
7334
+ .hf-undo-notice .hf-undo-notice__error {
7335
+ margin-top: 10px;
7336
+ padding: 8px 12px;
7337
+ border-radius: var(--hf-radius-control);
7338
+ line-height: 1.6;
7339
+ }
7340
+ .hf-undo-notice > .hf-button {
7341
+ flex-shrink: 0;
7342
+ max-width: 45%;
7343
+ white-space: normal;
7344
+ overflow-wrap: anywhere;
7345
+ }
7346
+ .hf-undo-notice > .hf-button[aria-disabled=true] {
7347
+ opacity: .6;
7348
+ cursor: default;
7349
+ }
7350
+ @media (max-width: 480px) {
7351
+ .hf-undo-notice {
7352
+ flex-direction: column;
7353
+ gap: 12px;
7354
+ padding: 16px;
7355
+ }
7356
+ .hf-undo-notice > .hf-button {
7357
+ max-width: 100%;
7358
+ }
7359
+ }
7360
+
7361
+ /* src/reading-progress.css */
7362
+ .hf-reading-progress {
7363
+ width: 100%;
7364
+ min-width: 0;
7365
+ color: var(--hf-color-text);
7366
+ }
7367
+ .hf-reading-progress__caption {
7368
+ display: flex;
7369
+ justify-content: space-between;
7370
+ gap: 12px;
7371
+ margin-bottom: 8px;
7372
+ font-size: 12px;
7373
+ font-variant-numeric: tabular-nums;
7374
+ overflow-wrap: anywhere;
7375
+ }
7376
+ .hf-reading-progress__caption > :last-child {
7377
+ flex-shrink: 0;
7378
+ }
7379
+ .hf-reading-progress__track {
7380
+ height: 4px;
7381
+ overflow: hidden;
7382
+ background: var(--hf-color-border);
7383
+ }
7384
+ .hf-reading-progress__fill {
7385
+ display: block;
7386
+ height: 100%;
7387
+ background: var(--hf-color-primary);
7388
+ }
7389
+ @media (forced-colors: active) {
7390
+ .hf-reading-progress__track {
7391
+ border: 1px solid CanvasText;
7392
+ }
7393
+ .hf-reading-progress__fill {
7394
+ background: Highlight;
7395
+ forced-color-adjust: none;
7396
+ }
7397
+ }
7398
+
7399
+ /* src/content-loading.css */
7400
+ .hf-content-loading {
7401
+ display: grid;
7402
+ justify-items: center;
7403
+ gap: 8px;
7404
+ padding: 16px;
7405
+ color: var(--hf-color-text);
7406
+ }
7407
+ .hf-content-loading p {
7408
+ margin: 0;
7409
+ overflow-wrap: anywhere;
7410
+ }
7411
+ .hf-infinite-scroll,
7412
+ .hf-lazy-load {
7413
+ min-width: 0;
7414
+ }
7415
+ .hf-infinite-scroll__sentinel {
7416
+ height: 1px;
7417
+ }
7418
+ .hf-lazy-load {
7419
+ display: grid;
7420
+ align-content: start;
7421
+ gap: 12px;
7422
+ }
7423
+
7424
+ /* src/optimistic-update.css */
7425
+ .hf-optimistic-update {
7426
+ min-width: 0;
7427
+ color: var(--hf-color-text);
7428
+ }
7429
+ .hf-optimistic-update__status,
7430
+ .hf-optimistic-update__error {
7431
+ margin: 8px 0 0;
7432
+ font-size: 13px;
7433
+ overflow-wrap: anywhere;
7434
+ }
7435
+ .hf-optimistic-update__status {
7436
+ min-height: 1.5em;
7437
+ color: var(--hf-color-text-muted);
7438
+ }
6255
7439
  /*# sourceMappingURL=index.css.map */