@makhmudov.kay/az-editor 0.0.0-stage → 0.1.0-beta.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.
Files changed (116) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +216 -2
  3. package/THIRD_PARTY_NOTICES.md +30 -0
  4. package/dist/THIRD_PARTY_NOTICES.md +30 -0
  5. package/dist/az-editor.css +2 -0
  6. package/dist/az-editor.js +1569 -0
  7. package/dist/library/AzDocumentEditor.d.ts +69 -0
  8. package/dist/library/AzHtmlEditor.d.ts +35 -0
  9. package/dist/library/document-io.d.ts +20 -0
  10. package/dist/library/hujjat/api.d.ts +28 -0
  11. package/dist/library/hujjat/contract.d.ts +53 -0
  12. package/dist/library/hujjat/docx-to-html.d.ts +5 -0
  13. package/dist/library/hujjat/docx.d.ts +10 -0
  14. package/dist/library/hujjat/html-to-docx.d.ts +3 -0
  15. package/dist/library/hujjat/xml.d.ts +17 -0
  16. package/dist/library/index.d.ts +15 -0
  17. package/dist/library/pdf-export.d.ts +14 -0
  18. package/dist/library/pdf-profile.d.ts +3 -0
  19. package/dist/library/print-document.d.ts +7 -0
  20. package/dist/library/print-pages/index.d.ts +33 -0
  21. package/dist/library/ru.d.ts +2 -0
  22. package/dist/licenses/@docx-editor.dev__core-2.27.0/LICENSE +201 -0
  23. package/dist/licenses/@docx-editor.dev__core-2.27.0/THIRD_PARTY_NOTICES.md +56 -0
  24. package/dist/licenses/@docx-editor.dev__core-2.27.0/licenses/HarfBuzz-COPYING.txt +42 -0
  25. package/dist/licenses/@docx-editor.dev__fonts-2.27.0/LICENSE +212 -0
  26. package/dist/licenses/@docx-editor.dev__fonts-2.27.0/THIRD_PARTY_NOTICES.md +28 -0
  27. package/dist/licenses/@docx-editor.dev__fonts-2.27.0/licenses/GUST-FONT-LICENSE.txt +29 -0
  28. package/dist/licenses/@docx-editor.dev__fonts-2.27.0/licenses/LICENSE-Liberation.txt +102 -0
  29. package/dist/licenses/@docx-editor.dev__fonts-2.27.0/licenses/LPPL-1.3c.txt +416 -0
  30. package/dist/licenses/@docx-editor.dev__fonts-2.27.0/licenses/OFL-Caladea.txt +93 -0
  31. package/dist/licenses/@docx-editor.dev__fonts-2.27.0/licenses/OFL-Carlito.txt +94 -0
  32. package/dist/licenses/@docx-editor.dev__i18n-2.27.0/LICENSE +201 -0
  33. package/dist/licenses/@docx-editor.dev__i18n-2.27.0/THIRD_PARTY_NOTICES.md +18 -0
  34. package/dist/licenses/@docx-editor.dev__react-2.27.0/LICENSE +201 -0
  35. package/dist/licenses/@docx-editor.dev__react-2.27.0/THIRD_PARTY_NOTICES.md +18 -0
  36. package/dist/licenses/@floating-ui__core-1.8.0/LICENSE +20 -0
  37. package/dist/licenses/@floating-ui__dom-1.8.0/LICENSE +20 -0
  38. package/dist/licenses/@floating-ui__react-dom-2.1.9/LICENSE +20 -0
  39. package/dist/licenses/@floating-ui__utils-0.2.12/LICENSE +20 -0
  40. package/dist/licenses/@radix-ui__number-1.1.3/LICENSE +21 -0
  41. package/dist/licenses/@radix-ui__primitive-1.1.7/LICENSE +21 -0
  42. package/dist/licenses/@radix-ui__react-arrow-1.1.16/LICENSE +21 -0
  43. package/dist/licenses/@radix-ui__react-collection-1.1.16/LICENSE +21 -0
  44. package/dist/licenses/@radix-ui__react-compose-refs-1.1.5/LICENSE +21 -0
  45. package/dist/licenses/@radix-ui__react-context-1.2.2/LICENSE +21 -0
  46. package/dist/licenses/@radix-ui__react-direction-1.1.5/LICENSE +21 -0
  47. package/dist/licenses/@radix-ui__react-dismissable-layer-1.1.20/LICENSE +21 -0
  48. package/dist/licenses/@radix-ui__react-focus-guards-1.1.6/LICENSE +21 -0
  49. package/dist/licenses/@radix-ui__react-focus-scope-1.2.0/LICENSE +21 -0
  50. package/dist/licenses/@radix-ui__react-id-1.1.4/LICENSE +21 -0
  51. package/dist/licenses/@radix-ui__react-popper-1.3.8/LICENSE +21 -0
  52. package/dist/licenses/@radix-ui__react-portal-1.1.18/LICENSE +21 -0
  53. package/dist/licenses/@radix-ui__react-presence-1.1.11/LICENSE +21 -0
  54. package/dist/licenses/@radix-ui__react-primitive-2.1.11/LICENSE +21 -0
  55. package/dist/licenses/@radix-ui__react-select-2.3.8/LICENSE +21 -0
  56. package/dist/licenses/@radix-ui__react-slot-1.4.0/LICENSE +21 -0
  57. package/dist/licenses/@radix-ui__react-use-callback-ref-1.1.4/LICENSE +21 -0
  58. package/dist/licenses/@radix-ui__react-use-controllable-state-1.2.6/LICENSE +21 -0
  59. package/dist/licenses/@radix-ui__react-use-effect-event-0.0.5/LICENSE +21 -0
  60. package/dist/licenses/@radix-ui__react-use-layout-effect-1.1.4/LICENSE +21 -0
  61. package/dist/licenses/@radix-ui__react-use-previous-1.1.4/LICENSE +21 -0
  62. package/dist/licenses/@radix-ui__react-use-rect-1.1.4/LICENSE +21 -0
  63. package/dist/licenses/@radix-ui__react-use-size-1.1.5/LICENSE +21 -0
  64. package/dist/licenses/@radix-ui__react-visually-hidden-1.2.12/LICENSE +21 -0
  65. package/dist/licenses/@radix-ui__rect-1.1.3/LICENSE +21 -0
  66. package/dist/licenses/anynum-1.0.1/LICENSE +21 -0
  67. package/dist/licenses/aria-hidden-1.2.6/LICENSE +21 -0
  68. package/dist/licenses/bidi-js-1.1.0/LICENSE.txt +22 -0
  69. package/dist/licenses/class-variance-authority-0.7.1/LICENSE +190 -0
  70. package/dist/licenses/clsx-2.1.1/license +9 -0
  71. package/dist/licenses/core-util-is-1.0.3/LICENSE +19 -0
  72. package/dist/licenses/detect-node-es-1.1.0/LICENSE +21 -0
  73. package/dist/licenses/emf-converter-2.0.2/LICENSE +202 -0
  74. package/dist/licenses/fast-xml-builder-1.3.1/LICENSE +21 -0
  75. package/dist/licenses/fast-xml-parser-5.11.2/LICENSE +21 -0
  76. package/dist/licenses/fflate-0.8.3/LICENSE +21 -0
  77. package/dist/licenses/get-nonce-1.0.1/LICENSE +21 -0
  78. package/dist/licenses/harfbuzzjs-1.6.1/LICENSE +19 -0
  79. package/dist/licenses/immediate-3.0.6/LICENSE.txt +20 -0
  80. package/dist/licenses/inherits-2.0.4/LICENSE +16 -0
  81. package/dist/licenses/inventory.json +750 -0
  82. package/dist/licenses/is-unsafe-2.0.2/LICENSE +21 -0
  83. package/dist/licenses/jszip-3.10.2/LICENSE.markdown +651 -0
  84. package/dist/licenses/lie-3.3.0/license.md +7 -0
  85. package/dist/licenses/orderedmap-2.1.1/LICENSE +19 -0
  86. package/dist/licenses/pako-1.0.11/LICENSE +21 -0
  87. package/dist/licenses/path-expression-matcher-1.6.2/LICENSE +21 -0
  88. package/dist/licenses/process-nextick-args-2.0.1/license.md +19 -0
  89. package/dist/licenses/prosemirror-commands-1.7.2/LICENSE +19 -0
  90. package/dist/licenses/prosemirror-keymap-1.2.3/LICENSE +19 -0
  91. package/dist/licenses/prosemirror-model-1.25.12/LICENSE +19 -0
  92. package/dist/licenses/prosemirror-state-1.4.4/LICENSE +19 -0
  93. package/dist/licenses/prosemirror-transform-1.12.2/LICENSE +19 -0
  94. package/dist/licenses/prosemirror-view-1.42.6/LICENSE +19 -0
  95. package/dist/licenses/react-19.3.0/LICENSE +21 -0
  96. package/dist/licenses/react-dom-19.3.0/LICENSE +21 -0
  97. package/dist/licenses/react-remove-scroll-2.7.2/LICENSE +21 -0
  98. package/dist/licenses/react-style-singleton-2.2.3/LICENSE +21 -0
  99. package/dist/licenses/readable-stream-2.3.8/LICENSE +47 -0
  100. package/dist/licenses/require-from-string-2.0.2/license +21 -0
  101. package/dist/licenses/safe-buffer-5.1.2/LICENSE +21 -0
  102. package/dist/licenses/scheduler-0.28.0/LICENSE +21 -0
  103. package/dist/licenses/setimmediate-1.0.5/LICENSE.txt +20 -0
  104. package/dist/licenses/string_decoder-1.1.1/LICENSE +48 -0
  105. package/dist/licenses/strnum-2.4.2/LICENSE +21 -0
  106. package/dist/licenses/tslib-2.8.1/LICENSE.txt +12 -0
  107. package/dist/licenses/use-callback-ref-1.3.3/LICENSE +21 -0
  108. package/dist/licenses/use-sidecar-1.1.3/LICENSE +21 -0
  109. package/dist/licenses/utif2-4.1.0/LICENSE +21 -0
  110. package/dist/licenses/util-deprecate-1.0.2/LICENSE +24 -0
  111. package/dist/licenses/w3c-keyname-2.2.8/LICENSE +19 -0
  112. package/dist/licenses/xml-naming-0.3.0/LICENSE +21 -0
  113. package/docs/agrodox-integration.ru.md +82 -0
  114. package/docs/hujjat-integration.ru.md +165 -0
  115. package/examples/agrodox/HtmlDraft.tsx +76 -0
  116. package/package.json +76 -4
package/LICENSE ADDED
@@ -0,0 +1,8 @@
1
+ AZ Editor — proprietary software
2
+
3
+ AZ Editor's own code is UNLICENSED. No open-source license is granted for it.
4
+ Public availability on npm does not grant an open-source license.
5
+ Any additional rights require permission from the rights holder.
6
+
7
+ Third-party software and fonts retain their respective licenses. See
8
+ THIRD_PARTY_NOTICES.md and dist/licenses for their license texts and notices.
package/README.md CHANGED
@@ -1,3 +1,217 @@
1
- # Temporary Holding Version
1
+ # AZ Editor — React-библиотека для DOCX
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Встраиваемый редактор документов Word: текст, таблицы, страницы, импорт и сохранение
4
+ DOCX. Пакет `@makhmudov.kay/az-editor` использует открытое ядро `@docx-editor.dev` 2.27.0.
5
+ Демонстрационное приложение отделено от библиотеки: его шапка, боковые панели,
6
+ уведомления, обработка файлов и серверные настройки не входят в компонент.
7
+
8
+ Совпадение с Microsoft Word один в один пока не подтверждено. Подробности:
9
+ [проверка совместимости](docs/compatibility-2026-10-08.md).
10
+
11
+ Для текущего Hujjat (ограниченный HTML → JSON по локалям → mPDF) добавлен адаптер:
12
+ `exportHujjat()`, `importHujjatTemplate()` и `requestHujjatPreview()`.
13
+ [Инструкция интеграции и ограничения](docs/hujjat-integration.ru.md).
14
+
15
+ Для будущего подключения рядом с существующим редактором доступен `AzHtmlEditor`:
16
+ `initialHtml` → отдельный черновик → `await ref.exportHtml()`.
17
+ В комплекте есть пример применения/отмены и [инструкция для agrodox-front](docs/agrodox-integration.ru.md).
18
+ Сам проект agrodox-front не изменён; подключение выполняет приложение отдельно.
19
+
20
+ ## Запуск демо
21
+
22
+ Node.js 24.15+ (ветка 24) или 26+, npm.
23
+
24
+ ```sh
25
+ npm ci
26
+ npm run dev
27
+ ```
28
+
29
+ Откройте http://127.0.0.1:5173. Сразу откроется пустой документ. В меню «Файл» доступны
30
+ создание документа, открытие DOCX, пример договора, скачивание DOCX/PDF и печать.
31
+ Также можно перетащить DOCX в редактор. Сохранение не меняет исходный файл.
32
+
33
+ Сборка автономна: код подготовки печатных страниц и профиль рендеринга находятся
34
+ в `src/library/print-pages`. Соседний репозиторий backend не требуется.
35
+
36
+ ## Сборка и установка пакета
37
+
38
+ ```sh
39
+ npm pack
40
+ # В другом React-проекте:
41
+ npm install /path/to/makhmudov.kay-az-editor-0.1.0-beta.1.tgz
42
+ ```
43
+
44
+ `npm pack` автоматически запускает сборку. Архив содержит ES-модуль, CSS,
45
+ TypeScript-декларации и сведения о лицензиях. React и React DOM 19 — peer dependencies.
46
+ Пакет подготовлен к публичной публикации `@makhmudov.kay/az-editor@0.1.0-beta.1`.
47
+ В `publishConfig` установлены `access: public` и `tag: beta`.
48
+ Публичная публикация в npm бесплатна; для прямой публикации от имени аккаунта
49
+ требуется двухфакторная аутентификация. Собственный код — `UNLICENSED`:
50
+ публичный доступ не предоставляет открытую лицензию. Лицензии зависимостей сохраняются.
51
+ Статус публикации проверяется в реестре; наличие архива ещё не означает,
52
+ что версия опубликована.
53
+
54
+ После публикации пакет можно установить без входа в npm:
55
+
56
+ ```sh
57
+ npm install @makhmudov.kay/az-editor@beta
58
+ ```
59
+
60
+ Нужен браузерный сборщик с поддержкой CSS, шрифтов и WASM; проверен Vite.
61
+ В приложениях с серверным рендерингом подключайте редактор на клиенте.
62
+
63
+ ## Минимальное подключение
64
+
65
+ ```tsx
66
+ import { useRef } from 'react';
67
+ import {
68
+ AzDocumentEditor,
69
+ downloadDocx,
70
+ type AzDocumentEditorHandle,
71
+ } from '@makhmudov.kay/az-editor';
72
+ import '@makhmudov.kay/az-editor/styles.css';
73
+
74
+ export function Editor() {
75
+ const editor = useRef<AzDocumentEditorHandle>(null);
76
+
77
+ async function save() {
78
+ if (!editor.current) return;
79
+ const bytes = await editor.current.save();
80
+ downloadDocx(bytes, 'document.docx');
81
+ // Вместо скачивания приложение может отправить bytes в свой API.
82
+ }
83
+
84
+ return (
85
+ <AzDocumentEditor
86
+ ref={editor}
87
+ document="blank"
88
+ title="Договор.docx"
89
+ style={{ height: 700 }}
90
+ onSave={save}
91
+ onChange={() => console.log('Документ изменён')}
92
+ />
93
+ );
94
+ }
95
+ ```
96
+
97
+ Без `document` создаётся пустой документ. Для импорта используйте
98
+ `const opened = await readDocxFile(file)` и передавайте `opened.original` в `document`.
99
+ При замене документа меняйте React `key`, чтобы сбросить историю предыдущего файла.
100
+ Проверку несохранённых изменений выполняет приложение до замены `key`.
101
+
102
+ Компонент занимает высоту контейнера. Задайте её через `style`/`className` или родителю.
103
+ Минимальная высота, размеры окна и глобальные стили страницы не навязываются.
104
+
105
+ ## Настройка интерфейса
106
+
107
+ ```tsx
108
+ <AzDocumentEditor
109
+ document={bytes}
110
+ style={{ height: '100%' }}
111
+ ui={{ menu: false, rulers: false, navigation: false, print: false }}
112
+ />
113
+
114
+ // Поверхность документа без заголовка, меню, панели форматирования и линеек:
115
+ <AzDocumentEditor document={bytes} ui={false} style={{ height: 600 }} />
116
+
117
+ // Просмотр без редактирования:
118
+ <AzDocumentEditor document={bytes} mode="view" style={{ height: 600 }} />
119
+ ```
120
+
121
+ Все параметры `ui` по умолчанию включены:
122
+
123
+ | Параметр | Назначение |
124
+ | --- | --- |
125
+ | `chrome` | Заголовок, меню и панель форматирования одним блоком |
126
+ | `menu` | Меню «Файл», «Формат», «Вставка», «Рецензирование» |
127
+ | `rulers` | Горизонтальная и вертикальная линейки |
128
+ | `navigation` | Навигация по заголовкам и поиск |
129
+ | `contextMenu` | Контекстное меню редактора |
130
+ | `print` | Пункт печати и перехват Ctrl/Cmd+P нашим адаптером |
131
+
132
+ `ui={false}` отключает эти элементы; редактирование остаётся доступным, если `mode="edit"`.
133
+ Настройки интерфейса можно менять без повторного открытия документа и потери правок.
134
+ `ui.chrome=false` использует поверхность движка без его рамки, включая встроенные линейки
135
+ и навигацию. Для отдельных переключателей оставьте `chrome` включённым.
136
+
137
+ Дополнительные параметры:
138
+
139
+ | Prop | Назначение |
140
+ | --- | --- |
141
+ | `className`, `style` | Контейнер и размеры компонента |
142
+ | `colorMode` | `light`, `dark`, `system`; меняется интерфейс, а не лист документа |
143
+ | `i18n` | Каталог переводов; по умолчанию частичный русский с английскими запасными строками |
144
+ | `locale` | Региональные правила дат и подписей, по умолчанию `ru-RU`; не переключает язык UI |
145
+ | `labels` | Подписи `open`, `save`, `exportPdf`, `print` для действий адаптера |
146
+ | `fonts` | Своя конфигурация шрифтов; при её замене перемонтируйте компонент |
147
+ | `zoom`, `zoomMode` | Масштаб и режим подгонки страниц |
148
+ | `renderTitleBarLeft`, `renderTitleBarRight` | Элементы приложения по краям заголовка |
149
+ | `fileActions` | Дополнительные действия меню «Файл»: `{ id, label, onSelect, disabled? }` |
150
+ | `actionsDisabled` | Блокировка файловых действий при загрузке/сохранении приложением |
151
+
152
+ Для оформления используйте CSS, ограниченный вашим классом, например
153
+ `.my-editor .docx-editor { --doc-primary: #2563eb; }`.
154
+ Диалог локальной печати пока использует русские подписи.
155
+
156
+ ## Открытие, сохранение и PDF принадлежат приложению
157
+
158
+ - `onOpen` — приложение выбирает источник и передаёт новые байты в компонент.
159
+ - `onSave` — приложение получает байты через `ref.save()` и решает, куда их сохранить.
160
+ - `onExportPdf` — приложение вызывает собственный сервис и скачивает результат.
161
+ - `onChange` — правка содержимого; загрузка исходника не считается правкой.
162
+ - `onStatusChange` — `{ pages, loading, error }`, без обязательной полосы статуса в библиотеке.
163
+ - `onFontError` — сообщение о неудачной загрузке шрифта.
164
+
165
+ Если обработчик `onOpen`, `onSave` или `onExportPdf` не передан, соответствующий пункт
166
+ меню отсутствует. Компонент сам не обращается к серверу сохранения или генерации PDF.
167
+ Ошибки асинхронных обработчиков приложение обрабатывает самостоятельно.
168
+
169
+ Ref предоставляет `save(): Promise<ArrayBuffer>`, `focus()` и `print(): Promise<void>`.
170
+ `print()` открывает локальный предпросмотр всех страниц, после которого используется
171
+ диалог печати браузера. Ctrl/Cmd+S/O/P адаптер обрабатывает только внутри активного
172
+ редактора; поля и кнопки вне компонента остаются под управлением приложения.
173
+
174
+ Опциональные функции `requestPdf`, `downloadPdf` и `pdfRenderProfile` поддерживают
175
+ контракт отдельного PDF-сервиса. У `requestPdf` можно задать `url`, `headers`, `signal`
176
+ и собственный `fetcher`. Эти функции не вызываются при простом подключении редактора.
177
+ Демо использует `/api/documents/export/pdf`; настройки прокси находятся в
178
+ `.env.pdf.example`. Для другого бэкенда реализуйте свой `onExportPdf`.
179
+
180
+ [ТЗ PDF-сервиса](docs/pdf-export-backend-spec.md) ·
181
+ [Контракт OpenAPI](docs/pdf-export.openapi.yaml).
182
+
183
+ ## Проверки
184
+
185
+ ```sh
186
+ npm test
187
+ npm run build
188
+ npm run build:demo
189
+ npx playwright install chromium
190
+ npm run test:e2e
191
+ ```
192
+
193
+ Проверяются импорт и повторное открытие DOCX, правки текста и таблиц, undo/redo,
194
+ сохранность исходных байтов, отказ от повреждённых файлов, защита несохранённых правок,
195
+ экспорт текущего состояния в PDF, подготовка всех 12 страниц при виртуализации,
196
+ встраивание в контейнер, скрытие UI, режим просмотра и сочетания клавиш приложения.
197
+
198
+ `tests/browser/fixtures/embed.html` — пример отдельного приложения-потребителя без
199
+ стилей демо. Личный корпус документов подключается отдельно через `AZ_EDITOR_CORPUS`;
200
+ в обычном запуске его проверки пропускаются. Пользовательские файлы не входят в npm-пакет.
201
+
202
+ ## Ограничения
203
+
204
+ Поддерживается DOCX до 30 МиБ; DOC, DOCM, PDF и защищённые паролем документы не являются
205
+ входным форматом редактора. Шрифты-заменители и отличия вёрстки могут менять переносы.
206
+ Сложные поля, формулы, плавающие объекты, исправления и комментарии требуют отдельной
207
+ проверки. Адаптер Hujjat преобразует поддерживаемое содержимое в HTML/JSON и вызывает
208
+ существующий PDF API. Авторизацию, сохранение и версии шаблонов подключает приложение;
209
+ сквозная проверка с живым Hujjat пока не выполнена.
210
+
211
+ Демо хранит правки в памяти до скачивания. Библиотека позволяет приложению реализовать
212
+ свой процесс сохранения. Экспорт через Chromium воспроизводит вёрстку редактора,
213
+ а Hujjat заново рассчитывает её через mPDF. Ни один из этих вариантов не является
214
+ независимым эталоном Microsoft Word. Сборщик может предупреждать о размере ядра и Node-модулях
215
+ в браузерном экспортере; сохранение из байтов проверяется в браузерных тестах.
216
+
217
+ Лицензии и происхождение компонентов: [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
@@ -0,0 +1,30 @@
1
+ # Third-party software
2
+
3
+ AZ Editor 0.1 is an integration prototype. Its OOXML parser, serializer, layout engine
4
+ and editing surface come from [EigenPal docx-editor](https://github.com/eigenpal/docx-editor).
5
+ The upstream packages are consumed without source modifications. AZ Editor adds its
6
+ own React adapter, file validation, document lifecycle, demo interface and translations.
7
+
8
+ | Package | Version | Declared license |
9
+ | --- | --- | --- |
10
+ | @docx-editor.dev/core | 2.27.0 | Apache-2.0 |
11
+ | @docx-editor.dev/react | 2.27.0 | Apache-2.0 |
12
+ | @docx-editor.dev/i18n | 2.27.0 | Apache-2.0 |
13
+ | @docx-editor.dev/fonts | 2.27.0 | Apache-2.0 AND OFL-1.1 AND LicenseRef-GUST-Font-License |
14
+ | React / React DOM | 19.3.0 | MIT |
15
+ | JSZip | 3.10.2 | MIT OR GPL-3.0-or-later (used under MIT) |
16
+
17
+ The font package includes Carlito, Caladea, Liberation and TeX Gyre assets. Its
18
+ original notices include OFL, GUST and LPPL text. Font substitution is not a promise
19
+ of matching Microsoft Word layout. Microsoft font files are not supplied here.
20
+
21
+ Both build commands preserve the installed runtime packages' LICENSE, COPYING,
22
+ NOTICE, THIRD_PARTY_NOTICES and licenses directories in the output's `licenses/`.
23
+ That directory also contains a versioned inventory of runtime dependencies.
24
+ Keep those files with redistributed builds; upstream notices include notices for
25
+ code and prebuilt assets bundled inside upstream packages.
26
+
27
+ No commercial Pro modules are installed in this prototype. Development tools and
28
+ the synthetic DOCX fixture generator are separate dependencies in package-lock.json.
29
+ AZ Editor's own code is proprietary (UNLICENSED); see LICENSE. This restriction
30
+ does not replace or limit the licenses granted for the third-party code above.
@@ -0,0 +1,30 @@
1
+ # Third-party software
2
+
3
+ AZ Editor 0.1 is an integration prototype. Its OOXML parser, serializer, layout engine
4
+ and editing surface come from [EigenPal docx-editor](https://github.com/eigenpal/docx-editor).
5
+ The upstream packages are consumed without source modifications. AZ Editor adds its
6
+ own React adapter, file validation, document lifecycle, demo interface and translations.
7
+
8
+ | Package | Version | Declared license |
9
+ | --- | --- | --- |
10
+ | @docx-editor.dev/core | 2.27.0 | Apache-2.0 |
11
+ | @docx-editor.dev/react | 2.27.0 | Apache-2.0 |
12
+ | @docx-editor.dev/i18n | 2.27.0 | Apache-2.0 |
13
+ | @docx-editor.dev/fonts | 2.27.0 | Apache-2.0 AND OFL-1.1 AND LicenseRef-GUST-Font-License |
14
+ | React / React DOM | 19.3.0 | MIT |
15
+ | JSZip | 3.10.2 | MIT OR GPL-3.0-or-later (used under MIT) |
16
+
17
+ The font package includes Carlito, Caladea, Liberation and TeX Gyre assets. Its
18
+ original notices include OFL, GUST and LPPL text. Font substitution is not a promise
19
+ of matching Microsoft Word layout. Microsoft font files are not supplied here.
20
+
21
+ Both build commands preserve the installed runtime packages' LICENSE, COPYING,
22
+ NOTICE, THIRD_PARTY_NOTICES and licenses directories in the output's `licenses/`.
23
+ That directory also contains a versioned inventory of runtime dependencies.
24
+ Keep those files with redistributed builds; upstream notices include notices for
25
+ code and prebuilt assets bundled inside upstream packages.
26
+
27
+ No commercial Pro modules are installed in this prototype. Development tools and
28
+ the synthetic DOCX fixture generator are separate dependencies in package-lock.json.
29
+ AZ Editor's own code is proprietary (UNLICENSED); see LICENSE. This restriction
30
+ does not replace or limit the licenses granted for the third-party code above.