superdoc 2.23.0-next.2 → 2.23.0-next.4

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.
@@ -1421,18 +1421,18 @@ img[data-v-c95b2073] {
1421
1421
  height: 16px;
1422
1422
  }
1423
1423
 
1424
- .comment-entry[data-v-87953125] {
1424
+ .comment-entry[data-v-0720a671] {
1425
1425
  box-sizing: border-box;
1426
1426
  border-radius: 8px;
1427
1427
  width: 100%;
1428
1428
  max-width: 100%;
1429
1429
  transition: all 250ms ease;
1430
1430
  }
1431
- .comment-composer[data-v-87953125] {
1431
+ .comment-composer[data-v-0720a671] {
1432
1432
  position: relative;
1433
1433
  min-width: 0;
1434
1434
  }
1435
- .superdoc-field[data-v-87953125] {
1435
+ .superdoc-field[data-v-0720a671] {
1436
1436
  display: block;
1437
1437
  box-sizing: border-box;
1438
1438
  width: 100%;
@@ -1449,12 +1449,12 @@ img[data-v-c95b2073] {
1449
1449
  line-height: 1.4;
1450
1450
  overflow-y: hidden;
1451
1451
  }
1452
- .superdoc-field[data-v-87953125]:focus {
1452
+ .superdoc-field[data-v-0720a671]:focus {
1453
1453
  outline: none;
1454
1454
  border-color: #4f7cff;
1455
1455
  box-shadow: 0 0 0 2px rgba(79, 124, 255, 0.16);
1456
1456
  }
1457
- .comment-mention-list[data-v-87953125] {
1457
+ .comment-mention-list[data-v-0720a671] {
1458
1458
  position: absolute;
1459
1459
  z-index: 100;
1460
1460
  top: calc(100% + 4px);
@@ -1468,7 +1468,7 @@ img[data-v-c95b2073] {
1468
1468
  background: #fff;
1469
1469
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
1470
1470
  }
1471
- .comment-mention-option[data-v-87953125] {
1471
+ .comment-mention-option[data-v-0720a671] {
1472
1472
  display: flex;
1473
1473
  flex-direction: column;
1474
1474
  width: 100%;
@@ -1480,20 +1480,20 @@ img[data-v-c95b2073] {
1480
1480
  text-align: left;
1481
1481
  cursor: pointer;
1482
1482
  }
1483
- .comment-mention-option--active[data-v-87953125],
1484
- .comment-mention-option[data-v-87953125]:hover {
1483
+ .comment-mention-option--active[data-v-0720a671],
1484
+ .comment-mention-option[data-v-0720a671]:hover {
1485
1485
  background: #eef3ff;
1486
1486
  }
1487
- .comment-mention-option__name[data-v-87953125] {
1487
+ .comment-mention-option__name[data-v-0720a671] {
1488
1488
  font-size: 13px;
1489
1489
  font-weight: 600;
1490
1490
  }
1491
- .comment-mention-option__email[data-v-87953125] {
1491
+ .comment-mention-option__email[data-v-0720a671] {
1492
1492
  color: #666;
1493
1493
  font-size: 11px;
1494
1494
  }
1495
1495
 
1496
- .comments-dialog[data-v-21ad0f69] {
1496
+ .comments-dialog[data-v-dcbcc0d4] {
1497
1497
  display: flex;
1498
1498
  flex-direction: column;
1499
1499
  padding: var(--sd-ui-comments-card-padding, 16px);
@@ -1512,74 +1512,75 @@ img[data-v-c95b2073] {
1512
1512
  overflow-wrap: break-word;
1513
1513
  word-break: break-word;
1514
1514
  }
1515
- .comments-dialog[data-v-21ad0f69]:not(.is-active) {
1515
+ .comments-dialog[data-v-dcbcc0d4]:not(.is-active) {
1516
1516
  cursor: pointer;
1517
1517
  }
1518
- .comments-dialog[data-v-21ad0f69]:not(.is-active):not(.is-resolved):hover {
1518
+ .comments-dialog[data-v-dcbcc0d4]:not(.is-active):not(.is-resolved):hover {
1519
1519
  background-color: var(--sd-ui-comments-card-hover-bg, #f3f6fd);
1520
1520
  }
1521
- .comments-dialog[data-v-21ad0f69]:not(.is-resolved):hover .overflow-menu {
1521
+ .comments-dialog[data-v-dcbcc0d4]:not(.is-resolved):hover .overflow-menu {
1522
1522
  opacity: 1;
1523
1523
  pointer-events: auto;
1524
1524
  }
1525
- .comments-dialog.is-active[data-v-21ad0f69] {
1525
+ .comments-dialog.is-active[data-v-dcbcc0d4] {
1526
1526
  background-color: var(--sd-ui-comments-card-active-bg, #ffffff);
1527
1527
  border-color: var(--sd-ui-comments-card-active-border, #e0e0e0);
1528
1528
  box-shadow: var(--sd-ui-comments-card-shadow, 0px 4px 12px 0px rgba(50, 50, 50, 0.15));
1529
1529
  z-index: 10;
1530
1530
  }
1531
- .comments-dialog.is-resolved[data-v-21ad0f69] {
1531
+ .comments-dialog.is-resolved[data-v-dcbcc0d4] {
1532
1532
  background-color: var(--sd-ui-comments-card-resolved-bg, #f0f0f0);
1533
1533
  }
1534
- .comment-separator[data-v-21ad0f69] {
1534
+ .comment-separator[data-v-dcbcc0d4] {
1535
1535
  background-color: var(--sd-ui-comments-separator, #e0e0e0);
1536
1536
  height: 1px;
1537
1537
  width: 100%;
1538
1538
  margin: 10px 0;
1539
1539
  }
1540
- .comment[data-v-21ad0f69] {
1540
+ .comment[data-v-dcbcc0d4] {
1541
1541
  font-size: var(--sd-ui-comments-body-size, 14px);
1542
1542
  line-height: 1.5;
1543
+ white-space: pre-wrap;
1543
1544
  color: var(--sd-ui-comments-body-text, #212121);
1544
1545
  margin: 4px 0 0 0;
1545
1546
  }
1546
- .comment[data-v-21ad0f69] p {
1547
+ .comment[data-v-dcbcc0d4] p {
1547
1548
  margin: 0;
1548
1549
  }
1549
- .tracked-change[data-v-21ad0f69] {
1550
+ .tracked-change[data-v-dcbcc0d4] {
1550
1551
  font-size: var(--sd-ui-comments-body-size, 14px);
1551
1552
  line-height: 1.5;
1552
1553
  color: var(--sd-ui-comments-body-text, #212121);
1553
1554
  margin: 4px 0 0 0;
1554
1555
  }
1555
- .change-type[data-v-21ad0f69] {
1556
+ .change-type[data-v-dcbcc0d4] {
1556
1557
  color: var(--sd-ui-comments-body-text, #212121);
1557
1558
  }
1558
- .tracked-change-text[data-v-21ad0f69] {
1559
+ .tracked-change-text[data-v-dcbcc0d4] {
1559
1560
  color: var(--sd-ui-comments-body-text, #212121);
1560
1561
  white-space: pre-wrap;
1561
1562
  }
1562
- .tracked-change-text.is-deleted[data-v-21ad0f69] {
1563
+ .tracked-change-text.is-deleted[data-v-dcbcc0d4] {
1563
1564
  color: var(--sd-ui-comments-delete-text, #cb0e47);
1564
1565
  }
1565
- .tracked-change-text.is-inserted[data-v-21ad0f69] {
1566
+ .tracked-change-text.is-inserted[data-v-dcbcc0d4] {
1566
1567
  color: var(--sd-ui-comments-insert-text, #1f6feb);
1567
1568
  font-weight: 500;
1568
1569
  }
1569
- .tracked-change[data-track-change-semantic-color-key='move-from'] .tracked-change-text.is-deleted[data-v-21ad0f69] {
1570
+ .tracked-change[data-track-change-semantic-color-key='move-from'] .tracked-change-text.is-deleted[data-v-dcbcc0d4] {
1570
1571
  color: var(--sd-ui-comments-move-from-text, #00853d);
1571
1572
  }
1572
- .tracked-change[data-track-change-semantic-color-key='move-to'] .tracked-change-text.is-inserted[data-v-21ad0f69] {
1573
+ .tracked-change[data-track-change-semantic-color-key='move-to'] .tracked-change-text.is-inserted[data-v-dcbcc0d4] {
1573
1574
  color: var(--sd-ui-comments-move-to-text, #00853d);
1574
1575
  }
1575
- .tracked-change-detail-lines[data-v-21ad0f69] {
1576
+ .tracked-change-detail-lines[data-v-dcbcc0d4] {
1576
1577
  margin-top: 4px;
1577
1578
  }
1578
- .tracked-change-detail-line[data-v-21ad0f69] {
1579
+ .tracked-change-detail-line[data-v-dcbcc0d4] {
1579
1580
  font-size: 12px;
1580
1581
  line-height: 1.4;
1581
1582
  }
1582
- .tracked-change-image-preview[data-v-21ad0f69] {
1583
+ .tracked-change-image-preview[data-v-dcbcc0d4] {
1583
1584
  display: inline-flex;
1584
1585
  align-items: center;
1585
1586
  justify-content: center;
@@ -1590,7 +1591,7 @@ img[data-v-c95b2073] {
1590
1591
  max-width: 96px;
1591
1592
  max-height: 96px;
1592
1593
  }
1593
- .tracked-change-image-preview__image[data-v-21ad0f69] {
1594
+ .tracked-change-image-preview__image[data-v-dcbcc0d4] {
1594
1595
  display: block;
1595
1596
  width: auto;
1596
1597
  height: auto;
@@ -1600,7 +1601,7 @@ img[data-v-c95b2073] {
1600
1601
  }
1601
1602
 
1602
1603
  /* ── Failed tracked-change decision alert (SD-3772 §6) ── */
1603
- .tracked-change-decision-alert[data-v-21ad0f69] {
1604
+ .tracked-change-decision-alert[data-v-dcbcc0d4] {
1604
1605
  display: flex;
1605
1606
  align-items: center;
1606
1607
  justify-content: space-between;
@@ -1614,12 +1615,12 @@ img[data-v-c95b2073] {
1614
1615
  font-size: var(--sd-ui-comments-body-size, 14px);
1615
1616
  line-height: 1.4;
1616
1617
  }
1617
- .tracked-change-decision-alert__retry[data-v-21ad0f69] {
1618
+ .tracked-change-decision-alert__retry[data-v-dcbcc0d4] {
1618
1619
  flex-shrink: 0;
1619
1620
  }
1620
1621
 
1621
1622
  /* ── Resolved badge ── */
1622
- .resolved-badge[data-v-21ad0f69] {
1623
+ .resolved-badge[data-v-dcbcc0d4] {
1623
1624
  display: inline-flex;
1624
1625
  align-items: center;
1625
1626
  gap: 4px;
@@ -1628,33 +1629,33 @@ img[data-v-c95b2073] {
1628
1629
  color: var(--sd-ui-comments-resolved-text, #00853d);
1629
1630
  margin-bottom: 4px;
1630
1631
  }
1631
- .resolved-badge__icon[data-v-21ad0f69] {
1632
+ .resolved-badge__icon[data-v-dcbcc0d4] {
1632
1633
  display: inline-flex;
1633
1634
  width: 12px;
1634
1635
  height: 12px;
1635
1636
  }
1636
- .resolved-badge__icon[data-v-21ad0f69] svg {
1637
+ .resolved-badge__icon[data-v-dcbcc0d4] svg {
1637
1638
  width: 100%;
1638
1639
  height: 100%;
1639
1640
  fill: currentColor;
1640
1641
  }
1641
1642
 
1642
1643
  /* ── Text truncation ── */
1643
- .comment.is-truncated[data-v-21ad0f69],
1644
- .tracked-change.is-truncated[data-v-21ad0f69] {
1644
+ .comment.is-truncated[data-v-dcbcc0d4],
1645
+ .tracked-change.is-truncated[data-v-dcbcc0d4] {
1645
1646
  display: -webkit-box;
1646
1647
  -webkit-line-clamp: 3;
1647
1648
  -webkit-box-orient: vertical;
1648
1649
  max-height: 4.5em;
1649
1650
  overflow: hidden;
1650
1651
  }
1651
- .comment.is-scrollable[data-v-21ad0f69],
1652
- .tracked-change.is-scrollable[data-v-21ad0f69] {
1652
+ .comment.is-scrollable[data-v-dcbcc0d4],
1653
+ .tracked-change.is-scrollable[data-v-dcbcc0d4] {
1653
1654
  max-height: 220px;
1654
1655
  overflow-y: auto;
1655
1656
  padding-right: 4px;
1656
1657
  }
1657
- .show-more-toggle[data-v-21ad0f69] {
1658
+ .show-more-toggle[data-v-dcbcc0d4] {
1658
1659
  font-size: 12px;
1659
1660
  color: var(--sd-ui-action, #1355ff);
1660
1661
  cursor: pointer;
@@ -1662,12 +1663,12 @@ img[data-v-c95b2073] {
1662
1663
  margin-top: 4px;
1663
1664
  user-select: none;
1664
1665
  }
1665
- .show-more-toggle[data-v-21ad0f69]:hover {
1666
+ .show-more-toggle[data-v-dcbcc0d4]:hover {
1666
1667
  text-decoration: underline;
1667
1668
  }
1668
1669
 
1669
1670
  /* ── Thread collapse ── */
1670
- .collapsed-replies[data-v-21ad0f69] {
1671
+ .collapsed-replies[data-v-dcbcc0d4] {
1671
1672
  display: flex;
1672
1673
  align-items: center;
1673
1674
  gap: 6px;
@@ -1678,24 +1679,24 @@ img[data-v-c95b2073] {
1678
1679
  cursor: pointer;
1679
1680
  user-select: none;
1680
1681
  }
1681
- .collapsed-replies[data-v-21ad0f69]:hover {
1682
+ .collapsed-replies[data-v-dcbcc0d4]:hover {
1682
1683
  text-decoration: underline;
1683
1684
  }
1684
- .collapsed-avatars[data-v-21ad0f69] {
1685
+ .collapsed-avatars[data-v-dcbcc0d4] {
1685
1686
  display: flex;
1686
1687
  }
1687
- .collapsed-avatars .mini-avatar[data-v-21ad0f69] {
1688
+ .collapsed-avatars .mini-avatar[data-v-dcbcc0d4] {
1688
1689
  --sd-comment-avatar-size: 20px;
1689
1690
  --sd-comment-avatar-font-size: 8px;
1690
1691
  margin-left: -4px;
1691
1692
  border: 2px solid var(--sd-ui-comments-card-active-bg, #ffffff);
1692
1693
  }
1693
- .collapsed-avatars .mini-avatar[data-v-21ad0f69]:first-child {
1694
+ .collapsed-avatars .mini-avatar[data-v-dcbcc0d4]:first-child {
1694
1695
  margin-left: 0;
1695
1696
  }
1696
1697
 
1697
1698
  /* ── New comment input ── */
1698
- .new-comment-input-wrapper[data-v-21ad0f69] {
1699
+ .new-comment-input-wrapper[data-v-dcbcc0d4] {
1699
1700
  border: 1.5px solid var(--sd-ui-comments-input-border, #dbdbdb);
1700
1701
  border-radius: 12px;
1701
1702
  padding: 8.5px 10.5px;
@@ -1704,17 +1705,17 @@ img[data-v-c95b2073] {
1704
1705
  max-height: 150px;
1705
1706
  overflow: visible;
1706
1707
  }
1707
- .new-comment-input-wrapper[data-v-21ad0f69]:focus-within {
1708
+ .new-comment-input-wrapper[data-v-dcbcc0d4]:focus-within {
1708
1709
  border-color: var(--sd-ui-comments-input-focus-border, #4f7cff);
1709
1710
  box-shadow: 0 0 0 2px rgba(79, 124, 255, 0.16);
1710
1711
  }
1711
- .new-comment-input-wrapper[data-v-21ad0f69] .comment-entry {
1712
+ .new-comment-input-wrapper[data-v-dcbcc0d4] .comment-entry {
1712
1713
  border-radius: 0;
1713
1714
  }
1714
- .new-comment-input-wrapper[data-v-21ad0f69] .input-section {
1715
+ .new-comment-input-wrapper[data-v-dcbcc0d4] .input-section {
1715
1716
  margin: 0;
1716
1717
  }
1717
- .new-comment-input-wrapper[data-v-21ad0f69] .superdoc-field {
1718
+ .new-comment-input-wrapper[data-v-dcbcc0d4] .superdoc-field {
1718
1719
  font-size: 14px;
1719
1720
  line-height: 20px;
1720
1721
  border: none;
@@ -1725,18 +1726,18 @@ img[data-v-c95b2073] {
1725
1726
  max-height: 132px;
1726
1727
  resize: none;
1727
1728
  }
1728
- .new-comment-input-wrapper[data-v-21ad0f69] .superdoc-field:focus,
1729
- .new-comment-input-wrapper[data-v-21ad0f69] .superdoc-field:active {
1729
+ .new-comment-input-wrapper[data-v-dcbcc0d4] .superdoc-field:focus,
1730
+ .new-comment-input-wrapper[data-v-dcbcc0d4] .superdoc-field:active {
1730
1731
  border: none;
1731
1732
  box-shadow: none;
1732
1733
  outline: none;
1733
1734
  }
1734
- .new-comment-input-wrapper[data-v-21ad0f69] .sd-editor-placeholder::before {
1735
+ .new-comment-input-wrapper[data-v-dcbcc0d4] .sd-editor-placeholder::before {
1735
1736
  content: 'Comment or add others with @';
1736
1737
  }
1737
1738
 
1738
1739
  /* ── Reply pill & expanded input ── */
1739
- .reply-pill[data-v-21ad0f69] {
1740
+ .reply-pill[data-v-dcbcc0d4] {
1740
1741
  width: 100%;
1741
1742
  padding: 8.5px 10.5px;
1742
1743
  border: 1.5px solid transparent;
@@ -1750,16 +1751,16 @@ img[data-v-c95b2073] {
1750
1751
  cursor: text;
1751
1752
  transition: background 150ms ease;
1752
1753
  }
1753
- .reply-pill[data-v-21ad0f69]:hover {
1754
+ .reply-pill[data-v-dcbcc0d4]:hover {
1754
1755
  background: var(--sd-color-gray-200, #f2f2f2);
1755
1756
  }
1756
- .reply-pill[data-v-21ad0f69]:disabled {
1757
+ .reply-pill[data-v-dcbcc0d4]:disabled {
1757
1758
  cursor: not-allowed;
1758
1759
  }
1759
- .reply-expanded[data-v-21ad0f69] {
1760
+ .reply-expanded[data-v-dcbcc0d4] {
1760
1761
  margin-top: 10px;
1761
1762
  }
1762
- .reply-input-wrapper[data-v-21ad0f69] {
1763
+ .reply-input-wrapper[data-v-dcbcc0d4] {
1763
1764
  border: 1.5px solid var(--sd-ui-comments-input-border, #dbdbdb);
1764
1765
  border-radius: 12px;
1765
1766
  padding: 8.5px 10.5px;
@@ -1767,17 +1768,17 @@ img[data-v-c95b2073] {
1767
1768
  max-height: 150px;
1768
1769
  overflow: visible;
1769
1770
  }
1770
- .reply-input-wrapper[data-v-21ad0f69]:focus-within {
1771
+ .reply-input-wrapper[data-v-dcbcc0d4]:focus-within {
1771
1772
  border-color: var(--sd-ui-comments-input-focus-border, #4f7cff);
1772
1773
  box-shadow: 0 0 0 2px rgba(79, 124, 255, 0.16);
1773
1774
  }
1774
- .reply-input-wrapper[data-v-21ad0f69] .comment-entry {
1775
+ .reply-input-wrapper[data-v-dcbcc0d4] .comment-entry {
1775
1776
  border-radius: 0;
1776
1777
  }
1777
- .reply-input-wrapper[data-v-21ad0f69] .input-section {
1778
+ .reply-input-wrapper[data-v-dcbcc0d4] .input-section {
1778
1779
  margin: 0;
1779
1780
  }
1780
- .reply-input-wrapper[data-v-21ad0f69] .superdoc-field {
1781
+ .reply-input-wrapper[data-v-dcbcc0d4] .superdoc-field {
1781
1782
  font-size: 14px;
1782
1783
  line-height: 20px;
1783
1784
  border: none;
@@ -1788,23 +1789,23 @@ img[data-v-c95b2073] {
1788
1789
  max-height: 132px;
1789
1790
  resize: none;
1790
1791
  }
1791
- .reply-input-wrapper[data-v-21ad0f69] .superdoc-field:focus,
1792
- .reply-input-wrapper[data-v-21ad0f69] .superdoc-field:active {
1792
+ .reply-input-wrapper[data-v-dcbcc0d4] .superdoc-field:focus,
1793
+ .reply-input-wrapper[data-v-dcbcc0d4] .superdoc-field:active {
1793
1794
  border: none;
1794
1795
  box-shadow: none;
1795
1796
  outline: none;
1796
1797
  }
1797
- .reply-input-wrapper[data-v-21ad0f69] .sd-editor-placeholder::before {
1798
+ .reply-input-wrapper[data-v-dcbcc0d4] .sd-editor-placeholder::before {
1798
1799
  content: 'Reply or add others with @';
1799
1800
  }
1800
- .reply-actions[data-v-21ad0f69] {
1801
+ .reply-actions[data-v-dcbcc0d4] {
1801
1802
  display: flex;
1802
1803
  justify-content: flex-end;
1803
1804
  align-items: center;
1804
1805
  gap: 16px;
1805
1806
  margin-top: 8px;
1806
1807
  }
1807
- .reply-btn-cancel[data-v-21ad0f69] {
1808
+ .reply-btn-cancel[data-v-dcbcc0d4] {
1808
1809
  background: none;
1809
1810
  border: none;
1810
1811
  font-size: 13px;
@@ -1815,10 +1816,10 @@ img[data-v-c95b2073] {
1815
1816
  font-family: inherit;
1816
1817
  transition: color 150ms;
1817
1818
  }
1818
- .reply-btn-cancel[data-v-21ad0f69]:hover {
1819
+ .reply-btn-cancel[data-v-dcbcc0d4]:hover {
1819
1820
  color: var(--sd-ui-text, #212121);
1820
1821
  }
1821
- .reply-btn-primary[data-v-21ad0f69] {
1822
+ .reply-btn-primary[data-v-dcbcc0d4] {
1822
1823
  background: var(--sd-ui-action, #1355ff);
1823
1824
  border: none;
1824
1825
  font-size: 13px;
@@ -1830,19 +1831,19 @@ img[data-v-c95b2073] {
1830
1831
  font-family: inherit;
1831
1832
  transition: background 150ms;
1832
1833
  }
1833
- .reply-btn-primary[data-v-21ad0f69]:hover {
1834
+ .reply-btn-primary[data-v-dcbcc0d4]:hover {
1834
1835
  background: var(--sd-ui-action-hover, #0f44cc);
1835
1836
  }
1836
- .reply-btn-primary.sd-is-disabled[data-v-21ad0f69] {
1837
+ .reply-btn-primary.sd-is-disabled[data-v-dcbcc0d4] {
1837
1838
  background: var(--sd-color-gray-400, #dbdbdb);
1838
1839
  color: var(--sd-color-gray-600, #888888);
1839
1840
  cursor: default;
1840
1841
  pointer-events: none;
1841
1842
  }
1842
- .existing-internal-input[data-v-21ad0f69] {
1843
+ .existing-internal-input[data-v-dcbcc0d4] {
1843
1844
  margin-bottom: 10px;
1844
1845
  }
1845
- .sd-internal-dropdown[data-v-21ad0f69] {
1846
+ .sd-internal-dropdown[data-v-dcbcc0d4] {
1846
1847
  display: inline-block;
1847
1848
  }
1848
1849
 
@@ -2962,10 +2963,10 @@ img[data-v-c95b2073] {
2962
2963
  color: #fff;
2963
2964
  }
2964
2965
 
2965
- .sd-tooltip-trigger[data-v-88d296cd] {
2966
+ .sd-tooltip-trigger[data-v-44bd03f9] {
2966
2967
  display: inline-flex;
2967
2968
  }
2968
- .sd-tooltip-content[data-v-88d296cd] {
2969
+ .sd-tooltip-content[data-v-44bd03f9] {
2969
2970
  background-color: var(--sd-ui-tooltip-bg, #262626);
2970
2971
  color: var(--sd-ui-tooltip-text, #fff);
2971
2972
  font-size: var(--sd-ui-font-size-400, 14px);
@@ -2976,7 +2977,7 @@ img[data-v-c95b2073] {
2976
2977
  pointer-events: auto;
2977
2978
  white-space: nowrap;
2978
2979
  }
2979
- .sd-tooltip-arrow[data-v-88d296cd] {
2980
+ .sd-tooltip-arrow[data-v-44bd03f9] {
2980
2981
  position: absolute;
2981
2982
  left: 50%;
2982
2983
  bottom: -5px;
@@ -2985,35 +2986,26 @@ img[data-v-c95b2073] {
2985
2986
  background-color: var(--sd-ui-tooltip-bg, #262626);
2986
2987
  transform: translateX(-50%) rotate(45deg);
2987
2988
  }
2988
- .sd-tooltip-content[data-placement='bottom'] .sd-tooltip-arrow[data-v-88d296cd] {
2989
+ .sd-tooltip-content[data-placement='bottom'] .sd-tooltip-arrow[data-v-44bd03f9] {
2989
2990
  bottom: auto;
2990
2991
  top: -5px;
2991
2992
  }
2992
- .fade-in-scale-up-transition-enter-active[data-v-88d296cd],
2993
- .fade-in-scale-up-transition-leave-active[data-v-88d296cd] {
2993
+ .fade-in-scale-up-transition-enter-active[data-v-44bd03f9] {
2994
2994
  transform-origin: bottom center;
2995
2995
  }
2996
- .sd-tooltip-content[data-placement='bottom'].fade-in-scale-up-transition-enter-active[data-v-88d296cd],
2997
- .sd-tooltip-content[data-placement='bottom'].fade-in-scale-up-transition-leave-active[data-v-88d296cd] {
2996
+ .sd-tooltip-content[data-placement='bottom'].fade-in-scale-up-transition-enter-active[data-v-44bd03f9] {
2998
2997
  transform-origin: top center;
2999
2998
  }
3000
- .fade-in-scale-up-transition-enter-active[data-v-88d296cd] {
2999
+ .fade-in-scale-up-transition-enter-active[data-v-44bd03f9] {
3001
3000
  transition:
3002
3001
  opacity 0.2s cubic-bezier(0, 0, 0.2, 1),
3003
3002
  transform 0.2s cubic-bezier(0, 0, 0.2, 1);
3004
3003
  }
3005
- .fade-in-scale-up-transition-leave-active[data-v-88d296cd] {
3006
- transition:
3007
- opacity 0.2s cubic-bezier(0.4, 0, 1, 1),
3008
- transform 0.2s cubic-bezier(0.4, 0, 1, 1);
3009
- }
3010
- .fade-in-scale-up-transition-enter-from[data-v-88d296cd],
3011
- .fade-in-scale-up-transition-leave-to[data-v-88d296cd] {
3004
+ .fade-in-scale-up-transition-enter-from[data-v-44bd03f9] {
3012
3005
  opacity: 0;
3013
3006
  transform: scale(0.9);
3014
3007
  }
3015
- .fade-in-scale-up-transition-leave-from[data-v-88d296cd],
3016
- .fade-in-scale-up-transition-enter-to[data-v-88d296cd] {
3008
+ .fade-in-scale-up-transition-enter-to[data-v-44bd03f9] {
3017
3009
  opacity: 1;
3018
3010
  transform: scale(1);
3019
3011
  }
package/dist/superdoc.cjs CHANGED
@@ -304,7 +304,7 @@ var awarenessStatesToArray = (context, states) => {
304
304
  var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
305
305
  function getSuperdocVersion() {
306
306
  try {
307
- return "2.23.0-next.2";
307
+ return "2.23.0-next.4";
308
308
  } catch {
309
309
  return "unknown";
310
310
  }
@@ -7602,6 +7602,7 @@ var getTrackedChangeIndex = () => null;
7602
7602
  var resolveTrackedChangeInStory = () => null;
7603
7603
  var makeTrackedChangeAnchorKey = ({ storyKey, rawId }) => `tc::${storyKey}::${rawId}`;
7604
7604
  var COMMENT_DRAFT_BR_TAG = /<br(?:\s[^>]*)?\s*\/?>/gi;
7605
+ var COMMENT_DRAFT_BLOCK_BOUNDARY = /(?:<\/(?:p|div|li|blockquote|pre|h[1-6])\s*>\s*)+(?:<(?:p|div|li|blockquote|pre|h[1-6])(?:\s[^>]*)?\s*\/?>)+/gi;
7605
7606
  var COMMENT_DRAFT_BLOCK_OPEN_TAG = /<(?:p|div|li|blockquote|pre|h[1-6])(?:\s[^>]*)?\s*\/?>/gi;
7606
7607
  var COMMENT_DRAFT_BLOCK_CLOSE_TAG = /<\/(?:p|div|li|blockquote|pre|h[1-6])\s*>/gi;
7607
7608
  var COMMENT_DRAFT_ANY_TAG = /<\/?[A-Za-z][A-Za-z0-9:-]*(?:\s[^>]*)?\s*\/?>/g;
@@ -7695,7 +7696,7 @@ var decodeCommentDraftEntities = (value) => value.replace(COMMENT_DRAFT_ENTITY,
7695
7696
  var normalizeV2CommentDraftText = (value) => {
7696
7697
  const html = String(value ?? "");
7697
7698
  if (!html || html === "<p></p>") return "";
7698
- return decodeCommentDraftEntities(html.replace(COMMENT_DRAFT_BR_TAG, "\n").replace(COMMENT_DRAFT_BLOCK_CLOSE_TAG, "\n").replace(COMMENT_DRAFT_BLOCK_OPEN_TAG, "").replace(COMMENT_DRAFT_ANY_TAG, "")).replace(/\n{3,}/g, "\n\n").replace(/^\n+/, "").replace(/\n+$/, "");
7699
+ return decodeCommentDraftEntities(html.replace(COMMENT_DRAFT_BLOCK_BOUNDARY, "\n").replace(COMMENT_DRAFT_BR_TAG, "\n").replace(COMMENT_DRAFT_BLOCK_CLOSE_TAG, "").replace(COMMENT_DRAFT_BLOCK_OPEN_TAG, "").replace(COMMENT_DRAFT_ANY_TAG, ""));
7699
7700
  };
7700
7701
  var cloneV2TrackedChangeStory = (story) => {
7701
7702
  if (!story || typeof story !== "object") return null;
@@ -9537,7 +9538,7 @@ var useCommentsStore = defineStore("comments", () => {
9537
9538
  reason: "parent-comment-id-missing"
9538
9539
  };
9539
9540
  const plainText = normalizeV2CommentDraftText(text);
9540
- if (plainText.length === 0) return {
9541
+ if (plainText.trim().length === 0) return {
9541
9542
  ok: false,
9542
9543
  reason: "comment-text-empty"
9543
9544
  };
@@ -9614,7 +9615,7 @@ var useCommentsStore = defineStore("comments", () => {
9614
9615
  reason: "comment-id-missing"
9615
9616
  };
9616
9617
  const plainText = normalizeV2CommentDraftText(text);
9617
- if (plainText.length === 0) return {
9618
+ if (plainText.trim().length === 0) return {
9618
9619
  ok: false,
9619
9620
  reason: "comment-text-empty"
9620
9621
  };
@@ -13022,15 +13023,19 @@ var _sfc_main$35 = {
13022
13023
  const htmlToText = (html) => {
13023
13024
  const value = String(html ?? "");
13024
13025
  if (!value || value === "<p></p>") return "";
13025
- if (typeof document === "undefined") return value.replace(/<br\s*\/?>/gi, "\n").replace(/<[^>]+>/g, "");
13026
+ if (typeof document === "undefined") return value.replace(/<\/p>\s*<p\b[^>]*>/gi, "\n").replace(/<br\s*\/?>/gi, "\n").replace(/<[^>]+>/g, "");
13026
13027
  const element = document.createElement("div");
13027
13028
  element.innerHTML = value;
13028
- return element.innerText || element.textContent || "";
13029
+ element.querySelectorAll("br").forEach((br) => br.replaceWith("\n"));
13030
+ element.querySelectorAll("p").forEach((paragraph, index) => {
13031
+ if (index > 0) paragraph.before("\n");
13032
+ });
13033
+ return element.textContent || "";
13029
13034
  };
13030
13035
  const textToHtml = (value) => {
13031
- const normalized = String(value ?? "").replace(/\r\n/g, "\n").trim();
13036
+ const normalized = String(value ?? "").replace(/\r\n/g, "\n");
13032
13037
  if (!normalized) return "<p></p>";
13033
- return normalized.split(/\n{2,}/).map((paragraph) => `<p>${escapeHtml(paragraph).replace(/\n/g, "<br>")}</p>`).join("");
13038
+ return `<p>${escapeHtml(normalized).replace(/\n/g, "<br>")}</p>`;
13034
13039
  };
13035
13040
  const commentDraft = require__plugin_vue_export_helper.computed({
13036
13041
  get: () => htmlToText(currentCommentText.value),
@@ -13159,7 +13164,7 @@ var _sfc_main$35 = {
13159
13164
  };
13160
13165
  }
13161
13166
  };
13162
- var CommentInput_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$35, [["__scopeId", "data-v-87953125"]]);
13167
+ var CommentInput_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$35, [["__scopeId", "data-v-0720a671"]]);
13163
13168
  //#endregion
13164
13169
  //#region src/components/CommentsLayer/CommentDialog.vue
13165
13170
  var _hoisted_1$27 = [
@@ -13659,7 +13664,7 @@ var _sfc_main$34 = {
13659
13664
  return !suppressInternalExternal.value && !props.comment.trackedChange;
13660
13665
  });
13661
13666
  const hasTextContent = require__plugin_vue_export_helper.computed(() => {
13662
- return currentCommentText.value && currentCommentText.value !== "<p></p>";
13667
+ return Boolean(currentCommentText.value?.replace(/<[^>]*>/g, "").trim());
13663
13668
  });
13664
13669
  const setFocus = async () => {
13665
13670
  const editor = proxy.$superdoc.activeEditor;
@@ -14384,7 +14389,7 @@ var _sfc_main$34 = {
14384
14389
  };
14385
14390
  }
14386
14391
  };
14387
- var CommentDialog_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$34, [["__scopeId", "data-v-21ad0f69"]]);
14392
+ var CommentDialog_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$34, [["__scopeId", "data-v-dcbcc0d4"]]);
14388
14393
  //#endregion
14389
14394
  //#region src/components/CommentsLayer/commentsList/ReviewDirectoryListItem.vue
14390
14395
  var _hoisted_1$26 = [
@@ -40920,6 +40925,9 @@ var _sfc_main$12 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
40920
40925
  const handleEscape = (event) => {
40921
40926
  if (event.key === "Escape") close();
40922
40927
  };
40928
+ const handleTriggerKeydown = (event) => {
40929
+ if (event.key === "Enter" || event.key === " ") close();
40930
+ };
40923
40931
  require__plugin_vue_export_helper.watch(() => props.disabled, (disabled) => {
40924
40932
  if (disabled) close();
40925
40933
  });
@@ -40950,8 +40958,13 @@ var _sfc_main$12 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
40950
40958
  onMouseenter: handleTriggerMouseEnter,
40951
40959
  onMouseleave: handleTriggerMouseLeave,
40952
40960
  onFocusin: handleTriggerMouseEnter,
40953
- onFocusout: handleTriggerMouseLeave
40954
- }, [require__plugin_vue_export_helper.renderSlot(_ctx.$slots, "trigger", {}, void 0, true)], 544), (require__plugin_vue_export_helper.openBlock(), require__plugin_vue_export_helper.createBlock(require__plugin_vue_export_helper.Teleport, { to: "body" }, [require__plugin_vue_export_helper.createVNode(require__plugin_vue_export_helper.Transition, { name: "fade-in-scale-up-transition" }, {
40961
+ onFocusout: handleTriggerMouseLeave,
40962
+ onClickCapture: close,
40963
+ onKeydownCapture: handleTriggerKeydown
40964
+ }, [require__plugin_vue_export_helper.renderSlot(_ctx.$slots, "trigger", {}, void 0, true)], 544), (require__plugin_vue_export_helper.openBlock(), require__plugin_vue_export_helper.createBlock(require__plugin_vue_export_helper.Teleport, { to: "body" }, [require__plugin_vue_export_helper.createVNode(require__plugin_vue_export_helper.Transition, {
40965
+ name: "fade-in-scale-up-transition",
40966
+ css: isOpen.value
40967
+ }, {
40955
40968
  default: require__plugin_vue_export_helper.withCtx(() => [isOpen.value && !__props.disabled ? (require__plugin_vue_export_helper.openBlock(), require__plugin_vue_export_helper.createElementBlock("div", {
40956
40969
  key: 0,
40957
40970
  ref_key: "contentRef",
@@ -40966,11 +40979,11 @@ var _sfc_main$12 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
40966
40979
  "aria-hidden": "true"
40967
40980
  }, null, -1)), require__plugin_vue_export_helper.renderSlot(_ctx.$slots, "default", {}, void 0, true)], 46, _hoisted_1$11)) : require__plugin_vue_export_helper.createCommentVNode("", true)]),
40968
40981
  _: 3
40969
- })]))], 64);
40982
+ }, 8, ["css"])]))], 64);
40970
40983
  };
40971
40984
  }
40972
40985
  });
40973
- var SdTooltip_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$12, [["__scopeId", "data-v-88d296cd"]]);
40986
+ var SdTooltip_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$12, [["__scopeId", "data-v-44bd03f9"]]);
40974
40987
  //#endregion
40975
40988
  //#region src/internal/toolbar/built-in/ButtonGroup.vue
40976
40989
  var _hoisted_1$10 = [
@@ -46419,7 +46432,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
46419
46432
  }
46420
46433
  this.userColorMap = /* @__PURE__ */ new Map();
46421
46434
  this.colorIndex = 0;
46422
- this.version = "2.23.0-next.2";
46435
+ this.version = "2.23.0-next.4";
46423
46436
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
46424
46437
  this.superdocId = config.superdocId || require_uuid.v4();
46425
46438
  this.colors = this.config.colors ?? [];