{
  "name": "@a3s-lab/office",
  "version": "0.310.0",
  "description": "Open-source collaborative browser editors for documents, Markdown, spreadsheets, presentations, and PDFs.",
  "keywords": [
    "office",
    "document-editor",
    "markdown-editor",
    "spreadsheet",
    "presentation",
    "pdf",
    "collaboration",
    "yjs",
    "react",
    "vue",
    "web-components"
  ],
  "homepage": "https://github.com/A3S-Lab/Office#readme",
  "bugs": {
    "url": "https://github.com/A3S-Lab/Office/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/A3S-Lab/Office.git"
  },
  "license": "MIT",
  "author": "A3S Lab",
  "type": "module",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./core": {
      "types": "./dist/core.d.ts",
      "import": "./dist/core.js"
    },
    "./react": {
      "types": "./dist/react.d.ts",
      "import": "./dist/react.js"
    },
    "./vue": {
      "types": "./dist/vue.d.ts",
      "import": "./dist/vue.js"
    },
    "./web-component": {
      "types": "./dist/web-component.d.ts",
      "import": "./dist/web-component.js"
    },
    "./styles.css": "./dist/styles.css"
  },
  "types": "./dist/index.d.ts",
  "files": [
    "dist",
    "docs/latest/en/browser-editor-architecture.md",
    "COLLABORATION_ROADMAP.md",
    "README.md",
    "LICENSE",
    "THIRD_PARTY_NOTICES.md"
  ],
  "sideEffects": [
    "*.css"
  ],
  "publishConfig": {
    "access": "public",
    "provenance": true
  },
  "engines": {
    "node": ">=20"
  },
  "scripts": {
    "build": "bun run kernel:build && rslib",
    "collaboration-server:typecheck": "tsc --noEmit -p examples/collaboration-server/tsconfig.json",
    "dev": "bun run kernel:build && rslib --watch",
    "docs:build": "bun scripts/build-docs.ts",
    "docs:dev": "rspress -c website/rspress.docs.config.ts",
    "format": "biome format --write .",
    "format:check": "biome format .",
    "lint": "biome lint .",
    "lint:fix": "biome lint --write .",
    "kernel:build": "bash scripts/build-office-kernel.sh",
    "kernel:test": "bun run kernel:build && bun scripts/smoke-office-kernel.ts",
    "playground": "bun run playground:assets && rsbuild dev --config playground/rsbuild.config.ts",
    "playground:assets": "bun run build && bash scripts/package-office-skill.sh",
    "playground:build:ui": "bun run playground:assets && rsbuild build --config playground/rsbuild.config.ts",
    "playground:build": "bun run playground:assets && bun run docs:build && rsbuild build --config playground/rsbuild.config.ts",
    "playground:bundle-check": "bun scripts/check-playground-bundle.ts",
    "playground:preview": "bun scripts/ensure-playground-build.ts && rspress preview -c website/rspress.config.ts --host 127.0.0.1 --port 4175",
    "playground:typecheck": "tsc --noEmit -p playground/tsconfig.json",
    "playground:ime:webkit": "playwright test --config playwright.ime.config.ts",
    "playground:testkit": "playwright test --config playwright.testkit.config.ts",
    "playground:visual": "playwright test --config playwright.config.ts",
    "playground:visual:docs-changelog": "playwright test visual-tests/docs-changelog.functional.spec.ts --config playwright.config.ts",
    "playground:visual:home": "playwright test visual-tests/playground-home.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-emphasis": "playwright test visual-tests/document-emphasis.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-wps-shortcuts": "playwright test visual-tests/document-wps-shortcuts.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-wps-layout": "playwright test visual-tests/document-wps-layout.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-wps-numeric-fields": "playwright test visual-tests/document-wps-numeric-fields.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-index": "playwright test visual-tests/document-index.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-comparison": "playwright test visual-tests/document-comparison.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-paragraph-mark-revision": "playwright test visual-tests/document-paragraph-mark-revision.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-move-revision": "playwright test visual-tests/document-move-revision.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-hidden-text": "playwright test visual-tests/document-hidden-text.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-legacy-text-effects": "playwright test visual-tests/document-legacy-text-effects.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-proofing-languages": "playwright test visual-tests/document-proofing-languages.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-run-border": "playwright test visual-tests/document-run-border.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-run-shading": "playwright test visual-tests/document-run-shading.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-kerning": "playwright test visual-tests/document-kerning.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-character-scale": "playwright test visual-tests/document-character-scale.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-character-position": "playwright test visual-tests/document-character-position.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-character-spacing": "playwright test visual-tests/document-character-spacing.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-script-fonts": "playwright test visual-tests/document-script-fonts.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-opentype": "playwright test visual-tests/document-opentype.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-strike": "playwright test visual-tests/document-strike.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-text-box": "playwright test visual-tests/document-text-box.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-connector": "playwright test visual-tests/document-connector.functional.spec.ts --config playwright.config.ts",
    "playground:visual:document-content-control": "playwright test visual-tests/document-content-control.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-data-validation": "playwright test visual-tests/spreadsheet-data-validation.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-conditional-format": "playwright test visual-tests/spreadsheet-conditional-format.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-date-time": "playwright test visual-tests/spreadsheet-date-time.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-copy-from-above": "playwright test visual-tests/spreadsheet-copy-from-above.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-custom-sort": "playwright test visual-tests/spreadsheet-custom-sort.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-custom-list-sort": "playwright test visual-tests/spreadsheet-custom-list-sort.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-appearance-sort": "playwright test visual-tests/spreadsheet-appearance-sort.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-row-sort": "playwright test visual-tests/spreadsheet-row-sort.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-text-sort": "playwright test visual-tests/spreadsheet-text-sort.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-sort-range": "playwright test visual-tests/spreadsheet-sort-range.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-owned-range-sort": "playwright test visual-tests/spreadsheet-owned-range-sort.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-font-dialog-shortcuts": "playwright test visual-tests/spreadsheet-font-dialog-shortcuts.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-diagonal-borders": "playwright test visual-tests/spreadsheet-diagonal-borders.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-font-colors-shortcuts": "playwright test visual-tests/spreadsheet-font-colors-shortcuts.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-hyperlink": "playwright test visual-tests/spreadsheet-hyperlink.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-gradient-fill": "playwright test visual-tests/spreadsheet-gradient-fill.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-pattern-fill": "playwright test visual-tests/spreadsheet-pattern-fill.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-ribbon": "playwright test visual-tests/spreadsheet-ribbon.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-rich-text": "playwright test visual-tests/spreadsheet-rich-text.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-underline": "playwright test visual-tests/spreadsheet-underline.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-table": "playwright test visual-tests/spreadsheet-table.functional.spec.ts --config playwright.config.ts",
    "playground:visual:spreadsheet-table-totals": "playwright test visual-tests/spreadsheet-table-totals.functional.spec.ts --config playwright.config.ts",
    "playground:visual:presentation-animation": "playwright test visual-tests/presentation-animation.functional.spec.ts --config playwright.config.ts",
    "playground:visual:presentation-ribbon-select": "playwright test visual-tests/presentation-ribbon-select.functional.spec.ts --config playwright.config.ts",
    "playground:visual:pdf-page-organization": "playwright test visual-tests/pdf-page-organization.functional.spec.ts --config playwright.config.ts",
    "playground:visual:update": "playwright test --config playwright.config.ts --update-snapshots",
    "office:ops": "bun scripts/office-ui-ops.ts",
    "office:ops:plan": "bun scripts/office-ui-ops.ts plan",
    "office:ops:capabilities": "bun scripts/office-ui-ops.ts capabilities",
    "office:ops:doctor": "bun scripts/office-ui-ops.ts doctor",
    "office:ops:writer": "bun scripts/office-ui-ops.ts gate writer",
    "office:ops:spreadsheet": "bun scripts/office-ui-ops.ts gate spreadsheet",
    "office:ops:presentation": "bun scripts/office-ui-ops.ts gate presentation",
    "office:ops:markdown": "bun scripts/office-ui-ops.ts gate markdown",
    "office:ops:pdf": "bun scripts/office-ui-ops.ts gate pdf",
    "performance:fixtures": "bun .a3s-test/performance/generate-fixtures.ts",
    "performance:large-document-edits": "bun .a3s-test/performance/generate-fixtures.ts --documents-only && bun .a3s-test/performance/benchmark-document-edit.ts http://127.0.0.1:4175/playground/ 3",
    "performance:large-documents": "bun .a3s-test/performance/generate-fixtures.ts --documents-only && bun .a3s-test/performance/benchmark.ts --url http://127.0.0.1:4175/playground/ --scenarios document-text,document-table --runs 3 --timeout-ms 180000",
    "performance:large-spreadsheet-edits": "bun .a3s-test/performance/generate-fixtures.ts --spreadsheets-only && bun .a3s-test/performance/benchmark-spreadsheet-edit.ts http://127.0.0.1:4175/playground/ 3",
    "performance:large-spreadsheets": "bun .a3s-test/performance/generate-fixtures.ts --spreadsheets-only && bun .a3s-test/performance/benchmark.ts --url http://127.0.0.1:4175/playground/ --scenarios spreadsheet --runs 5 --timeout-ms 180000",
    "performance:pdf": "bun .a3s-test/performance/generate-fixtures.ts --pdf-only && bun .a3s-test/performance/benchmark-pdf.ts --url http://127.0.0.1:4175/playground/ --runs 3 --timeout-ms 120000",
    "performance:presentation": "bun .a3s-test/performance/generate-fixtures.ts --presentations-only && bun .a3s-test/performance/benchmark-presentation.ts --url http://127.0.0.1:4175/playground/ --runs 3 --timeout-ms 120000 --modes default,content-visibility",
    "test": "rstest",
    "test:e2e": "bun run test:e2e:fixtures && A3S_TEST_SUITE=all bash scripts/run-a3s-test-web-gate.sh && bun run test:e2e:testkit",
    "test:e2e:check": "bun run test:e2e:fixtures && bun scripts/check-a3s-test-suites.ts",
    "test:e2e:testkit": "bash scripts/run-a3s-testkit-ui-gate.sh",
    "test:e2e:testkit:check": "A3S_TEST_SUITE=office-testkit-ui.acl bun scripts/check-a3s-test-suites.ts",
    "test:e2e:all": "bun run test:e2e",
    "test:e2e:all:check": "bun run test:e2e:check",
    "test:e2e:writer-text-box": "bun run test:e2e:fixtures && A3S_TEST_SUITE=tests/e2e/word-text-box-phone.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-text-box:check": "a3s-test check tests/e2e/word-text-box-phone.acl --json",
    "test:e2e:writer-wps-connector": "bun run test:e2e:fixtures && A3S_TEST_SUITE=tests/e2e/word-wps-connector-boundary.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-wps-connector:check": "a3s-test check tests/e2e/word-wps-connector-boundary.acl --json",
    "test:e2e:writer-field-settings": "bun run test:e2e:fixtures && A3S_TEST_SUITE=tests/e2e/word-field-settings.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-field-settings:check": "a3s-test check tests/e2e/word-field-settings.acl --json",
    "test:e2e:writer-content-control": "bun run test:e2e:fixtures && A3S_TEST_SUITE=tests/e2e/word-content-controls-phone.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-content-control:check": "a3s-test check tests/e2e/word-content-controls-phone.acl --json",
    "test:e2e:fixtures": "bun scripts/create-e2e-fixtures.ts",
    "test:e2e:numbering-revision": "A3S_TEST_SUITE=tests/e2e/word-numbering-revision.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:numbering-revision:check": "a3s-test check tests/e2e/word-numbering-revision.acl --json",
    "test:e2e:writer-paragraph-mark-revision": "bun run test:e2e:fixtures && A3S_TEST_SUITE=tests/e2e/word-paragraph-mark-revision.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-paragraph-mark-revision:check": "a3s-test check tests/e2e/word-paragraph-mark-revision.acl --json",
    "test:e2e:large-documents": "bun .a3s-test/performance/generate-fixtures.ts --documents-only && a3s-test run tests/e2e/word-large-document-windowing.acl --json",
    "test:e2e:large-documents:check": "a3s-test check tests/e2e/word-large-document-windowing.acl --json",
    "test:e2e:large-pdf": "bun .a3s-test/performance/generate-fixtures.ts --pdf-only && a3s-test run tests/e2e/pdf-large-windowing.acl --json",
    "test:e2e:large-pdf:check": "a3s-test check tests/e2e/pdf-large-windowing.acl --json",
    "test:e2e:pdf-page-organization": "bun run test:e2e:fixtures && A3S_TEST_SUITE=tests/e2e/pdf-page-organization.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:pdf-page-organization:check": "a3s-test check tests/e2e/pdf-page-organization.acl --json",
    "test:e2e:presentation-animation": "A3S_TEST_SUITE=tests/e2e/presentation-animation.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:presentation-animation:check": "a3s-test check tests/e2e/presentation-animation.acl --json",
    "test:e2e:presentation-chinese-ime": "A3S_TEST_SUITE=tests/e2e/presentation-chinese-ime.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:presentation-chinese-ime:check": "a3s-test check tests/e2e/presentation-chinese-ime.acl --json",
    "test:e2e:large-presentation": "bun .a3s-test/performance/generate-fixtures.ts --presentations-only && a3s-test run tests/e2e/presentation-large-windowing.acl --json",
    "test:e2e:large-presentation:check": "a3s-test check tests/e2e/presentation-large-windowing.acl --json",
    "test:e2e:initial-focus": "a3s-test run tests/e2e/office-editor-initial-focus.acl --json",
    "test:e2e:initial-focus:check": "a3s-test check tests/e2e/office-editor-initial-focus.acl --json",
    "test:e2e:docs": "a3s-test run tests/e2e/office-docs-navigation.acl --json",
    "test:e2e:docs:check": "a3s-test check tests/e2e/office-docs-navigation.acl --json",
    "test:e2e:homepage": "A3S_TEST_SUITE=tests/e2e/homepage-editor-demo.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:homepage:check": "a3s-test check tests/e2e/homepage-editor-demo.acl --json",
    "test:e2e:playground-templates": "A3S_TEST_SUITE=tests/e2e/playground-template-discoverability.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:playground-templates:check": "a3s-test check tests/e2e/playground-template-discoverability.acl --json",
    "test:e2e:collaboration-participants": "a3s-test run tests/e2e/collaboration-participants.acl --json",
    "test:e2e:collaboration-participants:check": "a3s-test check tests/e2e/collaboration-participants.acl --json",
    "test:e2e:collaboration-playground": "a3s-test run tests/e2e/collaboration-playground-entry.acl --json",
    "test:e2e:collaboration-playground:check": "a3s-test check tests/e2e/collaboration-playground-entry.acl --json",
    "test:e2e:collaboration-document-comments": "a3s-test run tests/e2e/collaboration-document-comments.acl --command-timeout-ms 120000 --json",
    "test:e2e:collaboration-document-comments:check": "a3s-test check tests/e2e/collaboration-document-comments.acl --json",
    "test:e2e:collaboration-document-suggestions": "a3s-test run tests/e2e/collaboration-document-suggestions.acl --command-timeout-ms 120000 --json",
    "test:e2e:collaboration-document-suggestions:check": "a3s-test check tests/e2e/collaboration-document-suggestions.acl --json",
    "test:e2e:collaboration-pdf-annotations": "a3s-test run tests/e2e/collaboration-pdf-annotations.acl --json",
    "test:e2e:collaboration-pdf-annotations:check": "a3s-test check tests/e2e/collaboration-pdf-annotations.acl --json",
    "test:e2e:collaboration-spreadsheet-cells": "a3s-test run tests/e2e/collaboration-spreadsheet-cells.acl --json",
    "test:e2e:collaboration-spreadsheet-cells:check": "a3s-test check tests/e2e/collaboration-spreadsheet-cells.acl --json",
    "test:e2e:collaboration-presentation-elements": "a3s-test run tests/e2e/collaboration-presentation-elements.acl --json",
    "test:e2e:collaboration-presentation-elements:check": "a3s-test check tests/e2e/collaboration-presentation-elements.acl --json",
    "test:e2e:wps-layout": "bun run test:e2e:fixtures && a3s-test run tests/e2e/word-wps-layout-parity.acl --json && a3s-test run tests/e2e/word-wps-font-grid-parity.acl --json",
    "test:e2e:wps-layout:check": "bun run test:e2e:fixtures && a3s-test check tests/e2e/word-wps-layout-parity.acl --json && a3s-test check tests/e2e/word-wps-font-grid-parity.acl --json",
    "test:e2e:writer-ribbon": "a3s-test run tests/e2e/word-ribbon-collapse.acl --json",
    "test:e2e:writer-ribbon:check": "a3s-test check tests/e2e/word-ribbon-collapse.acl --json",
    "test:e2e:spreadsheet-ribbon": "a3s-test run tests/e2e/spreadsheet-ribbon-alignment.acl --json",
    "test:e2e:spreadsheet-ribbon:check": "a3s-test check tests/e2e/spreadsheet-ribbon-alignment.acl --json",
    "test:e2e:spreadsheet-orientation-visibility": "a3s-test run tests/e2e/spreadsheet-ribbon-orientation-visibility.acl --json",
    "test:e2e:spreadsheet-orientation-visibility:check": "a3s-test check tests/e2e/spreadsheet-ribbon-orientation-visibility.acl --json",
    "test:e2e:spreadsheet-font-colors-shortcuts": "a3s-test run tests/e2e/spreadsheet-font-colors-shortcuts.acl --json",
    "test:e2e:spreadsheet-font-colors-shortcuts:check": "a3s-test check tests/e2e/spreadsheet-font-colors-shortcuts.acl --json",
    "test:e2e:spreadsheet-cell-style": "a3s-test run tests/e2e/spreadsheet-cell-style.acl --json",
    "test:e2e:spreadsheet-cell-style:check": "a3s-test check tests/e2e/spreadsheet-cell-style.acl --json",
    "test:e2e:spreadsheet-font-size-border-shortcuts": "a3s-test run tests/e2e/spreadsheet-font-size-border-shortcuts.acl --json",
    "test:e2e:spreadsheet-font-size-border-shortcuts:check": "a3s-test check tests/e2e/spreadsheet-font-size-border-shortcuts.acl --json",
    "test:e2e:spreadsheet-underline-styles": "a3s-test run tests/e2e/spreadsheet-underline-styles.acl --json",
    "test:e2e:spreadsheet-underline-styles:check": "a3s-test check tests/e2e/spreadsheet-underline-styles.acl --json",
    "test:e2e:spreadsheet-table": "a3s-test run tests/e2e/spreadsheet-table.acl --json",
    "test:e2e:spreadsheet-table:check": "a3s-test check tests/e2e/spreadsheet-table.acl --json",
    "test:e2e:spreadsheet-table-totals": "a3s-test run tests/e2e/spreadsheet-table-totals.acl --json",
    "test:e2e:spreadsheet-table-totals:check": "a3s-test check tests/e2e/spreadsheet-table-totals.acl --json",
    "test:e2e:spreadsheet-custom-sort": "A3S_TEST_SUITE=tests/e2e/spreadsheet-custom-sort.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-custom-sort:check": "a3s-test check tests/e2e/spreadsheet-custom-sort.acl --json",
    "test:e2e:spreadsheet-custom-list-sort": "A3S_TEST_SUITE=tests/e2e/spreadsheet-custom-list-sort.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-custom-list-sort:check": "a3s-test check tests/e2e/spreadsheet-custom-list-sort.acl --json",
    "test:e2e:spreadsheet-appearance-sort": "A3S_TEST_SUITE=tests/e2e/spreadsheet-appearance-sort.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-appearance-sort:check": "a3s-test check tests/e2e/spreadsheet-appearance-sort.acl --json",
    "test:e2e:spreadsheet-row-sort": "A3S_TEST_SUITE=tests/e2e/spreadsheet-row-sort.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-row-sort:check": "a3s-test check tests/e2e/spreadsheet-row-sort.acl --json",
    "test:e2e:spreadsheet-text-sort": "A3S_TEST_SUITE=tests/e2e/spreadsheet-text-sort.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-text-sort:check": "a3s-test check tests/e2e/spreadsheet-text-sort.acl --json",
    "test:e2e:spreadsheet-sort-range": "A3S_TEST_SUITE=tests/e2e/spreadsheet-sort-range.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-sort-range:check": "a3s-test check tests/e2e/spreadsheet-sort-range.acl --json",
    "test:e2e:spreadsheet-owned-range-sort": "A3S_TEST_SUITE=tests/e2e/spreadsheet-owned-range-sort.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-owned-range-sort:check": "a3s-test check tests/e2e/spreadsheet-owned-range-sort.acl --json",
    "test:e2e:spreadsheet-cell-fill": "a3s-test run tests/e2e/spreadsheet-cell-fill.acl --json",
    "test:e2e:spreadsheet-cell-fill:check": "a3s-test check tests/e2e/spreadsheet-cell-fill.acl --json",
    "test:e2e:spreadsheet-auto-sum": "a3s-test run tests/e2e/spreadsheet-auto-sum.acl --json",
    "test:e2e:spreadsheet-auto-sum:check": "a3s-test check tests/e2e/spreadsheet-auto-sum.acl --json",
    "test:e2e:spreadsheet-paste-special": "a3s-test run tests/e2e/spreadsheet-paste-special.acl --json",
    "test:e2e:spreadsheet-paste-special:check": "a3s-test check tests/e2e/spreadsheet-paste-special.acl --json",
    "test:e2e:spreadsheet-pattern-fill": "A3S_TEST_SUITE=tests/e2e/spreadsheet-pattern-fill.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-pattern-fill:check": "a3s-test check tests/e2e/spreadsheet-pattern-fill.acl --json",
    "test:e2e:spreadsheet-gradient-fill": "A3S_TEST_SUITE=tests/e2e/spreadsheet-gradient-fill.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-gradient-fill:check": "a3s-test check tests/e2e/spreadsheet-gradient-fill.acl --json",
    "test:e2e:spreadsheet-go-to": "a3s-test run tests/e2e/spreadsheet-go-to.acl --json",
    "test:e2e:spreadsheet-go-to:check": "a3s-test check tests/e2e/spreadsheet-go-to.acl --json",
    "test:e2e:spreadsheet-data-validation": "A3S_TEST_SUITE=tests/e2e/spreadsheet-data-validation.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-data-validation:check": "a3s-test check tests/e2e/spreadsheet-data-validation.acl --json",
    "test:e2e:spreadsheet-conditional-format": "A3S_TEST_SUITE=tests/e2e/spreadsheet-conditional-format.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-conditional-format:check": "a3s-test check tests/e2e/spreadsheet-conditional-format.acl --json",
    "test:e2e:spreadsheet-diagonal-borders": "a3s-test run tests/e2e/spreadsheet-diagonal-borders.acl --json",
    "test:e2e:spreadsheet-diagonal-borders:check": "a3s-test check tests/e2e/spreadsheet-diagonal-borders.acl --json",
    "test:e2e:spreadsheet-date-time": "a3s-test run tests/e2e/spreadsheet-date-time.acl --json",
    "test:e2e:spreadsheet-date-time:check": "a3s-test check tests/e2e/spreadsheet-date-time.acl --json",
    "test:e2e:spreadsheet-1904-date-system": "A3S_TEST_SUITE=tests/e2e/spreadsheet-1904-date-system.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-1904-date-system:check": "a3s-test check tests/e2e/spreadsheet-1904-date-system.acl --json",
    "test:e2e:spreadsheet-copy-from-above": "A3S_TEST_SUITE=tests/e2e/spreadsheet-copy-from-above.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-copy-from-above:check": "a3s-test check tests/e2e/spreadsheet-copy-from-above.acl --json",
    "test:e2e:spreadsheet-font-dialog-shortcuts": "A3S_TEST_SUITE=tests/e2e/spreadsheet-font-dialog-shortcuts.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-font-dialog-shortcuts:check": "a3s-test check tests/e2e/spreadsheet-font-dialog-shortcuts.acl --json",
    "test:e2e:spreadsheet-rich-text": "A3S_TEST_SUITE=tests/e2e/spreadsheet-rich-text.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:spreadsheet-rich-text:check": "a3s-test check tests/e2e/spreadsheet-rich-text.acl --json",
    "test:e2e:spreadsheet-hyperlink": "a3s-test run tests/e2e/spreadsheet-hyperlink.acl --json",
    "test:e2e:spreadsheet-hyperlink:check": "a3s-test check tests/e2e/spreadsheet-hyperlink.acl --json",
    "test:e2e:spreadsheet-maximum-sparse": "a3s-test run tests/e2e/spreadsheet-maximum-sparse.acl --json",
    "test:e2e:spreadsheet-maximum-sparse:check": "a3s-test check tests/e2e/spreadsheet-maximum-sparse.acl --json",
    "test:e2e:spreadsheet-large": "bun .a3s-test/performance/generate-fixtures.ts --spreadsheets-only && a3s-test run tests/e2e/spreadsheet-large-controlled-editing.acl --json",
    "test:e2e:spreadsheet-large:check": "a3s-test check tests/e2e/spreadsheet-large-controlled-editing.acl --json",
    "test:e2e:writer-shortcuts": "a3s-test run tests/e2e/word-wps-shortcuts.acl --json",
    "test:e2e:writer-shortcuts:check": "a3s-test check tests/e2e/word-wps-shortcuts.acl --json",
    "test:e2e:writer-emphasis": "A3S_TEST_SUITE=tests/e2e/word-emphasis.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-emphasis:check": "a3s-test check tests/e2e/word-emphasis.acl --json",
    "test:e2e:writer-hidden-text": "A3S_TEST_SUITE=tests/e2e/word-hidden-text.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-hidden-text:check": "a3s-test check tests/e2e/word-hidden-text.acl --json",
    "test:e2e:writer-legacy-text-effects": "A3S_TEST_SUITE=tests/e2e/word-legacy-text-effects.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-legacy-text-effects:check": "a3s-test check tests/e2e/word-legacy-text-effects.acl --json",
    "test:e2e:writer-proofing-languages": "A3S_TEST_SUITE=tests/e2e/word-proofing-languages.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-proofing-languages:check": "a3s-test check tests/e2e/word-proofing-languages.acl --json",
    "test:e2e:writer-table-of-contents": "A3S_TEST_SUITE=tests/e2e/word-table-of-contents.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-table-of-contents:check": "a3s-test check tests/e2e/word-table-of-contents.acl --json",
    "test:e2e:writer-document-index": "A3S_TEST_SUITE=tests/e2e/word-document-index.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-document-index:check": "a3s-test check tests/e2e/word-document-index.acl --json",
    "test:e2e:writer-document-comparison": "A3S_TEST_SUITE=tests/e2e/word-document-comparison.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-document-comparison:check": "a3s-test check tests/e2e/word-document-comparison.acl --json",
    "test:e2e:writer-run-border": "A3S_TEST_SUITE=tests/e2e/word-run-border.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-run-border:check": "a3s-test check tests/e2e/word-run-border.acl --json",
    "test:e2e:writer-run-shading": "A3S_TEST_SUITE=tests/e2e/word-run-shading.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-run-shading:check": "a3s-test check tests/e2e/word-run-shading.acl --json",
    "test:e2e:writer-kerning": "A3S_TEST_SUITE=tests/e2e/word-kerning.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-kerning:check": "a3s-test check tests/e2e/word-kerning.acl --json",
    "test:e2e:writer-character-scale": "A3S_TEST_SUITE=tests/e2e/word-character-scale.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-character-scale:check": "a3s-test check tests/e2e/word-character-scale.acl --json",
    "test:e2e:writer-character-position": "A3S_TEST_SUITE=tests/e2e/word-character-position.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-character-position:check": "a3s-test check tests/e2e/word-character-position.acl --json",
    "test:e2e:writer-character-spacing": "A3S_TEST_SUITE=tests/e2e/word-character-spacing.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-character-spacing:check": "a3s-test check tests/e2e/word-character-spacing.acl --json",
    "test:e2e:writer-script-fonts": "A3S_TEST_SUITE=tests/e2e/word-script-fonts.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-script-fonts:check": "a3s-test check tests/e2e/word-script-fonts.acl --json",
    "test:e2e:writer-opentype": "A3S_TEST_SUITE=tests/e2e/word-opentype-typography.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-opentype:check": "a3s-test check tests/e2e/word-opentype-typography.acl --json",
    "test:e2e:writer-strike": "A3S_TEST_SUITE=tests/e2e/word-strike-styles.acl bash scripts/run-a3s-test-web-gate.sh",
    "test:e2e:writer-strike:check": "a3s-test check tests/e2e/word-strike-styles.acl --json",
    "test:e2e:writer-layout": "a3s-test run tests/e2e/word-insert-page-layout.acl --json",
    "test:e2e:writer-layout:check": "a3s-test check tests/e2e/word-insert-page-layout.acl --json",
    "test:e2e:writer-review-view": "a3s-test run tests/e2e/word-review-view.acl --json",
    "test:e2e:writer-review-view:check": "a3s-test check tests/e2e/word-review-view.acl --json",
    "test:e2e:writer-formatting-revision": "a3s-test run tests/e2e/word-formatting-revision.acl --json",
    "test:e2e:writer-formatting-revision:check": "a3s-test check tests/e2e/word-formatting-revision.acl --json",
    "test:e2e:writer-paragraph-formatting-revision": "a3s-test run tests/e2e/word-paragraph-formatting-revision.acl --json",
    "test:e2e:writer-paragraph-formatting-revision:check": "a3s-test check tests/e2e/word-paragraph-formatting-revision.acl --json",
    "test:e2e:writer-move-revision": "a3s-test run tests/e2e/word-move-revision.acl --json",
    "test:e2e:writer-move-revision:check": "a3s-test check tests/e2e/word-move-revision.acl --json",
    "test:e2e:writer-status": "a3s-test run tests/e2e/word-status-bar.acl --json",
    "test:e2e:writer-status:check": "a3s-test check tests/e2e/word-status-bar.acl --json",
    "test:wps-layout": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/test-wps-layout-parity.ps1",
    "test:office-layout": "bun run test:wps-layout",
    "test:corpus:r0": "rstest tests/corpus/r0-no-clobber/r0-no-clobber.test.ts",
    "test:watch": "rstest --watch",
    "typecheck": "tsc --noEmit"
  },
  "dependencies": {
    "@embedpdf/fonts-arabic": "1.0.0",
    "@embedpdf/fonts-hebrew": "1.0.0",
    "@embedpdf/fonts-latin": "1.0.0",
    "@embedpdf/fonts-sc": "1.0.0",
    "@embedpdf/models": "2.14.3",
    "@embedpdf/pdfium": "2.14.3",
    "@embedpdf/react-pdf-viewer": "2.14.3",
    "@fortune-sheet/core": "^1.0.4",
    "@fortune-sheet/formula-parser": "0.2.13",
    "@fortune-sheet/react": "^1.0.4",
    "@tiptap/core": "3.28.0",
    "@tiptap/extension-collaboration": "3.28.0",
    "@tiptap/extension-collaboration-caret": "3.28.0",
    "@tiptap/extension-color": "3.28.0",
    "@tiptap/extension-highlight": "3.28.0",
    "@tiptap/extension-image": "3.28.0",
    "@tiptap/extension-list": "3.28.0",
    "@tiptap/extension-placeholder": "3.28.0",
    "@tiptap/extension-strike": "3.28.0",
    "@tiptap/extension-subscript": "3.28.0",
    "@tiptap/extension-superscript": "3.28.0",
    "@tiptap/extension-table": "3.28.0",
    "@tiptap/extension-text-align": "3.28.0",
    "@tiptap/extension-text-style": "3.28.0",
    "@tiptap/extension-underline": "3.28.0",
    "@tiptap/markdown": "3.28.0",
    "@tiptap/pm": "3.28.0",
    "@tiptap/react": "3.28.0",
    "@tiptap/starter-kit": "3.28.0",
    "@tiptap/y-tiptap": "3.0.8",
    "docx": "^9.7.1",
    "html2canvas": "^1.4.1",
    "jspdf": "^3.0.3",
    "jszip": "^3.10.1",
    "lucide-react": "^0.544.0",
    "mammoth": "^1.12.0",
    "pdf-lib": "1.17.1",
    "pptxgenjs": "^4.0.1",
    "xlsx": "^0.18.5",
    "y-protocols": "1.0.7",
    "yjs": "13.6.32"
  },
  "peerDependencies": {
    "react": ">=18.2.0 <20",
    "react-dom": ">=18.2.0 <20",
    "vue": ">=3.4.0 <4"
  },
  "peerDependenciesMeta": {
    "vue": {
      "optional": true
    }
  },
  "devDependencies": {
    "@a3s-lab/testkit": "0.6.2",
    "@biomejs/biome": "2.4.15",
    "@fontsource-variable/geist": "^5.3.0",
    "@fontsource-variable/geist-mono": "^5.3.0",
    "@playwright/test": "1.61.1",
    "@rsbuild/core": "^2.1.5",
    "@rsbuild/plugin-react": "^2.1.0",
    "@rslib/core": "^0.23.2",
    "@rspress/core": "^2.0.17",
    "@rspress/shared": "2.0.19",
    "@rstest/adapter-rslib": "^0.10.6",
    "@rstest/core": "^0.10.6",
    "@rstest/coverage-v8": "0.10.6",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.2",
    "@types/react": "^19.2.17",
    "@types/react-dom": "^19.2.3",
    "commander": "15.0.0",
    "happy-dom": "^20.10.6",
    "prism-react-renderer": "2.4.1",
    "react": "^19.2.7",
    "react-dom": "^19.2.7",
    "typescript": "^6.0.3",
    "vue": "^3.5.27"
  },
  "private": false,
  "patchedDependencies": {
    "@fortune-sheet/core@1.0.4": "patches/@fortune-sheet%2Fcore@1.0.4.patch",
    "@fortune-sheet/react@1.0.4": "patches/@fortune-sheet%2Freact@1.0.4.patch",
    "@tiptap/y-tiptap@3.0.8": "patches/@tiptap%2Fy-tiptap@3.0.8.patch",
    "html2canvas@1.4.1": "patches/html2canvas@1.4.1.patch",
    "xlsx@0.18.5": "patches/xlsx@0.18.5.patch"
  }
}
