@a3s-lab/office 0.26.0 → 0.28.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.
Files changed (87) hide show
  1. package/README.md +89 -2
  2. package/dist/0~4595.js +16 -2
  3. package/dist/0~5093.js +563 -201
  4. package/dist/0~6090.js +77 -77
  5. package/dist/{0~2805.js → 0~7043.js} +305 -2
  6. package/dist/0~document-editor.js +2633 -976
  7. package/dist/0~spreadsheet-editor.js +1324 -378
  8. package/dist/0~work-docx-export.js +737 -17
  9. package/dist/0~work-docx-import.js +173 -98
  10. package/dist/0~work-office-diagnostics.js +250 -5
  11. package/dist/{164.js → 1544.js} +1083 -785
  12. package/dist/4104.js +145 -29
  13. package/dist/5184.js +13 -0
  14. package/dist/6282.js +1898 -345
  15. package/dist/core.js +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/internal/features/work/editors/document-command-catalog.d.ts +102 -0
  18. package/dist/internal/features/work/editors/document-font-dialog-model.d.ts +111 -0
  19. package/dist/internal/features/work/editors/document-font-dialog-script-font-model.d.ts +18 -0
  20. package/dist/internal/features/work/editors/document-font-dialog.d.ts +9 -0
  21. package/dist/internal/features/work/editors/document-home-ribbon.d.ts +2 -1
  22. package/dist/internal/features/work/editors/document-page-chrome-editor.d.ts +6 -0
  23. package/dist/internal/features/work/editors/document-page-chrome-ribbon.d.ts +2 -1
  24. package/dist/internal/features/work/editors/document-strike-ribbon.d.ts +7 -0
  25. package/dist/internal/features/work/editors/document-text-case-ribbon.d.ts +4 -0
  26. package/dist/internal/features/work/editors/document-toolbar.d.ts +3 -1
  27. package/dist/internal/features/work/editors/document-underline-ribbon.d.ts +9 -0
  28. package/dist/internal/features/work/editors/document-wps-shortcuts.d.ts +1 -0
  29. package/dist/internal/features/work/editors/spreadsheet-cell-fill-format.d.ts +11 -0
  30. package/dist/internal/features/work/editors/spreadsheet-cell-format.d.ts +2 -1
  31. package/dist/internal/features/work/editors/spreadsheet-format-cells-dialog-model.d.ts +13 -2
  32. package/dist/internal/features/work/editors/spreadsheet-format-cells-fill-panel.d.ts +13 -0
  33. package/dist/internal/features/work/editors/spreadsheet-format-cells-fill-preview.d.ts +6 -0
  34. package/dist/internal/features/work/editors/spreadsheet-format-painter.d.ts +1 -1
  35. package/dist/internal/features/work/editors/work-office-chrome.d.ts +9 -1
  36. package/dist/internal/features/work/work-document-character-formatting.d.ts +16 -1
  37. package/dist/internal/features/work/work-document-character-position.d.ts +9 -0
  38. package/dist/internal/features/work/work-document-character-scale.d.ts +8 -0
  39. package/dist/internal/features/work/work-document-character-spacing.d.ts +8 -0
  40. package/dist/internal/features/work/work-document-emphasis.d.ts +7 -0
  41. package/dist/internal/features/work/work-document-equations.d.ts +2 -1
  42. package/dist/internal/features/work/work-document-format-changes.d.ts +20 -2
  43. package/dist/internal/features/work/work-document-hidden-text.d.ts +5 -0
  44. package/dist/internal/features/work/work-document-kerning.d.ts +10 -0
  45. package/dist/internal/features/work/work-document-legacy-text-effects.d.ts +27 -0
  46. package/dist/internal/features/work/work-document-script-font-extension.d.ts +2 -0
  47. package/dist/internal/features/work/work-document-script-fonts.d.ts +51 -0
  48. package/dist/internal/features/work/work-document-strike.d.ts +21 -0
  49. package/dist/internal/features/work/work-document-text-case.d.ts +10 -0
  50. package/dist/internal/features/work/work-document-underline.d.ts +37 -0
  51. package/dist/internal/features/work/work-document-word-line-metrics.d.ts +16 -0
  52. package/dist/internal/features/work/work-docx-character-position.d.ts +2 -0
  53. package/dist/internal/features/work/work-docx-character-scale.d.ts +2 -0
  54. package/dist/internal/features/work/work-docx-character-spacing.d.ts +4 -0
  55. package/dist/internal/features/work/work-docx-emphasis-diagnostics.d.ts +3 -0
  56. package/dist/internal/features/work/work-docx-emphasis.d.ts +14 -0
  57. package/dist/internal/features/work/work-docx-hidden-text-diagnostics.d.ts +3 -0
  58. package/dist/internal/features/work/work-docx-hidden-text-export.d.ts +17 -0
  59. package/dist/internal/features/work/work-docx-hidden-text.d.ts +11 -0
  60. package/dist/internal/features/work/work-docx-kerning-diagnostics.d.ts +3 -0
  61. package/dist/internal/features/work/work-docx-kerning.d.ts +14 -0
  62. package/dist/internal/features/work/work-docx-legacy-text-effects-diagnostics.d.ts +3 -0
  63. package/dist/internal/features/work/work-docx-legacy-text-effects-export.d.ts +18 -0
  64. package/dist/internal/features/work/work-docx-legacy-text-effects.d.ts +12 -0
  65. package/dist/internal/features/work/work-docx-run-fonts-diagnostics.d.ts +3 -0
  66. package/dist/internal/features/work/work-docx-run-fonts-export.d.ts +14 -0
  67. package/dist/internal/features/work/work-docx-run-fonts.d.ts +13 -0
  68. package/dist/internal/features/work/work-docx-run-formatting-import.d.ts +27 -2
  69. package/dist/internal/features/work/work-docx-run-property-order.d.ts +2 -0
  70. package/dist/internal/features/work/work-docx-run-script-font-import.d.ts +9 -0
  71. package/dist/internal/features/work/work-docx-strike.d.ts +8 -0
  72. package/dist/internal/features/work/work-docx-theme-reference.d.ts +1 -1
  73. package/dist/internal/features/work/work-docx-twips.d.ts +6 -0
  74. package/dist/internal/features/work/work-docx-underline.d.ts +3 -0
  75. package/dist/internal/features/work/work-spreadsheet-gradient-fill-canvas.d.ts +10 -0
  76. package/dist/internal/features/work/work-spreadsheet-native-fill-canvas.d.ts +8 -0
  77. package/dist/internal/features/work/work-spreadsheet-pattern-fill-canvas.d.ts +8 -0
  78. package/dist/internal/features/work/work-xlsx-cell-style-origin.d.ts +2 -1
  79. package/dist/internal/features/work/work-xlsx-cell-style-writer.d.ts +3 -0
  80. package/dist/internal/features/work/work-xlsx-cell-styles.d.ts +4 -0
  81. package/dist/internal/features/work/work-xlsx-gradient-fill.d.ts +31 -0
  82. package/dist/internal/features/work/work-xlsx-native-fill.d.ts +17 -0
  83. package/dist/internal/features/work/work-xlsx-pattern-fill.d.ts +21 -0
  84. package/dist/office-kernel.wasm +0 -0
  85. package/dist/styles.css +809 -78
  86. package/docs/latest/en/browser-editor-architecture.md +24 -0
  87. package/package.json +35 -1
package/dist/styles.css CHANGED
@@ -5826,6 +5826,33 @@ html[data-ds-resizing="horizontal"], html[data-ds-resizing="horizontal"] * {
5826
5826
  overflow: hidden;
5827
5827
  }
5828
5828
 
5829
+ .work-office-ribbon-group[data-has-dialog-launcher="true"] > span {
5830
+ right: 15px;
5831
+ }
5832
+
5833
+ .work-office-ribbon .work-office-toolbar .work-office-ribbon-dialog-launcher {
5834
+ width: 11px;
5835
+ min-width: 11px;
5836
+ height: 11px;
5837
+ color: var(--a3s-faint);
5838
+ cursor: pointer;
5839
+ background: none;
5840
+ border: 0;
5841
+ border-radius: 2px;
5842
+ place-items: center;
5843
+ padding: 0;
5844
+ display: grid;
5845
+ position: absolute;
5846
+ bottom: 0;
5847
+ right: 2px;
5848
+ }
5849
+
5850
+ .work-office-ribbon .work-office-toolbar .work-office-ribbon-dialog-launcher:hover, .work-office-ribbon .work-office-toolbar .work-office-ribbon-dialog-launcher:focus-visible {
5851
+ background: var(--a3s-panel-strong);
5852
+ color: var(--work-office-accent);
5853
+ outline: 0;
5854
+ }
5855
+
5829
5856
  .work-office-ribbon .work-office-toolbar[data-density="compact-low"] .work-office-ribbon-group[data-priority="low"], .work-office-ribbon .work-office-toolbar[data-density="compact-normal"] .work-office-ribbon-group:not([data-priority="high"]) {
5830
5857
  padding-left: 4px;
5831
5858
  padding-right: 4px;
@@ -7395,6 +7422,329 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
7395
7422
  display: flex;
7396
7423
  }
7397
7424
 
7425
+ .work-document-underline-control, .work-document-underline-split-root {
7426
+ flex: none;
7427
+ align-items: stretch;
7428
+ display: inline-flex;
7429
+ }
7430
+
7431
+ .work-document-underline-control {
7432
+ gap: 2px;
7433
+ }
7434
+
7435
+ .work-document-underline-split-root {
7436
+ border-radius: 6px;
7437
+ height: 29px;
7438
+ }
7439
+
7440
+ .work-office-ribbon .work-office-toolbar .work-document-underline-split-root > button {
7441
+ border-radius: 0;
7442
+ height: 29px;
7443
+ padding: 0;
7444
+ }
7445
+
7446
+ .work-office-ribbon .work-office-toolbar .work-document-underline-split-root > .work-document-underline-primary {
7447
+ border-radius: 6px 0 0 6px;
7448
+ width: 27px;
7449
+ min-width: 27px;
7450
+ }
7451
+
7452
+ .work-office-ribbon .work-office-toolbar .work-document-underline-split-root > .work-document-underline-disclosure {
7453
+ border-left: 1px solid color-mix(in srgb, var(--a3s-line) 72%, transparent);
7454
+ border-radius: 0 6px 6px 0;
7455
+ width: 14px;
7456
+ min-width: 14px;
7457
+ }
7458
+
7459
+ .work-document-underline-disclosure svg {
7460
+ transition: transform .12s;
7461
+ }
7462
+
7463
+ .work-document-underline-disclosure[aria-expanded="true"] svg {
7464
+ transform: rotate(180deg);
7465
+ }
7466
+
7467
+ .work-document-underline-primary:focus-visible, .work-document-underline-disclosure:focus-visible {
7468
+ box-shadow: inset 0 0 0 1px var(--work-office-accent);
7469
+ outline: 0;
7470
+ }
7471
+
7472
+ .work-document-underline-color {
7473
+ flex: 0 0 25px;
7474
+ width: 25px;
7475
+ height: 29px;
7476
+ }
7477
+
7478
+ .work-document-underline-color .work-office-color-trigger {
7479
+ width: 25px;
7480
+ min-width: 25px;
7481
+ height: 29px;
7482
+ padding: 0;
7483
+ }
7484
+
7485
+ .work-document-underline-menu {
7486
+ --work-office-menu-accent: var(--work-office-accent);
7487
+ grid-template-columns: repeat(2, minmax(0, 1fr));
7488
+ width: min(520px, 100vw - 24px);
7489
+ }
7490
+
7491
+ .work-document-underline-menu > button {
7492
+ grid-template-columns: 34px minmax(0, 1fr) auto;
7493
+ }
7494
+
7495
+ .work-document-underline-menu > button[aria-checked="true"] {
7496
+ background: color-mix(in srgb,
7497
+ var(--work-office-menu-accent) 10%,
7498
+ transparent);
7499
+ }
7500
+
7501
+ .work-document-underline-menu > button[aria-checked="true"]:after {
7502
+ color: var(--work-office-menu-accent);
7503
+ content: "✓";
7504
+ grid-column: 3;
7505
+ font-size: 12px;
7506
+ font-weight: 700;
7507
+ }
7508
+
7509
+ .work-document-underline-menu > button[aria-checked="true"] > kbd:last-child {
7510
+ display: none;
7511
+ }
7512
+
7513
+ .work-document-underline-glyph {
7514
+ width: 32px;
7515
+ height: 22px;
7516
+ color: var(--work-office-menu-accent);
7517
+ place-items: center;
7518
+ font-size: 11px;
7519
+ line-height: 17px;
7520
+ display: grid;
7521
+ position: relative;
7522
+ }
7523
+
7524
+ .work-document-underline-glyph > span {
7525
+ text-underline-offset: 2px;
7526
+ text-decoration-line: underline;
7527
+ }
7528
+
7529
+ .work-document-underline-glyph[data-underline-style="none"] {
7530
+ opacity: .45;
7531
+ }
7532
+
7533
+ .work-document-underline-glyph[data-underline-style="none"] > span {
7534
+ text-decoration: none;
7535
+ }
7536
+
7537
+ .work-document-underline-glyph[data-underline-style="none"]:after {
7538
+ content: "";
7539
+ background: currentColor;
7540
+ width: 25px;
7541
+ height: 1px;
7542
+ position: absolute;
7543
+ transform: rotate(-32deg);
7544
+ }
7545
+
7546
+ .work-document-underline-glyph[data-underline-style="double"] > span, .work-document-underline-glyph[data-underline-style="wavyDouble"] > span {
7547
+ text-decoration-style: double;
7548
+ }
7549
+
7550
+ .work-document-underline-glyph[data-underline-style="dotted"] > span, .work-document-underline-glyph[data-underline-style="dottedHeavy"] > span {
7551
+ text-decoration-style: dotted;
7552
+ }
7553
+
7554
+ .work-document-underline-glyph[data-underline-style="dash"] > span, .work-document-underline-glyph[data-underline-style="dashedHeavy"] > span, .work-document-underline-glyph[data-underline-style="dashLong"] > span, .work-document-underline-glyph[data-underline-style="dashLongHeavy"] > span, .work-document-underline-glyph[data-underline-style="dotDash"] > span, .work-document-underline-glyph[data-underline-style="dashDotHeavy"] > span, .work-document-underline-glyph[data-underline-style="dotDotDash"] > span, .work-document-underline-glyph[data-underline-style="dashDotDotHeavy"] > span {
7555
+ text-decoration-style: dashed;
7556
+ }
7557
+
7558
+ .work-document-underline-glyph[data-underline-style="wave"] > span, .work-document-underline-glyph[data-underline-style="wavyHeavy"] > span, .work-document-underline-glyph[data-underline-style="wavyDouble"] > span {
7559
+ text-decoration-style: wavy;
7560
+ }
7561
+
7562
+ .work-document-underline-glyph[data-underline-style="thick"] > span, .work-document-underline-glyph[data-underline-style="dottedHeavy"] > span, .work-document-underline-glyph[data-underline-style="dashedHeavy"] > span, .work-document-underline-glyph[data-underline-style="dashLongHeavy"] > span, .work-document-underline-glyph[data-underline-style="dashDotHeavy"] > span, .work-document-underline-glyph[data-underline-style="dashDotDotHeavy"] > span, .work-document-underline-glyph[data-underline-style="wavyHeavy"] > span {
7563
+ text-decoration-thickness: 2px;
7564
+ }
7565
+
7566
+ .work-document-ribbon .work-document-font-actions .work-document-underline-split-root, .work-document-ribbon .work-document-font-actions .work-document-underline-split-root > button {
7567
+ height: 24px;
7568
+ }
7569
+
7570
+ .work-document-ribbon .work-document-font-actions .work-document-underline-split-root > .work-document-underline-primary {
7571
+ width: 23px;
7572
+ min-width: 23px;
7573
+ }
7574
+
7575
+ .work-document-ribbon .work-document-font-actions .work-document-underline-split-root > .work-document-underline-disclosure {
7576
+ width: 12px;
7577
+ min-width: 12px;
7578
+ }
7579
+
7580
+ .work-document-selection-toolbar > .work-document-underline-control {
7581
+ gap: 0;
7582
+ height: 28px;
7583
+ }
7584
+
7585
+ .work-document-selection-toolbar .work-document-underline-split-root, .work-document-selection-toolbar .work-document-underline-split-root > button {
7586
+ height: 28px;
7587
+ }
7588
+
7589
+ .work-document-selection-toolbar .work-document-underline-split-root > .work-document-underline-primary {
7590
+ border-radius: 5px 0 0 5px;
7591
+ width: 26px;
7592
+ min-width: 26px;
7593
+ padding: 0;
7594
+ }
7595
+
7596
+ .work-document-selection-toolbar .work-document-underline-split-root > .work-document-underline-disclosure {
7597
+ border-left: 1px solid var(--a3s-line);
7598
+ border-radius: 0 5px 5px 0;
7599
+ width: 12px;
7600
+ min-width: 12px;
7601
+ padding: 0;
7602
+ }
7603
+
7604
+ .work-document-strike-control, .work-document-strike-split-root {
7605
+ flex: none;
7606
+ align-items: stretch;
7607
+ display: inline-flex;
7608
+ }
7609
+
7610
+ .work-document-strike-split-root {
7611
+ border-radius: 6px;
7612
+ height: 29px;
7613
+ }
7614
+
7615
+ .work-office-ribbon .work-office-toolbar .work-document-strike-split-root > button {
7616
+ border-radius: 0;
7617
+ height: 29px;
7618
+ padding: 0;
7619
+ }
7620
+
7621
+ .work-office-ribbon .work-office-toolbar .work-document-strike-split-root > .work-document-strike-primary {
7622
+ border-radius: 6px 0 0 6px;
7623
+ width: 27px;
7624
+ min-width: 27px;
7625
+ }
7626
+
7627
+ .work-office-ribbon .work-office-toolbar .work-document-strike-split-root > .work-document-strike-disclosure {
7628
+ border-left: 1px solid color-mix(in srgb, var(--a3s-line) 72%, transparent);
7629
+ border-radius: 0 6px 6px 0;
7630
+ width: 14px;
7631
+ min-width: 14px;
7632
+ }
7633
+
7634
+ .work-document-strike-disclosure svg {
7635
+ transition: transform .12s;
7636
+ }
7637
+
7638
+ .work-document-strike-disclosure[aria-expanded="true"] svg {
7639
+ transform: rotate(180deg);
7640
+ }
7641
+
7642
+ .work-document-strike-primary:focus-visible, .work-document-strike-disclosure:focus-visible {
7643
+ box-shadow: inset 0 0 0 1px var(--work-office-accent);
7644
+ outline: 0;
7645
+ }
7646
+
7647
+ .work-document-strike-menu {
7648
+ --work-office-menu-accent: var(--work-office-accent);
7649
+ width: min(260px, 100vw - 24px);
7650
+ }
7651
+
7652
+ .work-document-strike-menu > button {
7653
+ grid-template-columns: 34px minmax(0, 1fr) auto;
7654
+ }
7655
+
7656
+ .work-document-strike-menu > button[aria-checked="true"] {
7657
+ background: color-mix(in srgb,
7658
+ var(--work-office-menu-accent) 10%,
7659
+ transparent);
7660
+ }
7661
+
7662
+ .work-document-strike-menu > button[aria-checked="true"]:after {
7663
+ color: var(--work-office-menu-accent);
7664
+ content: "✓";
7665
+ grid-column: 3;
7666
+ font-size: 12px;
7667
+ font-weight: 700;
7668
+ }
7669
+
7670
+ .work-document-strike-glyph {
7671
+ width: 32px;
7672
+ height: 22px;
7673
+ color: var(--work-office-menu-accent);
7674
+ place-items: center;
7675
+ font-size: 11px;
7676
+ line-height: 17px;
7677
+ display: grid;
7678
+ position: relative;
7679
+ }
7680
+
7681
+ .work-document-strike-glyph > span {
7682
+ -webkit-text-decoration-skip-ink: none;
7683
+ text-decoration-skip-ink: none;
7684
+ text-decoration-line: line-through;
7685
+ }
7686
+
7687
+ .work-document-strike-glyph[data-strike-style="none"] {
7688
+ opacity: .45;
7689
+ }
7690
+
7691
+ .work-document-strike-glyph[data-strike-style="none"] > span {
7692
+ text-decoration: none;
7693
+ }
7694
+
7695
+ .work-document-strike-glyph[data-strike-style="none"]:after {
7696
+ content: "";
7697
+ background: currentColor;
7698
+ width: 25px;
7699
+ height: 1px;
7700
+ position: absolute;
7701
+ transform: rotate(-32deg);
7702
+ }
7703
+
7704
+ .work-document-strike-glyph[data-strike-style="double"] > span {
7705
+ text-decoration-style: double;
7706
+ }
7707
+
7708
+ .work-document-ribbon .work-document-font-actions .work-document-strike-split-root, .work-document-ribbon .work-document-font-actions .work-document-strike-split-root > button {
7709
+ height: 24px;
7710
+ }
7711
+
7712
+ .work-document-ribbon .work-document-font-actions .work-document-strike-split-root > .work-document-strike-primary {
7713
+ width: 23px;
7714
+ min-width: 23px;
7715
+ }
7716
+
7717
+ .work-document-ribbon .work-document-font-actions .work-document-strike-split-root > .work-document-strike-disclosure {
7718
+ width: 12px;
7719
+ min-width: 12px;
7720
+ }
7721
+
7722
+ .work-document-selection-toolbar > .work-document-strike-control, .work-document-selection-toolbar .work-document-strike-split-root, .work-document-selection-toolbar .work-document-strike-split-root > button {
7723
+ height: 28px;
7724
+ }
7725
+
7726
+ .work-document-selection-toolbar .work-document-strike-split-root > .work-document-strike-primary {
7727
+ border-radius: 5px 0 0 5px;
7728
+ width: 26px;
7729
+ min-width: 26px;
7730
+ padding: 0;
7731
+ }
7732
+
7733
+ .work-document-selection-toolbar .work-document-strike-split-root > .work-document-strike-disclosure {
7734
+ border-left: 1px solid var(--a3s-line);
7735
+ border-radius: 0 5px 5px 0;
7736
+ width: 12px;
7737
+ min-width: 12px;
7738
+ padding: 0;
7739
+ }
7740
+
7741
+ @media (width <= 640px) {
7742
+ .work-document-underline-menu {
7743
+ grid-template-columns: minmax(0, 1fr);
7744
+ width: min(300px, 100vw - 16px);
7745
+ }
7746
+ }
7747
+
7398
7748
  .work-document-ribbon .work-document-font-tools .work-office-select > button[role="combobox"], .work-document-ribbon .work-document-paragraph-tools .work-office-select > button[role="combobox"] {
7399
7749
  min-width: 0;
7400
7750
  height: 24px;
@@ -9218,93 +9568,283 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
9218
9568
  border-radius: 2px;
9219
9569
  }
9220
9570
 
9221
- .work-document-editor .work-document-find-match.active {
9222
- outline-offset: 1px;
9223
- background: #ffd66b;
9224
- outline: 1px solid #d99316b3;
9571
+ .work-document-editor .work-document-find-match.active {
9572
+ outline-offset: 1px;
9573
+ background: #ffd66b;
9574
+ outline: 1px solid #d99316b3;
9575
+ }
9576
+
9577
+ @media (width <= 900px) {
9578
+ .work-document-review-surface.comments-open {
9579
+ gap: 0;
9580
+ }
9581
+
9582
+ .work-document-comments-panel {
9583
+ flex-basis: 276px;
9584
+ align-self: flex-start;
9585
+ width: 276px;
9586
+ min-height: min(720px, 100dvh - 176px);
9587
+ position: sticky;
9588
+ right: 0;
9589
+ box-shadow: -10px 0 24px #1e26371a;
9590
+ }
9591
+ }
9592
+
9593
+ @media (width <= 620px) {
9594
+ .work-document-review-surface.comments-open {
9595
+ justify-content: flex-start;
9596
+ }
9597
+
9598
+ .work-document-comment-connectors {
9599
+ display: none;
9600
+ }
9601
+
9602
+ .work-document-comments-panel {
9603
+ background: var(--a3s-panel);
9604
+ flex-basis: min(360px, 100vw);
9605
+ align-self: flex-start;
9606
+ width: min(360px, 100vw);
9607
+ min-height: min(640px, 100dvh - 160px);
9608
+ max-height: calc(100dvh - 160px);
9609
+ position: sticky;
9610
+ top: 0;
9611
+ right: 0;
9612
+ overflow-y: auto;
9613
+ box-shadow: -14px 0 30px #1e263729;
9614
+ }
9615
+
9616
+ .work-document-comment-track {
9617
+ align-content: start;
9618
+ gap: 8px;
9619
+ padding: 8px;
9620
+ display: grid;
9621
+ min-height: 0 !important;
9622
+ }
9623
+
9624
+ .work-document-comment-track > .work-document-comment-card, .work-document-comment-track > .work-document-comment-draft-item > .work-document-comment-composer {
9625
+ position: relative;
9626
+ left: auto;
9627
+ right: auto;
9628
+ top: auto !important;
9629
+ }
9630
+
9631
+ .work-document-comments-empty.ds-collection-state {
9632
+ position: static;
9633
+ }
9634
+ }
9635
+
9636
+ .work-document-editor ins[data-document-change], .work-pdf-export-page.document ins[data-document-change] {
9637
+ color: #216b43;
9638
+ background: #e7f6ed;
9639
+ border-bottom: 1px solid #2d8a58;
9640
+ text-decoration: none;
9641
+ }
9642
+
9643
+ .work-document-editor del[data-document-change], .work-pdf-export-page.document del[data-document-change] {
9644
+ color: #b9483d;
9645
+ background: #fff0ee;
9646
+ text-decoration-thickness: 1px;
9647
+ }
9648
+
9649
+ .work-document-editor span[data-document-change][data-change-kind="formatting"], .work-pdf-export-page.document span[data-document-change][data-change-kind="formatting"] {
9650
+ color: inherit;
9651
+ background: #f0edff;
9652
+ border-bottom: 1px dashed #6d5bd0;
9653
+ text-decoration: none;
9654
+ }
9655
+
9656
+ .work-document-editor :is(p, h1, h2, h3, h4, h5, h6)[data-document-change][data-change-kind="paragraph-formatting"], .work-pdf-export-page.document :is(p, h1, h2, h3, h4, h5, h6)[data-document-change][data-change-kind="paragraph-formatting"] {
9657
+ box-shadow: inset 3px 0 #8b5cf6;
9658
+ }
9659
+
9660
+ .work-document-font-dialog {
9661
+ width: min(680px, 100%);
9662
+ }
9663
+
9664
+ .work-document-font-dialog form {
9665
+ gap: 18px;
9666
+ display: grid;
9667
+ }
9668
+
9669
+ .work-document-font-dialog-script-fonts, .work-document-font-dialog-spacing {
9670
+ border: 1px solid var(--a3s-line);
9671
+ border-radius: 10px;
9672
+ gap: 14px 18px;
9673
+ margin: 0;
9674
+ padding: 15px 16px 17px;
9675
+ display: grid;
9676
+ }
9677
+
9678
+ .work-document-font-dialog-script-fonts {
9679
+ grid-template-columns: repeat(3, minmax(0, 1fr));
9680
+ }
9681
+
9682
+ .work-document-font-dialog-spacing {
9683
+ grid-template-columns: repeat(2, minmax(0, 1fr));
9684
+ }
9685
+
9686
+ .work-document-font-dialog-script-fonts > legend, .work-document-font-dialog-spacing > legend {
9687
+ color: var(--a3s-ink);
9688
+ padding: 0 5px;
9689
+ font-size: 11px;
9690
+ font-weight: 700;
9691
+ }
9692
+
9693
+ .work-document-font-dialog-field {
9694
+ min-width: 0;
9695
+ color: var(--a3s-muted);
9696
+ gap: 6px;
9697
+ font-size: 11px;
9698
+ font-weight: 650;
9699
+ display: grid;
9700
+ }
9701
+
9702
+ .work-document-font-dialog-hidden-text {
9703
+ justify-content: start;
9704
+ align-self: end;
9705
+ min-height: 32px;
9706
+ }
9707
+
9708
+ .work-document-font-dialog-legacy-effects {
9709
+ border: 1px solid color-mix(in srgb, var(--a3s-line) 78%, transparent);
9710
+ background: var(--a3s-panel-soft);
9711
+ border-radius: 8px;
9712
+ grid-column: 1 / -1;
9713
+ grid-template-columns: repeat(4, minmax(0, 1fr));
9714
+ gap: 8px 16px;
9715
+ min-width: 0;
9716
+ margin: 0;
9717
+ padding: 10px 12px;
9718
+ display: grid;
9719
+ }
9720
+
9721
+ .work-document-font-dialog-field > .work-office-select, .work-document-font-dialog-field .work-office-number-field, .work-document-font-dialog-field button[role="combobox"] {
9722
+ width: 100%;
9723
+ }
9724
+
9725
+ .work-document-font-dialog-measure {
9726
+ grid-template-columns: minmax(0, 1fr) auto;
9727
+ align-items: center;
9728
+ gap: 8px;
9729
+ display: grid;
9730
+ }
9731
+
9732
+ .work-document-font-dialog-measure > span {
9733
+ color: var(--a3s-muted);
9734
+ font-size: 11px;
9735
+ font-weight: 600;
9736
+ }
9737
+
9738
+ .work-document-font-dialog-mixed, .work-document-font-dialog-error {
9739
+ grid-column: 1 / -1;
9740
+ margin: -2px 0 0;
9741
+ font-size: 11px;
9742
+ line-height: 1.5;
9743
+ }
9744
+
9745
+ .work-document-font-dialog-mixed {
9746
+ color: var(--a3s-muted);
9747
+ }
9748
+
9749
+ .work-document-font-dialog-error {
9750
+ color: var(--a3s-red);
9751
+ }
9752
+
9753
+ .work-document-font-dialog-preview {
9754
+ border: 1px solid var(--a3s-line);
9755
+ background: var(--a3s-panel-soft);
9756
+ border-radius: 10px;
9757
+ place-items: center;
9758
+ min-height: 106px;
9759
+ padding: 14px 18px 18px;
9760
+ display: grid;
9761
+ overflow: hidden;
9762
+ }
9763
+
9764
+ .work-document-font-dialog-preview > span {
9765
+ color: var(--a3s-muted);
9766
+ justify-self: start;
9767
+ font-size: 10px;
9768
+ font-weight: 650;
9225
9769
  }
9226
9770
 
9227
- @media (width <= 900px) {
9228
- .work-document-review-surface.comments-open {
9229
- gap: 0;
9230
- }
9231
-
9232
- .work-document-comments-panel {
9233
- flex-basis: 276px;
9234
- align-self: flex-start;
9235
- width: 276px;
9236
- min-height: min(720px, 100dvh - 176px);
9237
- position: sticky;
9238
- right: 0;
9239
- box-shadow: -10px 0 24px #1e26371a;
9240
- }
9771
+ .work-document-font-dialog-preview > output {
9772
+ max-width: 100%;
9773
+ color: var(--a3s-ink);
9774
+ text-align: center;
9775
+ text-overflow: ellipsis;
9776
+ white-space: nowrap;
9777
+ font-size: 22px;
9778
+ line-height: 1.5;
9779
+ overflow: hidden;
9241
9780
  }
9242
9781
 
9243
9782
  @media (width <= 620px) {
9244
- .work-document-review-surface.comments-open {
9245
- justify-content: flex-start;
9783
+ .work-document-font-dialog-script-fonts, .work-document-font-dialog-spacing {
9784
+ grid-template-columns: minmax(0, 1fr);
9246
9785
  }
9247
9786
 
9248
- .work-document-comment-connectors {
9249
- display: none;
9787
+ .work-document-font-dialog-legacy-effects {
9788
+ grid-template-columns: repeat(2, minmax(0, 1fr));
9250
9789
  }
9251
9790
 
9252
- .work-document-comments-panel {
9253
- background: var(--a3s-panel);
9254
- flex-basis: min(360px, 100vw);
9255
- align-self: flex-start;
9256
- width: min(360px, 100vw);
9257
- min-height: min(640px, 100dvh - 160px);
9258
- max-height: calc(100dvh - 160px);
9259
- position: sticky;
9260
- top: 0;
9261
- right: 0;
9262
- overflow-y: auto;
9263
- box-shadow: -14px 0 30px #1e263729;
9791
+ .work-document-font-dialog-preview {
9792
+ min-height: 88px;
9264
9793
  }
9265
9794
 
9266
- .work-document-comment-track {
9267
- align-content: start;
9268
- gap: 8px;
9269
- padding: 8px;
9270
- display: grid;
9271
- min-height: 0 !important;
9795
+ .work-document-font-dialog-preview > output {
9796
+ font-size: 19px;
9272
9797
  }
9798
+ }
9273
9799
 
9274
- .work-document-comment-track > .work-document-comment-card, .work-document-comment-track > .work-document-comment-draft-item > .work-document-comment-composer {
9275
- position: relative;
9276
- left: auto;
9277
- right: auto;
9278
- top: auto !important;
9279
- }
9800
+ [data-office-character-position-half-points] {
9801
+ vertical-align: var(--work-document-character-position);
9802
+ }
9280
9803
 
9281
- .work-document-comments-empty.ds-collection-state {
9282
- position: static;
9283
- }
9804
+ sub [data-office-character-position-half-points], sup [data-office-character-position-half-points], [data-office-character-position-half-points]:has(sub), [data-office-character-position-half-points]:has(sup) {
9805
+ vertical-align: baseline;
9284
9806
  }
9285
9807
 
9286
- .work-document-editor ins[data-document-change], .work-pdf-export-page.document ins[data-document-change] {
9287
- color: #216b43;
9288
- background: #e7f6ed;
9289
- border-bottom: 1px solid #2d8a58;
9290
- text-decoration: none;
9808
+ [data-office-hidden-text="true"] {
9809
+ display: none;
9291
9810
  }
9292
9811
 
9293
- .work-document-editor del[data-document-change], .work-pdf-export-page.document del[data-document-change] {
9294
- color: #b9483d;
9295
- background: #fff0ee;
9296
- text-decoration-thickness: 1px;
9812
+ .work-document-editor.show-hidden-text:not(.preview) [data-office-hidden-text="true"] {
9813
+ -webkit-text-decoration-skip-ink: none;
9814
+ text-decoration-skip-ink: none;
9815
+ text-underline-offset: .18em;
9816
+ text-decoration-line: underline;
9817
+ text-decoration-style: dotted;
9818
+ text-decoration-color: currentColor;
9819
+ display: inline;
9297
9820
  }
9298
9821
 
9299
- .work-document-editor span[data-document-change][data-change-kind="formatting"], .work-pdf-export-page.document span[data-document-change][data-change-kind="formatting"] {
9300
- color: inherit;
9301
- background: #f0edff;
9302
- border-bottom: 1px dashed #6d5bd0;
9303
- text-decoration: none;
9822
+ .work-document-editor.preview [data-office-hidden-text="true"], .work-document-editor.preview.show-hidden-text [data-office-hidden-text="true"], .work-document-live-pdf-snapshot [data-office-hidden-text="true"] {
9823
+ display: none;
9304
9824
  }
9305
9825
 
9306
- .work-document-editor :is(p, h1, h2, h3, h4, h5, h6)[data-document-change][data-change-kind="paragraph-formatting"], .work-pdf-export-page.document :is(p, h1, h2, h3, h4, h5, h6)[data-document-change][data-change-kind="paragraph-formatting"] {
9307
- box-shadow: inset 3px 0 #8b5cf6;
9826
+ [data-office-legacy-text-outline="true"] {
9827
+ -webkit-text-fill-color: transparent;
9828
+ -webkit-text-stroke: .045em currentColor;
9829
+ paint-order: stroke fill;
9830
+ }
9831
+
9832
+ [data-office-legacy-text-shadow="true"] {
9833
+ text-shadow: .08em .08em;
9834
+ }
9835
+
9836
+ [data-office-legacy-text-emboss="true"] {
9837
+ -webkit-text-fill-color: currentColor;
9838
+ -webkit-text-stroke: 0 transparent;
9839
+ paint-order: normal;
9840
+ text-shadow: -.045em -.045em #ffffffe6, .045em .045em #00000085;
9841
+ }
9842
+
9843
+ [data-office-legacy-text-imprint="true"] {
9844
+ -webkit-text-fill-color: currentColor;
9845
+ -webkit-text-stroke: 0 transparent;
9846
+ paint-order: normal;
9847
+ text-shadow: .045em .045em #ffffffe6, -.045em -.045em #00000085;
9308
9848
  }
9309
9849
 
9310
9850
  .work-document-list-tools {
@@ -10267,6 +10807,7 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
10267
10807
  isolation: isolate;
10268
10808
  color: #20232b;
10269
10809
  font-family: var(--work-document-render-font-family);
10810
+ font-kerning: none;
10270
10811
  font-size: var(--work-document-render-font-size);
10271
10812
  line-height: var(--work-document-render-line-height);
10272
10813
  overflow-wrap: break-word;
@@ -10294,6 +10835,7 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
10294
10835
  color: #7a8395;
10295
10836
  min-height: 28px;
10296
10837
  font-family: var(--work-document-render-font-family);
10838
+ font-kerning: none;
10297
10839
  font-size: var(--work-document-render-font-size);
10298
10840
  line-height: var(--work-document-render-line-height);
10299
10841
  white-space: pre-wrap;
@@ -15866,7 +16408,7 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
15866
16408
  }
15867
16409
 
15868
16410
  .work-spreadsheet-format-cells-dialog {
15869
- width: min(680px, 100%);
16411
+ width: min(760px, 100%);
15870
16412
  }
15871
16413
 
15872
16414
  .work-spreadsheet-format-cells-dialog > .ds-dialog-body {
@@ -16129,28 +16671,187 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
16129
16671
  }
16130
16672
 
16131
16673
  .work-spreadsheet-format-cells-fill {
16132
- grid-template-columns: minmax(190px, 1fr) auto;
16674
+ gap: 18px;
16675
+ display: grid;
16676
+ }
16677
+
16678
+ .work-spreadsheet-format-cells-fill-modes.ds-segmented-control {
16679
+ width: min(460px, 100%);
16680
+ }
16681
+
16682
+ .work-spreadsheet-format-cells-fill-layout {
16683
+ grid-template-columns: minmax(0, 1fr) minmax(210px, .68fr);
16684
+ align-items: start;
16685
+ gap: 22px;
16686
+ display: grid;
16687
+ }
16688
+
16689
+ .work-spreadsheet-format-cells-fill-controls, .work-spreadsheet-format-cells-pattern-controls, .work-spreadsheet-format-cells-gradient-controls {
16690
+ gap: 14px;
16691
+ min-width: 0;
16692
+ display: grid;
16693
+ }
16694
+
16695
+ .work-spreadsheet-format-cells-pattern-controls {
16696
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16697
+ }
16698
+
16699
+ .work-spreadsheet-format-cells-pattern-controls > .work-spreadsheet-format-cells-field:first-child {
16700
+ grid-column: 1 / -1;
16701
+ }
16702
+
16703
+ .work-spreadsheet-format-cells-fill-empty-copy {
16704
+ color: var(--a3s-muted);
16705
+ margin: 0;
16706
+ font-size: 12px;
16707
+ line-height: 1.65;
16708
+ }
16709
+
16710
+ .work-spreadsheet-format-cells-fill-controls > [role="alert"] {
16711
+ color: var(--a3s-red);
16712
+ margin: 0;
16713
+ font-size: 11px;
16714
+ line-height: 1.55;
16715
+ }
16716
+
16717
+ .work-spreadsheet-format-cells-gradient-geometry {
16718
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16133
16719
  align-items: end;
16134
- gap: 16px;
16135
- max-width: 430px;
16720
+ gap: 12px;
16136
16721
  display: grid;
16137
16722
  }
16138
16723
 
16139
- .work-spreadsheet-format-cells-fill-preview {
16140
- border: 1px solid var(--a3s-line);
16141
- min-height: 118px;
16142
- color: var(--a3s-ink);
16143
- border-radius: 9px;
16724
+ .work-spreadsheet-format-cells-path-geometry {
16144
16725
  grid-column: 1 / -1;
16145
- place-items: center;
16726
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16727
+ gap: 10px 12px;
16728
+ display: grid;
16729
+ }
16730
+
16731
+ .work-spreadsheet-format-cells-gradient-stops-heading {
16732
+ justify-content: space-between;
16733
+ align-items: center;
16734
+ gap: 12px;
16735
+ min-width: 0;
16736
+ padding-top: 2px;
16737
+ display: flex;
16738
+ }
16739
+
16740
+ .work-spreadsheet-format-cells-gradient-stops-heading > div {
16741
+ align-items: baseline;
16742
+ gap: 8px;
16743
+ min-width: 0;
16744
+ display: flex;
16745
+ }
16746
+
16747
+ .work-spreadsheet-format-cells-gradient-stops-heading strong {
16748
+ color: var(--a3s-ink);
16146
16749
  font-size: 11px;
16147
16750
  font-weight: 650;
16751
+ }
16752
+
16753
+ .work-spreadsheet-format-cells-gradient-stops-heading span {
16754
+ color: var(--a3s-muted);
16755
+ font-size: 10px;
16756
+ }
16757
+
16758
+ .work-spreadsheet-format-cells-gradient-stops-heading > .ds-button {
16759
+ flex: none;
16760
+ gap: 5px;
16761
+ }
16762
+
16763
+ .work-spreadsheet-format-cells-gradient-stops {
16764
+ border-block: 1px solid var(--a3s-line);
16765
+ scrollbar-width: thin;
16766
+ max-height: 214px;
16767
+ margin: 0;
16768
+ padding: 0;
16769
+ list-style: none;
16148
16770
  display: grid;
16771
+ overflow: auto;
16149
16772
  }
16150
16773
 
16151
- .work-spreadsheet-format-cells-fill-preview.empty {
16152
- background: var(--a3s-panel-soft);
16774
+ .work-spreadsheet-format-cells-gradient-stop {
16775
+ grid-template-columns: 20px minmax(112px, 1fr) minmax(86px, .7fr) 28px;
16776
+ align-items: center;
16777
+ gap: 8px;
16778
+ min-width: 0;
16779
+ padding: 8px 2px;
16780
+ display: grid;
16781
+ }
16782
+
16783
+ .work-spreadsheet-format-cells-gradient-stop + .work-spreadsheet-format-cells-gradient-stop {
16784
+ border-top: 1px solid var(--a3s-line);
16785
+ }
16786
+
16787
+ .work-spreadsheet-format-cells-gradient-stop-index {
16788
+ color: var(--a3s-muted);
16789
+ font-variant-numeric: tabular-nums;
16790
+ text-align: center;
16791
+ font-size: 10px;
16792
+ }
16793
+
16794
+ .work-spreadsheet-format-cells-gradient-stop > .work-office-color-picker, .work-spreadsheet-format-cells-gradient-stop .work-office-color-trigger {
16795
+ width: 100%;
16796
+ }
16797
+
16798
+ .work-spreadsheet-format-cells-stop-position {
16799
+ min-width: 0;
16800
+ color: var(--a3s-muted);
16801
+ grid-template-columns: minmax(0, 1fr) auto;
16802
+ align-items: center;
16803
+ gap: 4px;
16804
+ font-size: 10px;
16805
+ display: grid;
16806
+ }
16807
+
16808
+ .work-spreadsheet-format-cells-gradient-stop-remove.ds-icon-button {
16809
+ width: 28px;
16810
+ height: 28px;
16811
+ }
16812
+
16813
+ .work-spreadsheet-format-cells-gradient-help {
16153
16814
  color: var(--a3s-muted);
16815
+ font-size: 10px;
16816
+ line-height: 1.55;
16817
+ }
16818
+
16819
+ .work-spreadsheet-format-cells-fill-preview {
16820
+ border: 1px solid var(--a3s-line);
16821
+ background: var(--a3s-panel-soft);
16822
+ border-radius: 9px;
16823
+ min-width: 0;
16824
+ margin: 0;
16825
+ display: grid;
16826
+ overflow: hidden;
16827
+ }
16828
+
16829
+ .work-spreadsheet-format-cells-fill-preview > canvas {
16830
+ width: 100%;
16831
+ height: 142px;
16832
+ display: block;
16833
+ }
16834
+
16835
+ .work-spreadsheet-format-cells-fill-preview.none > canvas {
16836
+ background: linear-gradient(45deg, var(--a3s-line) 25%, transparent 25%) 0 0 / 16px 16px,
16837
+ linear-gradient(-45deg, var(--a3s-line) 25%, transparent 25%) 0 8px / 16px
16838
+ 16px,
16839
+ linear-gradient(45deg, transparent 75%, var(--a3s-line) 75%) 8px -8px / 16px
16840
+ 16px,
16841
+ linear-gradient(-45deg, transparent 75%, var(--a3s-line) 75%) -8px 0 / 16px
16842
+ 16px;
16843
+ }
16844
+
16845
+ .work-spreadsheet-format-cells-fill-preview > figcaption {
16846
+ border-top: 1px solid var(--a3s-line);
16847
+ background: var(--a3s-panel);
16848
+ color: var(--a3s-ink);
16849
+ text-overflow: ellipsis;
16850
+ white-space: nowrap;
16851
+ padding: 9px 11px;
16852
+ font-size: 10px;
16853
+ font-weight: 600;
16854
+ overflow: hidden;
16154
16855
  }
16155
16856
 
16156
16857
  .work-spreadsheet-format-cells-protection {
@@ -16193,11 +16894,41 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
16193
16894
  }
16194
16895
 
16195
16896
  .work-spreadsheet-format-cells-fill {
16897
+ gap: 14px;
16898
+ }
16899
+
16900
+ .work-spreadsheet-format-cells-fill-modes.ds-segmented-control {
16901
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16902
+ grid-auto-columns: auto;
16903
+ grid-auto-flow: row;
16904
+ }
16905
+
16906
+ .work-spreadsheet-format-cells-fill-layout {
16196
16907
  grid-template-columns: minmax(0, 1fr);
16908
+ gap: 16px;
16197
16909
  }
16198
16910
 
16199
16911
  .work-spreadsheet-format-cells-fill-preview {
16200
- grid-column: 1;
16912
+ grid-row: 1;
16913
+ }
16914
+
16915
+ .work-spreadsheet-format-cells-fill-controls {
16916
+ grid-row: 2;
16917
+ }
16918
+
16919
+ .work-spreadsheet-format-cells-fill-preview > canvas {
16920
+ height: 108px;
16921
+ }
16922
+ }
16923
+
16924
+ @media (width <= 420px) {
16925
+ .work-spreadsheet-format-cells-pattern-controls, .work-spreadsheet-format-cells-gradient-geometry, .work-spreadsheet-format-cells-path-geometry {
16926
+ grid-template-columns: minmax(0, 1fr);
16927
+ }
16928
+
16929
+ .work-spreadsheet-format-cells-gradient-stop {
16930
+ grid-template-columns: 18px minmax(88px, 1fr) 80px 28px;
16931
+ gap: 6px;
16201
16932
  }
16202
16933
  }
16203
16934