superdoc 2.4.0-next.10 → 2.4.0-next.12

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.
Files changed (42) hide show
  1. package/dist/chunks/{FindReplaceSurface-9VkPw_-X.cjs → FindReplaceSurface-0p7EtMZh.cjs} +4 -3
  2. package/dist/chunks/{FindReplaceSurface-BuvaIrQ5.es.js → FindReplaceSurface-40AnrqWk.es.js} +4 -2
  3. package/dist/chunks/{PasswordPromptSurface-Bu5xHm91.cjs → PasswordPromptSurface-31lYPcCK.cjs} +4 -3
  4. package/dist/chunks/{PasswordPromptSurface-Bz9_sKhX.es.js → PasswordPromptSurface-CwYeO3iQ.es.js} +4 -2
  5. package/dist/chunks/{PdfViewer-CdVGB6Fe.es.js → PdfViewer-D8h7LRZy.es.js} +103 -19
  6. package/dist/chunks/{PdfViewer-D4eD2dV1.cjs → PdfViewer-Dug6yDRC.cjs} +105 -20
  7. package/dist/chunks/_plugin-vue_export-helper-BOaGB7Aw.es.js +8 -0
  8. package/dist/chunks/_plugin-vue_export-helper-SDR04tiH.cjs +13 -0
  9. package/dist/chunks/{blank-docx-DP8RUPW-.cjs → blank-docx-BuFAbRjs.cjs} +2 -0
  10. package/dist/chunks/{blank-docx-XRX6Ker2.es.js → blank-docx-DzQccOlW.es.js} +2 -0
  11. package/dist/chunks/constants-B6VBlmKp.es.js +4 -0
  12. package/dist/chunks/constants-DpXuDx_g.cjs +9 -0
  13. package/dist/chunks/{create-super-doc-ui-ByvmsAAG.cjs → create-super-doc-ui-BWYOinLD.cjs} +1506 -455
  14. package/dist/chunks/{create-super-doc-ui-DBXOhHdW.es.js → create-super-doc-ui-D0mNmAHJ.es.js} +1695 -416
  15. package/dist/chunks/{eventemitter3-DqY4aSMf.cjs → eventemitter3-C_TAnXOl.cjs} +125 -16
  16. package/dist/chunks/{eventemitter3-Bt2s0X0a.es.js → eventemitter3-DEIiXiH2.es.js} +124 -16
  17. package/dist/chunks/jszip-BzJ3CyxR.es.js +4717 -0
  18. package/dist/chunks/jszip-D8mAFF-r.cjs +4758 -0
  19. package/dist/chunks/{rolldown-runtime-D7PMmH3s.es.js → rolldown-runtime-0pSA04fp.es.js} +12 -3
  20. package/dist/chunks/{rolldown-runtime-1Y-nnZJ3.cjs → rolldown-runtime-74VwNCz7.cjs} +11 -2
  21. package/dist/chunks/{uuid-CFp0WGVU.cjs → uuid-BhG0ngwk.cjs} +10 -6
  22. package/dist/chunks/{uuid-B2Sqk-3p.es.js → uuid-H0Xcmmhy.es.js} +8 -3
  23. package/dist/collaboration-upgrade-engine.cjs +34 -9
  24. package/dist/collaboration-upgrade-engine.es.js +30 -5
  25. package/dist/public/ui-react.cjs +66 -2
  26. package/dist/public/ui-react.es.js +66 -1
  27. package/dist/public/ui.cjs +1 -1
  28. package/dist/public/ui.es.js +1 -1
  29. package/dist/style.css +35 -0
  30. package/dist/style.layered.css +35 -0
  31. package/dist/superdoc.cjs +5774 -1147
  32. package/dist/superdoc.es.js +5649 -1021
  33. package/dist-cdn/style.layered.css +1 -1
  34. package/dist-cdn/superdoc.min.css +1 -1
  35. package/dist-cdn/superdoc.min.js +36 -36
  36. package/package.json +14 -14
  37. package/dist/chunks/_plugin-vue_export-helper-CZ1Nl59K.cjs +0 -11
  38. package/dist/chunks/_plugin-vue_export-helper-DSMAhhwD.es.js +0 -6
  39. package/dist/chunks/constants-BfH0br5u.es.js +0 -3
  40. package/dist/chunks/constants-D7TNtyJd.cjs +0 -14
  41. package/dist/chunks/jszip-C8srOKAO.es.js +0 -4650
  42. package/dist/chunks/jszip-Cs9JBLlJ.cjs +0 -4691
package/dist/style.css CHANGED
@@ -366,6 +366,7 @@
366
366
  *
367
367
  * These aliases will be removed in the next major version.
368
368
  */
369
+
369
370
  :root {
370
371
  /* Old semantic names that map to primitives (no new-token equivalent) */
371
372
  --sd-surface-canvas: var(--sd-color-gray-50);
@@ -437,6 +438,7 @@
437
438
  --sd-ui-surface-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px 3px rgba(60, 64, 67, 0.15);
438
439
  --sd-ui-dialog-backdrop: rgba(0, 0, 0, 0.32);
439
440
  }
441
+
440
442
  /* Preset theme: Microsoft Word-like */
441
443
  .sd-theme-word {
442
444
  /* UI base */
@@ -497,6 +499,7 @@
497
499
  --sd-ui-surface-shadow: 0 2px 6px rgba(0, 0, 0, 0.14), 0 8px 24px rgba(0, 0, 0, 0.1);
498
500
  --sd-ui-dialog-backdrop: rgba(0, 0, 0, 0.4);
499
501
  }
502
+
500
503
  /* Preset theme: Blueprint */
501
504
  .sd-theme-blueprint {
502
505
  /* UI base */
@@ -567,12 +570,14 @@
567
570
  .superdoc-toolbar ::after {
568
571
  box-sizing: border-box;
569
572
  }
573
+
570
574
  .superdoc .sd-disabled,
571
575
  .superdoc-toolbar .sd-disabled {
572
576
  opacity: 0.5;
573
577
  cursor: not-allowed;
574
578
  pointer-events: none;
575
579
  }
580
+
576
581
  .sd-button {
577
582
  border-radius: 8px;
578
583
  background-color: white;
@@ -584,20 +589,25 @@
584
589
  cursor: pointer;
585
590
  transition: all 250ms ease;
586
591
  }
592
+
587
593
  .sd-button:hover {
588
594
  background-color: #dbdbdb;
589
595
  }
596
+
590
597
  .sd-button.primary {
591
598
  background-color: #1355ff;
592
599
  border: none;
593
600
  color: white;
594
601
  }
602
+
595
603
  .sd-button.primary:hover {
596
604
  background-color: #0d3fcc;
597
605
  }
606
+
598
607
  .sd-comment-box {
599
608
  width: 300px;
600
609
  }
610
+
601
611
  .superdoc-field {
602
612
  border-radius: 8px;
603
613
  padding: 12px;
@@ -605,15 +615,18 @@
605
615
  border: 1px solid #dbdbdb;
606
616
  width: 100%;
607
617
  }
618
+
608
619
  .superdoc-field:focus,
609
620
  .superdoc-field:active {
610
621
  border: 1px solid #1355ff;
611
622
  }
623
+
612
624
  .superdoc-field .ProseMirror {
613
625
  border: 0;
614
626
  outline: 0;
615
627
  margin: 0;
616
628
  }
629
+
617
630
  .sd-editor-placeholder::before {
618
631
  content: attr(data-placeholder);
619
632
  color: #aaa;
@@ -627,6 +640,7 @@
627
640
  display: block;
628
641
  fill: currentColor;
629
642
  }
643
+
630
644
  .superdoc-toolbar svg {
631
645
  width: 100%;
632
646
  height: 100%;
@@ -634,9 +648,11 @@
634
648
  fill: currentColor;
635
649
  pointer-events: none;
636
650
  }
651
+
637
652
  .superdoc-toolbar svg path {
638
653
  stroke: currentColor;
639
654
  }
655
+
640
656
  /* Web Layout Mode (OOXML ST_View 'web') - content reflows to container width */
641
657
  .superdoc--web-layout,
642
658
  .superdoc--web-layout .superdoc__layers,
@@ -644,7 +660,9 @@
644
660
  .superdoc--web-layout .superdoc__sub-document {
645
661
  width: 100%;
646
662
  }
663
+
647
664
  /* --- Upgrade transition (upgradeToCollaboration) --- */
665
+
648
666
  .sd-upgrade-overlay {
649
667
  position: absolute;
650
668
  inset: 0;
@@ -652,15 +670,19 @@
652
670
  pointer-events: none;
653
671
  overflow: hidden;
654
672
  }
673
+
655
674
  .sd-upgrade-overlay [contenteditable] {
656
675
  pointer-events: none;
657
676
  user-select: none;
658
677
  }
678
+
659
679
  /* visibility: hidden (not display: none) so layout engine can still measure */
660
680
  .sd-upgrade-hidden {
661
681
  visibility: hidden !important;
662
682
  }
683
+
663
684
  /* --- Search highlights (transient, used in both editor and presentation mode) --- */
685
+
664
686
  /* AIDEV-NOTE: SD-3045. The DomPainter writes `style.backgroundColor = run.highlight`
665
687
  * inline on the same span the search DecorationBridge tags. Inline styles win over
666
688
  * class selectors, so on every run whose source rPr carries a highlight mark
@@ -673,15 +695,19 @@
673
695
  .superdoc .ProseMirror-search-match:not([data-sd-search-exact-highlight]) {
674
696
  background: var(--sd-ui-search-match-bg) !important;
675
697
  }
698
+
676
699
  .superdoc .ProseMirror-active-search-match:not([data-sd-search-exact-highlight]) {
677
700
  background: var(--sd-ui-search-match-active-bg) !important;
678
701
  }
702
+
679
703
  ::highlight(superdoc-search-match) {
680
704
  background: var(--sd-ui-search-match-bg);
681
705
  }
706
+
682
707
  ::highlight(superdoc-search-active-match) {
683
708
  background: var(--sd-ui-search-match-active-bg);
684
709
  }
710
+
685
711
  /* Proofing underlines are render-only v1/v2 UI state. They must not alter DOCX
686
712
  * bytes or layout identity; the runtime owns adding/removing these classes. */
687
713
  .superdoc .sd-proofing-spelling,
@@ -692,15 +718,19 @@
692
718
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
693
719
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
694
720
  }
721
+
695
722
  .superdoc .sd-proofing-spelling {
696
723
  text-decoration-color: var(--sd-proofing-spelling-color, #e53e3e);
697
724
  }
725
+
698
726
  .superdoc .sd-proofing-grammar {
699
727
  text-decoration-color: var(--sd-proofing-grammar-color, #3182ce);
700
728
  }
729
+
701
730
  .superdoc .sd-proofing-style {
702
731
  text-decoration-color: var(--sd-proofing-style-color, #805ad5);
703
732
  }
733
+
704
734
  /* CSS Custom Highlight variant: the v2 runtime paints per-word squiggles over
705
735
  * exact text ranges (no DOM mutation). Highlight names match the class names. */
706
736
  ::highlight(sd-proofing-spelling),
@@ -711,15 +741,19 @@
711
741
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
712
742
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
713
743
  }
744
+
714
745
  ::highlight(sd-proofing-spelling) {
715
746
  text-decoration-color: var(--sd-proofing-spelling-color, #e53e3e);
716
747
  }
748
+
717
749
  ::highlight(sd-proofing-grammar) {
718
750
  text-decoration-color: var(--sd-proofing-grammar-color, #3182ce);
719
751
  }
752
+
720
753
  ::highlight(sd-proofing-style) {
721
754
  text-decoration-color: var(--sd-proofing-style-color, #805ad5);
722
755
  }
756
+
723
757
  /* Contained Mode - fixed-height container embedding with internal scrolling */
724
758
  .superdoc--contained,
725
759
  .superdoc--contained .superdoc__layers,
@@ -727,6 +761,7 @@
727
761
  .superdoc--contained .superdoc__sub-document {
728
762
  height: 100%;
729
763
  }
764
+
730
765
  /* Sub-document scroll fallback for non-document-editor content (PDF, HTML).
731
766
  * The document editor manages its own scroll container, but PDF/HTML viewers
732
767
  * don't, so they need the sub-document to scroll. */
@@ -366,6 +366,7 @@
366
366
  *
367
367
  * These aliases will be removed in the next major version.
368
368
  */
369
+
369
370
  :root {
370
371
  /* Old semantic names that map to primitives (no new-token equivalent) */
371
372
  --sd-surface-canvas: var(--sd-color-gray-50);
@@ -437,6 +438,7 @@
437
438
  --sd-ui-surface-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px 3px rgba(60, 64, 67, 0.15);
438
439
  --sd-ui-dialog-backdrop: rgba(0, 0, 0, 0.32);
439
440
  }
441
+
440
442
  /* Preset theme: Microsoft Word-like */
441
443
  .sd-theme-word {
442
444
  /* UI base */
@@ -497,6 +499,7 @@
497
499
  --sd-ui-surface-shadow: 0 2px 6px rgba(0, 0, 0, 0.14), 0 8px 24px rgba(0, 0, 0, 0.1);
498
500
  --sd-ui-dialog-backdrop: rgba(0, 0, 0, 0.4);
499
501
  }
502
+
500
503
  /* Preset theme: Blueprint */
501
504
  .sd-theme-blueprint {
502
505
  /* UI base */
@@ -567,12 +570,14 @@
567
570
  .superdoc-toolbar ::after {
568
571
  box-sizing: border-box;
569
572
  }
573
+
570
574
  .superdoc .sd-disabled,
571
575
  .superdoc-toolbar .sd-disabled {
572
576
  opacity: 0.5;
573
577
  cursor: not-allowed;
574
578
  pointer-events: none;
575
579
  }
580
+
576
581
  .sd-button {
577
582
  border-radius: 8px;
578
583
  background-color: white;
@@ -584,20 +589,25 @@
584
589
  cursor: pointer;
585
590
  transition: all 250ms ease;
586
591
  }
592
+
587
593
  .sd-button:hover {
588
594
  background-color: #dbdbdb;
589
595
  }
596
+
590
597
  .sd-button.primary {
591
598
  background-color: #1355ff;
592
599
  border: none;
593
600
  color: white;
594
601
  }
602
+
595
603
  .sd-button.primary:hover {
596
604
  background-color: #0d3fcc;
597
605
  }
606
+
598
607
  .sd-comment-box {
599
608
  width: 300px;
600
609
  }
610
+
601
611
  .superdoc-field {
602
612
  border-radius: 8px;
603
613
  padding: 12px;
@@ -605,15 +615,18 @@
605
615
  border: 1px solid #dbdbdb;
606
616
  width: 100%;
607
617
  }
618
+
608
619
  .superdoc-field:focus,
609
620
  .superdoc-field:active {
610
621
  border: 1px solid #1355ff;
611
622
  }
623
+
612
624
  .superdoc-field .ProseMirror {
613
625
  border: 0;
614
626
  outline: 0;
615
627
  margin: 0;
616
628
  }
629
+
617
630
  .sd-editor-placeholder::before {
618
631
  content: attr(data-placeholder);
619
632
  color: #aaa;
@@ -627,6 +640,7 @@
627
640
  display: block;
628
641
  fill: currentColor;
629
642
  }
643
+
630
644
  .superdoc-toolbar svg {
631
645
  width: 100%;
632
646
  height: 100%;
@@ -634,9 +648,11 @@
634
648
  fill: currentColor;
635
649
  pointer-events: none;
636
650
  }
651
+
637
652
  .superdoc-toolbar svg path {
638
653
  stroke: currentColor;
639
654
  }
655
+
640
656
  /* Web Layout Mode (OOXML ST_View 'web') - content reflows to container width */
641
657
  .superdoc--web-layout,
642
658
  .superdoc--web-layout .superdoc__layers,
@@ -644,7 +660,9 @@
644
660
  .superdoc--web-layout .superdoc__sub-document {
645
661
  width: 100%;
646
662
  }
663
+
647
664
  /* --- Upgrade transition (upgradeToCollaboration) --- */
665
+
648
666
  .sd-upgrade-overlay {
649
667
  position: absolute;
650
668
  inset: 0;
@@ -652,15 +670,19 @@
652
670
  pointer-events: none;
653
671
  overflow: hidden;
654
672
  }
673
+
655
674
  .sd-upgrade-overlay [contenteditable] {
656
675
  pointer-events: none;
657
676
  user-select: none;
658
677
  }
678
+
659
679
  /* visibility: hidden (not display: none) so layout engine can still measure */
660
680
  .sd-upgrade-hidden {
661
681
  visibility: hidden !important;
662
682
  }
683
+
663
684
  /* --- Search highlights (transient, used in both editor and presentation mode) --- */
685
+
664
686
  /* AIDEV-NOTE: SD-3045. The DomPainter writes `style.backgroundColor = run.highlight`
665
687
  * inline on the same span the search DecorationBridge tags. Inline styles win over
666
688
  * class selectors, so on every run whose source rPr carries a highlight mark
@@ -673,15 +695,19 @@
673
695
  .superdoc .ProseMirror-search-match:not([data-sd-search-exact-highlight]) {
674
696
  background: var(--sd-ui-search-match-bg) !important;
675
697
  }
698
+
676
699
  .superdoc .ProseMirror-active-search-match:not([data-sd-search-exact-highlight]) {
677
700
  background: var(--sd-ui-search-match-active-bg) !important;
678
701
  }
702
+
679
703
  ::highlight(superdoc-search-match) {
680
704
  background: var(--sd-ui-search-match-bg);
681
705
  }
706
+
682
707
  ::highlight(superdoc-search-active-match) {
683
708
  background: var(--sd-ui-search-match-active-bg);
684
709
  }
710
+
685
711
  /* Proofing underlines are render-only v1/v2 UI state. They must not alter DOCX
686
712
  * bytes or layout identity; the runtime owns adding/removing these classes. */
687
713
  .superdoc .sd-proofing-spelling,
@@ -692,15 +718,19 @@
692
718
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
693
719
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
694
720
  }
721
+
695
722
  .superdoc .sd-proofing-spelling {
696
723
  text-decoration-color: var(--sd-proofing-spelling-color, #e53e3e);
697
724
  }
725
+
698
726
  .superdoc .sd-proofing-grammar {
699
727
  text-decoration-color: var(--sd-proofing-grammar-color, #3182ce);
700
728
  }
729
+
701
730
  .superdoc .sd-proofing-style {
702
731
  text-decoration-color: var(--sd-proofing-style-color, #805ad5);
703
732
  }
733
+
704
734
  /* CSS Custom Highlight variant: the v2 runtime paints per-word squiggles over
705
735
  * exact text ranges (no DOM mutation). Highlight names match the class names. */
706
736
  ::highlight(sd-proofing-spelling),
@@ -711,15 +741,19 @@
711
741
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
712
742
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
713
743
  }
744
+
714
745
  ::highlight(sd-proofing-spelling) {
715
746
  text-decoration-color: var(--sd-proofing-spelling-color, #e53e3e);
716
747
  }
748
+
717
749
  ::highlight(sd-proofing-grammar) {
718
750
  text-decoration-color: var(--sd-proofing-grammar-color, #3182ce);
719
751
  }
752
+
720
753
  ::highlight(sd-proofing-style) {
721
754
  text-decoration-color: var(--sd-proofing-style-color, #805ad5);
722
755
  }
756
+
723
757
  /* Contained Mode - fixed-height container embedding with internal scrolling */
724
758
  .superdoc--contained,
725
759
  .superdoc--contained .superdoc__layers,
@@ -727,6 +761,7 @@
727
761
  .superdoc--contained .superdoc__sub-document {
728
762
  height: 100%;
729
763
  }
764
+
730
765
  /* Sub-document scroll fallback for non-document-editor content (PDF, HTML).
731
766
  * The document editor manages its own scroll container, but PDF/HTML viewers
732
767
  * don't, so they need the sub-document to scroll. */