@a3s-lab/office 0.38.1 → 0.40.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 (32) hide show
  1. package/README.md +18 -4
  2. package/dist/{0~7240.js → 0~2330.js} +897 -641
  3. package/dist/0~5024.js +240 -240
  4. package/dist/0~7828.js +51 -29
  5. package/dist/0~document-editor.js +1 -0
  6. package/dist/0~presentation-editor.js +264 -118
  7. package/dist/0~work-docx-export.js +1023 -922
  8. package/dist/0~work-docx-import.js +13 -4
  9. package/dist/0~work-office-diagnostics.js +96 -94
  10. package/dist/0~work-pptx-import.js +1 -1
  11. package/dist/0~work-presentation-transition.js +38 -0
  12. package/dist/4121.js +42 -9
  13. package/dist/4174.js +497 -233
  14. package/dist/4560.js +124 -9
  15. package/dist/internal/features/work/editors/presentation-animation-panel.d.ts +9 -7
  16. package/dist/internal/features/work/editors/presentation-command-types.d.ts +10 -10
  17. package/dist/internal/features/work/editors/presentation-slide-canvas.d.ts +6 -4
  18. package/dist/internal/features/work/editors/use-presentation-animation-commands.d.ts +7 -7
  19. package/dist/internal/features/work/work-document-format-change-tracking.d.ts +1 -1
  20. package/dist/internal/features/work/work-document-numbering-change-tracking.d.ts +7 -0
  21. package/dist/internal/features/work/work-document-numbering-changes.d.ts +29 -0
  22. package/dist/internal/features/work/work-docx-import.d.ts +7 -5
  23. package/dist/internal/features/work/work-docx-list-export.d.ts +1 -0
  24. package/dist/internal/features/work/work-docx-numbering-change-export.d.ts +13 -0
  25. package/dist/internal/features/work/work-docx-numbering-change-import.d.ts +17 -0
  26. package/dist/internal/features/work/work-presentation-animation.d.ts +6 -2
  27. package/dist/internal/features/work/work-presentation-clipboard.d.ts +0 -5
  28. package/dist/internal/features/work/work-types.d.ts +8 -4
  29. package/dist/office-kernel.wasm +0 -0
  30. package/dist/styles.css +162 -26
  31. package/package.json +8 -5
  32. package/dist/0~5809.js +0 -123
package/dist/styles.css CHANGED
@@ -9191,6 +9191,10 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
9191
9191
  border-left-color: #6d5bd0;
9192
9192
  }
9193
9193
 
9194
+ .work-document-change-item.numbering {
9195
+ border-left-color: #0f7b78;
9196
+ }
9197
+
9194
9198
  .work-document-change-summary {
9195
9199
  min-width: 0;
9196
9200
  color: var(--a3s-ink);
@@ -9222,6 +9226,11 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
9222
9226
  background: #f0edff;
9223
9227
  }
9224
9228
 
9229
+ .work-document-change-list .work-document-change-item.numbering .work-document-change-summary > span {
9230
+ color: #0f6663;
9231
+ background: #e5f5f3;
9232
+ }
9233
+
9225
9234
  .work-document-change-summary strong {
9226
9235
  text-overflow: ellipsis;
9227
9236
  white-space: nowrap;
@@ -9730,6 +9739,10 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
9730
9739
  box-shadow: inset 3px 0 #8b5cf6;
9731
9740
  }
9732
9741
 
9742
+ .work-document-editor ol[data-document-change][data-change-kind="numbering"], .work-pdf-export-page.document ol[data-document-change][data-change-kind="numbering"] {
9743
+ box-shadow: inset 3px 0 #0f7b78;
9744
+ }
9745
+
9733
9746
  .work-document-font-dialog {
9734
9747
  width: min(680px, 100%);
9735
9748
  }
@@ -20969,69 +20982,102 @@ sub [data-office-character-position-half-points], sup [data-office-character-pos
20969
20982
  width: 64px;
20970
20983
  }
20971
20984
 
20972
- .work-presentation-player .work-slide-element[data-slide-animation-state="pending"] {
20985
+ .work-presentation-player .work-slide-element[data-slide-animation-state="hidden"] {
20973
20986
  visibility: hidden;
20974
20987
  opacity: 0;
20975
20988
  }
20976
20989
 
20977
- .work-presentation-player .work-slide-element[data-slide-animation-state="playing"] {
20978
- animation-delay: var(--work-slide-animation-delay, 0s);
20979
- animation-duration: var(--work-slide-animation-duration, .5s);
20980
- animation-timing-function: cubic-bezier(.16, 1, .3, 1);
20981
- animation-fill-mode: both;
20990
+ .work-presentation-player .work-slide-element[data-slide-animation-state="visible"] {
20991
+ visibility: visible;
20992
+ translate: 0;
20993
+ scale: 1;
20994
+ }
20995
+
20996
+ .work-presentation-player .work-slide-element[data-slide-animation-state="playing"][data-slide-animation-initial-visibility="hidden"] {
20997
+ visibility: hidden;
20998
+ opacity: 0;
20982
20999
  }
20983
21000
 
20984
- .work-presentation-player .work-slide-element[data-slide-animation-state="finished"] {
21001
+ .work-presentation-player .work-slide-element[data-slide-animation-state="playing"][data-slide-animation-initial-visibility="visible"] {
20985
21002
  visibility: visible;
20986
- opacity: var(--work-slide-element-opacity, 1);
20987
21003
  translate: 0;
20988
21004
  scale: 1;
20989
21005
  }
20990
21006
 
20991
- .work-presentation-player .work-slide-element[data-slide-animation-effect="appear"][data-slide-animation-state="playing"] {
20992
- animation-name: work-slide-animation-appear;
20993
- animation-timing-function: step-start;
20994
- }
21007
+ @keyframes work-slide-animation-appear {
21008
+ from {
21009
+ visibility: hidden;
21010
+ opacity: 0;
21011
+ }
20995
21012
 
20996
- .work-presentation-player .work-slide-element[data-slide-animation-effect="fade"][data-slide-animation-state="playing"] {
20997
- animation-name: work-slide-animation-fade;
21013
+ to {
21014
+ visibility: visible;
21015
+ opacity: var(--work-slide-element-opacity, 1);
21016
+ }
20998
21017
  }
20999
21018
 
21000
- .work-presentation-player .work-slide-element[data-slide-animation-effect="fly-in"][data-slide-animation-state="playing"] {
21001
- animation-name: work-slide-animation-fly-in;
21019
+ @keyframes work-slide-animation-disappear {
21020
+ from {
21021
+ visibility: visible;
21022
+ opacity: var(--work-slide-element-opacity, 1);
21023
+ }
21024
+
21025
+ to {
21026
+ visibility: hidden;
21027
+ opacity: 0;
21028
+ }
21002
21029
  }
21003
21030
 
21004
- .work-presentation-player .work-slide-element[data-slide-animation-effect="zoom"][data-slide-animation-state="playing"] {
21005
- animation-name: work-slide-animation-zoom;
21031
+ @keyframes work-slide-animation-fade {
21032
+ from {
21033
+ opacity: 0;
21034
+ }
21035
+
21036
+ to {
21037
+ opacity: var(--work-slide-element-opacity, 1);
21038
+ }
21006
21039
  }
21007
21040
 
21008
- @keyframes work-slide-animation-appear {
21041
+ @keyframes work-slide-animation-fade-out {
21009
21042
  from {
21043
+ visibility: visible;
21044
+ opacity: var(--work-slide-element-opacity, 1);
21045
+ }
21046
+
21047
+ to {
21010
21048
  visibility: hidden;
21011
21049
  opacity: 0;
21012
21050
  }
21051
+ }
21052
+
21053
+ @keyframes work-slide-animation-fly-in-left {
21054
+ from {
21055
+ opacity: 0;
21056
+ translate: -18%;
21057
+ }
21013
21058
 
21014
21059
  to {
21015
- visibility: visible;
21016
21060
  opacity: var(--work-slide-element-opacity, 1);
21061
+ translate: 0;
21017
21062
  }
21018
21063
  }
21019
21064
 
21020
- @keyframes work-slide-animation-fade {
21065
+ @keyframes work-slide-animation-fly-in-right {
21021
21066
  from {
21022
21067
  opacity: 0;
21068
+ translate: 18%;
21023
21069
  }
21024
21070
 
21025
21071
  to {
21026
21072
  opacity: var(--work-slide-element-opacity, 1);
21073
+ translate: 0;
21027
21074
  }
21028
21075
  }
21029
21076
 
21030
- @keyframes work-slide-animation-fly-in {
21077
+ @keyframes work-slide-animation-fly-in-up {
21031
21078
  from {
21032
21079
  opacity: 0;
21033
- translate: var(--work-slide-animation-translate-x, -18%)
21034
- var(--work-slide-animation-translate-y, 0);
21080
+ translate: 0 -18%;
21035
21081
  }
21036
21082
 
21037
21083
  to {
@@ -21040,6 +21086,74 @@ sub [data-office-character-position-half-points], sup [data-office-character-pos
21040
21086
  }
21041
21087
  }
21042
21088
 
21089
+ @keyframes work-slide-animation-fly-in-down {
21090
+ from {
21091
+ opacity: 0;
21092
+ translate: 0 18%;
21093
+ }
21094
+
21095
+ to {
21096
+ opacity: var(--work-slide-element-opacity, 1);
21097
+ translate: 0;
21098
+ }
21099
+ }
21100
+
21101
+ @keyframes work-slide-animation-fly-out-left {
21102
+ from {
21103
+ visibility: visible;
21104
+ opacity: var(--work-slide-element-opacity, 1);
21105
+ translate: 0;
21106
+ }
21107
+
21108
+ to {
21109
+ visibility: hidden;
21110
+ opacity: 0;
21111
+ translate: -18%;
21112
+ }
21113
+ }
21114
+
21115
+ @keyframes work-slide-animation-fly-out-right {
21116
+ from {
21117
+ visibility: visible;
21118
+ opacity: var(--work-slide-element-opacity, 1);
21119
+ translate: 0;
21120
+ }
21121
+
21122
+ to {
21123
+ visibility: hidden;
21124
+ opacity: 0;
21125
+ translate: 18%;
21126
+ }
21127
+ }
21128
+
21129
+ @keyframes work-slide-animation-fly-out-up {
21130
+ from {
21131
+ visibility: visible;
21132
+ opacity: var(--work-slide-element-opacity, 1);
21133
+ translate: 0;
21134
+ }
21135
+
21136
+ to {
21137
+ visibility: hidden;
21138
+ opacity: 0;
21139
+ translate: 0 -18%;
21140
+ }
21141
+ }
21142
+
21143
+ @keyframes work-slide-animation-fly-out-down {
21144
+ from {
21145
+ visibility: visible;
21146
+ opacity: var(--work-slide-element-opacity, 1);
21147
+ translate: 0;
21148
+ }
21149
+
21150
+ to {
21151
+ visibility: hidden;
21152
+ opacity: 0;
21153
+ translate: 0 18%;
21154
+ }
21155
+ }
21156
+
21043
21157
  @keyframes work-slide-animation-zoom {
21044
21158
  from {
21045
21159
  opacity: 0;
@@ -21052,14 +21166,36 @@ sub [data-office-character-position-half-points], sup [data-office-character-pos
21052
21166
  }
21053
21167
  }
21054
21168
 
21055
- @media (prefers-reduced-motion: reduce) {
21056
- .work-presentation-player .work-slide-element[data-slide-animation-state="playing"] {
21169
+ @keyframes work-slide-animation-zoom-out {
21170
+ from {
21057
21171
  visibility: visible;
21058
21172
  opacity: var(--work-slide-element-opacity, 1);
21173
+ scale: 1;
21174
+ }
21175
+
21176
+ to {
21177
+ visibility: hidden;
21178
+ opacity: 0;
21179
+ scale: .72;
21180
+ }
21181
+ }
21182
+
21183
+ @media (prefers-reduced-motion: reduce) {
21184
+ .work-presentation-player .work-slide-element[data-slide-animation-state="playing"] {
21059
21185
  animation: none;
21060
21186
  translate: 0;
21061
21187
  scale: 1;
21062
21188
  }
21189
+
21190
+ .work-presentation-player .work-slide-element[data-slide-animation-state="playing"][data-slide-animation-final-visibility="hidden"] {
21191
+ visibility: hidden;
21192
+ opacity: 0;
21193
+ }
21194
+
21195
+ .work-presentation-player .work-slide-element[data-slide-animation-state="playing"][data-slide-animation-final-visibility="visible"] {
21196
+ visibility: visible;
21197
+ opacity: var(--work-slide-element-opacity, 1);
21198
+ }
21063
21199
  }
21064
21200
 
21065
21201
  .work-presentation-comments-panel {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a3s-lab/office",
3
- "version": "0.38.1",
3
+ "version": "0.40.0",
4
4
  "description": "Open-source collaborative browser editors for documents, Markdown, spreadsheets, presentations, and PDFs.",
5
5
  "keywords": [
6
6
  "office",
@@ -89,6 +89,7 @@
89
89
  "playground:ime:webkit": "playwright test --config playwright.ime.config.ts",
90
90
  "playground:visual": "playwright test --config playwright.config.ts",
91
91
  "playground:visual:docs-changelog": "playwright test visual-tests/docs-changelog.functional.spec.ts --config playwright.config.ts",
92
+ "playground:visual:home": "playwright test visual-tests/playground-home.functional.spec.ts --config playwright.config.ts",
92
93
  "playground:visual:document-emphasis": "playwright test visual-tests/document-emphasis.functional.spec.ts --config playwright.config.ts",
93
94
  "playground:visual:document-index": "playwright test visual-tests/document-index.functional.spec.ts --config playwright.config.ts",
94
95
  "playground:visual:document-comparison": "playwright test visual-tests/document-comparison.functional.spec.ts --config playwright.config.ts",
@@ -136,9 +137,11 @@
136
137
  "performance:pdf": "bun .a3s-test/performance/generate-fixtures.ts --pdf-only && bun .a3s-test/performance/benchmark-pdf.ts --url http://127.0.0.1:4175/playground/ --runs 3 --timeout-ms 120000",
137
138
  "performance:presentation": "bun .a3s-test/performance/generate-fixtures.ts --presentations-only && bun .a3s-test/performance/benchmark-presentation.ts --url http://127.0.0.1:4175/playground/ --runs 3 --timeout-ms 120000 --modes default,content-visibility",
138
139
  "test": "rstest",
139
- "test:e2e": "bun run test:e2e:fixtures && a3s-test run tests/e2e/word-page-color.acl --json && a3s-test run tests/e2e/word-page-setup-phone.acl --json && a3s-test run tests/e2e/word-paragraph-layout-phone.acl --json && a3s-test run tests/e2e/word-list-formatting-phone.acl --json && a3s-test run tests/e2e/word-font-picker-phone.acl --json && a3s-test run tests/e2e/word-comments-drawer.acl --json && a3s-test run tests/e2e/word-comment-windowing.acl --json && a3s-test run tests/e2e/word-citations-phone.acl --json && a3s-test run tests/e2e/word-navigation-search.acl --json && a3s-test run tests/e2e/word-navigation-windowing.acl --json && a3s-test run tests/e2e/word-find-replace-phone.acl --json && a3s-test run tests/e2e/word-page-navigation.acl --json && a3s-test run tests/e2e/word-page-windowing.acl --json && a3s-test run tests/e2e/word-ai-question.acl --json && a3s-test run tests/e2e/word-picture-insert.acl --json && a3s-test run tests/e2e/word-picture-alt-text-phone.acl --json && a3s-test run tests/e2e/word-track-changes-phone.acl --json && a3s-test run tests/e2e/word-formatting-revision.acl --json && a3s-test run tests/e2e/word-paragraph-formatting-revision.acl --json && a3s-test run tests/e2e/word-document-comparison.acl --json && a3s-test run tests/e2e/word-review-conflict-phone.acl --json && a3s-test run tests/e2e/word-revision-windowing.acl --json && a3s-test run tests/e2e/word-table-phone.acl --json && a3s-test run tests/e2e/word-table-borders.acl --json && a3s-test run tests/e2e/word-theme-table.acl --json && a3s-test run tests/e2e/word-styled-table.acl --json && a3s-test run tests/e2e/word-multi-page-table.acl --json && a3s-test run tests/e2e/word-cross-reference-phone.acl --json && a3s-test run tests/e2e/word-bookmark-links-phone.acl --json && a3s-test run tests/e2e/word-notes-phone.acl --json && a3s-test run tests/e2e/word-fields-phone.acl --json && a3s-test run tests/e2e/spreadsheet-phone-rename.acl --json && a3s-test run tests/e2e/spreadsheet-phone-find.acl --json && a3s-test run tests/e2e/spreadsheet-phone-context-menu.acl --json && a3s-test run tests/e2e/spreadsheet-phone-task-pane.acl --json && a3s-test run tests/e2e/spreadsheet-maximum-sparse.acl --json && a3s-test run tests/e2e/spreadsheet-cell-style.acl --json && a3s-test run tests/e2e/spreadsheet-paste-special.acl --json && a3s-test run tests/e2e/spreadsheet-hyperlink.acl --json && a3s-test run tests/e2e/presentation-cut-paste-focus.acl --json && a3s-test run tests/e2e/presentation-presenter-view.acl --json && a3s-test run tests/e2e/presentation-phone-chart-pane.acl --json && a3s-test run tests/e2e/presentation-phone-comments.acl --json && a3s-test run tests/e2e/pdf-thumbnail-keyboard.acl --json && a3s-test run tests/e2e/pdf-page-drawer-phone.acl --json && a3s-test run tests/e2e/markdown-phone-modes.acl --json && a3s-test run tests/e2e/office-sidebar-breakpoint.acl --json && a3s-test run tests/e2e/office-docs-navigation.acl --json && a3s-test run tests/e2e/collaboration-playground-entry.acl --json && a3s-test run tests/e2e/collaboration-document-comments.acl --command-timeout-ms 120000 --json && a3s-test run tests/e2e/collaboration-document-suggestions.acl --command-timeout-ms 120000 --json && a3s-test run tests/e2e/collaboration-participants.acl --json && a3s-test run tests/e2e/collaboration-pdf-annotations.acl --json && a3s-test run tests/e2e/collaboration-spreadsheet-cells.acl --json && a3s-test run tests/e2e/collaboration-presentation-elements.acl --json",
140
- "test:e2e:check": "bun run test:e2e:fixtures && a3s-test check tests/e2e/word-page-color.acl --json && a3s-test check tests/e2e/word-page-setup-phone.acl --json && a3s-test check tests/e2e/word-paragraph-layout-phone.acl --json && a3s-test check tests/e2e/word-list-formatting-phone.acl --json && a3s-test check tests/e2e/word-font-picker-phone.acl --json && a3s-test check tests/e2e/word-comments-drawer.acl --json && a3s-test check tests/e2e/word-comment-windowing.acl --json && a3s-test check tests/e2e/word-citations-phone.acl --json && a3s-test check tests/e2e/word-navigation-search.acl --json && a3s-test check tests/e2e/word-navigation-windowing.acl --json && a3s-test check tests/e2e/word-find-replace-phone.acl --json && a3s-test check tests/e2e/word-page-navigation.acl --json && a3s-test check tests/e2e/word-page-windowing.acl --json && a3s-test check tests/e2e/word-ai-question.acl --json && a3s-test check tests/e2e/word-picture-insert.acl --json && a3s-test check tests/e2e/word-picture-alt-text-phone.acl --json && a3s-test check tests/e2e/word-track-changes-phone.acl --json && a3s-test check tests/e2e/word-formatting-revision.acl --json && a3s-test check tests/e2e/word-paragraph-formatting-revision.acl --json && a3s-test check tests/e2e/word-document-comparison.acl --json && a3s-test check tests/e2e/word-review-conflict-phone.acl --json && a3s-test check tests/e2e/word-revision-windowing.acl --json && a3s-test check tests/e2e/word-table-phone.acl --json && a3s-test check tests/e2e/word-table-borders.acl --json && a3s-test check tests/e2e/word-theme-table.acl --json && a3s-test check tests/e2e/word-styled-table.acl --json && a3s-test check tests/e2e/word-multi-page-table.acl --json && a3s-test check tests/e2e/word-cross-reference-phone.acl --json && a3s-test check tests/e2e/word-bookmark-links-phone.acl --json && a3s-test check tests/e2e/word-notes-phone.acl --json && a3s-test check tests/e2e/word-fields-phone.acl --json && a3s-test check tests/e2e/spreadsheet-phone-rename.acl --json && a3s-test check tests/e2e/spreadsheet-phone-find.acl --json && a3s-test check tests/e2e/spreadsheet-phone-context-menu.acl --json && a3s-test check tests/e2e/spreadsheet-phone-task-pane.acl --json && a3s-test check tests/e2e/spreadsheet-maximum-sparse.acl --json && a3s-test check tests/e2e/spreadsheet-cell-style.acl --json && a3s-test check tests/e2e/spreadsheet-paste-special.acl --json && a3s-test check tests/e2e/spreadsheet-hyperlink.acl --json && a3s-test check tests/e2e/presentation-cut-paste-focus.acl --json && a3s-test check tests/e2e/presentation-presenter-view.acl --json && a3s-test check tests/e2e/presentation-phone-chart-pane.acl --json && a3s-test check tests/e2e/presentation-phone-comments.acl --json && a3s-test check tests/e2e/pdf-thumbnail-keyboard.acl --json && a3s-test check tests/e2e/pdf-page-drawer-phone.acl --json && a3s-test check tests/e2e/markdown-phone-modes.acl --json && a3s-test check tests/e2e/office-sidebar-breakpoint.acl --json && a3s-test check tests/e2e/office-docs-navigation.acl --json && a3s-test check tests/e2e/collaboration-playground-entry.acl --json && a3s-test check tests/e2e/collaboration-document-comments.acl --json && a3s-test check tests/e2e/collaboration-document-suggestions.acl --json && a3s-test check tests/e2e/collaboration-participants.acl --json && a3s-test check tests/e2e/collaboration-pdf-annotations.acl --json && a3s-test check tests/e2e/collaboration-spreadsheet-cells.acl --json && a3s-test check tests/e2e/collaboration-presentation-elements.acl --json",
140
+ "test:e2e": "bun run test:e2e:fixtures && a3s-test run tests/e2e/word-page-color.acl --json && a3s-test run tests/e2e/word-page-setup-phone.acl --json && a3s-test run tests/e2e/word-paragraph-layout-phone.acl --json && a3s-test run tests/e2e/word-list-formatting-phone.acl --json && a3s-test run tests/e2e/word-font-picker-phone.acl --json && a3s-test run tests/e2e/word-comments-drawer.acl --json && a3s-test run tests/e2e/word-comment-windowing.acl --json && a3s-test run tests/e2e/word-citations-phone.acl --json && a3s-test run tests/e2e/word-navigation-search.acl --json && a3s-test run tests/e2e/word-navigation-windowing.acl --json && a3s-test run tests/e2e/word-find-replace-phone.acl --json && a3s-test run tests/e2e/word-page-navigation.acl --json && a3s-test run tests/e2e/word-page-windowing.acl --json && a3s-test run tests/e2e/word-ai-question.acl --json && a3s-test run tests/e2e/word-picture-insert.acl --json && a3s-test run tests/e2e/word-picture-alt-text-phone.acl --json && a3s-test run tests/e2e/word-track-changes-phone.acl --json && a3s-test run tests/e2e/word-formatting-revision.acl --json && a3s-test run tests/e2e/word-paragraph-formatting-revision.acl --json && a3s-test run tests/e2e/word-numbering-revision.acl --json && a3s-test run tests/e2e/word-document-comparison.acl --json && a3s-test run tests/e2e/word-review-conflict-phone.acl --json && a3s-test run tests/e2e/word-revision-windowing.acl --json && a3s-test run tests/e2e/word-table-phone.acl --json && a3s-test run tests/e2e/word-table-borders.acl --json && a3s-test run tests/e2e/word-theme-table.acl --json && a3s-test run tests/e2e/word-styled-table.acl --json && a3s-test run tests/e2e/word-multi-page-table.acl --json && a3s-test run tests/e2e/word-cross-reference-phone.acl --json && a3s-test run tests/e2e/word-bookmark-links-phone.acl --json && a3s-test run tests/e2e/word-notes-phone.acl --json && a3s-test run tests/e2e/word-fields-phone.acl --json && a3s-test run tests/e2e/spreadsheet-phone-rename.acl --json && a3s-test run tests/e2e/spreadsheet-phone-find.acl --json && a3s-test run tests/e2e/spreadsheet-phone-context-menu.acl --json && a3s-test run tests/e2e/spreadsheet-phone-task-pane.acl --json && a3s-test run tests/e2e/spreadsheet-maximum-sparse.acl --json && a3s-test run tests/e2e/spreadsheet-cell-style.acl --json && a3s-test run tests/e2e/spreadsheet-paste-special.acl --json && a3s-test run tests/e2e/spreadsheet-hyperlink.acl --json && a3s-test run tests/e2e/presentation-cut-paste-focus.acl --json && a3s-test run tests/e2e/presentation-presenter-view.acl --json && a3s-test run tests/e2e/presentation-phone-chart-pane.acl --json && a3s-test run tests/e2e/presentation-phone-comments.acl --json && a3s-test run tests/e2e/pdf-thumbnail-keyboard.acl --json && a3s-test run tests/e2e/pdf-page-drawer-phone.acl --json && a3s-test run tests/e2e/markdown-phone-modes.acl --json && a3s-test run tests/e2e/office-sidebar-breakpoint.acl --json && a3s-test run tests/e2e/office-docs-navigation.acl --json && a3s-test run tests/e2e/collaboration-playground-entry.acl --json && a3s-test run tests/e2e/collaboration-document-comments.acl --command-timeout-ms 120000 --json && a3s-test run tests/e2e/collaboration-document-suggestions.acl --command-timeout-ms 120000 --json && a3s-test run tests/e2e/collaboration-participants.acl --json && a3s-test run tests/e2e/collaboration-pdf-annotations.acl --json && a3s-test run tests/e2e/collaboration-spreadsheet-cells.acl --json && a3s-test run tests/e2e/collaboration-presentation-elements.acl --json",
141
+ "test:e2e:check": "bun run test:e2e:fixtures && a3s-test check tests/e2e/word-page-color.acl --json && a3s-test check tests/e2e/word-page-setup-phone.acl --json && a3s-test check tests/e2e/word-paragraph-layout-phone.acl --json && a3s-test check tests/e2e/word-list-formatting-phone.acl --json && a3s-test check tests/e2e/word-font-picker-phone.acl --json && a3s-test check tests/e2e/word-comments-drawer.acl --json && a3s-test check tests/e2e/word-comment-windowing.acl --json && a3s-test check tests/e2e/word-citations-phone.acl --json && a3s-test check tests/e2e/word-navigation-search.acl --json && a3s-test check tests/e2e/word-navigation-windowing.acl --json && a3s-test check tests/e2e/word-find-replace-phone.acl --json && a3s-test check tests/e2e/word-page-navigation.acl --json && a3s-test check tests/e2e/word-page-windowing.acl --json && a3s-test check tests/e2e/word-ai-question.acl --json && a3s-test check tests/e2e/word-picture-insert.acl --json && a3s-test check tests/e2e/word-picture-alt-text-phone.acl --json && a3s-test check tests/e2e/word-track-changes-phone.acl --json && a3s-test check tests/e2e/word-formatting-revision.acl --json && a3s-test check tests/e2e/word-paragraph-formatting-revision.acl --json && a3s-test check tests/e2e/word-numbering-revision.acl --json && a3s-test check tests/e2e/word-document-comparison.acl --json && a3s-test check tests/e2e/word-review-conflict-phone.acl --json && a3s-test check tests/e2e/word-revision-windowing.acl --json && a3s-test check tests/e2e/word-table-phone.acl --json && a3s-test check tests/e2e/word-table-borders.acl --json && a3s-test check tests/e2e/word-theme-table.acl --json && a3s-test check tests/e2e/word-styled-table.acl --json && a3s-test check tests/e2e/word-multi-page-table.acl --json && a3s-test check tests/e2e/word-cross-reference-phone.acl --json && a3s-test check tests/e2e/word-bookmark-links-phone.acl --json && a3s-test check tests/e2e/word-notes-phone.acl --json && a3s-test check tests/e2e/word-fields-phone.acl --json && a3s-test check tests/e2e/spreadsheet-phone-rename.acl --json && a3s-test check tests/e2e/spreadsheet-phone-find.acl --json && a3s-test check tests/e2e/spreadsheet-phone-context-menu.acl --json && a3s-test check tests/e2e/spreadsheet-phone-task-pane.acl --json && a3s-test check tests/e2e/spreadsheet-maximum-sparse.acl --json && a3s-test check tests/e2e/spreadsheet-cell-style.acl --json && a3s-test check tests/e2e/spreadsheet-paste-special.acl --json && a3s-test check tests/e2e/spreadsheet-hyperlink.acl --json && a3s-test check tests/e2e/presentation-cut-paste-focus.acl --json && a3s-test check tests/e2e/presentation-presenter-view.acl --json && a3s-test check tests/e2e/presentation-phone-chart-pane.acl --json && a3s-test check tests/e2e/presentation-phone-comments.acl --json && a3s-test check tests/e2e/pdf-thumbnail-keyboard.acl --json && a3s-test check tests/e2e/pdf-page-drawer-phone.acl --json && a3s-test check tests/e2e/markdown-phone-modes.acl --json && a3s-test check tests/e2e/office-sidebar-breakpoint.acl --json && a3s-test check tests/e2e/office-docs-navigation.acl --json && a3s-test check tests/e2e/collaboration-playground-entry.acl --json && a3s-test check tests/e2e/collaboration-document-comments.acl --json && a3s-test check tests/e2e/collaboration-document-suggestions.acl --json && a3s-test check tests/e2e/collaboration-participants.acl --json && a3s-test check tests/e2e/collaboration-pdf-annotations.acl --json && a3s-test check tests/e2e/collaboration-spreadsheet-cells.acl --json && a3s-test check tests/e2e/collaboration-presentation-elements.acl --json",
141
142
  "test:e2e:fixtures": "bun scripts/create-e2e-fixtures.ts",
143
+ "test:e2e:numbering-revision": "A3S_TEST_SUITE=tests/e2e/word-numbering-revision.acl bash scripts/run-a3s-test-web-gate.sh",
144
+ "test:e2e:numbering-revision:check": "a3s-test check tests/e2e/word-numbering-revision.acl --json",
142
145
  "test:e2e:large-documents": "bun .a3s-test/performance/generate-fixtures.ts --documents-only && a3s-test run tests/e2e/word-large-document-windowing.acl --json",
143
146
  "test:e2e:large-documents:check": "a3s-test check tests/e2e/word-large-document-windowing.acl --json",
144
147
  "test:e2e:large-pdf": "bun .a3s-test/performance/generate-fixtures.ts --pdf-only && a3s-test run tests/e2e/pdf-large-windowing.acl --json",
@@ -157,8 +160,8 @@
157
160
  "test:e2e:docs:check": "a3s-test check tests/e2e/office-docs-navigation.acl --json",
158
161
  "test:e2e:homepage": "A3S_TEST_SUITE=tests/e2e/homepage-editor-demo.acl bash scripts/run-a3s-test-web-gate.sh",
159
162
  "test:e2e:homepage:check": "a3s-test check tests/e2e/homepage-editor-demo.acl --json",
160
- "test:e2e:latest-capabilities": "A3S_TEST_SUITE=tests/e2e/latest-capabilities-discoverability.acl bash scripts/run-a3s-test-web-gate.sh",
161
- "test:e2e:latest-capabilities:check": "a3s-test check tests/e2e/latest-capabilities-discoverability.acl --json",
163
+ "test:e2e:playground-templates": "A3S_TEST_SUITE=tests/e2e/playground-template-discoverability.acl bash scripts/run-a3s-test-web-gate.sh",
164
+ "test:e2e:playground-templates:check": "a3s-test check tests/e2e/playground-template-discoverability.acl --json",
162
165
  "test:e2e:collaboration-participants": "a3s-test run tests/e2e/collaboration-participants.acl --json",
163
166
  "test:e2e:collaboration-participants:check": "a3s-test check tests/e2e/collaboration-participants.acl --json",
164
167
  "test:e2e:collaboration-playground": "a3s-test run tests/e2e/collaboration-playground-entry.acl --json",
package/dist/0~5809.js DELETED
@@ -1,123 +0,0 @@
1
- import { createOfficeId as createWorkId } from "./4121.js";
2
- function createWorkSlideAnimation(elementId, effect, previous) {
3
- return normalizeWorkSlideAnimation({
4
- id: previous?.id ?? createWorkId('slide-animation'),
5
- elementId,
6
- effect,
7
- trigger: previous?.trigger ?? 'on-click',
8
- durationMs: previous?.durationMs ?? 500,
9
- delayMs: previous?.delayMs ?? 0,
10
- direction: 'fly-in' === effect ? previous?.direction ?? 'left' : void 0
11
- });
12
- }
13
- function normalizeWorkSlideAnimation(animation) {
14
- return {
15
- ...animation,
16
- durationMs: boundedInteger(animation.durationMs, 100, 60000),
17
- delayMs: boundedInteger(animation.delayMs, 0, 60000),
18
- direction: 'fly-in' === animation.effect ? normalizeWorkSlideAnimationDirection(animation.direction) : void 0
19
- };
20
- }
21
- function workSlideAnimationForElement(slide, elementId) {
22
- if (!elementId) return;
23
- return slide.animations?.find((animation)=>animation.elementId === elementId);
24
- }
25
- function workSlideAnimationIndex(slide, animationId) {
26
- if (!animationId) return -1;
27
- return slide.animations?.findIndex((animation)=>animation.id === animationId) ?? -1;
28
- }
29
- function workSlideAnimationCues(animations) {
30
- const cues = [];
31
- let current;
32
- for (const raw of animations ?? []){
33
- const animation = normalizeWorkSlideAnimation(raw);
34
- if (!current || 'on-click' === animation.trigger) {
35
- current = {
36
- automatic: 'on-click' !== animation.trigger,
37
- items: [],
38
- totalDurationMs: 0
39
- };
40
- cues.push(current);
41
- }
42
- const previous = current.items.at(-1);
43
- const baseStart = 'after-previous' === animation.trigger ? previous?.endOffsetMs ?? 0 : 'with-previous' === animation.trigger ? previous?.startOffsetMs ?? 0 : 0;
44
- const startOffsetMs = baseStart + animation.delayMs;
45
- const endOffsetMs = startOffsetMs + animation.durationMs;
46
- current.items.push({
47
- animation,
48
- startOffsetMs,
49
- endOffsetMs
50
- });
51
- current.totalDurationMs = Math.max(current.totalDurationMs, endOffsetMs);
52
- }
53
- return cues;
54
- }
55
- function initialWorkSlideAnimationCueIndex(cues) {
56
- return cues[0]?.automatic ? 0 : -1;
57
- }
58
- function removeWorkSlideAnimationsForElements(slide, elementIds) {
59
- const animations = slide.animations?.filter((animation)=>!elementIds.has(animation.elementId));
60
- if (animations?.length === slide.animations?.length) return slide;
61
- return {
62
- ...slide,
63
- animations: animations?.length ? animations : void 0
64
- };
65
- }
66
- function remapWorkSlideAnimations(animations, elementIds) {
67
- const remapped = (animations ?? []).flatMap((animation)=>{
68
- const elementId = elementIds.get(animation.elementId);
69
- return elementId ? [
70
- {
71
- ...animation,
72
- id: createWorkId('slide-animation'),
73
- elementId
74
- }
75
- ] : [];
76
- });
77
- return remapped.length ? remapped : void 0;
78
- }
79
- function normalizeWorkSlideAnimationDirection(direction) {
80
- return 'right' === direction || 'up' === direction || 'down' === direction ? direction : 'left';
81
- }
82
- function boundedInteger(value, minimum, maximum) {
83
- const finite = Number.isFinite(value) ? Math.round(value) : minimum;
84
- return Math.min(maximum, Math.max(minimum, finite));
85
- }
86
- const CARDINAL_DIRECTIONS = new Set([
87
- 'left',
88
- 'right',
89
- 'up',
90
- 'down'
91
- ]);
92
- const SPLIT_DIRECTIONS = new Set([
93
- 'in',
94
- 'out'
95
- ]);
96
- function createWorkSlideTransition(type, previous) {
97
- const common = {
98
- type,
99
- speed: previous?.speed ?? 'medium',
100
- advanceOnClick: previous?.advanceOnClick ?? true,
101
- advanceAfterMs: previous?.advanceAfterMs
102
- };
103
- if ('push' === type || 'wipe' === type) return {
104
- ...common,
105
- direction: previous?.direction && CARDINAL_DIRECTIONS.has(previous.direction) ? previous.direction : 'left'
106
- };
107
- if ('split' === type) return {
108
- ...common,
109
- direction: previous?.direction && SPLIT_DIRECTIONS.has(previous.direction) ? previous.direction : 'out',
110
- orientation: previous?.orientation ?? 'horizontal'
111
- };
112
- return common;
113
- }
114
- function slideTransitionDurationMilliseconds(transition) {
115
- if (transition?.speed === 'fast') return 500;
116
- if (transition?.speed === 'slow') return 2000;
117
- return 1000;
118
- }
119
- function workSlideTransitionsEqual(left, right) {
120
- if (!left || !right) return left === right;
121
- return left.type === right.type && left.speed === right.speed && left.direction === right.direction && left.orientation === right.orientation && left.advanceOnClick === right.advanceOnClick && left.advanceAfterMs === right.advanceAfterMs;
122
- }
123
- export { createWorkSlideAnimation, createWorkSlideTransition, initialWorkSlideAnimationCueIndex, normalizeWorkSlideAnimation, remapWorkSlideAnimations, removeWorkSlideAnimationsForElements, slideTransitionDurationMilliseconds, workSlideAnimationCues, workSlideAnimationForElement, workSlideAnimationIndex, workSlideTransitionsEqual };