@emailmaker/emailmaker 1.1.75 → 1.1.84

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 (43) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +18 -7
  3. package/{emailmaker-core.705f9cde.js → emailmaker-core.79ea451d.js} +6 -6
  4. package/emailmaker-esm.js +127 -127
  5. package/{emailmaker-po.705f9cde.js → emailmaker-po.79ea451d.js} +1 -1
  6. package/emailmaker.d.ts +51 -24
  7. package/emailmaker.js +3 -3
  8. package/iframe/css/sandbox-dark.css +1 -1
  9. package/iframe/css/sandbox-darktheme.css +3 -3
  10. package/iframe/css/sandbox-light.css +1 -1
  11. package/iframe/css/sandbox.css +2 -2
  12. package/iframe/js/amp.BX1rGa_X.js +1 -0
  13. package/iframe/js/iframe-eblock.js +1 -1
  14. package/iframe/js/iframe.js +1 -1
  15. package/iframe/js/rules.B-wCbIo7.js +1 -1
  16. package/package.json +1 -1
  17. package/static/core/{e44c2cac.js → 12f8b705.js} +15 -15
  18. package/static/core/{8e559366.js → 1b3e2d70.js} +4 -4
  19. package/static/core/{2dd8b882.js → 2180385a.js} +100 -100
  20. package/static/core/{a5a25e092.js → 3834896e2.js} +41 -41
  21. package/static/core/{baee7d8b2.js → 5ec924792.js} +2710 -2494
  22. package/static/core/{fb14792c.js → 62284a79.js} +2786 -2640
  23. package/static/core/{dd6d3ae42.js → 69d13cd82.js} +72 -72
  24. package/static/core/860577ca.js +3280 -0
  25. package/static/core/{7af547562.js → 8bf24c892.js} +987 -970
  26. package/static/core/{23d0be47.js → af78f5c5.js} +3 -3
  27. package/static/core/{aaa151dc.js → c62226dd.js} +528 -523
  28. package/static/core/{2181dfc12.js → d31af2772.js} +2155 -2090
  29. package/static/core/{3af12861.js → d6d05bc8.js} +19537 -18598
  30. package/static/core/{7093b78e.js → d825fdc8.js} +272 -248
  31. package/static/core/{d6093d8d.js → dd044cfd.js} +7 -7
  32. package/static/core/f422bc19.js +1098 -0
  33. package/static/core/{4efbc972.js → f4cfd2a7.js} +2468 -2613
  34. package/static/core/{f5f707b8.js → f740dd7d.js} +54 -54
  35. package/static/umd-runtime/{DntxC9N-.js → Py_VRWLn.js} +7 -1
  36. package/static/umd-runtime/runtime.js +2 -2
  37. package/static/umd-runtime/ui-kit.js +1742 -1734
  38. package/ui-kit/index.js +1859 -1851
  39. package/iframe/js/amp.CcyAlXr8.js +0 -1
  40. package/static/core/1f9bc4c3.js +0 -925
  41. package/static/core/e430193d.js +0 -3189
  42. /package/iframe/{iframe-eblock.705f9cde.html → iframe-eblock.79ea451d.html} +0 -0
  43. /package/iframe/{iframe.705f9cde.html → iframe.79ea451d.html} +0 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,78 @@
6
6
 
7
7
  ---
8
8
 
9
+ ## [1.1.83] - 2026-09-22
10
+
11
+ ### Добавлено
12
+
13
+ - Папки писем и блоков: несколько писем или блоков перетаскиваются в папку или корзину за один раз;
14
+ свёрнутая папка с вложенными отмечена плюсом на иконке
15
+ - AI-генерация письма на странице создания учитывает тариф: замок на карточке заранее показывает,
16
+ что функции нет в тарифе или лимит исчерпан
17
+ - Пустой список писем: свои сообщения для поиска без результатов и для пустой корзины, в пустой
18
+ папке — кнопка создания письма; экран «писем нет» больше не мелькает во время загрузки
19
+ - File Manager: параметр `fileManager.availableImageExtensions` объявлен в публичных типах. Он задаёт
20
+ подпись о поддерживаемых форматах под областью загрузки и саму загрузку не ограничивает
21
+
22
+ ### Исправлено
23
+
24
+ - Настройки видео и таймера: поля не теряют курсор при вводе, превью собирается после паузы в наборе
25
+ - Раскрытие папки больше не сворачивает соседние, кнопки у строк дерева стоят напротив своих папок
26
+ - Панель настроек кнопки показывает её настоящее выравнивание, а не всегда «по центру»
27
+ - Подсказки у вкладок правой панели не уходят за край экрана; у кнопок на картинке в холсте
28
+ появились подписи при наведении
29
+ - File Manager: файлы с запятой, процентом, амперсандом и другими знаками в имени загружаются —
30
+ такие знаки заменяются подчёркиванием, украинские буквы переводятся в латиницу
31
+ - Типы плагина: `compressMaxSize` описан в мегабайтах (по умолчанию `0.48`), как его и читает
32
+ редактор, а не в байтах — значение `5 * 1024 * 1024` по старому описанию фактически выключало
33
+ сжатие. Сказано, что сжатие из `fileManager` перекрывает корневое только внутри файлового
34
+ менеджера; поправлены умолчания `cacheStrategy` и `autosaveTimeout`
35
+ - Переводы: «Скидка по промокоду» на странице оплаты, сообщения списка писем
36
+
37
+ ---
38
+
39
+ ## [1.1.81] - 2026-09-17
40
+
41
+ ### Добавлено
42
+
43
+ - Стили проекта в плагине: раздел `projectStyles` в `init(options)` — фирменная палитра, свои шрифты
44
+ и ссылки на соцсети. Цвета появляются в палитрах, шрифты — в списке шрифтов и на холсте, а элемент
45
+ «Соцсети» заполняется ссылками проекта вместо заглушки
46
+ - Экспорт письма в Markdown: подпункт в меню экспорта в текст, параметр `exportMarkdownEnabled`
47
+ - Аннотации Gmail для вкладки «Промоакции»: отдельная вкладка в боковой панели с предпросмотром
48
+ карточки, параметр `annotationsEnabled` (по умолчанию выключен)
49
+ - Кнопка «Поменять местами» для колонок float-блока
50
+ - Ограничения тарифа действуют на все функции редактора: недоступное помечено замком с предложением
51
+ перейти на старший тариф или скрыто; после оплаты замки снимаются без перезагрузки
52
+
53
+ ### Исправлено
54
+
55
+ - Показ и сохранение письма в плагине: переход на другое письмо и показ шаблона не пересоздают
56
+ редактор; тема и предзаголовок, правленные в интерфейсе, не откатываются; несохранённые правки из
57
+ автосохранения не перетираются серверной версией; новое письмо без вёрстки открывается с
58
+ заготовкой, а холст не сбрасывается после первого сохранения; `save()` без показанного письма
59
+ сразу возвращает ошибку
60
+ - Плагин: если `handleLoadImage` выбросил ошибку, редактор показывает её текст и не отправляет
61
+ картинку на бэкенд EmailMaker; стили проекта у бэкенда EmailMaker больше не запрашиваются
62
+ - Стили сохранённого блока больше не растягивают интерфейс редактора; превью блока получает
63
+ правильную высоту после загрузки картинок
64
+ - Редактор: переменная в адресе картинки сохраняется; цвет текста в стилях контента меняется после
65
+ белого; ячейка-обёртка кнопки не показывается в хлебных крошках; выключенная рамка не возвращается со старыми значениями; после удаления последнего блока не остаётся пустой таблицы
66
+ - Конвертер вёрстки BeeFree: отступы текста, кнопок, соцсетей и разделителей переносятся из
67
+ исходника, свободный текст не теряется, шрифты Google подключаются
68
+ - File Manager: понятные имена файлов из стоков и GIF вместо `photo-<id>` и `giphy-downsized`;
69
+ превью гифки видно сразу; версия в query ссылки не принимается за расширение; в консоли больше нет рекламного сообщения i18next
70
+ - Уведомление об ошибке показывает ответ сервера, например «Лимит превышен», а не `rejected`
71
+ - Переводы: окна участников проекта, счётчик блоков при массовом сохранении, строки конвертера
72
+ вёрстки
73
+
74
+ ### Изменено
75
+
76
+ - Состав npm-пакета задан белым списком: тестовый стенд плагина, тестовые шрифты, скрипты аналитики
77
+ и PWA-манифест в пакет больше не попадают; в пакет добавлен `CHANGELOG.md`
78
+
79
+ ---
80
+
9
81
  ## [1.1.71] - 2026-09-03
10
82
 
11
83
  ### Добавлено
package/README.md CHANGED
@@ -387,7 +387,9 @@ HTML-разметка письма.
387
387
  | optimizeSpamAssassinEnabled | Показ проверки SpamAssassin. | true |
388
388
  | optimizeCheckCodeEnabled | Показ проверки кода. | true |
389
389
  | settingsEnabled | Показ кнопки "Настройки". | true |
390
+ | settingsTabEnabled | Показ таба "Настройки". Табы UTM-метки и Аннотации от него не зависят. | true |
390
391
  | UTMEnabled | Показ таба UTM-метки. | true |
392
+ | annotationsEnabled | Показ таба Аннотации Gmail. Включён только в режиме `pro`. | false |
391
393
  | descriptionEnabled | Показ поля "Описание" в настройках. | true |
392
394
  | tagsEnabled | Показ поля Теги в настройках. | true |
393
395
  | switchDesktopMobilePropsEnabled | Показ переключателя мобильных свойств. | true |
@@ -455,8 +457,8 @@ HTML-разметка письма.
455
457
  | imageCenterStockEnabled | Таб Стока фотографий. | true |
456
458
  | imageCenterGifEnabled | Таб Стока гифок. | true |
457
459
  | imageCenterEditorEnabled | Таб редактора изображений. | true |
458
- | compressMaxSize | Макс. размер файла для клиентского сжатия в файловом менеджере, байт (по умолчанию порядка 5 MiB). | см. типы |
459
- | compressMaxWidthOrHeight | Макс. ширина/высота после ресайза, px (по умолчанию 2000). | см. типы |
460
+ | compressMaxSize | Целевой вес картинки после клиентского сжатия, **мегабайты** (не байты). `0` выключает сжатие. По умолчанию 0.48. | см. типы |
461
+ | compressMaxWidthOrHeight | Макс. ширина/высота после ресайза, px. `0` выключает сжатие. По умолчанию 2000. | см. типы |
460
462
 
461
463
  ### Обработка событий
462
464
 
@@ -567,7 +569,9 @@ emailmaker.init({
567
569
  });
568
570
  ```
569
571
 
570
- Секция `fileManager` управляет возможностями файлового менеджера. Все поля необязательные; если не заданы или `false`, соответствующая функция отключена.
572
+ Секция `fileManager` управляет возможностями файлового менеджера. Все поля необязательные; незаданное поле берёт своё умолчание (у флагов `enable*` это **true**), отключает только явный `false`.
573
+
574
+ В секции можно задать и `compressMaxSize` с `compressMaxWidthOrHeight` — те же поля, что в корне конфига. Заданные здесь, они перекрывают корневые, но **только внутри файлового менеджера**: картинка, брошенная прямо на холст, загруженная через модалку или пришедшая с импортом HTML, по-прежнему сжимается по корневому значению.
571
575
 
572
576
  #### Basic Operations
573
577
 
@@ -583,11 +587,18 @@ emailmaker.init({
583
587
  - **enableDelete** — разрешает удаление файлов и папок. При включенной корзине файлы перемещаются в корзину. По умолчанию true
584
588
  - **multiSelect** — разрешает множественный выбор файлов и папок для групповых операций. По умолчанию true
585
589
  - **defaultFolderName** — Имя папки по умолчанию
590
+ - **availableImageExtensions** — расширения в подсказке «Supported files» под областью загрузки пустой папки; выводятся с точкой (`['jpg', 'png']` → `.jpg, .png`). Только подпись: что можно загрузить, поле не ограничивает. По умолчанию `['jpeg', 'svg', 'png']`
591
+ - **dedupeUploadNamesOnClient** — клиент сам подбирает свободное имя перед загрузкой: занятое `photo.png` уйдёт как `photo_1.png`, потом `photo_2.png`. Сюда же попадают копии из редактора изображений, загрузка по URL, копирование и перемещение; создать папку с занятым именем не даст — покажет ошибку. Стоит лишнего запроса списка папки перед каждой загрузкой, поэтому включать имеет смысл там, где коллизии имён не разруливает бэкенд. По умолчанию false
592
+ - **saveCopyToCurrentFolder** — «Сохранить копию» в редакторе изображений кладёт файл в текущую папку. По умолчанию (false) копия уходит в папку по умолчанию, независимо от того, где открыт редактор
593
+ - **showNotifications** — всплывающие уведомления файлового менеджера. По умолчанию true
586
594
  - **sortOptions** — белый список значений сортировки в дропдауне списка файлов (`'date-desc' \| 'date-asc' \| 'size-desc' \| 'size-asc' \| 'name-asc' \| 'name-desc' \| 'type-asc'`). Если не задан или массив пустой — доступны все варианты, которые отображает file-manager. Пример: `['date-desc', 'name-asc']` — скрыть сортировки по размеру и типу, если платформа их не реализует.
587
595
 
588
596
  #### Pagination & Display
589
597
 
590
598
  - **enablePagination** — разрешает постраничную навигацию. Если отключено, все элементы загружаются сразу. По умолчанию true
599
+ - **unifiedCatalogFetch** — работает только вместе с `enablePagination: false`. Запросы на список папок и список файлов сливаются в один запрос всего каталога, дальше нужный тип отбирается на клиенте: один вызов `getItems` вместо двух. При включённой серверной пагинации поле игнорируется. Ставьте `false`, если бэкенду важно получать раздельные запросы на папки и файлы. По умолчанию true
600
+ - **expandRootFolderOnInit** — раскрывает корневой узел дерева папок при открытии; вложенные папки остаются свёрнутыми. По умолчанию true
601
+ - **previewFallbackToFileUrl** — если у файла нет `thumbnail` и `thumbnailUrl`, для превью в таблице и сетке берётся `file.url` (только изображения). По умолчанию true
591
602
 
592
603
  #### Client-Side Processing
593
604
 
@@ -606,10 +617,10 @@ emailmaker.init({
606
617
  #### Cache Strategy
607
618
 
608
619
  - **cacheStrategy** — стратегия кэширования для оптимизации производительности.
609
- - **ttl** — время жизни кэша в миллисекундах. По умолчанию 300000 (5 минут)
610
- - **errorTtl** — время жизни кэша для ошибок в миллисекундах. По умолчанию 60000 (1 минута)
611
- - **allowSortedInsert** — разрешает вставку элемента в отсортированный массив без полной инвалидации кэша. По умолчанию false
612
- - **allowSearchInsert** — разрешает вставку элемента в массив с фильтрами без полной инвалидации кэша. По умолчанию false
620
+ - **ttl** — время жизни кэша в миллисекундах. По умолчанию 1800000 (30 минут)
621
+ - **errorTtl** — время жизни кэша для ошибок в миллисекундах. Если не задан, равен `ttl`
622
+ - **allowSortedInsert** — разрешает вставку элемента в отсортированный массив без полной инвалидации кэша. По умолчанию true
623
+ - **allowSearchInsert** — разрешает вставку элемента в массив с фильтрами без полной инвалидации кэша. По умолчанию true
613
624
  - **invalidateOnPaginationFull** — если страница полная, кэш помечается как устаревший при вставке нового элемента. По умолчанию true
614
625
  - **comparator** — функция сравнения двух файлов для сортировки. По умолчанию сравнение по имени
615
626
  - **filterMatch** — функция проверки, проходит ли файл текущий фильтр. По умолчанию поиск по имени
@@ -3,16 +3,16 @@ __emailmaker__.define("core", [
3
3
  "exports",
4
4
  "module",
5
5
  "static/core/7df48ae1.js",
6
- "static/core/fb14792c.js",
7
- "static/core/4efbc972.js",
8
- "static/core/1f9bc4c3.js"
6
+ "static/core/62284a79.js",
7
+ "static/core/f4cfd2a7.js",
8
+ "static/core/f422bc19.js"
9
9
  ], function(f, E, me) {
10
10
  Object.defineProperties(E, {
11
11
  __esModule: { value: !0 },
12
12
  [Symbol.toStringTag]: { value: "Module" }
13
13
  });
14
14
  f("./static/core/7df48ae1.js");
15
- const n = f("./static/core/fb14792c.js"), l = f("./static/core/4efbc972.js"), m = f("./static/core/1f9bc4c3.js");
15
+ const n = f("./static/core/62284a79.js"), l = f("./static/core/f4cfd2a7.js"), m = f("./static/core/f422bc19.js");
16
16
  var A = "Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";
17
17
  function w() {
18
18
  const e = new Error(A);
@@ -534,7 +534,7 @@ __emailmaker__.define("core", [
534
534
  R
535
535
  ];
536
536
  async function Z() {
537
- return (await Promise.resolve().then(() => f("./static/core/3af12861.js"))).default;
537
+ return (await Promise.resolve().then(() => f("./static/core/d6d05bc8.js"))).default;
538
538
  }
539
539
  var ee = (e) => {
540
540
  let t = null, o = !1;
@@ -669,5 +669,5 @@ __emailmaker__.define("core", [
669
669
  ampHtml: o
670
670
  };
671
671
  }
672
- E.init = ae, E.parseAMP = le, E.version = "1.1.75";
672
+ E.init = ae, E.parseAMP = le, E.version = "1.1.84";
673
673
  });