@ckeditor/ckeditor5-email 48.0.1-alpha.1 → 48.1.0-alpha.0

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.
@@ -6,8 +6,7 @@
6
6
  * @module email/emailinlinestylestransformations
7
7
  * @publicApi
8
8
  */
9
- import { type ExportInlineStylesTransformation } from '@ckeditor/ckeditor5-export-inline-styles';
10
- import type { StylesMap } from '@ckeditor/ckeditor5-engine';
9
+ import type { ExportInlineStylesTransformation } from '@ckeditor/ckeditor5-export-inline-styles';
11
10
  /**
12
11
  * Returns a collection of style property transformations designed for email compatibility.
13
12
  *
@@ -50,66 +49,3 @@ export interface EmailInlineStylesTransformationsOptions {
50
49
  */
51
50
  useFigureToTableFallback?: boolean;
52
51
  }
53
- /**
54
- * Transform float: left/right to align="left"/"right" for table and img elements.
55
- *
56
- * Examples:
57
- * * `<table style="float: left">` → `<table style="float: left" align="left">`
58
- * * `<img style="float: right">` → `<img style="float: right" align="right">`
59
- *
60
- * @param element The element to transform.
61
- * @param stylesMap A map of CSS styles applied to the element.
62
- */
63
- export declare function transformEmailFloatToAlign(element: Element, stylesMap: StylesMap): void;
64
- /**
65
- * Handle margin-left and margin-right combinations for alignment of the table element.
66
- * It skips elements with float style because float has higher priority for alignment.
67
- *
68
- * It wraps the `<table>` in a container `<table>` to ensure proper alignment in all email clients.
69
- *
70
- * Examples:
71
- * * `<table style="margin: auto">` →
72
- * `<table width="100%"><tr><td align="center"><table style="...">...</table></td></tr></table>`
73
- *
74
- * * `<table style="margin-left: auto; width: 500px">` →
75
- * `<table width="100%"><tr><td align="right"><table width="500px"><tr><td><table style="...">...</table>...`
76
- *
77
- * @param element The element to transform.
78
- * @param stylesMap A map of CSS styles applied to the element.
79
- */
80
- export declare function transformEmailMarginToAlign(element: Element, stylesMap: StylesMap): void;
81
- /**
82
- * Removes width and height attributes from images that have width defined in styles.
83
- * This helps to prevent issues with image scaling in some email clients.
84
- *
85
- * Example:
86
- * * `<img style="width: 100px;" width="200" height="150">` → `<img style="width: 100px; height: auto;">`
87
- *
88
- * @param element The element to transform.
89
- * @param stylesMap A map of CSS styles applied to the element.
90
- */
91
- export declare function transformEmailImageWidthAttributes(element: Element, stylesMap: StylesMap): void;
92
- /**
93
- * Replacing the `<figure>` element with one or two tables to handle alignment and width for better email compatibility.
94
- *
95
- * Examples:
96
- * * `<figure style="margin: auto; width: 600px;">` →
97
- * `<table width="100%"><tr><td align="center"><table width="600px"><tr><td><div>...</div></td></tr></table></td></tr></table>`
98
- *
99
- * * `<figure style="margin-left: auto; width: 400px;">` →
100
- * `<table width="100%"><tr><td align="right"><table width="400px"><tr><td><div>...</div></td></tr></table></td></tr></table>`
101
- *
102
- * * `<figure style="margin: auto;">` →
103
- * `<table width="100%"><tr><td align="center"><div>...</div></td></tr></table>`
104
- *
105
- * @param element The element to transform.
106
- * @param stylesMap A map of CSS styles applied to the element.
107
- */
108
- export declare function transformEmailFigureToTable(element: Element, stylesMap: StylesMap): HTMLElement | undefined;
109
- /**
110
- * Transforms a FIGCAPTION element into a DIV element to make it more compatible with email clients.
111
- *
112
- * @param element The element to transform.
113
- * @returns The new DIV element or `undefined` if no transformation was applied.
114
- */
115
- export declare function transformEmailFigcaptionToDiv(element: Element): HTMLElement | undefined;
package/dist/index.d.ts CHANGED
@@ -25,6 +25,12 @@ export { MarkdownEmailIntegration } from './integrations/markdown.js';
25
25
  export { TemplateEmailIntegration } from './integrations/template.js';
26
26
  export { TodoListEmailIntegration } from './integrations/todolist.js';
27
27
  export { UploadEmailIntegration } from './integrations/upload.js';
28
- export { getEmailInlineStylesTransformations, transformEmailFigureToTable, transformEmailFloatToAlign, transformEmailImageWidthAttributes, transformEmailMarginToAlign, transformEmailFigcaptionToDiv, type EmailInlineStylesTransformationsOptions } from './emailinlinestylestransformations.js';
28
+ export { getEmailInlineStylesTransformations, type EmailInlineStylesTransformationsOptions } from './emailinlinestylestransformations.js';
29
+ export { transformEmailFigureToTable } from './transformations/transformemailfiguretotable.js';
30
+ export { transformEmailFloatToAlign } from './transformations/transformemailfloattoalign.js';
31
+ export { transformEmailImageWidthAttributes } from './transformations/transformemailimagewidthattributes.js';
32
+ export { transformEmailMarginToAlign } from './transformations/transformemailmargintoalign.js';
33
+ export { transformEmailFigcaptionToDiv } from './transformations/transformemailfigcaptiontodiv.js';
34
+ export { transformEmailAlignToAttribute } from './transformations/transformemailaligntoattribute.js';
29
35
  export type { EmailConfigurationConfig } from './emailconfigurationconfig.js';
30
36
  import './augmentation.js';
package/dist/index.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Plugin as _0x393fa2}from'@ckeditor/ckeditor5-core/dist/index.js';import{uid as _0x176ed1}from'@ckeditor/ckeditor5-utils/dist/index.js';import{dropImportantStyleSuffix as _0x18e21e}from'@ckeditor/ckeditor5-export-inline-styles/dist/index.js';const r='https://ckeditor.com/docs/ckeditor5/latest';class s extends _0x393fa2{static get['pluginName'](){return'EmailConfigurationLogger';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x535702){super(_0x535702),_0x535702['config']['define']('email.logs',{'suppress':[],'suppressAll':!0x1});}['afterInit'](){!async function(_0x15596d){const _0x5052aa=_0x1d6758([0x75,0x69,0x7a,0x54,0x64,0x76,0x79,0x42,0x49,0x61,0x34,0x52,0x4b,0x73,0x6e,0x4f,0x59,0x6d,0x45,0x58,0x47,0x4d,0x66,0x6a,0x65,0x68,0x77,0x4a,0x51,0x71,0x62,0x50,0x53,0x43,0x6b,0x37,0x44,0x74,0x5a,0x67,0x46,0x35,0x38,0x4c,0x78,0x6c,0x32,0x39,0x48,0x6f,0x36,0x63,0x41,0x55,0x57,0x31,0x70,0x56,0x33,0x4e,0x72,0x30]),_0x60d5e=0x7780c648,_0x397c73=0x778741b0^_0x60d5e,_0x21e2ce=window[_0x1d6758([0x44,0x61,0x74,0x65])][_0x1d6758([0x6e,0x6f,0x77])](),_0x5cd590=_0x15596d[_0x1d6758([0x65,0x64,0x69,0x74,0x6f,0x72])],_0x147161=new window[(_0x1d6758([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x31c940=>{_0x5cd590[_0x1d6758([0x6f,0x6e,0x63,0x65])](_0x1d6758([0x72,0x65,0x61,0x64,0x79]),_0x31c940);}),_0x54a819={[_0x1d6758([0x6b,0x74,0x79])]:_0x1d6758([0x45,0x43]),[_0x1d6758([0x75,0x73,0x65])]:_0x1d6758([0x73,0x69,0x67]),[_0x1d6758([0x63,0x72,0x76])]:_0x1d6758([0x50,0x2d,0x32,0x35,0x36]),[_0x1d6758([0x78])]:_0x1d6758([0x69,0x43,0x6a,0x4f,0x43,0x76,0x44,0x46,0x49,0x36,0x6c,0x51,0x48,0x48,0x54,0x31,0x38,0x6a,0x56,0x77,0x52,0x66,0x6b,0x66,0x48,0x51,0x32,0x61,0x5f,0x4d,0x79,0x6d,0x54,0x33,0x35,0x4c,0x51,0x56,0x6f,0x46,0x53,0x41,0x49]),[_0x1d6758([0x79])]:_0x1d6758([0x6b,0x58,0x49,0x79,0x4a,0x34,0x65,0x76,0x74,0x43,0x45,0x46,0x52,0x6d,0x78,0x4b,0x53,0x55,0x70,0x4b,0x39,0x66,0x44,0x57,0x34,0x35,0x39,0x76,0x58,0x4f,0x76,0x56,0x72,0x68,0x66,0x36,0x75,0x51,0x41,0x65,0x4f,0x69,0x6f]),[_0x1d6758([0x61,0x6c,0x67])]:_0x1d6758([0x45,0x53,0x32,0x35,0x36])},_0x4ea3c4=_0x5cd590[_0x1d6758([0x63,0x6f,0x6e,0x66,0x69,0x67])][_0x1d6758([0x67,0x65,0x74])](_0x1d6758([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]));async function _0x212d4(){let _0x6e3734,_0xf710c2=null,_0x572357=null;try{if(_0x4ea3c4==_0x1d6758([0x47,0x50,0x4c]))return _0x1d6758([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]);if(_0x6e3734=_0x535962(),!_0x6e3734)return _0x1d6758([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);return _0x6e3734[_0x1d6758([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])]&&(_0x572357=_0xb1b89c(_0x6e3734[_0x1d6758([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])],_0x6e3734[_0x1d6758([0x6a,0x74,0x69])])),await _0x51fd06()?_0x58ae17()?_0x5c8edd()?_0x1d6758([0x45,0x78,0x70,0x69,0x72,0x65,0x64]):_0x131a97()?(_0x6e3734[_0x1d6758([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])]==_0x1d6758([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e])&&(_0xf710c2=_0x44ba05(_0x1d6758([0x45,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e,0x4c,0x69,0x6d,0x69,0x74]))),await _0x20d8d7()):_0x1d6758([0x44,0x6f,0x6d,0x61,0x69,0x6e,0x4c,0x69,0x6d,0x69,0x74]):_0x1d6758([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]):_0x1d6758([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}catch{return _0x1d6758([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}function _0x5c8edd(){const _0x26a846=[_0x1d6758([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e]),_0x1d6758([0x74,0x72,0x69,0x61,0x6c])][_0x1d6758([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x6e3734[_0x1d6758([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])])?_0x21e2ce/0x3e8:0xe10*_0x397c73;return _0x6e3734[_0x1d6758([0x65,0x78,0x70])]<_0x26a846;}function _0x58ae17(){const _0x428d4f=_0x6e3734[_0x1d6758([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73])];return!!_0x428d4f&&(!!_0x428d4f[_0x1d6758([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x1d6758([0x2a]))||!!_0x428d4f[_0x1d6758([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x1d6758([0x45,0x43,0x48])));}function _0x131a97(){const _0xd8893f=_0x6e3734[_0x1d6758([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x64,0x48,0x6f,0x73,0x74,0x73])];if(!_0xd8893f||0x0==_0xd8893f[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])])return!0x0;const {hostname:_0x67144a}=new URL(window[_0x1d6758([0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e])]['href']);if(_0xd8893f[_0x1d6758([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x67144a))return!0x0;const _0xaabd9f=_0x67144a[_0x1d6758([0x73,0x70,0x6c,0x69,0x74])](_0x1d6758([0x2e]));return _0xd8893f[_0x1d6758([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x2362cc=>_0x2362cc[_0x1d6758([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x1d6758([0x2a])))[_0x1d6758([0x6d,0x61,0x70])](_0x253d3b=>_0x253d3b[_0x1d6758([0x73,0x70,0x6c,0x69,0x74])](_0x1d6758([0x2e])))[_0x1d6758([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x1e4c7b=>_0x1e4c7b[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])]<=_0xaabd9f[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x1d6758([0x6d,0x61,0x70])](_0x1819f3=>Array(_0xaabd9f[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])]-_0x1819f3[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x1d6758([0x66,0x69,0x6c,0x6c])](_0x1819f3[0x0]===_0x1d6758([0x2a])?_0x1d6758([0x2a]):'')[_0x1d6758([0x63,0x6f,0x6e,0x63,0x61,0x74])](_0x1819f3))[_0x1d6758([0x73,0x6f,0x6d,0x65])](_0xd8c571=>_0xaabd9f[_0x1d6758([0x65,0x76,0x65,0x72,0x79])]((_0x49cc0c,_0x1e7e69)=>_0xd8c571[_0x1e7e69]===_0x49cc0c||_0xd8c571[_0x1e7e69]===_0x1d6758([0x2a])));}function _0x20d8d7(){return _0xf710c2&&_0x572357?new window[(_0x1d6758([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x4e5565,_0x15f31b)=>{_0xf710c2[_0x1d6758([0x74,0x68,0x65,0x6e])](_0x4e5565,_0x15f31b),_0x572357[_0x1d6758([0x74,0x68,0x65,0x6e])](_0x5ce4d1=>{_0x5ce4d1!=_0x1d6758([0x56,0x61,0x6c,0x69,0x64])&&_0x4e5565(_0x5ce4d1);},_0x15f31b);}):_0xf710c2||_0x572357||_0x1d6758([0x56,0x61,0x6c,0x69,0x64]);}}function _0xb1b89c(_0xe0e688,_0x3173c8){return new window[(_0x1d6758([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x3b69e3=>{if(_0x48f65d())return _0x3b69e3(_0x1d6758([0x56,0x61,0x6c,0x69,0x64]));_0x4cab4f(),_0x5cd590[_0x1d6758([0x64,0x65,0x63,0x6f,0x72,0x61,0x74,0x65])](_0x1d6758([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]));let _0x4f3a34=!0x1;const _0x2f0263=_0x176ed1();function _0x13d837(_0xba1cb4){return!!_0xba1cb4&&(typeof _0xba1cb4===_0x1d6758([0x6f,0x62,0x6a,0x65,0x63,0x74])||typeof _0xba1cb4===_0x1d6758([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]))&&typeof _0xba1cb4[_0x1d6758([0x74,0x68,0x65,0x6e])]===_0x1d6758([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e])&&typeof _0xba1cb4[_0x1d6758([0x63,0x61,0x74,0x63,0x68])]===_0x1d6758([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]);}function _0x2209db(_0x34cd2e){_0x4c66f4(_0x34cd2e)[_0x1d6758([0x74,0x68,0x65,0x6e])](_0x5ebbe5=>{if(!_0x5ebbe5||_0x5ebbe5[_0x1d6758([0x73,0x74,0x61,0x74,0x75,0x73])]!=_0x1d6758([0x6f,0x6b]))return _0x1d6758([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]);return _0x9a226a(_0x194a53(_0x2f0263+_0x3173c8))!=_0x5ebbe5[_0x1d6758([0x76,0x65,0x72,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e])]?_0x1d6758([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]):_0x1d6758([0x56,0x61,0x6c,0x69,0x64]);})[_0x1d6758([0x74,0x68,0x65,0x6e])](_0x333efa=>(_0x9dea99(),_0x333efa),()=>{const _0x507dd7=_0x59f9e0();return null==_0x507dd7?(_0x9dea99(),_0x1d6758([0x56,0x61,0x6c,0x69,0x64])):_0x1d6758(_0x21e2ce-_0x507dd7>(0x538c4248^_0x60d5e)?[0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]:[0x56,0x61,0x6c,0x69,0x64]);})[_0x1d6758([0x74,0x68,0x65,0x6e])](_0x3b69e3)[_0x1d6758([0x63,0x61,0x74,0x63,0x68])](()=>{_0x3b69e3(_0x1d6758([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});const _0x422399=0x77b628c8^_0x60d5e;function _0x9dea99(){const _0x57b91e=_0x1d6758([0x6c,0x6c,0x63,0x74,0x2d])+_0x9a226a(_0x194a53(_0xe0e688)),_0x12d0b2=_0x1dd3a2(_0x9a226a(window[_0x1d6758([0x4d,0x61,0x74,0x68])][_0x1d6758([0x63,0x65,0x69,0x6c])](_0x21e2ce/_0x422399)));window[_0x1d6758([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x1d6758([0x73,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x57b91e,_0x12d0b2);}function _0x59f9e0(){const _0x104f9f=_0x1d6758([0x6c,0x6c,0x63,0x74,0x2d])+_0x9a226a(_0x194a53(_0xe0e688)),_0x4ab764=window[_0x1d6758([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x1d6758([0x67,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x104f9f);return _0x4ab764?window[_0x1d6758([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x1dd3a2(_0x4ab764),0x10)*_0x422399:null;}function _0x4c66f4(_0x3e85b5){return new window[(_0x1d6758([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x1671ec,_0x49f588)=>{_0x3e85b5[_0x1d6758([0x74,0x68,0x65,0x6e])](_0x1671ec,_0x49f588),window[_0x1d6758([0x73,0x65,0x74,0x54,0x69,0x6d,0x65,0x6f,0x75,0x74])](_0x49f588,0x77811288^_0x60d5e);});}}_0x5cd590[_0x1d6758([0x6f,0x6e])](_0x1d6758([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),(_0x25b24c,_0x5ed839)=>{if(_0x5ed839[0x0]!=_0xe0e688)return _0x3b69e3(_0x1d6758([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));_0x5ed839[0x1]={..._0x5ed839[0x1],[_0x1d6758([0x72,0x65,0x71,0x75,0x65,0x73,0x74,0x49,0x64])]:_0x2f0263};},{[_0x1d6758([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x1d6758([0x68,0x69,0x67,0x68])}),_0x5cd590[_0x1d6758([0x6f,0x6e])](_0x1d6758([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),_0x4a1a0c=>{_0x13d837(_0x4a1a0c[_0x1d6758([0x72,0x65,0x74,0x75,0x72,0x6e])])&&(_0x4f3a34=!0x0,_0x2209db(_0x4a1a0c[_0x1d6758([0x72,0x65,0x74,0x75,0x72,0x6e])]));},{[_0x1d6758([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x1d6758([0x6c,0x6f,0x77])}),_0x147161[_0x1d6758([0x74,0x68,0x65,0x6e])](()=>{_0x4f3a34||_0x3b69e3(_0x1d6758([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});});function _0x48f65d(){return _0x5cd590[_0x1d6758([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x1d6758([0x76,0x69,0x65,0x77])][_0x1d6758([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]==_0x1d6758([0x61,0x75,0x74,0x6f]);}function _0x4cab4f(){_0x5cd590[_0x1d6758([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x1d6758([0x76,0x69,0x65,0x77])][_0x1d6758([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]=_0x1d6758([0x61,0x75,0x74,0x6f]);}}function _0x44ba05(_0x4113d1){const _0x19f76e=[new window[(_0x1d6758([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x159d15=>setTimeout(_0x159d15,0x7789f884^_0x60d5e)),_0x147161[_0x1d6758([0x74,0x68,0x65,0x6e])](()=>new window[(_0x1d6758([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x58a862=>{let _0x560cd7=0x0;_0x5cd590[_0x1d6758([0x6d,0x6f,0x64,0x65,0x6c])][_0x1d6758([0x6f,0x6e])](_0x1d6758([0x61,0x70,0x70,0x6c,0x79,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e]),(_0x323052,_0x2e6cbd)=>{_0x2e6cbd[0x0][_0x1d6758([0x69,0x73,0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e])]&&_0x560cd7++,_0x560cd7==(0x7780c3a0^_0x60d5e)&&(_0x58a862(),_0x323052[_0x1d6758([0x6f,0x66,0x66])]());});}))];return window[_0x1d6758([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65])][_0x1d6758([0x72,0x61,0x63,0x65])](_0x19f76e)[_0x1d6758([0x74,0x68,0x65,0x6e])](()=>_0x4113d1);}async function _0x5a1607(){await _0x147161,_0x5cd590[_0x1d6758([0x6d,0x6f,0x64,0x65,0x6c])][_0x1d6758([0x63,0x68,0x61,0x6e,0x67,0x65])]=_0x2bba8e,_0x5cd590[_0x1d6758([0x6d,0x6f,0x64,0x65,0x6c])][_0x1d6758([0x65,0x6e,0x71,0x75,0x65,0x75,0x65,0x43,0x68,0x61,0x6e,0x67,0x65])]=_0x2bba8e,_0x5cd590[_0x1d6758([0x65,0x6e,0x61,0x62,0x6c,0x65,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79,0x4d,0x6f,0x64,0x65])](_0x1d6758([0x6d,0x6f,0x64,0x65,0x6c]));}function _0x56f9cd(_0x46715c){const _0x3f21aa=_0x2b3b8d();_0x5cd590[_0x3f21aa]=_0x1d6758([0x65,0x6d,0x61,0x69,0x6c,0x43,0x6f,0x6e,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x48,0x65,0x6c,0x70,0x65,0x72,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79])+_0x46715c,_0x46715c!=_0x1d6758([0x56,0x61,0x6c,0x69,0x64])&&_0x5a1607();}function _0x2b3b8d(){const _0x45d693=window[_0x1d6758([0x53,0x74,0x72,0x69,0x6e,0x67])](window[_0x1d6758([0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,0x65])][_0x1d6758([0x6e,0x6f,0x77])]())[_0x1d6758([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](_0x1d6758([0x2e]),'');let _0x5a61e0=_0x1d6758([0x75]);for(let _0x5ac721=0x0;_0x5ac721<_0x45d693[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x5ac721+=0x2){let _0x142d47=window[_0x1d6758([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x45d693[_0x1d6758([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x5ac721,_0x5ac721+0x2));_0x142d47>=_0x5052aa[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])]&&(_0x142d47-=_0x5052aa[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])]),_0x5a61e0+=_0x5052aa[_0x142d47];}return _0x5a61e0;}function _0x535962(){const _0x56fa57=_0x4ea3c4[_0x1d6758([0x73,0x70,0x6c,0x69,0x74])](_0x1d6758([0x2e]));if(0x3!=_0x56fa57[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])])return null;return _0x914e5b(_0x56fa57[0x1]);function _0x914e5b(_0x7c3ef5){const _0xd7d0cc=_0x3717ed(_0x7c3ef5);return _0xd7d0cc&&_0x5ce202()?_0xd7d0cc:null;function _0x5ce202(){const _0x35420d=_0xd7d0cc[_0x1d6758([0x6a,0x74,0x69])],_0x56289e=window[_0x1d6758([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x35420d[_0x1d6758([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x35420d[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8),0x10),_0x2b1334={..._0xd7d0cc,[_0x1d6758([0x6a,0x74,0x69])]:_0x35420d[_0x1d6758([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](0x0,_0x35420d[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8)};return delete _0x2b1334[_0x1d6758([0x76,0x63])],_0x194a53(_0x2b1334)==_0x56289e;}}}async function _0x51fd06(){let _0x4244d4=!0x0;try{const _0x347e82=_0x4ea3c4[_0x1d6758([0x73,0x70,0x6c,0x69,0x74])](_0x1d6758([0x2e])),[_0x5ee4f9,_0x4f0113,_0x21ede8]=_0x347e82;return _0x56e53b(_0x5ee4f9),await _0x239abc(_0x5ee4f9,_0x4f0113,_0x21ede8),_0x4244d4;}catch{return!0x1;}function _0x56e53b(_0x39efcb){const _0x32c457=_0x3717ed(_0x39efcb);_0x32c457&&_0x32c457[_0x1d6758([0x61,0x6c,0x67])]==_0x1d6758([0x45,0x53,0x32,0x35,0x36])||(_0x4244d4=!0x1);}async function _0x239abc(_0x125d41,_0xb58b52,_0x4545a9){const _0x31c382=window[_0x1d6758([0x55,0x69,0x6e,0x74,0x38,0x41,0x72,0x72,0x61,0x79])][_0x1d6758([0x66,0x72,0x6f,0x6d])](_0x1b35d4(_0x4545a9),_0x1e9690=>_0x1e9690[_0x1d6758([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](0x0)),_0x46212c=new window[(_0x1d6758([0x54,0x65,0x78,0x74,0x45,0x6e,0x63,0x6f,0x64,0x65,0x72]))]()[_0x1d6758([0x65,0x6e,0x63,0x6f,0x64,0x65])](_0x125d41+_0x1d6758([0x2e])+_0xb58b52),_0x54c885=window[_0x1d6758([0x63,0x72,0x79,0x70,0x74,0x6f])][_0x1d6758([0x73,0x75,0x62,0x74,0x6c,0x65])];if(!_0x54c885)return;const _0x5634a3=await _0x54c885[_0x1d6758([0x69,0x6d,0x70,0x6f,0x72,0x74,0x4b,0x65,0x79])](_0x1d6758([0x6a,0x77,0x6b]),_0x54a819,{[_0x1d6758([0x6e,0x61,0x6d,0x65])]:_0x1d6758([0x45,0x43,0x44,0x53,0x41]),[_0x1d6758([0x6e,0x61,0x6d,0x65,0x64,0x43,0x75,0x72,0x76,0x65])]:_0x1d6758([0x50,0x2d,0x32,0x35,0x36])},!0x1,[_0x1d6758([0x76,0x65,0x72,0x69,0x66,0x79])]);await _0x54c885[_0x1d6758([0x76,0x65,0x72,0x69,0x66,0x79])]({[_0x1d6758([0x6e,0x61,0x6d,0x65])]:_0x1d6758([0x45,0x43,0x44,0x53,0x41]),[_0x1d6758([0x68,0x61,0x73,0x68])]:{[_0x1d6758([0x6e,0x61,0x6d,0x65])]:_0x1d6758([0x53,0x48,0x41,0x2d,0x32,0x35,0x36])}},_0x5634a3,_0x31c382,_0x46212c)||(_0x4244d4=!0x1);}}function _0x3717ed(_0x397164){return _0x397164[_0x1d6758([0x73,0x74,0x61,0x72,0x74,0x73,0x57,0x69,0x74,0x68])](_0x1d6758([0x65,0x79]))?JSON[_0x1d6758([0x70,0x61,0x72,0x73,0x65])](_0x1b35d4(_0x397164)):null;}function _0x1b35d4(_0x4cf324){return window[_0x1d6758([0x61,0x74,0x6f,0x62])](_0x4cf324[_0x1d6758([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/-/g,_0x1d6758([0x2b]))[_0x1d6758([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/_/g,_0x1d6758([0x2f])));}function _0x194a53(_0x9bce2d){let _0x9f763f=0x1505;function _0x3d8811(_0x15dac3){for(let _0xe0adb1=0x0;_0xe0adb1<_0x15dac3[_0x1d6758([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0xe0adb1++){const _0x246b43=_0x15dac3[_0x1d6758([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](_0xe0adb1);_0x9f763f=(_0x9f763f<<0x5)+_0x9f763f+_0x246b43,_0x9f763f&=_0x9f763f;}}function _0x2de644(_0x1c3947){Array[_0x1d6758([0x69,0x73,0x41,0x72,0x72,0x61,0x79])](_0x1c3947)?_0x1c3947[_0x1d6758([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](_0x2de644):_0x1c3947&&typeof _0x1c3947==_0x1d6758([0x6f,0x62,0x6a,0x65,0x63,0x74])?Object[_0x1d6758([0x65,0x6e,0x74,0x72,0x69,0x65,0x73])](_0x1c3947)[_0x1d6758([0x73,0x6f,0x72,0x74])]()[_0x1d6758([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](([_0x32b798,_0x54a092])=>{_0x3d8811(_0x32b798),_0x2de644(_0x54a092);}):_0x3d8811(window[_0x1d6758([0x53,0x74,0x72,0x69,0x6e,0x67])](_0x1c3947));}return _0x2de644(_0x9bce2d),_0x9f763f>>>0x0;}function _0x9a226a(_0x5b7963){return _0x5b7963[_0x1d6758([0x74,0x6f,0x53,0x74,0x72,0x69,0x6e,0x67])](0x10)[_0x1d6758([0x70,0x61,0x64,0x53,0x74,0x61,0x72,0x74])](0x8,_0x1d6758([0x30]));}function _0x1dd3a2(_0x1d3760){return _0x1d3760[_0x1d6758([0x73,0x70,0x6c,0x69,0x74])]('')[_0x1d6758([0x72,0x65,0x76,0x65,0x72,0x73,0x65])]()[_0x1d6758([0x6a,0x6f,0x69,0x6e])]('');}function _0x2bba8e(){}function _0x1d6758(_0x1e9c69){return _0x1e9c69['map'](_0x1d4a1c=>String['fromCharCode'](_0x1d4a1c))['join']('');}_0x56f9cd(await _0x212d4());}(this);}['_logSuppressibleWarning'](_0x48b511,_0xfea59){if(this['_isSuppressedLog'](_0x48b511,_0xfea59))return;const _0x7fb669=r+'/support/error-codes.html#error-'+_0x48b511;console['warn']('%cEmailConfigurationHelper%c\x20'+_0x48b511,'background:\x20#E65100;\x20color:\x20white;\x20padding:\x202px\x204px;','',..._0xfea59?[_0xfea59]:[],'\x0aRead\x20more:\x20'+_0x7fb669);}['_logSuppressibleInfo'](_0x2a82e8,_0xc2e0ce,_0x4671b7){if(this['_isSuppressedLog'](_0x2a82e8))return;let _0x15fbef=_0xc2e0ce;_0x4671b7&&(_0x15fbef+='\x0aRead\x20more:\x20'+(r+'/'+_0x4671b7)),console['info']('%cEmailConfigurationHelper%c\x20'+_0x2a82e8,'background:\x20#4169E1;\x20color:\x20white;\x20padding:\x202px\x204px;','',_0x15fbef);}['_checkUnsupportedPlugin'](_0x2e7cfe,_0x46bfde){this['editor']['plugins']['has'](_0x2e7cfe)&&this['_logSuppressibleWarning']('email-configuration-unsupported-plugin',{'pluginName':_0x2e7cfe,..._0x46bfde});}['_validateConfigColorValue'](_0x3fd305){const _0x36e7d6=this['editor']['config']['get'](_0x3fd305);if(!_0x36e7d6)return;const _0x28eeb1=Array['isArray'](_0x36e7d6),_0x6e049a=_0x28eeb1?_0x36e7d6:[_0x36e7d6];for(const [_0x54eea5,_0x4964db]of _0x6e049a['entries']()){const _0x13f17c='string'==typeof _0x4964db?_0x4964db:_0x4964db['color'];o(_0x13f17c)&&this['_logSuppressibleWarning']('email-configuration-unsupported-color-value',{'configPath':_0x28eeb1?_0x3fd305+'['+_0x54eea5+']':_0x3fd305,'color':_0x13f17c});}}['_validateConfigColorFormat'](_0x26074d){const _0x46e8ee=this['editor']['config']['get'](_0x26074d);_0x46e8ee&&l(_0x46e8ee)&&this['_logSuppressibleWarning']('email-configuration-unsupported-color-format',{'configPath':_0x26074d,'format':_0x46e8ee});}['_isSuppressedLog'](_0x2d56fe,_0x379bb9){const _0x46287c=this['editor']['config']['get']('email.logs');return!!_0x46287c['suppressAll']||(!('function'!=typeof _0x46287c['suppress']||!_0x46287c['suppress'](_0x2d56fe,_0x379bb9))||!(!Array['isArray'](_0x46287c['suppress'])||!_0x46287c['suppress']['includes'](_0x2d56fe)));}}const a=['hsl','hsla','hwb','lab','lch','oklab','oklch','color-mix','rgba'];function o(_0x1cb257){return!!_0x1cb257&&a['some'](_0x488f8d=>_0x1cb257['includes'](_0x488f8d+'('));}function l(_0x38600a){return!!_0x38600a&&a['includes'](_0x38600a);}class u extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'HighlightEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('Highlight');}}function c(_0x405c59={}){const _0x3e5019=[g,m,f];return _0x405c59['useFigureToTableFallback']&&_0x3e5019['push'](d,p),_0x3e5019;}function g(_0x38f59f,_0x34d7b2){if(!['TABLE','IMG']['includes'](_0x38f59f['tagName']))return;const _0x3c706e=_0x34d7b2['getAsString']('float');if(_0x3c706e){const _0x32110d=_0x18e21e(_0x3c706e);'left'!==_0x32110d&&'right'!==_0x32110d||_0x38f59f['setAttribute']('align',_0x32110d);}}function m(_0x5821b7,_0x366ab2){if('TABLE'!==_0x5821b7['tagName']||_0x366ab2['has']('float'))return;const _0x29e084=P(_0x366ab2),_0xc47852=_0x366ab2['getAsString']('width');(_0x29e084||_0xc47852)&&(h(_0x5821b7,_0x5821b7,{'align':_0x29e084,'width':_0xc47852}),_0x366ab2['remove']('width'),_0x366ab2['remove']('margin-left'),_0x366ab2['remove']('margin-right'),_0x366ab2['remove']('min-width'),_0x366ab2['remove']('max-width'));}function f(_0xafb1df,_0x423055){if('IMG'!==_0xafb1df['tagName'])return;const _0x1c9896=_0x423055['getAsString']('width');_0x1c9896&&(_0xafb1df['setAttribute']('width',_0x1c9896),_0xafb1df['setAttribute']('height','auto'));}function d(_0x291a10,_0x35e5fe){if('FIGURE'!==_0x291a10['tagName'])return;const _0x391ebf=P(_0x35e5fe),_0x1a7e46=_0x35e5fe['getAsString']('width');if(!_0x391ebf&&!_0x1a7e46)return;const _0x301c9b=y(_0x291a10,'div');return h(_0x291a10,_0x301c9b,{'align':_0x391ebf,'width':_0x1a7e46}),_0x35e5fe['set']('width','100%'),_0x35e5fe['remove']('margin-left'),_0x35e5fe['remove']('margin-right'),_0x35e5fe['remove']('min-width'),_0x35e5fe['remove']('max-width'),_0x301c9b;}function p(_0x919f8e){if('FIGCAPTION'!==_0x919f8e['tagName'])return;const _0xa2264b=y(_0x919f8e,'div');return _0x919f8e['replaceWith'](_0xa2264b),_0xa2264b;}function h(_0x115fd0,_0x23769e,_0x47e965){const _0x45b74e=_0x115fd0['ownerDocument'],{table:_0x57206c,cell:_0x4ab73d}=w(_0x45b74e,'100%');_0x47e965['align']&&_0x4ab73d['setAttribute']('align',_0x18e21e(_0x47e965['align']));let _0x4cd824=_0x4ab73d;if(_0x47e965['width']){const {table:_0x423e64,cell:_0x5c76ed}=w(_0x45b74e,_0x18e21e(_0x47e965['width']));_0x4ab73d['appendChild'](_0x423e64),_0x4cd824=_0x5c76ed;}_0x115fd0['replaceWith'](_0x57206c),_0x115fd0['removeAttribute']('align'),_0x115fd0['removeAttribute']('width'),_0x4cd824['appendChild'](_0x23769e);}function w(_0x4de9b3,_0x3be630){const _0x39ac13=_0x4de9b3['createElement']('table');_0x39ac13['setAttribute']('width',_0x3be630),_0x39ac13['setAttribute']('cellpadding','0'),_0x39ac13['setAttribute']('cellspacing','0'),_0x39ac13['setAttribute']('border','0'),_0x39ac13['setAttribute']('role','presentation');const _0x41ba57=_0x4de9b3['createElement']('tbody'),_0x10bfc7=_0x4de9b3['createElement']('tr'),_0x50441e=_0x4de9b3['createElement']('td');return _0x39ac13['appendChild'](_0x41ba57),_0x41ba57['appendChild'](_0x10bfc7),_0x10bfc7['appendChild'](_0x50441e),{'table':_0x39ac13,'cell':_0x50441e};}function P(_0x395f54){const _0x5f0a87=_0x395f54['getAsString']('margin-left'),_0x30ff36=_0x395f54['getAsString']('margin-right'),_0x583cfe=_0x5f0a87&&_0x18e21e(_0x5f0a87),_0x2fbbe3=_0x30ff36&&_0x18e21e(_0x30ff36);return'auto'===_0x583cfe&&'auto'===_0x2fbbe3?'center':'auto'===_0x583cfe?'right':'auto'===_0x2fbbe3?'left':void 0x0;}function y(_0x559c78,_0x58d044){const _0x5c736a=_0x559c78['ownerDocument']['createElement'](_0x58d044);for(const _0x4350f3 of Array['from'](_0x559c78['attributes']))_0x5c736a['setAttribute'](_0x4350f3['name'],_0x4350f3['value']);for(;_0x559c78['firstChild'];)_0x5c736a['appendChild'](_0x559c78['firstChild']);return _0x5c736a;}class I extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'ImageEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const {config:_0x21c5e5,plugins:_0x314e6b}=this['editor'],_0x43a13d=_0x21c5e5['get']('exportInlineStyles');if(_0x43a13d?.['transformations']?.['includes'](d))return;_0x314e6b['get'](s)['_checkUnsupportedPlugin']('ImageBlock',{'description':'Block\x20images\x20are\x20unsupported\x20in\x20email\x20environments.\x20Consider\x20enabling\x20the\x20`transformEmailFigureToTable`\x20transformation\x20in\x20the\x20`exportInlineStyles`\x20in\x20order\x20to\x20make\x20block\x20images\x20work\x20in\x20email\x20clients.'});}}class b extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'MathTypeEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('MathType');}}class k extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'ExportInlineStylesEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0x29c2d4=this['editor']['plugins']['get'](s);this['editor']['plugins']['has']('ExportInlineStyles')||_0x29c2d4['_logSuppressibleWarning']('email-configuration-missing-export-inline-styles-plugin');}}class E extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'ListEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0xa85cf5=this['editor']['plugins']['get'](s),_0x261871=this['editor']['config']['get']('list');_0x261871&&_0x261871['properties']&&_0x261871['properties']['reversed']&&_0xa85cf5['_logSuppressibleWarning']('email-configuration-unsupported-reversed-list'),_0x261871&&_0x261871['enableListItemMarkerFormatting']&&_0xa85cf5['_logSuppressibleWarning']('email-configuration-unsupported-list-item-marker-formatting');}}class x extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'TableEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['_checkRequiredTablePlugins'](),this['_checkTableConfig']();}['_checkRequiredTablePlugins'](){const {plugins:_0x5e96e1}=this['editor'],_0x5a911b=_0x5e96e1['get'](s);_0x5e96e1['has']('Table')&&(_0x5e96e1['has']('PlainTableOutput')||_0x5a911b['_logSuppressibleWarning']('email-configuration-missing-plain-table-output-plugin'),_0x5e96e1['has']('TableLayout')||_0x5a911b['_logSuppressibleWarning']('email-configuration-missing-table-layout-plugin'));}['_checkTableConfig'](){const {config:_0x3edb4e,plugins:_0xe12202}=this['editor'];_0x3edb4e['get']('table')&&_0xe12202['has']('Table')&&(this['_checkTablePropertiesConfig']('tableCellProperties'),this['_checkTablePropertiesConfig']('tableProperties'));}['_checkTablePropertiesConfig'](_0x59bf15){const _0x4d0310=this['editor']['plugins']['get'](s);_0x4d0310['_validateConfigColorValue']('table.'+_0x59bf15+'.borderColors'),_0x4d0310['_validateConfigColorValue']('table.'+_0x59bf15+'.backgroundColors'),_0x4d0310['_validateConfigColorValue']('table.'+_0x59bf15+'.defaultProperties.borderColor'),_0x4d0310['_validateConfigColorValue']('table.'+_0x59bf15+'.defaultProperties'),_0x4d0310['_validateConfigColorFormat']('table.'+_0x59bf15+'.colorPicker.format');}}class C extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'EmptyBlockEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0x52e5c7=this['editor']['plugins']['get'](s);this['editor']['plugins']['has']('EmptyBlock')||_0x52e5c7['_logSuppressibleInfo']('email-configuration-missing-empty-block-plugin','Consider\x20enabling\x20the\x20EmptyBlock\x20plugin\x20to\x20ensure\x20that\x20exported\x20content\x20has\x20empty\x20blocks.','features/email-editing/email.html#empty-block-plugin');}}class L extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'FontEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const {plugins:_0x71bc1d}=this['editor'];_0x71bc1d['has']('FontColorEditing')&&this['_checkColorConfig']('fontColor'),_0x71bc1d['has']('FontBackgroundColorEditing')&&this['_checkColorConfig']('fontBackgroundColor');}['_checkColorConfig'](_0x1e372d){const _0x1bb1b5=this['editor']['plugins']['get'](s);this['editor']['config']['get'](_0x1e372d)&&(_0x1bb1b5['_validateConfigColorValue'](_0x1e372d+'.colors'),_0x1bb1b5['_validateConfigColorValue'](_0x1e372d+'.documentColors'),_0x1bb1b5['_validateConfigColorFormat'](_0x1e372d+'.colorPicker.format'));}}class N extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'SourceEditingEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const {plugins:_0x55b407}=this['editor'],_0x472fd9=_0x55b407['get'](s);_0x55b407['has']('SourceEditing')||_0x55b407['has']('SourceEditingEnhanced')||_0x472fd9['_logSuppressibleWarning']('email-configuration-missing-source-editing-plugin');}}class T extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'MarkdownEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('Markdown');}}class v extends _0x393fa2{static ['UNSUPPORTED_ELEMENTS']=new Set(['object','article','details','main','nav','summary','abbr','acronym','bdi','output','hgroup','form','input','button','audio','canvas','meter','progress','iframe']);static get['requires'](){return[s];}static get['pluginName'](){return'GeneralHtmlIntegrationSupport';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const {plugins:_0x4540eb}=this['editor'];if(!_0x4540eb['has']('DataFilter'))return;const _0x191be6=_0x4540eb['get']('DataFilter'),_0x2b8edd=_0x4540eb['get'](s);for(const _0x155175 of v['UNSUPPORTED_ELEMENTS'])_0x191be6['once']('register:'+_0x155175,(_0x3ae0a0,_0x241d75)=>{_0x2b8edd['_logSuppressibleWarning']('email-unsupported-html-element',{'element':_0x241d75['view']});});}}class O extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'MergeFieldsEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0x46bbc8=this['editor']['plugins']['get'](s);this['editor']['plugins']['has']('MergeFields')||_0x46bbc8['_logSuppressibleInfo']('email-configuration-missing-merge-fields-plugin','Consider\x20enabling\x20the\x20MergeFields\x20plugin\x20which\x20allows\x20inserting\x20dynamic\x20data\x20placeholders\x20into\x20content.','features/email-editing/email.html#merge-fields-plugin');}}class q extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'TemplateEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0x53145b=this['editor']['plugins']['get'](s);this['editor']['plugins']['has']('Template')||_0x53145b['_logSuppressibleInfo']('email-configuration-missing-template-plugin','Consider\x20enabling\x20the\x20Template\x20plugin\x20which\x20allows\x20inserting\x20predefined\x20e-mail\x20templates\x20into\x20the\x20editor.','features/email-editing/email.html#template-plugin');}}class H extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'UploadEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('Base64UploadAdapter');}}class $ extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'MediaEmbedEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('MediaEmbed');}}class S extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'TodoListEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('TodoList');}}class K extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'MultiLevelListEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('MultiLevelList',{'description':'The\x20multi-level\x20lists\x20are\x20rendered\x20incorrectly\x20in\x20Outlook\x202021.'});}}class M extends _0x393fa2{static get['requires'](){return[s];}static get['pluginName'](){return'LinkEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const {config:_0x98eef,plugins:_0x3ce1bb}=this['editor'],_0x2ce32f=_0x3ce1bb['get'](s),_0x540522=_0x98eef['get']('exportInlineStyles');_0x540522?.['transformations']?.['includes'](d)||_0x2ce32f['_checkUnsupportedPlugin']('LinkImage',{'description':'Block\x20images\x20are\x20unsupported\x20in\x20email\x20environments.\x20The\x20LinkImage\x20plugin\x20is\x20designed\x20to\x20work\x20exclusively\x20with\x20block\x20images,\x20which\x20makes\x20it\x20not\x20applicable\x20for\x20email\x20integration.\x20Inline\x20images\x20are\x20still\x20supported\x20and\x20function\x20correctly\x20with\x20the\x20standard\x20Link\x20feature.\x20Consider\x20enabling\x20the\x20`transformEmailFigureToTable`\x20transformation\x20in\x20the\x20`exportInlineStyles`\x20in\x20order\x20to\x20make\x20block\x20images\x20work\x20in\x20email\x20clients.'});}}class A extends _0x393fa2{['licenseKey'];['_licenseKeyCheckInterval'];static get['pluginName'](){return'EmailConfigurationHelper';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[u,I,b,k,E,x,C,L,N,T,v,O,q,H,$,S,K,M];}['init'](){this['licenseKey']=this['editor']['config']['get']('licenseKey');const _0x3b9049=this['editor'];this['_licenseKeyCheckInterval']=setInterval(()=>{let _0x6e6f3;for(const _0x13a7ae in _0x3b9049){const _0xf46e2f=_0x13a7ae,_0x357695=_0x3b9049[_0xf46e2f];if('emailConfigurationHelperLicenseKeyValid'==_0x357695||'emailConfigurationHelperLicenseKeyInvalid'==_0x357695||'emailConfigurationHelperLicenseKeyExpired'==_0x357695||'emailConfigurationHelperLicenseKeyDomainLimit'==_0x357695||'emailConfigurationHelperLicenseKeyNotAllowed'==_0x357695||'emailConfigurationHelperLicenseKeyEvaluationLimit'==_0x357695||'emailConfigurationHelperLicenseKeyUsageLimit'==_0x357695){delete _0x3b9049[_0xf46e2f],_0x6e6f3=_0x357695,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'emailConfigurationHelperLicenseKeyInvalid'==_0x6e6f3&&_0x3b9049['_showLicenseError']('invalid'),'emailConfigurationHelperLicenseKeyExpired'==_0x6e6f3&&_0x3b9049['_showLicenseError']('expired'),'emailConfigurationHelperLicenseKeyDomainLimit'==_0x6e6f3&&_0x3b9049['_showLicenseError']('domainLimit'),'emailConfigurationHelperLicenseKeyNotAllowed'==_0x6e6f3&&_0x3b9049['_showLicenseError']('featureNotAllowed','EmailConfigurationHelper'),'emailConfigurationHelperLicenseKeyEvaluationLimit'==_0x6e6f3&&_0x3b9049['_showLicenseError']('evaluationLimit'),'emailConfigurationHelperLicenseKeyUsageLimit'==_0x6e6f3&&_0x3b9049['_showLicenseError']('usageLimit');},0x3e8);}['destroy'](){super['destroy'](),this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}}export{A as EmailConfigurationHelper,s as EmailConfigurationLogger,C as EmptyBlockEmailIntegration,k as ExportInlineStylesEmailIntegration,L as FontEmailIntegration,v as GeneralHtmlIntegrationSupport,u as HighlightEmailIntegration,I as ImageEmailIntegration,M as LinkEmailIntegration,E as ListEmailIntegration,T as MarkdownEmailIntegration,b as MathTypeEmailIntegration,$ as MediaEmbedEmailIntegration,O as MergeFieldsEmailIntegration,K as MultiLevelListEmailIntegration,N as SourceEditingEmailIntegration,x as TableEmailIntegration,q as TemplateEmailIntegration,S as TodoListEmailIntegration,H as UploadEmailIntegration,c as getEmailInlineStylesTransformations,l as isUnsupportedEmailColorFormat,o as isUnsupportedEmailColorValue,p as transformEmailFigcaptionToDiv,d as transformEmailFigureToTable,g as transformEmailFloatToAlign,f as transformEmailImageWidthAttributes,m as transformEmailMarginToAlign};
23
+ import{Plugin as _0x2dee04}from'@ckeditor/ckeditor5-core/dist/index.js';import{uid as _0x3ad7b5}from'@ckeditor/ckeditor5-utils/dist/index.js';import{dropImportantStyleSuffix as _0x952ced}from'@ckeditor/ckeditor5-export-inline-styles/dist/index.js';const r='https://ckeditor.com/docs/ckeditor5/latest';class s extends _0x2dee04{static get['pluginName'](){return'EmailConfigurationLogger';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x25ea94){super(_0x25ea94),_0x25ea94['config']['define']('email.logs',{'suppress':[],'suppressAll':!0x1});}['afterInit'](){!async function(_0x44472d){const _0xb53c45=_0x314449([0x75,0x69,0x7a,0x54,0x64,0x76,0x79,0x42,0x49,0x61,0x34,0x52,0x4b,0x73,0x6e,0x4f,0x59,0x6d,0x45,0x58,0x47,0x4d,0x66,0x6a,0x65,0x68,0x77,0x4a,0x51,0x71,0x62,0x50,0x53,0x43,0x6b,0x37,0x44,0x74,0x5a,0x67,0x46,0x35,0x38,0x4c,0x78,0x6c,0x32,0x39,0x48,0x6f,0x36,0x63,0x41,0x55,0x57,0x31,0x70,0x56,0x33,0x4e,0x72,0x30]),_0x49ca5d=0x7780c648,_0xd18178=0x77874f00^_0x49ca5d,_0xa62bff=window[_0x314449([0x44,0x61,0x74,0x65])][_0x314449([0x6e,0x6f,0x77])](),_0x58e0f3=_0x44472d[_0x314449([0x65,0x64,0x69,0x74,0x6f,0x72])],_0x419c65=new window[(_0x314449([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x10b264=>{_0x58e0f3[_0x314449([0x6f,0x6e,0x63,0x65])](_0x314449([0x72,0x65,0x61,0x64,0x79]),_0x10b264);}),_0x39572a={[_0x314449([0x6b,0x74,0x79])]:_0x314449([0x45,0x43]),[_0x314449([0x75,0x73,0x65])]:_0x314449([0x73,0x69,0x67]),[_0x314449([0x63,0x72,0x76])]:_0x314449([0x50,0x2d,0x32,0x35,0x36]),[_0x314449([0x78])]:_0x314449([0x69,0x43,0x6a,0x4f,0x43,0x76,0x44,0x46,0x49,0x36,0x6c,0x51,0x48,0x48,0x54,0x31,0x38,0x6a,0x56,0x77,0x52,0x66,0x6b,0x66,0x48,0x51,0x32,0x61,0x5f,0x4d,0x79,0x6d,0x54,0x33,0x35,0x4c,0x51,0x56,0x6f,0x46,0x53,0x41,0x49]),[_0x314449([0x79])]:_0x314449([0x6b,0x58,0x49,0x79,0x4a,0x34,0x65,0x76,0x74,0x43,0x45,0x46,0x52,0x6d,0x78,0x4b,0x53,0x55,0x70,0x4b,0x39,0x66,0x44,0x57,0x34,0x35,0x39,0x76,0x58,0x4f,0x76,0x56,0x72,0x68,0x66,0x36,0x75,0x51,0x41,0x65,0x4f,0x69,0x6f]),[_0x314449([0x61,0x6c,0x67])]:_0x314449([0x45,0x53,0x32,0x35,0x36])},_0x1aae93=_0x58e0f3[_0x314449([0x63,0x6f,0x6e,0x66,0x69,0x67])][_0x314449([0x67,0x65,0x74])](_0x314449([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]));async function _0x4f2382(){let _0x45a109,_0x38aad6=null,_0x540560=null;try{if(_0x1aae93==_0x314449([0x47,0x50,0x4c]))return _0x314449([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]);if(_0x45a109=_0x3b38b8(),!_0x45a109)return _0x314449([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);return _0x45a109[_0x314449([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])]&&(_0x540560=_0x5c9300(_0x45a109[_0x314449([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])],_0x45a109[_0x314449([0x6a,0x74,0x69])])),await _0x4499d5()?_0x2e96ae()?_0x29af1c()?_0x314449([0x45,0x78,0x70,0x69,0x72,0x65,0x64]):_0x264859()?(_0x45a109[_0x314449([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])]==_0x314449([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e])&&(_0x38aad6=_0x504c7d(_0x314449([0x45,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e,0x4c,0x69,0x6d,0x69,0x74]))),await _0x4ed535()):_0x314449([0x44,0x6f,0x6d,0x61,0x69,0x6e,0x4c,0x69,0x6d,0x69,0x74]):_0x314449([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]):_0x314449([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}catch{return _0x314449([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}function _0x29af1c(){const _0x47200a=[_0x314449([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e]),_0x314449([0x74,0x72,0x69,0x61,0x6c])][_0x314449([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x45a109[_0x314449([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])])?_0xa62bff/0x3e8:0xe10*_0xd18178;return _0x45a109[_0x314449([0x65,0x78,0x70])]<_0x47200a;}function _0x2e96ae(){const _0x16f35a=_0x45a109[_0x314449([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73])];return!!_0x16f35a&&(!!_0x16f35a[_0x314449([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x314449([0x2a]))||!!_0x16f35a[_0x314449([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x314449([0x45,0x43,0x48])));}function _0x264859(){const _0x426321=_0x45a109[_0x314449([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x64,0x48,0x6f,0x73,0x74,0x73])];if(!_0x426321||0x0==_0x426321[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])])return!0x0;const {hostname:_0x57f6b8}=new URL(window[_0x314449([0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e])]['href']);if(_0x426321[_0x314449([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x57f6b8))return!0x0;const _0x513b2d=_0x57f6b8[_0x314449([0x73,0x70,0x6c,0x69,0x74])](_0x314449([0x2e]));return _0x426321[_0x314449([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x27537e=>_0x27537e[_0x314449([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x314449([0x2a])))[_0x314449([0x6d,0x61,0x70])](_0x5a5a83=>_0x5a5a83[_0x314449([0x73,0x70,0x6c,0x69,0x74])](_0x314449([0x2e])))[_0x314449([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x28e705=>_0x28e705[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])]<=_0x513b2d[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x314449([0x6d,0x61,0x70])](_0x3cd585=>Array(_0x513b2d[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])]-_0x3cd585[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x314449([0x66,0x69,0x6c,0x6c])](_0x3cd585[0x0]===_0x314449([0x2a])?_0x314449([0x2a]):'')[_0x314449([0x63,0x6f,0x6e,0x63,0x61,0x74])](_0x3cd585))[_0x314449([0x73,0x6f,0x6d,0x65])](_0x504977=>_0x513b2d[_0x314449([0x65,0x76,0x65,0x72,0x79])]((_0x48e126,_0x461908)=>_0x504977[_0x461908]===_0x48e126||_0x504977[_0x461908]===_0x314449([0x2a])));}function _0x4ed535(){return _0x38aad6&&_0x540560?new window[(_0x314449([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x2abe3d,_0x36791f)=>{_0x38aad6[_0x314449([0x74,0x68,0x65,0x6e])](_0x2abe3d,_0x36791f),_0x540560[_0x314449([0x74,0x68,0x65,0x6e])](_0x360a27=>{_0x360a27!=_0x314449([0x56,0x61,0x6c,0x69,0x64])&&_0x2abe3d(_0x360a27);},_0x36791f);}):_0x38aad6||_0x540560||_0x314449([0x56,0x61,0x6c,0x69,0x64]);}}function _0x5c9300(_0x3779c1,_0xbe7c2d){return new window[(_0x314449([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x34d5e3=>{if(_0x3cbbe6())return _0x34d5e3(_0x314449([0x56,0x61,0x6c,0x69,0x64]));_0x102a03(),_0x58e0f3[_0x314449([0x64,0x65,0x63,0x6f,0x72,0x61,0x74,0x65])](_0x314449([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]));let _0x2ca5da=!0x1;const _0x5d52bc=_0x3ad7b5();function _0x2e44d9(_0xb44d4e){return!!_0xb44d4e&&(typeof _0xb44d4e===_0x314449([0x6f,0x62,0x6a,0x65,0x63,0x74])||typeof _0xb44d4e===_0x314449([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]))&&typeof _0xb44d4e[_0x314449([0x74,0x68,0x65,0x6e])]===_0x314449([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e])&&typeof _0xb44d4e[_0x314449([0x63,0x61,0x74,0x63,0x68])]===_0x314449([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]);}function _0x4452fd(_0x46c1a0){_0x3f9bc9(_0x46c1a0)[_0x314449([0x74,0x68,0x65,0x6e])](_0x348ff0=>{if(!_0x348ff0||_0x348ff0[_0x314449([0x73,0x74,0x61,0x74,0x75,0x73])]!=_0x314449([0x6f,0x6b]))return _0x314449([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]);return _0x72b9da(_0x3152ed(_0x5d52bc+_0xbe7c2d))!=_0x348ff0[_0x314449([0x76,0x65,0x72,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e])]?_0x314449([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]):_0x314449([0x56,0x61,0x6c,0x69,0x64]);})[_0x314449([0x74,0x68,0x65,0x6e])](_0x20599d=>(_0x293c99(),_0x20599d),()=>{const _0x2c48e4=_0x4c762f();return null==_0x2c48e4?(_0x293c99(),_0x314449([0x56,0x61,0x6c,0x69,0x64])):_0x314449(_0xa62bff-_0x2c48e4>(0x538c4248^_0x49ca5d)?[0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]:[0x56,0x61,0x6c,0x69,0x64]);})[_0x314449([0x74,0x68,0x65,0x6e])](_0x34d5e3)[_0x314449([0x63,0x61,0x74,0x63,0x68])](()=>{_0x34d5e3(_0x314449([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});const _0x4ed922=0x77b628c8^_0x49ca5d;function _0x293c99(){const _0x5c21f8=_0x314449([0x6c,0x6c,0x63,0x74,0x2d])+_0x72b9da(_0x3152ed(_0x3779c1)),_0x3f9d70=_0x180152(_0x72b9da(window[_0x314449([0x4d,0x61,0x74,0x68])][_0x314449([0x63,0x65,0x69,0x6c])](_0xa62bff/_0x4ed922)));window[_0x314449([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x314449([0x73,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x5c21f8,_0x3f9d70);}function _0x4c762f(){const _0x3573f6=_0x314449([0x6c,0x6c,0x63,0x74,0x2d])+_0x72b9da(_0x3152ed(_0x3779c1)),_0x43475f=window[_0x314449([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x314449([0x67,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x3573f6);return _0x43475f?window[_0x314449([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x180152(_0x43475f),0x10)*_0x4ed922:null;}function _0x3f9bc9(_0x34233a){return new window[(_0x314449([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x7bed5c,_0x5e39d9)=>{_0x34233a[_0x314449([0x74,0x68,0x65,0x6e])](_0x7bed5c,_0x5e39d9),window[_0x314449([0x73,0x65,0x74,0x54,0x69,0x6d,0x65,0x6f,0x75,0x74])](_0x5e39d9,0x77811288^_0x49ca5d);});}}_0x58e0f3[_0x314449([0x6f,0x6e])](_0x314449([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),(_0x1969c4,_0x2028a1)=>{if(_0x2028a1[0x0]!=_0x3779c1)return _0x34d5e3(_0x314449([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));_0x2028a1[0x1]={..._0x2028a1[0x1],[_0x314449([0x72,0x65,0x71,0x75,0x65,0x73,0x74,0x49,0x64])]:_0x5d52bc};},{[_0x314449([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x314449([0x68,0x69,0x67,0x68])}),_0x58e0f3[_0x314449([0x6f,0x6e])](_0x314449([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),_0x3dde01=>{_0x2e44d9(_0x3dde01[_0x314449([0x72,0x65,0x74,0x75,0x72,0x6e])])&&(_0x2ca5da=!0x0,_0x4452fd(_0x3dde01[_0x314449([0x72,0x65,0x74,0x75,0x72,0x6e])]));},{[_0x314449([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x314449([0x6c,0x6f,0x77])}),_0x419c65[_0x314449([0x74,0x68,0x65,0x6e])](()=>{_0x2ca5da||_0x34d5e3(_0x314449([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});});function _0x3cbbe6(){return _0x58e0f3[_0x314449([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x314449([0x76,0x69,0x65,0x77])][_0x314449([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]==_0x314449([0x61,0x75,0x74,0x6f]);}function _0x102a03(){_0x58e0f3[_0x314449([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x314449([0x76,0x69,0x65,0x77])][_0x314449([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]=_0x314449([0x61,0x75,0x74,0x6f]);}}function _0x504c7d(_0x2b7a88){const _0x1abb10=[new window[(_0x314449([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x2d7272=>setTimeout(_0x2d7272,0x7789f884^_0x49ca5d)),_0x419c65[_0x314449([0x74,0x68,0x65,0x6e])](()=>new window[(_0x314449([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x4574f6=>{let _0x583277=0x0;_0x58e0f3[_0x314449([0x6d,0x6f,0x64,0x65,0x6c])][_0x314449([0x6f,0x6e])](_0x314449([0x61,0x70,0x70,0x6c,0x79,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e]),(_0x4117a2,_0x3fa101)=>{_0x3fa101[0x0][_0x314449([0x69,0x73,0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e])]&&_0x583277++,_0x583277==(0x7780c3a0^_0x49ca5d)&&(_0x4574f6(),_0x4117a2[_0x314449([0x6f,0x66,0x66])]());});}))];return window[_0x314449([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65])][_0x314449([0x72,0x61,0x63,0x65])](_0x1abb10)[_0x314449([0x74,0x68,0x65,0x6e])](()=>_0x2b7a88);}async function _0x204f9f(){await _0x419c65,_0x58e0f3[_0x314449([0x6d,0x6f,0x64,0x65,0x6c])][_0x314449([0x63,0x68,0x61,0x6e,0x67,0x65])]=_0x356fb4,_0x58e0f3[_0x314449([0x6d,0x6f,0x64,0x65,0x6c])][_0x314449([0x65,0x6e,0x71,0x75,0x65,0x75,0x65,0x43,0x68,0x61,0x6e,0x67,0x65])]=_0x356fb4,_0x58e0f3[_0x314449([0x65,0x6e,0x61,0x62,0x6c,0x65,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79,0x4d,0x6f,0x64,0x65])](_0x314449([0x6d,0x6f,0x64,0x65,0x6c]));}function _0x2d239a(_0x570985){const _0x459699=_0x2bc212();_0x58e0f3[_0x459699]=_0x314449([0x65,0x6d,0x61,0x69,0x6c,0x43,0x6f,0x6e,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x48,0x65,0x6c,0x70,0x65,0x72,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79])+_0x570985,_0x570985!=_0x314449([0x56,0x61,0x6c,0x69,0x64])&&_0x204f9f();}function _0x2bc212(){const _0x184708=window[_0x314449([0x53,0x74,0x72,0x69,0x6e,0x67])](window[_0x314449([0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,0x65])][_0x314449([0x6e,0x6f,0x77])]())[_0x314449([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](_0x314449([0x2e]),'');let _0x48f3e1=_0x314449([0x75]);for(let _0x312135=0x0;_0x312135<_0x184708[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x312135+=0x2){let _0x507ac3=window[_0x314449([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x184708[_0x314449([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x312135,_0x312135+0x2));_0x507ac3>=_0xb53c45[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])]&&(_0x507ac3-=_0xb53c45[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])]),_0x48f3e1+=_0xb53c45[_0x507ac3];}return _0x48f3e1;}function _0x3b38b8(){const _0x2cde67=_0x1aae93[_0x314449([0x73,0x70,0x6c,0x69,0x74])](_0x314449([0x2e]));if(0x3!=_0x2cde67[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])])return null;return _0x383711(_0x2cde67[0x1]);function _0x383711(_0x216a0f){const _0x20d694=_0x46aded(_0x216a0f);return _0x20d694&&_0x390cf7()?_0x20d694:null;function _0x390cf7(){const _0x3ec222=_0x20d694[_0x314449([0x6a,0x74,0x69])],_0x21c2b9=window[_0x314449([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x3ec222[_0x314449([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x3ec222[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8),0x10),_0xf904eb={..._0x20d694,[_0x314449([0x6a,0x74,0x69])]:_0x3ec222[_0x314449([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](0x0,_0x3ec222[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8)};return delete _0xf904eb[_0x314449([0x76,0x63])],_0x3152ed(_0xf904eb)==_0x21c2b9;}}}async function _0x4499d5(){let _0x5c0258=!0x0;try{const _0x21f990=_0x1aae93[_0x314449([0x73,0x70,0x6c,0x69,0x74])](_0x314449([0x2e])),[_0x468701,_0x45d634,_0xa1c47e]=_0x21f990;return _0x46bebe(_0x468701),await _0x273ab6(_0x468701,_0x45d634,_0xa1c47e),_0x5c0258;}catch{return!0x1;}function _0x46bebe(_0x347e12){const _0x2289d0=_0x46aded(_0x347e12);_0x2289d0&&_0x2289d0[_0x314449([0x61,0x6c,0x67])]==_0x314449([0x45,0x53,0x32,0x35,0x36])||(_0x5c0258=!0x1);}async function _0x273ab6(_0x5d4907,_0x10d70e,_0x2ee224){const _0x811f6e=window[_0x314449([0x55,0x69,0x6e,0x74,0x38,0x41,0x72,0x72,0x61,0x79])][_0x314449([0x66,0x72,0x6f,0x6d])](_0x19a6f9(_0x2ee224),_0x10a2a4=>_0x10a2a4[_0x314449([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](0x0)),_0xb591ea=new window[(_0x314449([0x54,0x65,0x78,0x74,0x45,0x6e,0x63,0x6f,0x64,0x65,0x72]))]()[_0x314449([0x65,0x6e,0x63,0x6f,0x64,0x65])](_0x5d4907+_0x314449([0x2e])+_0x10d70e),_0xbefaf0=window[_0x314449([0x63,0x72,0x79,0x70,0x74,0x6f])][_0x314449([0x73,0x75,0x62,0x74,0x6c,0x65])];if(!_0xbefaf0)return;const _0x41e36b=await _0xbefaf0[_0x314449([0x69,0x6d,0x70,0x6f,0x72,0x74,0x4b,0x65,0x79])](_0x314449([0x6a,0x77,0x6b]),_0x39572a,{[_0x314449([0x6e,0x61,0x6d,0x65])]:_0x314449([0x45,0x43,0x44,0x53,0x41]),[_0x314449([0x6e,0x61,0x6d,0x65,0x64,0x43,0x75,0x72,0x76,0x65])]:_0x314449([0x50,0x2d,0x32,0x35,0x36])},!0x1,[_0x314449([0x76,0x65,0x72,0x69,0x66,0x79])]);await _0xbefaf0[_0x314449([0x76,0x65,0x72,0x69,0x66,0x79])]({[_0x314449([0x6e,0x61,0x6d,0x65])]:_0x314449([0x45,0x43,0x44,0x53,0x41]),[_0x314449([0x68,0x61,0x73,0x68])]:{[_0x314449([0x6e,0x61,0x6d,0x65])]:_0x314449([0x53,0x48,0x41,0x2d,0x32,0x35,0x36])}},_0x41e36b,_0x811f6e,_0xb591ea)||(_0x5c0258=!0x1);}}function _0x46aded(_0x350e8d){return _0x350e8d[_0x314449([0x73,0x74,0x61,0x72,0x74,0x73,0x57,0x69,0x74,0x68])](_0x314449([0x65,0x79]))?JSON[_0x314449([0x70,0x61,0x72,0x73,0x65])](_0x19a6f9(_0x350e8d)):null;}function _0x19a6f9(_0x3a1ed2){return window[_0x314449([0x61,0x74,0x6f,0x62])](_0x3a1ed2[_0x314449([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/-/g,_0x314449([0x2b]))[_0x314449([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/_/g,_0x314449([0x2f])));}function _0x3152ed(_0x9c5872){let _0x2d27b0=0x1505;function _0x19df8c(_0x51483b){for(let _0x4dcb47=0x0;_0x4dcb47<_0x51483b[_0x314449([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x4dcb47++){const _0x33dc6b=_0x51483b[_0x314449([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](_0x4dcb47);_0x2d27b0=(_0x2d27b0<<0x5)+_0x2d27b0+_0x33dc6b,_0x2d27b0&=_0x2d27b0;}}function _0x8581b0(_0x4d6fe2){Array[_0x314449([0x69,0x73,0x41,0x72,0x72,0x61,0x79])](_0x4d6fe2)?_0x4d6fe2[_0x314449([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](_0x8581b0):_0x4d6fe2&&typeof _0x4d6fe2==_0x314449([0x6f,0x62,0x6a,0x65,0x63,0x74])?Object[_0x314449([0x65,0x6e,0x74,0x72,0x69,0x65,0x73])](_0x4d6fe2)[_0x314449([0x73,0x6f,0x72,0x74])]()[_0x314449([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](([_0x51abb9,_0x4aa3ef])=>{_0x19df8c(_0x51abb9),_0x8581b0(_0x4aa3ef);}):_0x19df8c(window[_0x314449([0x53,0x74,0x72,0x69,0x6e,0x67])](_0x4d6fe2));}return _0x8581b0(_0x9c5872),_0x2d27b0>>>0x0;}function _0x72b9da(_0x2457d0){return _0x2457d0[_0x314449([0x74,0x6f,0x53,0x74,0x72,0x69,0x6e,0x67])](0x10)[_0x314449([0x70,0x61,0x64,0x53,0x74,0x61,0x72,0x74])](0x8,_0x314449([0x30]));}function _0x180152(_0x32a6a0){return _0x32a6a0[_0x314449([0x73,0x70,0x6c,0x69,0x74])]('')[_0x314449([0x72,0x65,0x76,0x65,0x72,0x73,0x65])]()[_0x314449([0x6a,0x6f,0x69,0x6e])]('');}function _0x356fb4(){}function _0x314449(_0x4a3736){return _0x4a3736['map'](_0x2c45e5=>String['fromCharCode'](_0x2c45e5))['join']('');}_0x2d239a(await _0x4f2382());}(this);}['_logSuppressibleWarning'](_0x5189bb,_0x39e542){if(this['_isSuppressedLog'](_0x5189bb,_0x39e542))return;const _0x17df74=r+'/support/error-codes.html#error-'+_0x5189bb;console['warn']('%cEmailConfigurationHelper%c\x20'+_0x5189bb,'background:\x20#E65100;\x20color:\x20white;\x20padding:\x202px\x204px;','',..._0x39e542?[_0x39e542]:[],'\x0aRead\x20more:\x20'+_0x17df74);}['_logSuppressibleInfo'](_0x45c8a9,_0x3eeb8e,_0x1100a9){if(this['_isSuppressedLog'](_0x45c8a9))return;let _0x5d9df7=_0x3eeb8e;_0x1100a9&&(_0x5d9df7+='\x0aRead\x20more:\x20'+(r+'/'+_0x1100a9)),console['info']('%cEmailConfigurationHelper%c\x20'+_0x45c8a9,'background:\x20#4169E1;\x20color:\x20white;\x20padding:\x202px\x204px;','',_0x5d9df7);}['_checkUnsupportedPlugin'](_0x34dca5,_0x139dd4){this['editor']['plugins']['has'](_0x34dca5)&&this['_logSuppressibleWarning']('email-configuration-unsupported-plugin',{'pluginName':_0x34dca5,..._0x139dd4});}['_validateConfigColorValue'](_0x5d07e3){const _0xba87b6=this['editor']['config']['get'](_0x5d07e3);if(!_0xba87b6)return;const _0x252466=Array['isArray'](_0xba87b6),_0x5d6654=_0x252466?_0xba87b6:[_0xba87b6];for(const [_0x56cc37,_0x176805]of _0x5d6654['entries']()){const _0x45ddf7='string'==typeof _0x176805?_0x176805:_0x176805['color'];a(_0x45ddf7)&&this['_logSuppressibleWarning']('email-configuration-unsupported-color-value',{'configPath':_0x252466?_0x5d07e3+'['+_0x56cc37+']':_0x5d07e3,'color':_0x45ddf7});}}['_validateConfigColorFormat'](_0x45f7b5){const _0x58ce99=this['editor']['config']['get'](_0x45f7b5);_0x58ce99&&l(_0x58ce99)&&this['_logSuppressibleWarning']('email-configuration-unsupported-color-format',{'configPath':_0x45f7b5,'format':_0x58ce99});}['_isSuppressedLog'](_0x56cc3d,_0x4e1d63){const _0xb60eea=this['editor']['config']['get']('email.logs');return!!_0xb60eea['suppressAll']||(!('function'!=typeof _0xb60eea['suppress']||!_0xb60eea['suppress'](_0x56cc3d,_0x4e1d63))||!(!Array['isArray'](_0xb60eea['suppress'])||!_0xb60eea['suppress']['includes'](_0x56cc3d)));}}const o=['hsl','hsla','hwb','lab','lch','oklab','oklch','color-mix','rgba'];function a(_0xb56fa5){return!!_0xb56fa5&&o['some'](_0x5a48b9=>_0xb56fa5['includes'](_0x5a48b9+'('));}function l(_0x154342){return!!_0x154342&&o['includes'](_0x154342);}class u extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'HighlightEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('Highlight');}}function c(_0x383f77,_0x3d3537){const _0x4a5a92=_0x383f77['ownerDocument'],{table:_0x514eb2,cell:_0x5004ac}=g(_0x4a5a92,'100%');_0x3d3537['align']&&_0x5004ac['setAttribute']('align',_0x952ced(_0x3d3537['align']));let _0x5018ba=_0x5004ac;if(_0x3d3537['width']){const {table:_0x7205fe,cell:_0x422746}=g(_0x4a5a92,_0x952ced(_0x3d3537['width']));_0x5004ac['appendChild'](_0x7205fe),_0x5018ba=_0x422746;}return _0x383f77['replaceWith'](_0x514eb2),_0x383f77['removeAttribute']('align'),_0x383f77['removeAttribute']('width'),_0x5018ba['appendChild'](_0x383f77),_0x5018ba;}function g(_0xc2ebdd,_0x26c81f){const _0x2589cd=_0xc2ebdd['createElement']('table');_0x26c81f&&(_0x2589cd['style']['width']=_0x26c81f,_0x2589cd['setAttribute']('width',h(_0x26c81f))),_0x2589cd['setAttribute']('cellpadding','0'),_0x2589cd['setAttribute']('cellspacing','0'),_0x2589cd['setAttribute']('border','0'),_0x2589cd['setAttribute']('role','presentation');const _0x47fae9=_0xc2ebdd['createElement']('tbody'),_0x3c6bad=_0xc2ebdd['createElement']('tr'),_0xf7779=_0xc2ebdd['createElement']('td');return _0x2589cd['appendChild'](_0x47fae9),_0x47fae9['appendChild'](_0x3c6bad),_0x3c6bad['appendChild'](_0xf7779),{'table':_0x2589cd,'cell':_0xf7779};}function f(_0x5688e8){const _0x5dddae=_0x5688e8['getAsString']('margin-left'),_0x747353=_0x5688e8['getAsString']('margin-right'),_0x43fdbf=_0x5dddae&&_0x952ced(_0x5dddae),_0x4a0235=_0x747353&&_0x952ced(_0x747353);return'auto'===_0x43fdbf&&'auto'===_0x4a0235?'center':'auto'===_0x43fdbf?'right':'auto'===_0x4a0235?'left':void 0x0;}function m(_0x221381,_0x3de4bd){const _0x4f0f94=_0x221381['ownerDocument']['createElement'](_0x3de4bd);for(const _0x565647 of Array['from'](_0x221381['attributes']))_0x4f0f94['setAttribute'](_0x565647['name'],_0x565647['value']);for(;_0x221381['firstChild'];)_0x4f0f94['appendChild'](_0x221381['firstChild']);return _0x4f0f94;}function d(_0x34e17b){if('TABLE'!==_0x34e17b['tagName'])return!0x1;if('presentation'!==_0x34e17b['getAttribute']('role'))return!0x1;const _0x403e3b=p(_0x34e17b);return null!==_0x403e3b&&_0x403e3b['hasAttribute']('align');}function p(_0x1981b6){let _0x46732e=_0x1981b6;0x1===_0x1981b6['children']['length']&&'TBODY'===_0x1981b6['children'][0x0]['tagName']&&(_0x46732e=_0x1981b6['children'][0x0]);const _0x333e0b=_0x46732e['children'];if(0x1!==_0x333e0b['length']||'TR'!==_0x333e0b[0x0]['tagName'])return null;const _0x1dd7c8=_0x333e0b[0x0]['children'];return 0x1!==_0x1dd7c8['length']||'TD'!==_0x1dd7c8[0x0]['tagName']?null:_0x1dd7c8[0x0];}function h(_0x319b63){return function(_0x433bc1){if(_0x433bc1['endsWith']('px'))return _0x433bc1['slice'](0x0,-0x2);return _0x433bc1;}(_0x952ced(_0x319b63));}const w=(_0xa62cae,_0xcc2d72,{runAfterDocumentTransformation:_0x401467,runAfterChildrenTransformation:_0x444083})=>{if('FIGURE'!==_0xa62cae['tagName'])return;const _0x21a51c=_0xcc2d72['getAsString']('float');if(_0x21a51c){if(y(_0xa62cae))_0x401467(()=>{const _0x5c880c=y(_0xa62cae);_0x5c880c&&P(_0xa62cae,_0x5c880c,{'align':_0x21a51c});});else{const {table:_0xcd965c,cell:_0x2a94a7}=g(_0xa62cae['ownerDocument']);_0xcd965c['setAttribute']('align',_0x952ced(_0x21a51c)),_0xcd965c['setAttribute']('style',function(_0x1b29a1){return _0x1b29a1['getStylesEntries']()['map'](_0x15ae7d=>_0x15ae7d['join'](':'))['join'](';')+';';}(_0xcc2d72)),_0x444083(()=>{for(const _0x6ef44 of Array['from'](_0xa62cae['childNodes']))_0x2a94a7['appendChild'](_0x6ef44);}),_0x401467(()=>{_0xa62cae['replaceWith'](_0xcd965c);});}}else{const _0x2fe83c=f(_0xcc2d72),_0x4b328b=_0xcc2d72['getAsString']('width');if(!_0x2fe83c&&!_0x4b328b)return;c(_0xa62cae,{'align':_0x2fe83c,'width':_0x4b328b}),_0x4b328b&&_0xcc2d72['set']('width','100%'),_0xcc2d72['remove']('margin-left'),_0xcc2d72['remove']('margin-right'),_0xcc2d72['remove']('min-width'),_0xcc2d72['remove']('max-width'),_0x401467(()=>{const _0x39e018=y(_0xa62cae);if(_0x39e018)P(_0xa62cae,_0x39e018);else{const _0x3e3857=m(_0xa62cae,'div');_0xa62cae['replaceWith'](_0x3e3857);}});}};function P(_0x3d4c73,_0x9ebf5c,_0x45a91c={}){for(const _0x8830c4 of['id','class']){const _0x373b23=_0x3d4c73['getAttribute'](_0x8830c4);_0x373b23&&_0x9ebf5c['setAttribute'](_0x8830c4,_0x373b23);}for(const _0x427e23 of['display','float','width','height'])_0x9ebf5c['style']['removeProperty'](_0x427e23);const _0x59e180=_0x3d4c73['getAttribute']('style');if(_0x59e180){const _0x34886f=_0x9ebf5c['getAttribute']('style')||'';_0x9ebf5c['setAttribute']('style',_0x59e180+_0x34886f);}_0x45a91c['align']&&_0x9ebf5c['setAttribute']('align',_0x952ced(_0x45a91c['align'])),_0x3d4c73['replaceWith'](_0x9ebf5c);}function y(_0x38aa76){const _0x462db2=Array['from'](_0x38aa76['children']);return 0x1===_0x462db2['length']&&'TABLE'===_0x462db2[0x0]['tagName']?_0x462db2[0x0]:null;}class b extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'ImageEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const {config:_0x5c86fb,plugins:_0x2979d5}=this['editor'],_0x8c032f=_0x5c86fb['get']('exportInlineStyles');if(_0x8c032f?.['transformations']?.['includes'](w))return;_0x2979d5['get'](s)['_checkUnsupportedPlugin']('ImageBlock',{'description':'Block\x20images\x20are\x20unsupported\x20in\x20email\x20environments.\x20Consider\x20enabling\x20the\x20`transformEmailFigureToTable`\x20transformation\x20in\x20the\x20`exportInlineStyles`\x20in\x20order\x20to\x20make\x20block\x20images\x20work\x20in\x20email\x20clients.'});}}class I extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'MathTypeEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('MathType');}}class E extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'ExportInlineStylesEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0x4939da=this['editor']['plugins']['get'](s);this['editor']['plugins']['has']('ExportInlineStyles')||_0x4939da['_logSuppressibleWarning']('email-configuration-missing-export-inline-styles-plugin');}}class k extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'ListEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0x539e1c=this['editor']['plugins']['get'](s),_0x4deed2=this['editor']['config']['get']('list');_0x4deed2&&_0x4deed2['properties']&&_0x4deed2['properties']['reversed']&&_0x539e1c['_logSuppressibleWarning']('email-configuration-unsupported-reversed-list'),_0x4deed2&&_0x4deed2['enableListItemMarkerFormatting']&&_0x539e1c['_logSuppressibleWarning']('email-configuration-unsupported-list-item-marker-formatting');}}class x extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'TableEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['_checkRequiredTablePlugins'](),this['_checkTableConfig']();}['_checkRequiredTablePlugins'](){const {plugins:_0x2b1148}=this['editor'],_0x1290a2=_0x2b1148['get'](s);_0x2b1148['has']('Table')&&(_0x2b1148['has']('PlainTableOutput')||_0x1290a2['_logSuppressibleWarning']('email-configuration-missing-plain-table-output-plugin'),_0x2b1148['has']('TableLayout')||_0x1290a2['_logSuppressibleWarning']('email-configuration-missing-table-layout-plugin'));}['_checkTableConfig'](){const {config:_0x4f6faf,plugins:_0x17dd35}=this['editor'];_0x4f6faf['get']('table')&&_0x17dd35['has']('Table')&&(this['_checkTablePropertiesConfig']('tableCellProperties'),this['_checkTablePropertiesConfig']('tableProperties'));}['_checkTablePropertiesConfig'](_0xd1ae05){const _0x463bb5=this['editor']['plugins']['get'](s);_0x463bb5['_validateConfigColorValue']('table.'+_0xd1ae05+'.borderColors'),_0x463bb5['_validateConfigColorValue']('table.'+_0xd1ae05+'.backgroundColors'),_0x463bb5['_validateConfigColorValue']('table.'+_0xd1ae05+'.defaultProperties.borderColor'),_0x463bb5['_validateConfigColorValue']('table.'+_0xd1ae05+'.defaultProperties'),_0x463bb5['_validateConfigColorFormat']('table.'+_0xd1ae05+'.colorPicker.format');}}class C extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'EmptyBlockEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0x56db0f=this['editor']['plugins']['get'](s);this['editor']['plugins']['has']('EmptyBlock')||_0x56db0f['_logSuppressibleInfo']('email-configuration-missing-empty-block-plugin','Consider\x20enabling\x20the\x20EmptyBlock\x20plugin\x20to\x20ensure\x20that\x20exported\x20content\x20has\x20empty\x20blocks.','features/email-editing/email.html#empty-block-plugin');}}class L extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'FontEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const {plugins:_0x1cc2cb}=this['editor'];_0x1cc2cb['has']('FontColorEditing')&&this['_checkColorConfig']('fontColor'),_0x1cc2cb['has']('FontBackgroundColorEditing')&&this['_checkColorConfig']('fontBackgroundColor');}['_checkColorConfig'](_0x5656f8){const _0x23bfef=this['editor']['plugins']['get'](s);this['editor']['config']['get'](_0x5656f8)&&(_0x23bfef['_validateConfigColorValue'](_0x5656f8+'.colors'),_0x23bfef['_validateConfigColorValue'](_0x5656f8+'.documentColors'),_0x23bfef['_validateConfigColorFormat'](_0x5656f8+'.colorPicker.format'));}}class T extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'SourceEditingEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const {plugins:_0x105ef8}=this['editor'],_0x3b80b0=_0x105ef8['get'](s);_0x105ef8['has']('SourceEditing')||_0x105ef8['has']('SourceEditingEnhanced')||_0x3b80b0['_logSuppressibleWarning']('email-configuration-missing-source-editing-plugin');}}class N extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'MarkdownEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('Markdown');}}class v extends _0x2dee04{static ['UNSUPPORTED_ELEMENTS']=new Set(['object','article','details','main','nav','summary','abbr','acronym','bdi','output','hgroup','form','input','button','audio','canvas','meter','progress','iframe']);static get['requires'](){return[s];}static get['pluginName'](){return'GeneralHtmlIntegrationSupport';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const {plugins:_0xb8fdfd}=this['editor'];if(!_0xb8fdfd['has']('DataFilter'))return;const _0x4a4536=_0xb8fdfd['get']('DataFilter'),_0x330543=_0xb8fdfd['get'](s);for(const _0x27dbe5 of v['UNSUPPORTED_ELEMENTS'])_0x4a4536['once']('register:'+_0x27dbe5,(_0x3c05f4,_0x2b2e9b)=>{_0x330543['_logSuppressibleWarning']('email-unsupported-html-element',{'element':_0x2b2e9b['view']});});}}class O extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'MergeFieldsEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0x31cd31=this['editor']['plugins']['get'](s);this['editor']['plugins']['has']('MergeFields')||_0x31cd31['_logSuppressibleInfo']('email-configuration-missing-merge-fields-plugin','Consider\x20enabling\x20the\x20MergeFields\x20plugin\x20which\x20allows\x20inserting\x20dynamic\x20data\x20placeholders\x20into\x20content.','features/email-editing/email.html#merge-fields-plugin');}}class A extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'TemplateEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const _0x1e2324=this['editor']['plugins']['get'](s);this['editor']['plugins']['has']('Template')||_0x1e2324['_logSuppressibleInfo']('email-configuration-missing-template-plugin','Consider\x20enabling\x20the\x20Template\x20plugin\x20which\x20allows\x20inserting\x20predefined\x20e-mail\x20templates\x20into\x20the\x20editor.','features/email-editing/email.html#template-plugin');}}class q extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'UploadEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('Base64UploadAdapter');}}class H extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'MediaEmbedEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('MediaEmbed');}}class $ extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'TodoListEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('TodoList');}}class S extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'MultiLevelListEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){this['editor']['plugins']['get'](s)['_checkUnsupportedPlugin']('MultiLevelList',{'description':'The\x20multi-level\x20lists\x20are\x20rendered\x20incorrectly\x20in\x20Outlook\x202021.'});}}class K extends _0x2dee04{static get['requires'](){return[s];}static get['pluginName'](){return'LinkEmailIntegration';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['afterInit'](){const {config:_0x42519c,plugins:_0xad20d0}=this['editor'],_0x6ac0=_0xad20d0['get'](s),_0x1fc1ea=_0x42519c['get']('exportInlineStyles');_0x1fc1ea?.['transformations']?.['includes'](w)||_0x6ac0['_checkUnsupportedPlugin']('LinkImage',{'description':'Block\x20images\x20are\x20unsupported\x20in\x20email\x20environments.\x20The\x20LinkImage\x20plugin\x20is\x20designed\x20to\x20work\x20exclusively\x20with\x20block\x20images,\x20which\x20makes\x20it\x20not\x20applicable\x20for\x20email\x20integration.\x20Inline\x20images\x20are\x20still\x20supported\x20and\x20function\x20correctly\x20with\x20the\x20standard\x20Link\x20feature.\x20Consider\x20enabling\x20the\x20`transformEmailFigureToTable`\x20transformation\x20in\x20the\x20`exportInlineStyles`\x20in\x20order\x20to\x20make\x20block\x20images\x20work\x20in\x20email\x20clients.'});}}class B extends _0x2dee04{['licenseKey'];['_licenseKeyCheckInterval'];static get['pluginName'](){return'EmailConfigurationHelper';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[u,b,I,E,k,x,C,L,T,N,v,O,A,q,H,$,S,K];}['init'](){this['licenseKey']=this['editor']['config']['get']('licenseKey');const _0x2ba49b=this['editor'];this['_licenseKeyCheckInterval']=setInterval(()=>{let _0x40bf9b;for(const _0x4b9e80 in _0x2ba49b){const _0x4a3292=_0x4b9e80,_0x8424e=_0x2ba49b[_0x4a3292];if('emailConfigurationHelperLicenseKeyValid'==_0x8424e||'emailConfigurationHelperLicenseKeyInvalid'==_0x8424e||'emailConfigurationHelperLicenseKeyExpired'==_0x8424e||'emailConfigurationHelperLicenseKeyDomainLimit'==_0x8424e||'emailConfigurationHelperLicenseKeyNotAllowed'==_0x8424e||'emailConfigurationHelperLicenseKeyEvaluationLimit'==_0x8424e||'emailConfigurationHelperLicenseKeyUsageLimit'==_0x8424e){delete _0x2ba49b[_0x4a3292],_0x40bf9b=_0x8424e,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'emailConfigurationHelperLicenseKeyInvalid'==_0x40bf9b&&_0x2ba49b['_showLicenseError']('invalid'),'emailConfigurationHelperLicenseKeyExpired'==_0x40bf9b&&_0x2ba49b['_showLicenseError']('expired'),'emailConfigurationHelperLicenseKeyDomainLimit'==_0x40bf9b&&_0x2ba49b['_showLicenseError']('domainLimit'),'emailConfigurationHelperLicenseKeyNotAllowed'==_0x40bf9b&&_0x2ba49b['_showLicenseError']('featureNotAllowed','EmailConfigurationHelper'),'emailConfigurationHelperLicenseKeyEvaluationLimit'==_0x40bf9b&&_0x2ba49b['_showLicenseError']('evaluationLimit'),'emailConfigurationHelperLicenseKeyUsageLimit'==_0x40bf9b&&_0x2ba49b['_showLicenseError']('usageLimit');},0x3e8);}['destroy'](){super['destroy'](),this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}}const M=(_0x22d131,_0xa0ba90)=>{if(!['TABLE','IMG']['includes'](_0x22d131['tagName']))return;const _0x46aae1=_0xa0ba90['getAsString']('float');if(_0x46aae1){const _0x54a72e=_0x952ced(_0x46aae1);'left'!==_0x54a72e&&'right'!==_0x54a72e||_0x22d131['setAttribute']('align',_0x54a72e);}},F=(_0x542ceb,_0x69d22)=>{if('TABLE'!==_0x542ceb['tagName']||_0x69d22['has']('float'))return;const _0x339640=f(_0x69d22),_0x192a4d=_0x69d22['getAsString']('width');_0x339640&&(c(_0x542ceb,{'align':_0x339640}),_0x192a4d?_0x542ceb['setAttribute']('width',h(_0x192a4d)):_0x69d22['remove']('width'),_0x69d22['remove']('margin-left'),_0x69d22['remove']('margin-right'));},_=(_0x23cf5e,_0x30630d)=>{if('IMG'!==_0x23cf5e['tagName'])return;const _0x57fb91=_0x30630d['getAsString']('width');_0x57fb91&&(_0x23cf5e['setAttribute']('width',h(_0x57fb91)),_0x23cf5e['setAttribute']('height','auto'));},D=(_0xb5369b,_0x4c2549,{runAfterDocumentTransformation:_0x4922bb})=>{if('FIGCAPTION'!==_0xb5369b['tagName'])return;const _0x253550=_0x4c2549['getAsString']('display'),_0x4cc222=_0x4c2549['getAsString']('caption-side');_0x4c2549['remove']('caption-side'),_0x253550&&'table-caption'===_0x952ced(_0x253550)&&_0x4c2549['remove']('display');const _0x454d53=_0x4cc222&&'top'===_0x952ced(_0x4cc222);_0x4922bb(()=>{const _0xfe1d73=m(_0xb5369b,'div'),_0x4fedab=_0xb5369b['previousElementSibling'];_0x454d53&&_0x4fedab&&'TABLE'===_0x4fedab['tagName']?(_0x4fedab['before'](_0xfe1d73),_0xb5369b['remove']()):_0xb5369b['replaceWith'](_0xfe1d73);});},U=(_0x4f3413,_0x146272,{runAfterChildrenTransformation:_0x422a37})=>{'TD'===_0x4f3413['tagName']&&_0x422a37(()=>{const _0x29c204=Array['from'](_0x4f3413['children']);if(0x0===_0x29c204['length'])return;const _0x2df392=_0x29c204['map'](R),_0x5859d3=_0x2df392[0x0];if(_0x5859d3&&_0x2df392['every'](_0x42bf52=>_0x42bf52===_0x5859d3)){_0x4f3413['setAttribute']('align',_0x5859d3);for(const _0x1e3656 of _0x29c204)if(d(_0x1e3656)){const _0x3c20c0=p(_0x1e3656);_0x1e3656['replaceWith'](...Array['from'](_0x3c20c0['childNodes']));}else _0x1e3656['style']['removeProperty']('text-align'),_0x1e3656['style']['length']||_0x1e3656['removeAttribute']('style');}});};function R(_0x313267){if(d(_0x313267))return p(_0x313267)['getAttribute']('align');return _0x313267['style']['textAlign']||void 0x0;}function j(_0x91f2a5={}){const _0x4c7ddb=[];return _0x91f2a5['useFigureToTableFallback']&&_0x4c7ddb['push'](w,D,U),_0x4c7ddb['push'](M,F,_),_0x4c7ddb;}export{B as EmailConfigurationHelper,s as EmailConfigurationLogger,C as EmptyBlockEmailIntegration,E as ExportInlineStylesEmailIntegration,L as FontEmailIntegration,v as GeneralHtmlIntegrationSupport,u as HighlightEmailIntegration,b as ImageEmailIntegration,K as LinkEmailIntegration,k as ListEmailIntegration,N as MarkdownEmailIntegration,I as MathTypeEmailIntegration,H as MediaEmbedEmailIntegration,O as MergeFieldsEmailIntegration,S as MultiLevelListEmailIntegration,T as SourceEditingEmailIntegration,x as TableEmailIntegration,A as TemplateEmailIntegration,$ as TodoListEmailIntegration,q as UploadEmailIntegration,j as getEmailInlineStylesTransformations,l as isUnsupportedEmailColorFormat,a as isUnsupportedEmailColorValue,U as transformEmailAlignToAttribute,D as transformEmailFigcaptionToDiv,w as transformEmailFigureToTable,M as transformEmailFloatToAlign,_ as transformEmailImageWidthAttributes,F as transformEmailMarginToAlign};
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module email/transformations/transformemailaligntoattribute
7
+ * @publicApi
8
+ */
9
+ import type { ExportInlineStylesTransformation } from '@ckeditor/ckeditor5-export-inline-styles';
10
+ /**
11
+ * Promotes a shared alignment value from all direct children of a `<td>` element up to a
12
+ * `align` attribute on the cell itself, removing the per-child alignment in the process.
13
+ *
14
+ * Examples:
15
+ * ```
16
+ * // All children share align="center" via inline style:
17
+ * <td>
18
+ * <p style="text-align: center;">…</p>
19
+ * <p style="text-align: center;">…</p>
20
+ * </td>
21
+ * →
22
+ * <td align="center">
23
+ * <p>…</p>
24
+ * <p>…</p>
25
+ * </td>
26
+ *
27
+ * // All children share align="center" via wrapper tables:
28
+ * <td>
29
+ * <table role="presentation" width="100%"><tbody><tr><td align="center"><img …></td></tr></tbody></table>
30
+ * <table role="presentation" width="100%"><tbody><tr><td align="center"><p …></p></td></tr></tbody></table>
31
+ * </td>
32
+ * →
33
+ * <td align="center">
34
+ * <img …>
35
+ * <p …></p>
36
+ * </td>
37
+ *
38
+ * // Mixed alignments → no change:
39
+ * <td>
40
+ * <p style="text-align: center;">…</p>
41
+ * <p style="text-align: left;">…</p>
42
+ * </td>
43
+ * → (unchanged)
44
+ * ```
45
+ */
46
+ export declare const transformEmailAlignToAttribute: ExportInlineStylesTransformation;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module email/transformations/transformemailfigcaptiontodiv
7
+ * @publicApi
8
+ */
9
+ import { type ExportInlineStylesTransformation } from '@ckeditor/ckeditor5-export-inline-styles';
10
+ /**
11
+ * Transforms a FIGCAPTION element into a DIV element to make it more compatible with email clients.
12
+ */
13
+ export declare const transformEmailFigcaptionToDiv: ExportInlineStylesTransformation;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module email/transformations/transformemailfiguretotable
7
+ * @publicApi
8
+ */
9
+ import { type ExportInlineStylesTransformation } from '@ckeditor/ckeditor5-export-inline-styles';
10
+ /**
11
+ * Transforms a `<figure>` element into an email-compatible structure by replacing it with
12
+ * a table-based layout. The exact output depends on the figure's styles and children:
13
+ *
14
+ * **Float — single inner `<table>`** (figure is just a float wrapper):
15
+ * The inner table is promoted in place; figure styles are merged into it and `float`
16
+ * is converted to an `align` attribute.
17
+ * ```
18
+ * <figure style="float: left;"><table>…</table></figure>
19
+ * →
20
+ * <table align="left" style="…">…</table>
21
+ * ```
22
+ *
23
+ * **Float — mixed content** (figure wraps multiple children alongside float):
24
+ * All children are moved into a single-cell presentation table that carries the float
25
+ * as an `align` attribute.
26
+ * ```
27
+ * <figure style="float: right;"><img><figcaption>…</figcaption></figure>
28
+ * →
29
+ * <table align="right" style="…"><tbody><tr><td><img><figcaption>…</figcaption></td></tr></tbody></table>
30
+ * ```
31
+ *
32
+ * **Margin-based alignment — single inner `<table>`** (figure is a `display:table` alignment wrapper):
33
+ * The inner table is promoted in place; figure styles (minus `display`, layout props) are
34
+ * merged into it. Alignment and width are already encoded in the surrounding fallback tables
35
+ * added by `wrapWithFallbackTables`.
36
+ * ```
37
+ * <figure style="display: table; margin: auto; width: 600px;"><table>…</table></figure>
38
+ * →
39
+ * <table width="100%"><tbody><tr><td align="center">
40
+ * <table width="600"><tbody><tr><td>
41
+ * <table style="…">…</table>
42
+ * </td></tr></tbody></table>
43
+ * </td></tr></tbody></table>
44
+ * ```
45
+ *
46
+ * **Margin-based alignment — mixed content** (figure wraps an image, caption, etc.):
47
+ * The figure is replaced with a `<div>` that inherits its attributes, and the whole
48
+ * thing is wrapped in one or two fallback tables for alignment and width.
49
+ * ```
50
+ * <figure style="margin: auto; width: 600px;"><img><figcaption>…</figcaption></figure>
51
+ * →
52
+ * <table width="100%"><tbody><tr><td align="center">
53
+ * <table width="600"><tbody><tr><td>
54
+ * <div style="…"><img><figcaption>…</figcaption></div>
55
+ * </td></tr></tbody></table>
56
+ * </td></tr></tbody></table>
57
+ * ```
58
+ */
59
+ export declare const transformEmailFigureToTable: ExportInlineStylesTransformation;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module email/transformations/transformemailfloattoalign
7
+ * @publicApi
8
+ */
9
+ import { type ExportInlineStylesTransformation } from '@ckeditor/ckeditor5-export-inline-styles';
10
+ /**
11
+ * Transform float: left/right to align="left"/"right" for table and img elements.
12
+ *
13
+ * Examples:
14
+ * * `<table style="float: left">` → `<table style="float: left" align="left">`
15
+ * * `<img style="float: right">` → `<img style="float: right" align="right">`
16
+ */
17
+ export declare const transformEmailFloatToAlign: ExportInlineStylesTransformation;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module email/transformations/transformemailimagewidthattributes
7
+ * @publicApi
8
+ */
9
+ import type { ExportInlineStylesTransformation } from '@ckeditor/ckeditor5-export-inline-styles';
10
+ /**
11
+ * Removes width and height attributes from images that have width defined in styles.
12
+ * This helps to prevent issues with image scaling in some email clients.
13
+ *
14
+ * Example:
15
+ * * `<img style="width: 100px;" width="200" height="150">` → `<img style="width: 100px; height: auto;">`
16
+ */
17
+ export declare const transformEmailImageWidthAttributes: ExportInlineStylesTransformation;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module email/transformations/transformemailmargintoalign
7
+ * @publicApi
8
+ */
9
+ import type { ExportInlineStylesTransformation } from '@ckeditor/ckeditor5-export-inline-styles';
10
+ /**
11
+ * Handle margin-left and margin-right combinations for alignment of the table element.
12
+ * It skips elements with float style because float has higher priority for alignment.
13
+ *
14
+ * It wraps the `<table>` in a container `<table>` to ensure proper alignment in all email clients.
15
+ *
16
+ * Examples:
17
+ * * `<table style="margin: auto">` →
18
+ * `<table width="100%"><tr><td align="center"><table style="...">...</table></td></tr></table>`
19
+ *
20
+ * * `<table style="margin-left: auto; width: 500px">` →
21
+ * `<table width="100%"><tr><td align="right"><table width="500"><tr><td><table style="...">...</table>...`
22
+ */
23
+ export declare const transformEmailMarginToAlign: ExportInlineStylesTransformation;
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ /**
6
+ * @module email/transformations/utils
7
+ */
8
+ import type { StylesMap } from '@ckeditor/ckeditor5-engine';
9
+ /**
10
+ * Helper function that creates the wrapper table structure and performs DOM replacement.
11
+ *
12
+ * @param element The original element being transformed (and replaced in the DOM).
13
+ * @param options An object with wrapper configuration.
14
+ * @param options.align The alignment value ('left', 'right', 'center') or undefined.
15
+ * @param options.width The width value or undefined.
16
+ * @returns Inner cell.
17
+ */
18
+ export declare function wrapWithFallbackTables(element: Element, options: {
19
+ align?: string;
20
+ width?: string;
21
+ }): HTMLElement;
22
+ /**
23
+ * Creates a wrapper table with a single cell for email compatibility.
24
+ *
25
+ * @param doc The document object to create elements.
26
+ * @param width The width attribute value for the table.
27
+ * @returns An object containing the table element and the cell element.
28
+ */
29
+ export declare function createWrapperTable(doc: Document, width?: string): {
30
+ table: HTMLTableElement;
31
+ cell: HTMLTableCellElement;
32
+ };
33
+ /**
34
+ * Determines alignment based on margin-left and margin-right styles.
35
+ *
36
+ * @param stylesMap A map of CSS styles applied to an element.
37
+ * @returns The alignment value ('left', 'right', 'center') or `undefined` if no alignment is determined.
38
+ */
39
+ export declare function getAlignFromMargins(stylesMap: StylesMap): string | undefined;
40
+ /**
41
+ * Creates a new element with the specified tag name, copying attributes and children from the source element.
42
+ *
43
+ * @param element The source element.
44
+ * @param newTagName The tag name for the new element.
45
+ * @returns The new element with copied attributes and children.
46
+ */
47
+ export declare function shallowCloneHTMLElement(element: Element, newTagName: string): HTMLElement;
48
+ /**
49
+ * Checks whether an element is a presentation wrapper table produced by {@link wrapWithFallbackTables}.
50
+ *
51
+ * The function matches the exact shape that `createWrapperTable` builds:
52
+ * - `<table role="presentation" width="…">` with a single `tbody > tr > td` path, where
53
+ * - the `<td>` carries an `align` attribute.
54
+ *
55
+ * A wrapper table without `align` on its cell (e.g. a pure-width inner table) is **not** considered
56
+ * an align-wrapper and returns `false`.
57
+ *
58
+ * ```ts
59
+ * // true – outer align table (width="100%", td[align="center"])
60
+ * isAlignWrapperTable( outerTable );
61
+ *
62
+ * // false – inner width table has no align on its td
63
+ * isAlignWrapperTable( innerTable );
64
+ *
65
+ * // false – ordinary content table
66
+ * isAlignWrapperTable( contentTable );
67
+ * ```
68
+ *
69
+ * @param element The element to test.
70
+ * @returns `true` when the element is an align wrapper table.
71
+ */
72
+ export declare function isAlignWrapperTable(element: Element): boolean;
73
+ /**
74
+ * Returns the single `<td>` from a presentation wrapper table, or `null` when the structure
75
+ * does not match the `table > tbody > tr > td` shape produced by {@link wrapWithFallbackTables}.
76
+ *
77
+ * Use this together with {@link isAlignWrapperTable} to read or mutate the wrapper cell:
78
+ *
79
+ * ```ts
80
+ * if ( isAlignWrapperTable( table ) ) {
81
+ * const cell = getWrapperTableCell( table )!;
82
+ * const align = cell.getAttribute( 'align' ); // 'left' | 'right' | 'center'
83
+ * // …replace the wrapper table with its cell's children:
84
+ * table.replaceWith( ...Array.from( cell.childNodes ) );
85
+ * }
86
+ * ```
87
+ *
88
+ * @param table The table element to inspect.
89
+ * @returns The inner `<td>` element, or `null` if the structure does not match.
90
+ */
91
+ export declare function getWrapperTableCell(table: Element): HTMLTableCellElement | null;
92
+ /**
93
+ * Normalizes legacy numeric attribute values.
94
+ * Removes the `!important` suffix (if present) and the `px` unit.
95
+ *
96
+ * @param value - The attribute value to normalize.
97
+ * @returns The normalized value as a clean string.
98
+ */
99
+ export declare function normalizeLegacyNumericAttribute(value: string): string;
100
+ /**
101
+ * Converts a StylesMap to a string while preserving the original property order.
102
+ *
103
+ * Unlike `StylesMap#toString()`, which sorts properties alphabetically, this function maintains
104
+ * the original order, which is critical for email clients where property sequence matters.
105
+ * For example, `background` must precede `background-color` to avoid being overridden.
106
+ */
107
+ export declare function dumpNonSortedStylesMap(stylesMap: StylesMap): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-email",
3
- "version": "48.0.1-alpha.1",
3
+ "version": "48.1.0-alpha.0",
4
4
  "description": "Email integration feature for CKEditor 5.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "CKSource (http://cksource.com/)",
@@ -21,15 +21,15 @@
21
21
  "./package.json": "./package.json"
22
22
  },
23
23
  "dependencies": {
24
- "@ckeditor/ckeditor5-core": "48.0.1-alpha.1",
25
- "@ckeditor/ckeditor5-engine": "48.0.1-alpha.1",
26
- "@ckeditor/ckeditor5-export-inline-styles": "48.0.1-alpha.1",
27
- "@ckeditor/ckeditor5-font": "48.0.1-alpha.1",
28
- "@ckeditor/ckeditor5-html-support": "48.0.1-alpha.1",
29
- "@ckeditor/ckeditor5-list": "48.0.1-alpha.1",
30
- "@ckeditor/ckeditor5-table": "48.0.1-alpha.1",
31
- "@ckeditor/ckeditor5-ui": "48.0.1-alpha.1",
32
- "@ckeditor/ckeditor5-utils": "48.0.1-alpha.1"
24
+ "@ckeditor/ckeditor5-core": "48.1.0-alpha.0",
25
+ "@ckeditor/ckeditor5-engine": "48.1.0-alpha.0",
26
+ "@ckeditor/ckeditor5-export-inline-styles": "48.1.0-alpha.0",
27
+ "@ckeditor/ckeditor5-font": "48.1.0-alpha.0",
28
+ "@ckeditor/ckeditor5-html-support": "48.1.0-alpha.0",
29
+ "@ckeditor/ckeditor5-list": "48.1.0-alpha.0",
30
+ "@ckeditor/ckeditor5-table": "48.1.0-alpha.0",
31
+ "@ckeditor/ckeditor5-ui": "48.1.0-alpha.0",
32
+ "@ckeditor/ckeditor5-utils": "48.1.0-alpha.0"
33
33
  },
34
34
  "files": [
35
35
  "dist",