@a3s-lab/office 0.14.0 → 0.16.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.
- package/COLLABORATION_ROADMAP.md +15 -5
- package/README.md +34 -1
- package/dist/0~6090.js +7 -8
- package/dist/0~spreadsheet-editor.js +6869 -3427
- package/dist/0~work-office-diagnostics.js +1 -1
- package/dist/{4476.js → 2180.js} +404 -35
- package/dist/4104.js +698 -41
- package/dist/5184.js +1 -1
- package/dist/8715.js +156 -156
- package/dist/core.js +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/collaboration/office-spreadsheet-collaboration-records.d.ts +2 -0
- package/dist/internal/collaboration/office-spreadsheet-collaboration-validation-support.d.ts +6 -0
- package/dist/internal/features/work/editors/spreadsheet-auto-filter.d.ts +1 -0
- package/dist/internal/features/work/editors/spreadsheet-command-catalog.d.ts +44 -1
- package/dist/internal/features/work/editors/spreadsheet-command-controller.d.ts +28 -0
- package/dist/internal/features/work/editors/spreadsheet-data-validation-command.d.ts +3 -0
- package/dist/internal/features/work/editors/spreadsheet-data-validation-dialog.d.ts +9 -0
- package/dist/internal/features/work/editors/spreadsheet-data-validation.d.ts +50 -0
- package/dist/internal/features/work/editors/spreadsheet-editor-ribbon.d.ts +4 -2
- package/dist/internal/features/work/editors/spreadsheet-editor-support.d.ts +1 -0
- package/dist/internal/features/work/editors/spreadsheet-hyperlink-command.d.ts +3 -0
- package/dist/internal/features/work/editors/spreadsheet-hyperlink-dialog.d.ts +9 -0
- package/dist/internal/features/work/editors/spreadsheet-hyperlink.d.ts +44 -0
- package/dist/internal/features/work/editors/spreadsheet-table-command.d.ts +3 -0
- package/dist/internal/features/work/editors/spreadsheet-table-conversion.d.ts +7 -0
- package/dist/internal/features/work/editors/spreadsheet-table-dialog.d.ts +8 -0
- package/dist/internal/features/work/editors/spreadsheet-table-limits.d.ts +1 -0
- package/dist/internal/features/work/editors/spreadsheet-table-reconciliation.d.ts +21 -0
- package/dist/internal/features/work/editors/spreadsheet-table-render.d.ts +16 -0
- package/dist/internal/features/work/editors/spreadsheet-table-ribbon.d.ts +8 -0
- package/dist/internal/features/work/editors/spreadsheet-table-style.d.ts +31 -0
- package/dist/internal/features/work/editors/spreadsheet-table.d.ts +55 -0
- package/dist/internal/features/work/editors/use-spreadsheet-data-validation.d.ts +23 -0
- package/dist/internal/features/work/editors/use-spreadsheet-hyperlink.d.ts +24 -0
- package/dist/internal/features/work/editors/use-spreadsheet-table.d.ts +23 -0
- package/dist/internal/features/work/work-spreadsheet-data-validation.d.ts +2 -0
- package/dist/internal/features/work/work-types.d.ts +100 -0
- package/dist/internal/features/work/work-xlsx-interop.d.ts +2 -0
- package/dist/internal/features/work/work-xlsx-table-filters.d.ts +3 -0
- package/dist/internal/features/work/work-xlsx-tables.d.ts +4 -0
- package/dist/office-kernel.wasm +0 -0
- package/dist/styles.css +486 -0
- package/dist/work-spreadsheet-package-scan.worker.js +3 -2
- package/docs/latest/en/browser-editor-architecture.md +43 -0
- package/package.json +12 -3
package/dist/styles.css
CHANGED
|
@@ -15925,6 +15925,303 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
|
|
|
15925
15925
|
}
|
|
15926
15926
|
}
|
|
15927
15927
|
|
|
15928
|
+
.work-spreadsheet-data-validation-dialog {
|
|
15929
|
+
--work-office-control-accent: var(--work-spreadsheet-accent, #159469);
|
|
15930
|
+
width: min(640px, 100%);
|
|
15931
|
+
}
|
|
15932
|
+
|
|
15933
|
+
.work-spreadsheet-data-validation-dialog form {
|
|
15934
|
+
gap: 18px;
|
|
15935
|
+
display: grid;
|
|
15936
|
+
}
|
|
15937
|
+
|
|
15938
|
+
.work-spreadsheet-data-validation-dialog section {
|
|
15939
|
+
gap: 12px;
|
|
15940
|
+
min-width: 0;
|
|
15941
|
+
display: grid;
|
|
15942
|
+
}
|
|
15943
|
+
|
|
15944
|
+
.work-spreadsheet-data-validation-dialog section + section {
|
|
15945
|
+
border-top: 1px solid var(--a3s-line);
|
|
15946
|
+
padding-top: 16px;
|
|
15947
|
+
}
|
|
15948
|
+
|
|
15949
|
+
.work-spreadsheet-data-validation-dialog h3 {
|
|
15950
|
+
color: var(--a3s-ink);
|
|
15951
|
+
margin: 0;
|
|
15952
|
+
font-size: 12px;
|
|
15953
|
+
font-weight: 650;
|
|
15954
|
+
}
|
|
15955
|
+
|
|
15956
|
+
.work-spreadsheet-data-validation-scope {
|
|
15957
|
+
background: var(--a3s-panel-soft);
|
|
15958
|
+
border-radius: 8px;
|
|
15959
|
+
grid-template-columns: 32px minmax(0, 1fr);
|
|
15960
|
+
align-items: center;
|
|
15961
|
+
gap: 10px;
|
|
15962
|
+
min-width: 0;
|
|
15963
|
+
padding: 9px 11px;
|
|
15964
|
+
display: grid;
|
|
15965
|
+
}
|
|
15966
|
+
|
|
15967
|
+
.work-spreadsheet-data-validation-scope > span {
|
|
15968
|
+
background: color-mix(in srgb,
|
|
15969
|
+
var(--work-spreadsheet-accent, #159469) 11%,
|
|
15970
|
+
var(--a3s-panel));
|
|
15971
|
+
width: 32px;
|
|
15972
|
+
height: 32px;
|
|
15973
|
+
color: var(--work-spreadsheet-accent, #159469);
|
|
15974
|
+
border-radius: 7px;
|
|
15975
|
+
place-items: center;
|
|
15976
|
+
display: grid;
|
|
15977
|
+
}
|
|
15978
|
+
|
|
15979
|
+
.work-spreadsheet-data-validation-scope > div {
|
|
15980
|
+
gap: 2px;
|
|
15981
|
+
min-width: 0;
|
|
15982
|
+
display: grid;
|
|
15983
|
+
}
|
|
15984
|
+
|
|
15985
|
+
.work-spreadsheet-data-validation-scope strong, .work-spreadsheet-data-validation-scope small {
|
|
15986
|
+
text-overflow: ellipsis;
|
|
15987
|
+
white-space: nowrap;
|
|
15988
|
+
overflow: hidden;
|
|
15989
|
+
}
|
|
15990
|
+
|
|
15991
|
+
.work-spreadsheet-data-validation-scope strong {
|
|
15992
|
+
color: var(--a3s-ink);
|
|
15993
|
+
font-size: 11px;
|
|
15994
|
+
font-weight: 650;
|
|
15995
|
+
}
|
|
15996
|
+
|
|
15997
|
+
.work-spreadsheet-data-validation-scope small {
|
|
15998
|
+
color: var(--a3s-muted);
|
|
15999
|
+
font-size: 10px;
|
|
16000
|
+
}
|
|
16001
|
+
|
|
16002
|
+
.work-spreadsheet-data-validation-mixed {
|
|
16003
|
+
color: color-mix(in srgb, var(--a3s-ink) 74%, #9a6900);
|
|
16004
|
+
margin: -6px 0 0;
|
|
16005
|
+
font-size: 11px;
|
|
16006
|
+
line-height: 1.45;
|
|
16007
|
+
}
|
|
16008
|
+
|
|
16009
|
+
.work-spreadsheet-data-validation-section-heading {
|
|
16010
|
+
color: var(--work-spreadsheet-accent, #159469);
|
|
16011
|
+
align-items: center;
|
|
16012
|
+
gap: 7px;
|
|
16013
|
+
display: flex;
|
|
16014
|
+
}
|
|
16015
|
+
|
|
16016
|
+
.work-spreadsheet-data-validation-condition-grid, .work-spreadsheet-data-validation-values.two {
|
|
16017
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
16018
|
+
gap: 10px;
|
|
16019
|
+
display: grid;
|
|
16020
|
+
}
|
|
16021
|
+
|
|
16022
|
+
.work-spreadsheet-data-validation-values {
|
|
16023
|
+
gap: 8px;
|
|
16024
|
+
min-width: 0;
|
|
16025
|
+
display: grid;
|
|
16026
|
+
}
|
|
16027
|
+
|
|
16028
|
+
.work-spreadsheet-data-validation-inline-error {
|
|
16029
|
+
color: var(--a3s-danger, #c23535);
|
|
16030
|
+
grid-column: 1 / -1;
|
|
16031
|
+
font-size: 10px;
|
|
16032
|
+
}
|
|
16033
|
+
|
|
16034
|
+
.work-spreadsheet-data-validation-behavior {
|
|
16035
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
16036
|
+
gap: 8px;
|
|
16037
|
+
display: grid;
|
|
16038
|
+
}
|
|
16039
|
+
|
|
16040
|
+
.work-spreadsheet-data-validation-behavior .work-office-checkbox {
|
|
16041
|
+
min-height: 40px;
|
|
16042
|
+
padding: 8px 10px;
|
|
16043
|
+
}
|
|
16044
|
+
|
|
16045
|
+
.work-spreadsheet-data-validation-dialog textarea {
|
|
16046
|
+
resize: vertical;
|
|
16047
|
+
min-height: 70px;
|
|
16048
|
+
}
|
|
16049
|
+
|
|
16050
|
+
.work-spreadsheet-data-validation-error {
|
|
16051
|
+
color: var(--a3s-danger, #c23535);
|
|
16052
|
+
margin: 0;
|
|
16053
|
+
font-size: 11px;
|
|
16054
|
+
}
|
|
16055
|
+
|
|
16056
|
+
.work-spreadsheet-data-validation-remove {
|
|
16057
|
+
margin-right: auto;
|
|
16058
|
+
}
|
|
16059
|
+
|
|
16060
|
+
@media (width <= 560px) {
|
|
16061
|
+
.work-spreadsheet-data-validation-condition-grid, .work-spreadsheet-data-validation-values.two, .work-spreadsheet-data-validation-behavior {
|
|
16062
|
+
grid-template-columns: minmax(0, 1fr);
|
|
16063
|
+
}
|
|
16064
|
+
}
|
|
16065
|
+
|
|
16066
|
+
.work-spreadsheet-hyperlink-dialog {
|
|
16067
|
+
--work-office-control-accent: var(--work-spreadsheet-accent, #159469);
|
|
16068
|
+
width: min(610px, 100%);
|
|
16069
|
+
}
|
|
16070
|
+
|
|
16071
|
+
.work-spreadsheet-hyperlink-dialog form {
|
|
16072
|
+
gap: 18px;
|
|
16073
|
+
display: grid;
|
|
16074
|
+
}
|
|
16075
|
+
|
|
16076
|
+
.work-spreadsheet-hyperlink-types {
|
|
16077
|
+
border: 0;
|
|
16078
|
+
min-width: 0;
|
|
16079
|
+
margin: 0;
|
|
16080
|
+
padding: 0;
|
|
16081
|
+
}
|
|
16082
|
+
|
|
16083
|
+
.work-spreadsheet-hyperlink-types > legend {
|
|
16084
|
+
color: var(--a3s-muted);
|
|
16085
|
+
margin-bottom: 8px;
|
|
16086
|
+
font-size: 12px;
|
|
16087
|
+
font-weight: 600;
|
|
16088
|
+
}
|
|
16089
|
+
|
|
16090
|
+
.work-spreadsheet-hyperlink-types > div {
|
|
16091
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
16092
|
+
gap: 7px;
|
|
16093
|
+
display: grid;
|
|
16094
|
+
}
|
|
16095
|
+
|
|
16096
|
+
.work-spreadsheet-hyperlink-types label {
|
|
16097
|
+
border: 1px solid var(--a3s-line);
|
|
16098
|
+
background: var(--a3s-panel);
|
|
16099
|
+
min-width: 0;
|
|
16100
|
+
min-height: 62px;
|
|
16101
|
+
color: var(--a3s-muted);
|
|
16102
|
+
cursor: pointer;
|
|
16103
|
+
border-radius: 8px;
|
|
16104
|
+
grid-template-columns: 20px minmax(0, 1fr);
|
|
16105
|
+
align-items: center;
|
|
16106
|
+
gap: 8px;
|
|
16107
|
+
padding: 9px 10px;
|
|
16108
|
+
display: grid;
|
|
16109
|
+
position: relative;
|
|
16110
|
+
}
|
|
16111
|
+
|
|
16112
|
+
.work-spreadsheet-hyperlink-types label:hover {
|
|
16113
|
+
border-color: color-mix(in srgb,
|
|
16114
|
+
var(--work-spreadsheet-accent, #159469) 42%,
|
|
16115
|
+
var(--a3s-line));
|
|
16116
|
+
}
|
|
16117
|
+
|
|
16118
|
+
.work-spreadsheet-hyperlink-types label.selected {
|
|
16119
|
+
border-color: color-mix(in srgb,
|
|
16120
|
+
var(--work-spreadsheet-accent, #159469) 58%,
|
|
16121
|
+
var(--a3s-line));
|
|
16122
|
+
background: color-mix(in srgb,
|
|
16123
|
+
var(--work-spreadsheet-accent, #159469) 8%,
|
|
16124
|
+
var(--a3s-panel));
|
|
16125
|
+
color: var(--work-spreadsheet-accent, #159469);
|
|
16126
|
+
}
|
|
16127
|
+
|
|
16128
|
+
.work-spreadsheet-hyperlink-types label:has(input:focus-visible) {
|
|
16129
|
+
outline: 2px solid
|
|
16130
|
+
color-mix(in srgb, var(--work-spreadsheet-accent, #159469) 38%, transparent);
|
|
16131
|
+
outline-offset: 2px;
|
|
16132
|
+
}
|
|
16133
|
+
|
|
16134
|
+
.work-spreadsheet-hyperlink-types input {
|
|
16135
|
+
opacity: 0;
|
|
16136
|
+
width: 1px;
|
|
16137
|
+
height: 1px;
|
|
16138
|
+
position: absolute;
|
|
16139
|
+
}
|
|
16140
|
+
|
|
16141
|
+
.work-spreadsheet-hyperlink-types label > span {
|
|
16142
|
+
gap: 1px;
|
|
16143
|
+
min-width: 0;
|
|
16144
|
+
display: grid;
|
|
16145
|
+
}
|
|
16146
|
+
|
|
16147
|
+
.work-spreadsheet-hyperlink-types strong, .work-spreadsheet-hyperlink-types small {
|
|
16148
|
+
text-overflow: ellipsis;
|
|
16149
|
+
white-space: nowrap;
|
|
16150
|
+
overflow: hidden;
|
|
16151
|
+
}
|
|
16152
|
+
|
|
16153
|
+
.work-spreadsheet-hyperlink-types strong {
|
|
16154
|
+
color: var(--a3s-ink);
|
|
16155
|
+
font-size: 11px;
|
|
16156
|
+
font-weight: 650;
|
|
16157
|
+
}
|
|
16158
|
+
|
|
16159
|
+
.work-spreadsheet-hyperlink-types small {
|
|
16160
|
+
color: var(--a3s-muted);
|
|
16161
|
+
font-size: 9px;
|
|
16162
|
+
}
|
|
16163
|
+
|
|
16164
|
+
.work-spreadsheet-hyperlink-preview {
|
|
16165
|
+
background: var(--a3s-panel-soft);
|
|
16166
|
+
border-radius: 8px;
|
|
16167
|
+
grid-template-columns: 30px minmax(0, 1fr);
|
|
16168
|
+
align-items: center;
|
|
16169
|
+
gap: 10px;
|
|
16170
|
+
min-width: 0;
|
|
16171
|
+
min-height: 56px;
|
|
16172
|
+
padding: 9px 11px;
|
|
16173
|
+
display: grid;
|
|
16174
|
+
}
|
|
16175
|
+
|
|
16176
|
+
.work-spreadsheet-hyperlink-preview > span {
|
|
16177
|
+
background: color-mix(in srgb,
|
|
16178
|
+
var(--work-spreadsheet-accent, #159469) 11%,
|
|
16179
|
+
var(--a3s-panel));
|
|
16180
|
+
width: 30px;
|
|
16181
|
+
height: 30px;
|
|
16182
|
+
color: var(--work-spreadsheet-accent, #159469);
|
|
16183
|
+
border-radius: 7px;
|
|
16184
|
+
place-items: center;
|
|
16185
|
+
display: grid;
|
|
16186
|
+
}
|
|
16187
|
+
|
|
16188
|
+
.work-spreadsheet-hyperlink-preview > div {
|
|
16189
|
+
gap: 1px;
|
|
16190
|
+
min-width: 0;
|
|
16191
|
+
display: grid;
|
|
16192
|
+
}
|
|
16193
|
+
|
|
16194
|
+
.work-spreadsheet-hyperlink-preview strong, .work-spreadsheet-hyperlink-preview small {
|
|
16195
|
+
text-overflow: ellipsis;
|
|
16196
|
+
white-space: nowrap;
|
|
16197
|
+
overflow: hidden;
|
|
16198
|
+
}
|
|
16199
|
+
|
|
16200
|
+
.work-spreadsheet-hyperlink-preview strong {
|
|
16201
|
+
color: var(--a3s-ink);
|
|
16202
|
+
font-size: 11px;
|
|
16203
|
+
font-weight: 650;
|
|
16204
|
+
}
|
|
16205
|
+
|
|
16206
|
+
.work-spreadsheet-hyperlink-preview small {
|
|
16207
|
+
color: var(--a3s-muted);
|
|
16208
|
+
font-size: 10px;
|
|
16209
|
+
}
|
|
16210
|
+
|
|
16211
|
+
.work-spreadsheet-hyperlink-remove {
|
|
16212
|
+
margin-right: auto;
|
|
16213
|
+
}
|
|
16214
|
+
|
|
16215
|
+
@media (width <= 560px) {
|
|
16216
|
+
.work-spreadsheet-hyperlink-types > div {
|
|
16217
|
+
grid-template-columns: minmax(0, 1fr);
|
|
16218
|
+
}
|
|
16219
|
+
|
|
16220
|
+
.work-spreadsheet-hyperlink-types label {
|
|
16221
|
+
min-height: 50px;
|
|
16222
|
+
}
|
|
16223
|
+
}
|
|
16224
|
+
|
|
15928
16225
|
.work-spreadsheet-paste-special-dialog {
|
|
15929
16226
|
--work-office-control-accent: var(--work-spreadsheet-accent, #159469);
|
|
15930
16227
|
width: min(660px, 100%);
|
|
@@ -16139,6 +16436,195 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
|
|
|
16139
16436
|
}
|
|
16140
16437
|
}
|
|
16141
16438
|
|
|
16439
|
+
.work-spreadsheet-table-dialog {
|
|
16440
|
+
--work-office-control-accent: var(--work-spreadsheet-accent, #159469);
|
|
16441
|
+
width: min(480px, 100%);
|
|
16442
|
+
}
|
|
16443
|
+
|
|
16444
|
+
.work-spreadsheet-table-dialog form {
|
|
16445
|
+
gap: 16px;
|
|
16446
|
+
display: grid;
|
|
16447
|
+
}
|
|
16448
|
+
|
|
16449
|
+
.work-spreadsheet-table-scope {
|
|
16450
|
+
background: var(--a3s-panel-soft);
|
|
16451
|
+
border-radius: 8px;
|
|
16452
|
+
grid-template-columns: 34px minmax(0, 1fr);
|
|
16453
|
+
align-items: center;
|
|
16454
|
+
gap: 10px;
|
|
16455
|
+
padding: 10px 12px;
|
|
16456
|
+
display: grid;
|
|
16457
|
+
}
|
|
16458
|
+
|
|
16459
|
+
.work-spreadsheet-table-scope > span {
|
|
16460
|
+
background: color-mix(in srgb,
|
|
16461
|
+
var(--work-spreadsheet-accent, #159469) 11%,
|
|
16462
|
+
var(--a3s-panel));
|
|
16463
|
+
width: 34px;
|
|
16464
|
+
height: 34px;
|
|
16465
|
+
color: var(--work-spreadsheet-accent, #159469);
|
|
16466
|
+
border-radius: 7px;
|
|
16467
|
+
place-items: center;
|
|
16468
|
+
display: grid;
|
|
16469
|
+
}
|
|
16470
|
+
|
|
16471
|
+
.work-spreadsheet-table-scope > div {
|
|
16472
|
+
gap: 2px;
|
|
16473
|
+
min-width: 0;
|
|
16474
|
+
display: grid;
|
|
16475
|
+
}
|
|
16476
|
+
|
|
16477
|
+
.work-spreadsheet-table-scope strong, .work-spreadsheet-table-scope small {
|
|
16478
|
+
text-overflow: ellipsis;
|
|
16479
|
+
white-space: nowrap;
|
|
16480
|
+
overflow: hidden;
|
|
16481
|
+
}
|
|
16482
|
+
|
|
16483
|
+
.work-spreadsheet-table-scope strong {
|
|
16484
|
+
color: var(--a3s-ink);
|
|
16485
|
+
font-size: 12px;
|
|
16486
|
+
font-weight: 650;
|
|
16487
|
+
}
|
|
16488
|
+
|
|
16489
|
+
.work-spreadsheet-table-scope small {
|
|
16490
|
+
color: var(--a3s-muted);
|
|
16491
|
+
font-size: 10px;
|
|
16492
|
+
}
|
|
16493
|
+
|
|
16494
|
+
.work-spreadsheet-table-dialog .work-office-checkbox {
|
|
16495
|
+
min-height: 38px;
|
|
16496
|
+
padding: 8px 10px;
|
|
16497
|
+
}
|
|
16498
|
+
|
|
16499
|
+
.work-spreadsheet-table-name {
|
|
16500
|
+
align-content: center;
|
|
16501
|
+
gap: 3px;
|
|
16502
|
+
width: 132px;
|
|
16503
|
+
padding: 2px 5px;
|
|
16504
|
+
display: grid;
|
|
16505
|
+
}
|
|
16506
|
+
|
|
16507
|
+
.work-spreadsheet-table-name > span {
|
|
16508
|
+
color: var(--a3s-muted);
|
|
16509
|
+
font-size: 9px;
|
|
16510
|
+
line-height: 1;
|
|
16511
|
+
}
|
|
16512
|
+
|
|
16513
|
+
.work-spreadsheet-table-name > input {
|
|
16514
|
+
border: 1px solid var(--a3s-line-strong);
|
|
16515
|
+
background: var(--a3s-panel);
|
|
16516
|
+
width: 100%;
|
|
16517
|
+
height: 27px;
|
|
16518
|
+
color: var(--a3s-ink);
|
|
16519
|
+
border-radius: 5px;
|
|
16520
|
+
padding: 0 8px;
|
|
16521
|
+
font-size: 11px;
|
|
16522
|
+
}
|
|
16523
|
+
|
|
16524
|
+
.work-spreadsheet-table-style-root {
|
|
16525
|
+
display: flex;
|
|
16526
|
+
}
|
|
16527
|
+
|
|
16528
|
+
.work-office-ribbon .work-spreadsheet-table-style-trigger {
|
|
16529
|
+
min-width: 76px;
|
|
16530
|
+
}
|
|
16531
|
+
|
|
16532
|
+
.work-spreadsheet-table-style-preview {
|
|
16533
|
+
background: #fff;
|
|
16534
|
+
border: 1px solid #0f172a29;
|
|
16535
|
+
border-radius: 3px;
|
|
16536
|
+
grid-template-rows: 8px 1fr 1fr;
|
|
16537
|
+
width: 48px;
|
|
16538
|
+
height: 28px;
|
|
16539
|
+
display: grid;
|
|
16540
|
+
overflow: hidden;
|
|
16541
|
+
}
|
|
16542
|
+
|
|
16543
|
+
.work-spreadsheet-table-style-preview > i {
|
|
16544
|
+
min-height: 0;
|
|
16545
|
+
display: block;
|
|
16546
|
+
}
|
|
16547
|
+
|
|
16548
|
+
.work-spreadsheet-table-style-menu {
|
|
16549
|
+
border: 1px solid var(--a3s-overlay-border);
|
|
16550
|
+
border-radius: var(--a3s-overlay-radius);
|
|
16551
|
+
background: var(--a3s-overlay-surface);
|
|
16552
|
+
width: min(464px, 100vw - 24px);
|
|
16553
|
+
max-height: min(520px, 100vh - 32px);
|
|
16554
|
+
box-shadow: var(--a3s-shadow-soft);
|
|
16555
|
+
padding: 10px;
|
|
16556
|
+
overflow: auto;
|
|
16557
|
+
}
|
|
16558
|
+
|
|
16559
|
+
.work-spreadsheet-table-style-family {
|
|
16560
|
+
border: 0;
|
|
16561
|
+
gap: 6px;
|
|
16562
|
+
min-inline-size: 0;
|
|
16563
|
+
margin: 0;
|
|
16564
|
+
padding: 0;
|
|
16565
|
+
display: grid;
|
|
16566
|
+
}
|
|
16567
|
+
|
|
16568
|
+
.work-spreadsheet-table-style-family + .work-spreadsheet-table-style-family {
|
|
16569
|
+
border-top: 1px solid var(--a3s-line);
|
|
16570
|
+
margin-top: 10px;
|
|
16571
|
+
padding-top: 9px;
|
|
16572
|
+
}
|
|
16573
|
+
|
|
16574
|
+
.work-spreadsheet-table-style-family > span {
|
|
16575
|
+
color: var(--a3s-muted);
|
|
16576
|
+
font-size: 10px;
|
|
16577
|
+
font-weight: 650;
|
|
16578
|
+
}
|
|
16579
|
+
|
|
16580
|
+
.work-spreadsheet-table-style-family > div {
|
|
16581
|
+
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
16582
|
+
gap: 4px;
|
|
16583
|
+
display: grid;
|
|
16584
|
+
}
|
|
16585
|
+
|
|
16586
|
+
.work-spreadsheet-table-style-family button {
|
|
16587
|
+
cursor: pointer;
|
|
16588
|
+
background: none;
|
|
16589
|
+
border: 1px solid #0000;
|
|
16590
|
+
border-radius: 5px;
|
|
16591
|
+
place-items: center;
|
|
16592
|
+
min-width: 0;
|
|
16593
|
+
height: 38px;
|
|
16594
|
+
padding: 4px;
|
|
16595
|
+
display: grid;
|
|
16596
|
+
}
|
|
16597
|
+
|
|
16598
|
+
.work-spreadsheet-table-style-family button:hover, .work-spreadsheet-table-style-family button:focus-visible, .work-spreadsheet-table-style-family button[aria-checked="true"] {
|
|
16599
|
+
border-color: color-mix(in srgb,
|
|
16600
|
+
var(--work-spreadsheet-accent, #159469) 46%,
|
|
16601
|
+
var(--a3s-line));
|
|
16602
|
+
background: color-mix(in srgb,
|
|
16603
|
+
var(--work-spreadsheet-accent, #159469) 8%,
|
|
16604
|
+
var(--a3s-panel));
|
|
16605
|
+
}
|
|
16606
|
+
|
|
16607
|
+
.work-spreadsheet-table-style-family button:focus-visible {
|
|
16608
|
+
outline: 2px solid
|
|
16609
|
+
color-mix(in srgb, var(--work-spreadsheet-accent, #159469) 66%, white);
|
|
16610
|
+
outline-offset: 1px;
|
|
16611
|
+
}
|
|
16612
|
+
|
|
16613
|
+
@media (width <= 620px) {
|
|
16614
|
+
.work-spreadsheet-table-name {
|
|
16615
|
+
width: 104px;
|
|
16616
|
+
}
|
|
16617
|
+
|
|
16618
|
+
.work-spreadsheet-table-style-menu {
|
|
16619
|
+
width: min(356px, 100vw - 16px);
|
|
16620
|
+
padding: 8px;
|
|
16621
|
+
}
|
|
16622
|
+
|
|
16623
|
+
.work-spreadsheet-table-style-family > div {
|
|
16624
|
+
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
16625
|
+
}
|
|
16626
|
+
}
|
|
16627
|
+
|
|
16142
16628
|
.work-spreadsheet-chart-manager {
|
|
16143
16629
|
border: 0;
|
|
16144
16630
|
grid-template-columns: minmax(180px, 230px) minmax(720px, 1fr);
|
|
@@ -3996,7 +3996,8 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
3996
3996
|
'printOptions',
|
|
3997
3997
|
'headerFooter',
|
|
3998
3998
|
'pageSetUpPr',
|
|
3999
|
-
'drawing'
|
|
3999
|
+
'drawing',
|
|
4000
|
+
'tableParts'
|
|
4000
4001
|
]);
|
|
4001
4002
|
const DIAGNOSTIC_WORKSHEET_ELEMENTS = new Set([
|
|
4002
4003
|
'conditionalFormatting',
|
|
@@ -4011,7 +4012,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
4011
4012
|
'rowBreaks',
|
|
4012
4013
|
'colBreaks'
|
|
4013
4014
|
]);
|
|
4014
|
-
const WORKSHEET_SCAN_PATTERN = /<(?:[A-Za-z_][\w.-]*:)?(?:(cols|f|pane|dataValidation|conditionalFormatting|sheetProtection|protectedRange|rowBreaks|colBreaks|pageSetup|pageMargins|printOptions|headerFooter|pageSetUpPr|drawing)(?=[\s/>])|(row)(?=[\s/>])[^>]*\s(?:collapsed|customFormat|customHeight|hidden|ht|outlineLevel|thickBot|thickTop)\s*=|(c)(?=[\s/>])[^>]*\ss\s*=)/g;
|
|
4015
|
+
const WORKSHEET_SCAN_PATTERN = /<(?:[A-Za-z_][\w.-]*:)?(?:(cols|f|pane|dataValidation|conditionalFormatting|sheetProtection|protectedRange|rowBreaks|colBreaks|pageSetup|pageMargins|printOptions|headerFooter|pageSetUpPr|drawing|tableParts)(?=[\s/>])|(row)(?=[\s/>])[^>]*\s(?:collapsed|customFormat|customHeight|hidden|ht|outlineLevel|thickBot|thickTop)\s*=|(c)(?=[\s/>])[^>]*\ss\s*=)/g;
|
|
4015
4016
|
function scanXlsxWorksheetXml(source) {
|
|
4016
4017
|
let hasDirectCellStyles = false;
|
|
4017
4018
|
let hasDiagnosticFeatures = false;
|
|
@@ -304,6 +304,21 @@ focus restoration.
|
|
|
304
304
|
| Presentation | Scene canvas with ordered typed multi-selection, persistent nested browser groups, native PPTX group-node export, exact keyboard-accessible table-dimension insertion, native slide/object context actions with optional AI actions, a separate object/content editing state, one on-demand TipTap instance, collective move/scale/nudge/clipboard/delete/layer commands, selection-bound alignment and distribution, typed group/ungroup commands, one typed dispatcher for ribbon commands, editor-scoped shortcuts with post-command selection focus, direct beginning/current-slide playback with fullscreen fallback, frame-coalesced transactional move/resize previews that commit once on pointer release, two-level thumbnail node and scene windowing, and a phone stage that top-aligns the primary canvas while retaining one readable slide indicator beside view and zoom controls | Revisioned, cancellable Worker/Rust-WASM slide-relative alignment and object-set snapping with typed visual guides and a JavaScript fallback | Arbitrary rotated or reflected PPTX group transforms, connectors, theme resolution, text fitting, kernel-owned thumbnail layout, and slide serialization |
|
|
305
305
|
| PDF | PDFium-backed page rendering with an A3S-owned responsive toolbar, a scrollable page-thumbnail rail with active-page synchronization and bounded bitmap/DOM windowing, a focus-contained phone page drawer, and typed capability controllers for navigation, zoom, search, basic annotations, annotation color, opacity, compatible stroke-width defaults and selection updates, history, and save; page and search drafts cancel without accidental commands, shortcuts remain scoped to the PDF root, and compact widths retain page status while exposing search-result traversal, navigation, zoom, and history through the keyboard-operated overflow menu | PDFium WebAssembly | Forms, redaction review, page organization, and reopen fixtures |
|
|
306
306
|
|
|
307
|
+
Spreadsheet Tables/ListObjects remain part of the controlled workbook model,
|
|
308
|
+
not a formatting sidecar. The active cell selects the contextual Table Design
|
|
309
|
+
ribbon; creation, design, structure reconciliation, conversion, collaboration,
|
|
310
|
+
and XLSX import/export all read the same stable ID, range, column, filter, and
|
|
311
|
+
style record. Table presentation is resolved inside Fortune's existing
|
|
312
|
+
visible-cell Canvas callbacks. A row-cached resolver inspects only tables that
|
|
313
|
+
can intersect the cell being painted, and conditional formatting remains the
|
|
314
|
+
higher-priority visual layer. Ordinary style changes therefore do not stamp or
|
|
315
|
+
allocate cells. Convert to Range is the deliberate boundary where the selected
|
|
316
|
+
appearance becomes native cell fills, emphasis, and borders; a bounded
|
|
317
|
+
footprint check switches large matrix projections to sparse `celldata` before
|
|
318
|
+
materialization. Fortune row/column operations are reconciled back into table
|
|
319
|
+
ranges, column identities, filter offsets, and canonical header cells, while
|
|
320
|
+
merge and worksheet AutoFilter commands reject intersecting ownership.
|
|
321
|
+
|
|
307
322
|
The table is a fidelity statement, not a marketing capability list. The
|
|
308
323
|
current Document path shapes text-flow paragraphs in Rust/WASM when every
|
|
309
324
|
explicit CSS family resolves to an exact registered face. Each run may carry up
|
|
@@ -391,6 +406,16 @@ scroll range. A cumulative geometry index and binary search map the viewport
|
|
|
391
406
|
to its exact leaves. `Ctrl+Home`, `Ctrl+End`, and the macOS equivalents operate
|
|
392
407
|
on model positions first and never depend on mounted DOM.
|
|
393
408
|
|
|
409
|
+
CSS `content-visibility: auto` is not the production long-document boundary.
|
|
410
|
+
It can skip browser layout and paint for an off-screen subtree, but the
|
|
411
|
+
ProseMirror nodes, descendant DOM, JavaScript projection work, mutation and
|
|
412
|
+
selection bookkeeping, and accessibility tree still exist. The production
|
|
413
|
+
NodeView window instead omits descendant DOM and page-sheet DOM while retaining
|
|
414
|
+
model-authoritative positions, indexed geometry, and semantic previews only
|
|
415
|
+
for the visible leaves. `content-visibility` remains useful as a measured
|
|
416
|
+
benchmark mode where a surface owns ordinary DOM, but it cannot replace model
|
|
417
|
+
windowing or visible-range Canvas painting.
|
|
418
|
+
|
|
394
419
|
Pagination reads the canonical JSON payloads of lazy chunks without hydrating
|
|
395
420
|
them into ProseMirror. A text edit reuses the measured block and page prefix
|
|
396
421
|
before the first changed position, locates the current page with a binary
|
|
@@ -1228,6 +1253,16 @@ is still Fortune Sheet. The A3S-owned virtual viewport, moving initial and
|
|
|
1228
1253
|
replacement projection off the main thread, complete formula semantics, kernel
|
|
1229
1254
|
number formatting, and print pagination remain open work in this stage.
|
|
1230
1255
|
|
|
1256
|
+
The native table slice is also implemented at this stage. Insert Table creates
|
|
1257
|
+
one bounded semantic ListObject, the contextual design surface selects among
|
|
1258
|
+
60 built-in OOXML styles, visible cells receive render-time Canvas styling,
|
|
1259
|
+
row/column operations reconcile table structure, and Convert to Range
|
|
1260
|
+
materializes appearance through a sparse-safe path. XLSX table parts,
|
|
1261
|
+
relationships, content types, styles, and supported filters round-trip, while
|
|
1262
|
+
Yjs uses ordered ID-keyed records and creation claims for two-client
|
|
1263
|
+
convergence. Structured-reference calculation, calculated columns, complete
|
|
1264
|
+
totals authoring, slicers, and external/query tables remain open gates.
|
|
1265
|
+
|
|
1231
1266
|
Exit criteria: scrolling and selection do not scale with total row count;
|
|
1232
1267
|
incremental recalculation touches only affected dependency subgraphs; XLSX
|
|
1233
1268
|
fixtures preserve formulas, styles, names, validation, conditional formatting,
|
|
@@ -1421,6 +1456,14 @@ runner polling backoff is therefore excluded from the load time.
|
|
|
1421
1456
|
| DOCX table, 100,000 rows × 3 columns | 0.813 s (0.810–0.814) | 1.747 s (1.739–1.749), 2,381 pages | 96 ms (88–144) |
|
|
1422
1457
|
| XLSX table, 100,000 rows × 10 columns, 1 million populated cells | 0.480 s (0.474–0.494) | n/a | No task ≥50 ms in any of five runs |
|
|
1423
1458
|
|
|
1459
|
+
The XLSX row above is a rectangular one-million-cell data fixture, not a
|
|
1460
|
+
semantic `WorkSpreadsheetTable`/OOXML ListObject benchmark. It proves the
|
|
1461
|
+
plain-workbook import and visible-range Canvas path; it must not be used to
|
|
1462
|
+
claim that structured-reference calculation, calculated columns, totals,
|
|
1463
|
+
filters, or table conversion have the same profile. A dedicated large
|
|
1464
|
+
ListObject matrix remains required before publishing table-specific load,
|
|
1465
|
+
mutation, conversion, and export budgets.
|
|
1466
|
+
|
|
1424
1467
|
The median text phases were 121.6 ms for the complete import, 76.1 ms inside
|
|
1425
1468
|
the Worker, and 56.6 ms for Worker parsing. The table phases were 462.6 ms,
|
|
1426
1469
|
377.6 ms, and 311.6 ms respectively; the already mounted editor applied that
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a3s-lab/office",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Open-source collaborative browser editors for documents, Markdown, spreadsheets, presentations, and PDFs.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"office",
|
|
@@ -87,7 +87,10 @@
|
|
|
87
87
|
"playground:preview": "rsbuild preview --config playground/rsbuild.config.ts --host 127.0.0.1 --port 4175 --strict-port",
|
|
88
88
|
"playground:typecheck": "tsc --noEmit -p playground/tsconfig.json",
|
|
89
89
|
"playground:visual": "playwright test --config playwright.config.ts",
|
|
90
|
+
"playground:visual:spreadsheet-data-validation": "playwright test visual-tests/spreadsheet-data-validation.functional.spec.ts --config playwright.config.ts",
|
|
91
|
+
"playground:visual:spreadsheet-hyperlink": "playwright test visual-tests/spreadsheet-hyperlink.functional.spec.ts --config playwright.config.ts",
|
|
90
92
|
"playground:visual:spreadsheet-ribbon": "playwright test visual-tests/spreadsheet-ribbon.functional.spec.ts --config playwright.config.ts",
|
|
93
|
+
"playground:visual:spreadsheet-table": "playwright test visual-tests/spreadsheet-table.functional.spec.ts --config playwright.config.ts",
|
|
91
94
|
"playground:visual:update": "playwright test --config playwright.config.ts --update-snapshots",
|
|
92
95
|
"performance:fixtures": "bun .a3s-test/performance/generate-fixtures.ts",
|
|
93
96
|
"performance:large-document-edits": "bun .a3s-test/performance/generate-fixtures.ts --documents-only && bun .a3s-test/performance/benchmark-document-edit.ts http://127.0.0.1:4175/ 3",
|
|
@@ -97,8 +100,8 @@
|
|
|
97
100
|
"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/ --runs 3 --timeout-ms 120000",
|
|
98
101
|
"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/ --runs 3 --timeout-ms 120000 --modes default,content-visibility",
|
|
99
102
|
"test": "rstest",
|
|
100
|
-
"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-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/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",
|
|
101
|
-
"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-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/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",
|
|
103
|
+
"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-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",
|
|
104
|
+
"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-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",
|
|
102
105
|
"test:e2e:fixtures": "bun scripts/create-e2e-fixtures.ts",
|
|
103
106
|
"test:e2e:large-documents": "bun .a3s-test/performance/generate-fixtures.ts --documents-only && a3s-test run tests/e2e/word-large-document-windowing.acl --json",
|
|
104
107
|
"test:e2e:large-documents:check": "a3s-test check tests/e2e/word-large-document-windowing.acl --json",
|
|
@@ -132,6 +135,8 @@
|
|
|
132
135
|
"test:e2e:spreadsheet-ribbon:check": "a3s-test check tests/e2e/spreadsheet-ribbon-alignment.acl --json",
|
|
133
136
|
"test:e2e:spreadsheet-cell-style": "a3s-test run tests/e2e/spreadsheet-cell-style.acl --json",
|
|
134
137
|
"test:e2e:spreadsheet-cell-style:check": "a3s-test check tests/e2e/spreadsheet-cell-style.acl --json",
|
|
138
|
+
"test:e2e:spreadsheet-table": "a3s-test run tests/e2e/spreadsheet-table.acl --json",
|
|
139
|
+
"test:e2e:spreadsheet-table:check": "a3s-test check tests/e2e/spreadsheet-table.acl --json",
|
|
135
140
|
"test:e2e:spreadsheet-cell-fill": "a3s-test run tests/e2e/spreadsheet-cell-fill.acl --json",
|
|
136
141
|
"test:e2e:spreadsheet-cell-fill:check": "a3s-test check tests/e2e/spreadsheet-cell-fill.acl --json",
|
|
137
142
|
"test:e2e:spreadsheet-auto-sum": "a3s-test run tests/e2e/spreadsheet-auto-sum.acl --json",
|
|
@@ -140,6 +145,10 @@
|
|
|
140
145
|
"test:e2e:spreadsheet-paste-special:check": "a3s-test check tests/e2e/spreadsheet-paste-special.acl --json",
|
|
141
146
|
"test:e2e:spreadsheet-go-to": "a3s-test run tests/e2e/spreadsheet-go-to.acl --json",
|
|
142
147
|
"test:e2e:spreadsheet-go-to:check": "a3s-test check tests/e2e/spreadsheet-go-to.acl --json",
|
|
148
|
+
"test:e2e:spreadsheet-data-validation": "a3s-test run tests/e2e/spreadsheet-data-validation.acl --json",
|
|
149
|
+
"test:e2e:spreadsheet-data-validation:check": "a3s-test check tests/e2e/spreadsheet-data-validation.acl --json",
|
|
150
|
+
"test:e2e:spreadsheet-hyperlink": "a3s-test run tests/e2e/spreadsheet-hyperlink.acl --json",
|
|
151
|
+
"test:e2e:spreadsheet-hyperlink:check": "a3s-test check tests/e2e/spreadsheet-hyperlink.acl --json",
|
|
143
152
|
"test:e2e:spreadsheet-maximum-sparse": "a3s-test run tests/e2e/spreadsheet-maximum-sparse.acl --json",
|
|
144
153
|
"test:e2e:spreadsheet-maximum-sparse:check": "a3s-test check tests/e2e/spreadsheet-maximum-sparse.acl --json",
|
|
145
154
|
"test:e2e:spreadsheet-large": "bun .a3s-test/performance/generate-fixtures.ts --spreadsheets-only && a3s-test run tests/e2e/spreadsheet-large-controlled-editing.acl --json",
|