@beyondwork/docx-react-component 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-32W6IVQE.js +7725 -0
- package/dist/chunk-32W6IVQE.js.map +1 -0
- package/dist/index.cjs +23722 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +7 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +16011 -0
- package/dist/index.js.map +1 -0
- package/dist/public-types-DqCURAz8.d.cts +1152 -0
- package/dist/public-types-DqCURAz8.d.ts +1152 -0
- package/dist/tailwind.cjs +8295 -0
- package/dist/tailwind.cjs.map +1 -0
- package/dist/tailwind.d.cts +323 -0
- package/dist/tailwind.d.ts +323 -0
- package/dist/tailwind.js +553 -0
- package/dist/tailwind.js.map +1 -0
- package/package.json +52 -31
- package/.codex/config.toml +0 -5
- package/.corepack/v1/pnpm/10.30.3/.corepack +0 -1
- package/.corepack/v1/pnpm/10.30.3/LICENSE +0 -22
- package/.corepack/v1/pnpm/10.30.3/README.md +0 -240
- package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp +0 -6
- package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp.cmd +0 -5
- package/.corepack/v1/pnpm/10.30.3/dist/pnpm.cjs +0 -195400
- package/.corepack/v1/pnpm/10.30.3/dist/pnpmrc +0 -2
- package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-arm64-2HJ4WGO6.node +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-x64-3G3H6IW4.node +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-arm64-msvc-Q6BARPPB.node +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-x64-msvc-J2TZHRQI.node +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.bash +0 -31
- package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.fish +0 -22
- package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.ps1 +0 -193
- package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.zsh +0 -27
- package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/worker.js +0 -10119
- package/.corepack/v1/pnpm/10.30.3/package.json +0 -192
- package/.cursor/mcp.json +0 -7
- package/.github/workflows/ci.yml +0 -35
- package/.mcp.json +0 -7
- package/.openclaw/workspace-state.json +0 -4
- package/.pnpmrc.json +0 -1
- package/.wave-launch.sh +0 -7
- package/.workspace-marker +0 -1
- package/AGENTS.md +0 -78
- package/CHANGELOG.md +0 -177
- package/DESIGN.md +0 -929
- package/HEARTBEAT.md +0 -7
- package/IDENTITY.md +0 -23
- package/SOUL.md +0 -36
- package/TOOLS.md +0 -40
- package/USER.md +0 -17
- package/docs/README.md +0 -107
- package/docs/agents/wave-cont-eval-role.md +0 -36
- package/docs/agents/wave-cont-qa-role.md +0 -52
- package/docs/agents/wave-deploy-verifier-role.md +0 -34
- package/docs/agents/wave-design-role.md +0 -47
- package/docs/agents/wave-documentation-role.md +0 -34
- package/docs/agents/wave-infra-role.md +0 -34
- package/docs/agents/wave-integration-role.md +0 -37
- package/docs/agents/wave-launcher-role.md +0 -41
- package/docs/agents/wave-orchestrator-role.md +0 -52
- package/docs/agents/wave-planner-role.md +0 -39
- package/docs/agents/wave-security-role.md +0 -40
- package/docs/architecture/docx/README.md +0 -10
- package/docs/architecture/future/README.md +0 -8
- package/docs/architecture/ooxml-upgrade-analysis.md +0 -134
- package/docs/architecture/platform/shared-openxml-editor-platform.md +0 -153
- package/docs/architecture/xlsx/canonical-workbook-model-and-commands.md +0 -187
- package/docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md +0 -150
- package/docs/comment-redline-overview.md +0 -350
- package/docs/concepts/context7-vs-skills.md +0 -118
- package/docs/concepts/operating-modes.md +0 -91
- package/docs/concepts/runtime-agnostic-orchestration.md +0 -111
- package/docs/concepts/what-is-a-wave.md +0 -217
- package/docs/context7/bundles.json +0 -222
- package/docs/context7/planner-agent/README.md +0 -28
- package/docs/context7/planner-agent/manifest.json +0 -83
- package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +0 -3283
- package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +0 -1699
- package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +0 -2251
- package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +0 -1729
- package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +0 -3747
- package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +0 -1675
- package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +0 -1173
- package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +0 -5211
- package/docs/context7/planner-agent/topics/planning-and-orchestration.md +0 -24
- package/docs/evals/arm-templates/README.md +0 -13
- package/docs/evals/arm-templates/full-wave.json +0 -15
- package/docs/evals/arm-templates/single-agent.json +0 -15
- package/docs/evals/benchmark-catalog.json +0 -670
- package/docs/evals/cases/README.md +0 -47
- package/docs/evals/cases/wave-blackboard-inbox-targeting.json +0 -73
- package/docs/evals/cases/wave-contradiction-conflict.json +0 -104
- package/docs/evals/cases/wave-expert-routing-preservation.json +0 -69
- package/docs/evals/cases/wave-hidden-profile-private-evidence.json +0 -81
- package/docs/evals/cases/wave-premature-closure-guard.json +0 -71
- package/docs/evals/cases/wave-silo-cross-agent-state.json +0 -77
- package/docs/evals/cases/wave-simultaneous-lockstep.json +0 -92
- package/docs/evals/external-benchmarks.json +0 -85
- package/docs/evals/external-command-config.sample.json +0 -9
- package/docs/evals/external-command-config.swe-bench-pro.json +0 -8
- package/docs/evals/pilots/README.md +0 -47
- package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +0 -64
- package/docs/evals/pilots/swe-bench-pro-public-pilot.json +0 -111
- package/docs/evals/wave-benchmark-program.md +0 -302
- package/docs/guides/planner.md +0 -220
- package/docs/guides/recommendations-0.8.9.md +0 -133
- package/docs/guides/signal-wrappers.md +0 -165
- package/docs/guides/terminal-surfaces.md +0 -96
- package/docs/image copy.png +0 -0
- package/docs/image.png +0 -0
- package/docs/images/image.png +0 -0
- package/docs/legal-feedback-architecture.md +0 -498
- package/docs/plans/component-cutover-matrix.json +0 -1072
- package/docs/plans/component-cutover-matrix.md +0 -307
- package/docs/plans/context7-wave-orchestrator.md +0 -155
- package/docs/plans/current-state.md +0 -198
- package/docs/plans/docx/README.md +0 -9
- package/docs/plans/examples/wave-benchmark-improvement.md +0 -108
- package/docs/plans/examples/wave-example-live-proof.md +0 -435
- package/docs/plans/master-plan.md +0 -224
- package/docs/plans/migration.md +0 -538
- package/docs/plans/operations/README.md +0 -7
- package/docs/plans/operations/wave-10-word-certification.md +0 -87
- package/docs/plans/operations/wave-8-railway-staging.md +0 -153
- package/docs/plans/operations/wave-9-manual-certification.md +0 -73
- package/docs/plans/platform/README.md +0 -9
- package/docs/plans/reference/legal-checklist-coverage.md +0 -258
- package/docs/plans/wave-orchestrator.md +0 -423
- package/docs/plans/waves/README.md +0 -75
- package/docs/plans/waves/completed/wave-0.md +0 -195
- package/docs/plans/waves/completed/wave-1.md +0 -379
- package/docs/plans/waves/completed/wave-10.md +0 -670
- package/docs/plans/waves/completed/wave-11.md +0 -335
- package/docs/plans/waves/completed/wave-12.md +0 -417
- package/docs/plans/waves/completed/wave-13.md +0 -316
- package/docs/plans/waves/completed/wave-14.md +0 -319
- package/docs/plans/waves/completed/wave-15.md +0 -321
- package/docs/plans/waves/completed/wave-16.md +0 -316
- package/docs/plans/waves/completed/wave-17.md +0 -331
- package/docs/plans/waves/completed/wave-18.md +0 -328
- package/docs/plans/waves/completed/wave-2.md +0 -438
- package/docs/plans/waves/completed/wave-3.md +0 -435
- package/docs/plans/waves/completed/wave-4.md +0 -430
- package/docs/plans/waves/completed/wave-5.md +0 -430
- package/docs/plans/waves/completed/wave-6.md +0 -430
- package/docs/plans/waves/completed/wave-7.md +0 -526
- package/docs/plans/waves/completed/wave-8.md +0 -596
- package/docs/plans/waves/completed/wave-9.md +0 -552
- package/docs/plans/waves/deferred/README.md +0 -14
- package/docs/plans/waves/deferred/encrypted-intake-contracts.md +0 -282
- package/docs/plans/waves/deferred/legal-feedback-wave-expansion.md +0 -308
- package/docs/plans/waves/deferred/wave-encrypted-intake.md +0 -451
- package/docs/plans/waves/design/README.md +0 -5
- package/docs/plans/waves/design/wave-1-a1.md +0 -309
- package/docs/plans/waves/reviews/README.md +0 -5
- package/docs/plans/waves/reviews/wave-0-cont-qa.md +0 -151
- package/docs/plans/waves/reviews/wave-1-cont-qa.md +0 -46
- package/docs/plans/waves/reviews/wave-10-accessibility-and-design.md +0 -51
- package/docs/plans/waves/reviews/wave-10-cont-qa.md +0 -24
- package/docs/plans/waves/reviews/wave-10-dashboard-proof.md +0 -46
- package/docs/plans/waves/reviews/wave-10-performance-signoff.md +0 -55
- package/docs/plans/waves/reviews/wave-10-regression-proof.md +0 -23
- package/docs/plans/waves/reviews/wave-10-release-audit.md +0 -31
- package/docs/plans/waves/reviews/wave-10-service-proof.md +0 -83
- package/docs/plans/waves/reviews/wave-10-word-certification.md +0 -31
- package/docs/plans/waves/reviews/wave-18-ai-contract-closure.md +0 -277
- package/docs/plans/waves/reviews/wave-18-cont-qa.md +0 -255
- package/docs/plans/waves/reviews/wave-18-parity-proof.md +0 -271
- package/docs/plans/waves/reviews/wave-19-cont-qa.md +0 -59
- package/docs/plans/waves/reviews/wave-2-cont-qa.md +0 -72
- package/docs/plans/waves/reviews/wave-20-cont-qa.md +0 -60
- package/docs/plans/waves/reviews/wave-25-cont-qa.md +0 -48
- package/docs/plans/waves/reviews/wave-28-cont-qa.md +0 -46
- package/docs/plans/waves/reviews/wave-29-cont-qa.md +0 -53
- package/docs/plans/waves/reviews/wave-3-cont-qa.md +0 -53
- package/docs/plans/waves/reviews/wave-3-core-proof.md +0 -77
- package/docs/plans/waves/reviews/wave-3-validator-proof.md +0 -73
- package/docs/plans/waves/reviews/wave-32-cont-qa.md +0 -43
- package/docs/plans/waves/reviews/wave-33-cont-qa.md +0 -526
- package/docs/plans/waves/reviews/wave-34-cont-qa.md +0 -100
- package/docs/plans/waves/reviews/wave-35-cont-qa.md +0 -145
- package/docs/plans/waves/reviews/wave-4-cont-qa.md +0 -47
- package/docs/plans/waves/reviews/wave-4-structure-proof.md +0 -69
- package/docs/plans/waves/reviews/wave-5-comment-proof.md +0 -158
- package/docs/plans/waves/reviews/wave-5-cont-qa.md +0 -68
- package/docs/plans/waves/reviews/wave-6-cont-qa.md +0 -416
- package/docs/plans/waves/reviews/wave-6-redline-proof.md +0 -130
- package/docs/plans/waves/reviews/wave-7-cont-qa.md +0 -82
- package/docs/plans/waves/reviews/wave-7-ooxml-compliance.md +0 -85
- package/docs/plans/waves/reviews/wave-7-preservation-proof.md +0 -119
- package/docs/plans/waves/reviews/wave-7-trust-ux.md +0 -87
- package/docs/plans/waves/reviews/wave-8-accessibility-and-design.md +0 -128
- package/docs/plans/waves/reviews/wave-8-cont-qa.md +0 -92
- package/docs/plans/waves/reviews/wave-8-live-proof.md +0 -140
- package/docs/plans/waves/reviews/wave-8-security.md +0 -47
- package/docs/plans/waves/reviews/wave-9-editor-embedding.md +0 -39
- package/docs/plans/waves/reviews/wave-9-fixture-runner.md +0 -56
- package/docs/plans/waves/reviews/wave-9-live-proof.md +0 -105
- package/docs/plans/waves/reviews/wave-9-usability-and-performance.md +0 -152
- package/docs/plans/waves/specs/README.md +0 -5
- package/docs/plans/waves/specs/wave-1-component-boundaries.md +0 -322
- package/docs/plans/waves/specs/wave-1-ooxml-contracts.md +0 -323
- package/docs/plans/waves/specs/wave-1-review-and-ui-contracts.md +0 -339
- package/docs/plans/waves/specs/wave-1-runtime-contracts.md +0 -509
- package/docs/plans/waves/wave-19.md +0 -341
- package/docs/plans/waves/wave-20.md +0 -308
- package/docs/plans/waves/wave-21.md +0 -289
- package/docs/plans/waves/wave-22.md +0 -221
- package/docs/plans/waves/wave-23.md +0 -295
- package/docs/plans/waves/wave-24.md +0 -286
- package/docs/plans/waves/wave-25.md +0 -313
- package/docs/plans/waves/wave-26.md +0 -300
- package/docs/plans/waves/wave-27.md +0 -299
- package/docs/plans/waves/wave-28.md +0 -368
- package/docs/plans/waves/wave-29.md +0 -303
- package/docs/plans/waves/wave-30.md +0 -307
- package/docs/plans/waves/wave-31.md +0 -231
- package/docs/plans/waves/wave-32.md +0 -152
- package/docs/plans/waves/wave-33.md +0 -147
- package/docs/plans/waves/wave-34.md +0 -148
- package/docs/plans/waves/wave-35.md +0 -141
- package/docs/plans/waves/wave-36.md +0 -146
- package/docs/plans/xlsx/README.md +0 -14
- package/docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md +0 -126
- package/docs/reference/cli-reference.md +0 -600
- package/docs/reference/coordination-and-closure.md +0 -487
- package/docs/reference/deep-research-report (15).md +0 -25
- package/docs/reference/docx/README.md +0 -10
- package/docs/reference/legal-checklist.md +0 -445
- package/docs/reference/live-proof-waves.md +0 -199
- package/docs/reference/ooxml-compliance.md +0 -129
- package/docs/reference/ooxml-feature-parity-matrix.md +0 -172
- package/docs/reference/platform/shared-ooxml-platform-guidance.md +0 -77
- package/docs/reference/prototype-agent-prompt-legal-fidelity.md +0 -155
- package/docs/reference/public-api.md +0 -456
- package/docs/reference/repository-guidance.md +0 -58
- package/docs/reference/runtime-config/README.md +0 -182
- package/docs/reference/runtime-config/claude.md +0 -110
- package/docs/reference/runtime-config/codex.md +0 -82
- package/docs/reference/runtime-config/opencode.md +0 -93
- package/docs/reference/sample-waves.md +0 -105
- package/docs/reference/skills.md +0 -237
- package/docs/reference/templates/AGENTS.md +0 -78
- package/docs/reference/templates/HEARTBEAT.md +0 -7
- package/docs/reference/templates/IDENTITY.md +0 -23
- package/docs/reference/templates/SOUL.md +0 -36
- package/docs/reference/templates/TOOLS.md +0 -40
- package/docs/reference/templates/USER.md +0 -17
- package/docs/reference/wave-control.md +0 -184
- package/docs/reference/wave-planning-lessons.md +0 -167
- package/docs/reference/word-review-editor-frontend-architecture.md +0 -479
- package/docs/reference/word-review-editor-ux-guide.md +0 -253
- package/docs/reference/xlsx/xlsx-ooxml-compliance.md +0 -137
- package/docs/research/agent-context-sources.md +0 -178
- package/docs/research/coordination-failure-review.md +0 -290
- package/docs/research/docx-react-component/Canonical Document Schema Specification for a React-based Word-compatible Editor.md +0 -2317
- package/docs/research/docx-react-component/Feature Compatibility Matrix for a React Word Compatible Legal Editor v1.md +0 -219
- package/docs/research/docx-react-component/React Component Architecture and Front-End Structure Specification for a Word-Compatible Legal Review Editor.md +0 -1112
- package/docs/research/docx-react-component/document_compatibility_and_testing_spec.md +0 -751
- package/docs/research/xlsx/raw/README.md +0 -13
- package/docs/roadmap.md +0 -174
- package/docs/superpowers/plans/2026-03-28-harness-control-bar.md +0 -677
- package/docs/superpowers/specs/2026-03-28-harness-control-bar-design.md +0 -274
- package/docs/xlsx-react/README.md +0 -38
- package/docs/xlsx-react/agent-llm-interaction-layer-docx-xlsx.md +0 -621
- package/docs/xlsx-react/canonical-workbook-model-and-commands.md +0 -948
- package/docs/xlsx-react/shared-openxml-editor-platform-docx-xlsx.md +0 -228
- package/docs/xlsx-react/spreadsheet-editor-component-architecture.md +0 -809
- package/docs/xlsx-react/spreadsheet-editor-frontend-architecture.md +0 -537
- package/docs/xlsx-react/spreadsheet-editor-ux-guide.md +0 -520
- package/docs/xlsx-react/xlsx-editor-research-pack.md +0 -871
- package/docs/xlsx-react/xlsx-fixture-corpus-and-certification-plan.md +0 -436
- package/docs/xlsx-react/xlsx-ooxml-compliance.md +0 -320
- package/examples/README.md +0 -16
- package/memory/MEMORY.md +0 -24
- package/pnpm-workspace.yaml +0 -4
- package/scripts/check-no-authored-js.sh +0 -13
- package/scripts/context7-api-check.sh +0 -65
- package/scripts/context7-export-env.sh +0 -42
- package/scripts/run-context7-mcp.sh +0 -8
- package/scripts/run-workspace-tests.sh +0 -15
- package/scripts/start-wave-10-local.sh +0 -189
- package/scripts/wave-agent-attach.sh +0 -47
- package/scripts/wave-auto-answer.sh +0 -118
- package/scripts/wave-dashboard-attach.sh +0 -13
- package/scripts/wave-launch.sh +0 -273
- package/scripts/wave-overnight-supervisor.sh +0 -145
- package/scripts/wave-status.sh +0 -379
- package/scripts/wave-watch.sh +0 -231
- package/services/README.md +0 -17
- package/services/openxml-validator/Dockerfile +0 -29
- package/services/openxml-validator/OpenXmlValidator.Api.csproj +0 -12
- package/services/openxml-validator/Program.cs +0 -436
- package/services/openxml-validator/README.md +0 -152
- package/services/openxml-validator/railway.json +0 -16
- package/services/react-word-editor/.tmp-a4/src/api/public-types.ts +0 -318
- package/services/react-word-editor/.tmp-a4/src/ui/WordReviewEditor.tsx +0 -1302
- package/services/react-word-editor/.tmp-a4/src/ui/editor-surface/editor-surface.tsx +0 -546
- package/services/react-word-editor/.tmp-a4/test/ui/word-review-editor.test.tsx +0 -146
- package/services/react-word-editor/.tmp-a4-build/src/api/public-types.js +0 -2
- package/services/react-word-editor/.tmp-a4-build/src/ui/WordReviewEditor.js +0 -818
- package/services/react-word-editor/.tmp-a4-build/src/ui/editor-surface/editor-surface.js +0 -229
- package/services/react-word-editor/.tmp-a4-build/test/ui/word-review-editor.test.js +0 -121
- package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.json +0 -21
- package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.tsbuildinfo +0 -1
- package/services/react-word-editor/Dockerfile +0 -26
- package/services/react-word-editor/README.md +0 -254
- package/services/react-word-editor/app/api/certification/route.ts +0 -79
- package/services/react-word-editor/app/api/demo-sessions/route.ts +0 -109
- package/services/react-word-editor/app/api/deploy-health/route.ts +0 -23
- package/services/react-word-editor/app/api/exports/[exportId]/route.ts +0 -34
- package/services/react-word-editor/app/api/exports/route.ts +0 -81
- package/services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts +0 -100
- package/services/react-word-editor/app/api/health/route.ts +0 -70
- package/services/react-word-editor/app/api/runs/[runId]/route.ts +0 -36
- package/services/react-word-editor/app/api/scenarios/[scenarioId]/run/route.ts +0 -85
- package/services/react-word-editor/app/api/sessions/[sessionId]/route.ts +0 -199
- package/services/react-word-editor/app/api/sessions/[sessionId]/source/route.ts +0 -45
- package/services/react-word-editor/app/api/uploads/route.ts +0 -70
- package/services/react-word-editor/app/api/validate/route.ts +0 -310
- package/services/react-word-editor/app/certification/[runId]/page.tsx +0 -14
- package/services/react-word-editor/app/certification/page.tsx +0 -32
- package/services/react-word-editor/app/dashboard/page.tsx +0 -7
- package/services/react-word-editor/app/demo/page.tsx +0 -30
- package/services/react-word-editor/app/demo/prototype-client.tsx +0 -1080
- package/services/react-word-editor/app/editor/[sessionId]/page.tsx +0 -33
- package/services/react-word-editor/app/fixtures/page.tsx +0 -7
- package/services/react-word-editor/app/globals.css +0 -121
- package/services/react-word-editor/app/layout.tsx +0 -32
- package/services/react-word-editor/app/page.tsx +0 -30
- package/services/react-word-editor/app/runs/[runId]/page.tsx +0 -34
- package/services/react-word-editor/app/wave-10-word-review/page.tsx +0 -7
- package/services/react-word-editor/components/harness-control-bar.tsx +0 -289
- package/services/react-word-editor/components/harness-editor-session-client.tsx +0 -1214
- package/services/react-word-editor/components/harness-workspace-page.tsx +0 -715
- package/services/react-word-editor/components/reduced-motion-toggle.tsx +0 -79
- package/services/react-word-editor/components/workspace-certification-panel.tsx +0 -307
- package/services/react-word-editor/lib/certification-bundle.ts +0 -796
- package/services/react-word-editor/lib/certification-store.ts +0 -661
- package/services/react-word-editor/lib/demo-fixtures.test.mjs +0 -195
- package/services/react-word-editor/lib/demo-fixtures.ts +0 -1519
- package/services/react-word-editor/lib/editor-session-summary.test.mjs +0 -68
- package/services/react-word-editor/lib/editor-session-summary.ts +0 -14
- package/services/react-word-editor/lib/editor-session.ts +0 -228
- package/services/react-word-editor/lib/exports-route.test.mjs +0 -32
- package/services/react-word-editor/lib/harness-client.ts +0 -347
- package/services/react-word-editor/lib/harness-config.json +0 -30
- package/services/react-word-editor/lib/harness-config.test.mjs +0 -31
- package/services/react-word-editor/lib/harness-config.ts +0 -21
- package/services/react-word-editor/lib/harness-editor-datastore.test.mjs +0 -220
- package/services/react-word-editor/lib/harness-editor-datastore.ts +0 -161
- package/services/react-word-editor/lib/private-mode.test.mjs +0 -42
- package/services/react-word-editor/lib/private-mode.ts +0 -61
- package/services/react-word-editor/lib/regression-report.test.mjs +0 -352
- package/services/react-word-editor/lib/regression-report.ts +0 -896
- package/services/react-word-editor/lib/run-artifacts.ts +0 -934
- package/services/react-word-editor/lib/run-history.ts +0 -755
- package/services/react-word-editor/lib/scenario-artifacts.test.mjs +0 -41
- package/services/react-word-editor/lib/scenario-artifacts.ts +0 -44
- package/services/react-word-editor/lib/storage.ts +0 -953
- package/services/react-word-editor/lib/validator-client.test.mjs +0 -54
- package/services/react-word-editor/lib/validator-client.ts +0 -95
- package/services/react-word-editor/lib/workspace-navigation.ts +0 -79
- package/services/react-word-editor/middleware.ts +0 -35
- package/services/react-word-editor/next-env.d.ts +0 -6
- package/services/react-word-editor/next.config.mjs +0 -15
- package/services/react-word-editor/package.json +0 -38
- package/services/react-word-editor/postcss.config.mjs +0 -8
- package/services/react-word-editor/railway.json +0 -21
- package/services/react-word-editor/scripts/wave-10-certification.mjs +0 -101
- package/services/react-word-editor/scripts/wave-9-live-usability-pilot.mjs +0 -911
- package/services/react-word-editor/tsconfig.json +0 -39
- package/services/react-word-editor/tsconfig.tsbuildinfo +0 -1
- package/skills/README.md +0 -48
- package/skills/domain-docx-compatibility/SKILL.md +0 -44
- package/skills/domain-docx-compatibility/skill.json +0 -19
- package/skills/domain-editor-architecture/SKILL.md +0 -49
- package/skills/domain-editor-architecture/skill.json +0 -19
- package/skills/domain-legal-review/SKILL.md +0 -39
- package/skills/domain-legal-review/skill.json +0 -19
- package/skills/provider-aws/SKILL.md +0 -117
- package/skills/provider-aws/adapters/claude.md +0 -1
- package/skills/provider-aws/adapters/codex.md +0 -1
- package/skills/provider-aws/references/service-verification.md +0 -39
- package/skills/provider-aws/skill.json +0 -54
- package/skills/provider-custom-deploy/SKILL.md +0 -64
- package/skills/provider-custom-deploy/skill.json +0 -50
- package/skills/provider-docker-compose/SKILL.md +0 -96
- package/skills/provider-docker-compose/adapters/local.md +0 -1
- package/skills/provider-docker-compose/skill.json +0 -53
- package/skills/provider-github-release/SKILL.md +0 -121
- package/skills/provider-github-release/adapters/claude.md +0 -1
- package/skills/provider-github-release/adapters/codex.md +0 -1
- package/skills/provider-github-release/skill.json +0 -55
- package/skills/provider-kubernetes/SKILL.md +0 -143
- package/skills/provider-kubernetes/adapters/claude.md +0 -1
- package/skills/provider-kubernetes/adapters/codex.md +0 -1
- package/skills/provider-kubernetes/references/kubectl-patterns.md +0 -58
- package/skills/provider-kubernetes/skill.json +0 -52
- package/skills/provider-railway/SKILL.md +0 -123
- package/skills/provider-railway/adapters/claude.md +0 -1
- package/skills/provider-railway/adapters/codex.md +0 -1
- package/skills/provider-railway/adapters/local.md +0 -1
- package/skills/provider-railway/adapters/opencode.md +0 -1
- package/skills/provider-railway/references/verification-commands.md +0 -39
- package/skills/provider-railway/skill.json +0 -71
- package/skills/provider-ssh-manual/SKILL.md +0 -97
- package/skills/provider-ssh-manual/skill.json +0 -54
- package/skills/repo-coding-rules/SKILL.md +0 -55
- package/skills/repo-coding-rules/skill.json +0 -34
- package/skills/role-cont-eval/SKILL.md +0 -91
- package/skills/role-cont-eval/adapters/codex.md +0 -1
- package/skills/role-cont-eval/skill.json +0 -36
- package/skills/role-cont-qa/SKILL.md +0 -100
- package/skills/role-cont-qa/adapters/claude.md +0 -1
- package/skills/role-cont-qa/skill.json +0 -36
- package/skills/role-deploy/SKILL.md +0 -97
- package/skills/role-deploy/skill.json +0 -36
- package/skills/role-design/SKILL.md +0 -50
- package/skills/role-design/skill.json +0 -36
- package/skills/role-documentation/SKILL.md +0 -76
- package/skills/role-documentation/skill.json +0 -36
- package/skills/role-implementation/SKILL.md +0 -45
- package/skills/role-implementation/skill.json +0 -36
- package/skills/role-infra/SKILL.md +0 -81
- package/skills/role-infra/skill.json +0 -36
- package/skills/role-integration/SKILL.md +0 -91
- package/skills/role-integration/skill.json +0 -36
- package/skills/role-planner/SKILL.md +0 -39
- package/skills/role-planner/skill.json +0 -21
- package/skills/role-research/SKILL.md +0 -65
- package/skills/role-research/skill.json +0 -36
- package/skills/role-security/SKILL.md +0 -60
- package/skills/role-security/skill.json +0 -36
- package/skills/runtime-claude/SKILL.md +0 -66
- package/skills/runtime-claude/skill.json +0 -36
- package/skills/runtime-codex/SKILL.md +0 -58
- package/skills/runtime-codex/skill.json +0 -36
- package/skills/runtime-local/SKILL.md +0 -46
- package/skills/runtime-local/skill.json +0 -36
- package/skills/runtime-opencode/SKILL.md +0 -58
- package/skills/runtime-opencode/skill.json +0 -36
- package/skills/signal-hygiene/SKILL.md +0 -51
- package/skills/signal-hygiene/skill.json +0 -20
- package/skills/tui-design/SKILL.md +0 -77
- package/skills/tui-design/references/tui-design.md +0 -259
- package/skills/tui-design/skill.json +0 -36
- package/skills/wave-core/SKILL.md +0 -141
- package/skills/wave-core/references/marker-syntax.md +0 -70
- package/skills/wave-core/skill.json +0 -35
- package/src/README.md +0 -85
- package/src/api/README.md +0 -22
- package/src/api/public-types.ts +0 -525
- package/src/component-inventory.md +0 -99
- package/src/core/README.md +0 -10
- package/src/core/commands/README.md +0 -3
- package/src/core/commands/formatting-commands.ts +0 -161
- package/src/core/commands/image-commands.ts +0 -144
- package/src/core/commands/index.ts +0 -1013
- package/src/core/commands/list-commands.ts +0 -370
- package/src/core/commands/review-commands.ts +0 -108
- package/src/core/commands/text-commands.ts +0 -119
- package/src/core/schema/README.md +0 -3
- package/src/core/schema/text-schema.ts +0 -512
- package/src/core/selection/README.md +0 -3
- package/src/core/selection/mapping.ts +0 -238
- package/src/core/selection/review-anchors.ts +0 -94
- package/src/core/state/README.md +0 -3
- package/src/core/state/editor-state.ts +0 -580
- package/src/core/state/text-transaction.ts +0 -276
- package/src/formats/xlsx/io/parse-shared-strings.ts +0 -41
- package/src/formats/xlsx/io/parse-sheet.ts +0 -289
- package/src/formats/xlsx/io/parse-styles.ts +0 -57
- package/src/formats/xlsx/io/parse-workbook.ts +0 -75
- package/src/formats/xlsx/io/xlsx-session.ts +0 -306
- package/src/formats/xlsx/model/cell.ts +0 -189
- package/src/formats/xlsx/model/sheet.ts +0 -244
- package/src/formats/xlsx/model/styles.ts +0 -118
- package/src/formats/xlsx/model/workbook.ts +0 -449
- package/src/io/README.md +0 -10
- package/src/io/docx-session.ts +0 -1763
- package/src/io/export/README.md +0 -3
- package/src/io/export/export-session.ts +0 -165
- package/src/io/export/minimal-docx.ts +0 -115
- package/src/io/export/reattach-preserved-parts.ts +0 -54
- package/src/io/export/serialize-comments.ts +0 -876
- package/src/io/export/serialize-footnotes.ts +0 -217
- package/src/io/export/serialize-headers-footers.ts +0 -200
- package/src/io/export/serialize-main-document.ts +0 -982
- package/src/io/export/serialize-numbering.ts +0 -97
- package/src/io/export/serialize-revisions.ts +0 -389
- package/src/io/export/serialize-runtime-revisions.ts +0 -265
- package/src/io/export/serialize-tables.ts +0 -147
- package/src/io/export/split-review-boundaries.ts +0 -194
- package/src/io/normalize/README.md +0 -3
- package/src/io/normalize/normalize-text.ts +0 -437
- package/src/io/ooxml/README.md +0 -3
- package/src/io/ooxml/parse-comments.ts +0 -779
- package/src/io/ooxml/parse-complex-content.ts +0 -287
- package/src/io/ooxml/parse-fields.ts +0 -438
- package/src/io/ooxml/parse-footnotes.ts +0 -403
- package/src/io/ooxml/parse-headers-footers.ts +0 -483
- package/src/io/ooxml/parse-inline-media.ts +0 -431
- package/src/io/ooxml/parse-main-document.ts +0 -1846
- package/src/io/ooxml/parse-numbering.ts +0 -425
- package/src/io/ooxml/parse-revisions.ts +0 -658
- package/src/io/ooxml/parse-shapes.ts +0 -271
- package/src/io/ooxml/parse-tables.ts +0 -568
- package/src/io/ooxml/parse-theme.ts +0 -314
- package/src/io/ooxml/part-manifest.ts +0 -136
- package/src/io/ooxml/revision-boundaries.ts +0 -351
- package/src/io/opc/README.md +0 -3
- package/src/io/opc/corrupt-package.ts +0 -166
- package/src/io/opc/docx-package.ts +0 -74
- package/src/io/opc/package-reader.ts +0 -320
- package/src/io/opc/package-writer.ts +0 -273
- package/src/model/README.md +0 -3
- package/src/model/canonical-document.ts +0 -1911
- package/src/model/cds-1.0.0.ts +0 -196
- package/src/model/snapshot.ts +0 -393
- package/src/preservation/README.md +0 -3
- package/src/preservation/markup-compatibility.ts +0 -48
- package/src/preservation/opaque-fragment-store.ts +0 -89
- package/src/preservation/opaque-region.ts +0 -233
- package/src/preservation/package-preservation.ts +0 -120
- package/src/preservation/preserved-part-manifest.ts +0 -56
- package/src/preservation/relationship-retention.ts +0 -57
- package/src/preservation/store.ts +0 -185
- package/src/review/README.md +0 -16
- package/src/review/store/README.md +0 -3
- package/src/review/store/comment-anchors.ts +0 -70
- package/src/review/store/comment-remapping.ts +0 -154
- package/src/review/store/comment-store.ts +0 -331
- package/src/review/store/comment-thread.ts +0 -109
- package/src/review/store/revision-actions.ts +0 -394
- package/src/review/store/revision-store.ts +0 -303
- package/src/review/store/revision-types.ts +0 -168
- package/src/review/store/runtime-comment-store.ts +0 -43
- package/src/runtime/README.md +0 -3
- package/src/runtime/ai-action-policy.ts +0 -764
- package/src/runtime/document-runtime.ts +0 -969
- package/src/runtime/read-only-diagnostics-runtime.ts +0 -232
- package/src/runtime/review-runtime.ts +0 -44
- package/src/runtime/revision-runtime.ts +0 -107
- package/src/runtime/session-capabilities.ts +0 -138
- package/src/runtime/surface-projection.ts +0 -570
- package/src/runtime/table-commands.ts +0 -84
- package/src/runtime/table-schema.ts +0 -125
- package/src/ui/README.md +0 -30
- package/src/ui/WordReviewEditor.tsx +0 -1283
- package/src/ui/comments/README.md +0 -3
- package/src/ui/compatibility/README.md +0 -3
- package/src/ui/editor-surface/README.md +0 -3
- package/src/ui/headless/comment-decoration-model.ts +0 -124
- package/src/ui/headless/revision-decoration-model.ts +0 -128
- package/src/ui/headless/selection-helpers.ts +0 -34
- package/src/ui/headless/use-editor-keyboard.ts +0 -98
- package/src/ui/review/README.md +0 -3
- package/src/ui/shared/revision-filters.ts +0 -31
- package/src/ui/status/README.md +0 -3
- package/src/ui/theme/README.md +0 -3
- package/src/ui/toolbar/README.md +0 -3
- package/src/ui-tailwind/chrome/tw-alert-banner.tsx +0 -48
- package/src/ui-tailwind/chrome/tw-selection-toolbar.tsx +0 -44
- package/src/ui-tailwind/chrome/tw-unsaved-modal.tsx +0 -58
- package/src/ui-tailwind/chrome/use-before-unload.ts +0 -20
- package/src/ui-tailwind/editor-surface/pm-command-bridge.ts +0 -139
- package/src/ui-tailwind/editor-surface/pm-decorations.ts +0 -98
- package/src/ui-tailwind/editor-surface/pm-position-map.ts +0 -123
- package/src/ui-tailwind/editor-surface/pm-schema.ts +0 -452
- package/src/ui-tailwind/editor-surface/pm-state-from-snapshot.ts +0 -327
- package/src/ui-tailwind/editor-surface/search-plugin.ts +0 -157
- package/src/ui-tailwind/editor-surface/tw-caret.tsx +0 -12
- package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +0 -150
- package/src/ui-tailwind/editor-surface/tw-inline-token.tsx +0 -118
- package/src/ui-tailwind/editor-surface/tw-opaque-block.tsx +0 -52
- package/src/ui-tailwind/editor-surface/tw-paragraph-block.tsx +0 -151
- package/src/ui-tailwind/editor-surface/tw-prosemirror-surface.tsx +0 -215
- package/src/ui-tailwind/editor-surface/tw-segment-view.tsx +0 -111
- package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +0 -108
- package/src/ui-tailwind/index.ts +0 -61
- package/src/ui-tailwind/review/tw-comment-sidebar.tsx +0 -276
- package/src/ui-tailwind/review/tw-health-panel.tsx +0 -120
- package/src/ui-tailwind/review/tw-review-rail.tsx +0 -120
- package/src/ui-tailwind/review/tw-revision-sidebar.tsx +0 -164
- package/src/ui-tailwind/status/tw-status-bar.tsx +0 -58
- package/src/ui-tailwind/theme/editor-theme.css +0 -190
- package/src/ui-tailwind/toolbar/tw-toolbar-icon-button.tsx +0 -48
- package/src/ui-tailwind/toolbar/tw-toolbar.tsx +0 -231
- package/src/ui-tailwind/tw-review-workspace.tsx +0 -140
- package/src/validation/README.md +0 -3
- package/src/validation/compatibility-engine.ts +0 -317
- package/src/validation/compatibility-report.ts +0 -160
- package/src/validation/diagnostics.ts +0 -203
- package/src/validation/import-diagnostics.ts +0 -128
- package/src/validation/low-priority-word-surfaces.ts +0 -373
- package/test/README.md +0 -16
- package/test/core/formatting-commands.test.ts +0 -285
- package/test/core/image-commands.test.ts +0 -298
- package/test/core/mapping.test.ts +0 -186
- package/test/core/text-commands.test.ts +0 -176
- package/test/fixtures/docx/F01-basic-contract.docx +0 -0
- package/test/fixtures/docx/F01-basic-contract.md +0 -33
- package/test/fixtures/docx/F02-headings-styles.docx +0 -0
- package/test/fixtures/docx/F02-headings-styles.md +0 -33
- package/test/fixtures/docx/F03-legal-outline-numbering.docx +0 -0
- package/test/fixtures/docx/F03-legal-outline-numbering.md +0 -34
- package/test/fixtures/docx/F04-restart-numbering-schedules.docx +0 -0
- package/test/fixtures/docx/F04-restart-numbering-schedules.md +0 -33
- package/test/fixtures/docx/F05-table-heavy-agreement.docx +0 -0
- package/test/fixtures/docx/F05-table-heavy-agreement.md +0 -34
- package/test/fixtures/docx/F06-merged-cells-signature-table.docx +0 -0
- package/test/fixtures/docx/F06-merged-cells-signature-table.md +0 -34
- package/test/fixtures/docx/F07-inline-images-exhibit.docx +0 -0
- package/test/fixtures/docx/F07-inline-images-exhibit.md +0 -34
- package/test/fixtures/docx/F08-hyperlinks.docx +0 -0
- package/test/fixtures/docx/F08-hyperlinks.md +0 -33
- package/test/fixtures/docx/F09-comments-single-paragraph.docx +0 -0
- package/test/fixtures/docx/F09-comments-single-paragraph.md +0 -33
- package/test/fixtures/docx/F10-threaded-comments-resolve.docx +0 -0
- package/test/fixtures/docx/F10-threaded-comments-resolve.md +0 -33
- package/test/fixtures/docx/F11-redlines-basic.docx +0 -0
- package/test/fixtures/docx/F11-redlines-basic.md +0 -33
- package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx +0 -0
- package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.md +0 -33
- package/test/fixtures/docx/F13-comments-on-deleted-text.docx +0 -0
- package/test/fixtures/docx/F13-comments-on-deleted-text.md +0 -33
- package/test/fixtures/docx/F14-revisions-in-tables-and-lists.docx +0 -0
- package/test/fixtures/docx/F14-revisions-in-tables-and-lists.md +0 -33
- package/test/fixtures/docx/F15-sections-headers-footers.docx +0 -0
- package/test/fixtures/docx/F15-sections-headers-footers.md +0 -33
- package/test/fixtures/docx/F16-footnotes-endnotes.docx +0 -0
- package/test/fixtures/docx/F16-footnotes-endnotes.md +0 -33
- package/test/fixtures/docx/F17-fields-and-toc.docx +0 -0
- package/test/fixtures/docx/F17-fields-and-toc.md +0 -33
- package/test/fixtures/docx/F18-content-controls-template.docx +0 -0
- package/test/fixtures/docx/F18-content-controls-template.md +0 -33
- package/test/fixtures/docx/F19-custom-xml-doc-assembly.docx +0 -0
- package/test/fixtures/docx/F19-custom-xml-doc-assembly.md +0 -35
- package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.docx +0 -0
- package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.md +0 -33
- package/test/fixtures/docx/F21-malformed-broken-docx.docx +0 -0
- package/test/fixtures/docx/F21-malformed-broken-docx.md +0 -33
- package/test/fixtures/docx/README.md +0 -74
- package/test/fixtures/docx/certification-manifest.json +0 -104
- package/test/fixtures/docx/fixtures.manifest.json +0 -196
- package/test/fixtures/encrypted-docx/README.md +0 -27
- package/test/fixtures/encrypted-docx/certification-manifest.json +0 -9
- package/test/fixtures/encrypted-docx/fixtures.manifest.json +0 -47
- package/test/fixtures/scenarios/docx/README.md +0 -25
- package/test/fixtures/scenarios/docx/S01-sow-template.docx +0 -0
- package/test/fixtures/scenarios/docx/S01-sow-template.md +0 -30
- package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.docx +0 -0
- package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.md +0 -32
- package/test/fixtures/scenarios/docx/scenario-manifest.json +0 -53
- package/test/formats/xlsx/io/xlsx-import.test.ts +0 -766
- package/test/formats/xlsx/model/workbook.test.ts +0 -669
- package/test/helpers/dom-setup.ts +0 -124
- package/test/io/comment-roundtrip.test.ts +0 -272
- package/test/io/complex-content-roundtrip.test.ts +0 -632
- package/test/io/docx-compatibility-regression.test.ts +0 -199
- package/test/io/docx-session.test.ts +0 -1495
- package/test/io/footnotes-roundtrip.test.ts +0 -318
- package/test/io/headers-footers-roundtrip.test.ts +0 -547
- package/test/io/numbering-roundtrip.test.ts +0 -234
- package/test/io/package-reader.test.ts +0 -199
- package/test/io/paragraph-properties-roundtrip.test.ts +0 -129
- package/test/io/preserved-package-roundtrip.test.ts +0 -365
- package/test/io/property-completeness.test.ts +0 -292
- package/test/io/revision-roundtrip.test.ts +0 -347
- package/test/io/structural-blocks.test.ts +0 -202
- package/test/io/table-media-roundtrip.test.ts +0 -448
- package/test/io/table-properties-roundtrip.test.ts +0 -569
- package/test/io/table-roundtrip.test.ts +0 -302
- package/test/io/text-roundtrip.test.ts +0 -344
- package/test/model/canonical-document.test.ts +0 -285
- package/test/preservation/opaque-fragment-store.test.ts +0 -121
- package/test/preservation/package-preservation.test.ts +0 -395
- package/test/preservation/store.test.ts +0 -84
- package/test/review/comment-remapping.test.ts +0 -220
- package/test/review/comment-store.test.ts +0 -180
- package/test/review/move-revisions.test.ts +0 -143
- package/test/review/property-change-revisions.test.ts +0 -225
- package/test/review/revision-actions.test.ts +0 -330
- package/test/review/revision-store.test.ts +0 -193
- package/test/runtime/session-capabilities.test.ts +0 -260
- package/test/runtime/table-commands.test.ts +0 -356
- package/test/runtime/table-schema.test.ts +0 -221
- package/test/runtime/tracked-changes-toggle.test.ts +0 -107
- package/test/ui/comment-review-surface.test.tsx +0 -114
- package/test/ui/reduced-motion-toggle.test.tsx +0 -137
- package/test/ui/word-review-editor.imported-scenarios.test.tsx +0 -169
- package/test/ui/word-review-editor.interaction.test.tsx +0 -1198
- package/test/ui/word-review-editor.test.js +0 -188
- package/test/ui/word-review-editor.test.tsx +0 -280
- package/test/ui-tailwind/search-plugin.test.ts +0 -286
- package/test/validation/compatibility-engine.test.ts +0 -336
- package/test/validation/compatibility-report.test.ts +0 -189
- package/test/validation/low-priority-word-surfaces.test.ts +0 -282
- package/test/validation/malformed-doc.test.ts +0 -113
- package/test-results/.last-run.json +0 -4
- package/wave.config.json +0 -406
package/DESIGN.md
DELETED
|
@@ -1,929 +0,0 @@
|
|
|
1
|
-
# Design.md — React Word Editor
|
|
2
|
-
|
|
3
|
-
## 1. Purpose
|
|
4
|
-
|
|
5
|
-
This document defines the visual design, interaction style, layout system, and front-end styling principles for the React-based Word-compatible editor component.
|
|
6
|
-
|
|
7
|
-
Use this together with:
|
|
8
|
-
|
|
9
|
-
* `README.md` for product scope
|
|
10
|
-
* `docs/plans/master-plan.md` for architecture
|
|
11
|
-
* `docs/roadmap.md` for delivery sequencing
|
|
12
|
-
* `docs/reference/word-review-editor-frontend-architecture.md` for frontend implementation architecture
|
|
13
|
-
|
|
14
|
-
The component is intended for **legal review workflows**, not general-purpose document creation and not a Microsoft Word clone.
|
|
15
|
-
|
|
16
|
-
The design must feel:
|
|
17
|
-
|
|
18
|
-
* clean
|
|
19
|
-
* calm
|
|
20
|
-
* modern
|
|
21
|
-
* highly legible
|
|
22
|
-
* lightweight
|
|
23
|
-
* trustworthy
|
|
24
|
-
* precise
|
|
25
|
-
* review-oriented
|
|
26
|
-
|
|
27
|
-
The desired experience is closer to:
|
|
28
|
-
|
|
29
|
-
* TipTap
|
|
30
|
-
* Notion document surfaces
|
|
31
|
-
* Figma-side-panel clarity
|
|
32
|
-
* modern code-review tools
|
|
33
|
-
|
|
34
|
-
It must **not** feel like:
|
|
35
|
-
|
|
36
|
-
* Microsoft Word ribbon UI
|
|
37
|
-
* enterprise bloatware
|
|
38
|
-
* dense legacy office software
|
|
39
|
-
* a generic WYSIWYG rich text box
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 2. Product design goals
|
|
44
|
-
|
|
45
|
-
The UI must optimize for the realities of legal review:
|
|
46
|
-
|
|
47
|
-
* long reading sessions
|
|
48
|
-
* frequent review of insertions/deletions
|
|
49
|
-
* comment navigation
|
|
50
|
-
* structured documents with lists and tables
|
|
51
|
-
* low cognitive overhead
|
|
52
|
-
* confidence that the document remains Word-compatible
|
|
53
|
-
|
|
54
|
-
The design should help users answer these questions instantly:
|
|
55
|
-
|
|
56
|
-
* What mode am I in?
|
|
57
|
-
* What changed?
|
|
58
|
-
* Where are the comments?
|
|
59
|
-
* What is selected?
|
|
60
|
-
* Is the document safe/saved?
|
|
61
|
-
* What action can I take next?
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## 3. Core design principles
|
|
66
|
-
|
|
67
|
-
### 3.1 Calm over chrome
|
|
68
|
-
|
|
69
|
-
The editor should minimize permanent controls and decorative noise.
|
|
70
|
-
|
|
71
|
-
Use:
|
|
72
|
-
|
|
73
|
-
* contextual actions
|
|
74
|
-
* restrained separators
|
|
75
|
-
* whitespace for hierarchy
|
|
76
|
-
* compact but comfortable controls
|
|
77
|
-
|
|
78
|
-
Avoid:
|
|
79
|
-
|
|
80
|
-
* large toolbars
|
|
81
|
-
* ribbon metaphors
|
|
82
|
-
* heavy outlines everywhere
|
|
83
|
-
* constant multi-color emphasis
|
|
84
|
-
|
|
85
|
-
### 3.2 Content first
|
|
86
|
-
|
|
87
|
-
The document surface is the primary product.
|
|
88
|
-
|
|
89
|
-
The design must make the content area feel:
|
|
90
|
-
|
|
91
|
-
* spacious
|
|
92
|
-
* readable
|
|
93
|
-
* central
|
|
94
|
-
* stable
|
|
95
|
-
|
|
96
|
-
Everything else is secondary UI.
|
|
97
|
-
|
|
98
|
-
### 3.3 Review clarity without aggression
|
|
99
|
-
|
|
100
|
-
Comments and redlines must be obvious but not visually exhausting.
|
|
101
|
-
|
|
102
|
-
Use:
|
|
103
|
-
|
|
104
|
-
* measured annotation color
|
|
105
|
-
* subtle tint backgrounds
|
|
106
|
-
* slim indicators
|
|
107
|
-
* progressive disclosure
|
|
108
|
-
|
|
109
|
-
Avoid:
|
|
110
|
-
|
|
111
|
-
* neon diff colors
|
|
112
|
-
* thick borders around every change
|
|
113
|
-
* overwhelming always-on markup density
|
|
114
|
-
|
|
115
|
-
### 3.4 Precision and trust
|
|
116
|
-
|
|
117
|
-
The UI should feel deterministic.
|
|
118
|
-
|
|
119
|
-
Users in legal workflows must feel that:
|
|
120
|
-
|
|
121
|
-
* the editor is controlled
|
|
122
|
-
* actions are explicit
|
|
123
|
-
* review state is reliable
|
|
124
|
-
* save/export behavior is dependable
|
|
125
|
-
|
|
126
|
-
### 3.5 Progressive complexity
|
|
127
|
-
|
|
128
|
-
The default state should be simple.
|
|
129
|
-
|
|
130
|
-
Only show advanced controls when needed:
|
|
131
|
-
|
|
132
|
-
* floating formatting tools on selection
|
|
133
|
-
* review controls when review mode is active
|
|
134
|
-
* contextual table tools when table is focused
|
|
135
|
-
* comment tools when a commentable range is selected
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 4. Overall layout
|
|
140
|
-
|
|
141
|
-
## 4.1 Primary regions
|
|
142
|
-
|
|
143
|
-
The component layout consists of:
|
|
144
|
-
|
|
145
|
-
1. **Top toolbar**
|
|
146
|
-
2. **Document surface area**
|
|
147
|
-
3. **Optional right sidebar** for comments/review
|
|
148
|
-
4. **Optional bottom status bar**
|
|
149
|
-
5. **Floating inline toolbar**
|
|
150
|
-
6. **Contextual popovers/dialogs**
|
|
151
|
-
|
|
152
|
-
## 4.2 Layout priorities
|
|
153
|
-
|
|
154
|
-
The document surface must receive the most visual emphasis.
|
|
155
|
-
|
|
156
|
-
Default width strategy:
|
|
157
|
-
|
|
158
|
-
* full component width container
|
|
159
|
-
* document centered within available space
|
|
160
|
-
* sidebars dock outside the reading column
|
|
161
|
-
|
|
162
|
-
Recommended desktop layout:
|
|
163
|
-
|
|
164
|
-
* toolbar at top
|
|
165
|
-
* centered page/document surface
|
|
166
|
-
* right sidebar for comments and review
|
|
167
|
-
* status bar minimal and low-emphasis
|
|
168
|
-
|
|
169
|
-
## 4.3 Reading column
|
|
170
|
-
|
|
171
|
-
The document should sit in a reading column that feels like a paper-informed canvas, but not literal fake paper unless page mode is enabled.
|
|
172
|
-
|
|
173
|
-
Two supported visual modes:
|
|
174
|
-
|
|
175
|
-
### Canvas mode (default)
|
|
176
|
-
|
|
177
|
-
* clean centered surface
|
|
178
|
-
* subtle panel background
|
|
179
|
-
* minimal page framing
|
|
180
|
-
* better for continuous reading and review
|
|
181
|
-
|
|
182
|
-
### Page mode (optional)
|
|
183
|
-
|
|
184
|
-
* page-like boundaries
|
|
185
|
-
* light shadow
|
|
186
|
-
* more Word-like print awareness
|
|
187
|
-
* still restrained
|
|
188
|
-
|
|
189
|
-
Default for legal review should be **Canvas mode**.
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## 5. Toolbar design
|
|
194
|
-
|
|
195
|
-
## 5.1 Toolbar goals
|
|
196
|
-
|
|
197
|
-
The toolbar should feel compact, stable, and lightweight.
|
|
198
|
-
|
|
199
|
-
It is not a ribbon.
|
|
200
|
-
|
|
201
|
-
It should expose only the highest-value actions persistently.
|
|
202
|
-
|
|
203
|
-
## 5.2 Toolbar sections
|
|
204
|
-
|
|
205
|
-
Persistent controls should include:
|
|
206
|
-
|
|
207
|
-
* undo / redo
|
|
208
|
-
* paragraph style selector
|
|
209
|
-
* bold / italic / underline
|
|
210
|
-
* bullet list / numbered list
|
|
211
|
-
* insert comment
|
|
212
|
-
* track changes toggle
|
|
213
|
-
* markup mode selector
|
|
214
|
-
* save / export
|
|
215
|
-
|
|
216
|
-
Optional overflow controls:
|
|
217
|
-
|
|
218
|
-
* image insertion
|
|
219
|
-
* hyperlink insertion
|
|
220
|
-
* table insertion
|
|
221
|
-
* accept/reject controls
|
|
222
|
-
* more formatting
|
|
223
|
-
|
|
224
|
-
## 5.3 Visual styling
|
|
225
|
-
|
|
226
|
-
Toolbar should:
|
|
227
|
-
|
|
228
|
-
* have a low-contrast surface
|
|
229
|
-
* use subtle segmentation
|
|
230
|
-
* avoid heavy button borders
|
|
231
|
-
* use compact icon buttons with clear hover/focus states
|
|
232
|
-
* keep action density moderate
|
|
233
|
-
|
|
234
|
-
Recommended dimensions:
|
|
235
|
-
|
|
236
|
-
* toolbar height: 44–52px
|
|
237
|
-
* icon button size: 30–34px
|
|
238
|
-
* horizontal padding: 12–16px
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
## 6. Document surface design
|
|
243
|
-
|
|
244
|
-
## 6.1 Surface role
|
|
245
|
-
|
|
246
|
-
The editor surface is the emotional center of the component.
|
|
247
|
-
|
|
248
|
-
It must feel:
|
|
249
|
-
|
|
250
|
-
* stable
|
|
251
|
-
* elegant
|
|
252
|
-
* highly readable
|
|
253
|
-
* slightly elevated from the app background
|
|
254
|
-
|
|
255
|
-
## 6.2 Surface styling
|
|
256
|
-
|
|
257
|
-
Recommended defaults:
|
|
258
|
-
|
|
259
|
-
* soft neutral app background behind the document
|
|
260
|
-
* white or near-white document panel
|
|
261
|
-
* subtle radius
|
|
262
|
-
* soft shadow only if page framing is used
|
|
263
|
-
* generous interior padding
|
|
264
|
-
|
|
265
|
-
Suggested desktop spacing:
|
|
266
|
-
|
|
267
|
-
* outer shell padding: 16–24px
|
|
268
|
-
* document panel max width: 780–920px depending on mode
|
|
269
|
-
* document interior padding: 40–64px
|
|
270
|
-
|
|
271
|
-
## 6.3 Typography on surface
|
|
272
|
-
|
|
273
|
-
Prioritize readability over visual novelty.
|
|
274
|
-
|
|
275
|
-
Defaults should feel appropriate for legal text:
|
|
276
|
-
|
|
277
|
-
* neutral serif or highly readable system serif for document body, or a sober sans if product direction insists on sans
|
|
278
|
-
* excellent line height
|
|
279
|
-
* moderate paragraph spacing
|
|
280
|
-
* clearly differentiated headings
|
|
281
|
-
|
|
282
|
-
Recommended body defaults:
|
|
283
|
-
|
|
284
|
-
* font size: 15–16px
|
|
285
|
-
* line height: 1.55–1.7
|
|
286
|
-
* body text color: deep neutral, not pure black
|
|
287
|
-
|
|
288
|
-
Headings should feel structured, not editorially dramatic.
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## 7. Sidebar design
|
|
293
|
-
|
|
294
|
-
## 7.1 Sidebar role
|
|
295
|
-
|
|
296
|
-
The sidebar is the review companion, not the main stage.
|
|
297
|
-
|
|
298
|
-
It should contain:
|
|
299
|
-
|
|
300
|
-
* comments
|
|
301
|
-
* review navigation
|
|
302
|
-
* change summary
|
|
303
|
-
* selected annotation detail
|
|
304
|
-
|
|
305
|
-
## 7.2 Sidebar behavior
|
|
306
|
-
|
|
307
|
-
Default:
|
|
308
|
-
|
|
309
|
-
* docked on the right on desktop
|
|
310
|
-
* collapsible
|
|
311
|
-
* width stable enough for comfortable reading
|
|
312
|
-
|
|
313
|
-
Recommended width:
|
|
314
|
-
|
|
315
|
-
* 320–380px
|
|
316
|
-
|
|
317
|
-
## 7.3 Sidebar styling
|
|
318
|
-
|
|
319
|
-
* slightly tinted neutral surface
|
|
320
|
-
* subtle divider from document area
|
|
321
|
-
* cards or grouped threads with soft contrast
|
|
322
|
-
* clear active/selected comment state
|
|
323
|
-
* low-noise metadata styling
|
|
324
|
-
|
|
325
|
-
Comment cards should feel closer to modern discussion UIs than email clients.
|
|
326
|
-
|
|
327
|
-
---
|
|
328
|
-
|
|
329
|
-
## 8. Review and annotation design
|
|
330
|
-
|
|
331
|
-
## 8.1 Markup modes
|
|
332
|
-
|
|
333
|
-
The UI must support at least:
|
|
334
|
-
|
|
335
|
-
* clean
|
|
336
|
-
* simple markup
|
|
337
|
-
* full markup
|
|
338
|
-
|
|
339
|
-
### Clean
|
|
340
|
-
|
|
341
|
-
* review marks hidden from main visual emphasis
|
|
342
|
-
* document reads as final text
|
|
343
|
-
* comments may be discoverable via indicators
|
|
344
|
-
|
|
345
|
-
### Simple markup
|
|
346
|
-
|
|
347
|
-
* slim margin or inline indicators
|
|
348
|
-
* low-noise review visibility
|
|
349
|
-
* best default for legal review reading
|
|
350
|
-
|
|
351
|
-
### Full markup
|
|
352
|
-
|
|
353
|
-
* insertions/deletions visibly styled inline
|
|
354
|
-
* comments strongly visible
|
|
355
|
-
* intended for detailed review work
|
|
356
|
-
|
|
357
|
-
## 8.2 Insertions
|
|
358
|
-
|
|
359
|
-
Insertions should be visible but elegant.
|
|
360
|
-
|
|
361
|
-
Recommended styling:
|
|
362
|
-
|
|
363
|
-
* subtle tinted background or underline accent
|
|
364
|
-
* stronger on selection/focus
|
|
365
|
-
* avoid loud green fill blocks
|
|
366
|
-
|
|
367
|
-
## 8.3 Deletions
|
|
368
|
-
|
|
369
|
-
Deletions should be readable without dominating the paragraph.
|
|
370
|
-
|
|
371
|
-
Recommended styling:
|
|
372
|
-
|
|
373
|
-
* muted red/pink tone
|
|
374
|
-
* strikethrough
|
|
375
|
-
* optional soft background tint in full markup mode
|
|
376
|
-
|
|
377
|
-
## 8.4 Comment anchors
|
|
378
|
-
|
|
379
|
-
Commented text should use:
|
|
380
|
-
|
|
381
|
-
* subtle highlight wash
|
|
382
|
-
* comment-specific accent indicator
|
|
383
|
-
* stronger highlight on hover/focus
|
|
384
|
-
|
|
385
|
-
Avoid always-on thick borders.
|
|
386
|
-
|
|
387
|
-
## 8.5 Margin indicators
|
|
388
|
-
|
|
389
|
-
Where used, indicators should be:
|
|
390
|
-
|
|
391
|
-
* slim
|
|
392
|
-
* aligned cleanly
|
|
393
|
-
* color-coded but muted
|
|
394
|
-
* clickable
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
|
|
398
|
-
## 9. Selection and interaction styling
|
|
399
|
-
|
|
400
|
-
## 9.1 Text selection
|
|
401
|
-
|
|
402
|
-
Selection should feel native but polished.
|
|
403
|
-
|
|
404
|
-
Use:
|
|
405
|
-
|
|
406
|
-
* lightly tinted brand-aware selection color
|
|
407
|
-
* strong enough contrast to confirm range
|
|
408
|
-
* avoid over-saturated browser-default feeling if custom selection is possible safely
|
|
409
|
-
|
|
410
|
-
## 9.2 Current block focus
|
|
411
|
-
|
|
412
|
-
A focused paragraph/table/cell can use:
|
|
413
|
-
|
|
414
|
-
* very subtle background emphasis
|
|
415
|
-
* contextual handles/tools only when useful
|
|
416
|
-
|
|
417
|
-
## 9.3 Hover philosophy
|
|
418
|
-
|
|
419
|
-
Hover states should exist but remain understated.
|
|
420
|
-
|
|
421
|
-
Use:
|
|
422
|
-
|
|
423
|
-
* small contrast change
|
|
424
|
-
* no dramatic color shifts
|
|
425
|
-
* no jumpy motion
|
|
426
|
-
|
|
427
|
-
## 9.4 Active state philosophy
|
|
428
|
-
|
|
429
|
-
The active state must be clearer than hover.
|
|
430
|
-
|
|
431
|
-
For toolbar controls:
|
|
432
|
-
|
|
433
|
-
* soft filled background
|
|
434
|
-
* readable icon contrast
|
|
435
|
-
* no thick inset outlines unless focus-visible
|
|
436
|
-
|
|
437
|
-
---
|
|
438
|
-
|
|
439
|
-
## 10. Floating toolbar and contextual tools
|
|
440
|
-
|
|
441
|
-
## 10.1 Floating toolbar
|
|
442
|
-
|
|
443
|
-
Appears on text selection.
|
|
444
|
-
|
|
445
|
-
Must feel:
|
|
446
|
-
|
|
447
|
-
* fast
|
|
448
|
-
* lightweight
|
|
449
|
-
* unobtrusive
|
|
450
|
-
|
|
451
|
-
Include only high-frequency inline actions:
|
|
452
|
-
|
|
453
|
-
* bold
|
|
454
|
-
* italic
|
|
455
|
-
* underline
|
|
456
|
-
* comment
|
|
457
|
-
* link
|
|
458
|
-
* maybe clear formatting
|
|
459
|
-
|
|
460
|
-
Visual style:
|
|
461
|
-
|
|
462
|
-
* compact rounded popover
|
|
463
|
-
* subtle shadow
|
|
464
|
-
* high legibility
|
|
465
|
-
* low decoration
|
|
466
|
-
|
|
467
|
-
## 10.2 Contextual tools
|
|
468
|
-
|
|
469
|
-
Show only when contextually relevant:
|
|
470
|
-
|
|
471
|
-
* table controls when inside table
|
|
472
|
-
* image controls when image selected
|
|
473
|
-
* comment actions when comment active
|
|
474
|
-
* revision actions when change selected
|
|
475
|
-
|
|
476
|
-
---
|
|
477
|
-
|
|
478
|
-
## 11. Color system
|
|
479
|
-
|
|
480
|
-
## 11.1 Overall palette strategy
|
|
481
|
-
|
|
482
|
-
Use a restrained neutral-first palette with disciplined accents.
|
|
483
|
-
|
|
484
|
-
The UI should primarily rely on:
|
|
485
|
-
|
|
486
|
-
* whites / near-whites
|
|
487
|
-
* light neutral backgrounds
|
|
488
|
-
* cool or warm gray hierarchy
|
|
489
|
-
* one product accent color
|
|
490
|
-
* reserved review colors
|
|
491
|
-
|
|
492
|
-
## 11.2 Semantic color groups
|
|
493
|
-
|
|
494
|
-
### Neutral
|
|
495
|
-
|
|
496
|
-
Used for:
|
|
497
|
-
|
|
498
|
-
* shell backgrounds
|
|
499
|
-
* toolbar surfaces
|
|
500
|
-
* dividers
|
|
501
|
-
* typography hierarchy
|
|
502
|
-
* sidebars
|
|
503
|
-
|
|
504
|
-
### Accent
|
|
505
|
-
|
|
506
|
-
Used for:
|
|
507
|
-
|
|
508
|
-
* primary actions
|
|
509
|
-
* focused selected states
|
|
510
|
-
* links
|
|
511
|
-
* active controls
|
|
512
|
-
|
|
513
|
-
### Comment color
|
|
514
|
-
|
|
515
|
-
Used for:
|
|
516
|
-
|
|
517
|
-
* comment anchor indicators
|
|
518
|
-
* comment sidebar highlights
|
|
519
|
-
* active thread emphasis
|
|
520
|
-
|
|
521
|
-
### Revision colors
|
|
522
|
-
|
|
523
|
-
Used for:
|
|
524
|
-
|
|
525
|
-
* insertion
|
|
526
|
-
* deletion
|
|
527
|
-
* review navigation indicators
|
|
528
|
-
|
|
529
|
-
### Feedback colors
|
|
530
|
-
|
|
531
|
-
Used for:
|
|
532
|
-
|
|
533
|
-
* success
|
|
534
|
-
* warning
|
|
535
|
-
* error
|
|
536
|
-
* info
|
|
537
|
-
|
|
538
|
-
## 11.3 Recommended token ranges
|
|
539
|
-
|
|
540
|
-
### Neutrals
|
|
541
|
-
|
|
542
|
-
* background-app
|
|
543
|
-
* background-panel
|
|
544
|
-
* background-surface
|
|
545
|
-
* background-muted
|
|
546
|
-
* border-subtle
|
|
547
|
-
* border-default
|
|
548
|
-
* text-primary
|
|
549
|
-
* text-secondary
|
|
550
|
-
* text-muted
|
|
551
|
-
|
|
552
|
-
### Accent
|
|
553
|
-
|
|
554
|
-
* accent-50
|
|
555
|
-
* accent-100
|
|
556
|
-
* accent-500
|
|
557
|
-
* accent-600
|
|
558
|
-
* accent-700
|
|
559
|
-
|
|
560
|
-
### Review
|
|
561
|
-
|
|
562
|
-
* comment-100 / 500 / 700
|
|
563
|
-
* insertion-100 / 500 / 700
|
|
564
|
-
* deletion-100 / 500 / 700
|
|
565
|
-
|
|
566
|
-
Review colors must be muted enough for long sessions.
|
|
567
|
-
|
|
568
|
-
---
|
|
569
|
-
|
|
570
|
-
## 12. Typography system
|
|
571
|
-
|
|
572
|
-
## 12.1 Typography goals
|
|
573
|
-
|
|
574
|
-
Typography should communicate:
|
|
575
|
-
|
|
576
|
-
* trust
|
|
577
|
-
* hierarchy
|
|
578
|
-
* readability
|
|
579
|
-
* low fatigue
|
|
580
|
-
|
|
581
|
-
## 12.2 UI typography
|
|
582
|
-
|
|
583
|
-
UI chrome should use a modern neutral sans.
|
|
584
|
-
|
|
585
|
-
Recommended scale:
|
|
586
|
-
|
|
587
|
-
* label-xs
|
|
588
|
-
* label-sm
|
|
589
|
-
* body-sm
|
|
590
|
-
* body-md
|
|
591
|
-
* heading-sm
|
|
592
|
-
* heading-md
|
|
593
|
-
|
|
594
|
-
Use medium weight sparingly.
|
|
595
|
-
|
|
596
|
-
## 12.3 Document typography
|
|
597
|
-
|
|
598
|
-
Document typography should prioritize long-form reading.
|
|
599
|
-
|
|
600
|
-
Recommended options:
|
|
601
|
-
|
|
602
|
-
* sober serif for body text
|
|
603
|
-
* or neutral sans if product brand requires it, but keep it highly readable
|
|
604
|
-
|
|
605
|
-
Headings should follow predictable scale steps.
|
|
606
|
-
|
|
607
|
-
Avoid dramatic display styles.
|
|
608
|
-
|
|
609
|
-
---
|
|
610
|
-
|
|
611
|
-
## 13. Spacing and sizing system
|
|
612
|
-
|
|
613
|
-
Use a consistent spacing scale.
|
|
614
|
-
|
|
615
|
-
Recommended base unit:
|
|
616
|
-
|
|
617
|
-
* 4px
|
|
618
|
-
|
|
619
|
-
Primary spacing tokens:
|
|
620
|
-
|
|
621
|
-
* 4
|
|
622
|
-
* 8
|
|
623
|
-
* 12
|
|
624
|
-
* 16
|
|
625
|
-
* 20
|
|
626
|
-
* 24
|
|
627
|
-
* 32
|
|
628
|
-
* 40
|
|
629
|
-
* 48
|
|
630
|
-
* 64
|
|
631
|
-
|
|
632
|
-
Usage guidance:
|
|
633
|
-
|
|
634
|
-
* controls: 8–12 internal padding
|
|
635
|
-
* toolbar gutters: 12–16
|
|
636
|
-
* panels: 16–24
|
|
637
|
-
* document interior: 40+
|
|
638
|
-
|
|
639
|
-
The design should feel spacious but not luxurious to the point of wasting space.
|
|
640
|
-
|
|
641
|
-
---
|
|
642
|
-
|
|
643
|
-
## 14. Shape, borders, and elevation
|
|
644
|
-
|
|
645
|
-
## 14.1 Radius
|
|
646
|
-
|
|
647
|
-
Use rounded corners consistently.
|
|
648
|
-
|
|
649
|
-
Recommended radius tokens:
|
|
650
|
-
|
|
651
|
-
* small: 6px
|
|
652
|
-
* medium: 10px
|
|
653
|
-
* large: 14px
|
|
654
|
-
* popover/panel: 14–18px
|
|
655
|
-
|
|
656
|
-
## 14.2 Borders
|
|
657
|
-
|
|
658
|
-
Prefer subtle borders over heavy outlines.
|
|
659
|
-
|
|
660
|
-
Use:
|
|
661
|
-
|
|
662
|
-
* hairline or light 1px neutral borders
|
|
663
|
-
* stronger borders only for active states when needed
|
|
664
|
-
|
|
665
|
-
## 14.3 Elevation
|
|
666
|
-
|
|
667
|
-
Use shadow sparingly.
|
|
668
|
-
|
|
669
|
-
Recommended:
|
|
670
|
-
|
|
671
|
-
* almost none on baseline surfaces
|
|
672
|
-
* gentle shadow on floating toolbar/popovers/dialogs
|
|
673
|
-
* optional light page shadow in page mode
|
|
674
|
-
|
|
675
|
-
---
|
|
676
|
-
|
|
677
|
-
## 15. Motion and transitions
|
|
678
|
-
|
|
679
|
-
Motion should be minimal and utilitarian.
|
|
680
|
-
|
|
681
|
-
Use only for:
|
|
682
|
-
|
|
683
|
-
* panel open/close
|
|
684
|
-
* hover/focus refinement
|
|
685
|
-
* popover appearance
|
|
686
|
-
* sidebar transitions
|
|
687
|
-
|
|
688
|
-
Rules:
|
|
689
|
-
|
|
690
|
-
* short durations
|
|
691
|
-
* low travel distance
|
|
692
|
-
* no playful bounce
|
|
693
|
-
* no large zoom effects
|
|
694
|
-
|
|
695
|
-
Prefer 120–180ms for small UI transitions.
|
|
696
|
-
|
|
697
|
-
Support reduced motion mode.
|
|
698
|
-
|
|
699
|
-
---
|
|
700
|
-
|
|
701
|
-
## 16. Component-level styling guidance
|
|
702
|
-
|
|
703
|
-
## 16.1 Buttons
|
|
704
|
-
|
|
705
|
-
Primary button:
|
|
706
|
-
|
|
707
|
-
* filled or softly tinted
|
|
708
|
-
* used sparingly for save/export or primary confirmation
|
|
709
|
-
|
|
710
|
-
Secondary button:
|
|
711
|
-
|
|
712
|
-
* low-contrast outlined or tinted
|
|
713
|
-
|
|
714
|
-
Ghost button:
|
|
715
|
-
|
|
716
|
-
* preferred for toolbar and sidebar actions
|
|
717
|
-
|
|
718
|
-
Danger button:
|
|
719
|
-
|
|
720
|
-
* only for destructive flows, visually restrained but clear
|
|
721
|
-
|
|
722
|
-
## 16.2 Inputs and dropdowns
|
|
723
|
-
|
|
724
|
-
Must feel simple and modern.
|
|
725
|
-
|
|
726
|
-
Use:
|
|
727
|
-
|
|
728
|
-
* medium radius
|
|
729
|
-
* subtle borders
|
|
730
|
-
* strong focus ring
|
|
731
|
-
* compact heights
|
|
732
|
-
|
|
733
|
-
Avoid enterprise-form heaviness.
|
|
734
|
-
|
|
735
|
-
## 16.3 Comment cards
|
|
736
|
-
|
|
737
|
-
Each comment thread should use:
|
|
738
|
-
|
|
739
|
-
* soft card or grouped panel style
|
|
740
|
-
* clear author/meta hierarchy
|
|
741
|
-
* compact spacing
|
|
742
|
-
* distinct selected state
|
|
743
|
-
|
|
744
|
-
## 16.4 Status bar
|
|
745
|
-
|
|
746
|
-
If present, keep it extremely minimal.
|
|
747
|
-
|
|
748
|
-
Useful items:
|
|
749
|
-
|
|
750
|
-
* save state
|
|
751
|
-
* track changes state
|
|
752
|
-
* warnings count
|
|
753
|
-
* word compatibility status badge if desired
|
|
754
|
-
|
|
755
|
-
---
|
|
756
|
-
|
|
757
|
-
## 17. Modes and state-specific appearance
|
|
758
|
-
|
|
759
|
-
## 17.1 Read-only mode
|
|
760
|
-
|
|
761
|
-
Read-only mode should:
|
|
762
|
-
|
|
763
|
-
* remove editing affordances
|
|
764
|
-
* preserve review visibility
|
|
765
|
-
* keep navigation controls available
|
|
766
|
-
* reduce toolbar actions intelligently
|
|
767
|
-
|
|
768
|
-
## 17.2 Track changes enabled
|
|
769
|
-
|
|
770
|
-
When track changes is on:
|
|
771
|
-
|
|
772
|
-
* show a clear but restrained state indicator
|
|
773
|
-
* make review actions discoverable
|
|
774
|
-
* avoid bathing the entire interface in warning color
|
|
775
|
-
|
|
776
|
-
## 17.3 Comment-focused state
|
|
777
|
-
|
|
778
|
-
When a comment is selected:
|
|
779
|
-
|
|
780
|
-
* highlight anchor range more strongly
|
|
781
|
-
* scroll related sidebar thread into focus
|
|
782
|
-
* visually connect thread and anchor subtly
|
|
783
|
-
|
|
784
|
-
## 17.4 Warning / preserved-content state
|
|
785
|
-
|
|
786
|
-
For unsupported-preserved content:
|
|
787
|
-
|
|
788
|
-
* show an explicit but calm warning banner or inline badge
|
|
789
|
-
* do not disrupt reading more than necessary
|
|
790
|
-
* clearly distinguish from fatal errors
|
|
791
|
-
|
|
792
|
-
---
|
|
793
|
-
|
|
794
|
-
## 18. Accessibility and inclusive design
|
|
795
|
-
|
|
796
|
-
The visual system must support:
|
|
797
|
-
|
|
798
|
-
* strong focus-visible states
|
|
799
|
-
* non-color-only distinction for insertions/deletions/comments
|
|
800
|
-
* keyboard navigability
|
|
801
|
-
* clear contrast ratios
|
|
802
|
-
* optional high contrast mode
|
|
803
|
-
* reduced motion
|
|
804
|
-
|
|
805
|
-
Revision styling must never rely only on color:
|
|
806
|
-
|
|
807
|
-
* insertions may use underline or indicator shape
|
|
808
|
-
* deletions may use strikethrough plus tone
|
|
809
|
-
* comments may use both tint and marker
|
|
810
|
-
|
|
811
|
-
---
|
|
812
|
-
|
|
813
|
-
## 19. Responsive behavior
|
|
814
|
-
|
|
815
|
-
## 19.1 Desktop first
|
|
816
|
-
|
|
817
|
-
The primary experience is desktop-first.
|
|
818
|
-
|
|
819
|
-
## 19.2 Narrow layouts
|
|
820
|
-
|
|
821
|
-
On narrower widths:
|
|
822
|
-
|
|
823
|
-
* toolbar may collapse into grouped controls
|
|
824
|
-
* sidebar may become overlay/drawer
|
|
825
|
-
* document padding may reduce modestly
|
|
826
|
-
* floating controls remain usable
|
|
827
|
-
|
|
828
|
-
The document should remain readable before preserving full control density.
|
|
829
|
-
|
|
830
|
-
---
|
|
831
|
-
|
|
832
|
-
## 20. Styling architecture
|
|
833
|
-
|
|
834
|
-
Recommended styling approach:
|
|
835
|
-
|
|
836
|
-
* design tokens first
|
|
837
|
-
* component-scoped styles
|
|
838
|
-
* theme object for overrides
|
|
839
|
-
* clear semantic tokens rather than raw color use
|
|
840
|
-
|
|
841
|
-
The component should support:
|
|
842
|
-
|
|
843
|
-
* default theme
|
|
844
|
-
* host overrides through typed theme tokens
|
|
845
|
-
* style isolation to avoid host CSS collisions
|
|
846
|
-
|
|
847
|
-
Avoid hard-coding visual values directly in individual components where tokens should exist.
|
|
848
|
-
|
|
849
|
-
### Implementation reference
|
|
850
|
-
|
|
851
|
-
The canonical frontend implementation architecture, component inventory, theme contract, and
|
|
852
|
-
editing model are defined in `docs/reference/word-review-editor-frontend-architecture.md`.
|
|
853
|
-
That document governs how the design principles in this file are realized in code.
|
|
854
|
-
|
|
855
|
-
---
|
|
856
|
-
|
|
857
|
-
## 21. Default theme token recommendation
|
|
858
|
-
|
|
859
|
-
Example token groups:
|
|
860
|
-
|
|
861
|
-
* `font.ui`
|
|
862
|
-
* `font.document`
|
|
863
|
-
* `font.mono`
|
|
864
|
-
* `size.text.xs/sm/md/lg/xl`
|
|
865
|
-
* `space.1..10`
|
|
866
|
-
* `radius.sm/md/lg/xl`
|
|
867
|
-
* `color.bg.app`
|
|
868
|
-
* `color.bg.panel`
|
|
869
|
-
* `color.bg.surface`
|
|
870
|
-
* `color.border.subtle`
|
|
871
|
-
* `color.border.default`
|
|
872
|
-
* `color.text.primary`
|
|
873
|
-
* `color.text.secondary`
|
|
874
|
-
* `color.text.muted`
|
|
875
|
-
* `color.accent.default`
|
|
876
|
-
* `color.accent.hover`
|
|
877
|
-
* `color.comment.bg`
|
|
878
|
-
* `color.comment.border`
|
|
879
|
-
* `color.comment.text`
|
|
880
|
-
* `color.revision.insert.bg`
|
|
881
|
-
* `color.revision.insert.text`
|
|
882
|
-
* `color.revision.delete.bg`
|
|
883
|
-
* `color.revision.delete.text`
|
|
884
|
-
* `color.warning.bg`
|
|
885
|
-
* `color.warning.text`
|
|
886
|
-
* `color.error.bg`
|
|
887
|
-
* `color.error.text`
|
|
888
|
-
* `shadow.sm/md`
|
|
889
|
-
* `focus.ring`
|
|
890
|
-
|
|
891
|
-
---
|
|
892
|
-
|
|
893
|
-
## 22. Look-and-feel summary
|
|
894
|
-
|
|
895
|
-
The component should feel like:
|
|
896
|
-
|
|
897
|
-
* a premium legal review workspace
|
|
898
|
-
* a focused document environment
|
|
899
|
-
* a modern structured editor
|
|
900
|
-
* calm but capable software
|
|
901
|
-
|
|
902
|
-
It should not feel like:
|
|
903
|
-
|
|
904
|
-
* a retro office suite
|
|
905
|
-
* a CMS rich text field
|
|
906
|
-
* a flashy collaboration toy
|
|
907
|
-
* an over-designed consumer writing app
|
|
908
|
-
|
|
909
|
-
The visual personality should be:
|
|
910
|
-
|
|
911
|
-
* serious
|
|
912
|
-
* refined
|
|
913
|
-
* efficient
|
|
914
|
-
* low-noise
|
|
915
|
-
* trustworthy
|
|
916
|
-
|
|
917
|
-
---
|
|
918
|
-
|
|
919
|
-
## 23. Final design rule
|
|
920
|
-
|
|
921
|
-
When in doubt:
|
|
922
|
-
|
|
923
|
-
1. privilege readability
|
|
924
|
-
2. reduce noise
|
|
925
|
-
3. keep controls contextual
|
|
926
|
-
4. keep review states clear
|
|
927
|
-
5. preserve trust and precision
|
|
928
|
-
|
|
929
|
-
The user should always feel that the editor is **quietly powerful and legally reliable**.
|