@a3s-lab/office 0.26.0 → 0.27.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 (81) hide show
  1. package/README.md +75 -2
  2. package/dist/0~4595.js +16 -2
  3. package/dist/0~5093.js +463 -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 +2451 -985
  7. package/dist/0~spreadsheet-editor.js +1324 -378
  8. package/dist/0~work-docx-export.js +492 -10
  9. package/dist/0~work-docx-import.js +171 -98
  10. package/dist/0~work-office-diagnostics.js +198 -4
  11. package/dist/{164.js → 1544.js} +1083 -785
  12. package/dist/4104.js +145 -29
  13. package/dist/6282.js +1774 -384
  14. package/dist/core.js +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/internal/features/work/editors/document-command-catalog.d.ts +102 -0
  17. package/dist/internal/features/work/editors/document-font-dialog-model.d.ts +83 -0
  18. package/dist/internal/features/work/editors/document-font-dialog-script-font-model.d.ts +18 -0
  19. package/dist/internal/features/work/editors/document-font-dialog.d.ts +9 -0
  20. package/dist/internal/features/work/editors/document-home-ribbon.d.ts +2 -1
  21. package/dist/internal/features/work/editors/document-page-chrome-editor.d.ts +6 -0
  22. package/dist/internal/features/work/editors/document-page-chrome-ribbon.d.ts +2 -1
  23. package/dist/internal/features/work/editors/document-strike-ribbon.d.ts +7 -0
  24. package/dist/internal/features/work/editors/document-text-case-ribbon.d.ts +4 -0
  25. package/dist/internal/features/work/editors/document-toolbar.d.ts +3 -1
  26. package/dist/internal/features/work/editors/document-underline-ribbon.d.ts +9 -0
  27. package/dist/internal/features/work/editors/document-wps-shortcuts.d.ts +1 -0
  28. package/dist/internal/features/work/editors/spreadsheet-cell-fill-format.d.ts +11 -0
  29. package/dist/internal/features/work/editors/spreadsheet-cell-format.d.ts +2 -1
  30. package/dist/internal/features/work/editors/spreadsheet-format-cells-dialog-model.d.ts +13 -2
  31. package/dist/internal/features/work/editors/spreadsheet-format-cells-fill-panel.d.ts +13 -0
  32. package/dist/internal/features/work/editors/spreadsheet-format-cells-fill-preview.d.ts +6 -0
  33. package/dist/internal/features/work/editors/spreadsheet-format-painter.d.ts +1 -1
  34. package/dist/internal/features/work/editors/work-office-chrome.d.ts +9 -1
  35. package/dist/internal/features/work/work-document-character-formatting.d.ts +16 -1
  36. package/dist/internal/features/work/work-document-character-position.d.ts +9 -0
  37. package/dist/internal/features/work/work-document-character-scale.d.ts +8 -0
  38. package/dist/internal/features/work/work-document-character-spacing.d.ts +8 -0
  39. package/dist/internal/features/work/work-document-emphasis.d.ts +7 -0
  40. package/dist/internal/features/work/work-document-equations.d.ts +2 -1
  41. package/dist/internal/features/work/work-document-format-changes.d.ts +16 -2
  42. package/dist/internal/features/work/work-document-hidden-text.d.ts +5 -0
  43. package/dist/internal/features/work/work-document-kerning.d.ts +10 -0
  44. package/dist/internal/features/work/work-document-script-font-extension.d.ts +2 -0
  45. package/dist/internal/features/work/work-document-script-fonts.d.ts +51 -0
  46. package/dist/internal/features/work/work-document-strike.d.ts +21 -0
  47. package/dist/internal/features/work/work-document-text-case.d.ts +10 -0
  48. package/dist/internal/features/work/work-document-underline.d.ts +37 -0
  49. package/dist/internal/features/work/work-document-word-line-metrics.d.ts +12 -0
  50. package/dist/internal/features/work/work-docx-character-position.d.ts +2 -0
  51. package/dist/internal/features/work/work-docx-character-scale.d.ts +2 -0
  52. package/dist/internal/features/work/work-docx-character-spacing.d.ts +4 -0
  53. package/dist/internal/features/work/work-docx-emphasis-diagnostics.d.ts +3 -0
  54. package/dist/internal/features/work/work-docx-emphasis.d.ts +14 -0
  55. package/dist/internal/features/work/work-docx-hidden-text-diagnostics.d.ts +3 -0
  56. package/dist/internal/features/work/work-docx-hidden-text-export.d.ts +16 -0
  57. package/dist/internal/features/work/work-docx-hidden-text.d.ts +11 -0
  58. package/dist/internal/features/work/work-docx-kerning-diagnostics.d.ts +3 -0
  59. package/dist/internal/features/work/work-docx-kerning.d.ts +14 -0
  60. package/dist/internal/features/work/work-docx-run-fonts-diagnostics.d.ts +3 -0
  61. package/dist/internal/features/work/work-docx-run-fonts-export.d.ts +14 -0
  62. package/dist/internal/features/work/work-docx-run-fonts.d.ts +13 -0
  63. package/dist/internal/features/work/work-docx-run-formatting-import.d.ts +23 -2
  64. package/dist/internal/features/work/work-docx-run-script-font-import.d.ts +9 -0
  65. package/dist/internal/features/work/work-docx-strike.d.ts +8 -0
  66. package/dist/internal/features/work/work-docx-theme-reference.d.ts +1 -1
  67. package/dist/internal/features/work/work-docx-twips.d.ts +6 -0
  68. package/dist/internal/features/work/work-docx-underline.d.ts +3 -0
  69. package/dist/internal/features/work/work-spreadsheet-gradient-fill-canvas.d.ts +10 -0
  70. package/dist/internal/features/work/work-spreadsheet-native-fill-canvas.d.ts +8 -0
  71. package/dist/internal/features/work/work-spreadsheet-pattern-fill-canvas.d.ts +8 -0
  72. package/dist/internal/features/work/work-xlsx-cell-style-origin.d.ts +2 -1
  73. package/dist/internal/features/work/work-xlsx-cell-style-writer.d.ts +3 -0
  74. package/dist/internal/features/work/work-xlsx-cell-styles.d.ts +4 -0
  75. package/dist/internal/features/work/work-xlsx-gradient-fill.d.ts +31 -0
  76. package/dist/internal/features/work/work-xlsx-native-fill.d.ts +17 -0
  77. package/dist/internal/features/work/work-xlsx-pattern-fill.d.ts +21 -0
  78. package/dist/office-kernel.wasm +0 -0
  79. package/dist/styles.css +770 -80
  80. package/docs/latest/en/browser-editor-architecture.md +10 -0
  81. package/package.json +32 -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,242 @@ 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-field > .work-office-select, .work-document-font-dialog-field .work-office-number-field, .work-document-font-dialog-field button[role="combobox"] {
9709
+ width: 100%;
9710
+ }
9711
+
9712
+ .work-document-font-dialog-measure {
9713
+ grid-template-columns: minmax(0, 1fr) auto;
9714
+ align-items: center;
9715
+ gap: 8px;
9716
+ display: grid;
9717
+ }
9718
+
9719
+ .work-document-font-dialog-measure > span {
9720
+ color: var(--a3s-muted);
9721
+ font-size: 11px;
9722
+ font-weight: 600;
9723
+ }
9724
+
9725
+ .work-document-font-dialog-mixed, .work-document-font-dialog-error {
9726
+ grid-column: 1 / -1;
9727
+ margin: -2px 0 0;
9728
+ font-size: 11px;
9729
+ line-height: 1.5;
9730
+ }
9731
+
9732
+ .work-document-font-dialog-mixed {
9733
+ color: var(--a3s-muted);
9734
+ }
9735
+
9736
+ .work-document-font-dialog-error {
9737
+ color: var(--a3s-red);
9225
9738
  }
9226
9739
 
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
- }
9740
+ .work-document-font-dialog-preview {
9741
+ border: 1px solid var(--a3s-line);
9742
+ background: var(--a3s-panel-soft);
9743
+ border-radius: 10px;
9744
+ place-items: center;
9745
+ min-height: 106px;
9746
+ padding: 14px 18px 18px;
9747
+ display: grid;
9748
+ overflow: hidden;
9241
9749
  }
9242
9750
 
9243
- @media (width <= 620px) {
9244
- .work-document-review-surface.comments-open {
9245
- justify-content: flex-start;
9246
- }
9751
+ .work-document-font-dialog-preview > span {
9752
+ color: var(--a3s-muted);
9753
+ justify-self: start;
9754
+ font-size: 10px;
9755
+ font-weight: 650;
9756
+ }
9247
9757
 
9248
- .work-document-comment-connectors {
9249
- display: none;
9250
- }
9758
+ .work-document-font-dialog-preview > output {
9759
+ max-width: 100%;
9760
+ color: var(--a3s-ink);
9761
+ text-align: center;
9762
+ text-overflow: ellipsis;
9763
+ white-space: nowrap;
9764
+ font-size: 22px;
9765
+ line-height: 1.5;
9766
+ overflow: hidden;
9767
+ }
9251
9768
 
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;
9769
+ @media (width <= 620px) {
9770
+ .work-document-font-dialog-script-fonts, .work-document-font-dialog-spacing {
9771
+ grid-template-columns: minmax(0, 1fr);
9264
9772
  }
9265
9773
 
9266
- .work-document-comment-track {
9267
- align-content: start;
9268
- gap: 8px;
9269
- padding: 8px;
9270
- display: grid;
9271
- min-height: 0 !important;
9774
+ .work-document-font-dialog-preview {
9775
+ min-height: 88px;
9272
9776
  }
9273
9777
 
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;
9778
+ .work-document-font-dialog-preview > output {
9779
+ font-size: 19px;
9279
9780
  }
9781
+ }
9280
9782
 
9281
- .work-document-comments-empty.ds-collection-state {
9282
- position: static;
9283
- }
9783
+ [data-office-character-position-half-points] {
9784
+ vertical-align: var(--work-document-character-position);
9284
9785
  }
9285
9786
 
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;
9787
+ 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) {
9788
+ vertical-align: baseline;
9291
9789
  }
9292
9790
 
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;
9791
+ [data-office-hidden-text="true"] {
9792
+ display: none;
9297
9793
  }
9298
9794
 
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;
9795
+ .work-document-editor.show-hidden-text:not(.preview) [data-office-hidden-text="true"] {
9796
+ -webkit-text-decoration-skip-ink: none;
9797
+ text-decoration-skip-ink: none;
9798
+ text-underline-offset: .18em;
9799
+ text-decoration-line: underline;
9800
+ text-decoration-style: dotted;
9801
+ text-decoration-color: currentColor;
9802
+ display: inline;
9304
9803
  }
9305
9804
 
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;
9805
+ .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"] {
9806
+ display: none;
9308
9807
  }
9309
9808
 
9310
9809
  .work-document-list-tools {
@@ -10267,6 +10766,7 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
10267
10766
  isolation: isolate;
10268
10767
  color: #20232b;
10269
10768
  font-family: var(--work-document-render-font-family);
10769
+ font-kerning: none;
10270
10770
  font-size: var(--work-document-render-font-size);
10271
10771
  line-height: var(--work-document-render-line-height);
10272
10772
  overflow-wrap: break-word;
@@ -10294,6 +10794,7 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
10294
10794
  color: #7a8395;
10295
10795
  min-height: 28px;
10296
10796
  font-family: var(--work-document-render-font-family);
10797
+ font-kerning: none;
10297
10798
  font-size: var(--work-document-render-font-size);
10298
10799
  line-height: var(--work-document-render-line-height);
10299
10800
  white-space: pre-wrap;
@@ -15866,7 +16367,7 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
15866
16367
  }
15867
16368
 
15868
16369
  .work-spreadsheet-format-cells-dialog {
15869
- width: min(680px, 100%);
16370
+ width: min(760px, 100%);
15870
16371
  }
15871
16372
 
15872
16373
  .work-spreadsheet-format-cells-dialog > .ds-dialog-body {
@@ -16129,28 +16630,187 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
16129
16630
  }
16130
16631
 
16131
16632
  .work-spreadsheet-format-cells-fill {
16132
- grid-template-columns: minmax(190px, 1fr) auto;
16633
+ gap: 18px;
16634
+ display: grid;
16635
+ }
16636
+
16637
+ .work-spreadsheet-format-cells-fill-modes.ds-segmented-control {
16638
+ width: min(460px, 100%);
16639
+ }
16640
+
16641
+ .work-spreadsheet-format-cells-fill-layout {
16642
+ grid-template-columns: minmax(0, 1fr) minmax(210px, .68fr);
16643
+ align-items: start;
16644
+ gap: 22px;
16645
+ display: grid;
16646
+ }
16647
+
16648
+ .work-spreadsheet-format-cells-fill-controls, .work-spreadsheet-format-cells-pattern-controls, .work-spreadsheet-format-cells-gradient-controls {
16649
+ gap: 14px;
16650
+ min-width: 0;
16651
+ display: grid;
16652
+ }
16653
+
16654
+ .work-spreadsheet-format-cells-pattern-controls {
16655
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16656
+ }
16657
+
16658
+ .work-spreadsheet-format-cells-pattern-controls > .work-spreadsheet-format-cells-field:first-child {
16659
+ grid-column: 1 / -1;
16660
+ }
16661
+
16662
+ .work-spreadsheet-format-cells-fill-empty-copy {
16663
+ color: var(--a3s-muted);
16664
+ margin: 0;
16665
+ font-size: 12px;
16666
+ line-height: 1.65;
16667
+ }
16668
+
16669
+ .work-spreadsheet-format-cells-fill-controls > [role="alert"] {
16670
+ color: var(--a3s-red);
16671
+ margin: 0;
16672
+ font-size: 11px;
16673
+ line-height: 1.55;
16674
+ }
16675
+
16676
+ .work-spreadsheet-format-cells-gradient-geometry {
16677
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16133
16678
  align-items: end;
16134
- gap: 16px;
16135
- max-width: 430px;
16679
+ gap: 12px;
16136
16680
  display: grid;
16137
16681
  }
16138
16682
 
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;
16683
+ .work-spreadsheet-format-cells-path-geometry {
16144
16684
  grid-column: 1 / -1;
16145
- place-items: center;
16685
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16686
+ gap: 10px 12px;
16687
+ display: grid;
16688
+ }
16689
+
16690
+ .work-spreadsheet-format-cells-gradient-stops-heading {
16691
+ justify-content: space-between;
16692
+ align-items: center;
16693
+ gap: 12px;
16694
+ min-width: 0;
16695
+ padding-top: 2px;
16696
+ display: flex;
16697
+ }
16698
+
16699
+ .work-spreadsheet-format-cells-gradient-stops-heading > div {
16700
+ align-items: baseline;
16701
+ gap: 8px;
16702
+ min-width: 0;
16703
+ display: flex;
16704
+ }
16705
+
16706
+ .work-spreadsheet-format-cells-gradient-stops-heading strong {
16707
+ color: var(--a3s-ink);
16146
16708
  font-size: 11px;
16147
16709
  font-weight: 650;
16710
+ }
16711
+
16712
+ .work-spreadsheet-format-cells-gradient-stops-heading span {
16713
+ color: var(--a3s-muted);
16714
+ font-size: 10px;
16715
+ }
16716
+
16717
+ .work-spreadsheet-format-cells-gradient-stops-heading > .ds-button {
16718
+ flex: none;
16719
+ gap: 5px;
16720
+ }
16721
+
16722
+ .work-spreadsheet-format-cells-gradient-stops {
16723
+ border-block: 1px solid var(--a3s-line);
16724
+ scrollbar-width: thin;
16725
+ max-height: 214px;
16726
+ margin: 0;
16727
+ padding: 0;
16728
+ list-style: none;
16148
16729
  display: grid;
16730
+ overflow: auto;
16149
16731
  }
16150
16732
 
16151
- .work-spreadsheet-format-cells-fill-preview.empty {
16152
- background: var(--a3s-panel-soft);
16733
+ .work-spreadsheet-format-cells-gradient-stop {
16734
+ grid-template-columns: 20px minmax(112px, 1fr) minmax(86px, .7fr) 28px;
16735
+ align-items: center;
16736
+ gap: 8px;
16737
+ min-width: 0;
16738
+ padding: 8px 2px;
16739
+ display: grid;
16740
+ }
16741
+
16742
+ .work-spreadsheet-format-cells-gradient-stop + .work-spreadsheet-format-cells-gradient-stop {
16743
+ border-top: 1px solid var(--a3s-line);
16744
+ }
16745
+
16746
+ .work-spreadsheet-format-cells-gradient-stop-index {
16747
+ color: var(--a3s-muted);
16748
+ font-variant-numeric: tabular-nums;
16749
+ text-align: center;
16750
+ font-size: 10px;
16751
+ }
16752
+
16753
+ .work-spreadsheet-format-cells-gradient-stop > .work-office-color-picker, .work-spreadsheet-format-cells-gradient-stop .work-office-color-trigger {
16754
+ width: 100%;
16755
+ }
16756
+
16757
+ .work-spreadsheet-format-cells-stop-position {
16758
+ min-width: 0;
16759
+ color: var(--a3s-muted);
16760
+ grid-template-columns: minmax(0, 1fr) auto;
16761
+ align-items: center;
16762
+ gap: 4px;
16763
+ font-size: 10px;
16764
+ display: grid;
16765
+ }
16766
+
16767
+ .work-spreadsheet-format-cells-gradient-stop-remove.ds-icon-button {
16768
+ width: 28px;
16769
+ height: 28px;
16770
+ }
16771
+
16772
+ .work-spreadsheet-format-cells-gradient-help {
16153
16773
  color: var(--a3s-muted);
16774
+ font-size: 10px;
16775
+ line-height: 1.55;
16776
+ }
16777
+
16778
+ .work-spreadsheet-format-cells-fill-preview {
16779
+ border: 1px solid var(--a3s-line);
16780
+ background: var(--a3s-panel-soft);
16781
+ border-radius: 9px;
16782
+ min-width: 0;
16783
+ margin: 0;
16784
+ display: grid;
16785
+ overflow: hidden;
16786
+ }
16787
+
16788
+ .work-spreadsheet-format-cells-fill-preview > canvas {
16789
+ width: 100%;
16790
+ height: 142px;
16791
+ display: block;
16792
+ }
16793
+
16794
+ .work-spreadsheet-format-cells-fill-preview.none > canvas {
16795
+ background: linear-gradient(45deg, var(--a3s-line) 25%, transparent 25%) 0 0 / 16px 16px,
16796
+ linear-gradient(-45deg, var(--a3s-line) 25%, transparent 25%) 0 8px / 16px
16797
+ 16px,
16798
+ linear-gradient(45deg, transparent 75%, var(--a3s-line) 75%) 8px -8px / 16px
16799
+ 16px,
16800
+ linear-gradient(-45deg, transparent 75%, var(--a3s-line) 75%) -8px 0 / 16px
16801
+ 16px;
16802
+ }
16803
+
16804
+ .work-spreadsheet-format-cells-fill-preview > figcaption {
16805
+ border-top: 1px solid var(--a3s-line);
16806
+ background: var(--a3s-panel);
16807
+ color: var(--a3s-ink);
16808
+ text-overflow: ellipsis;
16809
+ white-space: nowrap;
16810
+ padding: 9px 11px;
16811
+ font-size: 10px;
16812
+ font-weight: 600;
16813
+ overflow: hidden;
16154
16814
  }
16155
16815
 
16156
16816
  .work-spreadsheet-format-cells-protection {
@@ -16193,11 +16853,41 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
16193
16853
  }
16194
16854
 
16195
16855
  .work-spreadsheet-format-cells-fill {
16856
+ gap: 14px;
16857
+ }
16858
+
16859
+ .work-spreadsheet-format-cells-fill-modes.ds-segmented-control {
16860
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16861
+ grid-auto-columns: auto;
16862
+ grid-auto-flow: row;
16863
+ }
16864
+
16865
+ .work-spreadsheet-format-cells-fill-layout {
16196
16866
  grid-template-columns: minmax(0, 1fr);
16867
+ gap: 16px;
16197
16868
  }
16198
16869
 
16199
16870
  .work-spreadsheet-format-cells-fill-preview {
16200
- grid-column: 1;
16871
+ grid-row: 1;
16872
+ }
16873
+
16874
+ .work-spreadsheet-format-cells-fill-controls {
16875
+ grid-row: 2;
16876
+ }
16877
+
16878
+ .work-spreadsheet-format-cells-fill-preview > canvas {
16879
+ height: 108px;
16880
+ }
16881
+ }
16882
+
16883
+ @media (width <= 420px) {
16884
+ .work-spreadsheet-format-cells-pattern-controls, .work-spreadsheet-format-cells-gradient-geometry, .work-spreadsheet-format-cells-path-geometry {
16885
+ grid-template-columns: minmax(0, 1fr);
16886
+ }
16887
+
16888
+ .work-spreadsheet-format-cells-gradient-stop {
16889
+ grid-template-columns: 18px minmax(88px, 1fr) 80px 28px;
16890
+ gap: 6px;
16201
16891
  }
16202
16892
  }
16203
16893