@servicetitan/dte-unlayer 0.89.0 → 0.91.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.
Files changed (57) hide show
  1. package/dist/api-core.js +29 -22
  2. package/dist/api-core.js.map +1 -1
  3. package/dist/api-custom-tools.js +35 -42
  4. package/dist/api-custom-tools.js.map +1 -1
  5. package/dist/editor-core-source.d.ts +3 -3
  6. package/dist/editor-core-source.d.ts.map +1 -1
  7. package/dist/editor-core-source.js +4 -4
  8. package/dist/editor-core-source.js.map +1 -1
  9. package/dist/editor-core.js +2 -2
  10. package/dist/editor-core.js.map +1 -1
  11. package/dist/editor.d.ts +1 -0
  12. package/dist/editor.d.ts.map +1 -1
  13. package/dist/editor.js +80 -34
  14. package/dist/editor.js.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/loadScript.d.ts.map +1 -1
  18. package/dist/loadScript.js +7 -6
  19. package/dist/loadScript.js.map +1 -1
  20. package/dist/shared/configs.d.ts +6 -0
  21. package/dist/shared/configs.d.ts.map +1 -0
  22. package/dist/shared/configs.js +7 -0
  23. package/dist/shared/configs.js.map +1 -0
  24. package/dist/shared/const.js +2 -1
  25. package/dist/shared/const.js.map +1 -1
  26. package/dist/shared/edit-icon.js +1 -0
  27. package/dist/shared/edit-icon.js.map +1 -1
  28. package/dist/shared/fonts.js +24 -17
  29. package/dist/shared/fonts.js.map +1 -1
  30. package/dist/shared/schema.d.ts.map +1 -1
  31. package/dist/shared/schema.js +91 -49
  32. package/dist/shared/schema.js.map +1 -1
  33. package/dist/shared/tools.d.ts.map +1 -1
  34. package/dist/shared/tools.js +13 -6
  35. package/dist/shared/tools.js.map +1 -1
  36. package/dist/store.d.ts +8 -5
  37. package/dist/store.d.ts.map +1 -1
  38. package/dist/store.js +302 -314
  39. package/dist/store.js.map +1 -1
  40. package/dist/tools.d.ts.map +1 -1
  41. package/dist/tools.js +120 -112
  42. package/dist/tools.js.map +1 -1
  43. package/dist/unlayer-interface.d.ts +5 -0
  44. package/dist/unlayer-interface.d.ts.map +1 -1
  45. package/dist/unlayer-interface.js +2 -1
  46. package/dist/unlayer-interface.js.map +1 -1
  47. package/dist/unlayer.d.ts +1 -0
  48. package/dist/unlayer.d.ts.map +1 -1
  49. package/dist/unlayer.js +115 -70
  50. package/dist/unlayer.js.map +1 -1
  51. package/package.json +1 -1
  52. package/src/editor-core-source.ts +3 -3
  53. package/src/editor.tsx +8 -0
  54. package/src/shared/configs.ts +5 -0
  55. package/src/store.ts +85 -6
  56. package/src/unlayer-interface.tsx +5 -0
  57. package/src/unlayer.tsx +11 -1
package/dist/unlayer.js CHANGED
@@ -1,9 +1,8 @@
1
1
  import { editorCoreScript, editorCoreStyles, editorCoreTools } from './editor-core';
2
2
  import { constGenericsEditor } from './shared/const';
3
3
  import { unlayerSupportedFonts } from './shared/fonts';
4
- import { unlayerCustomEmptyToolState, unlayerCustomToolMetaData, unlayerCustomToolsGetRegisterUrls, } from './tools';
5
- export var DesignUpdatedEventType;
6
- (function (DesignUpdatedEventType) {
4
+ import { unlayerCustomEmptyToolState, unlayerCustomToolMetaData, unlayerCustomToolsGetRegisterUrls } from './tools';
5
+ export var DesignUpdatedEventType = /*#__PURE__*/ function(DesignUpdatedEventType) {
7
6
  DesignUpdatedEventType["ContentAdded"] = "content:added";
8
7
  DesignUpdatedEventType["ContentMoved"] = "content:moved";
9
8
  DesignUpdatedEventType["ContentRemoved"] = "content:removed";
@@ -16,18 +15,18 @@ export var DesignUpdatedEventType;
16
15
  DesignUpdatedEventType["ColumnRemoved"] = "column:removed";
17
16
  DesignUpdatedEventType["ColumnModified"] = "column:modified";
18
17
  DesignUpdatedEventType["BodyModified"] = "body:modified";
19
- })(DesignUpdatedEventType || (DesignUpdatedEventType = {}));
18
+ return DesignUpdatedEventType;
19
+ }({});
20
20
  /**
21
21
  * !!! IMPORTANT !!!
22
22
  * do not forget to update schema version when updating unlayer version
23
23
  * it is important for templates export and should be in sync
24
24
  * to know correct schema version, open unlayer editor and check output design ('schema' property)
25
- */
26
- export const versions = {
25
+ */ export const versions = {
27
26
  unlayer: '1.9.1',
28
- schema: 16,
27
+ schema: 16
29
28
  };
30
- export const handlePreselectTool = (preselectToolSlug) => {
29
+ export const handlePreselectTool = (preselectToolSlug)=>{
31
30
  return `
32
31
  const element = document.querySelector('.u_content_custom_${preselectToolSlug}');
33
32
  if (element) {
@@ -35,7 +34,7 @@ export const handlePreselectTool = (preselectToolSlug) => {
35
34
  }
36
35
  `;
37
36
  };
38
- export const hideUnlayerContentsControls = () => {
37
+ export const hideUnlayerContentsControls = ()=>{
39
38
  return `
40
39
  .blockbuilder-layer-controls-contents, .blockbuilder-layer-controls-rows {
41
40
  display: none !important;
@@ -46,14 +45,23 @@ export const hideUnlayerContentsControls = () => {
46
45
  }
47
46
  `;
48
47
  };
49
- export const hideUnlayerBodyMenuItem = () => {
48
+ export const hideUnlayerBodyMenuItem = ()=>{
50
49
  return `
51
50
  .nav-item.tab-body {
52
51
  display: none !important;
53
52
  }
54
53
  `;
55
54
  };
56
- export const hideUnlayerTools = () => {
55
+ export const hideMobileTabletPreview = ()=>`
56
+ [data-key="preview-tablet"],
57
+ [data-key="resolution"],
58
+ [data-key="dark-mode"],
59
+ [data-key="preview-desktop"],
60
+ [data-key="preview-mobile"] {
61
+ display: none !important;
62
+ }
63
+ `;
64
+ export const hideUnlayerTools = ()=>{
57
65
  return `
58
66
  .blockbuilder-content-tools {
59
67
  display: none !important;
@@ -87,63 +95,70 @@ export const hideUnlayerTools = () => {
87
95
  }
88
96
  `;
89
97
  };
90
- export const createUnlayerEditor = (container, { customCSS, customJS, eSignFieldTypes, eSignRecipients, enableHTMLEditing, enableHTMLEditingReadonly, hideAllTools, hideBodyMenuItem, hideContentControls, latest, mergeTags, noCoreTools, tools, units, }) => {
98
+ export const createUnlayerEditor = (container, { customCSS, customJS, eSignFieldTypes, eSignRecipients, enableHTMLEditing, enableHTMLEditingReadonly, hideAllTools, hideBodyMenuItem, hideContentControls, latest, mergeTags, noCoreTools, tools, units })=>{
91
99
  const customScripts = [
92
100
  editorCoreScript,
93
101
  editorCoreTools,
94
102
  'window.dteStore.sendData("--core-loaded")',
95
103
  ...unlayerCustomToolsGetRegisterUrls(tools),
96
104
  unlayerCustomToolMetaData(tools),
97
- ...(customJS ? (Array.isArray(customJS) ? customJS : [customJS]) : []),
105
+ ...customJS ? Array.isArray(customJS) ? customJS : [
106
+ customJS
107
+ ] : [],
98
108
  hideAllTools ? unlayerCustomEmptyToolState() : '',
99
- 'window.dteStore.sendData("--data-loaded")',
100
- ].filter(js => !!(js === null || js === void 0 ? void 0 : js.trim()));
109
+ 'window.dteStore.sendData("--data-loaded")'
110
+ ].filter((js)=>!!(js === null || js === void 0 ? void 0 : js.trim()));
101
111
  const customStyles = [
102
112
  editorCoreStyles,
103
- ...(customCSS ? (Array.isArray(customCSS) ? customCSS : [customCSS]) : []),
113
+ ...customCSS ? Array.isArray(customCSS) ? customCSS : [
114
+ customCSS
115
+ ] : [],
104
116
  /*
105
117
  * @TODO this is workaround for hiding all tools from unlayer sidebar.
106
118
  * Will be better to use unlayer functionality for this but it is not implemented yet
107
- */
119
+ */ hideMobileTabletPreview(),
108
120
  hideAllTools ? hideUnlayerTools() : '',
109
121
  hideContentControls ? hideUnlayerContentsControls() : '',
110
- hideBodyMenuItem ? hideUnlayerBodyMenuItem() : '',
111
- ].filter(css => !!(css === null || css === void 0 ? void 0 : css.trim()));
122
+ hideBodyMenuItem ? hideUnlayerBodyMenuItem() : ''
123
+ ].filter((css)=>!!(css === null || css === void 0 ? void 0 : css.trim()));
112
124
  /**
113
125
  * Unlayer supports only passing id of container, but when we use shadowDOM (MFE),
114
126
  * getElementById can't find element in it
115
127
  * so making this dirty hack to let unlayer find container in DOM
116
- */
117
- const id = container.id;
128
+ */ const id = container.id;
118
129
  const currentFind = document.getElementById;
119
- document.getElementById = function (elementId) {
130
+ document.getElementById = function(elementId) {
120
131
  if (id === elementId) {
121
132
  return container;
122
133
  }
123
134
  return currentFind.call(document, id);
124
135
  };
125
136
  const acv = constGenericsEditor.adminConfigProperty;
126
- const eSignTypeMapping = (eSignFieldTypes !== null && eSignFieldTypes !== void 0 ? eSignFieldTypes : []).map(key => ({
127
- label: key,
128
- value: key.charAt(0).toLowerCase() + key.replace(/ /g, '').slice(1),
129
- }));
130
- const unitsConfig = (units !== null && units !== void 0 ? units : []).reduce((out, unit) => {
137
+ const eSignTypeMapping = (eSignFieldTypes !== null && eSignFieldTypes !== void 0 ? eSignFieldTypes : []).map((key)=>({
138
+ label: key,
139
+ value: key.charAt(0).toLowerCase() + key.replace(/ /g, '').slice(1)
140
+ }));
141
+ const unitsConfig = (units !== null && units !== void 0 ? units : []).reduce((out, unit)=>{
131
142
  out[`custom#${unit.generic}:unit:${unit.id}`] = {
132
143
  data: {
133
- [acv]: unit.values[acv],
144
+ [acv]: unit.values[acv]
134
145
  },
135
146
  properties: {
136
147
  [constGenericsEditor.userConfigProperty]: {
137
148
  editor: {
138
- data: { [acv]: unit.values[acv] },
139
- },
149
+ data: {
150
+ [acv]: unit.values[acv]
151
+ }
152
+ }
140
153
  },
141
154
  [constGenericsEditor.infoDataProperty]: {
142
155
  editor: {
143
- data: { title: unit.title },
144
- },
145
- },
146
- },
156
+ data: {
157
+ title: unit.title
158
+ }
159
+ }
160
+ }
161
+ }
147
162
  };
148
163
  return out;
149
164
  }, {});
@@ -152,78 +167,108 @@ export const createUnlayerEditor = (container, { customCSS, customJS, eSignField
152
167
  eSignRecipient: {
153
168
  editor: {
154
169
  data: {
155
- options: eSignRecipients === null || eSignRecipients === void 0 ? void 0 : eSignRecipients.map(item => ({
156
- label: item.displayName,
157
- value: item.name,
158
- })),
159
- },
160
- },
170
+ options: eSignRecipients === null || eSignRecipients === void 0 ? void 0 : eSignRecipients.map((item)=>({
171
+ label: item.displayName,
172
+ value: item.name
173
+ }))
174
+ }
175
+ }
161
176
  },
162
177
  eSignFieldType: {
163
178
  editor: {
164
179
  data: {
165
- options: eSignTypeMapping,
166
- },
167
- },
168
- },
169
- },
180
+ options: eSignTypeMapping
181
+ }
182
+ }
183
+ }
184
+ }
170
185
  };
171
186
  const result = window.unlayer.createEditor({
172
187
  displayMode: 'web',
173
- devices: ['desktop'],
188
+ devices: [
189
+ 'desktop'
190
+ ],
174
191
  features: {
175
- preview: false,
192
+ preview: true,
176
193
  userUploads: false,
177
- stockImages: false,
194
+ stockImages: false
178
195
  },
179
- mergeTags: mergeTags === null || mergeTags === void 0 ? void 0 : mergeTags.reduce((out, tag) => {
180
- out[tag.id] = { name: tag.name, value: tag.propertyPath };
196
+ mergeTags: mergeTags === null || mergeTags === void 0 ? void 0 : mergeTags.reduce((out, tag)=>{
197
+ out[tag.id] = {
198
+ name: tag.name,
199
+ value: tag.propertyPath
200
+ };
181
201
  return out;
182
202
  }, {}),
183
203
  projectId: 5713,
184
204
  version: latest ? undefined : versions.unlayer,
185
205
  appearance: {
186
- theme: 'classic_light',
206
+ theme: 'classic_light'
187
207
  },
188
- tools: Object.assign(Object.assign(Object.assign({ 'button': { enabled: false }, 'html': {
208
+ tools: {
209
+ 'button': {
210
+ enabled: false
211
+ },
212
+ 'html': {
189
213
  enabled: enableHTMLEditing,
190
214
  properties: {
191
215
  html: {
192
216
  editor: {
193
217
  widgetParams: {
194
218
  codeMirrorOptions: {
195
- readOnly: enableHTMLEditingReadonly,
196
- },
197
- },
198
- },
199
- },
219
+ readOnly: enableHTMLEditingReadonly
220
+ }
221
+ }
222
+ }
223
+ }
224
+ }
225
+ },
226
+ 'menu': {
227
+ enabled: false
228
+ },
229
+ 'form': {
230
+ enabled: false
231
+ },
232
+ ...noCoreTools ? {
233
+ columns: {
234
+ enabled: false
200
235
  },
201
- }, 'menu': { enabled: false }, 'form': { enabled: false } }, (noCoreTools
202
- ? {
203
- columns: { enabled: false },
204
- text: { enabled: false },
205
- heading: { enabled: false },
206
- divider: { enabled: false },
207
- image: { enabled: false },
208
- }
209
- : {})), unitsConfig), { 'custom#e-sign': eSignComponentRecipients }),
236
+ text: {
237
+ enabled: false
238
+ },
239
+ heading: {
240
+ enabled: false
241
+ },
242
+ divider: {
243
+ enabled: false
244
+ },
245
+ image: {
246
+ enabled: false
247
+ }
248
+ } : {},
249
+ ...unitsConfig,
250
+ 'custom#e-sign': eSignComponentRecipients
251
+ },
210
252
  editor: {
211
- autoSelectOnDrop: true,
253
+ autoSelectOnDrop: true
212
254
  },
213
255
  customJS: customScripts,
214
256
  customCSS: customStyles,
215
257
  id,
216
258
  fonts: {
217
259
  showDefaultFonts: false,
218
- customFonts: unlayerSupportedFonts,
260
+ customFonts: unlayerSupportedFonts
219
261
  },
220
262
  tabs: {
221
263
  content: {},
222
264
  body: {},
223
- blocks: { enabled: false },
224
- },
265
+ blocks: {
266
+ enabled: false
267
+ }
268
+ }
225
269
  });
226
270
  document.getElementById = currentFind;
227
271
  return result;
228
272
  };
273
+
229
274
  //# sourceMappingURL=unlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unlayer.js","sourceRoot":"","sources":["../src/unlayer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/unlayer.tsx"],"sourcesContent":["import { editorCoreScript, editorCoreStyles, editorCoreTools } from './editor-core';\nimport { constGenericsEditor } from './shared/const';\nimport { unlayerSupportedFonts } from './shared/fonts';\nimport {\n unlayerCustomEmptyToolState,\n unlayerCustomToolMetaData,\n unlayerCustomToolsGetRegisterUrls,\n} from './tools';\nimport { CreateUnlayerEditorProps } from './unlayer-interface';\n\nexport interface UnlayerExport {\n html: string;\n chunks: any;\n design: any;\n}\n\nexport interface Unlayer {\n addEventListener(event: string, cb: (arg: any) => void): void;\n removeEventListener(event: string, cb: (arg: any) => void): void;\n registerCallback(type: string, cb: (...args: any[]) => void): void;\n unregisterCallback(type: string, cb: (...args: any[]) => void): void;\n registerProvider(type: string, cb: (...args: any[]) => void): void;\n unregisterProvider(type: string, cb: (...args: any[]) => void): void;\n loadDesign(design: any): void;\n saveDesign(callback: (design: any) => void): void;\n exportHtml(callback: (data: UnlayerExport) => void): void;\n setMergeTags(tags: any): void;\n createViewer(opts: { render: (values: any) => string }): any;\n registerTool(tool: any): void;\n setBodyValues(values: any): void;\n}\n\nexport enum DesignUpdatedEventType {\n ContentAdded = 'content:added',\n ContentMoved = 'content:moved',\n ContentRemoved = 'content:removed',\n ContentModified = 'content:modified',\n RowAdded = 'row:added',\n RowMoved = 'row:moved',\n RowRemoved = 'row:removed',\n RowModified = 'row:modified',\n ColumnAdded = 'column:added',\n ColumnRemoved = 'column:removed',\n ColumnModified = 'column:modified',\n BodyModified = 'body:modified',\n}\n\nexport interface EventDesignUpdated {\n type: DesignUpdatedEventType;\n item: {\n type: string;\n slug?: string;\n values: any;\n };\n}\n\n/**\n * !!! IMPORTANT !!!\n * do not forget to update schema version when updating unlayer version\n * it is important for templates export and should be in sync\n * to know correct schema version, open unlayer editor and check output design ('schema' property)\n */\nexport const versions = {\n unlayer: '1.9.1',\n schema: 16,\n};\n\nexport const handlePreselectTool = (preselectToolSlug: string) => {\n return `\n const element = document.querySelector('.u_content_custom_${preselectToolSlug}');\n if (element) {\n element.click();\n }\n `;\n};\n\nexport const hideUnlayerContentsControls = () => {\n return `\n .blockbuilder-layer-controls-contents, .blockbuilder-layer-controls-rows {\n display: none !important;\n }\n\n .blockbuilder-options-header .text-right .icon-delete, .blockbuilder-options-header .text-right .icon-duplicate {\n display: none !important;\n }\n `;\n};\n\nexport const hideUnlayerBodyMenuItem = () => {\n return `\n .nav-item.tab-body {\n display: none !important;\n }\n `;\n};\n\nexport const hideMobileTabletPreview = () => `\n [data-key=\"preview-tablet\"],\n [data-key=\"resolution\"],\n [data-key=\"dark-mode\"],\n [data-key=\"preview-desktop\"],\n [data-key=\"preview-mobile\"] {\n display: none !important;\n }\n`;\nexport const hideUnlayerTools = () => {\n return `\n .blockbuilder-content-tools {\n display: none !important;\n }\n \n .unlayer-custom-empty-tool-state {\n display: flex;\n margin-top: 150px;\n flex-direction: column;\n justify-content: center;\n }\n \n .unlayer-custom-empty-tool-state-icon {\n text-align: center;\n margin-bottom: 12px;\n }\n \n .unlayer-custom-empty-tool-state-icon svg{\n color: #606162;\n }\n \n .unlayer-custom-empty-tool-state-text {\n text-align: center;\n font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 500;\n line-height: normal;\n color: #606162;\n line-height: 13px;\n }\n `;\n};\n\nexport const createUnlayerEditor = (\n container: HTMLDivElement,\n {\n customCSS,\n customJS,\n eSignFieldTypes,\n eSignRecipients,\n enableHTMLEditing,\n enableHTMLEditingReadonly,\n hideAllTools,\n hideBodyMenuItem,\n hideContentControls,\n latest,\n mergeTags,\n noCoreTools,\n tools,\n units,\n }: CreateUnlayerEditorProps\n): Unlayer => {\n const customScripts = [\n editorCoreScript,\n editorCoreTools,\n 'window.dteStore.sendData(\"--core-loaded\")',\n ...unlayerCustomToolsGetRegisterUrls(tools),\n unlayerCustomToolMetaData(tools),\n ...(customJS ? (Array.isArray(customJS) ? customJS : [customJS]) : []),\n hideAllTools ? unlayerCustomEmptyToolState() : '',\n 'window.dteStore.sendData(\"--data-loaded\")',\n ].filter(js => !!js?.trim());\n const customStyles = [\n editorCoreStyles,\n ...(customCSS ? (Array.isArray(customCSS) ? customCSS : [customCSS]) : []),\n /*\n * @TODO this is workaround for hiding all tools from unlayer sidebar.\n * Will be better to use unlayer functionality for this but it is not implemented yet\n */\n hideMobileTabletPreview(),\n hideAllTools ? hideUnlayerTools() : '',\n hideContentControls ? hideUnlayerContentsControls() : '',\n hideBodyMenuItem ? hideUnlayerBodyMenuItem() : '',\n ].filter(css => !!css?.trim());\n\n /**\n * Unlayer supports only passing id of container, but when we use shadowDOM (MFE),\n * getElementById can't find element in it\n * so making this dirty hack to let unlayer find container in DOM\n */\n const id = container.id;\n const currentFind = document.getElementById;\n document.getElementById = function (elementId: string) {\n if (id === elementId) {\n return container;\n }\n\n return currentFind.call(document, id);\n };\n\n const acv = constGenericsEditor.adminConfigProperty;\n\n const eSignTypeMapping = (eSignFieldTypes ?? []).map(key => ({\n label: key,\n value: key.charAt(0).toLowerCase() + key.replace(/ /g, '').slice(1),\n }));\n\n const unitsConfig = (units ?? []).reduce((out, unit) => {\n out[`custom#${unit.generic}:unit:${unit.id}`] = {\n data: {\n [acv]: unit.values[acv],\n },\n properties: {\n [constGenericsEditor.userConfigProperty]: {\n editor: {\n data: { [acv]: unit.values[acv] },\n },\n },\n [constGenericsEditor.infoDataProperty]: {\n editor: {\n data: { title: unit.title },\n },\n },\n },\n };\n return out;\n }, {} as Record<string, any>);\n\n const eSignComponentRecipients = {\n properties: {\n eSignRecipient: {\n editor: {\n data: {\n options: eSignRecipients?.map(item => ({\n label: item.displayName,\n value: item.name,\n })),\n },\n },\n },\n eSignFieldType: {\n editor: {\n data: {\n options: eSignTypeMapping,\n },\n },\n },\n },\n };\n\n const result = (window as any).unlayer.createEditor({\n displayMode: 'web',\n devices: ['desktop'],\n features: {\n preview: true,\n userUploads: false,\n stockImages: false,\n },\n mergeTags: mergeTags?.reduce((out, tag) => {\n out[tag.id] = { name: tag.name, value: tag.propertyPath };\n\n return out;\n }, {} as Record<string, { name: string; value: string }>),\n projectId: 5713,\n version: latest ? undefined : versions.unlayer,\n appearance: {\n theme: 'classic_light',\n },\n tools: {\n 'button': { enabled: false },\n 'html': {\n enabled: enableHTMLEditing,\n properties: {\n html: {\n editor: {\n widgetParams: {\n codeMirrorOptions: {\n readOnly: enableHTMLEditingReadonly,\n },\n },\n },\n },\n },\n },\n 'menu': { enabled: false },\n 'form': { enabled: false },\n ...(noCoreTools\n ? {\n columns: { enabled: false },\n text: { enabled: false },\n heading: { enabled: false },\n divider: { enabled: false },\n image: { enabled: false },\n }\n : {}),\n ...unitsConfig,\n 'custom#e-sign': eSignComponentRecipients,\n },\n editor: {\n autoSelectOnDrop: true,\n },\n customJS: customScripts,\n customCSS: customStyles,\n id,\n fonts: {\n showDefaultFonts: false,\n customFonts: unlayerSupportedFonts,\n },\n tabs: {\n content: {},\n body: {},\n blocks: { enabled: false },\n },\n });\n\n document.getElementById = currentFind;\n return result;\n};\n"],"names":["editorCoreScript","editorCoreStyles","editorCoreTools","constGenericsEditor","unlayerSupportedFonts","unlayerCustomEmptyToolState","unlayerCustomToolMetaData","unlayerCustomToolsGetRegisterUrls","DesignUpdatedEventType","versions","unlayer","schema","handlePreselectTool","preselectToolSlug","hideUnlayerContentsControls","hideUnlayerBodyMenuItem","hideMobileTabletPreview","hideUnlayerTools","createUnlayerEditor","container","customCSS","customJS","eSignFieldTypes","eSignRecipients","enableHTMLEditing","enableHTMLEditingReadonly","hideAllTools","hideBodyMenuItem","hideContentControls","latest","mergeTags","noCoreTools","tools","units","customScripts","Array","isArray","filter","js","trim","customStyles","css","id","currentFind","document","getElementById","elementId","call","acv","adminConfigProperty","eSignTypeMapping","map","key","label","value","charAt","toLowerCase","replace","slice","unitsConfig","reduce","out","unit","generic","data","values","properties","userConfigProperty","editor","infoDataProperty","title","eSignComponentRecipients","eSignRecipient","options","item","displayName","name","eSignFieldType","result","window","createEditor","displayMode","devices","features","preview","userUploads","stockImages","tag","propertyPath","projectId","version","undefined","appearance","theme","enabled","html","widgetParams","codeMirrorOptions","readOnly","columns","text","heading","divider","image","autoSelectOnDrop","fonts","showDefaultFonts","customFonts","tabs","content","body","blocks"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/dte-unlayer",
3
- "version": "0.89.0",
3
+ "version": "0.91.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",