tiptap-markdown-react 0.17.1 → 0.18.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.
@@ -1369,7 +1369,7 @@ table.tmr-pending-anchor {
1369
1369
  color: #22863a;
1370
1370
  }
1371
1371
  /* 顶部操作栏:横跨宽度、内容居中、细线灰图标。配色映射到可覆盖的 --tmr-* 变量。 */
1372
- ._toolbar_1f7fb_2 {
1372
+ ._toolbar_6osph_2 {
1373
1373
  --sb-accent: var(--tmr-accent, #ff6719);
1374
1374
  --sb-text: var(--tmr-text, #363737);
1375
1375
  --sb-muted: var(--tmr-toolbar-muted, #6b6b6b);
@@ -1382,19 +1382,25 @@ table.tmr-pending-anchor {
1382
1382
  z-index: 8;
1383
1383
  }
1384
1384
 
1385
- ._inner_1f7fb_15 {
1385
+ ._inner_6osph_15 {
1386
1386
  display: flex;
1387
1387
  align-items: center;
1388
1388
  justify-content: safe center;
1389
- flex-wrap: nowrap;
1390
- gap: 2px;
1389
+ /* 控件排满一行后换行而不是横向滚:`nowrap` + `overflow-x: auto` 会把行尾的控件
1390
+ 推到可视区外(宿主接上 onSearch 后就轮到了搜索入口),而工具栏横向滚动几乎没人会做。
1391
+ 宽容器里仍然只有一行,换行只在装不下时发生。 */
1392
+ flex-wrap: wrap;
1393
+ /* 横向不留间距:每个按钮自带 8px 内边距、分隔线自带 8px 外边距,视觉间距已经够了,
1394
+ 这 2px×二十来个控件是行内最后那点余量——省下来整行才装得下(列间距 0,换行后才留纵向
1395
+ 间距,免得两行贴在一起)。 */
1396
+ gap: 4px 0;
1391
1397
  max-width: 1100px;
1392
1398
  margin: 0 auto;
1393
1399
  padding: 8px 16px;
1394
1400
  overflow-x: auto;
1395
1401
  }
1396
1402
 
1397
- ._btn_1f7fb_27 {
1403
+ ._btn_6osph_33 {
1398
1404
  display: inline-flex;
1399
1405
  align-items: center;
1400
1406
  justify-content: center;
@@ -1412,88 +1418,28 @@ table.tmr-pending-anchor {
1412
1418
  transition: background 0.15s, color 0.15s;
1413
1419
  }
1414
1420
 
1415
- ._btn_1f7fb_27:hover:not(:disabled) {
1421
+ ._btn_6osph_33:hover:not(:disabled) {
1416
1422
  background: #f3f3f3;
1417
1423
  color: var(--sb-text);
1418
1424
  }
1419
1425
 
1420
- ._btnActive_1f7fb_50 {
1426
+ ._btnActive_6osph_56 {
1421
1427
  color: var(--sb-accent);
1422
1428
  background: #fff3ec;
1423
1429
  }
1424
1430
 
1425
- ._btnActive_1f7fb_50:hover {
1431
+ ._btnActive_6osph_56:hover {
1426
1432
  color: var(--sb-accent);
1427
1433
  background: #ffe8da;
1428
1434
  }
1429
1435
 
1430
- ._btn_1f7fb_27:disabled {
1436
+ ._btn_6osph_33:disabled {
1431
1437
  opacity: 0.3;
1432
1438
  cursor: not-allowed;
1433
1439
  }
1434
1440
 
1435
- /* 表内右键菜单(portal 到 body,拿不到 .toolbar 变量,故写死配色) */
1436
- ._tableBubble_1f7fb_66 {
1437
- display: flex;
1438
- flex-direction: column;
1439
- min-width: 220px;
1440
- padding: 6px;
1441
- background: #fff;
1442
- border: 1px solid #ececec;
1443
- border-radius: 10px;
1444
- box-shadow: 0 6px 24px rgb(0 0 0 / 14%);
1445
- }
1446
-
1447
- ._tableMenuItem_1f7fb_77 {
1448
- display: flex;
1449
- align-items: center;
1450
- gap: 10px;
1451
- width: 100%;
1452
- padding: 7px 10px;
1453
- border: none;
1454
- border-radius: 6px;
1455
- background: transparent;
1456
- color: #363737;
1457
- font-size: 14px;
1458
- line-height: 1.3;
1459
- text-align: left;
1460
- cursor: pointer;
1461
- user-select: none;
1462
- }
1463
-
1464
- ._tableMenuItem_1f7fb_77:hover:not(:disabled) {
1465
- background: #f3f3f3;
1466
- }
1467
-
1468
- ._tableMenuItem_1f7fb_77:disabled {
1469
- opacity: 0.35;
1470
- cursor: not-allowed;
1471
- }
1472
-
1473
- ._tableMenuItemIcon_1f7fb_103 {
1474
- display: inline-flex;
1475
- align-items: center;
1476
- justify-content: center;
1477
- flex: none;
1478
- width: 20px;
1479
- height: 20px;
1480
- color: #6b6b6b;
1481
- }
1482
-
1483
- ._tableMenuItemLabel_1f7fb_113 {
1484
- flex: 1;
1485
- min-width: 0;
1486
- }
1487
-
1488
- ._tableMenuDivider_1f7fb_118 {
1489
- height: 1px;
1490
- margin: 4px 8px;
1491
- background: #ececec;
1492
- flex-shrink: 0;
1493
- }
1494
-
1495
1441
  /* 文字型图标(引用等) */
1496
- ._txtIcon_1f7fb_126 {
1442
+ ._txtIcon_6osph_72 {
1497
1443
  font-family: 'SF Pro Display', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
1498
1444
  font-size: 16px;
1499
1445
  font-weight: 600;
@@ -1501,7 +1447,7 @@ table.tmr-pending-anchor {
1501
1447
  }
1502
1448
 
1503
1449
  /* 文字颜色 / 高亮图标:字母 + 底部当前色条 */
1504
- ._colorIcon_1f7fb_134 {
1450
+ ._colorIcon_6osph_80 {
1505
1451
  display: inline-flex;
1506
1452
  flex-direction: column;
1507
1453
  align-items: center;
@@ -1509,20 +1455,20 @@ table.tmr-pending-anchor {
1509
1455
  line-height: 1;
1510
1456
  }
1511
1457
 
1512
- ._colorIconGlyph_1f7fb_142 {
1458
+ ._colorIconGlyph_6osph_88 {
1513
1459
  font-family: 'SF Pro Display', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
1514
1460
  font-size: 15px;
1515
1461
  font-weight: 600;
1516
1462
  }
1517
1463
 
1518
- ._colorIconBar_1f7fb_148 {
1464
+ ._colorIconBar_6osph_94 {
1519
1465
  width: 16px;
1520
1466
  height: 3px;
1521
1467
  border-radius: 1.5px;
1522
1468
  }
1523
1469
 
1524
1470
  /* A▾ 上标/下标下拉触发器 */
1525
- ._scriptTrigger_1f7fb_155 {
1471
+ ._scriptTrigger_6osph_101 {
1526
1472
  display: inline-flex;
1527
1473
  align-items: center;
1528
1474
  gap: 3px;
@@ -1537,12 +1483,12 @@ table.tmr-pending-anchor {
1537
1483
  transition: background 0.15s, color 0.15s;
1538
1484
  }
1539
1485
 
1540
- ._scriptTrigger_1f7fb_155:hover {
1486
+ ._scriptTrigger_6osph_101:hover {
1541
1487
  background: #f3f3f3;
1542
1488
  color: var(--sb-text);
1543
1489
  }
1544
1490
 
1545
- ._scriptTriggerGlyph_1f7fb_175 {
1491
+ ._scriptTriggerGlyph_6osph_121 {
1546
1492
  font-family: 'SF Pro Display', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
1547
1493
  font-size: 16px;
1548
1494
  font-weight: 600;
@@ -1550,7 +1496,7 @@ table.tmr-pending-anchor {
1550
1496
  text-underline-offset: 2px;
1551
1497
  }
1552
1498
 
1553
- ._divider_1f7fb_183 {
1499
+ ._divider_6osph_129 {
1554
1500
  width: 1px;
1555
1501
  height: 20px;
1556
1502
  margin: 0 8px;
@@ -1559,7 +1505,7 @@ table.tmr-pending-anchor {
1559
1505
  }
1560
1506
 
1561
1507
  /* ── Style / Size / More 下拉触发器 ── */
1562
- ._styleTrigger_1f7fb_192 {
1508
+ ._styleTrigger_6osph_138 {
1563
1509
  display: inline-flex;
1564
1510
  align-items: center;
1565
1511
  justify-content: space-between;
@@ -1579,16 +1525,16 @@ table.tmr-pending-anchor {
1579
1525
  transition: background 0.15s;
1580
1526
  }
1581
1527
 
1582
- ._styleTrigger_1f7fb_192:hover:not(:disabled) {
1528
+ ._styleTrigger_6osph_138:hover:not(:disabled) {
1583
1529
  background: #f3f3f3;
1584
1530
  }
1585
1531
 
1586
- ._styleTrigger_1f7fb_192:disabled {
1532
+ ._styleTrigger_6osph_138:disabled {
1587
1533
  opacity: 0.3;
1588
1534
  cursor: not-allowed;
1589
1535
  }
1590
1536
 
1591
- ._styleTriggerLabel_1f7fb_221 {
1537
+ ._styleTriggerLabel_6osph_167 {
1592
1538
  flex: 1;
1593
1539
  text-align: left;
1594
1540
  overflow: hidden;
@@ -1596,19 +1542,19 @@ table.tmr-pending-anchor {
1596
1542
  text-overflow: ellipsis;
1597
1543
  }
1598
1544
 
1599
- ._styleTriggerCaret_1f7fb_229 {
1545
+ ._styleTriggerCaret_6osph_175 {
1600
1546
  color: var(--sb-muted);
1601
1547
  flex: none;
1602
1548
  }
1603
1549
 
1604
1550
  /* 下拉项:图标 + 文字 */
1605
- ._styleItem_1f7fb_235 {
1551
+ ._styleItem_6osph_181 {
1606
1552
  display: inline-flex;
1607
1553
  align-items: center;
1608
1554
  gap: 12px;
1609
1555
  }
1610
1556
 
1611
- ._styleIcon_1f7fb_241 {
1557
+ ._styleIcon_6osph_187 {
1612
1558
  display: inline-flex;
1613
1559
  justify-content: center;
1614
1560
  align-items: center;
@@ -1618,19 +1564,19 @@ table.tmr-pending-anchor {
1618
1564
  }
1619
1565
 
1620
1566
  /* 上标 / 下标图标 */
1621
- ._scriptGlyph_1f7fb_251 {
1567
+ ._scriptGlyph_6osph_197 {
1622
1568
  display: inline-block;
1623
1569
  text-align: center;
1624
1570
  font-family: 'SF Pro Display', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
1625
1571
  }
1626
1572
 
1627
- ._scriptGlyph_1f7fb_251 sup,
1628
- ._scriptGlyph_1f7fb_251 sub {
1573
+ ._scriptGlyph_6osph_197 sup,
1574
+ ._scriptGlyph_6osph_197 sub {
1629
1575
  font-size: 0.7em;
1630
1576
  }
1631
1577
 
1632
1578
  /* ── Radix 下拉菜单面板(替代 antd .ant-dropdown-menu) ── */
1633
- ._menu_1f7fb_263 {
1579
+ ._menu_6osph_209 {
1634
1580
  min-width: 200px;
1635
1581
  padding: 6px;
1636
1582
  background: #fff;
@@ -1641,7 +1587,7 @@ table.tmr-pending-anchor {
1641
1587
  z-index: 1000;
1642
1588
  }
1643
1589
 
1644
- ._menuItem_1f7fb_274 {
1590
+ ._menuItem_6osph_220 {
1645
1591
  display: flex;
1646
1592
  align-items: center;
1647
1593
  width: 100%;
@@ -1658,30 +1604,30 @@ table.tmr-pending-anchor {
1658
1604
  gap: 8px;
1659
1605
  }
1660
1606
 
1661
- ._menuItem_1f7fb_274:hover:not(:disabled) {
1607
+ ._menuItem_6osph_220:hover:not(:disabled) {
1662
1608
  background: #f3f3f3;
1663
1609
  }
1664
1610
 
1665
- ._menuItem_1f7fb_274:disabled {
1611
+ ._menuItem_6osph_220:disabled {
1666
1612
  opacity: 0.35;
1667
1613
  cursor: not-allowed;
1668
1614
  }
1669
1615
 
1670
1616
  /* 选中态:品牌色高亮 */
1671
- ._menuItemSelected_1f7fb_301 {
1617
+ ._menuItemSelected_6osph_247 {
1672
1618
  background: #fff3ec;
1673
1619
  color: var(--sb-accent);
1674
1620
  }
1675
1621
 
1676
- ._menuItemSelected_1f7fb_301 ._styleIcon_1f7fb_241 {
1622
+ ._menuItemSelected_6osph_247 ._styleIcon_6osph_187 {
1677
1623
  color: var(--sb-accent);
1678
1624
  }
1679
1625
 
1680
- ._menuItemSelected_1f7fb_301:hover:not(:disabled) {
1626
+ ._menuItemSelected_6osph_247:hover:not(:disabled) {
1681
1627
  background: #ffe8da;
1682
1628
  }
1683
1629
 
1684
- ._tableInsertCaret_1f7fb_314 {
1630
+ ._tableInsertCaret_6osph_260 {
1685
1631
  margin-left: auto;
1686
1632
  color: var(--sb-muted);
1687
1633
  transform: rotate(-90deg);
@@ -1689,7 +1635,7 @@ table.tmr-pending-anchor {
1689
1635
  }
1690
1636
 
1691
1637
  /* 插入表格:行列网格选择器 */
1692
- ._tableSizePicker_1f7fb_322 {
1638
+ ._tableSizePicker_6osph_268 {
1693
1639
  padding: 10px;
1694
1640
  background: #fff;
1695
1641
  border-radius: 10px;
@@ -1699,12 +1645,12 @@ table.tmr-pending-anchor {
1699
1645
  z-index: 1001;
1700
1646
  }
1701
1647
 
1702
- ._tableSizeGrid_1f7fb_332 {
1648
+ ._tableSizeGrid_6osph_278 {
1703
1649
  display: grid;
1704
1650
  gap: 3px;
1705
1651
  }
1706
1652
 
1707
- ._tableSizeCell_1f7fb_337 {
1653
+ ._tableSizeCell_6osph_283 {
1708
1654
  width: 16px;
1709
1655
  height: 16px;
1710
1656
  padding: 0;
@@ -1714,12 +1660,12 @@ table.tmr-pending-anchor {
1714
1660
  cursor: pointer;
1715
1661
  }
1716
1662
 
1717
- ._tableSizeCellActive_1f7fb_347 {
1663
+ ._tableSizeCellActive_6osph_293 {
1718
1664
  border-color: var(--tmr-accent, #ff6719);
1719
1665
  background: #fff3ec;
1720
1666
  }
1721
1667
 
1722
- ._tableSizeLabel_1f7fb_352 {
1668
+ ._tableSizeLabel_6osph_298 {
1723
1669
  margin-top: 8px;
1724
1670
  text-align: center;
1725
1671
  font-size: 12px;
@@ -1728,28 +1674,28 @@ table.tmr-pending-anchor {
1728
1674
  }
1729
1675
 
1730
1676
  /* Radix Popover 内容(承载 ColorPalette),面板自带阴影,这里只兜底 z-index */
1731
- ._popoverContent_1f7fb_361 {
1677
+ ._popoverContent_6osph_307 {
1732
1678
  z-index: 1000;
1733
1679
  }
1734
1680
 
1735
- ._mathLayer_1f7fb_365 {
1681
+ ._mathLayer_6osph_311 {
1736
1682
  position: absolute;
1737
1683
  z-index: 6;
1738
1684
  }
1739
1685
 
1740
- ._mathStack_1f7fb_370 {
1686
+ ._mathStack_6osph_316 {
1741
1687
  display: flex;
1742
1688
  flex-direction: column;
1743
1689
  align-items: flex-start;
1744
1690
  gap: 8px;
1745
1691
  }
1746
1692
 
1747
- ._mathStackBlock_1f7fb_377 {
1693
+ ._mathStackBlock_6osph_323 {
1748
1694
  align-items: stretch;
1749
1695
  width: 100%;
1750
1696
  }
1751
1697
 
1752
- ._mathHint_1f7fb_382 {
1698
+ ._mathHint_6osph_328 {
1753
1699
  display: inline-flex;
1754
1700
  align-items: center;
1755
1701
  gap: 6px;
@@ -1761,19 +1707,19 @@ table.tmr-pending-anchor {
1761
1707
  line-height: 1.4;
1762
1708
  }
1763
1709
 
1764
- ._mathHintBlock_1f7fb_394 {
1710
+ ._mathHintBlock_6osph_340 {
1765
1711
  width: 100%;
1766
1712
  padding: 10px 14px;
1767
1713
  border-radius: 8px;
1768
1714
  }
1769
1715
 
1770
- ._mathHintIcon_1f7fb_400 {
1716
+ ._mathHintIcon_6osph_346 {
1771
1717
  font-family: ui-serif, Georgia, 'Times New Roman', serif;
1772
1718
  font-size: 12px;
1773
1719
  opacity: 0.85;
1774
1720
  }
1775
1721
 
1776
- ._mathPreviewInline_1f7fb_406 {
1722
+ ._mathPreviewInline_6osph_352 {
1777
1723
  display: inline-flex;
1778
1724
  max-width: min(440px, calc(100vw - 24px));
1779
1725
  padding: 4px 10px;
@@ -1783,7 +1729,7 @@ table.tmr-pending-anchor {
1783
1729
  color: var(--tmr-text, #363737);
1784
1730
  }
1785
1731
 
1786
- ._mathPreviewBlock_1f7fb_416 {
1732
+ ._mathPreviewBlock_6osph_362 {
1787
1733
  width: 100%;
1788
1734
  min-height: 48px;
1789
1735
  padding: 14px 16px;
@@ -1794,11 +1740,11 @@ table.tmr-pending-anchor {
1794
1740
  color: var(--tmr-text, #363737);
1795
1741
  }
1796
1742
 
1797
- ._mathPreviewBlock_1f7fb_416 .katex-display {
1743
+ ._mathPreviewBlock_6osph_362 .katex-display {
1798
1744
  margin: 0;
1799
1745
  }
1800
1746
 
1801
- ._mathField_1f7fb_431 {
1747
+ ._mathField_6osph_377 {
1802
1748
  display: flex;
1803
1749
  align-items: center;
1804
1750
  gap: 8px;
@@ -1810,14 +1756,14 @@ table.tmr-pending-anchor {
1810
1756
  box-shadow: 0 4px 16px rgb(0 0 0 / 12%);
1811
1757
  }
1812
1758
 
1813
- ._mathFieldBlock_1f7fb_443 {
1759
+ ._mathFieldBlock_6osph_389 {
1814
1760
  align-items: flex-start;
1815
1761
  width: 100%;
1816
1762
  border-radius: 12px;
1817
1763
  padding: 10px 10px 10px 14px;
1818
1764
  }
1819
1765
 
1820
- ._mathInput_1f7fb_450 {
1766
+ ._mathInput_6osph_396 {
1821
1767
  flex: 1;
1822
1768
  min-width: 0;
1823
1769
  margin: 0;
@@ -1831,11 +1777,11 @@ table.tmr-pending-anchor {
1831
1777
  resize: none;
1832
1778
  }
1833
1779
 
1834
- ._mathInput_1f7fb_450:focus {
1780
+ ._mathInput_6osph_396:focus {
1835
1781
  outline: none;
1836
1782
  }
1837
1783
 
1838
- ._mathDone_1f7fb_468 {
1784
+ ._mathDone_6osph_414 {
1839
1785
  display: inline-flex;
1840
1786
  align-items: center;
1841
1787
  gap: 4px;
@@ -1851,16 +1797,16 @@ table.tmr-pending-anchor {
1851
1797
  cursor: pointer;
1852
1798
  }
1853
1799
 
1854
- ._mathDone_1f7fb_468:hover:not(:disabled) {
1800
+ ._mathDone_6osph_414:hover:not(:disabled) {
1855
1801
  filter: brightness(0.95);
1856
1802
  }
1857
1803
 
1858
- ._mathDone_1f7fb_468:disabled {
1804
+ ._mathDone_6osph_414:disabled {
1859
1805
  opacity: 0.35;
1860
1806
  cursor: not-allowed;
1861
1807
  }
1862
1808
 
1863
- ._mathDoneKbd_1f7fb_493 {
1809
+ ._mathDoneKbd_6osph_439 {
1864
1810
  font-size: 11px;
1865
1811
  font-weight: 500;
1866
1812
  opacity: 0.85;
@@ -1952,6 +1898,281 @@ table.tmr-pending-anchor {
1952
1898
  display: flex;
1953
1899
  gap: 6px;
1954
1900
  }
1901
+ /* 链接编辑浮层。配色走 --tmr-* 变量(与工具栏 / 查找条同一套),宿主可覆盖。
1902
+
1903
+ 给宿主的稳定选择器(内部 class 是 CSS Modules 哈希过的):根节点 [data-link-popover]、
1904
+ 输入框 [data-link-field]、按钮 [data-link-action="apply|open|remove"];
1905
+ 地址被编辑器判为非法时输入框带 [data-link-invalid]。 */
1906
+
1907
+ ._panel_qysb1_7 {
1908
+ --lp-text: var(--tmr-text, #363737);
1909
+ --lp-muted: var(--tmr-toolbar-muted, #6b6b6b);
1910
+ --lp-border: var(--tmr-toolbar-border, #ececec);
1911
+ --lp-accent: var(--tmr-accent, #ff6719);
1912
+
1913
+ display: flex;
1914
+ align-items: center;
1915
+ gap: 4px;
1916
+ padding: 6px;
1917
+ box-sizing: border-box;
1918
+ background: #fff;
1919
+ border: 1px solid var(--lp-border);
1920
+ border-radius: 10px;
1921
+ box-shadow: 0 6px 24px rgb(0 0 0 / 14%);
1922
+ color: var(--lp-text);
1923
+ font: inherit;
1924
+ font-size: 14px;
1925
+ line-height: 1.3;
1926
+ }
1927
+
1928
+ /* 输入框:与查找条的 .field 同一套尺寸(30px 高、6px 圆角),两个浮层看起来是一家 */
1929
+ ._field_qysb1_28 {
1930
+ display: inline-flex;
1931
+ align-items: center;
1932
+ flex: none;
1933
+ width: 216px;
1934
+ height: 30px;
1935
+ padding: 0 8px;
1936
+ box-sizing: border-box;
1937
+ border: 1px solid var(--lp-border);
1938
+ border-radius: 6px;
1939
+ background: #fff;
1940
+ }
1941
+
1942
+ ._field_qysb1_28:focus-within {
1943
+ border-color: var(--lp-accent);
1944
+ }
1945
+
1946
+ /* 地址被 setLink 的 isAllowedUri 拒了:边框转成危险色,title 里给一句解释 */
1947
+ ._fieldInvalid_qysb1_47,
1948
+ ._fieldInvalid_qysb1_47:focus-within {
1949
+ border-color: var(--tmr-danger, #d4380d);
1950
+ }
1951
+
1952
+ ._input_qysb1_52 {
1953
+ width: 100%;
1954
+ min-width: 0;
1955
+ border: none;
1956
+ outline: none;
1957
+ background: transparent;
1958
+ color: inherit;
1959
+ font: inherit;
1960
+ }
1961
+
1962
+ /* 应用与其他两个动作之间的一道细线:前者是「落盘」,后者是「对已有链接动手」 */
1963
+ ._divider_qysb1_63 {
1964
+ flex: none;
1965
+ width: 1px;
1966
+ height: 20px;
1967
+ margin: 0 2px;
1968
+ background: var(--lp-border);
1969
+ }
1970
+
1971
+ ._btn_qysb1_71 {
1972
+ display: inline-flex;
1973
+ align-items: center;
1974
+ justify-content: center;
1975
+ flex: none;
1976
+ height: 30px;
1977
+ min-width: 30px;
1978
+ padding: 0 6px;
1979
+ border: none;
1980
+ border-radius: 6px;
1981
+ background: transparent;
1982
+ color: var(--lp-muted);
1983
+ font: inherit;
1984
+ cursor: pointer;
1985
+ transition: background 0.15s, color 0.15s;
1986
+ }
1987
+
1988
+ ._btn_qysb1_71:hover:not(:disabled) {
1989
+ background: #f3f3f3;
1990
+ color: var(--lp-text);
1991
+ }
1992
+
1993
+ ._btn_qysb1_71:disabled {
1994
+ opacity: 0.3;
1995
+ cursor: not-allowed;
1996
+ }
1997
+
1998
+ /* 应用是这一层的主动作,单独给强调色(其余两个是次要动作) */
1999
+ ._apply_qysb1_99 {
2000
+ color: var(--lp-accent);
2001
+ }
2002
+ /* 表格悬停手柄(Notion 式)+ 它的操作菜单。配色走 --tmr-* 变量,宿主可覆盖。
2003
+
2004
+ 给宿主的稳定选择器(内部 class 是 CSS Modules 哈希过的):行手柄 [data-table-handle="row"]、
2005
+ 列手柄 [data-table-handle="col"]、菜单根 [data-table-menu]。 */
2006
+
2007
+ /* ── 手柄 ──────────────────────────────────────────────────────────────
2008
+ 固定定位(视口坐标):手柄要贴在单元格的行/列边缘,而它渲染在 body 上的 portal 里,
2009
+ 没法用绝对定位跟着表格走。滚动 / 缩放时由组件收起,等下一次移动重新贴。 */
2010
+ ._handle_cco3n_9 {
2011
+ position: fixed;
2012
+ z-index: 8;
2013
+ display: inline-flex;
2014
+ align-items: center;
2015
+ justify-content: center;
2016
+ padding: 0;
2017
+ box-sizing: border-box;
2018
+ border: 1px solid var(--tmr-table-handle-border, #e8e8ea);
2019
+ background: var(--tmr-table-handle-bg, #f1f1f3);
2020
+ color: var(--tmr-table-handle-fg, #7a7a7a);
2021
+ font-family: inherit;
2022
+ line-height: 1;
2023
+ cursor: pointer;
2024
+ user-select: none;
2025
+ transition: background 0.12s, color 0.12s, border-color 0.12s;
2026
+ }
2027
+
2028
+ /* 命中区补桥(行):胶囊本体离表格留了 8px 视觉留白,那 8px 加一块看不见的命中区,
2029
+ 让「单元格 → 手柄」这段路上没有既非单元格也非手柄的空隙——否则指针走到一半手柄就收了。
2030
+ 伪元素也算宿主按钮的一部分,点它命中的是按钮本身。 */
2031
+ ._handleRow_cco3n_30::after {
2032
+ content: '';
2033
+ position: absolute;
2034
+ top: 0;
2035
+ bottom: 0;
2036
+ left: 100%;
2037
+ width: 8px;
2038
+ }
2039
+
2040
+ /* 命中区补桥(列):同上,补在胶囊下方到表格上缘的 6px。 */
2041
+ ._handleCol_cco3n_40::after {
2042
+ content: '';
2043
+ position: absolute;
2044
+ left: 0;
2045
+ right: 0;
2046
+ top: 100%;
2047
+ height: 6px;
2048
+ }
2049
+
2050
+ /* 行手柄:贴在行左缘的竖胶囊。长度(height)由组件按行高给,这里只定粗细。 */
2051
+ ._handleRow_cco3n_30 {
2052
+ width: 18px;
2053
+ border-radius: 999px;
2054
+ font-size: 14px;
2055
+ }
2056
+
2057
+ /* 列手柄:贴在表格上方的横胶囊。长度(width)由组件按列宽给,这里只定高度。 */
2058
+ ._handleCol_cco3n_40 {
2059
+ height: 16px;
2060
+ border-radius: 999px;
2061
+ font-size: 13px;
2062
+ }
2063
+
2064
+ ._handle_cco3n_9:hover {
2065
+ background: var(--tmr-accent, #ff6719);
2066
+ border-color: transparent;
2067
+ color: #fff;
2068
+ }
2069
+
2070
+ /* 末尾追加行列的 `+` 手柄:贴在表格右缘 / 下缘,长度跟着表格尺寸走(见组件里的 style)。 */
2071
+ ._extend_cco3n_70 {
2072
+ position: fixed;
2073
+ z-index: 8;
2074
+ display: inline-flex;
2075
+ align-items: center;
2076
+ justify-content: center;
2077
+ padding: 0;
2078
+ box-sizing: border-box;
2079
+ border: 1px solid var(--tmr-table-handle-border, #e8e8ea);
2080
+ background: var(--tmr-table-handle-bg, #f1f1f3);
2081
+ color: var(--tmr-table-handle-fg, #7a7a7a);
2082
+ font-family: inherit;
2083
+ font-size: 14px;
2084
+ line-height: 1;
2085
+ cursor: pointer;
2086
+ user-select: none;
2087
+ transition: background 0.12s, color 0.12s, border-color 0.12s;
2088
+ }
2089
+
2090
+ ._extend_cco3n_70:hover {
2091
+ background: var(--tmr-accent, #ff6719);
2092
+ border-color: transparent;
2093
+ color: #fff;
2094
+ }
2095
+
2096
+ /* 命中区补桥:把命中区接到表格边缘(与行 / 列手柄同理,免得指针走过去时掉空档) */
2097
+ ._extend_cco3n_70[data-table-extend='col']::after {
2098
+ content: '';
2099
+ position: absolute;
2100
+ top: 0;
2101
+ bottom: 0;
2102
+ right: 100%;
2103
+ width: 6px;
2104
+ }
2105
+
2106
+ ._extend_cco3n_70[data-table-extend='row']::after {
2107
+ content: '';
2108
+ position: absolute;
2109
+ left: 0;
2110
+ right: 0;
2111
+ bottom: 100%;
2112
+ height: 6px;
2113
+ }
2114
+
2115
+ /* ── 操作菜单(portal 到 body,拿不到 .toolbar 变量,故写死配色) ── */
2116
+ ._tableBubble_cco3n_115 {
2117
+ position: fixed;
2118
+ z-index: 12;
2119
+ display: flex;
2120
+ flex-direction: column;
2121
+ min-width: 220px;
2122
+ padding: 6px;
2123
+ background: #fff;
2124
+ border: 1px solid #ececec;
2125
+ border-radius: 10px;
2126
+ box-shadow: 0 6px 24px rgb(0 0 0 / 14%);
2127
+ }
2128
+
2129
+ ._tableMenuItem_cco3n_128 {
2130
+ display: flex;
2131
+ align-items: center;
2132
+ gap: 10px;
2133
+ width: 100%;
2134
+ padding: 7px 10px;
2135
+ border: none;
2136
+ border-radius: 6px;
2137
+ background: transparent;
2138
+ color: #363737;
2139
+ font-size: 14px;
2140
+ line-height: 1.3;
2141
+ text-align: left;
2142
+ cursor: pointer;
2143
+ user-select: none;
2144
+ }
2145
+
2146
+ ._tableMenuItem_cco3n_128:hover:not(:disabled) {
2147
+ background: #f3f3f3;
2148
+ }
2149
+
2150
+ ._tableMenuItem_cco3n_128:disabled {
2151
+ opacity: 0.35;
2152
+ cursor: not-allowed;
2153
+ }
2154
+
2155
+ ._tableMenuItemIcon_cco3n_154 {
2156
+ display: inline-flex;
2157
+ align-items: center;
2158
+ justify-content: center;
2159
+ flex: none;
2160
+ width: 20px;
2161
+ height: 20px;
2162
+ color: #6b6b6b;
2163
+ }
2164
+
2165
+ ._tableMenuItemLabel_cco3n_164 {
2166
+ flex: 1;
2167
+ min-width: 0;
2168
+ }
2169
+
2170
+ ._tableMenuDivider_cco3n_169 {
2171
+ height: 1px;
2172
+ margin: 4px 8px;
2173
+ background: #ececec;
2174
+ flex-shrink: 0;
2175
+ }
1955
2176
  /* 目录面板(阅读页 + 编辑页共用)。accent / 圆角 8px / 文字比正文小一档。 */
1956
2177
 
1957
2178
  ._desktop_euqdt_3 {