Signal drop!
Relay (operand.online) is unreachable.
Usually, a dropped signal means an upgrade is happening. Hold on!
Sorry, no connección.
Hang in there while we get back on track
gram: docs
Open-source WYSIWYG .docx editor for React and Vue with canonical OOXML, tracked changes, and real-time collaboration. Agent-ready. Live demo | Documentation
Quick Start
npm install @eigenpal/docx-editor-react
See the React quick start below.
npm install @eigenpal/docx-editor-vue
See the Vue quick start below.
npm install @eigenpal/nuxt-docx-editor
See the Nuxt quick start below.
Packages
| Package | Description | Docs |
|---|---|---|
@eigenpal/docx-editor-react |
Docs | |
@eigenpal/docx-editor-vue |
Docs | |
@eigenpal/nuxt-docx-editor |
Docs | |
@eigenpal/docx-editor-core |
Framework-agnostic core: OOXML parser, serializer, layout engine, ProseMirror schema. Depend on this if you fork the React or Vue adapter. | Docs |
@eigenpal/docx-editor-i18n |
Shared locale strings and types consumed by both adapters. | Docs |
@eigenpal/docx-editor-agents |
Agent SDK and chat UI: framework-agnostic bridge, MCP server, AI SDK adapters, plus UI components. | Docs |
Forking the adapter? Keep your fork thin. Depend on
@eigenpal/docx-editor-coredirectly so parser, serializer, and rendering fixes land in your build automatically, without backporting each upstream change by hand.
React
import { useState } from 'react';
import { DocxEditor } from '@eigenpal/docx-editor-react';
import '@eigenpal/docx-editor-react/styles.css';
export function App() {
const [buffer, setBuffer] = useState<ArrayBuffer | null>(null);
return (
<>
<input
type="file"
accept=".docx"
onChange={async (e) => setBuffer((await e.target.files?.[0]?.arrayBuffer()) ?? null)}
/>
{buffer && <DocxEditor documentBuffer={buffer} mode="editing" />}
</>
);
}
Next.js / SSR: Use dynamic import. The editor requires the DOM.
Full docs: packages/react · API reference.
Vue
<script setup lang="ts">
import { ref } from 'vue';
import { DocxEditor } from '@eigenpal/docx-editor-vue';
import '@eigenpal/docx-editor-vue/styles.css';
const buffer = ref<ArrayBuffer | null>(null);
async function loadFile(e: Event) {
const file = (e.target as HTMLInputElement).files?.[0];
buffer.value = file ? await file.arrayBuffer() : null;
}
</script>
<template>
<input type="file" accept=".docx" @change="loadFile" />
<DocxEditor v-if="buffer" :document-buffer="buffer" mode="editing" />
</template>
Full docs: packages/vue · API reference.
Nuxt
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@eigenpal/nuxt-docx-editor'],
});
@eigenpal/nuxt-docx-editor wraps the Vue adapter as a Nuxt 3 & 4 module: it auto-imports an SSR-safe <DocxEditor> component (no manual import, no <ClientOnly> wrapper) and the Vue composables.
Full docs: packages/nuxt.
Plugins
import { DocxEditor } from '@eigenpal/docx-editor-react';
import { PluginHost, templatePlugin } from '@eigenpal/docx-editor-react/plugin-api';
<PluginHost plugins={[templatePlugin]}>
<DocxEditor documentBuffer={buffer} />
</PluginHost>;
See the plugin documentation for the full plugin API.
Development
bun install
bun run dev # localhost:5173
bun run build
bun run typecheck
A live preview of main is auto-deployed at latest.docx-editor.dev — useful for trying out changes before they ship to npm.
Examples: Vite | Next.js | Remix | Astro | Vue | Nuxt
Documentation | Props & Ref Methods | Plugins | Architecture
Contributing
Contributions welcome. See CONTRIBUTING.md for setup, tests, and the one-time CLA signature.
Translations
| Locale | Language |
|---|---|
en |
English |
de |
German |
fr |
French |
he |
Hebrew |
hi |
Hindi |
pl |
Polish |
pt-BR |
Portuguese (Brazil) |
tr |
Turkish |
zh-CN |
Chinese (Simplified) |
Help translate the editor into your language! See the full i18n contribution guide.
bun run i18n:new de # scaffold German locale
bun run i18n:status # check translation coverage
Commercial Support
[!TIP] Questions or custom features? Email docx-editor@eigenpal.com.
Logged Changes:
2026-06-16
11:15:17 | 32ce540Record CLA signature for @khalifmv (PR #840)11:07:17 | a37130dchore: release (#807)11:01:28 | f50a3c7Blaszyk: fix(core): VML header images, anchored-image alignment, and image srcRect crop (#787)01:33:55 | 931931afix(selection): paint the sliver for empty paragraphs (#836)08:31:00 | ae10230Record CLA signature for @sathinator-afk (PR #837)10:27:55 | a6a2dd0Blaszyk: feat: Insert > Break submenu (page + section breaks) with agent support (#835)04:26:38 | bbda628Jenson: fix: normalize font picker values (#829)04:22:27 | fa3383bJenson: fix: balance continuous section columns (fixes #827) (#828)12:03:22 | fae2765feat: add watermarkPresets prop to customize the watermark dialog presets (#780)08:44:44 | 32c5382Louv-Jansen: fix: paginate full-width floating tables instead of overflowing the page (#821)08:31:14 | 3853620Blaszyk: fix(core): preserve run character-style (w:rStyle) on PM round-trip (#833)08:31:00 | 2e5561fBlaszyk: fix(core): honor paragraph auto-spacing on import (#811) (#823)08:10:53 | 2c9cd5cBlaszyk: fix(core): preserve vMerge runs and per-run rtl on PM round-trip (#805, #806) (#822)2026-06-15
21:49:17 | 9c97e43Record CLA signature for @aldrinjenson (PR #828)21:17:08 | f1e455cRecord CLA signature for @sorenlouv (PR #821)19:45:55 | 3a4a03fBlaszyk: fix: keep toolbar dropdowns open when scrolling their list (fixes #808) (#815)19:34:17 | b07e1bcBlaszyk: chore: sync lockfile + regenerate API reports after dependabot bumps (#825)18:58:24 | 52460adchore(deps): bump next from 15.5.19 to 16.2.7 (#820)18:56:23 | bf5ebf1chore(deps-dev): bump @types/react from 19.2.15 to 19.2.17 in the dev-dependencies group (#819)18:55:53 | 276a67achore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#818)18:55:42 | 27aab05chore(deps): bump changesets/action from 1.8.0 to 1.9.0 (#817)16:20:11 | 1efe55fRecord CLA signature for @mrofisr (PR #824)09:37:26 | 8ed63e9T. Jove: fix(agents): make mcp stdio transport browser-bundle-safe (TextDecoder, not node:string_decoder) (#814)15:23:20 | 5509418Blaszyk: feat: native dark mode with Word-style dark canvas (#812)08:30:47 | b8011f8Blaszyk: fix(vue): focus editor on load so typing works without a click first (#810)2026-06-14
22:13:54 | 7fe09f0Blaszyk: feat(styles): unify React/Vue UI colors into one shared token system; run Tailwind in Vue (#799)09:41:48 | e23cd63Blaszyk: docs: replace colloquial phrasing with precise wording (#798)2026-06-13
20:40:23 | a4c95f9chore: release (#768)20:38:08 | b399bfeBlaszyk: docs: tighten developer documentation copy (#797)20:08:24 | 37f79adBlaszyk: fix(vue): align image selection frame with reserved scrollbar gutter (fixes #764) (#796)19:47:51 | 44161e5Blaszyk: feat: drag-to-select table cells in Vue (parity with React) (#794)19:39:59 | d1b20f5Blaszyk: feat(vue): mirror scrollToCommentId/scrollToChangeId/highlightRange on Vue (#795)12:04:37 | cdeb8d0T. Jove: fix(layout): keep a paragraph after a spaced block from jumping a full page (#782)17:59:58 | 19a25ebBlaszyk: feat(react): clickable anchor ref methods (scrollToCommentId / scrollToChangeId / highlightRange) (#792)17:54:46 | 04130efBlaszyk: fix: delete all selected rows in a table (#783)17:54:10 | ca005c5Blaszyk: fix: track deletion when pasting over a selection in suggesting mode (#784)17:53:07 | 7d02ec1Blaszyk: fix: caret on correct page for table cells spanning a page break (#786)17:51:57 | 7d6daebBlaszyk: fix: export tables with fixed layout so Word honors column widths (#785)08:36:33 | ab38192Masquelier: feat: support inline checkbox content controls (#778)17:36:05 | ca275f9Sebban: fix: keep title bar above outline toggle (z-index stacking) (#788)11:34:51 | c4fd221T. Jove: feat(agents): accept/reject tracked changes inside footnotes/endnotes (#675)08:21:32 | 20012b9feat(selection): show a highlight sliver for selected blank lines (#776)11:36:07 | 6966645Record CLA signature for @devmc12 (PR #789)09:22:29 | 380da15Record CLA signature for @raphaelsebb (PR #788)2026-06-12
22:50:16 | 5cdfa5cBlaszyk: fix(vue): re-anchor image selection frame across post-load layout settle (#779)2026-06-11
21:35:59 | d090d08Blaszyk: fix(vue): thread tracked-change replies and re-stack sidebar on expand (#774)21:10:22 | 6d76c2dBlaszyk: docs: website docs source of truth (docs/site) + feature matrix + AI guides (#772)17:12:20 | 335ad6cBlaszyk: fix(fonts): skip redundant Google Fonts fetch when font is locally satisfiable (#771)13:44:31 | c5a4b1eBlaszyk: fix: custom-style numbering, indents and inline-image wrap (fixes #765, fixes #766) (#767)09:29:11 | ea9794dchore: release (#756)08:59:00 | 1ab8b30Blaszyk: feat: image edge-resize handles + Word-style handles (#266) (#760)2026-06-10
23:35:24 | 866e2e1fix(painter): make hard-break blank lines resolvable for click/caret/nav (#752)07:58:54 | 28a521aBlaszyk: fix: caret height tracks the font at the cursor, not the line box (#748) (#751)07:58:00 | 92690d6Blaszyk: fix: Vue toolbar formats the active header/footer (#749) (#750)07:57:12 | 3d36236Blaszyk: fix: sync Vue document cache with paraIds assigned at load (#746) (#747)2026-06-09
21:50:56 | 4f8b756Record CLA signature for @MrTownsend (PR #752)16:10:50 | bc60926chore: release (#733)15:31:34 | 30df527Blaszyk: fix: honor an explicit 0 page margin (size-vs-offset hardening) (#744)13:48:02 | bf748c0Blaszyk: fix: honor an explicit w:header/w:footer distance of 0 (#742)13:47:20 | bd704e2Blaszyk: fix: assign paragraph ids on load, not just after the first edit (#741)07:53:58 | bf42c14Blaszyk: fix: keep the Vue text caret visible while typing (#737)2026-06-08
18:54:10 | 15d4f39Blaszyk: fix: floating header text box no longer pushes in-flow header content below it (#735)16:40:56 | bf86d7achore(deps): bump changesets/action from 1 to 1.8.0 (#732)16:38:00 | 06fa96bBlaszyk: fix: hang list marker into the margin when hanging exceeds left indent (fixes #729) (#730)13:28:30 | eb968e8chore: release (#716)13:08:08 | 1c254e8Blaszyk: feat: add React-parity callback props to the Vue editor (#720) (#726)12:26:01 | b05e9cfBlaszyk: fix: add author prop to the Vue editor (fixes #720) (#725)11:21:10 | 0ded2a1Blaszyk: fix: preserve RTL text direction for runs without an explicit bidi flag (#723)11:20:16 | 58e3a7eBlaszyk: fix: restore run highlight saved as shading on import (#722)11:17:53 | 3bd7bf7Blaszyk: fix: render numFmt="none" paragraphs without a list marker (fixes #718) (#721)2026-06-06
14:06:14 | 6228132Fries: fix: respect i18n locale in Vue toolbar tooltips and context menu (#713)2026-06-05
14:25:33 | 29c8f1fchore: release (#707)14:14:14 | 3fe9c57Blaszyk: refactor: shared layout pipeline for React/Vue adapters (#696 Tier 2) (#710)13:29:51 | d100115Blaszyk: fix: keep page-anchored header letterheads from blanking the document (fixes #705) (#709)01:48:44 | db75f4fMasquelier: fix: keep split-paragraph footnotes from overlapping body (#708)09:05:37 | 66cf3a8Blaszyk: refactor: unify React/Vue orchestration into shared core (Tier 1) (#706)2026-06-04
23:35:21 | bd88cf4chore: release (#677)23:10:36 | 98ae3e5Blaszyk: fix: align text selection/caret overlay at non-100% zoom in Vue (fixes #693) (#703)23:10:01 | 6dc5b50Blaszyk: fix: align image selection overlay at non-100% zoom in Vue (fixes #695) (#704)23:08:37 | 928593bBlaszyk: fix: show hyperlink popup for links in headers/footers in Vue (fixes #692) (#702)21:49:20 | 2003cecBlaszyk: fix: center page-anchored text boxes in headers/footers (#700)14:51:16 | 0d5beedBlaszyk: fix: flow long table-row content across pages without cutting lines (fixes #570) (#699)13:07:36 | 5b38696Blaszyk: fix: render cross-page merged table cells like Word (fixes #666) (#698)10:20:37 | f3d6861Blaszyk: fix: render Vue header/footer text selection (fixes #691) (#697)09:56:16 | 15966fcBlaszyk: fix: pin topAndBottom anchored text boxes to their OOXML position (#694)07:34:10 | 127985aBlaszyk: fix: sync Vue ruler indent handles with paragraph formatting (fixes #685) (#689)07:33:02 | 9c8068fBlaszyk: fix: route Vue add-comment card through shared sidebar layout (fixes #669) (#688)07:32:12 | cab7424Blaszyk: fix: Vue header/footer Remove button does nothing (#686) (#690)2026-06-03
22:11:10 | f73706eBlaszyk: fix: preserve more properties on headless roundtrip (#687)21:46:39 | 0f3eb97Blaszyk: feat: watermark authoring in Vue + OOXML watermark fidelity fixes (#684)21:45:27 | cb5f622Blaszyk: fix: preserve mid-body section breaks on headless roundtrip (fixes #680) (#683)17:34:28 | 06aea12Blaszyk: fix: keep Vue image selection frame on the image when it moves (#682)19:38:28 | eaa6f7ffeat: MS Word–style watermarks (#679)16:25:07 | 5e51a9bBlaszyk: fix: scope header/footer caret and selection to the active section (fixes #671) (#681)15:53:09 | 5fcca3bBlaszyk: fix: keep footnote/endnote content controls editable on round-trip (#678)04:52:30 | 1be9cf5T. Jove: feat: edit and track-change footnote/endnote bodies (#646)2026-06-02
23:09:07 | 9bb4023chore(deps): bump actions/checkout from 6 to 6.0.2 (#673)23:08:32 | 6ecdb10chore(deps): bump actions/cache from 4 to 5 (#674)17:58:06 | 4c50d46chore: release (#664)09:31:09 | 9425ad0T. Jove: fix(agents): resolveComment throws on unknown comment id (#662)12:31:08 | 0085bb4Record CLA signature for @ayobamiseun (PR #667)12:11:18 | 1c2b098fix: render all virtualized pages before printing (fixes #579) (#650)09:00:14 | 6f34746Blaszyk: test(agents): assert comments part is wired up in saved zip (#665)02:56:29 | a114a49T. Jove: test(agents): cover headless save round-trip for comments and changes (#647)02:49:43 | a0adf60T. Jove: fix(agents): resolve paraId-less paragraphs by ordinal index in headless bridge (#648)2026-06-01
21:43:28 | 54b0995chore: release (#655)21:34:46 | a60ed77Blaszyk: feat: interactive content-control widgets (checkbox/dropdown/date) (#661)17:32:58 | d791e05Blaszyk: feat: content-control (SDT) addressing API (#659)15:32:35 | b6dd406Record CLA signature for @xy200303 (PR #660)14:55:01 | 362a65fBlaszyk: feat: editable block-level content controls (#622 phase 2) (#658)10:00:31 | bc67374Blaszyk: fix: style empty-paragraph headings and drop to body text on Enter (#657)05:31:12 | 1d6976eRecord CLA signature for @m-aizaz-official (PR #650)04:58:30 | 6f0e4c5Record CLA signature for @Yanuy (PR #656)2026-05-31
19:38:28 | e30c763Blaszyk: feat: round-trip block-level content controls (fixes #622) (#653)02:44:57 | d5a29ecRecord CLA signature for @jacobjove (PR #646)2026-05-30
21:08:53 | 0b4d1c8Blaszyk: ci: fix release publish hang by bumping Playwright to 1.60.0 (#645)20:32:55 | 54f652fBlaszyk: ci: stop release hanging on stalled Playwright browser download (#643)15:14:52 | b1b5d16chore: release (#618)15:05:52 | 137d5deBlaszyk: feat: track inserted/deleted images as tracked changes (#641)14:42:45 | 7e77654Blaszyk: fix: track list changes in suggesting mode so reject reverts them (#640)14:08:25 | 92b8d21Blaszyk: test: fix scenario-driven E2E flakes (88 → 58) (#642)09:20:35 | 26bad16Blaszyk: docs: expand changeset summary guidance in CLAUDE.md (#639)09:18:46 | bf11ee8Blaszyk: fix: don't mark text as inserted when undoing a tracked Enter (fixes #633) (#638)02:50:21 | 7a91813Chen: Implement reviewer bridge formatting edits (#624)08:47:43 | 3d3177eBlaszyk: chore: tighten pending changeset summaries (#637)2026-05-29
16:56:22 | f749588Blaszyk: ci: disable git hooks for the release bot commit (#636)16:47:35 | 04cc391Blaszyk: docs: list French and Hindi in README locale table (#635)16:11:57 | a7f9ac5Blaszyk: feat(i18n): add French (fr) locale (#631)16:01:41 | 49fcafcBlaszyk: ci: fix release PR not refreshing + stop CI runs hanging for hours (#632)09:29:22 | ebb85a5Wu: fix(core): tolerate stray ampersands when parsing DOCX XML parts (#627)15:22:37 | 42ea72dBlaszyk: feat: track structural changes in suggesting mode (fixes #614) (#616)04:46:16 | 30c1931Masquelier: fix: handle empty table rows from vMerge (#626)13:31:25 | 79c68b0Blaszyk: fix: make React hyperlink popup inputs editable (#630)08:24:57 | 371dbafBlaszyk: chore: add missing changeset for #613 + fix Vue DocxEditor max-lines (#628)05:05:14 | a14dfc8Shen: fix: repair find navigation in paged editor (#613)02:23:35 | 14fe4f2Kumari: Feat(i18n): add Hindi (hi) community-maintained locale (#603)2026-05-28
23:24:17 | 71f4385Record CLA signature for @tinawu0603 (PR #627)22:45:36 | 9d7138eBlaszyk: feat: custom font registration via fonts prop, font failures via onError (#625)15:29:05 | e311f52Record CLA signature for @mondaychen (PR #624)14:14:23 | 322c358chore(deps-dev): bump @types/react from 19.2.14 to 19.2.15 in the dev-dependencies group (#623)13:58:26 | 24611fcBlaszyk: ci: auto-refresh bun.lock on dependabot PRs + group dev deps (#621)13:58:14 | 82d845cBlaszyk: chore(deps-dev): batch update dev dependencies (#619)13:24:42 | e5e0997Blaszyk: chore: add missing changeset for #611 (#617)12:49:09 | a8706e6Blaszyk: refactor(hf): unify header/footer editing onto body's hidden-PM + painter model (#611)2026-05-27
14:11:40 | c1a98f9Blaszyk: chore: Fix wording in license so that github detects it correctly (#615)2026-05-26
19:58:13 | f951178Blaszyk: docs(i18n): add api:extract + changeset steps to locale contribution flow (#612)13:37:00 | 8e9df4aRecord CLA signature for @occupy5 (PR #613)2026-05-25
17:56:38 | 188e2c2Record CLA signature for @Pallavikumarimdb (PR #603)19:32:53 | 6cec03fBlaszyk: chore: remove legacy /assets folder (#602)15:37:46 | 5a257a2chore: release (#581)14:48:37 | ec36a50Blaszyk: chore: add missing changeset for #585 (#601)05:06:47 | f3b416bBuddha: fix: collect footnote references from table cells (#585)14:02:59 | 24b31a4Blaszyk: fix: render list marker inline at firstLine indent when no hanging slot (#600)10:19:28 | 143c31eBlaszyk: fix: treat w:hanging="0" as neutral like w:firstLine="0" (#599)11:10:29 | bdd7f50Arafat: fix: preserve numbered paragraph hanging indents (#597)09:22:38 | 6d56181Blaszyk: feat: bring Vue to parity on floating-zone text wrapping (#598)08:47:33 | e80093dBlaszyk: fix: wrap text around stacked floating objects (#596)2026-05-24
21:05:07 | 0302cf9Record CLA signature for @fahdarafat (PR #597)2026-05-23
19:08:26 | 0a93cc3Blaszyk: chore: root structure cleanup (#593)13:26:12 | 01d57b8Blaszyk: docs: tighten CLAUDE.md (#592)2026-05-22
13:21:22 | 1ae9238Blaszyk: fix(e2e): repair the formatting and text-editing test specs (#587)11:12:53 | fc22063Blaszyk: docs: add README to each framework example (#586)2026-05-21
21:34:08 | 14f8307Record CLA signature for @AryaBuddha (PR #585)14:38:56 | d91357eBlaszyk: fix(parser): parse text boxes in headers and footers (#583)2026-05-20
17:03:13 | f33076dRecord CLA signature for @DawnFolk (PR #582)16:29:53 | 3e4b98eBlaszyk: fix(core): baseline-align inline-image header lines (#580)13:56:22 | 6bef695chore: release (#574)13:47:15 | fc195edBlaszyk: docs: add @eigenpal/nuxt-docx-editor to root and Vue READMEs (#578)13:39:42 | ffba596Blaszyk: feat(nuxt): add @eigenpal/nuxt-docx-editor Nuxt 3 & 4 module (#577)12:40:09 | 4e73af5Blaszyk: fix(core): unify tab-stop layout so right/center tabs don't wrap (#576)11:37:57 | ba67554Blaszyk: fix(core): render field results with their own run formatting (#575)05:15:36 | eb785dcSouza Rodrigues: fix(core): stop generateHexId from emitting OOXML-invalid paraId / textId / durableId (#568)11:08:34 | f8c6252Blaszyk: chore(deps): batch Dependabot bumps for examples and agents devDeps (#573)10:22:48 | c5f3dfbBlaszyk: docs: add per-package Docs column to README packages table (#572)07:47:04 | 1363fbfBlaszyk: chore: sync bun.lock after dependabot bumps (#571)07:39:33 | 4303b9fchore(deps-dev): bump lint-staged from 16.4.0 to 17.0.4 (#456)07:39:29 | 2587363chore(deps-dev): bump @changesets/changelog-github from 0.6.0 to 0.7.0 (#455)07:39:18 | 0d04c10chore(deps-dev): bump typescript in /examples/plugins/hello-world (#562)07:39:14 | d1a4f9fchore(deps-dev): bump typescript in /examples/plugins/docxtemplater (#559)07:39:10 | b221773chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /examples/astro (#556)07:39:06 | ebb985dchore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /examples/remix (#554)07:39:02 | e9a4cdechore(deps-dev): bump typescript in /examples/agent-chat-demo (#553)07:38:58 | 039f31dchore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /examples/vite (#548)07:38:55 | 5ec65c2chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /examples/vue (#544)07:38:51 | 52b360fchore(deps-dev): bump typescript in /examples/agents-demo (#543)07:38:47 | c20e86echore(deps-dev): bump typescript in /examples/collaboration (#541)2026-05-19
20:13:53 | cf2c6feRecord CLA signature for @arthrod (PR #568)19:05:09 | adb6918Blaszyk: chore: utf-8 i18n bundles + simplify release tag step18:51:15 | 6a41afechore: release (#534)18:35:21 | e81fad0Blaszyk: chore(changeset): downgrade i18n subpaths + helpers to patch18:33:29 | 8d60d65Blaszyk: fix(parser): extract text-box drawings wrapped in mc:AlternateContent (#567)17:22:37 | a193caaBlaszyk: fix(parser): preserve tabs inside <w:hyperlink> and render TOC entries like Word (#566)16:28:18 | 7806b78Blaszyk: fix(layout): clamp floating wrap margins for near-full-width floats (#564)16:12:01 | fe4cb94Blaszyk: feat: i18n per-locale subpaths + surface doc helpers and Comment types (#563)15:09:00 | 3f1095fBlaszyk: chore(security): require 7-day minimum npm release age (#535)12:44:31 | fa245bdBlaszyk: Update README.md12:41:44 | 440cef9Blaszyk: Update README.md12:41:05 | c347f2cBlaszyk: Update README.md12:29:34 | 4288699chore: release (#484)12:27:22 | 2480e75Blaszyk: docs: align all five package readmes to one schema (#530)12:16:26 | 4b32c7eBlaszyk: chore(react): drop prepublishOnly build hook (#529)12:00:19 | 4f88edcBlaszyk: docs(readme): list all 1.x packages and refresh quick start (#528)11:23:36 | 8836214Blaszyk: chore: stop shipping sourcemaps and declaration maps (#527)11:10:00 | 61983caBlaszyk: feat: surface @packageDocumentation in published types (#526)10:43:37 | 0187af2Blaszyk: feat: generate consumer-friendly JSON docs across all packages (#525)09:01:46 | 2e6398aBlaszyk: refactor(vue): drop framework-prefixed names from public surface (#524)08:55:25 | 348fa6bBlaszyk: feat(react,vue): API Extractor snapshots + parity contract (#523)07:44:13 | 6e760a4chore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0 (#521)07:43:43 | 6b8f1fbBlaszyk: i18n: fill last 26 untranslated keys across de/he/pl/pt-BR/tr/zh-CN (#522)07:43:03 | fd1f9deBlaszyk: feat(i18n): typed exports from @eigenpal/docx-editor-i18n root (#519)2026-05-18
20:00:23 | 76093f9Blaszyk: feat(core): API Extractor snapshots for all 61 subpaths + TSDoc backfill (#520)18:11:37 | c5125ffBlaszyk: docs(475): API Extractor pilot on agents/server + tag core barrels @public (#518)17:45:19 | 8e2101eBlaszyk: docs: update RELEASING.md for 1.x package set (#517)17:25:31 | f7b8dc7Blaszyk: chore: rename agent-use package folder to agents (#516)16:57:26 | 9d4d30eBlaszyk: fix: anchor hyperlink popup to its link on scroll (#514)16:44:21 | 372cab6Blaszyk: refactor(vue): mirror React's components/DocxEditor structure (#515)15:48:33 | 74b67d3Blaszyk: chore: enforce 1000-line cap via eslint max-lines (#513)15:24:25 | b2230a3Blaszyk: refactor(core): split TableExtension closure into commands modules (#512)14:54:04 | cff5be4Blaszyk: refactor(react): cap progress — DocxEditorShell + DocxEditorToolbar/PagedArea + useResetEditorState (1972 → 1662 LOC) (#510)12:50:17 | 700b536Record CLA signature for @ResiDev (PR #497)14:45:31 | 7f08444Blaszyk: test(agent-use): split DocxReviewer.test.ts under 1000-LOC cap (#511)14:10:11 | 5a4ef95Blaszyk: refactor(react): extract useContextMenus + useCommentManagement + useCommentLifecycle (2634 → 2234 LOC) (#508)14:09:38 | a960109Blaszyk: refactor(core): bring TableExtension under 1000-LOC cap via closure-to-factory (#509)13:13:28 | bba58e4Blaszyk: refactor(react): extract useImperativeHandle + overlays/dialogs from DocxEditor.tsx (3724 → 3183 LOC) (#506)13:12:43 | b3d4b4bBlaszyk: refactor(core): split three highest-LOC files; close TableExtension partially (#507)12:22:49 | c4fd123Blaszyk: refactor(core): split three 1500+ LOC files into per-domain modules (#505)12:13:45 | 6ff5d22Blaszyk: refactor(react): DocxEditor.tsx 5158 → 3712 LOC (-28%) via 8 hooks + 6 micro-components (#504)11:39:49 | 03ac1beBlaszyk: refactor(core): split five 1000+ LOC files into per-domain modules (#503)10:55:46 | 999a48dBlaszyk: refactor(react): split PagedEditor.tsx into hooks (3230 → 775 LOC) (#500)10:19:56 | 9233c6eBlaszyk: refactor(vue): DocxEditorVue under 1000-LOC cap (897) (#501)09:37:07 | 7c3f2e1Blaszyk: refactor(vue): extract 5 more composables toward 1000 LOC cap (#499)08:45:55 | d05b3e5Blaszyk: refactor(vue): extract composables toward 1000 LOC cap (#498)07:47:00 | f5d0cd8Blaszyk: refactor(vue): file-size cap progress — paraText helpers + Toolbar presets (#494)07:46:20 | 0881178Blaszyk: refactor(react): file-size cap progress + paged-editor → DocxEditor/ (#493)2026-05-17
21:42:21 | 867bf15Blaszyk: refactor(core): split four 1000+ LOC files into per-domain modules (#492)20:57:18 | d690836Blaszyk: fix(release): rename stale changesets from docx-js-editor to docx-editor-react (#491)20:43:17 | 89cbc84Blaszyk: fix(ci): playwright port 5174 already in use on parity smoke (#490)20:19:44 | 3486caaBlaszyk: feat(examples): port chevron source menu to Vue example + lift z-index above outline button (#489)19:49:20 | 6272b32Blaszyk: feat: 1.0.0 — package restructure, Vue adapter, Apache 2.0 (#478)18:48:16 | 491ec9aBlaszyk: fix(serializer): preserve fields and nested SDTs inside inline SDT on save (#486)18:27:46 | 29f9575fix(parser): preserve fields inside inline SDT content (#482)18:18:23 | 5a30387fix(parser): inherit header/footer refs and titlePg across sections (#481)17:58:39 | 5d11c1aBlaszyk: fix: keep dense footnotes inside page bottom (#485)08:37:15 | c395aa6Masquelier: fix: render anchored text box wrapping (#474)2026-05-15
20:36:29 | 4b6e572Record CLA signature for @eliahilse (PR #481)2026-05-14
16:57:05 | fe51247Blaszyk: chore: release workflow listens on main and 0.x (#476)2026-05-12
17:00:39 | d25c2c8chore: release (#435)04:07:15 | 664abd1Masquelier: Fix border overlay layout rendering (#459)04:44:56 | e4edba8Record CLA signature for @dancrew32 (PR #459)2026-05-11
22:24:49 | 32d1e27Record CLA signature for @VladislavSkripnichenko (PR #453)14:22:32 | cbff36eBlaszyk: fix(ooxml): resolve themed table-cell border colors against the document theme (#441)05:13:29 | f7a1060Fix header/footer table render and editor parity (#425)03:50:06 | ba810a6Record CLA signature for @leandrotcawork (PR #425)2026-05-10
18:05:51 | d468d03Record CLA signature for @Cruiser13 (PR #245)07:48:48 | ca059c3Blaszyk: cla: stop self-signing + tidier comment + !cla-check (#437)00:32:07 | 2158433Murat ÖZDEMİR: feat: add Turkish (tr) translation (100% coverage) (#429)2026-05-09
21:43:33 | c7ae747Record CLA signature for @eigenpal-release-pal[bot] (PR #425)23:42:33 | bdc9f05Blaszyk: cla: PR author is the signer of record (#436)23:20:22 | d724f57Blaszyk: cla: push as eigenpal-release-pal App + document PR style (#434)23:11:22 | 0c0ac50Blaszyk: chore: update cla list (#433)22:55:08 | f39df92Blaszyk: fix(cla): correct commit-author detection (closes bypass on main) (#432)22:41:16 | f399087Blaszyk: cla: rename recheck keyword to cla-recheck (#431)22:37:44 | 21fef23Blaszyk: chore: add Contributor License Agreement workflow (#430)2026-05-08
16:46:58 | 0636a9dchore: release (#420)16:44:41 | c605277Blaszyk: fix(ooxml): close 16 rendering gaps from #423 audit (#424)15:23:19 | 5fddb75Blaszyk: feat(images): proper image layout modes — Word-style menu, inline ↔ anchor, framework-shared core (#421)12:00:08 | aefb8c6Blaszyk: fix(serializer): coerce all integer-typed OOXML attributes to integers (fixes #417) (#422)11:05:38 | b6c26dbBlaszyk: chore(layout): centralize wrap-type taxonomy + add missing changeset for #418 (#419)01:39:04 | 169f06aMasquelier: fix: render wrapNone anchored images out of flow (#418)2026-05-07
15:25:57 | 9ee902dchore: release (#404)15:17:46 | 11abc2dBlaszyk: fix(hf): four follow-ups to header/footer unification (#379, #380, #381, #382) (#416)13:37:46 | e12c337Blaszyk: fix(footnotes): route through body pipeline (closes #378) (#415)12:56:52 | 7ff0b6fBlaszyk: fix(styles): default character style cascade + table-borders default fallback (#412) (#414)12:28:42 | 274d858Blaszyk: fix(layout-bridge): propagate run-level OOXML marks (caps/smallCaps/position/scale/kern) (#413)12:06:58 | 4e194d7Blaszyk: fix(layout): inline-image clipping, top-of-page spaceBefore, break-only page break (#409)12:06:28 | 0d3581dBlaszyk: chore: set package homepage to docx-editor.dev (#411)08:40:33 | 4aee2e0Blaszyk: refactor(core): consolidate body-scoped data-pm-start lookups into helpers (fixes #407) (#408)08:19:40 | 5fd14f9Blaszyk: fix(selection): scope body PM-position lookups so selection rects don't bleed into headers (#406)2026-05-06
12:43:11 | ce518a2chore: release (#376)12:42:37 | ddfbe22Blaszyk: chore(deps): bump @types/node 22→25, vite 7→8, openai 4→6 (#403)12:17:26 | 5454bb2Blaszyk: fix(layout): paragraph spaceBefore/spaceAfter are additive (Word fidelity) (#402)10:22:34 | e89e859Blaszyk: fix(i18n): route page indicator through t() and complete he.json (fixes #399) (#401)10:08:06 | 2442eb4Blaszyk: fix(layout): apply HF-overflow margin extension to per-section margins (#400)08:38:19 | 811bf2cBlaszyk: fix(layout): respect section and table metrics (fixes #319) (#396)14:04:07 | f6703d0feat: add partial Simplified Chinese translation (zh-CN) (#339)07:22:45 | a2f6342Blaszyk: chore: trim #334 comments and dead test scaffolding (#397)2026-05-05
16:55:49 | f42ad91Blaszyk: fix(layout): per-slot rFonts merge + empty-paragraph line-height floor (fixes #391, closes #394) (#393)15:31:22 | 7a2665cBlaszyk: fix(core): keep font explicit/theme attribute pairs together on style merge (fixes #387) (#389)15:28:01 | e32ebedBlaszyk: fix(core): share list counters by abstractNumId, parse w:start indents (fixes #386) (#390)11:25:28 | ff6dbe8Blaszyk: fix(react): wire HF inline editor to toolbar + context menu, fix ruler z-index (fixes #384, #385) (#388)10:54:41 | 1259fa0Blaszyk: feat(core): unify header/footer rendering with body pipeline (fixes #356, #357, #358) (#383)08:31:41 | 4425996Blaszyk: fix(agent-use): drop empty string from highlight enum (fixes #370) (#375)2026-05-04
07:52:34 | 128dc7dchore: release (#336)07:45:13 | bc02218Blaszyk: fix(core): align page font fallback with measurement chain (fixes #334) (#335)2026-05-03
08:32:17 | 195289echore: release (#333)2026-05-02
20:10:33 | 23a2c7eKali: add Hebrew (he) locale (#331)18:59:01 | 159cad2Blaszyk: feat(core): expose framework-adapter subpaths via exports map (#332)2026-04-30
19:28:14 | 9c0026bBlaszyk: Update README.md15:53:23 | 37a863eBlaszyk: chore: add context7.json14:35:28 | cda4f88Blaszyk: docs: refresh README header and editor screenshot (#330)07:41:17 | 56a9ff2chore: release (#329)07:37:35 | e92b349Blaszyk: fix: comments sidebar repositions on programmatic addComment (#328)2026-04-29
18:25:19 | 9cb1591chore: release (#324)18:23:29 | 06cdf53Blaszyk: fix(agents): align agent read/search/anchor on the vanilla document (#327)17:03:47 | 69f5ab0Blaszyk: chore(i18n): translate File menu keys for de, pl, pt-BR (#326)16:57:31 | fe17e73Blaszyk: feat(toolbar): add Open and Save to the File menu (#325)12:23:25 | beee9a4Blaszyk: fix(i18n): translate agent panel + chat primitives (#323)11:19:45 | 43d4128chore: release (#305)01:46:26 | 9c0721bMasquelier: feat: allow disabling editor find shortcuts (#322)10:35:42 | 6094eafBlaszyk: feat(agent-panel): controllable right-hand panel + BYO-agent toolkit (#317)2026-04-28
17:25:53 | 6a0b9a9Bobrow: fix(core): remap step coords in paragraphChangeTracker apply (#311)16:13:59 | 640cfe5Blaszyk: docs(readme): add supported translations table (#316)16:08:47 | 92d8c35Blaszyk: fix(release): correct pt-BR changeset package name + clearer Slack failure mode (#315)16:01:40 | 71a1836Blaszyk: refactor(editor): extract DEFAULT_PAGE_WIDTH and dedupe pageWidth fallback (#314)15:53:45 | 95f8df1feat: add Brazilian Portuguese (pt-BR) locale support (#312)15:48:14 | f31fd5aBlaszyk: fix(outline): keep doc centered; slide outline + button + ruler with the doc (#313)2026-04-27
21:11:07 | 8dba7e8Blaszyk: feat(toolbar): Word-style split color button + consolidate ColorPicker (fixes #130) (#306)18:04:02 | c81fdd3Blaszyk: feat(agents): live agent chat + server-side MCP support (#201)10:53:34 | cae0827chore: release (#298)10:44:24 | bacbf8dfix(editor): prevent caret-left jumps and place cursor at paraId end (#300)09:28:22 | 1a9d8ebBlaszyk: fix(editor): preserve font/size/color set in empty paragraph (#299)07:25:52 | 14d7623Blaszyk: ci(release): point Slack release link at per-package tag07:24:43 | c9afc6fBlaszyk: docs(releasing): add RELEASING.md mirroring CLAUDE.md release flow2026-04-26
19:25:35 | 4d419c3chore: release (#297)19:16:33 | 01d9fd0Blaszyk: docs(claude.md): align Releasing section with canonical changesets/action flow (#296)19:13:28 | 6215d53Blaszyk: ci(release): switch to changesets/action PR-based release (#295)19:00:43 | 7a05192Blaszyk: ci(release): drop summary input — per-PR changesets supply the CHANGELOG (#294)18:54:53 | 848558cBlaszyk: docs(readme): link latest.docx-editor.dev as the main-branch preview (#293)18:51:33 | b10a517Blaszyk: fix(i18n): translate comments-toggle, outline-toggle, and mode dropdown (#292)18:43:00 | 120b82fBlaszyk: ci(release): restore bump dropdown (default patch); keep per-PR changesets (#291)18:26:46 | f6165d9Blaszyk: ci(release): drive bumps + CHANGELOG from per-PR changesets only (#290)18:17:49 | 91a6f97Blaszyk: feat(editor): fontFamilies prop for toolbar font dropdown (closes #278) (#289)17:24:27 | bd442a7Blaszyk: fix(editor): implement scrollToPage + populate getTotalPages on layout (fixes #280) (#288)16:55:12 | 85494e4Blaszyk: feat(editor): scrollToParaId / scrollToPosition (rebase + fixes for #282) (#287)15:41:15 | c700447Blaszyk: fix(lists): finish numbered marker resolution (follow-up to #271) (#286)14:26:06 | b6ef5b1Blaszyk: fix(ci): real dry-run, fix provenance repo URL, add GitHub Releases (#285)14:00:14 | 91781e7Blaszyk: fix(ci): bump Node to 24 + Slack fields layout (#284)13:51:27 | 866ace1Blaszyk: ci: changesets-driven release workflow with bump dropdown (#283)2026-04-21
07:20:00 | b0f0a6bBlaszyk: fix: persist header/footer on blank-doc save (fixes #274) (#275)2026-04-17
13:34:23 | 7a7c795Blaszyk: refactor: unify theme color resolution across display paths (#272)08:50:19 | 50a7b02fix: correct OOXML theme color tint/shade resolution (#270)2026-04-16
12:19:02 | bcc9c6dBlaszyk: fix: resolved comment checkmark toggles the card again (fixes #268) (#269)07:38:08 | 6c08395Blaszyk: fix: persist header/footer images on save (fixes #251) (#264)2026-04-15
16:04:17 | c53fa78Blaszyk: feat: add Help > Report issue menu (#262)15:41:49 | 14a241cBlaszyk: docs: add commercial support section to README (#261)15:30:29 | 4e20b77Blaszyk: feat: add DocxReviewer.removeComment (closes #252) (#260)2026-04-13
14:27:19 | 675aa9fBlaszyk: Update README.md13:00:37 | 953ffeeBlaszyk: version packages12:59:28 | a4196c1Blaszyk: chore: switch changesets to built-in changelog + ignore .worktrees12:57:04 | ce89e70Blaszyk: changeset: 0.0.3412:55:39 | abe7870Blaszyk: feat: forward ProseMirror decorations to the layout-painter (closes #256) (#258)12:40:36 | ab7a1d8Blaszyk: feat(examples): realtime collaboration demo with Yjs + y-webrtc (#254)17:30:02 | 941214ffeat: add externalContent prop for Yjs and external content sources (#247)2026-04-10
09:59:52 | bee0029Blaszyk: fix: table context menu actions and dialog-backed cell splitting (#243 + review fixes) (#253)2026-04-07
17:44:58 | aa92169Blaszyk: Update README.md (#250)2026-04-02
17:37:38 | bd1c468Blaszyk: refactor: cursor-based sidebar expansion for comments and tracked changes (#244)2026-03-31
17:09:57 | 3296811Winnicki: Group consecutive suggestion-mode deletions (#241)2026-03-30
11:57:19 | d4587d3Blaszyk: feat: add Polish and German translations (100% coverage) (#240)07:28:10 | 1785273Blaszyk: fix: suggest mode applying spurious underline/strikethrough formatting (#236)2026-03-28
03:48:21 | e5e9327Winnicki: fix: unicode double-click word selection (#235)2026-03-27
22:13:16 | 5416a33Blaszyk: fix: clicking insertion part of replacement tracked change now opens sidebar card19:48:37 | f8ccacbBlaszyk: fix: restore curly apostrophe in word boundary regex18:29:06 | 6928e41Blaszyk: chore: archive i18n-support change18:26:51 | 7bc32b3Blaszyk: Update README.md18:25:04 | ce4c175Blaszyk: feat: i18n support with locale prop and community translations (#233)10:07:26 | b11432bBlaszyk: feat: show replacement tracked changes as single sidebar card (#232)2026-03-26
21:35:13 | 13dcb3bBlaszyk: fix: header/footer editor line spacing mismatch with layout view (#228)21:08:03 | 94e0290Blaszyk: fix: ensure DocumentName input is always controlled (#231)20:00:41 | 5b33f67Blaszyk: chore: bump to 0.0.3212:50:23 | 4e88615Blaszyk: fix: clean up orphaned comments when their text is deleted (#227)11:07:47 | 04b470bBlaszyk: fix: initialize suggestion mode plugin with correct initial state (fixes #223) (#225)10:50:21 | b842131Blaszyk: fix: correct twips→pixels conversion in header/footer measurement (#224)10:04:52 | 6d8c557Blaszyk: fix: comment system bugs — add/resolve/reply/visibility (#219)07:26:39 | 7fc9158Kramár: fix: track mark-only changes in ParagraphChangeTrackerExtension (#220)2026-03-25
07:55:03 | de0fe78Blaszyk: fix: apply missing comment parser/serializer changes and add unit tests2026-03-24
16:01:23 | 73e7578Blaszyk: fix: improve pagination accuracy for table-heavy documents (#214)2026-03-23
12:22:59 | a987c15Blaszyk: chore: release v0.0.3112:19:51 | d77716fBlaszyk: chore: add changeset for comment callbacks and showOutlineButton12:14:31 | 3016349Blaszyk: feat: add showOutlineButton prop to hide floating outline button (#213)12:00:06 | eee9699Blaszyk: feat: expose comment event callbacks as DocxEditor props2026-03-20
22:40:50 | 5a4267eBlaszyk: Merge branch 'feat/unified-sidebar'22:31:54 | e294416Blaszyk: fix: restore default demo file to docx-editor-demo.docx22:28:01 | 752dd8eBlaszyk: feat: unified sidebar with plugin API for sidebar items (#206)22:24:31 | b896970Blaszyk: refactor: extract shared ReplyThread/ReplyInput, fix review findings22:15:48 | ed45052Blaszyk: fix: allow sidebar items to extend beyond page height22:12:22 | f72f9bcBlaszyk: feat: unified sidebar with plugin API for sidebar items10:18:17 | e201d82Blaszyk: fix: align comments sidebar with page at all zoom levels (#205)01:49:14 | 21d2722Lopes: fix: support per-page header/footer for titlePg documents (#204)2026-03-19
12:42:58 | 5661839Blaszyk: fix: reduce agent-use package size by 77% (704kB → 159kB)12:17:23 | 71df90cBlaszyk: Bump to 0.0.3012:16:25 | ae3939fBlaszyk: fix: bundle @eigenpal/docx-core into agent-use instead of workspace:* dep19:46:08 | 7d95f40Arafat: fix: improve anchored header and footer media rendering (#200)10:43:17 | a3d60eaBlaszyk: fix: drop "type": "module" so Next.js works without transpilePackages (#202)2026-03-18
17:15:27 | eedb5d5Blaszyk: fix: show comments sidebar for long documents with virtualized pages (#198)09:18:45 | a69370fBlaszyk: fix: make DocxEditor reactive to document/documentBuffer prop changes (#197)2026-03-17
21:56:48 | 74f74f8Blaszyk: fix: remove core from changeset ignore (private:true is enough)21:54:25 | 2390b2bBlaszyk: chore: mark core and vue as private (don't publish to npm)21:49:17 | f76fad7Blaszyk: chore: bundle core into agents package (no separate install needed)21:44:28 | 8700333Blaszyk: chore: add core to fixed versioning, sync to 0.0.2821:41:44 | 807d74bBlaszyk: chore: commit untracked openspec changes and test docx files21:40:29 | 277d935Blaszyk: chore: version packages v0.0.2821:38:00 | 525461aBlaszyk: chore: sync agent-use version to 0.0.27 (match react)21:35:05 | a2fd0d0Blaszyk: fix: changeset config — remove invalid ignore entries21:33:13 | 4c468b8Blaszyk: chore: add Changesets for unified versioning (react + agents)20:36:07 | 2bb967eBlaszyk: feat: @eigenpal/docx-editor-agent-use — AI document review API (#195)15:49:17 | 776f272Blaszyk: feat: right-click context menu with selection preservation (#193)13:11:45 | b92436dBlaszyk: fix: preserve selection on right-click (Firefox) (#196)12:50:23 | 857f2e6Blaszyk: fix: toolbar selection preservation and default font display (#194)08:52:36 | 89a08ddBlaszyk: spec: context-aware right-click menu (Google Docs style) (#192)08:46:22 | 1bce9fcBlaszyk: test: add E2E tests for comment button scroll positioning (#185)08:39:15 | 99a315aBlaszyk: fix: comment button drifts vertically when scrolled (fixes #185) (#191)08:14:22 | f68b5f9Blaszyk: fix: reset all style-controlled paragraph attrs when changing styles (#190)2026-03-16
14:22:43 | dc9e4a4Blaszyk: feat: text wrapping around floating images (fixes #143, #188) (#189)09:30:24 | c9e339aBlaszyk: fix: render floating images inside table cells instead of skipping them (fixes #151) (#184)08:05:34 | 5fcebadChoe: fix: skip Space key interception during IME composition (#180)2026-03-15
22:08:05 | 6b3ab4cBlaszyk: fix: Google Docs paste: bold applied to all text, table borders lost (#181) (#183)19:22:48 | 3f210a8Blaszyk: chore: bump version to v0.0.2719:18:56 | 990449aBlaszyk: feat: wire multi-column layout rendering from section properties (#175)16:49:19 | ef25e2eBlaszyk: fix: hide list indicators when w:vanish set on numbering level rPr (#173)15:59:22 | 49da607Blaszyk: fix: batch fix 10 OOXML compliance and rendering bugs (#178)2026-03-13
08:58:40 | a081614Blaszyk: docs: update live demo URLs to docx-editor.dev/editor08:47:52 | 5ebbfd6Blaszyk: chore: update assets08:45:21 | c2bfaeeBlaszyk: docs: add documentation badge and link README to docx-editor.dev2026-03-12
22:51:30 | ed123cfFix clipboard image paste duplication (#133)2026-03-11
22:20:03 | 5e1e912Blaszyk: fix: add bottom padding to TitleBar so doc icon doesn't touch toolbar22:13:38 | 8f9511aBlaszyk: chore: bump version to v0.0.2622:05:04 | 0446dedBlaszyk: chore: bump version to v0.0.2522:04:16 | b0af58fBlaszyk: refactor: make two-level toolbar the default layout (#140)21:44:40 | f04eff0Blaszyk: chore: bump version to v0.0.2421:09:26 | 37be590Blaszyk: feat: default doc icon, editable name prop, strip .docx extension (#139)19:23:31 | 86a6a28Blaszyk: feat: add composable two-level toolbar layout (#138)16:43:21 | 736e83eBlaszyk: fix: scrollbar no longer extends behind toolbar + add page indicator (#137)16:34:20 | f881d81Blaszyk: Update README.md15:55:02 | ee44ffdBlaszyk: fix: draw top border on table rows continuing from previous page (#136)12:03:20 | 0862044Blaszyk: chore: bump version to v0.0.2312:02:48 | e3c2805Blaszyk: fix: plugin overlay blocks editor mouse clicks (#135)11:34:29 | ccc03a7chore(deps-dev): bump eslint from 9.39.4 to 10.0.3 (#110)11:24:07 | 630742echore(deps-dev): bump @happy-dom/global-registrator from 13.10.1 to 20.8.3 (#111)11:18:21 | 97bdc1fBlaszyk: chore(deps-dev): bump @types/react and @types/react-dom (#134)09:19:51 | 53c2094Blaszyk: chore: bump version to v0.0.2208:08:27 | 1e902edBlaszyk: refactor: deduplicate parser utilities across imageParser, textBoxParser, shapeParser (#129)2026-03-10
21:49:54 | e893dafBlaszyk: feat: add text box / shape rendering support (#122)20:09:56 | 8f8dc89Blaszyk: fix: use DOCX border space values instead of hardcoded padding (#128)17:36:25 | a6886ecBlaszyk: fix: OOXML roundtrip, rendering, and editing improvements (#121)17:27:49 | d4940beBlaszyk: feat: add RTL (right-to-left) text direction support (#123)16:20:11 | b2c6ab3Blaszyk: feat: add Page Setup dialog (page size, orientation, margins) (#124)16:13:46 | a82c3a4Blaszyk: feat: add table row/column quick-action insert buttons (#125)14:50:36 | eb76fb1Blaszyk: fix: hyperlink color, selection, and selectability (#127)2026-03-09
16:49:40 | 61a2c71Blaszyk: feat: add Google Docs-style hyperlink popup on link click (#120)22:46:41 | 5add0dfFix header image clipping and duplicate image rendering; add generic regression test for complex DOCX layout (#115)13:27:17 | 39a87a7Blaszyk: fix: selective save now syncs comments, headers/footers, and core properties (#119)13:01:17 | 739f423Blaszyk: fix: resolve OOXML auto color and render header/footer paragraph borders (#118)12:41:02 | f557e41chore(deps): bump actions/checkout from 4 to 6 (#108)09:12:59 | 687e2abBlaszyk: feat: add editor mode prop (editing/suggesting/viewing) (#117)2026-03-08
21:50:59 | 1823177Blaszyk: docs: add AGENTS_README.md for AI coding agents (#114)21:06:11 | 0c1db92chore(deps): bump actions/setup-node from 4 to 6 (#107)20:51:53 | 63a2f17Blaszyk: chore: add Dependabot for weekly npm and GitHub Actions updates20:44:42 | 9c54d96Blaszyk: fix: disable sourcemaps in published package to reduce size from 16MB to 3.5MB (#106)20:31:34 | 72f53efBlaszyk: chore: bump version to 0.0.2020:25:23 | 6d462b0Blaszyk: Redesign demo badge and update repo URLs (#104)19:51:19 | 0bbb201Blaszyk: fix: scroll page to follow cursor during arrow key navigation (#105)18:22:36 | 8b6519dBlaszyk: feat: selective XML save — patch only changed paragraphs in document.xml (#103)11:10:13 | ec61de0Blaszyk: fix: correct default line spacing from 1.15x to 1.0x per OOXML spec (#102)2026-03-07
21:57:53 | d713c11Blaszyk: fix: individual border presets and replace cell fill picker with AdvancedColorPicker (#101)18:26:03 | 67c033fBlaszyk: feat: add AdvancedColorPicker with theme matrix for text, highlight, and border colors (#100)13:25:11 | abd3073Blaszyk: fix: publish from packages/react and generate npm README with absolute URLs (#99)2026-03-05
20:10:08 | 6c68ed3Blaszyk: chore: bump version to 0.0.1920:08:13 | b4f0da3Blaszyk: fix: resolve Tailwind content paths relative to config file (#98)19:30:28 | 7d584c7Blaszyk: chore: bump version to 0.0.1819:29:49 | 5da7f99Blaszyk: fix: bundle docx-core into docx-js-editor instead of external dependency (#97)19:17:06 | f2e94fbBlaszyk: Fix version19:16:30 | 7075e02Blaszyk: fix: preserve hyperlink relationships in OOXML output (#96)15:15:22 | 3357032Blaszyk: chore: bump version to 0.0.1715:07:07 | dd355baBlaszyk: fix: strip DOM code from PluginLifecycleManager for framework-agnostic core (#87)15:06:55 | 10fe14dBlaszyk: fix: suggestion mode marks too much text when typing over selection (#95)14:59:59 | 14a8d79Blaszyk: docs: update demo docx file (#94)14:36:35 | dcc25beBlaszyk: docs: condense README — features up top, reference sections collapsed (#93)14:09:33 | b45a50fBlaszyk: docs: update logo and editor screenshot (#92)13:47:47 | b93ba45Blaszyk: feat: read-only mode visual cues and toggle switch (#90)12:08:35 | d646d9dBlaszyk: feat: comments sidebar, suggestion mode, and track changes review (#91)2026-03-04
10:28:41 | 28799b1Blaszyk: feat: extract framework-agnostic manager classes (#85)05:55:53 | 972eab1Arafat: feat: revision markup export (diff-on-save for Word Track Changes) (#65)2026-03-03
20:59:21 | e1ada8dBlaszyk: feat: extract monorepo with @eigenpal/docx-core package (#80)19:57:44 | 262a1d0Blaszyk: docs: clarify revision markup export is export-time only, not visual track changes19:18:02 | e572d25Kuntamalla: fix: minor CSS to pull the vertical ruler down equal to the first doc page (#76)16:07:16 | d9a64c3Blaszyk: spec: add monorepo extraction and manager extraction proposals (#79)2026-03-02
08:47:17 | d8d4320Blaszyk: chore: add OpenSpec skills and commands08:29:28 | 279c1bbBlaszyk: chore: update .gitignore to selectively ignore .claude/ local files2026-02-26
09:50:18 | 12bd6bcBlaszyk: chore: bump version to 0.0.1609:49:46 | 8971ca8Blaszyk: fix: move prosemirror packages from optional peerDeps to dependencies2026-02-25
13:52:45 | 3aa18f0Blaszyk: chore: bump version to 0.0.1512:31:30 | dfe1f08Blaszyk: fix: use font-specific OS/2 ratios for OOXML line spacing (#74)2026-02-24
21:11:36 | 297919aBlaszyk: chore: bump version to 0.0.1421:10:05 | 6c66668Blaszyk: fix: cursor height, font inheritance on Enter, and click positioning20:03:05 | 4197536Blaszyk: fix: show all document paragraph styles in style dropdown (#72)19:54:40 | db5e65cBlaszyk: fix: cursor height, font inheritance on Enter, and <11pt line metrics (#71)15:18:07 | add5dacBlaszyk: refactor: remove VariablePanel and VariableInserter from editor UI (#70)15:01:39 | dbe2c2aBlaszyk: fix: implement ECMA-376 paragraph border grouping (#69)12:57:39 | d5e3c10Blaszyk: fix: improve large document performance (page virtualization + measurement caching) (#61)08:10:16 | 5a76f39Blaszyk: fix: toolbar dropdowns clipped by overflow container (#67)2026-02-23
15:57:22 | dd4a4b8Blaszyk: docs: remove legacy variable props from README15:52:55 | 57a3f4eBlaszyk: chore: update CLAUDE.md — remove out-of-scope restriction, add icon note2026-02-22
15:39:42 | 4f733efBlaszyk: docs: plugin system docs, hello-world example, and DX fixes (#60)13:35:17 | 91c9633Blaszyk: fix: correct cursor/selection positioning at non-100% zoom levels (#58)13:33:55 | c8099f7Blaszyk: fix: E2E test suite — 0 failures, 0 skipped (was 353 failures, 21 skipped) (#59)12:52:39 | 819847bBlaszyk: chore: clean up repo structure for open-source readiness (#56)2026-02-21
18:56:28 | 2e7ceb4Blaszyk: chore: bump version to 0.0.1317:15:15 | 9604927Blaszyk: fix: nested table rendering and table cell click handling (#55)09:07:00 | 4dc1bb4Blaszyk: chore: remove .ralph dir, clean up CLAUDE.md2026-02-20
21:59:36 | d11c08cArafat: Fix/nested tables cause oom (#52)12:17:49 | a0cae2dBlaszyk: fix: update lockfile after dependency changes11:40:39 | b82356eBlaszyk: fix: move docxtemplater/pizzip back to dependencies11:02:00 | 9cca33bBlaszyk: chore: lightweight packaging — peer deps, code splitting, lazy loading (#51)10:07:25 | e338d99Blaszyk: fix: preserve table/row/cell/image properties on save round-trip (#50)08:46:47 | f497256Blaszyk: fix: image save — EMU conversion, new image media, table structure (#46)08:33:27 | 5f79addBlaszyk: Update issue templates2026-02-19
10:05:38 | 0346192Blaszyk: chore: bump version to 0.0.1210:05:06 | 2e24942Blaszyk: fix: resolve linked numbering styles and list counter persistence09:38:53 | bc7a25fBlaszyk: chore: bump version to 0.0.1109:38:14 | 2e7d39cBlaszyk: fix: treat numId=0 as "no numbering" per OOXML spec (#44)2026-02-18
20:52:35 | c2a02a3Blaszyk: chore: bump version to 0.0.1019:04:46 | 4e1634eBlaszyk: fix: toolbar icons, table dropdown visibility, and mobile layout (#43)12:48:56 | 888088dBlaszyk: chore: bump version to 0.0.912:48:20 | ff46520Blaszyk: feat: per-paragraph ruler with indent handles and drag tooltip (#42)2026-02-17
22:10:08 | 2c50e66Blaszyk: fix: eliminate cumulative layout drift from twips rounding (#37) (#41)22:04:02 | 82e8e54Blaszyk: Reapply "fix: include header/footer editing CSS in dist/styles.css"22:03:31 | 50266dfBlaszyk: Revert "fix: include header/footer editing CSS in dist/styles.css"21:55:38 | ba522cbBlaszyk: fix: include header/footer editing CSS in dist/styles.css21:49:32 | 2c5890bBlaszyk: fix: prevent image OOM crash, constrain to page, fix menu dropdown (#40)12:48:13 | cc21b32Blaszyk: feat: add showOutline prop to control document outline sidebar2026-02-16
18:59:42 | c9c9bceBlaszyk: feat: add document outline sidebar and table of contents (#38)18:47:10 | ee4c533Blaszyk: feat: mobile-friendly scrollable toolbar and complete props documentation (#39)12:45:16 | 8900fb9Blaszyk: feat: simplify image toolbar, add image selection/drag, fix OOXML round-trip (#35)11:48:56 | 1d8734dBlaszyk: feat: add page break support and File/Insert menu bar (#34)2026-02-15
19:30:50 | e4a6a02Blaszyk: fix: header/body spacing, dynamic margins, and first-line indent rendering14:13:23 | b434fd0Blaszyk: fix: remove redundant default exports to eliminate CJS build warnings14:06:41 | 54eaa0dBlaszyk: chore: bump version to 0.0.814:04:38 | 0996b78Blaszyk: Feat/contextual spacing (#29)13:32:11 | c54adc4Blaszyk: feat: add dynamic page number footer to sample DOCX13:29:57 | 9798980Blaszyk: fix: header/footer field formatting preserved in DOCX export12:33:10 | 82d6a73Blaszyk: Fix header/footer editor crash and add edit support for empty areas (#28)11:59:36 | b77ffc0Blaszyk: feat: improve mobile rendering and loading indicator (#27)09:31:29 | a56047cBlaszyk: Revert "fix: header/footer editor crash and add edit support for empty areas (#25, #10)"09:30:14 | 8222dceBlaszyk: fix: header/footer editor crash and add edit support for empty areas (#25, #10)09:10:07 | 79f7616Blaszyk: Fix comment timestamps using commentsExtensible.xml (#21)09:00:30 | 3122fddBlaszyk: Fix table border presets and dropdown focus loss (#20)2026-02-14
17:00:54 | e878405Blaszyk: fix: respect direct w:ind override on list paragraphs (#23)15:11:15 | 0848833Blaszyk: fix: show text cursor when hovering over page content (#19)15:09:53 | 7387826Blaszyk: docs: add dual-rendering architecture guide to CLAUDE.md2026-02-13
17:25:52 | 070b54cBlaszyk: fix: resolve image spacing and border propagation on Enter (#18)14:25:52 | 003bc80Novak: Update readme.md14:24:49 | 12806e7Novak: adjusting readme09:35:06 | 05f1a83Blaszyk: Update README.md09:34:27 | 9c0b8a6Blaszyk: Update README.md2026-02-12
17:00:08 | 3d71b0eBlaszyk: fix: restore vercel.json build config for Vite example16:55:58 | 7571952Blaszyk: fix: set empty buildCommand in vercel.json to skip build16:54:05 | 9ef536eBlaszyk: chore: replace demo/ with framework examples16:52:53 | 4dec1b5Blaszyk: feat: restore Radix UI Select for toolbar dropdowns2026-02-08
14:57:42 | aefc0c6Blaszyk: feat: add DocxInput type and renderAsync API for simpler usage13:58:45 | fb96a28Blaszyk: chore: bump version to 0.0.711:26:02 | b26ef5aBlaszyk: Fix floating image text wrapping for multiple images on same page10:49:24 | 9dedf5cBlaszyk: Fix table cell padding, backspace indent clearing, and floating image zone scoping2026-02-07
23:54:41 | f6063a0Blaszyk: Fix table styling, missing spaces, and floating image layout20:36:16 | 3a437d6Blaszyk: Fix list/table behavior and add floating table support2026-02-06
22:55:04 | ed044f5Blaszyk: Fix list behavior and improve table layout/borders20:02:22 | af3ed8cBlaszyk: feat: table row & outer-edge resize handles16:32:03 | a7e5403Blaszyk: fix:format23:56:38 | 6a25014Blaszyk: Feat/work on supporting all ooxml (#9)14:45:00 | de55374Blaszyk: Update README.md23:44:29 | 80184b7Blaszyk: docs: bake rounded corners into screenshot image (#8)23:36:10 | add1f71Blaszyk: docs: add editor screenshot and live demo link to README (#7)11:00:28 | 44ae932Blaszyk: fix: overlay highlights now track text positions while typing10:56:37 | a50a759Blaszyk: fix: eliminate template plugin highlight/annotation blinking10:39:26 | 7ae8228Blaszyk: docs: add plugin and extension system documentation19:07:45 | ee24f9bBlaszyk: Feat/extension + cleanup (#6)06:22:04 | d9fbfd6Blaszyk: feat: Refactor + simplify (#5)2026-02-05
22:38:18 | f1d41bbBlaszyk: fix: re-apply font metrics after word-wrap line breaks22:27:55 | aa7d6c0Blaszyk: fix: use font-metric line height, re-layout on font load, remove redundant line-height19:57:04 | e4ef0c4Blaszyk: fix: narrow toolbar selects and replace print preview with clean print window18:57:20 | 51b47b1Blaszyk: docs: rename Template to Docxtemplater in demo and READMEs18:51:55 | 3252695Blaszyk: Enhance README with logo and npm badges18:49:33 | 6938a0aBlaszyk: docs: rewrite README and add per-plugin docs18:14:07 | 60a58c1Blaszyk: fix: table insertion rendering and cell click selection18:00:45 | da0dd84Blaszyk: fix: caret blink on fresh load and auto-focus editor17:57:45 | 1bc91d3Blaszyk: fix: add performance monitoring and error catching to detect freezes17:48:53 | f4959ccBlaszyk: fix: remove console.log noise from font loading17:38:14 | fcc0cb6Blaszyk: fix: include Tailwind utilities in dist/styles.css for Next.js consumers17:26:14 | a60eb80Blaszyk: feat: React 19 compat, bundled icons, cursor nav, hydration fixes (v0.0.4)00:05:18 | dc42ff3Blaszyk: fix: Add missing type properties for TextRun and ImageRun (#4)2026-02-04
23:30:40 | 5368171Blaszyk: fix: allow native select to work in toolbar23:24:45 | abd3720Blaszyk: fix: replace Radix UI Select with native HTML select23:18:41 | 5009308Blaszyk: fix: remove ref forwarding from Select components to avoid React 19 issue23:15:32 | 31befdaBlaszyk: refactor: remove usePaginatedEditor flag and old ProseMirrorEditor22:45:17 | 30b3b95Blaszyk: feat: optimize bundle size and improve read-only mode22:20:33 | eea5eaeBlaszyk: Update annotaion plugin15:47:23 | da044dbBlaszyk: docs: update to standard docxtemplater {variable} syntax15:37:42 | cf972e1Blaszyk: fix: exclude e2e tests from bun test runner15:27:03 | cc93fd8Blaszyk: docs: Add load from backend example15:26:37 | 6a998cbBlaszyk: docs: Add clear save() and ref usage examples15:24:13 | 876de3fBlaszyk: docs: Add headless mode and component usage15:22:11 | 886055bBlaszyk: docs: Add usage examples to README15:17:02 | 80375ccBlaszyk: docs: Update README with branding15:15:24 | a385054Blaszyk: docs: Add README15:11:32 | 665ed1eBlaszyk: chore: Clean up documentation and remove archived files15:05:49 | 768be34Blaszyk: Clean up14:45:56 | 2512447Blaszyk: Apply fixes14:38:09 | 7e20700Blaszyk: fix: Preserve table border colors and widths when saving to DOCX14:15:52 | a05f80aBlaszyk: fix: Improve header/footer overflow handling with proper default distances14:12:57 | 64df8c3Blaszyk: fix: Add overflow:hidden to header element to prevent content overflow14:08:32 | ae9dc5cBlaszyk: fix: Add consistent spacing after multi-level list markers13:35:46 | 5964ad4Blaszyk: fix: Handle topAndBottom (block) images correctly in paragraph measurement13:34:09 | 0f2bc4dBlaszyk: fix: Improve floating image text wrapping with per-line offsets13:27:31 | b3dac53Blaszyk: fix: Implement per-line text wrapping around floating images13:14:17 | 65c1dcbBlaszyk: fix: Implement page-level floating image positioning with per-line text wrapping12:54:57 | 99618daBlaszyk: fix: Implement text wrapping around floating images12:52:01 | 590e218Blaszyk: fix: Use absolute positioning for floating images12:48:42 | 192c61fBlaszyk: fix: Properly preserve and render image wrap attributes12:15:43 | 373e03dBlaszyk: fix: Improve image rendering - inline and floating images12:11:14 | 1a03dc3Blaszyk: fix: Remove default border fallback for table cells11:57:00 | dfda520Blaszyk: fix: Change line overflow to visible to prevent text clipping11:56:10 | 578d991Blaszyk: fix: Improve paragraph and list rendering to match Word/WYSIWYG Editor2026-02-03
22:33:13 | 59c1663Blaszyk: fix: Ensure toolbar syncs with editor selection in paginated mode22:30:23 | 4e2da72Blaszyk: feat: Add nested table support in layout engine and renderer22:27:09 | 2e98978Blaszyk: feat: Add multi-level/nested list marker rendering support22:23:09 | c0c3dcdBlaszyk: fix: Add page break control attributes to ProseMirror paragraph node spec21:38:24 | 1410b43Blaszyk: fix: Table column widths and footer rendering19:32:12 | ad24cf0Blaszyk: fix: Improve paragraph border rendering19:30:43 | b24c9f2Blaszyk: feat: Add header/footer rendering support to PagedEditor19:27:48 | d8c89dbBlaszyk: feat: Implement image rendering in PagedEditor19:25:58 | 4e202adBlaszyk: feat: Implement table rendering in PagedEditor19:19:06 | ae16a38Blaszyk: feat: Implement Phase 7.2 - EditorInputManager class19:15:39 | 07d88d3Blaszyk: feat: Add DomPositionIndex for fast click-to-position mapping19:14:17 | dbb3a5aBlaszyk: feat: Add SelectionSyncCoordinator for epoch-based selection sync19:08:37 | 5a15608Blaszyk: feat: Tab calculator, border support, and cursor fixes16:37:28 | 585af91Blaszyk: fix: Correct font size conversion from points to pixels in layout engine16:03:04 | c15dbf4Blaszyk: feat: Implement DOM-based selection and drag selection for PagedEditor14:26:50 | 47b65a4Blaszyk: fix: Resolve paginated editor text reversal and positioning bugs13:48:36 | 6b41801Blaszyk: docs: Mark Plan 06 Paginated Editing as complete13:48:10 | 7c16091Blaszyk: feat: Implement Phase 9.3 - Integrate PagedEditor into DocxEditor13:40:38 | 80d8e56Blaszyk: feat: Implement Phase 9.2 - Performance Baseline13:24:22 | 40b35bcBlaszyk: feat: Implement Phase 9.1 - Integration Tests for Paginated Layout13:18:38 | 4957ceeBlaszyk: feat: Implement Phase 8.3 - Header/Footer Rendering13:15:47 | 503153bBlaszyk: feat: Implement Phase 8.2 - Margin Inflation for Headers/Footers13:13:27 | df5acb7Blaszyk: feat: Implement Phase 8.1 - Header/Footer Measurement13:10:34 | 3007d2bBlaszyk: feat: Implement Phase 7.3 - Keyboard Input Handling13:09:05 | 085da16Blaszyk: feat: Implement Phase 7.2 - PagedEditor Main Component13:04:48 | 4fc1ee9Blaszyk: feat: Implement Phase 7.1 - Hidden ProseMirror Component13:00:35 | 5ac78efBlaszyk: feat: Implement Phase 6 - Selection Overlay12:56:52 | 8483feeBlaszyk: feat: Implement Phase 5 - Click-to-Position Mapping12:49:56 | 4c7e51fBlaszyk: feat: Create DOM painter with paragraph rendering12:46:57 | b5452a1Blaszyk: feat: Create DOM page renderer12:44:31 | 0463cf6Blaszyk: feat: Add measurement cache12:42:56 | 0cd89ecBlaszyk: feat: Create paragraph line measurement12:18:53 | 5955612Blaszyk: feat: Create PM to FlowBlocks converter12:16:17 | f7e9f9dBlaszyk: feat: Handle keepNext/keepLines paragraph properties12:14:25 | a2564b6Blaszyk: feat: Handle section breaks12:13:02 | 71a9589Blaszyk: feat: Create layoutDocument function12:11:14 | 7db35ffBlaszyk: feat: Create basic paginator12:10:13 | 294fcfeBlaszyk: feat: Create layout engine types14:43:09 | 9dfb356Blaszyk: Update logo image source in README.md23:41:07 | 2f64391Blaszyk: Publish package (#3)11:52:24 | 02c45b8Blaszyk: docs: Add paginated editing architecture plan11:50:28 | e3fc9f9Blaszyk: feat: Add plugin-centric architecture with MCP server for AI editing07:32:57 | 098783dBlaszyk: Merge pull request #2 from eigenpal/docx-12026-02-02
23:35:04 | 1596a68Blaszyk: fix: Render all-caps and small-caps text formatting (w:caps, w:smallCaps)23:17:58 | 0eef7b3Blaszyk: Merge remote-tracking branch 'origin/main'23:16:14 | bf8a985Blaszyk: refactor: Simplify template plugin and fix section properties preservation21:53:44 | 9d2ae8bBlaszyk: fix: Parse template tags across text node boundaries21:51:14 | 9e69c4eBlaszyk: feat: Fix image layout and improve print functionality21:43:56 | bca21ddBlaszyk: feat: Add ResizeObserver to update annotations on zoom21:42:57 | 10e5f86Blaszyk: fix: Add spaces to LOOP / IF label21:42:01 | 265fd2dBlaszyk: fix: Lower annotation z-index and add LOOP/IF labels21:40:44 | 6d6281aBlaszyk: fix: Adjust annotation card spacing values21:40:10 | 34a3854Blaszyk: fix: Reduce spacing between annotation cards21:38:52 | ea22bdeBlaszyk: feat: Improve template annotation UX and scroll behavior21:31:53 | 452a235Blaszyk: feat: Group nested template elements and improve positioning21:27:18 | c0acaa9Blaszyk: fix: Improve template annotation alignment and add scope indicators21:22:36 | 29599faBlaszyk: feat: Minimalist template annotations - remove header, position closer to doc21:14:13 | 680e283Blaszyk: fix: Position template annotations as floating overlay next to document21:11:21 | dacfb86Blaszyk: feat: Template annotations appear next to document (Google Docs style)20:58:50 | 71a2ba6Blaszyk: feat: Add /docxtemplater demo route for template plugin20:54:11 | db793c1Blaszyk: feat: Add generic plugin system and docxtemplater template plugin20:19:57 | a68b355Blaszyk: feat: Compute hierarchical list markers (1.1.1., 1.1.2., etc.)20:12:00 | 86d3141Blaszyk: feat: Add per-side cell border colors support20:08:24 | 185b9cbBlaszyk: feat: Improve table rendering and multi-level list support19:57:46 | 4dd7855Blaszyk: feat: Add demo.docx feature support and E2E tests19:19:17 | 5e90041Blaszyk: Progress19:18:54 | 3449c17Blaszyk: feat: Add hyperlink support with Cmd+K shortcut and toolbar button19:04:07 | a8d3c79Blaszyk: fix: Restore selection when applying font/style from toolbar dropdowns18:42:30 | 5f0ab56Blaszyk: fix: Style formatting applies to newly typed text18:40:42 | ee6c8d0Blaszyk: feat: Style picker shows visual preview like Google Docs18:38:57 | 7faf023Blaszyk: feat: Add default paragraph styles matching Google Docs18:35:54 | 27bb1b1Blaszyk: fix: Apply heading style text formatting (fontSize, bold, color)16:18:01 | 8ecfa59Blaszyk: refactor: Use Tailwind CSS for sticky toolbar and ruler16:17:26 | 4925cd9Blaszyk: feat: Dynamic page margins and sticky toolbar16:15:10 | f0b471aBlaszyk: fix: Preserve text selection when using toolbar dropdowns16:09:06 | d9ec61aBlaszyk: fix: Keep cursor blinking after toolbar interactions16:06:35 | 06a38ddBlaszyk: feat: Formatting persistence, cursor focus, and line height improvements15:17:37 | c6db168Blaszyk: fix: Font size now properly converts points to half-points15:05:54 | 7b4758aBlaszyk: fix: loadFontsWithMapping now properly creates font aliases15:02:50 | 90ca6fcBlaszyk: fix: Properly create font aliases by fetching Google Fonts CSS15:01:00 | faa319eBlaszyk: fix: Create CSS font aliases for mapped fonts15:00:20 | bca1eb4Blaszyk: feat: Auto-load document fonts from Google Fonts14:56:58 | f072c26Blaszyk: fix: Tab key inserts tabs and toolbar shows font/formatting14:47:06 | 0647c9dBlaszyk: fix: Tab support and hanging indent rendering14:36:03 | f87d9c3Blaszyk: feat: Add paragraph borders and shading support14:32:03 | e041117Blaszyk: docs: Update CLAUDE.md with ProseMirror architecture14:30:14 | 347b219Blaszyk: chore: Mark Tasks 13-15 complete (toolbar verification)14:29:01 | f283e22Blaszyk: feat: Connect superscript/subscript to toolbar14:27:58 | a3bd745Blaszyk: feat: Enhance tab CSS styling14:26:54 | bd2ac68Blaszyk: feat: Create tab calculation utility14:24:27 | a4b1909Blaszyk: feat: Add basic table editing with Tab navigation14:22:31 | 93af4d3Blaszyk: feat: Add table CSS styling14:21:44 | 0e0a5e4Blaszyk: feat: Convert tables back in fromProseDoc14:18:20 | b868d3fBlaszyk: feat: Convert DOCX tables to ProseMirror14:16:47 | 96b0472Blaszyk: feat: Add table nodes to ProseMirror schema14:15:29 | 37ad257Blaszyk: feat: Sync style picker with current paragraph styleId14:14:36 | 2e0d722Blaszyk: feat: Apply resolved style properties when changing paragraph style14:13:31 | a56b9aaBlaszyk: feat: Apply paragraph styles when rendering in ProseMirror14:11:16 | c8dccccBlaszyk: feat: Create style resolver utility for ProseMirror editor14:01:29 | 6cb499bBlaszyk: feat: Add lineSpacing and applyStyle handlers to toolbar13:54:19 | b8f7855Blaszyk: fix: Prevent line-height: 0 from squashing paragraphs13:43:14 | ea7ca28Blaszyk: fix: Fix text rendering issues in ProseMirror editor13:13:07 | 538426bBlaszyk: fix: Port E2E tests to ProseMirror editor12:13:57 | 8c98f00Blaszyk: feat: Add ProseMirror infrastructure for editor migration11:52:40 | f7334ecBlaszyk: fix: Selection, clipboard, and cross-paragraph operations09:32:01 | d286b40Blaszyk: fix: Support Ctrl+A selection and multi-paragraph formatting09:12:58 | 8d30caaBlaszyk: fix: Verify indent with cursor only works09:12:20 | 0113c73Blaszyk: fix: Verify bullet list with cursor only works09:11:47 | a39460fBlaszyk: fix: Verify alignment with cursor only works09:10:21 | b0b85ffBlaszyk: fix: Support cursor-only paragraph operations (lists, alignment, indent)09:04:13 | 4ac206fBlaszyk: refactor: Simplify Ralph plan management09:01:44 | 2943868Blaszyk: feat: Stream Ralph output in real-time with tee08:59:41 | 9f2b4b5Blaszyk: feat: Add cursor-only paragraph tests and update Ralph loop08:43:12 | 658c864Blaszyk: Update referenecs08:27:55 | de03a2dBlaszyk: chore: Add WYSIWYG fidelity bugs to plan08:23:10 | 6c44a58Blaszyk: chore: Optimize Ralph loop for faster iteration00:05:14 | d226ca3Blaszyk: feat: Fix Enter key to create new paragraphs02:04:35 | aa28afbBlaszyk: Merge pull request #1 from eigenpal/fix-editor2026-02-01
23:35:03 | 9f08c37Blaszyk: feat: Verify table tests - all 13 tests are skipped (test.skip) pending implementation23:34:40 | 5f7124fBlaszyk: feat: Verify undo/redo - 18/46 undo tests pass, basic functionality works23:32:43 | 01ee0b9Blaszyk: feat: Verify alignment and paragraph styles - 22/29 alignment tests and 24/32 style tests pass23:31:41 | f250c6fBlaszyk: feat: Verify colors and fonts - 23/31 color tests pass, font tests pass23:30:55 | 7411a7eBlaszyk: feat: Verify list functionality - basic list creation/toggle works, multi-item tests need Enter key support23:29:13 | 9b2dd6dBlaszyk: feat: Verify superscript/subscript - no tests exist for these features23:28:45 | c09c219Blaszyk: feat: Verify strikethrough formatting application - all 2 tests pass23:28:26 | ff1275dBlaszyk: feat: Verify underline formatting application - all 4 tests pass23:27:15 | 502dc92Blaszyk: feat: Fix combined formatting by restoring selection after DOM updates23:12:55 | 6a5f0f7Blaszyk: feat: Fix bold formatting by handling Element node selections22:55:01 | 2adfb77Blaszyk: feat: Fix style picker selector in e2e tests22:52:12 | 2be3336Blaszyk: docs: Fix line spacing picker selector in e2e tests22:46:29 | ef29f49Blaszyk: docs: Verify highlight color picker selector matches tests22:43:50 | a9d5192Blaszyk: feat: Fix text color picker selector in e2e tests22:40:55 | 1ddaa49Blaszyk: feat: Fix font size picker selector in e2e tests22:36:11 | 226b2a8Blaszyk: feat: Fix font picker selector in e2e tests22:34:03 | 2e31ae8Blaszyk: docs: Verify clear formatting button selector matches tests22:31:47 | 3d0c090Blaszyk: docs: Add activity log entry for strikethrough selector verification22:31:07 | 67bceddBlaszyk: feat: Verify strikethrough button selector matches tests22:30:06 | 55f37a7Blaszyk: feat: Fix indent button selectors in e2e tests22:27:47 | 669246eBlaszyk: feat: Fix list button selectors in e2e tests22:25:16 | 2d65afeBlaszyk: feat: Fix alignment button selectors in e2e tests22:22:37 | 6e7af6fBlaszyk: feat: Fix backwards text rendering22:14:07 | 1695ea3Blaszyk: Cleanup22:12:14 | 347dfebBlaszyk: chore: Remove playwright-report from git and add to .gitignore22:11:01 | 77b6983Blaszyk: chore: Add Ralph plan for test infrastructure fixes22:10:00 | ce637a9Blaszyk: fix: Prevent Material Symbols font flash on load22:06:51 | 2876545Blaszyk: feat: Migrate toolbar to Radix UI and add Vercel deployment21:41:23 | 85d0ce5Blaszyk: feat: Add comprehensive Playwright test suite (554 tests)21:34:11 | 35a6643Blaszyk: Merge remote changes from origin/main21:30:41 | 69a68a9Blaszyk: feat: Replace toolbar icons with Google Material Symbols21:02:40 | 6f43dcfBlaszyk: feat: Start with empty document instead of requiring upload20:56:48 | 42063bbBlaszyk: fix: Resolve ESLint warnings20:51:12 | 17e659aBlaszyk: chore: Add pre-commit hooks and fix all TypeScript errors19:54:34 | 811b0cdBlaszyk: feat: US-174 Improve responsive toolbar with overflow menu19:52:34 | 0bd82dbBlaszyk: feat: US-173 Add zoom via Ctrl+scroll19:50:47 | c4b1b49Blaszyk: feat: US-172 Add keyboard shortcut help dialog19:48:39 | 74b538dBlaszyk: feat: US-171 Add loading states for operations19:46:52 | a492ca7Blaszyk: feat: US-170 Add text context menu for cut/copy/paste19:45:05 | 9710baaBlaszyk: feat: US-163 Add auto-save functionality to localStorage19:43:19 | de62245Blaszyk: feat: US-162 Add unsaved changes indicator19:41:25 | 7afd814Blaszyk: feat: US-161 Add paste special options with plain text paste19:38:58 | 5a77621Blaszyk: feat: US-160 Implement proper copy/paste with formatting preservation19:32:50 | 521879cBlaszyk: feat: US-154 Improve keyboard navigation19:29:09 | 6f39a04Blaszyk: feat: US-153 Wire Find & Replace dialog19:25:34 | 9958e8fBlaszyk: feat: US-152 Add paragraph-level triple-click selection19:22:22 | df954f0Blaszyk: feat: US-151 Add word-level double-click selection19:19:30 | 746565fBlaszyk: feat: US-150 Improve text selection highlighting across runs19:15:43 | c4e3abdBlaszyk: feat: US-145 Add Insert Special Characters19:13:17 | 38686cfBlaszyk: feat: US-144 Add Insert Horizontal Rule19:12:27 | b66a467Blaszyk: feat: US-143 Add Insert Page Break19:10:37 | 0c21983Blaszyk: feat: US-142 Add Insert Hyperlink dialog19:09:05 | 81795b7Blaszyk: feat: US-141 Add Insert Image functionality19:06:28 | 554d241Blaszyk: feat: US-140 Add Insert Table dialog19:04:13 | 21ed773Blaszyk: feat: US-136 Add cell background color UI19:01:06 | 7684f66Blaszyk: feat: US-135 Add table border styling UI18:59:12 | 8fdb828Blaszyk: feat: US-134 Wire cell merge functionality18:58:30 | 9018af7Blaszyk: feat: US-133 Wire table column deletion18:57:48 | e7af5d1Blaszyk: feat: US-132 Wire table row deletion18:56:57 | 2371ef7Blaszyk: feat: US-131 Wire table column insertion18:56:05 | b780f66Blaszyk: feat: US-130 Wire table row insertion18:53:45 | fd744a6Blaszyk: feat: US-127 Add print preview/export18:50:01 | f5c6052Blaszyk: feat: US-126 Add horizontal ruler with margin markers18:46:55 | 9fe8087Blaszyk: feat: US-125 Implement scroll-to-page navigation18:42:58 | e9745b5Blaszyk: feat: US-124 Add page number display18:38:05 | 4c726a2Blaszyk: feat: US-123 Implement footers rendering18:35:47 | 1f6eccaBlaszyk: feat: US-122 Implement headers rendering18:31:50 | 610c1bbBlaszyk: feat: US-121 Add page margins visualization18:25:43 | 7c5d743Blaszyk: feat: US-120 Implement page break rendering18:22:17 | e030644Blaszyk: feat: US-119 Connect Style picker to toolbar18:18:38 | 4a3037bBlaszyk: feat: US-118 Add Line Spacing dropdown to toolbar18:14:34 | c85fb73Blaszyk: feat: US-117 Add Indent/Outdent buttons to toolbar18:11:22 | 49a3422Blaszyk: feat: US-116 Add Numbered List button to toolbar18:09:35 | 90dcf10Blaszyk: feat: US-115 Add Bullet List button to toolbar18:06:05 | ca82845Blaszyk: feat: US-114 Add Text Alignment buttons to toolbar18:02:44 | 07732bfBlaszyk: feat: US-113 Add Highlight Color picker to toolbar18:00:47 | 25a4ad6Blaszyk: feat: US-112 Add Text Color picker to toolbar17:58:46 | 762cb08Blaszyk: feat: US-111 Add Font Size picker to toolbar17:56:35 | a278b5fBlaszyk: feat: US-110 Add Font Family picker to toolbar17:53:08 | 828bd4dBlaszyk: feat: US-104 Connect undo/redo history to Editor state17:49:19 | 6735e13Blaszyk: feat: US-103 Connect TableToolbar to table selection17:43:37 | 0a41c19Blaszyk: feat: US-102 Fix text run fragmentation via run consolidation17:40:06 | 5723b8fBlaszyk: feat: US-101 Add visible cursor/caret styling17:37:05 | dadabc5Blaszyk: feat: US-100 Fix Toolbar props mismatch in DocxEditor17:05:44 | b2ca8f0Blaszyk: chore: improve visual test error filtering for non-critical resource errors17:04:12 | 2698e1cBlaszyk: plan more features16:45:18 | e140f29Blaszyk: chore: configure Playwright screenshots output to screenshots/16:42:55 | 1d3f7deBlaszyk: fix: table shading resolution - prioritize clear/nil pattern14:19:43 | 9875daaBlaszyk: feat: US-91 Complete demo page with DocxEditor14:18:08 | 6f93673Blaszyk: feat: US-90 Public API exports in src/index.ts14:16:38 | 20c4195Blaszyk: feat: US-89 Events and callbacks verification14:15:43 | 1a33046Blaszyk: feat: US-88 Main DocxEditor component14:13:41 | 5e5e476Blaszyk: feat: US-87 Accessibility verification14:12:10 | 8cbd21dBlaszyk: feat: US-86 Error handling with ErrorBoundary component14:10:05 | 5eb697dBlaszyk: feat: US-85 Loading states verification14:08:04 | 09b2e4dBlaszyk: feat: Mark US-82, US-83, US-84 as verified and add progress entries14:03:38 | a012a80Blaszyk: feat: US-81 Context menu component for AI actions14:02:46 | 4645e1dBlaszyk: feat: US-80 Agent context builder for LLM consumption14:01:31 | e23a3e2Blaszyk: feat: US-79 DocumentAgent class verification13:57:06 | 4991c69Blaszyk: feat: US-84 Context menu integration for full AI flow13:55:42 | dc50878Blaszyk: feat: US-83 Response preview component for AI changes13:54:16 | 0c0d128Blaszyk: feat: US-82 Selection context builder for AI operations13:52:46 | e16b0e3Blaszyk: feat: US-81 Context menu component for AI actions13:51:26 | 946e082Blaszyk: feat: US-80 Agent context builder for LLM consumption13:49:55 | 9941242Blaszyk: feat: US-79 DocumentAgent class for high-level document manipulation13:47:14 | acb87f7Blaszyk: feat: US-78 Command executor for agent API13:43:22 | 53b5196Blaszyk: feat: US-77 Agent API types for document manipulation13:41:56 | ced145cBlaszyk: feat: US-76 docxtemplater integration for template processing13:40:27 | 218b236Blaszyk: feat: US-75 Variable panel component13:38:45 | 12a17dcBlaszyk: feat: US-74 Variable detector utility13:37:18 | 63e20edBlaszyk: feat: US-73 Variable insertion UI component13:35:15 | b6ae32bBlaszyk: feat: US-72 Image editing component with resize handles13:33:06 | 81e505dBlaszyk: feat: US-71 Table editing toolbar13:31:45 | 31a531cBlaszyk: feat: US-71 Table editing toolbar13:29:18 | cae2775Blaszyk: feat: US-70 Zoom control component13:26:07 | d7b4209Blaszyk: feat: US-69 Find and Replace dialog13:23:03 | f99b5c8Blaszyk: feat: US-68 Insert hyperlink dialog13:20:11 | 64e8c15Blaszyk: feat: US-67 Style picker component13:17:20 | a7861edBlaszyk: feat: US-66 List buttons component13:15:50 | b17b541Blaszyk: feat: US-65 Alignment buttons component13:13:43 | a255480Blaszyk: chore: Mark US-64 ColorPicker as complete in plan.md13:12:12 | 26417a7Blaszyk: feat: US-64 Color picker component13:09:54 | dd9616dBlaszyk: feat: US-63 Font size picker component13:07:06 | 17b447fBlaszyk: feat: US-62 Font picker component13:04:21 | 124be93Blaszyk: feat: US-61 Formatting toolbar with buttons and keyboard shortcuts13:01:09 | f5f9093Blaszyk: feat: US-60 Copy/paste with formatting preservation12:59:31 | 1218bfdBlaszyk: feat: US-59 Undo/redo system with history stack12:58:18 | 0757cc6Blaszyk: feat: US-58 Full editor component with state management12:56:42 | 8f7e140Blaszyk: feat: US-57 Editable paragraph component for text editing12:54:33 | 176f93eBlaszyk: feat: US-56 Editable run component for contentEditable text editing12:53:18 | 7ab36dbBlaszyk: feat: US-56 Editable run component for contentEditable text editing12:50:33 | 1ee6c1aBlaszyk: feat: US-55 Selection manager hook for tracking DOM selection12:46:57 | 1ec06c1Blaszyk: feat: US-54 DOCX repacker for complete document round-trip12:43:48 | 41e0fd0Blaszyk: feat: US-53 Document serializer for complete document.xml12:40:42 | 46ada73Blaszyk: feat: US-52 Table serializer for OOXML output12:37:55 | ab1c3c8Blaszyk: feat: US-51 Paragraph serializer for OOXML output12:35:09 | ed98014Blaszyk: feat: US-50 Run serializer for OOXML output12:31:09 | 998fa8aBlaszyk: feat: US-49 DocumentViewer component for full paginated document view12:30:00 | ca88fe5Blaszyk: feat: US-48 FootnoteArea component for rendering footnotes at page bottom12:28:56 | d62559aBlaszyk: feat: US-47 Page component for rendering single pages12:27:38 | ab36e40Blaszyk: feat: US-46 Column layout for multi-column sections12:26:25 | a5f9dd8Blaszyk: feat: US-45 Page layout engine for content distribution across pages12:24:50 | f023019Blaszyk: feat: US-44 Line breaker for paragraph text wrapping12:23:06 | 6108fd5Blaszyk: feat: US-43 HeaderFooter component for rendering headers and footers12:21:40 | f49fe7cBlaszyk: feat: US-42 FootnoteRef component for footnote/endnote markers12:20:13 | 2968a87Blaszyk: feat: US-41 DocTable component for rendering tables with full styling12:16:44 | 5d78100Blaszyk: feat: US-40 ListItem component with full marker support12:13:13 | 579e28fBlaszyk: feat: US-39 Paragraph component with full styling and content rendering12:10:25 | c023b91Blaszyk: feat: US-38 TextBox component with positioning and styling12:09:25 | 51e4327Blaszyk: feat: US-37 Shape component with SVG rendering12:07:57 | d7495cfBlaszyk: feat: US-36 DocImage component with wrapping and transformations12:06:44 | ba4303fBlaszyk: feat: US-35 Field component with dynamic content display12:05:11 | 477482dBlaszyk: feat: US-34 Hyperlink component with external and internal link support12:03:52 | 2c67536Blaszyk: feat: US-33 Tab component with leader characters12:01:27 | 8ef7840Blaszyk: feat: US-32 Run component with all formatting11:58:42 | bd67d75Blaszyk: feat: US-31 Formatting to CSS converter11:55:42 | f749fb8Blaszyk: feat: US-30 Canvas-based text measurement11:53:24 | 397cc09Blaszyk: feat: US-29 Color resolver with theme colors and tint/shade support11:50:00 | ff04858Blaszyk: feat: US-28 Unit conversion utilities11:47:59 | c1af048Blaszyk: docs: Mark US-25, US-26, US-27 as complete11:44:58 | 6a53157Blaszyk: feat: US-27 Main parser orchestrator with full DOCX parsing11:42:49 | a82ba10Blaszyk: feat: US-26 Document body parser with section and variable detection11:40:21 | ba6b135Blaszyk: feat: US-25 Section properties parser with full OOXML structure11:37:22 | 490bc6dBlaszyk: feat: US-24 Header/Footer parser with full content support11:34:35 | 445a06fBlaszyk: feat: US-23 Footnote/Endnote parser with full content support11:31:38 | 963293cBlaszyk: feat: US-22 Text box parser with full OOXML structure11:28:24 | fceca3dBlaszyk: feat: US-21 Shape parser with full OOXML structure11:22:19 | 53910eeBlaszyk: feat: US-20 Image parser with full OOXML structure11:17:45 | c6a60c8Blaszyk: feat: US-19 Table parser with full OOXML structure11:15:11 | 2634134Blaszyk: feat: US-18 Field parser with full instruction parsing11:12:51 | 6bca517Blaszyk: chore: mark US-17 Bookmark parser as complete in plan.md11:12:00 | b0ccf76Blaszyk: feat: US-17 Bookmark parser with map and utilities11:09:41 | cb17db3Blaszyk: feat: US-16 Hyperlink parser with URL resolution via relationships11:06:22 | 69ee108Blaszyk: feat: US-15 Tab stop parser with full alignment and leader support11:03:27 | 6045bf9Blaszyk: feat: US-14 Paragraph parser with full formatting10:58:47 | b3866c0Blaszyk: feat: US-13 Run parser with full text formatting10:55:43 | c6cd94fBlaszyk: feat: US-12 Numbering/List parser for DOCX10:51:19 | 96368fdBlaszyk: feat: US-11 Style parser with full inheritance resolution10:45:56 | 2183f82Blaszyk: feat: US-10 Theme parser for DOCX color and font schemes10:37:18 | e697269Blaszyk: feat: US-07 XML parser utilities for OOXML10:35:43 | 6903f06Blaszyk: feat: US-06 Font extraction from DOCX documents10:34:33 | 7925566Blaszyk: feat: US-05 Font family resolver with DOCX to Google Fonts mapping10:33:06 | 5c25e7fBlaszyk: feat: US-04 Google Fonts loader with dynamic font loading10:29:56 | e30d280Blaszyk: feat: US-03 Comprehensive document types for DOCX representation10:19:26 | a326fb0Blaszyk: feat: US-01 Project scaffold (fresh start)10:14:08 | bb62541Blaszyk: feat: US-03 Comprehensive document types for DOCX representation10:04:49 | 6084c25Blaszyk: feat: US-02 DOCX exploration utility09:07:05 | 2db2ef9Blaszyk: feat: US-03 WYSIWYG Editor viewer with WYSIWYG rendering09:05:26 | 61c2717Blaszyk: feat: US-02 DOCX file loader with ArrayBuffer support09:04:05 | 26ba8d1Blaszyk: feat: US-01 Project scaffold with WYSIWYG Editor, docxtemplater, pizzip07:43:07 | dfd635eBlaszyk: feat: set up test infrastructure with fixtures
Code Pages:
- .changeset/README.md
- .changeset/config.json
- .claude/commands/opsx/apply.md
- .claude/commands/opsx/archive.md
- .claude/commands/opsx/explore.md
- .claude/commands/opsx/propose.md
- .claude/scheduled_tasks.lock
- .claude/skills/openspec-apply-change/SKILL.md
- .claude/skills/openspec-archive-change/SKILL.md
- .claude/skills/openspec-explore/SKILL.md
- .claude/skills/openspec-propose/SKILL.md
- .github/ISSUE_TEMPLATE/bug_report.md
- .github/ISSUE_TEMPLATE/feature_request.md
- .github/assets/editor.png
- .github/assets/header.png
- .github/assets/logo.png
- .github/cla/cla.sh
- .github/cla/cla.test.sh
- .github/dependabot.yml
- .github/prompts/opsx-apply.prompt.md
- .github/prompts/opsx-archive.prompt.md
- .github/prompts/opsx-explore.prompt.md
- .github/prompts/opsx-propose.prompt.md
- .github/skills/openspec-apply-change/SKILL.md
- .github/skills/openspec-archive-change/SKILL.md
- .github/skills/openspec-explore/SKILL.md
- .github/skills/openspec-propose/SKILL.md
- .github/workflows/ci.yml
- .github/workflows/cla.yml
- .github/workflows/dependabot-lockfile.yml
- .github/workflows/release.yml
- .gitignore
- .husky/pre-commit
- .lintstagedrc
- .npmrc
- .prettierignore
- .prettierrc
- CLA.md
- CLAUDE.md
- CONTRIBUTING.md
- LICENSE
- README.md
- bun.lock
- bunfig.toml
- context7.json
- docs/ARCHITECTURE.md
- docs/CONTENT-CONTROLS.md
- docs/PLUGINS.md
- docs/PROPS.md
- docs/RELEASING.md
- docs/TOOLBAR.md
- docs/agents.md
- docs/api/docx-editor-agents/ai-sdk-react.api.md
- docs/api/docx-editor-agents/ai-sdk-server.api.md
- docs/api/docx-editor-agents/ai-sdk-vue.api.md
- docs/api/docx-editor-agents/bridge.api.md
- docs/api/docx-editor-agents/index.api.md
- docs/api/docx-editor-agents/mcp.api.md
- docs/api/docx-editor-agents/react.api.md
- docs/api/docx-editor-agents/server.api.md
- docs/api/docx-editor-agents/vue.api.md
- docs/api/docx-editor-core/agent.api.md
- docs/api/docx-editor-core/core-plugins.api.md
- docs/api/docx-editor-core/docx-parser.api.md
- docs/api/docx-editor-core/docx-rezip.api.md
- docs/api/docx-editor-core/docx-serializer.api.md
- docs/api/docx-editor-core/docx-wrapTypes.api.md
- docs/api/docx-editor-core/docx.api.md
- docs/api/docx-editor-core/editor.api.md
- docs/api/docx-editor-core/headless.api.md
- docs/api/docx-editor-core/index.api.md
- docs/api/docx-editor-core/layout-bridge-clickToPositionDom.api.md
- docs/api/docx-editor-core/layout-bridge-measuring.api.md
- docs/api/docx-editor-core/layout-bridge-tableInsertHover.api.md
- docs/api/docx-editor-core/layout-bridge-toFlowBlocks.api.md
- docs/api/docx-editor-core/layout-bridge.api.md
- docs/api/docx-editor-core/layout-engine-types.api.md
- docs/api/docx-editor-core/layout-engine.api.md
- docs/api/docx-editor-core/layout-painter-renderPage.api.md
- docs/api/docx-editor-core/layout-painter.api.md
- docs/api/docx-editor-core/managers-AutoSaveManager.api.md
- docs/api/docx-editor-core/managers-TableSelectionManager.api.md
- docs/api/docx-editor-core/managers-types.api.md
- docs/api/docx-editor-core/mcp.api.md
- docs/api/docx-editor-core/plugin-api-RenderedDomContext.api.md
- docs/api/docx-editor-core/plugin-api-resolveItemPositions.api.md
- docs/api/docx-editor-core/plugin-api-types.api.md
- docs/api/docx-editor-core/plugin-api.api.md
- docs/api/docx-editor-core/prosemirror-applyFormatting.api.md
- docs/api/docx-editor-core/prosemirror-cellDragSelection.api.md
- docs/api/docx-editor-core/prosemirror-commands-formatting.api.md
- docs/api/docx-editor-core/prosemirror-commands-pageBreak.api.md
- docs/api/docx-editor-core/prosemirror-commands-paragraph.api.md
- docs/api/docx-editor-core/prosemirror-commands-sectionBreak.api.md
- docs/api/docx-editor-core/prosemirror-commands.api.md
- docs/api/docx-editor-core/prosemirror-commentIdAllocator.api.md
- docs/api/docx-editor-core/prosemirror-commentOps.api.md
- docs/api/docx-editor-core/prosemirror-conversion-fromProseDoc.api.md
- docs/api/docx-editor-core/prosemirror-conversion.api.md
- docs/api/docx-editor-core/prosemirror-extensions-nodes-TableExtension.api.md
- docs/api/docx-editor-core/prosemirror-extensions.api.md
- docs/api/docx-editor-core/prosemirror-imageCommit.api.md
- docs/api/docx-editor-core/prosemirror-paraText.api.md
- docs/api/docx-editor-core/prosemirror-plugins-selectionTracker.api.md
- docs/api/docx-editor-core/prosemirror-plugins.api.md
- docs/api/docx-editor-core/prosemirror-queries.api.md
- docs/api/docx-editor-core/prosemirror-schema.api.md
- docs/api/docx-editor-core/prosemirror-styles.api.md
- docs/api/docx-editor-core/prosemirror-tableResize.api.md
- docs/api/docx-editor-core/prosemirror-template-prosemirror-plugin.api.md
- docs/api/docx-editor-core/prosemirror-utils-ClickPositionResolver.api.md
- docs/api/docx-editor-core/prosemirror-utils-LayoutSelectionGate.api.md
- docs/api/docx-editor-core/prosemirror-utils-PointerEventHandler.api.md
- docs/api/docx-editor-core/prosemirror-utils-extractTrackedChanges.api.md
- docs/api/docx-editor-core/prosemirror-utils-visualLineNavigation.api.md
- docs/api/docx-editor-core/prosemirror.api.md
- docs/api/docx-editor-core/types-agentApi.api.md
- docs/api/docx-editor-core/types-content.api.md
- docs/api/docx-editor-core/types-document.api.md
- docs/api/docx-editor-core/utils-autoScroll.api.md
- docs/api/docx-editor-core/utils-cardStyles.api.md
- docs/api/docx-editor-core/utils-comments.api.md
- docs/api/docx-editor-core/utils-findReplace.api.md
- docs/api/docx-editor-core/utils-findVerticalScrollParent.api.md
- docs/api/docx-editor-core/utils-fontOptions.api.md
- docs/api/docx-editor-core/utils-headingCollector.api.md
- docs/api/docx-editor-core/utils-highlightColors.api.md
- docs/api/docx-editor-core/utils-listState.api.md
- docs/api/docx-editor-core/utils-reportIssue.api.md
- docs/api/docx-editor-core/utils-sidebarConstants.api.md
- docs/api/docx-editor-core/utils-stylePreview.api.md
- docs/api/docx-editor-core/utils-textSelection.api.md
- docs/api/docx-editor-core/utils-units.api.md
- docs/api/docx-editor-core/utils.api.md
- docs/api/docx-editor-i18n/de.api.md
- docs/api/docx-editor-i18n/en.api.md
- docs/api/docx-editor-i18n/fr.api.md
- docs/api/docx-editor-i18n/he.api.md
- docs/api/docx-editor-i18n/hi.api.md
- docs/api/docx-editor-i18n/index.api.md
- docs/api/docx-editor-i18n/pl.api.md
- docs/api/docx-editor-i18n/pt-BR.api.md
- docs/api/docx-editor-i18n/tr.api.md
- docs/api/docx-editor-i18n/zh-CN.api.md
- docs/api/docx-editor-react/dialogs.api.md
- docs/api/docx-editor-react/hooks.api.md
- docs/api/docx-editor-react/index.api.md
- docs/api/docx-editor-react/plugin-api.api.md
- docs/api/docx-editor-react/styles.api.md
- docs/api/docx-editor-react/ui.api.md
- docs/api/docx-editor-vue/composables.api.md
- docs/api/docx-editor-vue/dialogs.api.md
- docs/api/docx-editor-vue/index.api.md
- docs/api/docx-editor-vue/plugin-api.api.md
- docs/api/docx-editor-vue/styles.api.md
- docs/api/docx-editor-vue/ui.api.md
- docs/i18n.md
- docs/plugins/core-plugins.md
- docs/plugins/editor-plugins.md
- docs/plugins/examples.md
- docs/plugins/getting-started.md
- docs/site/README.md
- docs/site/content/agents/ai-editing.mdx
- docs/site/content/agents/bring-your-own.mdx
- docs/site/content/agents/docx-reviewer.mdx
- docs/site/content/agents/index.mdx
- docs/site/content/agents/live-editor.mdx
- docs/site/content/agents/mcp.mdx
- docs/site/content/agents/meta.json
- docs/site/content/agents/redlining.mdx
- docs/site/content/agents/tools.mdx
- docs/site/content/agents/word-js-api.mdx
- docs/site/content/core/architecture.mdx
- docs/site/content/core/headless.mdx
- docs/site/content/core/index.mdx
- docs/site/content/core/meta.json
- docs/site/content/examples.mdx
- docs/site/content/frameworks/astro.mdx
- docs/site/content/frameworks/meta.json
- docs/site/content/frameworks/nextjs.mdx
- docs/site/content/frameworks/nuxt.mdx
- docs/site/content/frameworks/remix.mdx
- docs/site/content/frameworks/vite.mdx
- docs/site/content/guides/comments.mdx
- docs/site/content/guides/content-controls.mdx
- docs/site/content/guides/dark-mode.mdx
- docs/site/content/guides/headers-footers.mdx
- docs/site/content/guides/headless-processing.mdx
- docs/site/content/guides/loading-and-saving.mdx
- docs/site/content/guides/meta.json
- docs/site/content/guides/toolbar.mdx
- docs/site/content/guides/tracked-changes.mdx
- docs/site/content/i18n/contributing.mdx
- docs/site/content/i18n/index.mdx
- docs/site/content/i18n/meta.json
- docs/site/content/index.mdx
- docs/site/content/installation.mdx
- docs/site/content/meta.json
- docs/site/content/migration.mdx
- docs/site/content/plugins/core-plugins.mdx
- docs/site/content/plugins/editor-plugins.mdx
- docs/site/content/plugins/examples.mdx
- docs/site/content/plugins/getting-started.mdx
- docs/site/content/plugins/index.mdx
- docs/site/content/plugins/meta.json
- docs/site/content/quickstart-ai.mdx
- docs/site/content/quickstart.mdx
- docs/site/content/react/examples.mdx
- docs/site/content/react/index.mdx
- docs/site/content/react/meta.json
- docs/site/content/react/props.mdx
- docs/site/content/realtime-collaboration.mdx
- docs/site/content/vue/examples.mdx
- docs/site/content/vue/index.mdx
- docs/site/content/vue/meta.json
- docs/site/content/vue/nuxt.mdx
- docs/site/content/vue/props.mdx
- docs/site/content/word-fidelity.mdx
- docs/site/data/word-features.ts
- e2e/agentic/scenario-runner.ts
- e2e/agentic/scenario-types.ts
- e2e/editor.spec.ts
- e2e/fixtures/EP_ZMVZ_MULTI_v4.docx
- e2e/fixtures/Form025U.docx
- e2e/fixtures/README.md
- e2e/fixtures/alternatecontent-textbox.docx
- e2e/fixtures/block-sdt-comprehensive.docx
- e2e/fixtures/block-sdt-repeating.docx
- e2e/fixtures/block-sdt-showcase.docx
- e2e/fixtures/block-sdt-widgets.docx
- e2e/fixtures/border-overlay-layout-demo.docx
- e2e/fixtures/complex-styles.docx
- e2e/fixtures/demo.docx
- e2e/fixtures/demo/demo.docx
- e2e/fixtures/demo/demo_1.jpg
- e2e/fixtures/demo/demo_10.jpg
- e2e/fixtures/demo/demo_2.jpg
- e2e/fixtures/demo/demo_3.jpg
- e2e/fixtures/demo/demo_4.jpg
- e2e/fixtures/demo/demo_5.jpg
- e2e/fixtures/demo/demo_6.jpg
- e2e/fixtures/demo/demo_7.jpg
- e2e/fixtures/demo/demo_8.jpg
- e2e/fixtures/demo/demo_9.jpg
- e2e/fixtures/docx-editor-numbering.docx
- e2e/fixtures/empty-table-row-vmerge.docx
- e2e/fixtures/empty.docx
- e2e/fixtures/endnotes-tracked-changes.docx
- e2e/fixtures/example-with-image.docx
- e2e/fixtures/float-wrap-comprehensive-test.docx
- e2e/fixtures/floating-table-full-width-paginates.docx
- e2e/fixtures/footer-page-number.docx
- e2e/fixtures/footnote-bottom-overflow.docx
- e2e/fixtures/footnote-overlap-regression.docx
- e2e/fixtures/generate-fixtures.ts
- e2e/fixtures/generic-header-footer-horizontal-regression.docx
- e2e/fixtures/generic-render-regression.docx
- e2e/fixtures/header-footer-textbox.docx
- e2e/fixtures/header-inline-image-dist.docx
- e2e/fixtures/header-right-tab.docx
- e2e/fixtures/header-with-table-and-paragraphs.docx
- e2e/fixtures/header-with-table.docx
- e2e/fixtures/image-layout-modes-demo.docx
- e2e/fixtures/inline-checkbox-controls.docx
- e2e/fixtures/issue-319-sections.docx
- e2e/fixtures/issue-387-font-theme-override.docx
- e2e/fixtures/issue-472-floating-textbox.docx
- e2e/fixtures/issue-483-firstline-marker.docx
- e2e/fixtures/issue-68-large.docx
- e2e/fixtures/issue-705-anchored-header-letterhead.docx
- e2e/fixtures/issue-740-header-zero-distance.docx
- e2e/fixtures/issue-777-vml-header.docx
- e2e/fixtures/sdt-header-content.docx
- e2e/fixtures/section-inheritance-header-footer.docx
- e2e/fixtures/stacked-floats-with-floating-table.docx
- e2e/fixtures/styled-content.docx
- e2e/fixtures/template-with-hf-rule.docx
- e2e/fixtures/test-image.png
- e2e/fixtures/textbox-test.docx
- e2e/fixtures/titlePg-header-footer.docx
- e2e/fixtures/toc-hyperlink-tabs.docx
- e2e/fixtures/watermark-confidential.docx
- e2e/fixtures/wide-test-image.png
- e2e/fixtures/with-tables.docx
- e2e/fixtures/wrap-none-positioned-image-demo.docx
- e2e/fixtures/wrap-none-two-seals-title-box-demo.docx
- e2e/helpers/assertions.ts
- e2e/helpers/editor-page.ts
- e2e/helpers/index.ts
- e2e/helpers/text-selection.ts
- e2e/helpers/wait-in-viewport.ts
- e2e/scenarios/alignment.json
- e2e/scenarios/colors.json
- e2e/scenarios/edge-cases.json
- e2e/scenarios/find-replace.json
- e2e/scenarios/fonts.json
- e2e/scenarios/formatting.json
- e2e/scenarios/history.json
- e2e/scenarios/line-spacing.json
- e2e/scenarios/lists.json
- e2e/scenarios/paragraph-styles.json
- e2e/scenarios/tables.json
- e2e/scenarios/text-editing.json
- e2e/tests/agent-bridge-formatting.spec.ts
- e2e/tests/agent-bridge.spec.ts
- e2e/tests/agent-panel.spec.ts
- e2e/tests/agent-paraid-allocator.spec.ts
- e2e/tests/agent-timeline.spec.ts
- e2e/tests/alignment.spec.ts
- e2e/tests/alternatecontent-textbox.spec.ts
- e2e/tests/border-overlay-layout.spec.ts
- e2e/tests/clipboard-image-paste.spec.ts
- e2e/tests/colors.spec.ts
- e2e/tests/comment-button.spec.ts
- e2e/tests/comments-sidebar.spec.ts
- e2e/tests/content-control-repeating.spec.ts
- e2e/tests/content-control-widgets.spec.ts
- e2e/tests/content-controls.spec.ts
- e2e/tests/cross-paragraph-selection.spec.ts
- e2e/tests/cursor-focus.spec.ts
- e2e/tests/cursor-paragraph-ops.spec.ts
- e2e/tests/demo-docx.spec.ts
- e2e/tests/edge-cases.spec.ts
- e2e/tests/empty-table-row-vmerge.spec.ts
- e2e/tests/find-replace-shortcuts.spec.ts
- e2e/tests/float-text-wrapping.spec.ts
- e2e/tests/floating-table-pagination.spec.ts
- e2e/tests/fonts.spec.ts
- e2e/tests/footer-page-number.spec.ts
- e2e/tests/footnote-bottom-overflow.spec.ts
- e2e/tests/formatting-persistence.spec.ts
- e2e/tests/formatting.spec.ts
- e2e/tests/generic-rendering-regression.spec.ts
- e2e/tests/header-footer-horizontal-regression.spec.ts
- e2e/tests/header-footer-tables.spec.ts
- e2e/tests/header-footer-textbox.spec.ts
- e2e/tests/header-overflow-diagnostic.spec.ts
- e2e/tests/header-right-tab.spec.ts
- e2e/tests/header-selection-bleed.spec.ts
- e2e/tests/help-menu.spec.ts
- e2e/tests/hf-click-and-type.spec.ts
- e2e/tests/hf-field-insert.spec.ts
- e2e/tests/hf-footer-caret-section.spec.ts
- e2e/tests/hf-selection-rects.spec.ts
- e2e/tests/hf-toolbar-and-zindex.spec.ts
- e2e/tests/hf-trailing-rule.spec.ts
- e2e/tests/hf-type-then-insert.spec.ts
- e2e/tests/hyperlink-popup.spec.ts
- e2e/tests/hyperlinks.spec.ts
- e2e/tests/image-context-menu.spec.ts
- e2e/tests/image-fit-container.spec.ts
- e2e/tests/image-layout-modes.spec.ts
- e2e/tests/image-resize-handles.spec.ts
- e2e/tests/image-roundtrip.spec.ts
- e2e/tests/issue-319-section-pagination.spec.ts
- e2e/tests/issue-386-numbering.spec.ts
- e2e/tests/issue-472-floating-textbox.spec.ts
- e2e/tests/issue-483-firstline-marker.spec.ts
- e2e/tests/issue-705-anchored-header-pagination.spec.ts
- e2e/tests/issue-740-header-zero-distance.spec.ts
- e2e/tests/issue-748-caret-height-mixed-fonts.spec.ts
- e2e/tests/issue-761-paste-suggestion.spec.ts
- e2e/tests/issue-763-caret-multipage-table.spec.ts
- e2e/tests/issue-777-vml-header-render.spec.ts
- e2e/tests/issue-781-table-layout.spec.ts
- e2e/tests/line-spacing.spec.ts
- e2e/tests/lists.spec.ts
- e2e/tests/nuxt/mount.spec.ts
- e2e/tests/paged-editor-clicks.spec.ts
- e2e/tests/paragraph-styles.spec.ts
- e2e/tests/parity/agent-panel.spec.ts
- e2e/tests/parity/agent-timeline.spec.ts
- e2e/tests/parity/anchor-reveal.spec.ts
- e2e/tests/parity/parity-fixture.ts
- e2e/tests/parity/smoke/agent-tool-call.spec.ts
- e2e/tests/parity/smoke/footnote-convergence.spec.ts
- e2e/tests/parity/smoke/mount.spec.ts
- e2e/tests/parity/smoke/save-roundtrip.spec.ts
- e2e/tests/parity/smoke/toggle-bold.spec.ts
- e2e/tests/parity/smoke/type-characters.spec.ts
- e2e/tests/parity/smoke/watermark-presets.spec.ts
- e2e/tests/parity/smoke/watermark-render.spec.ts
- e2e/tests/performance-large-docs.spec.ts
- e2e/tests/scenario-driven.spec.ts
- e2e/tests/scroll-to-page.spec.ts
- e2e/tests/scroll-to-paragraph.spec.ts
- e2e/tests/sdt-header-content.spec.ts
- e2e/tests/section-inheritance.spec.ts
- e2e/tests/split-color-button.spec.ts
- e2e/tests/table-add-column-regression.spec.ts
- e2e/tests/table-context-menu.spec.ts
- e2e/tests/table-merge-split.spec.ts
- e2e/tests/tables.spec.ts
- e2e/tests/text-editing.spec.ts
- e2e/tests/titlePg-header-footer.spec.ts
- e2e/tests/toc-hyperlink-tabs.spec.ts
- e2e/tests/toolbar-state.spec.ts
- e2e/tests/tracked-changes-structural.spec.ts
- e2e/tests/tracked-image.spec.ts
- e2e/tests/visual-check.spec.ts
- e2e/tests/visual-regression.spec.ts
- e2e/tests/visual-regression.spec.ts-snapshots/bold-text-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/combined-formatting-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/editor-container-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/empty-editor-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/full-page-empty-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/full-page-with-content-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/italic-text-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/loading-state-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/multiple-paragraphs-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/narrow-viewport-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/select-all-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/simple-text-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/text-selection-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/toolbar-bold-active-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/toolbar-default-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/toolbar-multiple-active-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/underlined-text-chromium-darwin.png
- e2e/tests/visual-regression.spec.ts-snapshots/wide-viewport-chromium-darwin.png
- e2e/tests/vue/caret-while-typing.spec.ts
- e2e/tests/vue/cell-drag-selection.spec.ts
- e2e/tests/vue/fonts.spec.ts
- e2e/tests/vue/hf-click-and-type.spec.ts
- e2e/tests/vue/hf-text-selection.spec.ts
- e2e/tests/vue/i18n-locale.spec.ts
- e2e/tests/vue/image-fit-container.spec.ts
- e2e/tests/vue/image-insert.spec.ts
- e2e/tests/vue/image-overlay-follow.spec.ts
- e2e/tests/vue/image-resize-handles.spec.ts
- e2e/tests/vue/issue-746-getdocument-paraids.spec.ts
- e2e/tests/vue/issue-748-caret-height-mixed-fonts.spec.ts
- e2e/tests/vue/issue-749-hf-formatting.spec.ts
- e2e/tests/vue/issue-761-paste-suggestion.spec.ts
- e2e/tests/vue/issue-762-delete-multiple-rows.spec.ts
- e2e/tests/vue/issue-763-caret-multipage-table.spec.ts
- e2e/tests/vue/issue-764-image-overlay-scrollbar-gutter.spec.ts
- e2e/tests/vue/issue-777-vml-header-render.spec.ts
- e2e/tests/vue/issue-781-table-layout.spec.ts
- e2e/tests/vue/mount.spec.ts
- e2e/visual.spec.ts
- eslint.config.js
- examples/README.md
- examples/agent-chat-demo/.env.example
- examples/agent-chat-demo/README.md
- examples/agent-chat-demo/app/api/chat/route.ts
- examples/agent-chat-demo/app/globals.css
- examples/agent-chat-demo/app/layout.tsx
- examples/agent-chat-demo/app/page.tsx
- examples/agent-chat-demo/next.config.ts
- examples/agent-chat-demo/package.json
- examples/agent-chat-demo/postcss.config.js
- examples/agent-chat-demo/tailwind.config.js
- examples/agent-chat-demo/tsconfig.json
- examples/agents-demo/.env.example
- examples/agents-demo/app/api/roast/route.ts
- examples/agents-demo/app/globals.css
- examples/agents-demo/app/layout.tsx
- examples/agents-demo/app/page.tsx
- examples/agents-demo/next-env.d.ts
- examples/agents-demo/next.config.ts
- examples/agents-demo/package.json
- examples/agents-demo/postcss.config.js
- examples/agents-demo/tsconfig.json
- examples/astro/README.md
- examples/astro/astro.config.mjs
- examples/astro/package.json
- examples/astro/public/favicon.ico
- examples/astro/public/sample.docx
- examples/astro/src/components/Editor.tsx
- examples/astro/src/pages/index.astro
- examples/astro/src/styles.css
- examples/astro/tailwind.config.js
- examples/astro/tsconfig.json
- examples/astro/vercel.json
- examples/collaboration/README.md
- examples/collaboration/index.html
- examples/collaboration/package.json
- examples/collaboration/public/favicon.ico
- examples/collaboration/src/App.tsx
- examples/collaboration/src/AvatarStack.tsx
- examples/collaboration/src/identity.ts
- examples/collaboration/src/main.tsx
- examples/collaboration/src/styles.css
- examples/collaboration/src/useCollaboration.ts
- examples/collaboration/tsconfig.json
- examples/collaboration/vercel.json
- examples/collaboration/vite.config.ts
- examples/dev-all.sh
- examples/nextjs/README.md
- examples/nextjs/app/components/Editor.tsx
- examples/nextjs/app/globals.css
- examples/nextjs/app/layout.tsx
- examples/nextjs/app/page.tsx
- examples/nextjs/next-env.d.ts
- examples/nextjs/next.config.ts
- examples/nextjs/package.json
- examples/nextjs/postcss.config.js
- examples/nextjs/public/favicon.ico
- examples/nextjs/public/sample.docx
- examples/nextjs/tailwind.config.js
- examples/nextjs/tsconfig.json
- examples/nextjs/vercel.json
- examples/nuxt/.gitignore
- examples/nuxt/README.md
- examples/nuxt/app.vue
- examples/nuxt/nuxt.config.ts
- examples/nuxt/package.json
- examples/nuxt/public/favicon.ico
- examples/nuxt/public/sample.docx
- examples/nuxt/tsconfig.json
- examples/nuxt/vercel.json
- examples/parity/README.md
- examples/parity/index.html
- examples/plugins/docxtemplater/index.html
- examples/plugins/docxtemplater/package.json
- examples/plugins/docxtemplater/public/favicon.ico
- examples/plugins/docxtemplater/src/App.tsx
- examples/plugins/docxtemplater/src/main.tsx
- examples/plugins/docxtemplater/vite.config.ts
- examples/plugins/hello-world/index.html
- examples/plugins/hello-world/package.json
- examples/plugins/hello-world/src/App.tsx
- examples/plugins/hello-world/src/main.tsx
- examples/plugins/hello-world/src/styles.css
- examples/plugins/hello-world/src/wordCountPlugin.ts
- examples/plugins/hello-world/vite.config.ts
- examples/remix/README.md
- examples/remix/app/components/Editor.tsx
- examples/remix/app/root.tsx
- examples/remix/app/routes/_index.tsx
- examples/remix/app/styles.css
- examples/remix/package.json
- examples/remix/public/favicon.ico
- examples/remix/public/sample.docx
- examples/remix/tailwind.config.js
- examples/remix/tsconfig.json
- examples/remix/vercel.json
- examples/remix/vite.config.ts
- examples/shared/AdapterSwitcher.tsx
- examples/shared/ExampleSwitcher.tsx
- examples/shared/ExampleSwitcher.vue
- examples/shared/GitHubBadge.tsx
- examples/shared/PreviewBanner.tsx
- examples/shared/config.ts
- examples/shared/sample.docx
- examples/vite/README.md
- examples/vite/index.html
- examples/vite/package.json
- examples/vite/public/Form025U.docx
- examples/vite/public/comments-and-templates.docx
- examples/vite/public/continuous-columns-test.docx
- examples/vite/public/docx-editor-demo.docx
- examples/vite/public/e2e-fixtures/inter-bold.woff2
- examples/vite/public/e2e-fixtures/inter-regular.woff2
- examples/vite/public/favicon.ico
- examples/vite/public/float-wrap-comprehensive-test.docx
- examples/vite/public/float-wrap-test.docx
- examples/vite/public/icon.png
- examples/vite/public/icon.svg
- examples/vite/public/og/docx-icon.png
- examples/vite/public/pr175-176-columns-test.docx
- examples/vite/public/sample.docx
- examples/vite/public/table-float-image-test.docx
- examples/vite/public/textbox-test.docx
- examples/vite/public/two-column-test.docx
- examples/vite/public/vanish-list-test.docx
- examples/vite/public/web-app-manifest-192x192.png
- examples/vite/public/web-app-manifest-512x512.png
- examples/vite/scripts/create-test-docx.ts
- examples/vite/src/App.tsx
- examples/vite/src/main.tsx
- examples/vite/src/styles.css
- examples/vite/src/window-e2e.d.ts
- examples/vite/tsconfig.json
- examples/vite/vite.config.ts
- examples/vue/README.md
- examples/vue/index.html
- examples/vue/package.json
- examples/vue/public/docx-editor-demo.docx
- examples/vue/public/e2e-fixtures/inter-bold.woff2
- examples/vue/public/e2e-fixtures/inter-regular.woff2
- examples/vue/public/favicon.ico
- examples/vue/public/icon.png
- examples/vue/public/icon.svg
- examples/vue/public/og/docx-icon.png
- examples/vue/public/sample.docx
- examples/vue/public/web-app-manifest-192x192.png
- examples/vue/public/web-app-manifest-512x512.png
- examples/vue/src/App.vue
- examples/vue/src/main.ts
- examples/vue/src/window-e2e.d.ts
- examples/vue/tsconfig.json
- examples/vue/vite.config.ts
- openspec/changes/advanced-color-picker/.openspec.yaml
- openspec/changes/advanced-color-picker/design.md
- openspec/changes/advanced-color-picker/proposal.md
- openspec/changes/advanced-color-picker/specs/advanced-color-picker-ui/spec.md
- openspec/changes/advanced-color-picker/specs/color-ooxml-roundtrip/spec.md
- openspec/changes/advanced-color-picker/tasks.md
- openspec/changes/archive/2026-03-16-float-image-text-wrapping-143-188/.openspec.yaml
- openspec/changes/archive/2026-03-16-float-image-text-wrapping-143-188/design.md
- openspec/changes/archive/2026-03-16-float-image-text-wrapping-143-188/proposal.md
- openspec/changes/archive/2026-03-16-float-image-text-wrapping-143-188/specs/float-text-wrapping/spec.md
- openspec/changes/archive/2026-03-16-float-image-text-wrapping-143-188/specs/table-cell-float-layout/spec.md
- openspec/changes/archive/2026-03-16-float-image-text-wrapping-143-188/tasks.md
- openspec/changes/archive/2026-03-27-i18n-support/.openspec.yaml
- openspec/changes/archive/2026-03-27-i18n-support/design.md
- openspec/changes/archive/2026-03-27-i18n-support/proposal.md
- openspec/changes/archive/2026-03-27-i18n-support/specs/locale-provider/spec.md
- openspec/changes/archive/2026-03-27-i18n-support/specs/locale-strings/spec.md
- openspec/changes/archive/2026-03-27-i18n-support/tasks.md
- openspec/changes/archive/2026-05-28-unify-hf-editing/.openspec.yaml
- openspec/changes/archive/2026-05-28-unify-hf-editing/design.md
- openspec/changes/archive/2026-05-28-unify-hf-editing/proposal.md
- openspec/changes/archive/2026-05-28-unify-hf-editing/specs/header-footer-editing/spec.md
- openspec/changes/archive/2026-05-28-unify-hf-editing/tasks.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/.openspec.yaml
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/design.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/proposal.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/specs/core-apply-formatting/spec.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/specs/core-auto-scroll-math/spec.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/specs/core-cell-selection-highlight/spec.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/specs/core-comment-ops/spec.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/specs/core-doc-queries/spec.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/specs/core-image-commit/spec.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/specs/core-paratext/spec.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/specs/core-table-resize-ops/spec.md
- openspec/changes/archive/2026-06-05-unify-orchestration-tier1/tasks.md
- openspec/changes/block-sdt-roundtrip/.openspec.yaml
- openspec/changes/block-sdt-roundtrip/design.md
- openspec/changes/block-sdt-roundtrip/proposal.md
- openspec/changes/block-sdt-roundtrip/specs/block-sdt/spec.md
- openspec/changes/block-sdt-roundtrip/tasks.md
- openspec/changes/context-menu/.openspec.yaml
- openspec/changes/context-menu/design.md
- openspec/changes/context-menu/proposal.md
- openspec/changes/context-menu/specs/context-menu-core/spec.md
- openspec/changes/context-menu/specs/context-menu-image/spec.md
- openspec/changes/context-menu/specs/context-menu-link/spec.md
- openspec/changes/context-menu/specs/context-menu-table/spec.md
- openspec/changes/context-menu/specs/context-menu-text/spec.md
- openspec/changes/context-menu/tasks.md
- openspec/changes/cursor-navigation-autoscroll/.openspec.yaml
- openspec/changes/cursor-navigation-autoscroll/design.md
- openspec/changes/cursor-navigation-autoscroll/proposal.md
- openspec/changes/cursor-navigation-autoscroll/tasks.md
- openspec/changes/editor-performance/.openspec.yaml
- openspec/changes/editor-performance/design.md
- openspec/changes/editor-performance/proposal.md
- openspec/changes/editor-performance/tasks.md
- openspec/changes/engine-spine-tier2/.openspec.yaml
- openspec/changes/engine-spine-tier2/SPIKE.md
- openspec/changes/engine-spine-tier2/design.md
- openspec/changes/engine-spine-tier2/proposal.md
- openspec/changes/engine-spine-tier2/specs/editor-engine/spec.md
- openspec/changes/engine-spine-tier2/specs/engine-layout-run/spec.md
- openspec/changes/engine-spine-tier2/specs/engine-scheduler/spec.md
- openspec/changes/engine-spine-tier2/specs/engine-session/spec.md
- openspec/changes/engine-spine-tier2/specs/engine-transaction-loop/spec.md
- openspec/changes/engine-spine-tier2/specs/engine-view-lifecycle/spec.md
- openspec/changes/engine-spine-tier2/tasks.md
- openspec/changes/extract-core-monorepo/.openspec.yaml
- openspec/changes/extract-core-monorepo/design.md
- openspec/changes/extract-core-monorepo/proposal.md
- openspec/changes/extract-core-monorepo/specs/core-package-api/spec.md
- openspec/changes/extract-core-monorepo/specs/cross-framework-plugins/spec.md
- openspec/changes/extract-core-monorepo/specs/monorepo-structure/spec.md
- openspec/changes/extract-core-monorepo/tasks.md
- openspec/changes/extract-framework-agnostic-managers/.openspec.yaml
- openspec/changes/extract-framework-agnostic-managers/design.md
- openspec/changes/extract-framework-agnostic-managers/proposal.md
- openspec/changes/extract-framework-agnostic-managers/specs/editor-coordinator/spec.md
- openspec/changes/extract-framework-agnostic-managers/specs/layout-coordinator/spec.md
- openspec/changes/extract-framework-agnostic-managers/specs/manager-classes/spec.md
- openspec/changes/extract-framework-agnostic-managers/specs/render-async-interface/spec.md
- openspec/changes/extract-framework-agnostic-managers/tasks.md
- openspec/changes/fix-default-line-spacing/.openspec.yaml
- openspec/changes/fix-default-line-spacing/design.md
- openspec/changes/fix-default-line-spacing/proposal.md
- openspec/changes/fix-default-line-spacing/specs/ooxml-default-line-spacing/spec.md
- openspec/changes/fix-default-line-spacing/tasks.md
- openspec/changes/fix-table-borders-and-fill-picker/.openspec.yaml
- openspec/changes/fix-table-borders-and-fill-picker/design.md
- openspec/changes/fix-table-borders-and-fill-picker/proposal.md
- openspec/changes/fix-table-borders-and-fill-picker/specs/table-cell-fill-picker/spec.md
- openspec/changes/fix-table-borders-and-fill-picker/tasks.md
- openspec/changes/floating-image-layout/.openspec.yaml
- openspec/changes/floating-image-layout/design.md
- openspec/changes/floating-image-layout/proposal.md
- openspec/changes/floating-image-layout/tasks.md
- openspec/changes/google-docs-toolbar/.openspec.yaml
- openspec/changes/google-docs-toolbar/design.md
- openspec/changes/google-docs-toolbar/proposal.md
- openspec/changes/google-docs-toolbar/specs/composable-toolbar/spec.md
- openspec/changes/google-docs-toolbar/tasks.md
- openspec/changes/header-footer-rendering/.openspec.yaml
- openspec/changes/header-footer-rendering/design.md
- openspec/changes/header-footer-rendering/proposal.md
- openspec/changes/header-footer-rendering/tasks.md
- openspec/changes/list-operations-fidelity/.openspec.yaml
- openspec/changes/list-operations-fidelity/design.md
- openspec/changes/list-operations-fidelity/proposal.md
- openspec/changes/list-operations-fidelity/tasks.md
- openspec/changes/live-agent-chat/spec.md
- openspec/changes/ooxml-feature-gaps/.openspec.yaml
- openspec/changes/ooxml-feature-gaps/design.md
- openspec/changes/ooxml-feature-gaps/proposal.md
- openspec/changes/ooxml-feature-gaps/tasks.md
- openspec/changes/ooxml-roundtrip-fidelity/.openspec.yaml
- openspec/changes/ooxml-roundtrip-fidelity/design.md
- openspec/changes/ooxml-roundtrip-fidelity/proposal.md
- openspec/changes/ooxml-roundtrip-fidelity/tasks.md
- openspec/changes/paragraph-border-rendering/.openspec.yaml
- openspec/changes/paragraph-border-rendering/design.md
- openspec/changes/paragraph-border-rendering/proposal.md
- openspec/changes/paragraph-border-rendering/tasks.md
- openspec/changes/paste-google-docs/.openspec.yaml
- openspec/changes/paste-google-docs/design.md
- openspec/changes/paste-google-docs/proposal.md
- openspec/changes/paste-google-docs/tasks.md
- openspec/changes/review-plugin/.openspec.yaml
- openspec/changes/review-plugin/design.md
- openspec/changes/review-plugin/proposal.md
- openspec/changes/review-plugin/specs/review-actions/spec.md
- openspec/changes/review-plugin/specs/review-discovery/spec.md
- openspec/changes/review-plugin/specs/review-packaging/spec.md
- openspec/changes/review-plugin/specs/review-reading/spec.md
- openspec/changes/review-plugin/tasks.md
- openspec/changes/selective-xml-save/.openspec.yaml
- openspec/changes/selective-xml-save/design.md
- openspec/changes/selective-xml-save/proposal.md
- openspec/changes/selective-xml-save/specs/paragraph-change-tracking/spec.md
- openspec/changes/selective-xml-save/specs/selective-save/spec.md
- openspec/changes/selective-xml-save/specs/selective-xml-patch/spec.md
- openspec/changes/selective-xml-save/tasks.md
- openspec/changes/tab-leader-fidelity/.openspec.yaml
- openspec/changes/tab-leader-fidelity/design.md
- openspec/changes/tab-leader-fidelity/proposal.md
- openspec/changes/tab-leader-fidelity/tasks.md
- openspec/changes/table-editing-polish/.openspec.yaml
- openspec/changes/table-editing-polish/design.md
- openspec/changes/table-editing-polish/proposal.md
- openspec/changes/table-editing-polish/tasks.md
- openspec/changes/table-rendering-fidelity/.openspec.yaml
- openspec/changes/table-rendering-fidelity/design.md
- openspec/changes/table-rendering-fidelity/proposal.md
- openspec/changes/table-rendering-fidelity/tasks.md
- openspec/changes/toolbar-selection-interactions/.openspec.yaml
- openspec/changes/toolbar-selection-interactions/design.md
- openspec/changes/toolbar-selection-interactions/proposal.md
- openspec/changes/toolbar-selection-interactions/tasks.md
- openspec/changes/track-changes-comments/.openspec.yaml
- openspec/changes/track-changes-comments/design.md
- openspec/changes/track-changes-comments/proposal.md
- openspec/changes/track-changes-comments/specs/comment-sidebar/spec.md
- openspec/changes/track-changes-comments/specs/document-layout-shift/spec.md
- openspec/changes/track-changes-comments/specs/suggestion-mode/spec.md
- openspec/changes/track-changes-comments/specs/track-changes-review/spec.md
- openspec/changes/track-changes-comments/tasks.md
- openspec/changes/tracked-changes-edge-cases/.openspec.yaml
- openspec/changes/tracked-changes-edge-cases/design.md
- openspec/changes/tracked-changes-edge-cases/proposal.md
- openspec/changes/tracked-changes-edge-cases/tasks.md
- openspec/changes/tracked-structural-changes/design.md
- openspec/changes/tracked-structural-changes/proposal.md
- openspec/changes/tracked-structural-changes/specs/tracked-changes-review/spec.md
- openspec/changes/tracked-structural-changes/specs/tracked-property-revisions/spec.md
- openspec/changes/tracked-structural-changes/specs/tracked-structural-paragraphs/spec.md
- openspec/changes/tracked-structural-changes/specs/tracked-structural-tables/spec.md
- openspec/changes/tracked-structural-changes/tasks.md
- openspec/changes/vue-editor-robust-implementation/.openspec.yaml
- openspec/changes/vue-editor-robust-implementation/design.md
- openspec/changes/vue-editor-robust-implementation/notes/a11y-review.md
- openspec/changes/vue-editor-robust-implementation/notes/api-divergence.md
- openspec/changes/vue-editor-robust-implementation/notes/audit.md
- openspec/changes/vue-editor-robust-implementation/notes/closure-checklist.md
- openspec/changes/vue-editor-robust-implementation/notes/consumer-install.md
- openspec/changes/vue-editor-robust-implementation/notes/feature-parity-report.json
- openspec/changes/vue-editor-robust-implementation/notes/intentional-export-divergence.md
- openspec/changes/vue-editor-robust-implementation/notes/intentional-render-path-divergence.md
- openspec/changes/vue-editor-robust-implementation/notes/isolation-review.md
- openspec/changes/vue-editor-robust-implementation/notes/perf-review.md
- openspec/changes/vue-editor-robust-implementation/notes/perf/baseline.json
- openspec/changes/vue-editor-robust-implementation/notes/qa-signoff.md
- openspec/changes/vue-editor-robust-implementation/notes/reactivity-review.md
- openspec/changes/vue-editor-robust-implementation/notes/reactivity.md
- openspec/changes/vue-editor-robust-implementation/proposal.md
- openspec/changes/vue-editor-robust-implementation/specs/framework-isolation-lint/spec.md
- openspec/changes/vue-editor-robust-implementation/specs/vue-adapter/spec.md
- openspec/changes/vue-editor-robust-implementation/specs/vue-react-parity/spec.md
- openspec/changes/vue-editor-robust-implementation/tasks.md
- openspec/specs/core-apply-formatting/spec.md
- openspec/specs/core-auto-scroll-math/spec.md
- openspec/specs/core-cell-selection-highlight/spec.md
- openspec/specs/core-comment-ops/spec.md
- openspec/specs/core-doc-queries/spec.md
- openspec/specs/core-image-commit/spec.md
- openspec/specs/core-paratext/spec.md
- openspec/specs/core-table-resize-ops/spec.md
- openspec/specs/header-footer-editing/spec.md
- package.json
- packages/agents/CHANGELOG.md
- packages/agents/LICENSE
- packages/agents/README.md
- packages/agents/i18n/en.json
- packages/agents/package.json
- packages/agents/src/DocxReviewer.ts
- packages/agents/src/__tests__/DocxReviewer.changes.test.ts
- packages/agents/src/__tests__/DocxReviewer.comments.test.ts
- packages/agents/src/__tests__/DocxReviewer.note-changes-accept.test.ts
- packages/agents/src/__tests__/DocxReviewer.note-changes.test.ts
- packages/agents/src/__tests__/DocxReviewer.read.test.ts
- packages/agents/src/__tests__/DocxReviewer.roundtrip.test.ts
- packages/agents/src/__tests__/DocxReviewer.search.test.ts
- packages/agents/src/__tests__/_helpers.ts
- packages/agents/src/__tests__/bridge.test.ts
- packages/agents/src/__tests__/endnote-changes.integration.test.ts
- packages/agents/src/__tests__/mcp-integration.test.ts
- packages/agents/src/__tests__/mcp-protocol.test.ts
- packages/agents/src/__tests__/mcp-server.test.ts
- packages/agents/src/__tests__/mcp-stdio.test.ts
- packages/agents/src/__tests__/reviewerBridge.test.ts
- packages/agents/src/__tests__/tools.test.ts
- packages/agents/src/__tests__/wordCompat.test.ts
- packages/agents/src/agent-types.ts
- packages/agents/src/ai-sdk/react.ts
- packages/agents/src/ai-sdk/server.ts
- packages/agents/src/ai-sdk/shared.ts
- packages/agents/src/ai-sdk/vue.ts
- packages/agents/src/batch.ts
- packages/agents/src/bridge.ts
- packages/agents/src/changes.ts
- packages/agents/src/comments.ts
- packages/agents/src/content.ts
- packages/agents/src/discovery.ts
- packages/agents/src/errors.ts
- packages/agents/src/i18n/format-message.ts
- packages/agents/src/index.ts
- packages/agents/src/mcp/index.ts
- packages/agents/src/mcp/protocol.ts
- packages/agents/src/mcp/server.ts
- packages/agents/src/mcp/stdio.ts
- packages/agents/src/react.ts
- packages/agents/src/react/components/AgentChat.tsx
- packages/agents/src/react/components/AgentPanel.tsx
- packages/agents/src/reviewerBridge.ts
- packages/agents/src/server.ts
- packages/agents/src/textSearch.ts
- packages/agents/src/tools/breaks.ts
- packages/agents/src/tools/formatting.ts
- packages/agents/src/tools/index.ts
- packages/agents/src/tools/pages.ts
- packages/agents/src/tools/types.ts
- packages/agents/src/types.ts
- packages/agents/src/useAgentChat.ts
- packages/agents/src/useDocxAgentTools.ts
- packages/agents/src/utils.ts
- packages/agents/src/vue.ts
- packages/agents/src/vue/components/AIContextMenu.vue
- packages/agents/src/vue/components/AIResponsePreview.vue
- packages/agents/src/vue/components/AgentChatLog.vue
- packages/agents/src/vue/components/AgentComposer.vue
- packages/agents/src/vue/components/AgentPanel.vue
- packages/agents/src/vue/components/AgentSuggestionChip.vue
- packages/agents/src/vue/components/AgentTimeline.vue
- packages/agents/src/vue/composables/useAgentBridge.ts
- packages/agents/src/vue/shims.d.ts
- packages/agents/src/vue/types.ts
- packages/agents/src/wordCompat.ts
- packages/agents/tsconfig.json
- packages/agents/tsconfig.tsup.json
- packages/agents/tsup.config.ts
- packages/agents/vite.config.ts
- packages/core/CHANGELOG.md
- packages/core/LICENSE
- packages/core/README.md
- packages/core/package.json
- packages/core/scripts/copy-assets.mjs
- packages/core/src/__tests__/exports-map.test.ts
- packages/core/src/agent/DocumentAgent.ts
- packages/core/src/agent/__tests__/contentControlValues.test.ts
- packages/core/src/agent/__tests__/contentControls.test.ts
- packages/core/src/agent/__tests__/repeatingSection.test.ts
- packages/core/src/agent/contentControlValues.ts
- packages/core/src/agent/contentControls.ts
- packages/core/src/agent/context.ts
- packages/core/src/agent/executor.ts
- packages/core/src/agent/executor/helpers.ts
- packages/core/src/agent/executor/paragraphCommands.ts
- packages/core/src/agent/executor/structureCommands.ts
- packages/core/src/agent/executor/textCommands.ts
- packages/core/src/agent/executor/variableCommands.ts
- packages/core/src/agent/index.ts
- packages/core/src/agent/repeatingSection.ts
- packages/core/src/agent/selectionContext.ts
- packages/core/src/agent/text-utils.ts
- packages/core/src/core-plugins/docxtemplater/handlers.ts
- packages/core/src/core-plugins/docxtemplater/index.ts
- packages/core/src/core-plugins/docxtemplater/mcp-tools.ts
- packages/core/src/core-plugins/index.ts
- packages/core/src/core-plugins/registry.ts
- packages/core/src/core-plugins/types.ts
- packages/core/src/core.ts
- packages/core/src/docx/__tests__/alternatecontent-textbox.test.ts
- packages/core/src/docx/__tests__/block-sdt-fixture.test.ts
- packages/core/src/docx/__tests__/block-sdt-roundtrip.test.ts
- packages/core/src/docx/__tests__/color-roundtrip.test.ts
- packages/core/src/docx/__tests__/footnoteParser-table.test.ts
- packages/core/src/docx/__tests__/header-footer-rendered-page-break.test.ts
- packages/core/src/docx/__tests__/header-footer-textbox.test.ts
- packages/core/src/docx/__tests__/header-image-repack.test.ts
- packages/core/src/docx/__tests__/image-visual-attrs-roundtrip.test.ts
- packages/core/src/docx/__tests__/issue-765-custom-styles.test.ts
- packages/core/src/docx/__tests__/issue-804-inline-sectpr.test.ts
- packages/core/src/docx/__tests__/issue-805-vmerge-roundtrip.test.ts
- packages/core/src/docx/__tests__/issue-806-rtl-roundtrip.test.ts
- packages/core/src/docx/__tests__/new-doc-header-footer.test.ts
- packages/core/src/docx/__tests__/numbering-level-fmts.test.ts
- packages/core/src/docx/__tests__/numbering-shared-abstract.test.ts
- packages/core/src/docx/__tests__/numbering-vanish.test.ts
- packages/core/src/docx/__tests__/rendered-page-break-edge-cases.test.ts
- packages/core/src/docx/__tests__/roundtrip-data-loss.test.ts
- packages/core/src/docx/__tests__/run-marks-roundtrip.test.ts
- packages/core/src/docx/__tests__/run-rstyle-roundtrip.test.ts
- packages/core/src/docx/__tests__/sdt-content-roundtrip.test.ts
- packages/core/src/docx/__tests__/section-break-roundtrip.test.ts
- packages/core/src/docx/__tests__/section-inheritance.test.ts
- packages/core/src/docx/__tests__/spacing-explicit.test.ts
- packages/core/src/docx/__tests__/table-vmerge-implicit-rowspan.test.ts
- packages/core/src/docx/blockContentParser.ts
- packages/core/src/docx/bookmarkParser.ts
- packages/core/src/docx/commentParser.test.ts
- packages/core/src/docx/commentParser.ts
- packages/core/src/docx/documentParser.ts
- packages/core/src/docx/drawingUtils.ts
- packages/core/src/docx/endnote-roundtrip.test.ts
- packages/core/src/docx/explorer.ts
- packages/core/src/docx/fieldParser.ts
- packages/core/src/docx/footnote-roundtrip.test.ts
- packages/core/src/docx/footnoteParser.ts
- packages/core/src/docx/headerFooterParser.ts
- packages/core/src/docx/hyperlinkParser.ts
- packages/core/src/docx/imageParser.ts
- packages/core/src/docx/index.ts
- packages/core/src/docx/injectReplyRangeMarkers.ts
- packages/core/src/docx/issue-387-font-roundtrip.test.ts
- packages/core/src/docx/issue-777-vml-header-image.test.ts
- packages/core/src/docx/issue-777-vml-header-roundtrip.test.ts
- packages/core/src/docx/issue-781-table-layout.test.ts
- packages/core/src/docx/note-block-fidelity.test.ts
- packages/core/src/docx/numberingParser.ts
- packages/core/src/docx/paragraphParser.test.ts
- packages/core/src/docx/paragraphParser.ts
- packages/core/src/docx/paragraphParser/content.ts
- packages/core/src/docx/paragraphParser/properties.ts
- packages/core/src/docx/paragraphParser/queries.ts
- packages/core/src/docx/parser.ts
- packages/core/src/docx/relsParser.ts
- packages/core/src/docx/rezip.ts
- packages/core/src/docx/rezip/createEmpty.ts
- packages/core/src/docx/rezip/hyperlinks.ts
- packages/core/src/docx/rezip/images.ts
- packages/core/src/docx/rezip/packaging.test.ts
- packages/core/src/docx/rezip/packaging.ts
- packages/core/src/docx/rezip/parts.ts
- packages/core/src/docx/rezip/watermarkImages.test.ts
- packages/core/src/docx/runConsolidator.ts
- packages/core/src/docx/runParser.ts
- packages/core/src/docx/sdtProperties.ts
- packages/core/src/docx/sectionParser.ts
- packages/core/src/docx/selectiveSave.test.ts
- packages/core/src/docx/selectiveSave.ts
- packages/core/src/docx/selectiveXmlPatch.test.ts
- packages/core/src/docx/selectiveXmlPatch.ts
- packages/core/src/docx/serializer/commentSerializer.test.ts
- packages/core/src/docx/serializer/commentSerializer.ts
- packages/core/src/docx/serializer/conditionalFormatSerializer.ts
- packages/core/src/docx/serializer/documentSerializer.test.ts
- packages/core/src/docx/serializer/documentSerializer.ts
- packages/core/src/docx/serializer/headerFooterSerializer.ts
- packages/core/src/docx/serializer/index.ts
- packages/core/src/docx/serializer/noteSerializer.test.ts
- packages/core/src/docx/serializer/noteSerializer.ts
- packages/core/src/docx/serializer/paragraphSerializer.test.ts
- packages/core/src/docx/serializer/paragraphSerializer.ts
- packages/core/src/docx/serializer/paragraphSerializer/content.ts
- packages/core/src/docx/serializer/paragraphSerializer/properties.ts
- packages/core/src/docx/serializer/runSerializer.test.ts
- packages/core/src/docx/serializer/runSerializer.ts
- packages/core/src/docx/serializer/runSerializer/drawing.ts
- packages/core/src/docx/serializer/sdtSerializer.ts
- packages/core/src/docx/serializer/sectionPropertiesSerializer.ts
- packages/core/src/docx/serializer/tableSerializer.ts
- packages/core/src/docx/serializer/vmlWatermarkSerializer.ts
- packages/core/src/docx/serializer/xmlUtils.ts
- packages/core/src/docx/settingsParser.ts
- packages/core/src/docx/shapeParser.ts
- packages/core/src/docx/styleParser.ts
- packages/core/src/docx/styleParser/paragraphProperties.ts
- packages/core/src/docx/styleParser/runProperties.ts
- packages/core/src/docx/styleParser/tableProperties.ts
- packages/core/src/docx/tabParser.ts
- packages/core/src/docx/tableParser.ts
- packages/core/src/docx/tableParser/properties.ts
- packages/core/src/docx/tableParser/queries.ts
- packages/core/src/docx/textBoxParser.ts
- packages/core/src/docx/themeParser.ts
- packages/core/src/docx/unzip.ts
- packages/core/src/docx/vmlImageParser.ts
- packages/core/src/docx/vmlWatermark.test.ts
- packages/core/src/docx/vmlWatermarkParser.ts
- packages/core/src/docx/watermarkApi.test.ts
- packages/core/src/docx/watermarkApi.ts
- packages/core/src/docx/wrapTypes.ts
- packages/core/src/docx/xmlParser.test.ts
- packages/core/src/docx/xmlParser.ts
- packages/core/src/editor/__tests__/layoutScheduler.test.ts
- packages/core/src/editor/computeLayout.ts
- packages/core/src/editor/index.ts
- packages/core/src/editor/layoutScheduler.ts
- packages/core/src/editor/scrollFlag.ts
- packages/core/src/headless.ts
- packages/core/src/layout-bridge/__tests__/blankLineSelectionRect.test.ts
- packages/core/src/layout-bridge/__tests__/cellBlockLayout.test.ts
- packages/core/src/layout-bridge/__tests__/cellSelectionHighlight.test.ts
- packages/core/src/layout-bridge/__tests__/findBodyPmSpans.test.ts
- packages/core/src/layout-bridge/__tests__/floatingTable.test.ts
- packages/core/src/layout-bridge/__tests__/footnoteLayout.test.ts
- packages/core/src/layout-bridge/__tests__/headerFooterFlowHeight.test.ts
- packages/core/src/layout-bridge/__tests__/headerFooterMargins.test.ts
- packages/core/src/layout-bridge/__tests__/inline-sdt-checkbox.test.ts
- packages/core/src/layout-bridge/__tests__/issue-718-numfmt-none-marker.test.ts
- packages/core/src/layout-bridge/__tests__/issue-811-autospacing.test.ts
- packages/core/src/layout-bridge/__tests__/list-marker-cross-container.test.ts
- packages/core/src/layout-bridge/__tests__/list-marker-shared-abstract.test.ts
- packages/core/src/layout-bridge/__tests__/measureTable-vmerge-height.test.ts
- packages/core/src/layout-bridge/__tests__/normalizeHeaderFooterMeasureBlocks.test.ts
- packages/core/src/layout-bridge/__tests__/resolveListTemplate.test.ts
- packages/core/src/layout-bridge/__tests__/sectionGeometry-zero-dimensions.test.ts
- packages/core/src/layout-bridge/__tests__/tableInsertHover.test.ts
- packages/core/src/layout-bridge/__tests__/tableWidthUtils.test.ts
- packages/core/src/layout-bridge/__tests__/toFlowBlocks-run-marks.test.ts
- packages/core/src/layout-bridge/__tests__/toFlowBlocks-shading.test.ts
- packages/core/src/layout-bridge/__tests__/toFlowBlocks-style-cascade.test.ts
- packages/core/src/layout-bridge/__tests__/toFlowBlocks-toc-hyperlink.test.ts
- packages/core/src/layout-bridge/cellBlockLayout.ts
- packages/core/src/layout-bridge/cellSelectionHighlight.ts
- packages/core/src/layout-bridge/clickToPosition.ts
- packages/core/src/layout-bridge/clickToPositionDom.ts
- packages/core/src/layout-bridge/findBodyPmSpans.ts
- packages/core/src/layout-bridge/floatingTable.ts
- packages/core/src/layout-bridge/footnoteLayout.ts
- packages/core/src/layout-bridge/headerFooterLayout.ts
- packages/core/src/layout-bridge/headerFooterMargins.ts
- packages/core/src/layout-bridge/hitTest.ts
- packages/core/src/layout-bridge/index.ts
- packages/core/src/layout-bridge/measureTable.ts
- packages/core/src/layout-bridge/measuring/__tests__/clampFloatingWrapMargins.test.ts
- packages/core/src/layout-bridge/measuring/__tests__/empty-paragraph-floor.test.ts
- packages/core/src/layout-bridge/measuring/__tests__/floatingZones.test.ts
- packages/core/src/layout-bridge/measuring/__tests__/inline-image-wrap-height.test.ts
- packages/core/src/layout-bridge/measuring/__tests__/measureBlocksPipeline.test.ts
- packages/core/src/layout-bridge/measuring/__tests__/suppress-empty-paragraph-height.test.ts
- packages/core/src/layout-bridge/measuring/cache.test.ts
- packages/core/src/layout-bridge/measuring/cache.ts
- packages/core/src/layout-bridge/measuring/floatingZones.ts
- packages/core/src/layout-bridge/measuring/index.ts
- packages/core/src/layout-bridge/measuring/listMarkerWidth.ts
- packages/core/src/layout-bridge/measuring/measureBlocksPipeline.ts
- packages/core/src/layout-bridge/measuring/measureContainer.ts
- packages/core/src/layout-bridge/measuring/measureParagraph.ts
- packages/core/src/layout-bridge/sectionGeometry.ts
- packages/core/src/layout-bridge/selectionRects.ts
- packages/core/src/layout-bridge/tableInsertHover.ts
- packages/core/src/layout-bridge/tableWidthUtils.ts
- packages/core/src/layout-bridge/toFlowBlocks.ts
- packages/core/src/layout-bridge/toFlowBlocks/borders.ts
- packages/core/src/layout-bridge/toFlowBlocks/listMarkers.ts
- packages/core/src/layout-bridge/toFlowBlocks/runs.ts
- packages/core/src/layout-bridge/toFlowBlocks/shared.ts
- packages/core/src/layout-engine/__tests__/continuous-section-geometry.test.ts
- packages/core/src/layout-engine/__tests__/force-page-break-empty.test.ts
- packages/core/src/layout-engine/__tests__/textBoxFlow.test.ts
- packages/core/src/layout-engine/columnBalancing.ts
- packages/core/src/layout-engine/findPageIndexContainingPmPos.test.ts
- packages/core/src/layout-engine/findPageIndexContainingPmPos.ts
- packages/core/src/layout-engine/floatingObjects.ts
- packages/core/src/layout-engine/index.ts
- packages/core/src/layout-engine/inlineSdtWidgets.ts
- packages/core/src/layout-engine/integration/anchor-fragment-trailing-spacing.test.ts
- packages/core/src/layout-engine/integration/click-to-position.test.ts
- packages/core/src/layout-engine/integration/contextual-spacing.test.ts
- packages/core/src/layout-engine/integration/document-updates.test.ts
- packages/core/src/layout-engine/integration/header-footer.test.ts
- packages/core/src/layout-engine/integration/helpers.ts
- packages/core/src/layout-engine/integration/page-production.test.ts
- packages/core/src/layout-engine/integration/paragraph-fragment-ranges.test.ts
- packages/core/src/layout-engine/integration/section-breaks.test.ts
- packages/core/src/layout-engine/integration/table-row-break.test.ts
- packages/core/src/layout-engine/keep-together.ts
- packages/core/src/layout-engine/paginator.test.ts
- packages/core/src/layout-engine/paginator.ts
- packages/core/src/layout-engine/paragraphFragmentRange.ts
- packages/core/src/layout-engine/paragraphSpacing.ts
- packages/core/src/layout-engine/performance.test.ts
- packages/core/src/layout-engine/section-breaks.ts
- packages/core/src/layout-engine/tableRowBreak.ts
- packages/core/src/layout-engine/textBoxFlow.ts
- packages/core/src/layout-engine/types.ts
- packages/core/src/layout-painter/__tests__/anchoredObjectPosition.test.ts
- packages/core/src/layout-painter/__tests__/block-sdt-boundary.test.ts
- packages/core/src/layout-painter/__tests__/border-overlay-layout.test.ts
- packages/core/src/layout-painter/__tests__/empty-line-break-position.test.ts
- packages/core/src/layout-painter/__tests__/floating-table-hf-position.test.ts
- packages/core/src/layout-painter/__tests__/footnote-rendering.test.ts
- packages/core/src/layout-painter/__tests__/header-footer-float-left.test.ts
- packages/core/src/layout-painter/__tests__/header-footer-spacing.test.ts
- packages/core/src/layout-painter/__tests__/hf-float-textbox-no-advance.test.ts
- packages/core/src/layout-painter/__tests__/image-crop-render.test.ts
- packages/core/src/layout-painter/__tests__/inline-sdt-widget.test.ts
- packages/core/src/layout-painter/__tests__/issue-472-floating-textbox.test.ts
- packages/core/src/layout-painter/__tests__/issue-719-rtl-base-direction.test.ts
- packages/core/src/layout-painter/__tests__/issue-729-list-hanging-indent.test.ts
- packages/core/src/layout-painter/__tests__/positioning-context.test.ts
- packages/core/src/layout-painter/__tests__/render-all-pages-now.test.ts
- packages/core/src/layout-painter/__tests__/table-vmerge-page-split.test.ts
- packages/core/src/layout-painter/__tests__/watermark-render.test.ts
- packages/core/src/layout-painter/__tests__/wrap-none-floating-image.test.ts
- packages/core/src/layout-painter/anchoredObjectPosition.ts
- packages/core/src/layout-painter/floatingImageFlow.ts
- packages/core/src/layout-painter/floatingImageLayer.ts
- packages/core/src/layout-painter/imageLayout.ts
- packages/core/src/layout-painter/index.ts
- packages/core/src/layout-painter/renderFragment.ts
- packages/core/src/layout-painter/renderImage.ts
- packages/core/src/layout-painter/renderPage.ts
- packages/core/src/layout-painter/renderPage/footnotes.ts
- packages/core/src/layout-painter/renderPage/headerFooter.ts
- packages/core/src/layout-painter/renderPage/virtualization.ts
- packages/core/src/layout-painter/renderParagraph.ts
- packages/core/src/layout-painter/renderParagraph/issue-777-image-align.test.ts
- packages/core/src/layout-painter/renderParagraph/line.ts
- packages/core/src/layout-painter/renderParagraph/runs.ts
- packages/core/src/layout-painter/renderParagraph/shared.ts
- packages/core/src/layout-painter/renderTable.ts
- packages/core/src/layout-painter/renderTableBorders.ts
- packages/core/src/layout-painter/renderTableCellFloating.ts
- packages/core/src/layout-painter/renderTextBox.ts
- packages/core/src/layout-painter/renderWatermark.ts
- packages/core/src/layout-painter/sdtBoundary.ts
- packages/core/src/managers/AutoSaveManager.ts
- packages/core/src/managers/ClipboardManager.ts
- packages/core/src/managers/EditorCoordinator.ts
- packages/core/src/managers/ErrorManager.ts
- packages/core/src/managers/LayoutCoordinator.ts
- packages/core/src/managers/PluginLifecycleManager.ts
- packages/core/src/managers/Subscribable.ts
- packages/core/src/managers/TableSelectionManager.ts
- packages/core/src/managers/index.ts
- packages/core/src/managers/types.ts
- packages/core/src/mcp/cli.ts
- packages/core/src/mcp/core-tools.ts
- packages/core/src/mcp/index.ts
- packages/core/src/mcp/server.ts
- packages/core/src/plugin-api/RenderedDomContext.ts
- packages/core/src/plugin-api/index.ts
- packages/core/src/plugin-api/resolveItemPositions.ts
- packages/core/src/plugin-api/types.ts
- packages/core/src/prosemirror/__tests__/applyFormatting.test.ts
- packages/core/src/prosemirror/__tests__/commentIdAllocator.test.ts
- packages/core/src/prosemirror/__tests__/commentOps.test.ts
- packages/core/src/prosemirror/__tests__/contentControls.test.ts
- packages/core/src/prosemirror/__tests__/ensureParaIds.test.ts
- packages/core/src/prosemirror/__tests__/imageCommit.test.ts
- packages/core/src/prosemirror/__tests__/imageResizeMath.test.ts
- packages/core/src/prosemirror/__tests__/paraText.test.ts
- packages/core/src/prosemirror/__tests__/queries.test.ts
- packages/core/src/prosemirror/__tests__/tableResize.test.ts
- packages/core/src/prosemirror/applyFormatting.ts
- packages/core/src/prosemirror/cellDragSelection.ts
- packages/core/src/prosemirror/commands/comments.ts
- packages/core/src/prosemirror/commands/formatting.ts
- packages/core/src/prosemirror/commands/image.ts
- packages/core/src/prosemirror/commands/index.ts
- packages/core/src/prosemirror/commands/pageBreak.ts
- packages/core/src/prosemirror/commands/paragraph.ts
- packages/core/src/prosemirror/commands/sectionBreak.test.ts
- packages/core/src/prosemirror/commands/sectionBreak.ts
- packages/core/src/prosemirror/commands/table.ts
- packages/core/src/prosemirror/commands/tableSplit.ts
- packages/core/src/prosemirror/commands/watermark.test.ts
- packages/core/src/prosemirror/commands/watermark.ts
- packages/core/src/prosemirror/commentIdAllocator.ts
- packages/core/src/prosemirror/commentOps.ts
- packages/core/src/prosemirror/contentControls.ts
- packages/core/src/prosemirror/conversion/__tests__/block-sdt-editing.test.ts
- packages/core/src/prosemirror/conversion/__tests__/footnoteToProseDoc.test.ts
- packages/core/src/prosemirror/conversion/__tests__/image-wrap-distance-zero.test.ts
- packages/core/src/prosemirror/conversion/__tests__/issue-472-floating-textbox.test.ts
- packages/core/src/prosemirror/conversion/__tests__/issue-712-run-shading-highlight.test.ts
- packages/core/src/prosemirror/conversion/__tests__/merge-font-family.test.ts
- packages/core/src/prosemirror/conversion/__tests__/rendered-page-break-roundtrip.test.ts
- packages/core/src/prosemirror/conversion/__tests__/replace-not-move.test.ts
- packages/core/src/prosemirror/conversion/__tests__/table-empty-row-vmerge.test.ts
- packages/core/src/prosemirror/conversion/__tests__/tracked-image-roundtrip.test.ts
- packages/core/src/prosemirror/conversion/__tests__/wrap-none-image-positioning.test.ts
- packages/core/src/prosemirror/conversion/fromProseDoc.ts
- packages/core/src/prosemirror/conversion/fromProseDoc/marks.ts
- packages/core/src/prosemirror/conversion/fromProseDoc/paragraph.ts
- packages/core/src/prosemirror/conversion/fromProseDoc/runs.ts
- packages/core/src/prosemirror/conversion/fromProseDoc/tables.ts
- packages/core/src/prosemirror/conversion/fromProseDoc/textbox.ts
- packages/core/src/prosemirror/conversion/index.ts
- packages/core/src/prosemirror/conversion/sdtAttrs.ts
- packages/core/src/prosemirror/conversion/textBoxAnchors.ts
- packages/core/src/prosemirror/conversion/toProseDoc.test.ts
- packages/core/src/prosemirror/conversion/toProseDoc.ts
- packages/core/src/prosemirror/conversion/toProseDoc/marks.ts
- packages/core/src/prosemirror/conversion/toProseDoc/paragraph.ts
- packages/core/src/prosemirror/conversion/toProseDoc/runs.ts
- packages/core/src/prosemirror/conversion/toProseDoc/tables.ts
- packages/core/src/prosemirror/conversion/toProseDoc/textbox.ts
- packages/core/src/prosemirror/editor.css
- packages/core/src/prosemirror/extensions/ExtensionManager.ts
- packages/core/src/prosemirror/extensions/StarterKit.ts
- packages/core/src/prosemirror/extensions/core/DocExtension.ts
- packages/core/src/prosemirror/extensions/core/HistoryExtension.ts
- packages/core/src/prosemirror/extensions/core/ParagraphExtension.ts
- packages/core/src/prosemirror/extensions/core/TextExtension.ts
- packages/core/src/prosemirror/extensions/create.ts
- packages/core/src/prosemirror/extensions/features/BaseKeymapExtension.ts
- packages/core/src/prosemirror/extensions/features/BidiShortcutExtension.ts
- packages/core/src/prosemirror/extensions/features/DropCursorExtension.ts
- packages/core/src/prosemirror/extensions/features/EmptyParagraphFormatExtension.test.ts
- packages/core/src/prosemirror/extensions/features/EmptyParagraphFormatExtension.ts
- packages/core/src/prosemirror/extensions/features/ImageDragExtension.ts
- packages/core/src/prosemirror/extensions/features/ImagePasteExtension.ts
- packages/core/src/prosemirror/extensions/features/ListExtension.ts
- packages/core/src/prosemirror/extensions/features/ParaIdAllocatorExtension.ts
- packages/core/src/prosemirror/extensions/features/ParagraphChangeTrackerExtension.test.ts
- packages/core/src/prosemirror/extensions/features/ParagraphChangeTrackerExtension.ts
- packages/core/src/prosemirror/extensions/features/PasteStyleInlinerExtension.ts
- packages/core/src/prosemirror/extensions/features/SelectionTrackerExtension.ts
- packages/core/src/prosemirror/extensions/index.ts
- packages/core/src/prosemirror/extensions/marks/AllCapsExtension.ts
- packages/core/src/prosemirror/extensions/marks/BoldExtension.ts
- packages/core/src/prosemirror/extensions/marks/CharacterSpacingExtension.ts
- packages/core/src/prosemirror/extensions/marks/CommentExtension.ts
- packages/core/src/prosemirror/extensions/marks/FontFamilyExtension.ts
- packages/core/src/prosemirror/extensions/marks/FontSizeExtension.ts
- packages/core/src/prosemirror/extensions/marks/FootnoteRefExtension.ts
- packages/core/src/prosemirror/extensions/marks/HiddenTextExtensions.ts
- packages/core/src/prosemirror/extensions/marks/HighlightExtension.ts
- packages/core/src/prosemirror/extensions/marks/HyperlinkExtension.ts
- packages/core/src/prosemirror/extensions/marks/ItalicExtension.ts
- packages/core/src/prosemirror/extensions/marks/RunStyleExtension.ts
- packages/core/src/prosemirror/extensions/marks/SmallCapsExtension.ts
- packages/core/src/prosemirror/extensions/marks/StrikeExtension.ts
- packages/core/src/prosemirror/extensions/marks/SubscriptExtension.ts
- packages/core/src/prosemirror/extensions/marks/SuperscriptExtension.ts
- packages/core/src/prosemirror/extensions/marks/TextColorExtension.ts
- packages/core/src/prosemirror/extensions/marks/TextEffectsExtensions.ts
- packages/core/src/prosemirror/extensions/marks/TrackedChangeExtensions.ts
- packages/core/src/prosemirror/extensions/marks/UnderlineExtension.ts
- packages/core/src/prosemirror/extensions/marks/markUtils.test.ts
- packages/core/src/prosemirror/extensions/marks/markUtils.ts
- packages/core/src/prosemirror/extensions/nodes/BlockSdtExtension.ts
- packages/core/src/prosemirror/extensions/nodes/FieldExtension.ts
- packages/core/src/prosemirror/extensions/nodes/HardBreakExtension.ts
- packages/core/src/prosemirror/extensions/nodes/HorizontalRuleExtension.ts
- packages/core/src/prosemirror/extensions/nodes/ImageExtension.ts
- packages/core/src/prosemirror/extensions/nodes/MathExtension.ts
- packages/core/src/prosemirror/extensions/nodes/PageBreakExtension.ts
- packages/core/src/prosemirror/extensions/nodes/SdtExtension.ts
- packages/core/src/prosemirror/extensions/nodes/ShapeExtension.ts
- packages/core/src/prosemirror/extensions/nodes/TabExtension.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/activeCellPlugin.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/borders.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/cellFormatting.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/delete.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/helpers.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/index.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/insert.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/selection.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/sizing.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/commands/tableStyle.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/context.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/index.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/paste.ts
- packages/core/src/prosemirror/extensions/nodes/TableExtension/specs.ts
- packages/core/src/prosemirror/extensions/nodes/TextBoxExtension.ts
- packages/core/src/prosemirror/extensions/types.ts
- packages/core/src/prosemirror/imageCommit.ts
- packages/core/src/prosemirror/index.ts
- packages/core/src/prosemirror/paraText.ts
- packages/core/src/prosemirror/plugins/documentStyles.ts
- packages/core/src/prosemirror/plugins/index.ts
- packages/core/src/prosemirror/plugins/revisionIds.ts
- packages/core/src/prosemirror/plugins/selectionTracker.test.ts
- packages/core/src/prosemirror/plugins/selectionTracker.ts
- packages/core/src/prosemirror/plugins/suggestionMode/adjacency.ts
- packages/core/src/prosemirror/plugins/suggestionMode/catch-all-marks.test.ts
- packages/core/src/prosemirror/plugins/suggestionMode/commands.ts
- packages/core/src/prosemirror/plugins/suggestionMode/handlers/delete.ts
- packages/core/src/prosemirror/plugins/suggestionMode/handlers/insert.ts
- packages/core/src/prosemirror/plugins/suggestionMode/handlers/paste.ts
- packages/core/src/prosemirror/plugins/suggestionMode/handlers/structural.ts
- packages/core/src/prosemirror/plugins/suggestionMode/index.test.ts
- packages/core/src/prosemirror/plugins/suggestionMode/index.ts
- packages/core/src/prosemirror/plugins/suggestionMode/markAttrs.ts
- packages/core/src/prosemirror/plugins/suggestionMode/state.ts
- packages/core/src/prosemirror/queries.ts
- packages/core/src/prosemirror/schema/index.ts
- packages/core/src/prosemirror/schema/marks.ts
- packages/core/src/prosemirror/schema/nodes.ts
- packages/core/src/prosemirror/selectionState.ts
- packages/core/src/prosemirror/styles/index.ts
- packages/core/src/prosemirror/styles/resolvedStyleAttrs.ts
- packages/core/src/prosemirror/styles/styleResolver.test.ts
- packages/core/src/prosemirror/styles/styleResolver.ts
- packages/core/src/prosemirror/tableResize.ts
- packages/core/src/prosemirror/template/prosemirror-plugin.ts
- packages/core/src/prosemirror/utils/ClickPositionResolver.ts
- packages/core/src/prosemirror/utils/LayoutSelectionGate.ts
- packages/core/src/prosemirror/utils/PointerEventHandler.ts
- packages/core/src/prosemirror/utils/extractTrackedChanges.test.ts
- packages/core/src/prosemirror/utils/extractTrackedChanges.ts
- packages/core/src/prosemirror/utils/findParagraphByParaId.ts
- packages/core/src/prosemirror/utils/findStartPosForParaId.test.ts
- packages/core/src/prosemirror/utils/findStartPosForParaId.ts
- packages/core/src/prosemirror/utils/tabCalculator.test.ts
- packages/core/src/prosemirror/utils/tabCalculator.ts
- packages/core/src/prosemirror/utils/visualLineNavigation.ts
- packages/core/src/styles/editor.css
- packages/core/src/types/agentApi.ts
- packages/core/src/types/colors.ts
- packages/core/src/types/content.ts
- packages/core/src/types/content/comment.ts
- packages/core/src/types/content/headerFooter.ts
- packages/core/src/types/content/image.ts
- packages/core/src/types/content/link.ts
- packages/core/src/types/content/math.ts
- packages/core/src/types/content/paragraph.ts
- packages/core/src/types/content/run.ts
- packages/core/src/types/content/sdt.ts
- packages/core/src/types/content/section.ts
- packages/core/src/types/content/shape.ts
- packages/core/src/types/content/table.ts
- packages/core/src/types/content/trackedChange.ts
- packages/core/src/types/content/watermark.ts
- packages/core/src/types/document.ts
- packages/core/src/types/formatting.ts
- packages/core/src/types/index.ts
- packages/core/src/types/lists.ts
- packages/core/src/types/styles.ts
- packages/core/src/utils/__tests__/autoScroll.test.ts
- packages/core/src/utils/__tests__/clipboard.test.ts
- packages/core/src/utils/__tests__/colorResolver.test.ts
- packages/core/src/utils/__tests__/textFormattingMerge.test.ts
- packages/core/src/utils/__tests__/textSelection.test.ts
- packages/core/src/utils/__tests__/units.test.ts
- packages/core/src/utils/autoScroll.ts
- packages/core/src/utils/cardStyles.ts
- packages/core/src/utils/clipboard.ts
- packages/core/src/utils/colorMode.ts
- packages/core/src/utils/colorResolver.ts
- packages/core/src/utils/comments.ts
- packages/core/src/utils/createDocument.ts
- packages/core/src/utils/cssTypes.ts
- packages/core/src/utils/docxInput.ts
- packages/core/src/utils/findReplace.ts
- packages/core/src/utils/findVerticalScrollParent.ts
- packages/core/src/utils/fontExtractor.ts
- packages/core/src/utils/fontFamilyMerge.ts
- packages/core/src/utils/fontLoader.test.ts
- packages/core/src/utils/fontLoader.ts
- packages/core/src/utils/fontOptions.ts
- packages/core/src/utils/fontResolver.ts
- packages/core/src/utils/formatToStyle.ts
- packages/core/src/utils/headingCollector.ts
- packages/core/src/utils/hexId.test.ts
- packages/core/src/utils/hexId.ts
- packages/core/src/utils/highlightColors.ts
- packages/core/src/utils/index.ts
- packages/core/src/utils/insertOperations.ts
- packages/core/src/utils/keyboardNavigation.ts
- packages/core/src/utils/listState.ts
- packages/core/src/utils/print.ts
- packages/core/src/utils/processTemplate.ts
- packages/core/src/utils/readDocxFile.ts
- packages/core/src/utils/reportIssue.ts
- packages/core/src/utils/selectionHighlight.ts
- packages/core/src/utils/sidebarConstants.ts
- packages/core/src/utils/stylePreview.ts
- packages/core/src/utils/tableSplitAlgorithm.ts
- packages/core/src/utils/textFormattingMerge.ts
- packages/core/src/utils/textMeasure.ts
- packages/core/src/utils/textSelection.ts
- packages/core/src/utils/units.ts
- packages/core/src/utils/variableDetector.ts
- packages/core/tailwind-preset.cjs
- packages/core/tsconfig.json
- packages/core/tsup.config.ts
- packages/i18n/CHANGELOG.md
- packages/i18n/LICENSE
- packages/i18n/README.md
- packages/i18n/de.json
- packages/i18n/en.json
- packages/i18n/fr.json
- packages/i18n/he.json
- packages/i18n/hi.json
- packages/i18n/locale-files.mjs
- packages/i18n/package.json
- packages/i18n/pl.json
- packages/i18n/pt-BR.json
- packages/i18n/src/de.ts
- packages/i18n/src/en.ts
- packages/i18n/src/fr.ts
- packages/i18n/src/he.ts
- packages/i18n/src/hi.ts
- packages/i18n/src/index.ts
- packages/i18n/src/pl.ts
- packages/i18n/src/pt-BR.ts
- packages/i18n/src/tr.ts
- packages/i18n/src/zh-CN.ts
- packages/i18n/tr.json
- packages/i18n/tsconfig.json
- packages/i18n/tsup.config.ts
- packages/i18n/zh-CN.json
- packages/nuxt/CHANGELOG.md
- packages/nuxt/LICENSE
- packages/nuxt/README.md
- packages/nuxt/package.json
- packages/nuxt/src/module.ts
- packages/nuxt/src/runtime/components/DocxEditor.ts
- packages/nuxt/src/shims-vue.d.ts
- packages/nuxt/tsconfig.json
- packages/react/CHANGELOG.md
- packages/react/LICENSE
- packages/react/README.md
- packages/react/package.json
- packages/react/src/__tests__/ref-conformance.test-d.ts
- packages/react/src/components/CommentMarginMarkers.tsx
- packages/react/src/components/ContextMenu.tsx
- packages/react/src/components/DocumentOutline.tsx
- packages/react/src/components/DocxEditor.tsx
- packages/react/src/components/DocxEditor/AgentPanelToggle.tsx
- packages/react/src/components/DocxEditor/CommentsSidebarToggle.tsx
- packages/react/src/components/DocxEditor/ContentControlWidgets.tsx
- packages/react/src/components/DocxEditor/DocxEditorDialogs.tsx
- packages/react/src/components/DocxEditor/DocxEditorOverlays.tsx
- packages/react/src/components/DocxEditor/DocxEditorPagedArea.tsx
- packages/react/src/components/DocxEditor/DocxEditorShell.tsx
- packages/react/src/components/DocxEditor/DocxEditorToolbar.tsx
- packages/react/src/components/DocxEditor/EditingModeDropdown.tsx
- packages/react/src/components/DocxEditor/HiddenHeaderFooterPMs.tsx
- packages/react/src/components/DocxEditor/HiddenProseMirror.tsx
- packages/react/src/components/DocxEditor/LocalizedAgentPanel.tsx
- packages/react/src/components/DocxEditor/OutlineToggleButton.tsx
- packages/react/src/components/DocxEditor/PageIndicator.tsx
- packages/react/src/components/DocxEditor/PagedEditor.tsx
- packages/react/src/components/DocxEditor/commentFactories.ts
- packages/react/src/components/DocxEditor/hooks/useActiveEditor.ts
- packages/react/src/components/DocxEditor/hooks/useCommentLifecycle.ts
- packages/react/src/components/DocxEditor/hooks/useCommentManagement.ts
- packages/react/src/components/DocxEditor/hooks/useContextMenus.ts
- packages/react/src/components/DocxEditor/hooks/useDocumentLoader.ts
- packages/react/src/components/DocxEditor/hooks/useDocxEditorRefApi.ts
- packages/react/src/components/DocxEditor/hooks/useFileIO.ts
- packages/react/src/components/DocxEditor/hooks/useFindReplaceBridge.ts
- packages/react/src/components/DocxEditor/hooks/useFloatingCommentBtn.ts
- packages/react/src/components/DocxEditor/hooks/useFormattingActions.ts
- packages/react/src/components/DocxEditor/hooks/useHeaderFooterEditing.ts
- packages/react/src/components/DocxEditor/hooks/useHyperlinkActions.ts
- packages/react/src/components/DocxEditor/hooks/useImageActions.ts
- packages/react/src/components/DocxEditor/hooks/useImageInteractions.ts
- packages/react/src/components/DocxEditor/hooks/useKeyboardShortcuts.ts
- packages/react/src/components/DocxEditor/hooks/useLayoutPipeline.ts
- packages/react/src/components/DocxEditor/hooks/useLayoutTriggers.ts
- packages/react/src/components/DocxEditor/hooks/useOutlineSidebar.ts
- packages/react/src/components/DocxEditor/hooks/usePageSetupControls.ts
- packages/react/src/components/DocxEditor/hooks/usePagedEditorRefApi.ts
- packages/react/src/components/DocxEditor/hooks/usePagedScrollApi.ts
- packages/react/src/components/DocxEditor/hooks/usePagesPointer.ts
- packages/react/src/components/DocxEditor/hooks/useResetEditorState.ts
- packages/react/src/components/DocxEditor/hooks/useScrollPageInfo.ts
- packages/react/src/components/DocxEditor/hooks/useSelectionOverlay.ts
- packages/react/src/components/DocxEditor/hooks/useSelectionTracker.ts
- packages/react/src/components/DocxEditor/hooks/useTableDialogs.ts
- packages/react/src/components/DocxEditor/hooks/useTableResizeState.ts
- packages/react/src/components/DocxEditor/hooks/useWatermarkControls.ts
- packages/react/src/components/DocxEditor/internals/ClickPositionResolver.ts
- packages/react/src/components/DocxEditor/internals/LayoutSelectionGate.test.ts
- packages/react/src/components/DocxEditor/internals/LayoutSelectionGate.ts
- packages/react/src/components/DocxEditor/internals/PagedEditor.tableMeasure.test.ts
- packages/react/src/components/DocxEditor/internals/PointerEventHandler.ts
- packages/react/src/components/DocxEditor/internals/domSelection.ts
- packages/react/src/components/DocxEditor/internals/editing-modes.ts
- packages/react/src/components/DocxEditor/internals/measureBlock.ts
- packages/react/src/components/DocxEditor/internals/pmAnchors.ts
- packages/react/src/components/DocxEditor/internals/scrollRestore.ts
- packages/react/src/components/DocxEditor/internals/scrollUtils.ts
- packages/react/src/components/DocxEditor/internals/sidebarAnchorPositions.ts
- packages/react/src/components/DocxEditor/internals/styles.ts
- packages/react/src/components/DocxEditor/internals/tableResize.ts
- packages/react/src/components/DocxEditor/overlays/DecorationLayer.tsx
- packages/react/src/components/DocxEditor/overlays/ImageSelectionOverlay.tsx
- packages/react/src/components/DocxEditor/overlays/SelectionOverlay.tsx
- packages/react/src/components/DocxEditor/overlays/TableInsertButton.tsx
- packages/react/src/components/DocxEditor/types.ts
- packages/react/src/components/DocxEditorHelpers.tsx
- packages/react/src/components/EditorToolbar.tsx
- packages/react/src/components/EditorToolbarContext.tsx
- packages/react/src/components/ErrorBoundary.tsx
- packages/react/src/components/ImageContextMenu.tsx
- packages/react/src/components/InlineHeaderFooterEditor.tsx
- packages/react/src/components/ResponsePreview.tsx
- packages/react/src/components/TextContextMenu.tsx
- packages/react/src/components/TitleBar.tsx
- packages/react/src/components/Toolbar.tsx
- packages/react/src/components/UnifiedSidebar.tsx
- packages/react/src/components/dialogs/FindReplaceDialog.tsx
- packages/react/src/components/dialogs/FootnotePropertiesDialog.tsx
- packages/react/src/components/dialogs/HyperlinkDialog.tsx
- packages/react/src/components/dialogs/ImagePositionDialog.tsx
- packages/react/src/components/dialogs/ImagePropertiesDialog.tsx
- packages/react/src/components/dialogs/InsertImageDialog.tsx
- packages/react/src/components/dialogs/InsertSymbolDialog.tsx
- packages/react/src/components/dialogs/InsertTableDialog.tsx
- packages/react/src/components/dialogs/KeyboardShortcutsDialog.tsx
- packages/react/src/components/dialogs/KeyboardShortcutsDialog/ShortcutItem.tsx
- packages/react/src/components/dialogs/KeyboardShortcutsDialog/data.ts
- packages/react/src/components/dialogs/PageSetupDialog.tsx
- packages/react/src/components/dialogs/PasteSpecialDialog.tsx
- packages/react/src/components/dialogs/SplitCellDialog.tsx
- packages/react/src/components/dialogs/TablePropertiesDialog.tsx
- packages/react/src/components/dialogs/WatermarkDialog.tsx
- packages/react/src/components/dialogs/findReplaceUtils.ts
- packages/react/src/components/dialogs/index.ts
- packages/react/src/components/edit/EditableImage.tsx
- packages/react/src/components/reportIssue.ts
- packages/react/src/components/sidebar/AddCommentCard.tsx
- packages/react/src/components/sidebar/CommentCard.tsx
- packages/react/src/components/sidebar/ReplyInput.tsx
- packages/react/src/components/sidebar/ReplyThread.tsx
- packages/react/src/components/sidebar/ResolvedCommentMarker.tsx
- packages/react/src/components/sidebar/TrackedChangeCard.tsx
- packages/react/src/components/sidebar/cardStyles.ts
- packages/react/src/components/sidebar/cardUtils.ts
- packages/react/src/components/sidebar/constants.ts
- packages/react/src/components/sidebar/resolveItemPositions.ts
- packages/react/src/components/tableSplit.ts
- packages/react/src/components/toolbarUtils.ts
- packages/react/src/components/ui/AlignmentButtons.tsx
- packages/react/src/components/ui/Button.tsx
- packages/react/src/components/ui/ColorPicker.tsx
- packages/react/src/components/ui/FontPicker.tsx
- packages/react/src/components/ui/FontSizePicker.tsx
- packages/react/src/components/ui/HorizontalRuler.tsx
- packages/react/src/components/ui/HyperlinkPopup.tsx
- packages/react/src/components/ui/IconGridDropdown.tsx
- packages/react/src/components/ui/Icons.tsx
- packages/react/src/components/ui/ImageTransformDropdown.tsx
- packages/react/src/components/ui/ImageWrapDropdown.tsx
- packages/react/src/components/ui/LineSpacingPicker.tsx
- packages/react/src/components/ui/ListButtons.tsx
- packages/react/src/components/ui/LoadingIndicator.tsx
- packages/react/src/components/ui/MaterialSymbol.tsx
- packages/react/src/components/ui/MenuDropdown.tsx
- packages/react/src/components/ui/PrintPreview.tsx
- packages/react/src/components/ui/ResponsiveToolbar.tsx
- packages/react/src/components/ui/Select.tsx
- packages/react/src/components/ui/StylePicker.tsx
- packages/react/src/components/ui/TableBorderColorPicker.tsx
- packages/react/src/components/ui/TableBorderPicker.tsx
- packages/react/src/components/ui/TableBorderWidthPicker.tsx
- packages/react/src/components/ui/TableCellFillPicker.tsx
- packages/react/src/components/ui/TableGridInline.tsx
- packages/react/src/components/ui/TableGridPicker.tsx
- packages/react/src/components/ui/TableInsertButtons.tsx
- packages/react/src/components/ui/TableMergeButton.tsx
- packages/react/src/components/ui/TableMoreDropdown.tsx
- packages/react/src/components/ui/TableOptionsDropdown.tsx
- packages/react/src/components/ui/TableStyleGallery.tsx
- packages/react/src/components/ui/TableToolbar.tsx
- packages/react/src/components/ui/TableToolbar/operations.ts
- packages/react/src/components/ui/Tooltip.tsx
- packages/react/src/components/ui/UnsavedIndicator.tsx
- packages/react/src/components/ui/VerticalRuler.tsx
- packages/react/src/components/ui/ZoomControl.tsx
- packages/react/src/components/ui/fontPickerValue.test.ts
- packages/react/src/components/ui/fontPickerValue.ts
- packages/react/src/components/ui/normalizeFontFamilies.test.ts
- packages/react/src/components/ui/normalizeFontFamilies.ts
- packages/react/src/hooks/index.ts
- packages/react/src/hooks/useAspectLockedSize.ts
- packages/react/src/hooks/useAutoSave.ts
- packages/react/src/hooks/useClipboard.ts
- packages/react/src/hooks/useCommentSidebarItems.tsx
- packages/react/src/hooks/useDragAutoScroll.ts
- packages/react/src/hooks/useFindReplace.ts
- packages/react/src/hooks/useFixedDropdown.ts
- packages/react/src/hooks/useFontLifecycle.ts
- packages/react/src/hooks/useHistory.ts
- packages/react/src/hooks/useSelectionHighlight.ts
- packages/react/src/hooks/useTableSelection.ts
- packages/react/src/hooks/useTrackedChanges.ts
- packages/react/src/hooks/useVisualLineNavigation.ts
- packages/react/src/hooks/useWheelZoom.ts
- packages/react/src/i18n/LocaleContext.tsx
- packages/react/src/i18n/index.ts
- packages/react/src/index.ts
- packages/react/src/lib/utils.ts
- packages/react/src/plugin-api/PluginHost.tsx
- packages/react/src/plugin-api/RenderedDomContext.ts
- packages/react/src/plugin-api/index.ts
- packages/react/src/plugin-api/types.ts
- packages/react/src/plugins/template/README.md
- packages/react/src/plugins/template/components/TemplateChip.tsx
- packages/react/src/plugins/template/components/TemplateHighlightOverlay.tsx
- packages/react/src/plugins/template/index.ts
- packages/react/src/plugins/template/prosemirror-plugin.ts
- packages/react/src/renderAsync.ts
- packages/react/src/styles/editor.css
- packages/react/src/styles/index.ts
- packages/react/src/styles/zIndex.ts
- packages/react/src/ui.ts
- packages/react/tailwind.config.js
- packages/react/tsconfig.api.json
- packages/react/tsconfig.json
- packages/react/tsup.config.ts
- packages/vue/CHANGELOG.md
- packages/vue/LICENSE
- packages/vue/README.md
- packages/vue/package.json
- packages/vue/postcss.config.js
- packages/vue/src/__tests__/component-props-conformance.test-d.ts
- packages/vue/src/__tests__/ref-conformance.test-d.ts
- packages/vue/src/components/CommentMarginMarkers.vue
- packages/vue/src/components/ContentControlWidgets.vue
- packages/vue/src/components/ContextMenu.vue
- packages/vue/src/components/DecorationLayer.vue
- packages/vue/src/components/DocumentName.vue
- packages/vue/src/components/DocumentOutline.vue
- packages/vue/src/components/DocxEditor.css
- packages/vue/src/components/DocxEditor.vue
- packages/vue/src/components/DocxEditor/DocxEditorDialogs.vue
- packages/vue/src/components/DocxEditor/DocxEditorMenuBar.vue
- packages/vue/src/components/DocxEditor/DocxEditorOverlays.vue
- packages/vue/src/components/DocxEditor/types.ts
- packages/vue/src/components/DocxEditorHelpers.vue
- packages/vue/src/components/EditingModeDropdown.vue
- packages/vue/src/components/EditorToolbar.vue
- packages/vue/src/components/EditorToolbarContext.ts
- packages/vue/src/components/ErrorBoundary.vue
- packages/vue/src/components/ImageContextMenu.vue
- packages/vue/src/components/ImageSelectionOverlay.vue
- packages/vue/src/components/InlineHeaderFooterEditor.vue
- packages/vue/src/components/MenuBar.vue
- packages/vue/src/components/PageIndicator.vue
- packages/vue/src/components/PrintButton.vue
- packages/vue/src/components/ResponsePreview.vue
- packages/vue/src/components/TextContextMenu.vue
- packages/vue/src/components/TitleBar.vue
- packages/vue/src/components/Toolbar.vue
- packages/vue/src/components/Toolbar/presets.ts
- packages/vue/src/components/UnifiedSidebar.vue
- packages/vue/src/components/dialogs/FindReplaceDialog.vue
- packages/vue/src/components/dialogs/FootnotePropertiesDialog.vue
- packages/vue/src/components/dialogs/HyperlinkDialog.vue
- packages/vue/src/components/dialogs/ImagePositionDialog.vue
- packages/vue/src/components/dialogs/ImagePropertiesDialog.vue
- packages/vue/src/components/dialogs/InsertImageDialog.vue
- packages/vue/src/components/dialogs/InsertSymbolDialog.vue
- packages/vue/src/components/dialogs/InsertTableDialog.vue
- packages/vue/src/components/dialogs/KeyboardShortcutsDialog.vue
- packages/vue/src/components/dialogs/PageSetupDialog.vue
- packages/vue/src/components/dialogs/PasteSpecialDialog.vue
- packages/vue/src/components/dialogs/SplitCellDialog.vue
- packages/vue/src/components/dialogs/TablePropertiesDialog.vue
- packages/vue/src/components/dialogs/WatermarkDialog.vue
- packages/vue/src/components/dialogs/index.ts
- packages/vue/src/components/imageContextMenuTypes.ts
- packages/vue/src/components/imageSelectionTypes.ts
- packages/vue/src/components/insertTableState.ts
- packages/vue/src/components/sidebar/AddCommentCard.vue
- packages/vue/src/components/sidebar/Avatar.vue
- packages/vue/src/components/sidebar/CommentCard.vue
- packages/vue/src/components/sidebar/ReplyInput.vue
- packages/vue/src/components/sidebar/ReplyThread.vue
- packages/vue/src/components/sidebar/ResolvedCommentMarker.vue
- packages/vue/src/components/sidebar/TrackedChangeCard.vue
- packages/vue/src/components/sidebar/cardStyles.ts
- packages/vue/src/components/sidebar/cardUtils.ts
- packages/vue/src/components/sidebar/resolveItemPositions.ts
- packages/vue/src/components/sidebar/sidebarUtils.ts
- packages/vue/src/components/tableStylePresets.ts
- packages/vue/src/components/toolbarUtils.ts
- packages/vue/src/components/ui/AlignmentButtons.vue
- packages/vue/src/components/ui/Button.vue
- packages/vue/src/components/ui/ColorPicker.vue
- packages/vue/src/components/ui/FontPicker.vue
- packages/vue/src/components/ui/FontSizePicker.vue
- packages/vue/src/components/ui/HorizontalRuler.vue
- packages/vue/src/components/ui/HyperlinkPopup.vue
- packages/vue/src/components/ui/IconGridDropdown.vue
- packages/vue/src/components/ui/Icons.ts
- packages/vue/src/components/ui/ImageTransformDropdown.vue
- packages/vue/src/components/ui/ImageWrapDropdown.vue
- packages/vue/src/components/ui/LineSpacingPicker.vue
- packages/vue/src/components/ui/ListButtons.vue
- packages/vue/src/components/ui/LoadingIndicator.vue
- packages/vue/src/components/ui/MaterialSymbol.vue
- packages/vue/src/components/ui/MenuDropdown.vue
- packages/vue/src/components/ui/Popover.vue
- packages/vue/src/components/ui/PrintPreview.vue
- packages/vue/src/components/ui/ResponsiveToolbar.vue
- packages/vue/src/components/ui/Select.vue
- packages/vue/src/components/ui/StylePicker.vue
- packages/vue/src/components/ui/TableBorderColorPicker.vue
- packages/vue/src/components/ui/TableBorderPicker.vue
- packages/vue/src/components/ui/TableBorderWidthPicker.vue
- packages/vue/src/components/ui/TableCellFillPicker.vue
- packages/vue/src/components/ui/TableGridInline.vue
- packages/vue/src/components/ui/TableGridPicker.vue
- packages/vue/src/components/ui/TableInsertButtons.vue
- packages/vue/src/components/ui/TableMergeButton.vue
- packages/vue/src/components/ui/TableMoreDropdown.vue
- packages/vue/src/components/ui/TableStyleGallery.vue
- packages/vue/src/components/ui/TableToolbar.vue
- packages/vue/src/components/ui/Tooltip.vue
- packages/vue/src/components/ui/UnsavedIndicator.vue
- packages/vue/src/components/ui/VerticalRuler.vue
- packages/vue/src/components/ui/ZoomControl.vue
- packages/vue/src/components/ui/fontPickerValue.test.ts
- packages/vue/src/components/ui/fontPickerValue.ts
- packages/vue/src/components/ui/hyperlinkPopupTypes.ts
- packages/vue/src/components/ui/icon-paths.json
- packages/vue/src/composables/imageOverlayRect.test.ts
- packages/vue/src/composables/imageOverlayRect.ts
- packages/vue/src/composables/index.ts
- packages/vue/src/composables/useAutoSave.ts
- packages/vue/src/composables/useClipboard.ts
- packages/vue/src/composables/useColorMode.ts
- packages/vue/src/composables/useCommentLifecycle.ts
- packages/vue/src/composables/useCommentManagement.ts
- packages/vue/src/composables/useCommentSidebarItems.test.ts
- packages/vue/src/composables/useCommentSidebarItems.ts
- packages/vue/src/composables/useContextMenus.ts
- packages/vue/src/composables/useDocumentLifecycle.ts
- packages/vue/src/composables/useDocxEditor.ts
- packages/vue/src/composables/useDocxEditorRefApi.ts
- packages/vue/src/composables/useDragAutoScroll.ts
- packages/vue/src/composables/useFileIO.ts
- packages/vue/src/composables/useFindReplace.ts
- packages/vue/src/composables/useFixedDropdown.ts
- packages/vue/src/composables/useFontLifecycle.ts
- packages/vue/src/composables/useFormattingActions.ts
- packages/vue/src/composables/useHistory.ts
- packages/vue/src/composables/useHostCallbacks.ts
- packages/vue/src/composables/useHyperlinkManagement.ts
- packages/vue/src/composables/useImageActions.ts
- packages/vue/src/composables/useKeyboardShortcuts.ts
- packages/vue/src/composables/useMenuActions.ts
- packages/vue/src/composables/useOutlineSidebar.ts
- packages/vue/src/composables/usePageSetupControls.ts
- packages/vue/src/composables/usePagesPointer.ts
- packages/vue/src/composables/useParagraphStyleOptions.ts
- packages/vue/src/composables/useSelectionHighlight.ts
- packages/vue/src/composables/useSelectionSync.ts
- packages/vue/src/composables/useTableResize.ts
- packages/vue/src/composables/useTableSelection.ts
- packages/vue/src/composables/useToolbarDropdowns.ts
- packages/vue/src/composables/useToolbarFontSize.ts
- packages/vue/src/composables/useTrackedChanges.ts
- packages/vue/src/composables/useVisualLineNavigation.ts
- packages/vue/src/composables/useWatermarkControls.ts
- packages/vue/src/composables/useWheelZoom.ts
- packages/vue/src/composables/useZoom.ts
- packages/vue/src/i18n/LocaleContext.ts
- packages/vue/src/i18n/index.ts
- packages/vue/src/index.ts
- packages/vue/src/lib/utils.ts
- packages/vue/src/plugin-api/PluginHost.vue
- packages/vue/src/plugin-api/RenderedDomContext.ts
- packages/vue/src/plugin-api/index.ts
- packages/vue/src/plugin-api/types.ts
- packages/vue/src/plugins/template/components/TemplateChip.vue
- packages/vue/src/plugins/template/components/TemplateHighlightOverlay.vue
- packages/vue/src/renderAsync.ts
- packages/vue/src/shims-vue.d.ts
- packages/vue/src/styles/editor.css
- packages/vue/src/styles/index.ts
- packages/vue/src/styles/zIndex.ts
- packages/vue/src/ui.ts
- packages/vue/src/utils/domQueries.ts
- packages/vue/src/utils/imageClipboard.ts
- packages/vue/src/utils/refApiQueries.ts
- packages/vue/tailwind.config.js
- packages/vue/tsconfig.api.json
- packages/vue/tsconfig.json
- packages/vue/vite.config.ts
- playwright.config.ts
- postcss.config.js
- reference/README.md
- reference/ecma-376/part1/schemas/dml-chart.xsd
- reference/ecma-376/part1/schemas/dml-chartDrawing.xsd
- reference/ecma-376/part1/schemas/dml-diagram.xsd
- reference/ecma-376/part1/schemas/dml-lockedCanvas.xsd
- reference/ecma-376/part1/schemas/dml-main.xsd
- reference/ecma-376/part1/schemas/dml-picture.xsd
- reference/ecma-376/part1/schemas/dml-spreadsheetDrawing.xsd
- reference/ecma-376/part1/schemas/dml-wordprocessingDrawing.xsd
- reference/ecma-376/part1/schemas/pml.xsd
- reference/ecma-376/part1/schemas/shared-additionalCharacteristics.xsd
- reference/ecma-376/part1/schemas/shared-bibliography.xsd
- reference/ecma-376/part1/schemas/shared-commonSimpleTypes.xsd
- reference/ecma-376/part1/schemas/shared-customXmlDataProperties.xsd
- reference/ecma-376/part1/schemas/shared-customXmlSchemaProperties.xsd
- reference/ecma-376/part1/schemas/shared-documentPropertiesCustom.xsd
- reference/ecma-376/part1/schemas/shared-documentPropertiesExtended.xsd
- reference/ecma-376/part1/schemas/shared-documentPropertiesVariantTypes.xsd
- reference/ecma-376/part1/schemas/shared-math.xsd
- reference/ecma-376/part1/schemas/shared-relationshipReference.xsd
- reference/ecma-376/part1/schemas/sml.xsd
- reference/ecma-376/part1/schemas/wml.xsd
- reference/quick-ref/themes-colors.md
- reference/quick-ref/wordprocessingml.md
- screenshots/inline-checkbox-controls-after.png
- screenshots/inline-checkbox-controls-before.png
- scripts/api-extractor.mjs
- scripts/build-docs-json.mjs
- scripts/check-adapter-css-thin.mjs
- scripts/check-consumer-install.mjs
- scripts/check-editor-contract.mjs
- scripts/check-export-parity.mjs
- scripts/check-feature-parity.mjs
- scripts/check-i18n-bundle-size.mjs
- scripts/check-parity-contract.mjs
- scripts/check-public-docs-surface.mjs
- scripts/create-alternatecontent-textbox-fixture.mjs
- scripts/create-border-overlay-layout-demo.mjs
- scripts/create-empty-table-row-vmerge-fixture.mjs
- scripts/create-float-wrap-test.mjs
- scripts/create-footnote-bottom-overflow-fixture.mjs
- scripts/create-footnote-overlap-regression-fixture.mjs
- scripts/create-inline-checkbox-controls-fixture.mjs
- scripts/create-issue-472-floating-textbox-fixture.mjs
- scripts/create-sdt-header-fixture.mjs
- scripts/create-section-inheritance-fixture.mjs
- scripts/create-toc-hyperlink-fixture.mjs
- scripts/create-watermark-fixture.mjs
- scripts/extract-icons.mjs
- scripts/fetch-reference.mjs
- scripts/generate-large-doc-issue68.ts
- scripts/inject-package-doc.mjs
- scripts/lib/api-extractor-runner.mjs
- scripts/lib/docs-model.mjs
- scripts/lib/i18n-keys.mjs
- scripts/lib/inject-package-doc.mjs
- scripts/lib/named-exports.mjs
- scripts/lib/packages.mjs
- scripts/lib/parity-report.mjs
- scripts/lib/source-index.mjs
- scripts/make-block-sdt-fixture.mjs
- scripts/make-repeating-fixture.mjs
- scripts/make-showcase-fixture.mjs
- scripts/make-widget-fixture.mjs
- scripts/parity-prepublish.mjs
- scripts/parity/parity.contract.json
- scripts/perf/cold-start.mjs
- scripts/perf/input-latency.mjs
- scripts/perf/lib/editor-perf.mjs
- scripts/perf/save.mjs
- scripts/perf/scroll-fps.mjs
- scripts/validate-i18n.mjs
- signatures/version1/cla.json
- tailwind.config.js
- tsconfig.json
- vercel.json