@makhmudov.kay/az-editor 0.1.0-beta.2 → 0.1.0-beta.4
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/CHANGELOG.md +27 -0
- package/README.md +73 -70
- package/dist/az-editor.js +1029 -500
- package/dist/library/AzDocumentEditor.d.ts +13 -1
- package/dist/library/AzHtmlEditor.d.ts +7 -1
- package/dist/library/document-diagnostics.d.ts +3 -0
- package/dist/library/font-diagnostics.d.ts +16 -0
- package/dist/library/hujjat/contract.d.ts +15 -9
- package/dist/library/hujjat/docx-to-html.d.ts +3 -1
- package/dist/library/hujjat/docx.d.ts +6 -3
- package/dist/library/hujjat/html-to-docx.d.ts +2 -1
- package/dist/library/hujjat/page-layout.d.ts +5 -0
- package/dist/library/hujjat/paragraph-format.d.ts +10 -0
- package/dist/library/hujjat/table-grid.d.ts +8 -0
- package/dist/library/index.d.ts +6 -1
- package/dist/library/layout-profile.d.ts +37 -0
- package/docs/integration.ru.md +911 -875
- package/docs/layout-metadata-v1.ru.md +135 -0
- package/examples/integration/DocxEditorExample.tsx +7 -2
- package/examples/integration/HtmlDraft.tsx +1 -0
- package/examples/integration/LayoutDraftExample.tsx +39 -0
- package/examples/integration/README.md +1 -0
- package/package.json +4 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Изменения
|
|
2
|
+
|
|
3
|
+
## 0.1.0-beta.4
|
|
4
|
+
|
|
5
|
+
- Вложенные HTML-контейнеры сохраняют боковые отступы, висячую первую строку и доступную ширину таблицы. Отступы ячеек остаются локальными.
|
|
6
|
+
- Добавлены `layout`, `AzPageLayout`, `AzLayoutMetadataV1`, `resolveHtmlLayout` и явная политика `lineSpacingPolicy`. Значения по умолчанию совместимы с beta.3; текущие серверные payload не расширены.
|
|
7
|
+
- Численные интервалы можно сохранять с `preserve`; нормализация учитывает крупные фрагменты и вертикальные смещения. Потеря различия exact/atLeast диагностируется.
|
|
8
|
+
- Оба редактора предоставляют `setParagraphPagination`, включая явное выключение наследованных правил и undo.
|
|
9
|
+
- Предупреждения могут содержать адрес, этап и значения до/после. Добавлены `analyzeDocxFormatting`, `onDiagnostics` и состояние ресурсов `status.fonts`.
|
|
10
|
+
- Исправлен цикл уведомлений при inline `onStatusChange`. HTML не сериализуется на каждую клавишу; устаревшие асинхронные результаты не применяются к новому черновику.
|
|
11
|
+
- Добавлены общая инструкция по профилю страницы и пример отдельного хранения HTML и метаданных.
|
|
12
|
+
|
|
13
|
+
### При обновлении
|
|
14
|
+
|
|
15
|
+
Табуляция, её позиции, `widowControl` и численное вертикальное смещение теперь сообщаются
|
|
16
|
+
как `loss` при преобразовании в ограниченный HTML. Потребителю нужно показать предупреждения
|
|
17
|
+
и получить решение пользователя перед `allowLossy: true`. Прямое сохранение DOCX эти свойства
|
|
18
|
+
не нормализует. Неподдержанная геометрия и разные разделы не сворачиваются молча в один профиль.
|
|
19
|
+
|
|
20
|
+
Профиль нестандартной страницы нужно хранить отдельно и согласовать его применение с PDF-сервером.
|
|
21
|
+
Само обновление не меняет mPDF. `fonts.state: ready` не гарантирует одинаковые метрики с Word.
|
|
22
|
+
Численные интервалы `preserve` могут приводить к авторскому наложению строк.
|
|
23
|
+
В локальных замерах открытие до готовности занимало на 46–82 мс больше, чем в исходной
|
|
24
|
+
версии (11–24% на наборах 2/30/60 страниц); ускорение открытия не заявляется.
|
|
25
|
+
Ввод и экспорт в этих замерах не ухудшились. Результаты зависят от окружения и шрифтов.
|
|
26
|
+
Сопоставление фактических серверного HTML/mPDF и эталона Word PDF в этом выпуске не выполнено:
|
|
27
|
+
эталонные данные отсутствуют. Проверки библиотеки не заменяют эту приёмку.
|
package/README.md
CHANGED
|
@@ -1,70 +1,73 @@
|
|
|
1
|
-
# Az Editor
|
|
2
|
-
|
|
3
|
-
React-библиотека для редактирования DOCX и HTML-документов с постраничным интерфейсом.
|
|
4
|
-
Приложение управляет файлами, сохранением, авторизацией и подключением PDF-сервиса.
|
|
5
|
-
|
|
6
|
-
**[Полное руководство по интеграции →](docs/integration.ru.md)**
|
|
7
|
-
|
|
8
|
-
Установка, React + Vite, Next.js, DOCX, HTML-черновики, применение и отмена правок,
|
|
9
|
-
переменные, JSON, PDF, шрифты, интерфейс, справочник API и устранение ошибок.
|
|
10
|
-
|
|
11
|
-
## Установка
|
|
12
|
-
|
|
13
|
-
```sh
|
|
14
|
-
npm install @makhmudov.kay/az-editor@beta
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Для воспроизводимой установки опубликованной версии:
|
|
18
|
-
|
|
19
|
-
```sh
|
|
20
|
-
npm install --save-exact @makhmudov.kay/az-editor@0.1.0-beta.
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Требуются React и React DOM 19, Node.js `^24.15.0 || >=26.0.0` для установки/сборки,
|
|
24
|
-
браузерный сборщик с поддержкой CSS, шрифтов и WASM. Пакет — ESM с TypeScript-декларациями.
|
|
25
|
-
Редактор работает в браузере; SSR компонента отключают.
|
|
26
|
-
|
|
27
|
-
## Минимальное подключение
|
|
28
|
-
|
|
29
|
-
```tsx
|
|
30
|
-
import { AzDocumentEditor } from '@makhmudov.kay/az-editor';
|
|
31
|
-
import '@makhmudov.kay/az-editor/styles.css';
|
|
32
|
-
|
|
33
|
-
export function Editor() {
|
|
34
|
-
return <AzDocumentEditor document="blank" title="document.docx" style={{ height: 700 }} />;
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Для HTML используйте `AzHtmlEditor` с `initialHtml` и асинхронным `exportHtml()`.
|
|
39
|
-
Открытие, сохранение и обработка ошибок подробно разобраны в [руководстве](docs/integration.ru.md).
|
|
40
|
-
|
|
41
|
-
## Примеры для копирования
|
|
42
|
-
|
|
43
|
-
- [DOCX: открытие, сохранение, несохранённые правки](examples/integration/DocxEditorExample.tsx)
|
|
44
|
-
- [HTML: форма и отдельный черновик](examples/integration/HtmlFormExample.tsx)
|
|
45
|
-
- [HTML: применение, отмена и диагностика](examples/integration/HtmlDraft.tsx)
|
|
46
|
-
- [Свой API и PDF-сервис](examples/integration/server-api.ts)
|
|
47
|
-
- [Загрузка собственных шрифтов](examples/integration/loadFonts.ts)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
npm
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
1
|
+
# Az Editor
|
|
2
|
+
|
|
3
|
+
React-библиотека для редактирования DOCX и HTML-документов с постраничным интерфейсом.
|
|
4
|
+
Приложение управляет файлами, сохранением, авторизацией и подключением PDF-сервиса.
|
|
5
|
+
|
|
6
|
+
**[Полное руководство по интеграции →](docs/integration.ru.md)**
|
|
7
|
+
|
|
8
|
+
Установка, React + Vite, Next.js, DOCX, HTML-черновики, применение и отмена правок,
|
|
9
|
+
переменные, JSON, PDF, шрифты, интерфейс, справочник API и устранение ошибок.
|
|
10
|
+
|
|
11
|
+
## Установка
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
npm install @makhmudov.kay/az-editor@beta
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Для воспроизводимой установки опубликованной версии:
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
npm install --save-exact @makhmudov.kay/az-editor@0.1.0-beta.4
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Требуются React и React DOM 19, Node.js `^24.15.0 || >=26.0.0` для установки/сборки,
|
|
24
|
+
браузерный сборщик с поддержкой CSS, шрифтов и WASM. Пакет — ESM с TypeScript-декларациями.
|
|
25
|
+
Редактор работает в браузере; SSR компонента отключают.
|
|
26
|
+
|
|
27
|
+
## Минимальное подключение
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import { AzDocumentEditor } from '@makhmudov.kay/az-editor';
|
|
31
|
+
import '@makhmudov.kay/az-editor/styles.css';
|
|
32
|
+
|
|
33
|
+
export function Editor() {
|
|
34
|
+
return <AzDocumentEditor document="blank" title="document.docx" style={{ height: 700 }} />;
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Для HTML используйте `AzHtmlEditor` с `initialHtml` и асинхронным `exportHtml()`.
|
|
39
|
+
Открытие, сохранение и обработка ошибок подробно разобраны в [руководстве](docs/integration.ru.md).
|
|
40
|
+
|
|
41
|
+
## Примеры для копирования
|
|
42
|
+
|
|
43
|
+
- [DOCX: открытие, сохранение, несохранённые правки](examples/integration/DocxEditorExample.tsx)
|
|
44
|
+
- [HTML: форма и отдельный черновик](examples/integration/HtmlFormExample.tsx)
|
|
45
|
+
- [HTML: применение, отмена и диагностика](examples/integration/HtmlDraft.tsx)
|
|
46
|
+
- [Свой API и PDF-сервис](examples/integration/server-api.ts)
|
|
47
|
+
- [Загрузка собственных шрифтов](examples/integration/loadFonts.ts)
|
|
48
|
+
- [HTML с отдельным хранением геометрии](examples/integration/LayoutDraftExample.tsx)
|
|
49
|
+
|
|
50
|
+
[Геометрия страницы, интервалы и диагностика оформления](docs/layout-metadata-v1.ru.md).
|
|
51
|
+
|
|
52
|
+
Это исходники для копирования в приложение, а не дополнительные экспорты npm-пакета.
|
|
53
|
+
|
|
54
|
+
## Разработка и сборка
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
npm ci
|
|
58
|
+
npm run dev
|
|
59
|
+
npm run build
|
|
60
|
+
npm pack
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Демо: `http://127.0.0.1:5173`. Сборка автономна. `npm pack` включает руководство,
|
|
64
|
+
примеры, JS, CSS, типы и лицензии зависимостей.
|
|
65
|
+
|
|
66
|
+
## Ограничения и лицензия
|
|
67
|
+
|
|
68
|
+
Внешний вид и переносы могут отличаться от Microsoft Word или серверного PDF.
|
|
69
|
+
HTML поддерживает ограниченный набор тегов и стилей; потери возвращаются в диагностике.
|
|
70
|
+
Подробности и лимиты — в [руководстве](docs/integration.ru.md).
|
|
71
|
+
|
|
72
|
+
Собственный код: [UNLICENSED](LICENSE). Публичная доступность не предоставляет открытую
|
|
73
|
+
лицензию. Лицензии зависимостей: [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|