@a3s-lab/office 0.21.0 → 0.23.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 +1 -1
- package/README.md +88 -274
- package/dist/0~6090.js +2 -0
- package/dist/0~spreadsheet-editor.js +489 -87
- package/dist/internal/features/work/editors/spreadsheet-command-catalog.d.ts +56 -0
- package/dist/internal/features/work/editors/spreadsheet-command-controller.d.ts +4 -0
- package/dist/internal/features/work/editors/spreadsheet-copy-from-above-command.d.ts +3 -0
- package/dist/internal/features/work/editors/spreadsheet-copy-from-above.d.ts +18 -0
- package/dist/internal/features/work/editors/spreadsheet-date-time-command.d.ts +14 -0
- package/dist/internal/features/work/editors/spreadsheet-date-time-ribbon.d.ts +8 -0
- package/dist/office-kernel.wasm +0 -0
- package/dist/styles.css +35 -0
- package/docs/latest/en/browser-editor-architecture.md +16 -16
- package/package.json +8 -1
package/COLLABORATION_ROADMAP.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This roadmap defines one versioned collaboration protocol for every A3S Office
|
|
4
4
|
editor and for native CLI/coding-agent clients. It complements `ROADMAP.md`,
|
|
5
|
-
which tracks editor capability parity with
|
|
5
|
+
which tracks editor capability parity with Traditional Office.
|
|
6
6
|
|
|
7
7
|
## Design invariants
|
|
8
8
|
|
package/README.md
CHANGED
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
<a href="https://a3s-lab.github.io/Office/">Playground</a> ·
|
|
23
23
|
<a href="https://a3s-lab.github.io/Office/docs/">Documentation</a> ·
|
|
24
24
|
<a href="#quick-start">Quick start</a> ·
|
|
25
|
-
<a href="#
|
|
25
|
+
<a href="#editor-capability-comparison">Editors</a> ·
|
|
26
26
|
<a href="#real-time-collaboration">Collaboration</a> ·
|
|
27
27
|
<a href="#native-automation">Automation</a> ·
|
|
28
28
|
<a href="#architecture">Architecture</a> ·
|
|
29
|
-
<a href="ROADMAP.md">
|
|
29
|
+
<a href="ROADMAP.md">Capability roadmap</a> ·
|
|
30
30
|
<a href="COLLABORATION_ROADMAP.md">Collaboration roadmap</a> ·
|
|
31
31
|
<a href="CONTRIBUTING.md">Contributing</a>
|
|
32
32
|
</p>
|
|
@@ -96,6 +96,86 @@ The images below are committed visual-regression baselines from the real
|
|
|
96
96
|
</tr>
|
|
97
97
|
</table>
|
|
98
98
|
|
|
99
|
+
## Editor capability comparison
|
|
100
|
+
|
|
101
|
+
The tables below compare capability families, not button counts or visual
|
|
102
|
+
similarity. **Supported** means the editable path has deterministic tests or
|
|
103
|
+
native round-trip evidence. **Partial** means a useful path exists with a
|
|
104
|
+
documented fidelity boundary. **Gap** means no product-grade editable path
|
|
105
|
+
exists yet. Traditional Office availability varies by application, platform,
|
|
106
|
+
edition, and subscription; its column describes the conventional suite
|
|
107
|
+
baseline rather than one specific release.
|
|
108
|
+
|
|
109
|
+
### Document
|
|
110
|
+
|
|
111
|
+
| Capability | A3S Office today | Traditional Office baseline |
|
|
112
|
+
| --- | --- | --- |
|
|
113
|
+
| Text, paragraphs, lists, and styles | **Supported** — structured editing, formatting, clipboard, format painter, and undo/redo | Mature authoring with a broader long-tail style catalog |
|
|
114
|
+
| Page layout and rendering | **Partial** — sections, margins, page size, columns, headers/footers, fields, and live pagination | Desktop-grade pagination, print layout, and vector output |
|
|
115
|
+
| Tables, pictures, and equations | **Partial** — rich table geometry, floating pictures, crop/wrap, and structured OMML | Broader drawings, text boxes, charts, WordArt, and SmartArt |
|
|
116
|
+
| Comments, revisions, and collaboration | **Partial** — comments, suggestions, text/format revisions, decisions, Yjs presence, and host relay contracts | Full revision families plus integrated sharing and review services |
|
|
117
|
+
| References and document generation | **Partial** — bookmarks, links, captions, cross-references, citations, notes, and common fields | TOC/index authoring, mail merge, compare/combine, and broader fields |
|
|
118
|
+
| Ribbon and shortcuts | **Supported** — responsive Office-style ribbon and editor-scoped daily-writing shortcuts | Complete desktop shortcut and contextual-tool surface |
|
|
119
|
+
| Very large documents | **Supported with boundaries** — bounded 100,000-block plain-document windows and measured edit/navigation budgets | Native-engine virtualization with device-dependent limits |
|
|
120
|
+
| DOCX and PDF fidelity | **Partial** — source-aware DOCX preservation and live-layout raster PDF export | Broader legacy/OOXML compatibility and searchable vector PDF output |
|
|
121
|
+
|
|
122
|
+
### Spreadsheet
|
|
123
|
+
|
|
124
|
+
| Capability | A3S Office today | Traditional Office baseline |
|
|
125
|
+
| --- | --- | --- |
|
|
126
|
+
| Cells, sheets, navigation, and history | **Supported** — multiple sheets, sparse editing, search, clipboard, four-direction fill, exact formula/value copy from above, and undo/redo | Mature grid workflows across desktop and web |
|
|
127
|
+
| Formatting and style rendering | **Partial** — native fonts, colors, borders, alignment, number formats, cell styles, and static date/time entry | Broader themes, locale formats, rich text, and advanced style effects |
|
|
128
|
+
| Ribbon and shortcuts | **Partial** — common Office-style Home/Data/View commands and grid-scoped shortcuts | Larger command catalog and platform-specific accelerators |
|
|
129
|
+
| Formulas and recalculation | **Partial** — dependency-aware calculation and common formula paths | Wider functions, arrays, volatile semantics, and calculation parity |
|
|
130
|
+
| Tables, pivots, charts, and rules | **Partial** — native tables, pivots, charts, conditional formatting, and validation | Calculated columns, slicers, pivot charts, advanced rules, and analysis |
|
|
131
|
+
| Large worksheets | **Supported with boundaries** — maximum-dimension sparse import/editing and viewport-bounded Canvas painting | Highly optimized native grid with hardware-dependent limits |
|
|
132
|
+
| Files and printing | **Partial** — XLS/XLSX/ODS/CSV import, XLSX export, and PDF output | Broader round trips, external data, print fidelity, and legacy conversion |
|
|
133
|
+
| External data, macros, and specialist analysis | **Gap** — active macros are never executed; bounded models are still needed for data connections and solver-like tools | Established data, macro/add-in, scenario, and optimization ecosystems |
|
|
134
|
+
|
|
135
|
+
### Presentation
|
|
136
|
+
|
|
137
|
+
| Capability | A3S Office today | Traditional Office baseline |
|
|
138
|
+
| --- | --- | --- |
|
|
139
|
+
| Slide and object editing | **Supported** — slide lifecycle, scene editing, multi-selection, grouping, transforms, and guides | Mature slide and drawing workflows |
|
|
140
|
+
| Text, shapes, tables, charts, and images | **Partial** — typed editable objects with native import/export paths | Broader shapes, connectors, effects, SmartArt, and embedded chart editing |
|
|
141
|
+
| Masters and layouts | **Partial** — import/export inheritance with editable common paths | Full visual master, layout, and placeholder authoring |
|
|
142
|
+
| Transitions and timings | **Partial** — fade, push, wipe, split, cut, and click/automatic advance | Broader transition catalog and timing controls |
|
|
143
|
+
| Animations and media | **Gap** — no production animation timeline, trigger model, audio, video, or recording path | Object animation, motion paths, media editing, and recording |
|
|
144
|
+
| Slideshow and presenter workflows | **Supported** — current/beginning start, keyboard playback, notes, timer, and responsive presenter view | Rehearsal, recording, ink/laser, and richer multi-display controls |
|
|
145
|
+
| Review and collaboration | **Partial** — comments, shared presence, remote object locations, and host transport | Threads, assignments, mentions, and integrated cloud review |
|
|
146
|
+
| PPTX, print, PDF, and video | **Partial** — PPTX round trip plus slide/notes/handout PDF models; no video export | Broader print controls, vector fidelity, media preservation, and video export |
|
|
147
|
+
|
|
148
|
+
### PDF
|
|
149
|
+
|
|
150
|
+
| Capability | A3S Office today | Traditional Office baseline |
|
|
151
|
+
| --- | --- | --- |
|
|
152
|
+
| Rendering and navigation | **Supported** — PDFium pages, thumbnails, zoom, keyboard navigation, and bounded long-file windows | Mature desktop/web viewing and navigation |
|
|
153
|
+
| Search and text evidence | **Supported with boundaries** — browser search and bounded native text-layer evidence | Broader tagged-PDF reading order and accessibility extraction |
|
|
154
|
+
| Annotations, forms, and save | **Supported** — common annotations, appearance controls, form filling, history, and save | Broader stamps, measurements, form authoring, scripts, and signatures |
|
|
155
|
+
| Existing text, image, and object editing | **Gap** — no safe production content-stream editing path | Direct text/object editing with font and layout recovery |
|
|
156
|
+
| Page organization | **Gap** — insert, delete, rotate, reorder, extract, merge, and split are not yet editable | Complete page organization workflows |
|
|
157
|
+
| Compression, conversion, and OCR | **Gap / host boundary** — provider contracts are required for authoritative conversion and OCR | Integrated optimization, conversion, and scanned-document recognition |
|
|
158
|
+
| Signatures, protection, and redaction | **Gap / host boundary** — trusted identity and destructive-content guarantees are required | E-signing, certificate validation, encryption, sanitization, and true redaction |
|
|
159
|
+
| AI and real-time collaboration | **Host-owned** — typed page/text evidence, Yjs review records, presence, and provider-neutral ports | Typically bundled with account, storage, and model services |
|
|
160
|
+
|
|
161
|
+
### Markdown
|
|
162
|
+
|
|
163
|
+
Markdown is an A3S Office differentiator rather than a parity target.
|
|
164
|
+
|
|
165
|
+
| Capability | A3S Office today | Traditional Office baseline |
|
|
166
|
+
| --- | --- | --- |
|
|
167
|
+
| Source and visual editing | **Supported** — GFM source, visual mode, synchronized split preview, and source-native history | No standard first-class Markdown editor |
|
|
168
|
+
| Tables, tasks, links, images, and code | **Supported** — format-native Markdown structures in both editing modes | Usually represented through rich-document conversion or plain text |
|
|
169
|
+
| Responsive UI and shortcuts | **Supported** — desktop split view, phone single-surface modes, and editor-scoped formatting | Depends on a text editor, add-in, or conversion workflow |
|
|
170
|
+
| Collaboration | **Supported** — Yjs content, Awareness presence, remote selections, and host-owned transport | Usually available only after conversion into a cloud document format |
|
|
171
|
+
| Import, export, and automation | **Supported** — direct Markdown round trip plus typed browser, CLI, MCP, and agent mutations | No shared native Markdown automation contract |
|
|
172
|
+
|
|
173
|
+
Document and Markdown accept public TipTap Extensions. Spreadsheet,
|
|
174
|
+
Presentation, and PDF expose stable host ports rather than private command
|
|
175
|
+
contexts. Editor engines and large runtime assets load only when their surface
|
|
176
|
+
is requested. The complete gap inventory and exit evidence live in the
|
|
177
|
+
[capability roadmap](ROADMAP.md).
|
|
178
|
+
|
|
99
179
|
## Why A3S Office
|
|
100
180
|
|
|
101
181
|
- **Product-native UI** — Complete Office-style surfaces with no required
|
|
@@ -397,274 +477,6 @@ into the PDF; searchable text and vector output remain future fidelity work.
|
|
|
397
477
|
Copyable React, Vue, and Web Component examples live in the
|
|
398
478
|
[component documentation](https://a3s-lab.github.io/Office/docs/components/).
|
|
399
479
|
|
|
400
|
-
## Five format-native surfaces
|
|
401
|
-
|
|
402
|
-
Each surface keeps a canonical model that matches its file format and user
|
|
403
|
-
interaction model.
|
|
404
|
-
|
|
405
|
-
- **Document** — Pagination, sections, focused page-setup tabs, clean page
|
|
406
|
-
margins with on-demand header/footer editing, outline navigation with
|
|
407
|
-
contextual full-text results, keyboard-operated live physical-page raster
|
|
408
|
-
thumbnails with viewport-bounded capture, and shared virtualized
|
|
409
|
-
long-document windows for page buttons, heading rows, full-text results, and
|
|
410
|
-
tracked-revision and anchored-comment review that preserve native scroll
|
|
411
|
-
distance, sparse current/selection/draft pins, and Home/End reachability;
|
|
412
|
-
a WPS-familiar command catalog, quick-access undo and redo, a priority-aware
|
|
413
|
-
adaptive and persistently collapsible ribbon whose tabs can temporarily
|
|
414
|
-
expose commands; WPS-oriented Insert groups and direct Page Layout presets
|
|
415
|
-
for margins, orientation, paper size, and columns, with matching advanced
|
|
416
|
-
Page Setup destinations; WPS-oriented References, Review, and View groups,
|
|
417
|
-
direct tracked-change navigation and decisions, contextual object tabs, and
|
|
418
|
-
viewport-calculated 100%, one-page, and page-width zoom; an actionable status
|
|
419
|
-
bar with live word-count details, WPS `Ctrl+Shift+G`, keyboard-traversable
|
|
420
|
-
view and zoom controls, and compact Web prioritization; editor-scoped WPS
|
|
421
|
-
formatting, paragraph, style, and review shortcuts, plus a permission-free
|
|
422
|
-
formatting clipboard and one-shot format painter shared with compatible
|
|
423
|
-
header and footer formatting, paragraph styles and phone-sized
|
|
424
|
-
paragraph-spacing and pagination controls
|
|
425
|
-
with touch targets and exact invoker-focus restoration; stable compact-ribbon
|
|
426
|
-
edge paging and viewport-bounded list galleries with touch-sized numbering
|
|
427
|
-
actions, selection-preserving bullet and numbering commands, and explicit
|
|
428
|
-
Escape-to-invoker focus restoration;
|
|
429
|
-
grouped bundled, common system, monospace, imported, and host-provided font
|
|
430
|
-
choices with live typeface previews, independent table layout algorithms,
|
|
431
|
-
auto, percentage, or pixel preferred widths, left/center/right placement,
|
|
432
|
-
indentation, table-level cell margins, cell-level margin overrides, and
|
|
433
|
-
rendered column measurements for autofit tables. One Table Properties dialog
|
|
434
|
-
presents table, row, column, and cell tabs. It combines preferred width,
|
|
435
|
-
placement, and indent with selected-row height and pagination, current-column
|
|
436
|
-
width, and selected-cell vertical alignment and margins. The complete draft
|
|
437
|
-
commits in one TipTap transaction and one undo record while untouched imported
|
|
438
|
-
measurements and partial margin inheritance retain their exact source values.
|
|
439
|
-
Cancel and Escape discard the draft and restore the exact ribbon invoker;
|
|
440
|
-
compact layouts keep tabs, numeric steppers, and footer actions touch-sized. A
|
|
441
|
-
contextual Picture Properties workflow combines centimeter width and height,
|
|
442
|
-
a per-image aspect-ratio lock, inline/square/top-and-bottom wrapping,
|
|
443
|
-
alignment, text distance, and alternative text. It commits only changed
|
|
444
|
-
fields in one TipTap history entry, preserves untouched imported dimensions
|
|
445
|
-
exactly, and retains the image selection and invoker focus after apply,
|
|
446
|
-
cancel, or Escape on desktop and phone layouts. A
|
|
447
|
-
reusable table-border pen with all, outside, inside, and individual-edge
|
|
448
|
-
targets, per-edge DOCX border preservation, and bounded `basedOn` table-style
|
|
449
|
-
inheritance with whole-table, banded row or column, first/last row or column,
|
|
450
|
-
and corner-cell formatting. Conditional fills, borders, bold, italic,
|
|
451
|
-
underline, strikethrough, fonts, and text colors are materialized before
|
|
452
|
-
direct table, cell, paragraph, and run formatting. Conditional paragraph
|
|
453
|
-
alignment, direction, indents, spacing and line rules, pagination rules, and
|
|
454
|
-
tab stops use the same precedence chain. Paragraph shading follows document
|
|
455
|
-
defaults, based-on paragraph styles, conditional table styles, and direct
|
|
456
|
-
formatting in that order. The complete Word `w:shd` pattern set, independent
|
|
457
|
-
foreground/background colors, `auto`, `nil` resets, and independently tinted
|
|
458
|
-
or shaded theme references remain structured through body and page-chrome
|
|
459
|
-
HTML; browser previews use bounded CSS masks while DOCX export restores the
|
|
460
|
-
native pattern and both theme channels. Preview follows Word's tint-over-shade
|
|
461
|
-
precedence when both transforms occur on one theme channel while retaining
|
|
462
|
-
both attributes for export. Malformed, duplicated,
|
|
463
|
-
namespace-spoofed, relationship-bound, or unresolved theme values fail closed
|
|
464
|
-
instead of inheriting stale shading. Theme tint and shade values resolve for
|
|
465
|
-
table borders and cell fills across edit, preview, and RGB-stable export.
|
|
466
|
-
Paragraph borders use the same precedence chain and retain the complete
|
|
467
|
-
`w:pBdr` model: schema-ordered `top`, `left`, `bottom`, `right`, `between`,
|
|
468
|
-
and facing-page `bar` edges; all 197 line and art styles; direct, automatic,
|
|
469
|
-
and theme colors; eighth-point or point widths; spacing; shadow; and frame.
|
|
470
|
-
Physical edges remain editable CSS, while art, between-paragraph, and
|
|
471
|
-
facing-page behavior uses a bounded browser approximation; DOCX export
|
|
472
|
-
restores the exact native edge set and attributes. Direct CSS edits replace
|
|
473
|
-
only the edited edge's theme binding, strict and transitional namespaces are
|
|
474
|
-
accepted, and malformed order, duplicates, spoofed namespaces, unsafe
|
|
475
|
-
attributes, invalid measures, and unresolved themes fail closed.
|
|
476
|
-
Splittable table rows that exceed a full physical page
|
|
477
|
-
continue at paragraph boundaries with repeated heading rows on every page,
|
|
478
|
-
viewport-safe comment drafting and focus-preserving citation drafts, tracked
|
|
479
|
-
changes, notes,
|
|
480
|
-
pointer- and Shift+F10-accessible host-defined selection menus, and shared
|
|
481
|
-
edit/preview/PDF typography and page-chrome placement. Editing, read-only
|
|
482
|
-
preview, and browser PDF export share one live pagination result. Tail edits
|
|
483
|
-
reuse the stable physical-page prefix, including resolved first/odd/even
|
|
484
|
-
headers, footers, page numbers, and navigation descriptors. Browser DOM
|
|
485
|
-
measurement runs in bounded 32 ms slices and yields only between top-level
|
|
486
|
-
blocks; document edits abort stale passes before a snapshot is committed, so
|
|
487
|
-
long repagination work does not monopolize the browser event loop.
|
|
488
|
-
Real DOCX fixtures provide deterministic A3S Test evidence for inherited
|
|
489
|
-
table styling across edit and preview, a centered 62.5% table with table and
|
|
490
|
-
cell margin overrides, all four Table Properties tabs at 390 px, exact
|
|
491
|
-
preservation of untouched cell-margin edges, a complete 390 px Picture
|
|
492
|
-
Properties flow, and a 120-paragraph row across three physical pages through
|
|
493
|
-
the final table content and following paragraph.
|
|
494
|
-
A direct-formatting A4 fixture also runs through a real WPS Writer PDF export
|
|
495
|
-
and a page-only browser comparison. Its automatic line spacing, paragraph
|
|
496
|
-
gaps, centered fixed table, row heights, borders, fills, and cell margins
|
|
497
|
-
stay within the checked one-pixel layout-landmark budget while preserving
|
|
498
|
-
the original OOXML line multiples for DOCX export.
|
|
499
|
-
Separate 30-row common-font, 36-row CJK-font, 18-row document-grid, and
|
|
500
|
-
30-row multilingual-script matrices now gate text-band positions against
|
|
501
|
-
WPS. DOCX import selects the Word `ascii`, `hAnsi`, `eastAsia`, or `cs` font
|
|
502
|
-
slot from the run script, including complex-script bold, italic, size, and
|
|
503
|
-
RTL overrides. The browser keeps the measured per-font automatic-line
|
|
504
|
-
advance, while DOCX round trips retain the section `docGrid` type and line
|
|
505
|
-
pitch and each run's `snapToGrid` override.
|
|
506
|
-
_DOCX import/export; PDF export._
|
|
507
|
-
- **Markdown** — GFM source, visual editing, synchronized and resizable split
|
|
508
|
-
preview, source-native undo/redo with typing coalescing and selection restore,
|
|
509
|
-
source-aware ribbon formatting and shortcuts, empty-source guidance, task
|
|
510
|
-
lists, tables, links, images, code, a flat reading surface with a comfortable
|
|
511
|
-
line length, and keyboard-accessible host-defined selection menus across both
|
|
512
|
-
editing surfaces. At phone widths, Source and Preview each use the complete
|
|
513
|
-
workspace instead of being compressed into two stacked panes. _Markdown
|
|
514
|
-
import/export._
|
|
515
|
-
- **Spreadsheet** — Multiple sheets, formulas, dependency-aware recalculation,
|
|
516
|
-
live selection statistics, an A3S-owned worksheet bar with lifecycle and
|
|
517
|
-
color controls, safe deletion confirmation, in-place rename validation, a
|
|
518
|
-
grid-aligned single-row responsive workbook footer that keeps the active
|
|
519
|
-
worksheet and its actions visible across window and phone-width changes,
|
|
520
|
-
selection-preserving undo/redo, deterministic Arrow, Enter, Tab, Home,
|
|
521
|
-
PageUp/PageDown, row, column, and all-cells selection shortcuts, Cmd/Ctrl
|
|
522
|
-
formatting through root-scoped capture before vendor grid listeners, an
|
|
523
|
-
WPS-style Home and Editing Find and Select menu whose editor-owned
|
|
524
|
-
`Cmd/Ctrl+F` search finds displayed values, raw values, formulas, and sparse
|
|
525
|
-
cells without opening browser Find, plus view-only `Ctrl+G` and `F5` Go To
|
|
526
|
-
for direct, quoted cross-sheet, and named ranges without content updates,
|
|
527
|
-
Undo records, or sparse materialization, with a viewport-safe phone Find
|
|
528
|
-
layout, touch-sized controls, bounded validation, and exact focus restoration,
|
|
529
|
-
desktop workbook task panes that become focus-contained phone dialogs with
|
|
530
|
-
an inert workbook background and exact ribbon-invoker restoration,
|
|
531
|
-
a WPS-familiar command catalog and tab order, quick-access Undo and Redo,
|
|
532
|
-
a priority-aware adaptive and collapsible ribbon with temporary tab
|
|
533
|
-
expansion, an executable Home clipboard group whose Paste, Cut, and Copy
|
|
534
|
-
commands share the permission-resilient local fallback with their WPS
|
|
535
|
-
shortcuts, a WPS-style Paste split command with quick All, Values, Formulas,
|
|
536
|
-
and Formatting actions plus `Cmd/Ctrl+Alt+V` Paste Special for ten content
|
|
537
|
-
modes, arithmetic operations, Skip blanks, Transpose, translated formula
|
|
538
|
-
references, rich same-editor styles/comments/validation/merges/column widths,
|
|
539
|
-
bounded TSV fallback, one-step Undo, and fail-closed protected or unsafe
|
|
540
|
-
targets, an Insert and Links Hyperlink command with grid-scoped `Cmd/Ctrl+K`,
|
|
541
|
-
accessible Web page, cell-range, and worksheet targets, explicit Edit and
|
|
542
|
-
Remove, immutable dense/sparse updates, content/style/comment preservation,
|
|
543
|
-
exact focus restoration, one-step Undo, and fail-closed unsafe, hidden,
|
|
544
|
-
protected, pivot, or out-of-bounds targets, a Data and Data Tools Validation
|
|
545
|
-
command for lists, whole numbers, decimals, dates, and text length across
|
|
546
|
-
multiple ranges, compact rule writes and removal, input messages,
|
|
547
|
-
invalid-input blocking, 1900/1904-aware XLSX date round trips, exact focus
|
|
548
|
-
restoration, one-step Undo, and fail-closed protected, merged, pivot,
|
|
549
|
-
read-only, invalid, out-of-bounds, or over-10,000-cell targets, native
|
|
550
|
-
Spreadsheet Tables/ListObjects through Insert and grid-scoped `Cmd/Ctrl+T`,
|
|
551
|
-
bounded current-region or explicit-range creation, canonical unique headers,
|
|
552
|
-
a contextual Table Design ribbon with editable names, 60 OOXML
|
|
553
|
-
Light/Medium/Dark styles, first/last-column emphasis and row/column stripes,
|
|
554
|
-
visible-range Canvas styling, sparse-safe Convert to Range, row/column
|
|
555
|
-
reconciliation, native XLSX table parts and supported filters, one-step Undo,
|
|
556
|
-
browser/Yjs record convergence, and fail-closed overlap, merge, AutoFilter,
|
|
557
|
-
protection, pivot, invalid, or over-100,000-cell targets, a WPS-style
|
|
558
|
-
Format Painter with
|
|
559
|
-
single-use and double-click locked
|
|
560
|
-
sessions, cross-sheet range-pattern tiling, Escape cancellation, and native
|
|
561
|
-
style-only writes, Home and Font Grow/Shrink Font commands with
|
|
562
|
-
`Cmd/Ctrl+Shift+.` / `Cmd/Ctrl+]` and `Cmd/Ctrl+Shift+,` / `Cmd/Ctrl+[` aliases,
|
|
563
|
-
per-cell mixed-size stepping, native rectangle compaction, a 10,000-cell
|
|
564
|
-
bound, and one-step Undo, a WPS-style Underline split control with single,
|
|
565
|
-
double, single-accounting, and double-accounting styles, exact Format Cells
|
|
566
|
-
and XLSX round trips, active-style-aware `Cmd/Ctrl+U` toggling, and WPS
|
|
567
|
-
`Ctrl+2`, `Ctrl+3`, and `Ctrl+4` aliases for Bold, Italic, and Underline;
|
|
568
|
-
Automatic Color and No Fill remove direct text and background colors instead
|
|
569
|
-
of hard-coding replacements, a
|
|
570
|
-
keyboard-accessible WPS Text Orientation menu with horizontal, both 45-degree
|
|
571
|
-
angles, stacked vertical, rotate-up, and rotate-down choices, exact Fortune
|
|
572
|
-
`rt` / `tr='3'` and OOXML 0–180 / 255 round trips, a 10,000-cell guard, and
|
|
573
|
-
one-batch Undo, plus a cell-border split control with side, all,
|
|
574
|
-
outside, inside, horizontal, vertical, clear, independent diagonal-down and
|
|
575
|
-
diagonal-up targets, crossed-border composition, ten native line styles,
|
|
576
|
-
exact color selection, compact overlapping range writes, exact OOXML
|
|
577
|
-
direction preservation through Paste Special, Yjs, XLSX export, and reopen,
|
|
578
|
-
`Cmd/Ctrl+Shift+&` Outside Borders and `Cmd/Ctrl+Shift+_` Clear Borders,
|
|
579
|
-
single-update undo, and grid-focus restoration, Conditional Formatting under
|
|
580
|
-
Home and Styles, executable
|
|
581
|
-
sorting plus WPS-style AutoFilter under Data, finite current-region discovery,
|
|
582
|
-
`Cmd/Ctrl+Shift+L` toggling, an `Alt+ArrowDown` keyboard filter menu,
|
|
583
|
-
a Home and Cells Rows and Columns menu for inserting above, below, left, or
|
|
584
|
-
right, deleting selected rows or columns, and hiding or unhiding rows and
|
|
585
|
-
columns through the shared structure command port, including grid-scoped
|
|
586
|
-
`Cmd/Ctrl+9`, `Cmd/Ctrl+0`, `Cmd/Ctrl+Shift+9`, and `Cmd/Ctrl+Shift+0`
|
|
587
|
-
shortcuts with 10,000-row and 1,000-column allocation guards, a Home and
|
|
588
|
-
Alignment Merge and Center split control with
|
|
589
|
-
Merge Cells, Merge Across, Unmerge Cells, Unmerge and Fill, and the WPS
|
|
590
|
-
`Ctrl+M` shortcut through one controlled native workbook batch,
|
|
591
|
-
a Home and Editing Clear menu for independently removing content, formats,
|
|
592
|
-
comments, hyperlinks, or all cell state while preserving merge geometry,
|
|
593
|
-
with Delete and Backspace mapped to Clear Contents,
|
|
594
|
-
a Home and Editing Fill menu for Down, Right, Up, and Left with native
|
|
595
|
-
relative-formula and style propagation, WPS `Cmd/Ctrl+D` and `Cmd/Ctrl+R`
|
|
596
|
-
shortcuts, one-step history, protected-range preflight, a 50,000-target-cell
|
|
597
|
-
guard, and sparse-row-safe execution,
|
|
598
|
-
a WPS AutoSum split command before Fill with Sum, Average, Count, Maximum,
|
|
599
|
-
and Minimum, the editor-scoped `Alt+=` Sum shortcut, contiguous source
|
|
600
|
-
inference above or left of a blank target, multi-formula totals rows and
|
|
601
|
-
columns, target-style preservation, merged/protected/read-only/pivot and
|
|
602
|
-
overwrite preflight, a 1,000-formula bound, sparse-safe native batches, and
|
|
603
|
-
one-step history,
|
|
604
|
-
Home and Number presets for General, Number, CNY Currency, Accounting,
|
|
605
|
-
Percentage, Short Date, Time, Scientific, Fraction, and Text, including the
|
|
606
|
-
seven standard `Cmd/Ctrl+Shift` format shortcuts, exact XLSX format-code
|
|
607
|
-
round trips, value/formula preservation, and one-step history, plus
|
|
608
|
-
10,000-cell-bounded Increase/Decrease Decimal commands that retain every
|
|
609
|
-
cell's format family across mixed selections and commit one native batch,
|
|
610
|
-
a WPS-style Format Cells dialog under Home and Number with the editor-scoped
|
|
611
|
-
`Cmd/Ctrl+1` shortcut, functional Number, Alignment, Font, Border, Fill, and
|
|
612
|
-
Protection tabs, untouched mixed-value preservation, custom native number
|
|
613
|
-
codes, compact protection ranges, dense/sparse representation retention,
|
|
614
|
-
bounded blank-cell materialization, one controlled update and one Undo
|
|
615
|
-
record per Apply, and exact launcher or remounted-grid focus restoration,
|
|
616
|
-
a Home and Styles gallery with 17 WPS built-in cell styles grouped as Common,
|
|
617
|
-
Data and Model, and Titles and Totals, true native previews, two-dimensional
|
|
618
|
-
keyboard navigation, a 10,000-cell bound, blank-cell styling, per-cell border
|
|
619
|
-
semantics, current-style recognition without private markers, one-step
|
|
620
|
-
history, and direct XLSX font, fill, alignment, wrap, rotation, border, and
|
|
621
|
-
number-format XF round trips; imported theme, indexed, automatic, and tint
|
|
622
|
-
identities for direct font, solid-fill, and border colors survive unrelated
|
|
623
|
-
edits and Yjs transport when the rendered RGB and palette slot still agree,
|
|
624
|
-
while changed or conflicting colors safely export as explicit RGB,
|
|
625
|
-
a View and Window Freeze Panes menu for current-cell, top-row, first-column,
|
|
626
|
-
and unfreeze patterns with XLSX round trips, and visible F9 workbook
|
|
627
|
-
recalculation,
|
|
628
|
-
Shift+F11 creation, Ctrl/Cmd+PageUp/PageDown switching in edit and read-only
|
|
629
|
-
preview,
|
|
630
|
-
one shared cell/worksheet context-menu surface with executable shortcut
|
|
631
|
-
hints that becomes a touch-sized, scrollable bottom action sheet on phones,
|
|
632
|
-
keyboard-operated cells and sheet tabs, direct type-to-edit,
|
|
633
|
-
permission-resilient multi-cell cut/copy/paste, clear, F2 editing, and
|
|
634
|
-
focus-safe Escape behavior, direct
|
|
635
|
-
font-family, vertical-alignment, text-wrap, number-format, and decimal
|
|
636
|
-
controls, charts, validation, protection, comments, and print settings.
|
|
637
|
-
_XLSX, XLS, ODS, and CSV import; XLSX and PDF export._
|
|
638
|
-
- **Presentation** — Typed slide scene graph, multi-selection, groups, object
|
|
639
|
-
transforms, keyboard-accessible table-size insertion, Shift+F10-accessible
|
|
640
|
-
native slide and object context actions, guides, comments, transitions,
|
|
641
|
-
editor-scoped formatting and clipboard shortcuts that restore the selected
|
|
642
|
-
object, a docked desktop chart inspector that becomes a focus-contained modal
|
|
643
|
-
surface whenever it overlays the canvas, docked desktop comment review that
|
|
644
|
-
becomes a readable, touch-sized, focus-contained full-editor modal on phones
|
|
645
|
-
with dirty-draft cancellation and exact invoker restoration, a dismissible
|
|
646
|
-
phone slide navigator, a top-aligned phone canvas with a priority-aware status
|
|
647
|
-
bar, one-step slideshow from the beginning or current slide,
|
|
648
|
-
keyboard-complete playback, and a responsive presenter view with one
|
|
649
|
-
navigation strip, current/next context, speaker notes, and a session timer.
|
|
650
|
-
_PPTX import/export; PDF export._
|
|
651
|
-
- **PDF** — PDFium rendering, navigation, search, form filling, annotations,
|
|
652
|
-
annotation color, opacity, compatible stroke-width controls, history,
|
|
653
|
-
a scrollable page-thumbnail rail with current-page synchronization and
|
|
654
|
-
focus-synchronized Arrow/Home/End navigation, a 32-thumbnail hard window,
|
|
655
|
-
cancellation of stale PDFium bitmap tasks, bounded main-page rendering for
|
|
656
|
-
long files, and a dismissible page drawer whose phone trigger stays in the
|
|
657
|
-
page controls instead of covering PDF content,
|
|
658
|
-
focus-safe page and search drafts, responsive search-result, navigation, and
|
|
659
|
-
zoom controls, editor-scoped shortcuts, and a keyboard-operated overflow menu
|
|
660
|
-
that retains secondary annotation tools and appearance settings on phones.
|
|
661
|
-
_PDF open/save._
|
|
662
|
-
|
|
663
|
-
Document and Markdown accept public TipTap Extensions. Spreadsheet,
|
|
664
|
-
Presentation, and PDF expose stable host ports rather than their internal
|
|
665
|
-
command contexts. Editor engines and large runtime assets load only when that
|
|
666
|
-
surface is requested.
|
|
667
|
-
|
|
668
480
|
## Controlled by design
|
|
669
481
|
|
|
670
482
|
A3S Office is headless at the product boundary, not at the UI boundary. The
|
|
@@ -1495,10 +1307,10 @@ minor release may still include breaking model changes. Required migrations
|
|
|
1495
1307
|
will be called out in the [changelog](CHANGELOG.md).
|
|
1496
1308
|
|
|
1497
1309
|
The project targets predictable browser editing and file preservation, not
|
|
1498
|
-
pixel parity with every
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1310
|
+
pixel parity with every Traditional Office feature. Unsupported OOXML semantics
|
|
1311
|
+
and fidelity gaps remain explicit compatibility boundaries instead of being
|
|
1312
|
+
silently approximated. Track product depth and release evidence in the
|
|
1313
|
+
[editor quality roadmap](docs/latest/en/editor-quality-roadmap.md).
|
|
1502
1314
|
|
|
1503
1315
|
## Development
|
|
1504
1316
|
|
|
@@ -1535,6 +1347,8 @@ without hard-coded return URLs.
|
|
|
1535
1347
|
|
|
1536
1348
|
- [Live Playground](https://a3s-lab.github.io/Office/)
|
|
1537
1349
|
- [Documentation center](https://a3s-lab.github.io/Office/docs/)
|
|
1350
|
+
- [A3S Office 0.23.0 documentation](https://a3s-lab.github.io/Office/docs/0.23.0/)
|
|
1351
|
+
- [A3S Office 0.22.0 documentation](https://a3s-lab.github.io/Office/docs/0.22.0/)
|
|
1538
1352
|
- [A3S Office 0.21.0 documentation](https://a3s-lab.github.io/Office/docs/0.21.0/)
|
|
1539
1353
|
- [A3S Office 0.20.0 documentation](https://a3s-lab.github.io/Office/docs/0.20.0/)
|
|
1540
1354
|
- [A3S Office 0.19.0 documentation](https://a3s-lab.github.io/Office/docs/0.19.0/)
|
package/dist/0~6090.js
CHANGED
|
@@ -257,6 +257,8 @@ function shortcutCodeKey(code) {
|
|
|
257
257
|
if ('Space' === code) return 'space';
|
|
258
258
|
if ('Equal' === code) return 'equal';
|
|
259
259
|
if ('Minus' === code) return 'minus';
|
|
260
|
+
if ('Semicolon' === code) return ';';
|
|
261
|
+
if ('Quote' === code) return "'";
|
|
260
262
|
if ('Comma' === code) return ',';
|
|
261
263
|
if ('Period' === code) return '.';
|
|
262
264
|
return null;
|