@servicetitan/dte-unlayer 0.146.0 → 0.148.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.
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export * from './shared/const';
8
8
  export * from './shared/forms';
9
9
  export * from './shared/schema';
10
10
  export * from './shared/tools';
11
- export { UnlayerDesignChangeInfo } from './store';
11
+ export type { UnlayerDesignChangeInfo } from './store';
12
12
  export { versions } from './unlayer';
13
13
  export * from './shared/date-calc';
14
14
  export { emptyArrayIfNull } from './shared/nunjucks-helpers';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,cAAc,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,cAAc,8CAA8C,CAAC"}
package/dist/index.js CHANGED
@@ -8,7 +8,6 @@ export * from './shared/const';
8
8
  export * from './shared/forms';
9
9
  export * from './shared/schema';
10
10
  export * from './shared/tools';
11
- export { UnlayerDesignChangeInfo } from './store';
12
11
  export { versions } from './unlayer';
13
12
  export * from './shared/date-calc';
14
13
  export { emptyArrayIfNull } from './shared/nunjucks-helpers';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './editor';\nexport * from './tools';\nexport * from './api-core';\nexport * from './api-custom-tools';\nexport * from './unlayer-interface';\nexport * from './loadScript';\nexport * from './shared/const';\nexport * from './shared/forms';\nexport * from './shared/schema';\nexport * from './shared/tools';\nexport { UnlayerDesignChangeInfo } from './store';\nexport { versions } from './unlayer';\nexport * from './shared/date-calc';\nexport { emptyArrayIfNull } from './shared/nunjucks-helpers';\nexport * from './display-conditions/lookupOptionsController';\n"],"names":["UnlayerDesignChangeInfo","versions","emptyArrayIfNull"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAC/B,SAASA,uBAAuB,QAAQ,UAAU;AAClD,SAASC,QAAQ,QAAQ,YAAY;AACrC,cAAc,qBAAqB;AACnC,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,cAAc,+CAA+C"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './editor';\nexport * from './tools';\nexport * from './api-core';\nexport * from './api-custom-tools';\nexport * from './unlayer-interface';\nexport * from './loadScript';\nexport * from './shared/const';\nexport * from './shared/forms';\nexport * from './shared/schema';\nexport * from './shared/tools';\nexport type { UnlayerDesignChangeInfo } from './store';\nexport { versions } from './unlayer';\nexport * from './shared/date-calc';\nexport { emptyArrayIfNull } from './shared/nunjucks-helpers';\nexport * from './display-conditions/lookupOptionsController';\n"],"names":["versions","emptyArrayIfNull"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAE/B,SAASA,QAAQ,QAAQ,YAAY;AACrC,cAAc,qBAAqB;AACnC,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,cAAc,+CAA+C"}
package/dist/store.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { UnlayerEditorTwin } from './shared/const';
1
+ import type { UnlayerEditorTwin } from './shared/const';
2
2
  import { FormFieldInfo, FormInfo } from './shared/forms';
3
3
  import { CreateUnlayerEditorProps, UnlayerDesignFormat, UnlayerRef } from './unlayer-interface';
4
4
  export interface UnlayerDesignChangeInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAA4C,MAAM,gBAAgB,CAAC;AAE7F,OAAO,EACH,aAAa,EACb,QAAQ,EAGX,MAAM,gBAAgB,CAAC;AAUxB,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAyIhG,MAAM,WAAW,uBAAuB;IACpC,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAmBD,qBAAa,YAAY;IAsBT,QAAQ,CAAC,KAAK,EAAE,wBAAwB;IArBpD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAc;IAElD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,OAAO,CAAC,WAAW,CAAC,CAAoC;IACxD,OAAO,CAAC,UAAU,CAAC,CAA0C;IAC7D,OAAO,CAAC,gBAAgB,CAAC,CAAwC;IACjE,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAC,CAA2C;IAC7D,OAAO,CAAC,SAAS,CAAC,CAAgD;IAClE,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,OAAO,CAAC,iBAAiB,CAAC,CAAkC;IAC5D,OAAO,CAAC,mBAAmB,CAAC,CAAgC;gBAEvC,KAAK,EAAE,wBAAwB;IAqCpD,IAAI,GAAU,WAAW,cAAc,mBAiBrC;IAEF,OAAO,aAUL;IAEF,OAAO,GAAI,MAAM,iBAAiB,UAGhC;IAEF,SAAS,GAAI,SAAS,mBAAmB,UAUvC;IAEF,WAAW,GAAI,WAAW,YAAY,CAAC,YAAY,CAAC,UAElD;IAEF,iBAAiB,GAAI,iBAAiB,YAAY,CAAC,kBAAkB,CAAC,UAEpE;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,YAAY,GAAI,YAAY,YAAY,CAAC,aAAa,CAAC,UAErD;IAEF,eAAe,GAAI,eAAe,YAAY,CAAC,gBAAgB,CAAC,UAE9D;IAEF,kBAAkB,GAAI,kBAAkB,YAAY,CAAC,mBAAmB,CAAC,UAEvE;IAEF,oBAAoB,GAAI,oBAAoB,YAAY,CAAC,qBAAqB,CAAC,UAE7E;IAEF,YAAY,GAAI,OAAO,QAAQ,EAAE,UAE/B;IAEF,cAAc,GAAI,QAAQ,MAAM,EAAE,QAAQ,aAAa,EAAE,UAIvD;IAEF,mBAAmB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAEnD;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEF,OAAO,CAAC,eAAe,CAmCrB;IAEF,OAAO,CAAC,aAAa,CAuEnB;IAEF,OAAO,CAAC,sBAAsB,CAgB5B;IAEF,OAAO,CAAC,0BAA0B,CAyBhC;IAEF,OAAO,CAAC,gBAAgB,CAqCtB;IAEF,OAAO,CAAC,4BAA4B,CAiBlC;IAEF,OAAO,CAAC,WAAW,CAUjB;IAEF,OAAO,CAAC,WAAW,CAqCjB;IAEF,OAAO,CAAC,aAAa,CA+CnB;CACL"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAA4C,MAAM,gBAAgB,CAAC;AAElG,OAAO,EACH,aAAa,EACb,QAAQ,EAGX,MAAM,gBAAgB,CAAC;AAUxB,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAyIhG,MAAM,WAAW,uBAAuB;IACpC,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAmBD,qBAAa,YAAY;IAsBT,QAAQ,CAAC,KAAK,EAAE,wBAAwB;IArBpD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAc;IAElD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,OAAO,CAAC,WAAW,CAAC,CAAoC;IACxD,OAAO,CAAC,UAAU,CAAC,CAA0C;IAC7D,OAAO,CAAC,gBAAgB,CAAC,CAAwC;IACjE,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAC,CAA2C;IAC7D,OAAO,CAAC,SAAS,CAAC,CAAgD;IAClE,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,OAAO,CAAC,iBAAiB,CAAC,CAAkC;IAC5D,OAAO,CAAC,mBAAmB,CAAC,CAAgC;gBAEvC,KAAK,EAAE,wBAAwB;IAqCpD,IAAI,GAAU,WAAW,cAAc,mBAiBrC;IAEF,OAAO,aAUL;IAEF,OAAO,GAAI,MAAM,iBAAiB,UAGhC;IAEF,SAAS,GAAI,SAAS,mBAAmB,UAUvC;IAEF,WAAW,GAAI,WAAW,YAAY,CAAC,YAAY,CAAC,UAElD;IAEF,iBAAiB,GAAI,iBAAiB,YAAY,CAAC,kBAAkB,CAAC,UAEpE;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,YAAY,GAAI,YAAY,YAAY,CAAC,aAAa,CAAC,UAErD;IAEF,eAAe,GAAI,eAAe,YAAY,CAAC,gBAAgB,CAAC,UAE9D;IAEF,kBAAkB,GAAI,kBAAkB,YAAY,CAAC,mBAAmB,CAAC,UAEvE;IAEF,oBAAoB,GAAI,oBAAoB,YAAY,CAAC,qBAAqB,CAAC,UAE7E;IAEF,YAAY,GAAI,OAAO,QAAQ,EAAE,UAE/B;IAEF,cAAc,GAAI,QAAQ,MAAM,EAAE,QAAQ,aAAa,EAAE,UAIvD;IAEF,mBAAmB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAEnD;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEF,OAAO,CAAC,eAAe,CAmCrB;IAEF,OAAO,CAAC,aAAa,CAuEnB;IAEF,OAAO,CAAC,sBAAsB,CAgB5B;IAEF,OAAO,CAAC,0BAA0B,CAyBhC;IAEF,OAAO,CAAC,gBAAgB,CAqCtB;IAEF,OAAO,CAAC,4BAA4B,CAiBlC;IAEF,OAAO,CAAC,WAAW,CAUjB;IAEF,OAAO,CAAC,WAAW,CAqCjB;IAEF,OAAO,CAAC,aAAa,CA+CnB;CACL"}
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/store.ts"],"sourcesContent":["import { loadScript } from './loadScript';\nimport { defaultImageValidation } from './shared/configs';\nimport { UnlayerEditorTwin, UnlayerEventConfig, UnlayerEventRegister } from './shared/const';\nimport { unlayerSupportedFonts } from './shared/fonts';\nimport {\n FormFieldInfo,\n FormInfo,\n getFormFieldSampleValue,\n parseFormFieldKey,\n} from './shared/forms';\nimport { schemaBuildMap, schemaIsDate } from './shared/schema';\nimport { unlayerToolsParseTwinKey } from './shared/tools';\nimport { unlayerToolsIterate } from './tools';\nimport {\n createUnlayerEditor,\n DesignUpdatedEventType,\n EventDesignUpdated,\n Unlayer,\n} from './unlayer';\nimport { CreateUnlayerEditorProps, UnlayerDesignFormat, UnlayerRef } from './unlayer-interface';\n\nconst defaultScriptUrl = 'https://editor.unlayer.com/embed.js?2';\n\nconst normalizeFontToken = (font: string) =>\n font.replace(/[\"']/g, '').split(',')[0].trim().toLowerCase();\n\nconst getDesignFontTokens = (value: any, out: Set<string>) => {\n if (!value || typeof value !== 'object') {\n return;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n getDesignFontTokens(item, out);\n }\n\n return;\n }\n\n for (const [key, fieldValue] of Object.entries(value)) {\n if (key === 'fontFamily') {\n if (typeof fieldValue === 'string') {\n out.add(normalizeFontToken(fieldValue));\n } else if (fieldValue && typeof fieldValue === 'object') {\n const fontFamilyValue = fieldValue as { label?: string; value?: string };\n\n if (typeof fontFamilyValue.label === 'string') {\n out.add(normalizeFontToken(fontFamilyValue.label));\n }\n\n if (typeof fontFamilyValue.value === 'string') {\n out.add(normalizeFontToken(fontFamilyValue.value));\n }\n }\n }\n\n if (fieldValue && typeof fieldValue === 'object') {\n getDesignFontTokens(fieldValue, out);\n }\n }\n};\n\nconst ensureChunksFonts = (data: any) => {\n if (!data || typeof data !== 'object') {\n return data;\n }\n\n data.chunks ??= {};\n\n const existingFonts: any[] = Array.isArray(data.chunks.fonts) ? data.chunks.fonts : [];\n const existingLabels = new Set(existingFonts.map((f: any) => f.label));\n\n const usedFontTokens = new Set<string>();\n getDesignFontTokens(data.design, usedFontTokens);\n\n const html = typeof data.html === 'string' ? data.html.toLowerCase() : '';\n\n for (const font of unlayerSupportedFonts) {\n const labelToken = normalizeFontToken(font.label);\n const valueToken = normalizeFontToken(font.value);\n const isUsedInDesign = usedFontTokens.has(labelToken) || usedFontTokens.has(valueToken);\n const isUsedInHtml = [labelToken, valueToken].some(token => html.includes(token));\n\n if ((isUsedInDesign || isUsedInHtml) && !existingLabels.has(font.label)) {\n existingFonts.push(font);\n existingLabels.add(font.label);\n }\n }\n\n data.chunks.fonts = existingFonts;\n return data;\n};\n\nconst FORM_FIELD_DATA_POINT_PREFIX = 'FORM_FIELD_';\n\nconst getByPath = (data: unknown, path: string): unknown => {\n if (!data || typeof data !== 'object') {\n return undefined;\n }\n\n return path.split('.').reduce<unknown>((current, part) => {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n\n return (current as Record<string, unknown>)[part];\n }, data);\n};\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n !!value && typeof value === 'object' && !Array.isArray(value);\n\nconst deepMerge = (...sources: unknown[]): Record<string, unknown> => {\n const out: Record<string, unknown> = {};\n\n for (const source of sources) {\n if (!isPlainObject(source)) {\n continue;\n }\n\n for (const [key, value] of Object.entries(source)) {\n if (isPlainObject(value) && isPlainObject(out[key])) {\n out[key] = deepMerge(out[key], value);\n } else {\n out[key] = value;\n }\n }\n }\n\n return out;\n};\n\nconst setByPath = (target: Record<string, unknown>, path: string, value: unknown) => {\n const parts = path.split('.');\n if (!parts.length) {\n return;\n }\n\n let node: Record<string, unknown> = target;\n\n for (let i = 0; i < parts.length - 1; i += 1) {\n const key = parts[i];\n if (!isPlainObject(node[key])) {\n node[key] = {};\n }\n node = node[key] as Record<string, unknown>;\n }\n\n node[parts[parts.length - 1]] = value;\n};\n\nconst tokenizeFormulaFields = (expression: string): string[] => {\n const regex = /[A-Za-z_][A-Za-z0-9_.]*/g;\n return expression.match(regex) ?? [];\n};\n\nexport interface UnlayerDesignChangeInfo {\n isToolsListChanged: boolean;\n}\n\n// We are using exclusive lists here, because we can't be sure that we know all unlayer event types\nconst eventsNotChangingToolsList: DesignUpdatedEventType[] = [\n DesignUpdatedEventType.ContentMoved,\n DesignUpdatedEventType.ContentModified,\n DesignUpdatedEventType.ColumnModified,\n DesignUpdatedEventType.RowMoved,\n DesignUpdatedEventType.RowModified,\n DesignUpdatedEventType.BodyModified,\n];\n\nconst eventsNotAddingTools: DesignUpdatedEventType[] = [\n ...eventsNotChangingToolsList,\n DesignUpdatedEventType.ContentRemoved,\n DesignUpdatedEventType.ColumnRemoved,\n DesignUpdatedEventType.RowRemoved,\n];\n\nexport class UnlayerStore {\n readonly unlayerRef: UnlayerRef;\n private readonly schemaDummyData: Record<string, unknown>;\n private readonly dateSchemaFieldKeys: Set<string>;\n\n private editor: Unlayer | undefined;\n private isInit = false;\n private iframe?: HTMLIFrameElement;\n private hasDesign = false;\n private formFieldsByFormId: Record<number, FormFieldInfo[]> = {};\n private formFieldSamples: Record<string, unknown> = {};\n\n private onMessageCB?: (type: string, data: any) => void;\n private onChangeCB?: (info: UnlayerDesignChangeInfo) => void;\n private onSnapshotSaveCB?: (snapshot: UnlayerEditorTwin) => void;\n private onReadyCB?: () => void;\n private onImageCB?: (file: File) => Promise<{ url: string }>;\n private onErrorCB?: (title: string, description?: string) => void;\n private onFormSelectCB?: (formId: number) => void;\n private onCalcFieldOpenCB?: (usedFormIds: number[]) => void;\n private onCalcFieldSelectCB?: (fieldKeys: string[]) => void;\n\n constructor(readonly props: CreateUnlayerEditorProps) {\n const schemaData = this.props.schema ? schemaBuildMap(this.props.schema) : undefined;\n this.schemaDummyData = (schemaData?.dummyData ?? {}) as Record<string, unknown>;\n this.dateSchemaFieldKeys = new Set(\n Object.values(schemaData?.map ?? {})\n .filter(field => field.isValue && schemaIsDate(field.node))\n .map(field => field.fullKey),\n );\n\n this.props.eSignFieldTypes = ['Signature', 'Initials', 'Date Signed', 'Full Name'];\n\n this.unlayerRef = {\n loadDesign: design => {\n this.editor?.loadDesign(design);\n },\n saveDesign: cb => {\n this.editor?.saveDesign(cb);\n },\n exportHtml: cb => {\n this.editor?.exportHtml(data => {\n const result = ensureChunksFonts(data);\n result.demoData = this.buildCalculatedFieldDemoData(result.design);\n cb(result);\n });\n },\n sendFormList: forms => {\n this.sendFormList(forms);\n },\n sendFormFields: (formId, fields) => {\n this.sendFormFields(formId, fields);\n },\n sendCalcFieldLabels: labels => {\n this.sendCalcFieldLabels(labels);\n },\n };\n }\n\n init = async (container: HTMLDivElement) => {\n if (this.isInit) {\n return;\n }\n\n this.isInit = true;\n\n setTimeout(() => window.addEventListener('message', this.onPostMessage));\n\n await loadScript(defaultScriptUrl);\n\n this.editor = createUnlayerEditor(container, this.props);\n this.editor.addEventListener('design:loaded', this.onDesignLoaded);\n this.editor.addEventListener('design:updated', this.onDesignUpdated);\n this.editor.registerCallback('image', this.uploadImage);\n\n this.iframe = container.querySelector(`iframe`) ?? undefined;\n };\n\n destroy = () => {\n window.removeEventListener('message', this.onPostMessage);\n\n if (this.editor) {\n this.editor.removeEventListener('design:loaded', this.onDesignLoaded);\n this.editor.removeEventListener('design:updated', this.onDesignUpdated);\n this.editor.unregisterCallback('image', this.uploadImage);\n\n this.editor = undefined;\n }\n };\n\n addTwin = (twin: UnlayerEditorTwin) => {\n this.props.toolTwins?.push(twin);\n this.sendMessage('--add-twin', JSON.parse(JSON.stringify(twin)));\n };\n\n setDesign = (design?: UnlayerDesignFormat) => {\n if (!this.editor) {\n return;\n }\n\n this.hasDesign = !!design;\n\n if (design) {\n this.editor.loadDesign(design);\n }\n };\n\n setOnChange = (onChange?: UnlayerStore['onChangeCB']) => {\n this.onChangeCB = onChange;\n };\n\n setOnSnapshotSave = (onSnapshotSave?: UnlayerStore['onSnapshotSaveCB']) => {\n this.onSnapshotSaveCB = onSnapshotSave;\n };\n\n setOnReady = (onReady?: UnlayerStore['onReadyCB']) => {\n this.onReadyCB = onReady;\n };\n\n setOnImage = (onImage?: UnlayerStore['onImageCB']) => {\n this.onImageCB = onImage;\n };\n\n setOnError = (onError?: UnlayerStore['onErrorCB']) => {\n this.onErrorCB = onError;\n };\n\n setOnMessage = (onMessage?: UnlayerStore['onMessageCB']) => {\n this.onMessageCB = onMessage;\n };\n\n setOnFormSelect = (onFormSelect?: UnlayerStore['onFormSelectCB']) => {\n this.onFormSelectCB = onFormSelect;\n };\n\n setOnCalcFieldOpen = (onCalcFieldOpen?: UnlayerStore['onCalcFieldOpenCB']) => {\n this.onCalcFieldOpenCB = onCalcFieldOpen;\n };\n\n setOnCalcFieldSelect = (onCalcFieldSelect?: UnlayerStore['onCalcFieldSelectCB']) => {\n this.onCalcFieldSelectCB = onCalcFieldSelect;\n };\n\n sendFormList = (forms: FormInfo[]) => {\n this.sendMessage('--form-list', { forms });\n };\n\n sendFormFields = (formId: number, fields: FormFieldInfo[]) => {\n this.formFieldsByFormId[formId] = fields;\n this.updateFormFieldSamples(formId, fields);\n this.sendMessage('--form-fields', { formId, fields });\n };\n\n sendCalcFieldLabels = (labels: Record<string, string>) => {\n this.sendMessage('--calc-field-labels', { labels });\n };\n\n private onDesignLoaded = () => {\n if (!this.hasDesign) {\n this.hasDesign = true;\n this.editor?.setBodyValues({\n backgroundColor: 'rgba(0,0,0,0)',\n contentWidth: '100%',\n });\n }\n };\n\n private onDesignUpdated = (event: EventDesignUpdated) => {\n const isToolAdded = !eventsNotAddingTools.includes(event.type);\n const isToolsListChanged = !eventsNotChangingToolsList.includes(event.type);\n\n if (isToolAdded) {\n this.editor?.exportHtml(data => {\n let hasChanges = false;\n\n unlayerToolsIterate(data.design, tool => {\n const realTool = tool.slug\n ? unlayerToolsParseTwinKey(tool.slug ?? '')\n : undefined;\n\n if (realTool) {\n hasChanges = true;\n\n if (tool.slug) {\n delete data.design.counters[`u_content_custom_${tool.slug}`];\n delete tool.values._meta.htmlID;\n }\n\n tool.type = realTool.type;\n tool.slug = realTool.slug;\n }\n });\n\n if (hasChanges) {\n this.setDesign(data.design);\n }\n\n this.onChangeCB?.({ isToolsListChanged });\n });\n } else {\n this.onChangeCB?.({ isToolsListChanged });\n }\n };\n\n private onPostMessage = (e: MessageEvent) => {\n if (!e.data?.['-dte-message-from']) {\n return;\n }\n\n const type = e.data?.['-dte-message-from']?.type;\n const data = e.data?.['-dte-message-from']?.data;\n\n if (!type) {\n return;\n }\n\n if (type === '--ready' || type === '--registered') {\n this.onReadyCB?.();\n } else if (type === '--core-loaded') {\n const configData: UnlayerEventConfig = {\n dummyData: this.props.dummyData,\n schema: this.props.schema,\n generics: this.props.generics,\n genericConfigMode: this.props.genericConfigMode,\n isSnapshotMode: this.props.isSnapshotMode,\n holidays: this.props.holidays,\n };\n\n this.sendMessage('--config', JSON.parse(JSON.stringify(configData)));\n } else if (type === '--form-select') {\n this.onFormSelectCB?.(data?.formId);\n } else if (type === '--calc-field-open') {\n this.onCalcFieldOpenCB?.(data?.usedFormIds ?? []);\n } else if (type === '--calc-field-select') {\n if (this.onCalcFieldSelectCB) {\n this.onCalcFieldSelectCB(data?.fieldKeys ?? []);\n } else {\n this.sendCalcFieldLabels({});\n }\n } else if (type === '--data-loaded') {\n const data: UnlayerEventRegister = {\n customTools: this.props.tools.map(tool => ({ key: tool.key })),\n toolTwins: this.props.toolTwins,\n eSignRecipients: this.props.eSignRecipients,\n eSignFieldTypes: this.props.eSignFieldTypes,\n units: this.props.units?.map(unit => ({\n ...unit,\n values: {\n ...unit.values,\n adminConfig: undefined,\n },\n })),\n };\n\n this.sendMessage('--register', JSON.parse(JSON.stringify(data)));\n } else if (type === '--save-snapshot') {\n this.editor?.exportHtml(template => {\n unlayerToolsIterate(template.design, tool => {\n if (tool.values?.twin?.id === data.id) {\n if (!tool.slug) {\n return;\n }\n\n this.onSnapshotSaveCB?.({\n title: '',\n tool: tool.slug,\n values: tool.values,\n });\n return false;\n }\n });\n });\n }\n\n this.onMessageCB?.(type, data);\n };\n\n private updateFormFieldSamples = (formId: number, fields: FormFieldInfo[]) => {\n fields.forEach((field, index) => {\n const normalizedFieldId = String(field.id ?? '').replaceAll('-', '');\n if (!normalizedFieldId) {\n return;\n }\n\n const sampleValue = getFormFieldSampleValue(field, index);\n setByPath(\n this.formFieldSamples,\n `__submission_fields.${formId}.${normalizedFieldId}`,\n sampleValue,\n );\n this.formFieldSamples[`${FORM_FIELD_DATA_POINT_PREFIX}${normalizedFieldId}`] =\n sampleValue;\n });\n };\n\n private collectCalculatedFieldKeys = (design?: UnlayerDesignFormat): Set<string> => {\n const keys = new Set<string>();\n\n if (!design) {\n return keys;\n }\n\n unlayerToolsIterate(design, tool => {\n const calc = tool.values?.calculation;\n if (!calc || typeof calc !== 'object') {\n return;\n }\n\n if (typeof calc.expression === 'string') {\n for (const key of tokenizeFormulaFields(calc.expression)) {\n keys.add(key);\n }\n }\n\n if (calc.fieldLabels && typeof calc.fieldLabels === 'object') {\n Object.keys(calc.fieldLabels).forEach(key => keys.add(key));\n }\n });\n\n return keys;\n };\n\n private resolveDemoValue = (\n key: string,\n fallbackIndex: number,\n sourceData: Record<string, unknown>,\n ): unknown => {\n const parsedFormField = parseFormFieldKey(key);\n if (parsedFormField) {\n const normalizedFieldId = parsedFormField.fieldId;\n const formFields = this.formFieldsByFormId[parsedFormField.formId] ?? [];\n const fieldIndex = formFields.findIndex(\n field => String(field.id ?? '').replaceAll('-', '') === normalizedFieldId,\n );\n const field = fieldIndex >= 0 ? formFields[fieldIndex] : undefined;\n const sample = field\n ? getFormFieldSampleValue(field, fieldIndex)\n : getByPath(\n this.formFieldSamples,\n `__submission_fields.${parsedFormField.formId}.${normalizedFieldId}`,\n );\n\n if (sample !== undefined) {\n return sample;\n }\n\n return this.dateSchemaFieldKeys.has(key) ? '2026-01-15' : 44 + fallbackIndex;\n }\n\n const existing = getByPath(sourceData, key);\n if (existing !== undefined) {\n return existing;\n }\n\n if (this.dateSchemaFieldKeys.has(key)) {\n return '2026-01-15';\n }\n\n return 44 + fallbackIndex;\n };\n\n private buildCalculatedFieldDemoData = (\n design?: UnlayerDesignFormat,\n ): Record<string, unknown> => {\n const demoData: Record<string, unknown> = {};\n const usedKeys = Array.from(this.collectCalculatedFieldKeys(design));\n const sourceData = deepMerge(\n this.schemaDummyData,\n this.props.dummyData,\n this.formFieldSamples,\n );\n\n usedKeys.forEach((key, index) => {\n const value = this.resolveDemoValue(key, index, sourceData);\n setByPath(demoData, key, value);\n });\n\n return demoData;\n };\n\n private sendMessage = (type: string, data?: any) => {\n this.iframe?.contentWindow?.postMessage(\n {\n '-dte-message-to': {\n type,\n data,\n },\n },\n '*',\n );\n };\n\n private uploadImage = async (\n data: { attachments: File[] },\n done: (result: { progress: number; url?: string }) => void,\n ) => {\n if (!this.onImageCB) {\n done({ progress: 100 });\n throw new Error('image upload is not implemented');\n }\n\n if (!data.attachments?.length) {\n return;\n }\n\n const file = data.attachments[0];\n\n const res = await this.validateImage(file, {\n ...defaultImageValidation,\n ...(this.props.imageValidation ?? {}),\n });\n\n if (!res.isValid) {\n this.onErrorCB?.(res.title, res.description);\n return;\n }\n\n done({ progress: 0 });\n\n try {\n const { url } = await this.onImageCB(file);\n done({ progress: 100, url });\n } catch {\n this.onErrorCB?.(\n 'Image upload failed',\n 'Something went wrong while uploading the image. Please try again or select another image.',\n );\n done({ progress: 100 });\n }\n };\n\n private validateImage = async (\n file: File,\n imageValidation: { maxFileSize: number; maxWidth: number; maxHeight: number },\n ): Promise<{ isValid: boolean; title: string; description: string }> => {\n const { maxFileSize, maxHeight, maxWidth } = imageValidation;\n\n if (file.size > maxFileSize) {\n const maxSizeMB = (maxFileSize / 1024 / 1024).toFixed(2);\n const fileSizeMB = (file.size / 1024 / 1024).toFixed(2);\n return {\n isValid: false,\n title: 'Image size limit reached',\n description: `This image is ${fileSizeMB}MB, which is above the ${maxSizeMB}MB limit. Please upload a smaller file to continue.`,\n };\n }\n\n return new Promise(resolve => {\n const img = new Image();\n const objectUrl = URL.createObjectURL(file);\n\n img.onload = () => {\n URL.revokeObjectURL(objectUrl);\n const { height, width } = img;\n\n if (width > maxWidth || height > maxHeight) {\n resolve({\n isValid: false,\n title: 'Dimension limit reached',\n description: `These image dimensions (${width}x${height}px) exceed the ${maxWidth}x${maxHeight}px limit. Please resize the image and try again.`,\n });\n } else {\n resolve({ isValid: true, title: '', description: '' });\n }\n };\n\n img.onerror = () => {\n URL.revokeObjectURL(objectUrl);\n resolve({\n isValid: false,\n title: 'The image is broken',\n description:\n 'Looks like this image isn’t valid. Please choose another image and try again.',\n });\n };\n\n img.src = objectUrl;\n });\n };\n}\n"],"names":["loadScript","defaultImageValidation","unlayerSupportedFonts","getFormFieldSampleValue","parseFormFieldKey","schemaBuildMap","schemaIsDate","unlayerToolsParseTwinKey","unlayerToolsIterate","createUnlayerEditor","DesignUpdatedEventType","defaultScriptUrl","normalizeFontToken","font","replace","split","trim","toLowerCase","getDesignFontTokens","value","out","Array","isArray","item","key","fieldValue","Object","entries","add","fontFamilyValue","label","ensureChunksFonts","data","chunks","existingFonts","fonts","existingLabels","Set","map","f","usedFontTokens","design","html","labelToken","valueToken","isUsedInDesign","has","isUsedInHtml","some","token","includes","push","FORM_FIELD_DATA_POINT_PREFIX","getByPath","path","undefined","reduce","current","part","isPlainObject","deepMerge","sources","source","setByPath","target","parts","length","node","i","tokenizeFormulaFields","expression","regex","match","eventsNotChangingToolsList","ContentMoved","ContentModified","ColumnModified","RowMoved","RowModified","BodyModified","eventsNotAddingTools","ContentRemoved","ColumnRemoved","RowRemoved","UnlayerStore","props","unlayerRef","schemaDummyData","dateSchemaFieldKeys","editor","isInit","iframe","hasDesign","formFieldsByFormId","formFieldSamples","onMessageCB","onChangeCB","onSnapshotSaveCB","onReadyCB","onImageCB","onErrorCB","onFormSelectCB","onCalcFieldOpenCB","onCalcFieldSelectCB","init","destroy","addTwin","setDesign","setOnChange","setOnSnapshotSave","setOnReady","setOnImage","setOnError","setOnMessage","setOnFormSelect","setOnCalcFieldOpen","setOnCalcFieldSelect","sendFormList","sendFormFields","sendCalcFieldLabels","onDesignLoaded","onDesignUpdated","onPostMessage","updateFormFieldSamples","collectCalculatedFieldKeys","resolveDemoValue","buildCalculatedFieldDemoData","sendMessage","uploadImage","validateImage","container","setTimeout","window","addEventListener","registerCallback","querySelector","removeEventListener","unregisterCallback","twin","toolTwins","JSON","parse","stringify","loadDesign","onChange","onSnapshotSave","onReady","onImage","onError","onMessage","onFormSelect","onCalcFieldOpen","onCalcFieldSelect","forms","formId","fields","labels","setBodyValues","backgroundColor","contentWidth","event","isToolAdded","type","isToolsListChanged","exportHtml","hasChanges","tool","realTool","slug","counters","values","_meta","htmlID","e","configData","dummyData","schema","generics","genericConfigMode","isSnapshotMode","holidays","usedFormIds","fieldKeys","customTools","tools","eSignRecipients","eSignFieldTypes","units","unit","adminConfig","template","id","title","forEach","field","index","normalizedFieldId","String","replaceAll","sampleValue","keys","calc","calculation","fieldLabels","fallbackIndex","sourceData","parsedFormField","fieldId","formFields","fieldIndex","findIndex","sample","existing","demoData","usedKeys","from","contentWindow","postMessage","done","progress","Error","attachments","file","res","imageValidation","isValid","description","url","maxFileSize","maxHeight","maxWidth","size","maxSizeMB","toFixed","fileSizeMB","Promise","resolve","img","Image","objectUrl","URL","createObjectURL","onload","revokeObjectURL","height","width","onerror","src","schemaData","filter","isValue","fullKey","saveDesign","cb","result"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,sBAAsB,QAAQ,mBAAmB;AAE1D,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SAGIC,uBAAuB,EACvBC,iBAAiB,QACd,iBAAiB;AACxB,SAASC,cAAc,EAAEC,YAAY,QAAQ,kBAAkB;AAC/D,SAASC,wBAAwB,QAAQ,iBAAiB;AAC1D,SAASC,mBAAmB,QAAQ,UAAU;AAC9C,SACIC,mBAAmB,EACnBC,sBAAsB,QAGnB,YAAY;AAGnB,MAAMC,mBAAmB;AAEzB,MAAMC,qBAAqB,CAACC,OACxBA,KAAKC,OAAO,CAAC,SAAS,IAAIC,KAAK,CAAC,IAAI,CAAC,EAAE,CAACC,IAAI,GAAGC,WAAW;AAE9D,MAAMC,sBAAsB,CAACC,OAAYC;IACrC,IAAI,CAACD,SAAS,OAAOA,UAAU,UAAU;QACrC;IACJ;IAEA,IAAIE,MAAMC,OAAO,CAACH,QAAQ;QACtB,KAAK,MAAMI,QAAQJ,MAAO;YACtBD,oBAAoBK,MAAMH;QAC9B;QAEA;IACJ;IAEA,KAAK,MAAM,CAACI,KAAKC,WAAW,IAAIC,OAAOC,OAAO,CAACR,OAAQ;QACnD,IAAIK,QAAQ,cAAc;YACtB,IAAI,OAAOC,eAAe,UAAU;gBAChCL,IAAIQ,GAAG,CAAChB,mBAAmBa;YAC/B,OAAO,IAAIA,cAAc,OAAOA,eAAe,UAAU;gBACrD,MAAMI,kBAAkBJ;gBAExB,IAAI,OAAOI,gBAAgBC,KAAK,KAAK,UAAU;oBAC3CV,IAAIQ,GAAG,CAAChB,mBAAmBiB,gBAAgBC,KAAK;gBACpD;gBAEA,IAAI,OAAOD,gBAAgBV,KAAK,KAAK,UAAU;oBAC3CC,IAAIQ,GAAG,CAAChB,mBAAmBiB,gBAAgBV,KAAK;gBACpD;YACJ;QACJ;QAEA,IAAIM,cAAc,OAAOA,eAAe,UAAU;YAC9CP,oBAAoBO,YAAYL;QACpC;IACJ;AACJ;AAEA,MAAMW,oBAAoB,CAACC;QAKvBA,OAAAA;IAJA,IAAI,CAACA,QAAQ,OAAOA,SAAS,UAAU;QACnC,OAAOA;IACX;KAEAA,UAAAA,CAAAA,QAAAA,MAAKC,MAAM,cAAXD,qBAAAA,UAAAA,MAAKC,MAAM,GAAK,CAAC;IAEjB,MAAMC,gBAAuBb,MAAMC,OAAO,CAACU,KAAKC,MAAM,CAACE,KAAK,IAAIH,KAAKC,MAAM,CAACE,KAAK,GAAG,EAAE;IACtF,MAAMC,iBAAiB,IAAIC,IAAIH,cAAcI,GAAG,CAAC,CAACC,IAAWA,EAAET,KAAK;IAEpE,MAAMU,iBAAiB,IAAIH;IAC3BnB,oBAAoBc,KAAKS,MAAM,EAAED;IAEjC,MAAME,OAAO,OAAOV,KAAKU,IAAI,KAAK,WAAWV,KAAKU,IAAI,CAACzB,WAAW,KAAK;IAEvE,KAAK,MAAMJ,QAAQX,sBAAuB;QACtC,MAAMyC,aAAa/B,mBAAmBC,KAAKiB,KAAK;QAChD,MAAMc,aAAahC,mBAAmBC,KAAKM,KAAK;QAChD,MAAM0B,iBAAiBL,eAAeM,GAAG,CAACH,eAAeH,eAAeM,GAAG,CAACF;QAC5E,MAAMG,eAAe;YAACJ;YAAYC;SAAW,CAACI,IAAI,CAACC,CAAAA,QAASP,KAAKQ,QAAQ,CAACD;QAE1E,IAAI,AAACJ,CAAAA,kBAAkBE,YAAW,KAAM,CAACX,eAAeU,GAAG,CAACjC,KAAKiB,KAAK,GAAG;YACrEI,cAAciB,IAAI,CAACtC;YACnBuB,eAAeR,GAAG,CAACf,KAAKiB,KAAK;QACjC;IACJ;IAEAE,KAAKC,MAAM,CAACE,KAAK,GAAGD;IACpB,OAAOF;AACX;AAEA,MAAMoB,+BAA+B;AAErC,MAAMC,YAAY,CAACrB,MAAesB;IAC9B,IAAI,CAACtB,QAAQ,OAAOA,SAAS,UAAU;QACnC,OAAOuB;IACX;IAEA,OAAOD,KAAKvC,KAAK,CAAC,KAAKyC,MAAM,CAAU,CAACC,SAASC;QAC7C,IAAI,CAACD,WAAW,OAAOA,YAAY,UAAU;YACzC,OAAOF;QACX;QAEA,OAAO,AAACE,OAAmC,CAACC,KAAK;IACrD,GAAG1B;AACP;AAEA,MAAM2B,gBAAgB,CAACxC,QACnB,CAAC,CAACA,SAAS,OAAOA,UAAU,YAAY,CAACE,MAAMC,OAAO,CAACH;AAE3D,MAAMyC,YAAY,CAAC,GAAGC;IAClB,MAAMzC,MAA+B,CAAC;IAEtC,KAAK,MAAM0C,UAAUD,QAAS;QAC1B,IAAI,CAACF,cAAcG,SAAS;YACxB;QACJ;QAEA,KAAK,MAAM,CAACtC,KAAKL,MAAM,IAAIO,OAAOC,OAAO,CAACmC,QAAS;YAC/C,IAAIH,cAAcxC,UAAUwC,cAAcvC,GAAG,CAACI,IAAI,GAAG;gBACjDJ,GAAG,CAACI,IAAI,GAAGoC,UAAUxC,GAAG,CAACI,IAAI,EAAEL;YACnC,OAAO;gBACHC,GAAG,CAACI,IAAI,GAAGL;YACf;QACJ;IACJ;IAEA,OAAOC;AACX;AAEA,MAAM2C,YAAY,CAACC,QAAiCV,MAAcnC;IAC9D,MAAM8C,QAAQX,KAAKvC,KAAK,CAAC;IACzB,IAAI,CAACkD,MAAMC,MAAM,EAAE;QACf;IACJ;IAEA,IAAIC,OAAgCH;IAEpC,IAAK,IAAII,IAAI,GAAGA,IAAIH,MAAMC,MAAM,GAAG,GAAGE,KAAK,EAAG;QAC1C,MAAM5C,MAAMyC,KAAK,CAACG,EAAE;QACpB,IAAI,CAACT,cAAcQ,IAAI,CAAC3C,IAAI,GAAG;YAC3B2C,IAAI,CAAC3C,IAAI,GAAG,CAAC;QACjB;QACA2C,OAAOA,IAAI,CAAC3C,IAAI;IACpB;IAEA2C,IAAI,CAACF,KAAK,CAACA,MAAMC,MAAM,GAAG,EAAE,CAAC,GAAG/C;AACpC;AAEA,MAAMkD,wBAAwB,CAACC;QAEpBA;IADP,MAAMC,QAAQ;IACd,QAAOD,oBAAAA,WAAWE,KAAK,CAACD,oBAAjBD,+BAAAA,oBAA2B,EAAE;AACxC;AAMA,mGAAmG;AACnG,MAAMG,6BAAuD;IACzD/D,uBAAuBgE,YAAY;IACnChE,uBAAuBiE,eAAe;IACtCjE,uBAAuBkE,cAAc;IACrClE,uBAAuBmE,QAAQ;IAC/BnE,uBAAuBoE,WAAW;IAClCpE,uBAAuBqE,YAAY;CACtC;AAED,MAAMC,uBAAiD;OAChDP;IACH/D,uBAAuBuE,cAAc;IACrCvE,uBAAuBwE,aAAa;IACpCxE,uBAAuByE,UAAU;CACpC;AAED,OAAO,MAAMC;IAsBT,YAAY,AAASC,KAA+B,CAAE;;;QArBtD,uBAASC,cAAT,KAAA;QACA,uBAAiBC,mBAAjB,KAAA;QACA,uBAAiBC,uBAAjB,KAAA;QAEA,uBAAQC,UAAR,KAAA;QACA,uBAAQC,UAAR,KAAA;QACA,uBAAQC,UAAR,KAAA;QACA,uBAAQC,aAAR,KAAA;QACA,uBAAQC,sBAAR,KAAA;QACA,uBAAQC,oBAAR,KAAA;QAEA,uBAAQC,eAAR,KAAA;QACA,uBAAQC,cAAR,KAAA;QACA,uBAAQC,oBAAR,KAAA;QACA,uBAAQC,aAAR,KAAA;QACA,uBAAQC,aAAR,KAAA;QACA,uBAAQC,aAAR,KAAA;QACA,uBAAQC,kBAAR,KAAA;QACA,uBAAQC,qBAAR,KAAA;QACA,uBAAQC,uBAAR,KAAA;QAuCAC,uBAAAA,QAAAA,KAAAA;QAmBAC,uBAAAA,WAAAA,KAAAA;QAYAC,uBAAAA,WAAAA,KAAAA;QAKAC,uBAAAA,aAAAA,KAAAA;QAYAC,uBAAAA,eAAAA,KAAAA;QAIAC,uBAAAA,qBAAAA,KAAAA;QAIAC,uBAAAA,cAAAA,KAAAA;QAIAC,uBAAAA,cAAAA,KAAAA;QAIAC,uBAAAA,cAAAA,KAAAA;QAIAC,uBAAAA,gBAAAA,KAAAA;QAIAC,uBAAAA,mBAAAA,KAAAA;QAIAC,uBAAAA,sBAAAA,KAAAA;QAIAC,uBAAAA,wBAAAA,KAAAA;QAIAC,uBAAAA,gBAAAA,KAAAA;QAIAC,uBAAAA,kBAAAA,KAAAA;QAMAC,uBAAAA,uBAAAA,KAAAA;QAIA,uBAAQC,kBAAR,KAAA;QAUA,uBAAQC,mBAAR,KAAA;QAqCA,uBAAQC,iBAAR,KAAA;QAyEA,uBAAQC,0BAAR,KAAA;QAkBA,uBAAQC,8BAAR,KAAA;QA2BA,uBAAQC,oBAAR,KAAA;QAuCA,uBAAQC,gCAAR,KAAA;QAmBA,uBAAQC,eAAR,KAAA;QAYA,uBAAQC,eAAR,KAAA;QAuCA,uBAAQC,iBAAR,KAAA;aAzZqB5C,QAAAA;aAhBbK,SAAS;aAETE,YAAY;aACZC,qBAAsD,CAAC;aACvDC,mBAA4C,CAAC;aAiDrDU,OAAO,OAAO0B;gBAgBIA;YAfd,IAAI,IAAI,CAACxC,MAAM,EAAE;gBACb;YACJ;YAEA,IAAI,CAACA,MAAM,GAAG;YAEdyC,WAAW,IAAMC,OAAOC,gBAAgB,CAAC,WAAW,IAAI,CAACX,aAAa;YAEtE,MAAM1H,WAAWW;YAEjB,IAAI,CAAC8E,MAAM,GAAGhF,oBAAoByH,WAAW,IAAI,CAAC7C,KAAK;YACvD,IAAI,CAACI,MAAM,CAAC4C,gBAAgB,CAAC,iBAAiB,IAAI,CAACb,cAAc;YACjE,IAAI,CAAC/B,MAAM,CAAC4C,gBAAgB,CAAC,kBAAkB,IAAI,CAACZ,eAAe;YACnE,IAAI,CAAChC,MAAM,CAAC6C,gBAAgB,CAAC,SAAS,IAAI,CAACN,WAAW;YAEtD,IAAI,CAACrC,MAAM,IAAGuC,2BAAAA,UAAUK,aAAa,CAAC,CAAC,MAAM,CAAC,eAAhCL,sCAAAA,2BAAqC3E;QACvD;aAEAkD,UAAU;YACN2B,OAAOI,mBAAmB,CAAC,WAAW,IAAI,CAACd,aAAa;YAExD,IAAI,IAAI,CAACjC,MAAM,EAAE;gBACb,IAAI,CAACA,MAAM,CAAC+C,mBAAmB,CAAC,iBAAiB,IAAI,CAAChB,cAAc;gBACpE,IAAI,CAAC/B,MAAM,CAAC+C,mBAAmB,CAAC,kBAAkB,IAAI,CAACf,eAAe;gBACtE,IAAI,CAAChC,MAAM,CAACgD,kBAAkB,CAAC,SAAS,IAAI,CAACT,WAAW;gBAExD,IAAI,CAACvC,MAAM,GAAGlC;YAClB;QACJ;aAEAmD,UAAU,CAACgC;gBACP;aAAA,wBAAA,IAAI,CAACrD,KAAK,CAACsD,SAAS,cAApB,4CAAA,sBAAsBxF,IAAI,CAACuF;YAC3B,IAAI,CAACX,WAAW,CAAC,cAAca,KAAKC,KAAK,CAACD,KAAKE,SAAS,CAACJ;QAC7D;aAEA/B,YAAY,CAAClE;YACT,IAAI,CAAC,IAAI,CAACgD,MAAM,EAAE;gBACd;YACJ;YAEA,IAAI,CAACG,SAAS,GAAG,CAAC,CAACnD;YAEnB,IAAIA,QAAQ;gBACR,IAAI,CAACgD,MAAM,CAACsD,UAAU,CAACtG;YAC3B;QACJ;aAEAmE,cAAc,CAACoC;YACX,IAAI,CAAChD,UAAU,GAAGgD;QACtB;aAEAnC,oBAAoB,CAACoC;YACjB,IAAI,CAAChD,gBAAgB,GAAGgD;QAC5B;aAEAnC,aAAa,CAACoC;YACV,IAAI,CAAChD,SAAS,GAAGgD;QACrB;aAEAnC,aAAa,CAACoC;YACV,IAAI,CAAChD,SAAS,GAAGgD;QACrB;aAEAnC,aAAa,CAACoC;YACV,IAAI,CAAChD,SAAS,GAAGgD;QACrB;aAEAnC,eAAe,CAACoC;YACZ,IAAI,CAACtD,WAAW,GAAGsD;QACvB;aAEAnC,kBAAkB,CAACoC;YACf,IAAI,CAACjD,cAAc,GAAGiD;QAC1B;aAEAnC,qBAAqB,CAACoC;YAClB,IAAI,CAACjD,iBAAiB,GAAGiD;QAC7B;aAEAnC,uBAAuB,CAACoC;YACpB,IAAI,CAACjD,mBAAmB,GAAGiD;QAC/B;aAEAnC,eAAe,CAACoC;YACZ,IAAI,CAAC1B,WAAW,CAAC,eAAe;gBAAE0B;YAAM;QAC5C;aAEAnC,iBAAiB,CAACoC,QAAgBC;YAC9B,IAAI,CAAC9D,kBAAkB,CAAC6D,OAAO,GAAGC;YAClC,IAAI,CAAChC,sBAAsB,CAAC+B,QAAQC;YACpC,IAAI,CAAC5B,WAAW,CAAC,iBAAiB;gBAAE2B;gBAAQC;YAAO;QACvD;aAEApC,sBAAsB,CAACqC;YACnB,IAAI,CAAC7B,WAAW,CAAC,uBAAuB;gBAAE6B;YAAO;QACrD;aAEQpC,iBAAiB;YACrB,IAAI,CAAC,IAAI,CAAC5B,SAAS,EAAE;oBAEjB;gBADA,IAAI,CAACA,SAAS,GAAG;iBACjB,eAAA,IAAI,CAACH,MAAM,cAAX,mCAAA,aAAaoE,aAAa,CAAC;oBACvBC,iBAAiB;oBACjBC,cAAc;gBAClB;YACJ;QACJ;aAEQtC,kBAAkB,CAACuC;YACvB,MAAMC,cAAc,CAACjF,qBAAqB9B,QAAQ,CAAC8G,MAAME,IAAI;YAC7D,MAAMC,qBAAqB,CAAC1F,2BAA2BvB,QAAQ,CAAC8G,MAAME,IAAI;YAE1E,IAAID,aAAa;oBACb;iBAAA,eAAA,IAAI,CAACxE,MAAM,cAAX,mCAAA,aAAa2E,UAAU,CAACpI,CAAAA;wBAyBpB,kBAAA;oBAxBA,IAAIqI,aAAa;oBAEjB7J,oBAAoBwB,KAAKS,MAAM,EAAE6H,CAAAA;4BAEEA;wBAD/B,MAAMC,WAAWD,KAAKE,IAAI,GACpBjK,0BAAyB+J,aAAAA,KAAKE,IAAI,cAATF,wBAAAA,aAAa,MACtC/G;wBAEN,IAAIgH,UAAU;4BACVF,aAAa;4BAEb,IAAIC,KAAKE,IAAI,EAAE;gCACX,OAAOxI,KAAKS,MAAM,CAACgI,QAAQ,CAAC,CAAC,iBAAiB,EAAEH,KAAKE,IAAI,EAAE,CAAC;gCAC5D,OAAOF,KAAKI,MAAM,CAACC,KAAK,CAACC,MAAM;4BACnC;4BAEAN,KAAKJ,IAAI,GAAGK,SAASL,IAAI;4BACzBI,KAAKE,IAAI,GAAGD,SAASC,IAAI;wBAC7B;oBACJ;oBAEA,IAAIH,YAAY;wBACZ,IAAI,CAAC1D,SAAS,CAAC3E,KAAKS,MAAM;oBAC9B;qBAEA,mBAAA,CAAA,QAAA,IAAI,EAACuD,UAAU,cAAf,uCAAA,sBAAA,OAAkB;wBAAEmE;oBAAmB;gBAC3C;YACJ,OAAO;oBACH,kBAAA;iBAAA,mBAAA,CAAA,QAAA,IAAI,EAACnE,UAAU,cAAf,uCAAA,sBAAA,OAAkB;oBAAEmE;gBAAmB;YAC3C;QACJ;aAEQzC,gBAAgB,CAACmD;gBAChBA,SAIQA,wBAAAA,UACAA,yBAAAA,UAgEb,mBAAA;YArEA,IAAI,GAACA,UAAAA,EAAE7I,IAAI,cAAN6I,8BAAAA,OAAQ,CAAC,oBAAoB,GAAE;gBAChC;YACJ;YAEA,MAAMX,QAAOW,WAAAA,EAAE7I,IAAI,cAAN6I,gCAAAA,yBAAAA,QAAQ,CAAC,oBAAoB,cAA7BA,6CAAAA,uBAA+BX,IAAI;YAChD,MAAMlI,QAAO6I,WAAAA,EAAE7I,IAAI,cAAN6I,gCAAAA,0BAAAA,QAAQ,CAAC,oBAAoB,cAA7BA,8CAAAA,wBAA+B7I,IAAI;YAEhD,IAAI,CAACkI,MAAM;gBACP;YACJ;YAEA,IAAIA,SAAS,aAAaA,SAAS,gBAAgB;oBAC/C,iBAAA;iBAAA,kBAAA,CAAA,SAAA,IAAI,EAAChE,SAAS,cAAd,sCAAA,qBAAA;YACJ,OAAO,IAAIgE,SAAS,iBAAiB;gBACjC,MAAMY,aAAiC;oBACnCC,WAAW,IAAI,CAAC1F,KAAK,CAAC0F,SAAS;oBAC/BC,QAAQ,IAAI,CAAC3F,KAAK,CAAC2F,MAAM;oBACzBC,UAAU,IAAI,CAAC5F,KAAK,CAAC4F,QAAQ;oBAC7BC,mBAAmB,IAAI,CAAC7F,KAAK,CAAC6F,iBAAiB;oBAC/CC,gBAAgB,IAAI,CAAC9F,KAAK,CAAC8F,cAAc;oBACzCC,UAAU,IAAI,CAAC/F,KAAK,CAAC+F,QAAQ;gBACjC;gBAEA,IAAI,CAACrD,WAAW,CAAC,YAAYa,KAAKC,KAAK,CAACD,KAAKE,SAAS,CAACgC;YAC3D,OAAO,IAAIZ,SAAS,iBAAiB;oBACjC,sBAAA;iBAAA,uBAAA,CAAA,SAAA,IAAI,EAAC7D,cAAc,cAAnB,2CAAA,0BAAA,QAAsBrE,iBAAAA,2BAAAA,KAAM0H,MAAM;YACtC,OAAO,IAAIQ,SAAS,qBAAqB;;oBACrC,yBAAA;iBAAA,0BAAA,CAAA,SAAA,IAAI,EAAC5D,iBAAiB,cAAtB,8CAAA,6BAAA,gBAAyBtE,iBAAAA,2BAAAA,KAAMqJ,WAAW,uCAAI,EAAE;YACpD,OAAO,IAAInB,SAAS,uBAAuB;gBACvC,IAAI,IAAI,CAAC3D,mBAAmB,EAAE;;oBAC1B,IAAI,CAACA,mBAAmB,UAACvE,iBAAAA,2BAAAA,KAAMsJ,SAAS,yCAAI,EAAE;gBAClD,OAAO;oBACH,IAAI,CAAC/D,mBAAmB,CAAC,CAAC;gBAC9B;YACJ,OAAO,IAAI2C,SAAS,iBAAiB;oBAMtB;gBALX,MAAMlI,OAA6B;oBAC/BuJ,aAAa,IAAI,CAAClG,KAAK,CAACmG,KAAK,CAAClJ,GAAG,CAACgI,CAAAA,OAAS,CAAA;4BAAE9I,KAAK8I,KAAK9I,GAAG;wBAAC,CAAA;oBAC3DmH,WAAW,IAAI,CAACtD,KAAK,CAACsD,SAAS;oBAC/B8C,iBAAiB,IAAI,CAACpG,KAAK,CAACoG,eAAe;oBAC3CC,iBAAiB,IAAI,CAACrG,KAAK,CAACqG,eAAe;oBAC3CC,KAAK,GAAE,oBAAA,IAAI,CAACtG,KAAK,CAACsG,KAAK,cAAhB,wCAAA,kBAAkBrJ,GAAG,CAACsJ,CAAAA,OAAS,CAAA;4BAClC,GAAGA,IAAI;4BACPlB,QAAQ;gCACJ,GAAGkB,KAAKlB,MAAM;gCACdmB,aAAatI;4BACjB;wBACJ,CAAA;gBACJ;gBAEA,IAAI,CAACwE,WAAW,CAAC,cAAca,KAAKC,KAAK,CAACD,KAAKE,SAAS,CAAC9G;YAC7D,OAAO,IAAIkI,SAAS,mBAAmB;oBACnC;iBAAA,eAAA,IAAI,CAACzE,MAAM,cAAX,mCAAA,aAAa2E,UAAU,CAAC0B,CAAAA;oBACpBtL,oBAAoBsL,SAASrJ,MAAM,EAAE6H,CAAAA;4BAC7BA,mBAAAA;wBAAJ,IAAIA,EAAAA,eAAAA,KAAKI,MAAM,cAAXJ,oCAAAA,oBAAAA,aAAa5B,IAAI,cAAjB4B,wCAAAA,kBAAmByB,EAAE,MAAK/J,KAAK+J,EAAE,EAAE;gCAKnC,wBAAA;4BAJA,IAAI,CAACzB,KAAKE,IAAI,EAAE;gCACZ;4BACJ;6BAEA,yBAAA,CAAA,QAAA,IAAI,EAACvE,gBAAgB,cAArB,6CAAA,4BAAA,OAAwB;gCACpB+F,OAAO;gCACP1B,MAAMA,KAAKE,IAAI;gCACfE,QAAQJ,KAAKI,MAAM;4BACvB;4BACA,OAAO;wBACX;oBACJ;gBACJ;YACJ;aAEA,oBAAA,CAAA,QAAA,IAAI,EAAC3E,WAAW,cAAhB,wCAAA,uBAAA,OAAmBmE,MAAMlI;QAC7B;aAEQ2F,yBAAyB,CAAC+B,QAAgBC;YAC9CA,OAAOsC,OAAO,CAAC,CAACC,OAAOC;oBACcD;gBAAjC,MAAME,oBAAoBC,QAAOH,YAAAA,MAAMH,EAAE,cAARG,uBAAAA,YAAY,IAAII,UAAU,CAAC,KAAK;gBACjE,IAAI,CAACF,mBAAmB;oBACpB;gBACJ;gBAEA,MAAMG,cAAcpM,wBAAwB+L,OAAOC;gBACnDpI,UACI,IAAI,CAAC+B,gBAAgB,EACrB,CAAC,oBAAoB,EAAE4D,OAAO,CAAC,EAAE0C,mBAAmB,EACpDG;gBAEJ,IAAI,CAACzG,gBAAgB,CAAC,GAAG1C,+BAA+BgJ,mBAAmB,CAAC,GACxEG;YACR;QACJ;aAEQ3E,6BAA6B,CAACnF;YAClC,MAAM+J,OAAO,IAAInK;YAEjB,IAAI,CAACI,QAAQ;gBACT,OAAO+J;YACX;YAEAhM,oBAAoBiC,QAAQ6H,CAAAA;oBACXA;gBAAb,MAAMmC,QAAOnC,eAAAA,KAAKI,MAAM,cAAXJ,mCAAAA,aAAaoC,WAAW;gBACrC,IAAI,CAACD,QAAQ,OAAOA,SAAS,UAAU;oBACnC;gBACJ;gBAEA,IAAI,OAAOA,KAAKnI,UAAU,KAAK,UAAU;oBACrC,KAAK,MAAM9C,OAAO6C,sBAAsBoI,KAAKnI,UAAU,EAAG;wBACtDkI,KAAK5K,GAAG,CAACJ;oBACb;gBACJ;gBAEA,IAAIiL,KAAKE,WAAW,IAAI,OAAOF,KAAKE,WAAW,KAAK,UAAU;oBAC1DjL,OAAO8K,IAAI,CAACC,KAAKE,WAAW,EAAEV,OAAO,CAACzK,CAAAA,MAAOgL,KAAK5K,GAAG,CAACJ;gBAC1D;YACJ;YAEA,OAAOgL;QACX;aAEQ3E,mBAAmB,CACvBrG,KACAoL,eACAC;YAEA,MAAMC,kBAAkB1M,kBAAkBoB;YAC1C,IAAIsL,iBAAiB;oBAEE;gBADnB,MAAMV,oBAAoBU,gBAAgBC,OAAO;gBACjD,MAAMC,cAAa,kDAAA,IAAI,CAACnH,kBAAkB,CAACiH,gBAAgBpD,MAAM,CAAC,cAA/C,6DAAA,kDAAmD,EAAE;gBACxE,MAAMuD,aAAaD,WAAWE,SAAS,CACnChB,CAAAA;wBAAgBA;2BAAPG,QAAOH,YAAAA,MAAMH,EAAE,cAARG,uBAAAA,YAAY,IAAII,UAAU,CAAC,KAAK,QAAQF;;gBAE5D,MAAMF,QAAQe,cAAc,IAAID,UAAU,CAACC,WAAW,GAAG1J;gBACzD,MAAM4J,SAASjB,QACT/L,wBAAwB+L,OAAOe,cAC/B5J,UACI,IAAI,CAACyC,gBAAgB,EACrB,CAAC,oBAAoB,EAAEgH,gBAAgBpD,MAAM,CAAC,CAAC,EAAE0C,mBAAmB;gBAG9E,IAAIe,WAAW5J,WAAW;oBACtB,OAAO4J;gBACX;gBAEA,OAAO,IAAI,CAAC3H,mBAAmB,CAAC1C,GAAG,CAACtB,OAAO,eAAe,KAAKoL;YACnE;YAEA,MAAMQ,WAAW/J,UAAUwJ,YAAYrL;YACvC,IAAI4L,aAAa7J,WAAW;gBACxB,OAAO6J;YACX;YAEA,IAAI,IAAI,CAAC5H,mBAAmB,CAAC1C,GAAG,CAACtB,MAAM;gBACnC,OAAO;YACX;YAEA,OAAO,KAAKoL;QAChB;aAEQ9E,+BAA+B,CACnCrF;YAEA,MAAM4K,WAAoC,CAAC;YAC3C,MAAMC,WAAWjM,MAAMkM,IAAI,CAAC,IAAI,CAAC3F,0BAA0B,CAACnF;YAC5D,MAAMoK,aAAajJ,UACf,IAAI,CAAC2B,eAAe,EACpB,IAAI,CAACF,KAAK,CAAC0F,SAAS,EACpB,IAAI,CAACjF,gBAAgB;YAGzBwH,SAASrB,OAAO,CAAC,CAACzK,KAAK2K;gBACnB,MAAMhL,QAAQ,IAAI,CAAC0G,gBAAgB,CAACrG,KAAK2K,OAAOU;gBAChD9I,UAAUsJ,UAAU7L,KAAKL;YAC7B;YAEA,OAAOkM;QACX;aAEQtF,cAAc,CAACmC,MAAclI;gBACjC,4BAAA;aAAA,eAAA,IAAI,CAAC2D,MAAM,cAAX,oCAAA,6BAAA,aAAa6H,aAAa,cAA1B,iDAAA,2BAA4BC,WAAW,CACnC;gBACI,mBAAmB;oBACfvD;oBACAlI;gBACJ;YACJ,GACA;QAER;aAEQgG,cAAc,OAClBhG,MACA0L;gBAeQ;gBARH1L;YALL,IAAI,CAAC,IAAI,CAACmE,SAAS,EAAE;gBACjBuH,KAAK;oBAAEC,UAAU;gBAAI;gBACrB,MAAM,IAAIC,MAAM;YACpB;YAEA,IAAI,GAAC5L,oBAAAA,KAAK6L,WAAW,cAAhB7L,wCAAAA,kBAAkBkC,MAAM,GAAE;gBAC3B;YACJ;YAEA,MAAM4J,OAAO9L,KAAK6L,WAAW,CAAC,EAAE;YAEhC,MAAME,MAAM,MAAM,IAAI,CAAC9F,aAAa,CAAC6F,MAAM;gBACvC,GAAG7N,sBAAsB;oBACrB,8BAAA,IAAI,CAACoF,KAAK,CAAC2I,eAAe,cAA1B,yCAAA,8BAA8B,CAAC,CAAnC;YACJ;YAEA,IAAI,CAACD,IAAIE,OAAO,EAAE;oBACd,iBAAA;iBAAA,kBAAA,CAAA,QAAA,IAAI,EAAC7H,SAAS,cAAd,sCAAA,qBAAA,OAAiB2H,IAAI/B,KAAK,EAAE+B,IAAIG,WAAW;gBAC3C;YACJ;YAEAR,KAAK;gBAAEC,UAAU;YAAE;YAEnB,IAAI;gBACA,MAAM,EAAEQ,GAAG,EAAE,GAAG,MAAM,IAAI,CAAChI,SAAS,CAAC2H;gBACrCJ,KAAK;oBAAEC,UAAU;oBAAKQ;gBAAI;YAC9B,EAAE,eAAM;oBACJ,kBAAA;iBAAA,mBAAA,CAAA,SAAA,IAAI,EAAC/H,SAAS,cAAd,uCAAA,sBAAA,QACI,uBACA;gBAEJsH,KAAK;oBAAEC,UAAU;gBAAI;YACzB;QACJ;aAEQ1F,gBAAgB,OACpB6F,MACAE;YAEA,MAAM,EAAEI,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGN;YAE7C,IAAIF,KAAKS,IAAI,GAAGH,aAAa;gBACzB,MAAMI,YAAY,AAACJ,CAAAA,cAAc,OAAO,IAAG,EAAGK,OAAO,CAAC;gBACtD,MAAMC,aAAa,AAACZ,CAAAA,KAAKS,IAAI,GAAG,OAAO,IAAG,EAAGE,OAAO,CAAC;gBACrD,OAAO;oBACHR,SAAS;oBACTjC,OAAO;oBACPkC,aAAa,CAAC,cAAc,EAAEQ,WAAW,uBAAuB,EAAEF,UAAU,mDAAmD,CAAC;gBACpI;YACJ;YAEA,OAAO,IAAIG,QAAQC,CAAAA;gBACf,MAAMC,MAAM,IAAIC;gBAChB,MAAMC,YAAYC,IAAIC,eAAe,CAACnB;gBAEtCe,IAAIK,MAAM,GAAG;oBACTF,IAAIG,eAAe,CAACJ;oBACpB,MAAM,EAAEK,MAAM,EAAEC,KAAK,EAAE,GAAGR;oBAE1B,IAAIQ,QAAQf,YAAYc,SAASf,WAAW;wBACxCO,QAAQ;4BACJX,SAAS;4BACTjC,OAAO;4BACPkC,aAAa,CAAC,wBAAwB,EAAEmB,MAAM,CAAC,EAAED,OAAO,eAAe,EAAEd,SAAS,CAAC,EAAED,UAAU,gDAAgD,CAAC;wBACpJ;oBACJ,OAAO;wBACHO,QAAQ;4BAAEX,SAAS;4BAAMjC,OAAO;4BAAIkC,aAAa;wBAAG;oBACxD;gBACJ;gBAEAW,IAAIS,OAAO,GAAG;oBACVN,IAAIG,eAAe,CAACJ;oBACpBH,QAAQ;wBACJX,SAAS;wBACTjC,OAAO;wBACPkC,aACI;oBACR;gBACJ;gBAEAW,IAAIU,GAAG,GAAGR;YACd;QACJ;QAvcI,MAAMS,aAAa,IAAI,CAACnK,KAAK,CAAC2F,MAAM,GAAG3K,eAAe,IAAI,CAACgF,KAAK,CAAC2F,MAAM,IAAIzH;QAC3E,IAAI,CAACgC,eAAe,WAAIiK,uBAAAA,iCAAAA,WAAYzE,SAAS,uCAAI,CAAC;QAClD,IAAI,CAACvF,mBAAmB,GAAG,IAAInD,IAC3BX,OAAOgJ,MAAM,UAAC8E,uBAAAA,iCAAAA,WAAYlN,GAAG,yCAAI,CAAC,GAC7BmN,MAAM,CAACvD,CAAAA,QAASA,MAAMwD,OAAO,IAAIpP,aAAa4L,MAAM/H,IAAI,GACxD7B,GAAG,CAAC4J,CAAAA,QAASA,MAAMyD,OAAO;QAGnC,IAAI,CAACtK,KAAK,CAACqG,eAAe,GAAG;YAAC;YAAa;YAAY;YAAe;SAAY;QAElF,IAAI,CAACpG,UAAU,GAAG;YACdyD,YAAYtG,CAAAA;oBACR;iBAAA,eAAA,IAAI,CAACgD,MAAM,cAAX,mCAAA,aAAasD,UAAU,CAACtG;YAC5B;YACAmN,YAAYC,CAAAA;oBACR;iBAAA,eAAA,IAAI,CAACpK,MAAM,cAAX,mCAAA,aAAamK,UAAU,CAACC;YAC5B;YACAzF,YAAYyF,CAAAA;oBACR;iBAAA,eAAA,IAAI,CAACpK,MAAM,cAAX,mCAAA,aAAa2E,UAAU,CAACpI,CAAAA;oBACpB,MAAM8N,SAAS/N,kBAAkBC;oBACjC8N,OAAOzC,QAAQ,GAAG,IAAI,CAACvF,4BAA4B,CAACgI,OAAOrN,MAAM;oBACjEoN,GAAGC;gBACP;YACJ;YACAzI,cAAcoC,CAAAA;gBACV,IAAI,CAACpC,YAAY,CAACoC;YACtB;YACAnC,gBAAgB,CAACoC,QAAQC;gBACrB,IAAI,CAACrC,cAAc,CAACoC,QAAQC;YAChC;YACApC,qBAAqBqC,CAAAA;gBACjB,IAAI,CAACrC,mBAAmB,CAACqC;YAC7B;QACJ;IACJ;AAsaJ"}
1
+ {"version":3,"sources":["../src/store.ts"],"sourcesContent":["import { loadScript } from './loadScript';\nimport { defaultImageValidation } from './shared/configs';\nimport type { UnlayerEditorTwin, UnlayerEventConfig, UnlayerEventRegister } from './shared/const';\nimport { unlayerSupportedFonts } from './shared/fonts';\nimport {\n FormFieldInfo,\n FormInfo,\n getFormFieldSampleValue,\n parseFormFieldKey,\n} from './shared/forms';\nimport { schemaBuildMap, schemaIsDate } from './shared/schema';\nimport { unlayerToolsParseTwinKey } from './shared/tools';\nimport { unlayerToolsIterate } from './tools';\nimport {\n createUnlayerEditor,\n DesignUpdatedEventType,\n EventDesignUpdated,\n Unlayer,\n} from './unlayer';\nimport { CreateUnlayerEditorProps, UnlayerDesignFormat, UnlayerRef } from './unlayer-interface';\n\nconst defaultScriptUrl = 'https://editor.unlayer.com/embed.js?2';\n\nconst normalizeFontToken = (font: string) =>\n font.replace(/[\"']/g, '').split(',')[0].trim().toLowerCase();\n\nconst getDesignFontTokens = (value: any, out: Set<string>) => {\n if (!value || typeof value !== 'object') {\n return;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n getDesignFontTokens(item, out);\n }\n\n return;\n }\n\n for (const [key, fieldValue] of Object.entries(value)) {\n if (key === 'fontFamily') {\n if (typeof fieldValue === 'string') {\n out.add(normalizeFontToken(fieldValue));\n } else if (fieldValue && typeof fieldValue === 'object') {\n const fontFamilyValue = fieldValue as { label?: string; value?: string };\n\n if (typeof fontFamilyValue.label === 'string') {\n out.add(normalizeFontToken(fontFamilyValue.label));\n }\n\n if (typeof fontFamilyValue.value === 'string') {\n out.add(normalizeFontToken(fontFamilyValue.value));\n }\n }\n }\n\n if (fieldValue && typeof fieldValue === 'object') {\n getDesignFontTokens(fieldValue, out);\n }\n }\n};\n\nconst ensureChunksFonts = (data: any) => {\n if (!data || typeof data !== 'object') {\n return data;\n }\n\n data.chunks ??= {};\n\n const existingFonts: any[] = Array.isArray(data.chunks.fonts) ? data.chunks.fonts : [];\n const existingLabels = new Set(existingFonts.map((f: any) => f.label));\n\n const usedFontTokens = new Set<string>();\n getDesignFontTokens(data.design, usedFontTokens);\n\n const html = typeof data.html === 'string' ? data.html.toLowerCase() : '';\n\n for (const font of unlayerSupportedFonts) {\n const labelToken = normalizeFontToken(font.label);\n const valueToken = normalizeFontToken(font.value);\n const isUsedInDesign = usedFontTokens.has(labelToken) || usedFontTokens.has(valueToken);\n const isUsedInHtml = [labelToken, valueToken].some(token => html.includes(token));\n\n if ((isUsedInDesign || isUsedInHtml) && !existingLabels.has(font.label)) {\n existingFonts.push(font);\n existingLabels.add(font.label);\n }\n }\n\n data.chunks.fonts = existingFonts;\n return data;\n};\n\nconst FORM_FIELD_DATA_POINT_PREFIX = 'FORM_FIELD_';\n\nconst getByPath = (data: unknown, path: string): unknown => {\n if (!data || typeof data !== 'object') {\n return undefined;\n }\n\n return path.split('.').reduce<unknown>((current, part) => {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n\n return (current as Record<string, unknown>)[part];\n }, data);\n};\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n !!value && typeof value === 'object' && !Array.isArray(value);\n\nconst deepMerge = (...sources: unknown[]): Record<string, unknown> => {\n const out: Record<string, unknown> = {};\n\n for (const source of sources) {\n if (!isPlainObject(source)) {\n continue;\n }\n\n for (const [key, value] of Object.entries(source)) {\n if (isPlainObject(value) && isPlainObject(out[key])) {\n out[key] = deepMerge(out[key], value);\n } else {\n out[key] = value;\n }\n }\n }\n\n return out;\n};\n\nconst setByPath = (target: Record<string, unknown>, path: string, value: unknown) => {\n const parts = path.split('.');\n if (!parts.length) {\n return;\n }\n\n let node: Record<string, unknown> = target;\n\n for (let i = 0; i < parts.length - 1; i += 1) {\n const key = parts[i];\n if (!isPlainObject(node[key])) {\n node[key] = {};\n }\n node = node[key] as Record<string, unknown>;\n }\n\n node[parts[parts.length - 1]] = value;\n};\n\nconst tokenizeFormulaFields = (expression: string): string[] => {\n const regex = /[A-Za-z_][A-Za-z0-9_.]*/g;\n return expression.match(regex) ?? [];\n};\n\nexport interface UnlayerDesignChangeInfo {\n isToolsListChanged: boolean;\n}\n\n// We are using exclusive lists here, because we can't be sure that we know all unlayer event types\nconst eventsNotChangingToolsList: DesignUpdatedEventType[] = [\n DesignUpdatedEventType.ContentMoved,\n DesignUpdatedEventType.ContentModified,\n DesignUpdatedEventType.ColumnModified,\n DesignUpdatedEventType.RowMoved,\n DesignUpdatedEventType.RowModified,\n DesignUpdatedEventType.BodyModified,\n];\n\nconst eventsNotAddingTools: DesignUpdatedEventType[] = [\n ...eventsNotChangingToolsList,\n DesignUpdatedEventType.ContentRemoved,\n DesignUpdatedEventType.ColumnRemoved,\n DesignUpdatedEventType.RowRemoved,\n];\n\nexport class UnlayerStore {\n readonly unlayerRef: UnlayerRef;\n private readonly schemaDummyData: Record<string, unknown>;\n private readonly dateSchemaFieldKeys: Set<string>;\n\n private editor: Unlayer | undefined;\n private isInit = false;\n private iframe?: HTMLIFrameElement;\n private hasDesign = false;\n private formFieldsByFormId: Record<number, FormFieldInfo[]> = {};\n private formFieldSamples: Record<string, unknown> = {};\n\n private onMessageCB?: (type: string, data: any) => void;\n private onChangeCB?: (info: UnlayerDesignChangeInfo) => void;\n private onSnapshotSaveCB?: (snapshot: UnlayerEditorTwin) => void;\n private onReadyCB?: () => void;\n private onImageCB?: (file: File) => Promise<{ url: string }>;\n private onErrorCB?: (title: string, description?: string) => void;\n private onFormSelectCB?: (formId: number) => void;\n private onCalcFieldOpenCB?: (usedFormIds: number[]) => void;\n private onCalcFieldSelectCB?: (fieldKeys: string[]) => void;\n\n constructor(readonly props: CreateUnlayerEditorProps) {\n const schemaData = this.props.schema ? schemaBuildMap(this.props.schema) : undefined;\n this.schemaDummyData = (schemaData?.dummyData ?? {}) as Record<string, unknown>;\n this.dateSchemaFieldKeys = new Set(\n Object.values(schemaData?.map ?? {})\n .filter(field => field.isValue && schemaIsDate(field.node))\n .map(field => field.fullKey),\n );\n\n this.props.eSignFieldTypes = ['Signature', 'Initials', 'Date Signed', 'Full Name'];\n\n this.unlayerRef = {\n loadDesign: design => {\n this.editor?.loadDesign(design);\n },\n saveDesign: cb => {\n this.editor?.saveDesign(cb);\n },\n exportHtml: cb => {\n this.editor?.exportHtml(data => {\n const result = ensureChunksFonts(data);\n result.demoData = this.buildCalculatedFieldDemoData(result.design);\n cb(result);\n });\n },\n sendFormList: forms => {\n this.sendFormList(forms);\n },\n sendFormFields: (formId, fields) => {\n this.sendFormFields(formId, fields);\n },\n sendCalcFieldLabels: labels => {\n this.sendCalcFieldLabels(labels);\n },\n };\n }\n\n init = async (container: HTMLDivElement) => {\n if (this.isInit) {\n return;\n }\n\n this.isInit = true;\n\n setTimeout(() => window.addEventListener('message', this.onPostMessage));\n\n await loadScript(defaultScriptUrl);\n\n this.editor = createUnlayerEditor(container, this.props);\n this.editor.addEventListener('design:loaded', this.onDesignLoaded);\n this.editor.addEventListener('design:updated', this.onDesignUpdated);\n this.editor.registerCallback('image', this.uploadImage);\n\n this.iframe = container.querySelector(`iframe`) ?? undefined;\n };\n\n destroy = () => {\n window.removeEventListener('message', this.onPostMessage);\n\n if (this.editor) {\n this.editor.removeEventListener('design:loaded', this.onDesignLoaded);\n this.editor.removeEventListener('design:updated', this.onDesignUpdated);\n this.editor.unregisterCallback('image', this.uploadImage);\n\n this.editor = undefined;\n }\n };\n\n addTwin = (twin: UnlayerEditorTwin) => {\n this.props.toolTwins?.push(twin);\n this.sendMessage('--add-twin', JSON.parse(JSON.stringify(twin)));\n };\n\n setDesign = (design?: UnlayerDesignFormat) => {\n if (!this.editor) {\n return;\n }\n\n this.hasDesign = !!design;\n\n if (design) {\n this.editor.loadDesign(design);\n }\n };\n\n setOnChange = (onChange?: UnlayerStore['onChangeCB']) => {\n this.onChangeCB = onChange;\n };\n\n setOnSnapshotSave = (onSnapshotSave?: UnlayerStore['onSnapshotSaveCB']) => {\n this.onSnapshotSaveCB = onSnapshotSave;\n };\n\n setOnReady = (onReady?: UnlayerStore['onReadyCB']) => {\n this.onReadyCB = onReady;\n };\n\n setOnImage = (onImage?: UnlayerStore['onImageCB']) => {\n this.onImageCB = onImage;\n };\n\n setOnError = (onError?: UnlayerStore['onErrorCB']) => {\n this.onErrorCB = onError;\n };\n\n setOnMessage = (onMessage?: UnlayerStore['onMessageCB']) => {\n this.onMessageCB = onMessage;\n };\n\n setOnFormSelect = (onFormSelect?: UnlayerStore['onFormSelectCB']) => {\n this.onFormSelectCB = onFormSelect;\n };\n\n setOnCalcFieldOpen = (onCalcFieldOpen?: UnlayerStore['onCalcFieldOpenCB']) => {\n this.onCalcFieldOpenCB = onCalcFieldOpen;\n };\n\n setOnCalcFieldSelect = (onCalcFieldSelect?: UnlayerStore['onCalcFieldSelectCB']) => {\n this.onCalcFieldSelectCB = onCalcFieldSelect;\n };\n\n sendFormList = (forms: FormInfo[]) => {\n this.sendMessage('--form-list', { forms });\n };\n\n sendFormFields = (formId: number, fields: FormFieldInfo[]) => {\n this.formFieldsByFormId[formId] = fields;\n this.updateFormFieldSamples(formId, fields);\n this.sendMessage('--form-fields', { formId, fields });\n };\n\n sendCalcFieldLabels = (labels: Record<string, string>) => {\n this.sendMessage('--calc-field-labels', { labels });\n };\n\n private onDesignLoaded = () => {\n if (!this.hasDesign) {\n this.hasDesign = true;\n this.editor?.setBodyValues({\n backgroundColor: 'rgba(0,0,0,0)',\n contentWidth: '100%',\n });\n }\n };\n\n private onDesignUpdated = (event: EventDesignUpdated) => {\n const isToolAdded = !eventsNotAddingTools.includes(event.type);\n const isToolsListChanged = !eventsNotChangingToolsList.includes(event.type);\n\n if (isToolAdded) {\n this.editor?.exportHtml(data => {\n let hasChanges = false;\n\n unlayerToolsIterate(data.design, tool => {\n const realTool = tool.slug\n ? unlayerToolsParseTwinKey(tool.slug ?? '')\n : undefined;\n\n if (realTool) {\n hasChanges = true;\n\n if (tool.slug) {\n delete data.design.counters[`u_content_custom_${tool.slug}`];\n delete tool.values._meta.htmlID;\n }\n\n tool.type = realTool.type;\n tool.slug = realTool.slug;\n }\n });\n\n if (hasChanges) {\n this.setDesign(data.design);\n }\n\n this.onChangeCB?.({ isToolsListChanged });\n });\n } else {\n this.onChangeCB?.({ isToolsListChanged });\n }\n };\n\n private onPostMessage = (e: MessageEvent) => {\n if (!e.data?.['-dte-message-from']) {\n return;\n }\n\n const type = e.data?.['-dte-message-from']?.type;\n const data = e.data?.['-dte-message-from']?.data;\n\n if (!type) {\n return;\n }\n\n if (type === '--ready' || type === '--registered') {\n this.onReadyCB?.();\n } else if (type === '--core-loaded') {\n const configData: UnlayerEventConfig = {\n dummyData: this.props.dummyData,\n schema: this.props.schema,\n generics: this.props.generics,\n genericConfigMode: this.props.genericConfigMode,\n isSnapshotMode: this.props.isSnapshotMode,\n holidays: this.props.holidays,\n };\n\n this.sendMessage('--config', JSON.parse(JSON.stringify(configData)));\n } else if (type === '--form-select') {\n this.onFormSelectCB?.(data?.formId);\n } else if (type === '--calc-field-open') {\n this.onCalcFieldOpenCB?.(data?.usedFormIds ?? []);\n } else if (type === '--calc-field-select') {\n if (this.onCalcFieldSelectCB) {\n this.onCalcFieldSelectCB(data?.fieldKeys ?? []);\n } else {\n this.sendCalcFieldLabels({});\n }\n } else if (type === '--data-loaded') {\n const data: UnlayerEventRegister = {\n customTools: this.props.tools.map(tool => ({ key: tool.key })),\n toolTwins: this.props.toolTwins,\n eSignRecipients: this.props.eSignRecipients,\n eSignFieldTypes: this.props.eSignFieldTypes,\n units: this.props.units?.map(unit => ({\n ...unit,\n values: {\n ...unit.values,\n adminConfig: undefined,\n },\n })),\n };\n\n this.sendMessage('--register', JSON.parse(JSON.stringify(data)));\n } else if (type === '--save-snapshot') {\n this.editor?.exportHtml(template => {\n unlayerToolsIterate(template.design, tool => {\n if (tool.values?.twin?.id === data.id) {\n if (!tool.slug) {\n return;\n }\n\n this.onSnapshotSaveCB?.({\n title: '',\n tool: tool.slug,\n values: tool.values,\n });\n return false;\n }\n });\n });\n }\n\n this.onMessageCB?.(type, data);\n };\n\n private updateFormFieldSamples = (formId: number, fields: FormFieldInfo[]) => {\n fields.forEach((field, index) => {\n const normalizedFieldId = String(field.id ?? '').replaceAll('-', '');\n if (!normalizedFieldId) {\n return;\n }\n\n const sampleValue = getFormFieldSampleValue(field, index);\n setByPath(\n this.formFieldSamples,\n `__submission_fields.${formId}.${normalizedFieldId}`,\n sampleValue,\n );\n this.formFieldSamples[`${FORM_FIELD_DATA_POINT_PREFIX}${normalizedFieldId}`] =\n sampleValue;\n });\n };\n\n private collectCalculatedFieldKeys = (design?: UnlayerDesignFormat): Set<string> => {\n const keys = new Set<string>();\n\n if (!design) {\n return keys;\n }\n\n unlayerToolsIterate(design, tool => {\n const calc = tool.values?.calculation;\n if (!calc || typeof calc !== 'object') {\n return;\n }\n\n if (typeof calc.expression === 'string') {\n for (const key of tokenizeFormulaFields(calc.expression)) {\n keys.add(key);\n }\n }\n\n if (calc.fieldLabels && typeof calc.fieldLabels === 'object') {\n Object.keys(calc.fieldLabels).forEach(key => keys.add(key));\n }\n });\n\n return keys;\n };\n\n private resolveDemoValue = (\n key: string,\n fallbackIndex: number,\n sourceData: Record<string, unknown>,\n ): unknown => {\n const parsedFormField = parseFormFieldKey(key);\n if (parsedFormField) {\n const normalizedFieldId = parsedFormField.fieldId;\n const formFields = this.formFieldsByFormId[parsedFormField.formId] ?? [];\n const fieldIndex = formFields.findIndex(\n field => String(field.id ?? '').replaceAll('-', '') === normalizedFieldId,\n );\n const field = fieldIndex >= 0 ? formFields[fieldIndex] : undefined;\n const sample = field\n ? getFormFieldSampleValue(field, fieldIndex)\n : getByPath(\n this.formFieldSamples,\n `__submission_fields.${parsedFormField.formId}.${normalizedFieldId}`,\n );\n\n if (sample !== undefined) {\n return sample;\n }\n\n return this.dateSchemaFieldKeys.has(key) ? '2026-01-15' : 44 + fallbackIndex;\n }\n\n const existing = getByPath(sourceData, key);\n if (existing !== undefined) {\n return existing;\n }\n\n if (this.dateSchemaFieldKeys.has(key)) {\n return '2026-01-15';\n }\n\n return 44 + fallbackIndex;\n };\n\n private buildCalculatedFieldDemoData = (\n design?: UnlayerDesignFormat,\n ): Record<string, unknown> => {\n const demoData: Record<string, unknown> = {};\n const usedKeys = Array.from(this.collectCalculatedFieldKeys(design));\n const sourceData = deepMerge(\n this.schemaDummyData,\n this.props.dummyData,\n this.formFieldSamples,\n );\n\n usedKeys.forEach((key, index) => {\n const value = this.resolveDemoValue(key, index, sourceData);\n setByPath(demoData, key, value);\n });\n\n return demoData;\n };\n\n private sendMessage = (type: string, data?: any) => {\n this.iframe?.contentWindow?.postMessage(\n {\n '-dte-message-to': {\n type,\n data,\n },\n },\n '*',\n );\n };\n\n private uploadImage = async (\n data: { attachments: File[] },\n done: (result: { progress: number; url?: string }) => void,\n ) => {\n if (!this.onImageCB) {\n done({ progress: 100 });\n throw new Error('image upload is not implemented');\n }\n\n if (!data.attachments?.length) {\n return;\n }\n\n const file = data.attachments[0];\n\n const res = await this.validateImage(file, {\n ...defaultImageValidation,\n ...(this.props.imageValidation ?? {}),\n });\n\n if (!res.isValid) {\n this.onErrorCB?.(res.title, res.description);\n return;\n }\n\n done({ progress: 0 });\n\n try {\n const { url } = await this.onImageCB(file);\n done({ progress: 100, url });\n } catch {\n this.onErrorCB?.(\n 'Image upload failed',\n 'Something went wrong while uploading the image. Please try again or select another image.',\n );\n done({ progress: 100 });\n }\n };\n\n private validateImage = async (\n file: File,\n imageValidation: { maxFileSize: number; maxWidth: number; maxHeight: number },\n ): Promise<{ isValid: boolean; title: string; description: string }> => {\n const { maxFileSize, maxHeight, maxWidth } = imageValidation;\n\n if (file.size > maxFileSize) {\n const maxSizeMB = (maxFileSize / 1024 / 1024).toFixed(2);\n const fileSizeMB = (file.size / 1024 / 1024).toFixed(2);\n return {\n isValid: false,\n title: 'Image size limit reached',\n description: `This image is ${fileSizeMB}MB, which is above the ${maxSizeMB}MB limit. Please upload a smaller file to continue.`,\n };\n }\n\n return new Promise(resolve => {\n const img = new Image();\n const objectUrl = URL.createObjectURL(file);\n\n img.onload = () => {\n URL.revokeObjectURL(objectUrl);\n const { height, width } = img;\n\n if (width > maxWidth || height > maxHeight) {\n resolve({\n isValid: false,\n title: 'Dimension limit reached',\n description: `These image dimensions (${width}x${height}px) exceed the ${maxWidth}x${maxHeight}px limit. Please resize the image and try again.`,\n });\n } else {\n resolve({ isValid: true, title: '', description: '' });\n }\n };\n\n img.onerror = () => {\n URL.revokeObjectURL(objectUrl);\n resolve({\n isValid: false,\n title: 'The image is broken',\n description:\n 'Looks like this image isn’t valid. Please choose another image and try again.',\n });\n };\n\n img.src = objectUrl;\n });\n };\n}\n"],"names":["loadScript","defaultImageValidation","unlayerSupportedFonts","getFormFieldSampleValue","parseFormFieldKey","schemaBuildMap","schemaIsDate","unlayerToolsParseTwinKey","unlayerToolsIterate","createUnlayerEditor","DesignUpdatedEventType","defaultScriptUrl","normalizeFontToken","font","replace","split","trim","toLowerCase","getDesignFontTokens","value","out","Array","isArray","item","key","fieldValue","Object","entries","add","fontFamilyValue","label","ensureChunksFonts","data","chunks","existingFonts","fonts","existingLabels","Set","map","f","usedFontTokens","design","html","labelToken","valueToken","isUsedInDesign","has","isUsedInHtml","some","token","includes","push","FORM_FIELD_DATA_POINT_PREFIX","getByPath","path","undefined","reduce","current","part","isPlainObject","deepMerge","sources","source","setByPath","target","parts","length","node","i","tokenizeFormulaFields","expression","regex","match","eventsNotChangingToolsList","ContentMoved","ContentModified","ColumnModified","RowMoved","RowModified","BodyModified","eventsNotAddingTools","ContentRemoved","ColumnRemoved","RowRemoved","UnlayerStore","props","unlayerRef","schemaDummyData","dateSchemaFieldKeys","editor","isInit","iframe","hasDesign","formFieldsByFormId","formFieldSamples","onMessageCB","onChangeCB","onSnapshotSaveCB","onReadyCB","onImageCB","onErrorCB","onFormSelectCB","onCalcFieldOpenCB","onCalcFieldSelectCB","init","destroy","addTwin","setDesign","setOnChange","setOnSnapshotSave","setOnReady","setOnImage","setOnError","setOnMessage","setOnFormSelect","setOnCalcFieldOpen","setOnCalcFieldSelect","sendFormList","sendFormFields","sendCalcFieldLabels","onDesignLoaded","onDesignUpdated","onPostMessage","updateFormFieldSamples","collectCalculatedFieldKeys","resolveDemoValue","buildCalculatedFieldDemoData","sendMessage","uploadImage","validateImage","container","setTimeout","window","addEventListener","registerCallback","querySelector","removeEventListener","unregisterCallback","twin","toolTwins","JSON","parse","stringify","loadDesign","onChange","onSnapshotSave","onReady","onImage","onError","onMessage","onFormSelect","onCalcFieldOpen","onCalcFieldSelect","forms","formId","fields","labels","setBodyValues","backgroundColor","contentWidth","event","isToolAdded","type","isToolsListChanged","exportHtml","hasChanges","tool","realTool","slug","counters","values","_meta","htmlID","e","configData","dummyData","schema","generics","genericConfigMode","isSnapshotMode","holidays","usedFormIds","fieldKeys","customTools","tools","eSignRecipients","eSignFieldTypes","units","unit","adminConfig","template","id","title","forEach","field","index","normalizedFieldId","String","replaceAll","sampleValue","keys","calc","calculation","fieldLabels","fallbackIndex","sourceData","parsedFormField","fieldId","formFields","fieldIndex","findIndex","sample","existing","demoData","usedKeys","from","contentWindow","postMessage","done","progress","Error","attachments","file","res","imageValidation","isValid","description","url","maxFileSize","maxHeight","maxWidth","size","maxSizeMB","toFixed","fileSizeMB","Promise","resolve","img","Image","objectUrl","URL","createObjectURL","onload","revokeObjectURL","height","width","onerror","src","schemaData","filter","isValue","fullKey","saveDesign","cb","result"],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { UnlayerDesignCustomTool, UnlayerDesignFormat, UnlayerDesignTool, UnlayerEditorCustomTool } from './unlayer-interface';
1
+ import type { UnlayerDesignCustomTool, UnlayerDesignFormat, UnlayerDesignTool, UnlayerEditorCustomTool } from './unlayer-interface';
2
2
  export declare const unlayerGetDefaultDesign: () => UnlayerDesignFormat;
3
3
  export declare const unlayerToolsIterate: (design: UnlayerDesignFormat, cb: (tool: UnlayerDesignTool) => boolean | undefined | void) => void;
4
4
  export declare const unlayerToolsIterateCustom: (design: UnlayerDesignFormat, cb: (tool: UnlayerDesignCustomTool) => boolean | undefined | void) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EAC1B,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,uBAAuB,QAAO,mBAiFzC,CAAC;AAGH,eAAO,MAAM,mBAAmB,GAC5B,QAAQ,mBAAmB,EAC3B,IAAI,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,SAW9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAClC,QAAQ,mBAAmB,EAC3B,IAAI,CAAC,IAAI,EAAE,uBAAuB,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,SAOpE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,QAAQ,mBAAmB,KAAG,MAAM,EAE9E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACzB,QAAQ,mBAAmB,EAC3B,IAAI,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,GAAG,IAAI,KAChD,iBAAiB,GAAG,SAWtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,sBAAsB,GAC/B,QAAQ,mBAAmB,EAC3B,QAAQ;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EAC/C,QAAQ;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,KAChE,sBAuCF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,mBAAmB,KAAG,uBAAuB,EAQ3F,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,OAAO,iBAAiB,EAAE,KAAG,mBAKpE,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,SAAS,GAAG,KAAG,MAAM,GAAG,SACN,CAAC;AAC/D,eAAO,MAAM,8BAA8B,GAAI,SAAS,GAAG,KAAG,MAAM,GAAG,SACX,CAAC;AAE7D,eAAO,MAAM,iBAAiB,GAAI,MAAM,iBAAiB,KAAG,MAAM,GAAG,SACzB,CAAC;AAC7C,eAAO,MAAM,oBAAoB,GAAI,MAAM,iBAAiB,KAAG,MAAM,GAAG,SACzB,CAAC;AAEhD,eAAO,MAAM,iCAAiC,GAAI,OAAO,uBAAuB,EAAE,KAAG,MAAM,EAGtF,CAAC;AAEN,eAAO,MAAM,yBAAyB,GAAI,OAAO,uBAAuB,EAAE,KAAG,MAY5E,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAO,MAgB9C,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EAC1B,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,uBAAuB,QAAO,mBAiFzC,CAAC;AAGH,eAAO,MAAM,mBAAmB,GAC5B,QAAQ,mBAAmB,EAC3B,IAAI,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,SAW9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAClC,QAAQ,mBAAmB,EAC3B,IAAI,CAAC,IAAI,EAAE,uBAAuB,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,SAOpE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,QAAQ,mBAAmB,KAAG,MAAM,EAE9E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACzB,QAAQ,mBAAmB,EAC3B,IAAI,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,GAAG,IAAI,KAChD,iBAAiB,GAAG,SAWtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,sBAAsB,GAC/B,QAAQ,mBAAmB,EAC3B,QAAQ;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EAC/C,QAAQ;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,KAChE,sBAuCF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,mBAAmB,KAAG,uBAAuB,EAQ3F,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,OAAO,iBAAiB,EAAE,KAAG,mBAKpE,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,SAAS,GAAG,KAAG,MAAM,GAAG,SACN,CAAC;AAC/D,eAAO,MAAM,8BAA8B,GAAI,SAAS,GAAG,KAAG,MAAM,GAAG,SACX,CAAC;AAE7D,eAAO,MAAM,iBAAiB,GAAI,MAAM,iBAAiB,KAAG,MAAM,GAAG,SACzB,CAAC;AAC7C,eAAO,MAAM,oBAAoB,GAAI,MAAM,iBAAiB,KAAG,MAAM,GAAG,SACzB,CAAC;AAEhD,eAAO,MAAM,iCAAiC,GAAI,OAAO,uBAAuB,EAAE,KAAG,MAAM,EAGtF,CAAC;AAEN,eAAO,MAAM,yBAAyB,GAAI,OAAO,uBAAuB,EAAE,KAAG,MAY5E,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAO,MAgB9C,CAAC"}
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tools.ts"],"sourcesContent":["import { constGenericsEditor, UnlayerToolMetaData } from './shared/const';\nimport { editIconSvg } from './shared/edit-icon';\nimport { unlayerToolsParseUnitKey } from './shared/tools';\nimport { versions } from './unlayer';\n\nimport {\n UnlayerDesignCustomTool,\n UnlayerDesignFormat,\n UnlayerDesignTool,\n UnlayerEditorCustomTool,\n} from './unlayer-interface';\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport const unlayerGetDefaultDesign = (): UnlayerDesignFormat => ({\n counters: {\n u_column: 1,\n u_row: 1,\n u_content_custom_generic_list_of_fields: 1,\n },\n body: {\n rows: [\n {\n cells: [1],\n columns: [\n {\n contents: [],\n values: {\n backgroundColor: '',\n padding: '0px',\n border: {},\n _meta: {\n htmlID: 'u_column_1',\n htmlClassNames: 'u_column',\n },\n },\n },\n ],\n values: {\n displayCondition: null,\n columns: false,\n backgroundColor: '',\n columnsBackgroundColor: '',\n backgroundImage: {\n url: '',\n fullWidth: true,\n repeat: false,\n center: true,\n cover: false,\n },\n padding: '0px',\n hideDesktop: false,\n hideMobile: false,\n noStackMobile: false,\n _meta: {\n htmlID: 'u_row_1',\n htmlClassNames: 'u_row',\n },\n selectable: true,\n draggable: true,\n duplicatable: true,\n deletable: true,\n },\n },\n ],\n values: {\n backgroundColor: 'rgba(0,0,0,0)',\n backgroundImage: {\n url: '',\n fullWidth: true,\n repeat: false,\n center: true,\n cover: false,\n },\n contentWidth: '100%',\n contentAlign: 'center',\n fontFamily: {\n label: 'Arial',\n value: 'arial,helvetica,sans-serif',\n },\n preheaderText: '',\n linkStyle: {\n body: true,\n linkColor: '#0000ee',\n linkHoverColor: '#0000ee',\n linkUnderline: true,\n linkHoverUnderline: true,\n },\n _meta: {\n htmlID: 'u_body',\n htmlClassNames: 'u_body',\n },\n },\n },\n schemaVersion: versions.schema,\n});\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport const unlayerToolsIterate = (\n design: UnlayerDesignFormat,\n cb: (tool: UnlayerDesignTool) => boolean | undefined | void\n) => {\n for (const row of design?.body?.rows ?? []) {\n for (const column of row.columns) {\n for (const content of column.contents) {\n if (cb(content) === false) {\n return;\n }\n }\n }\n }\n};\n\nexport const unlayerToolsIterateCustom = (\n design: UnlayerDesignFormat,\n cb: (tool: UnlayerDesignCustomTool) => boolean | undefined | void\n) => {\n unlayerToolsIterate(design, tool => {\n if (tool.type === 'custom' && tool.slug) {\n return cb(tool as any);\n }\n });\n};\n\nexport const unlayerToolsListCustomKeys = (design: UnlayerDesignFormat): string[] => {\n return Array.from(new Set(unlayerToolsListCustom(design).map(tool => tool.slug)));\n};\n\nexport const unlayerToolsFind = (\n design: UnlayerDesignFormat,\n cb: (tool: UnlayerDesignTool) => boolean | void\n): UnlayerDesignTool | undefined => {\n let out: UnlayerDesignTool | undefined;\n\n unlayerToolsIterate(design, tool => {\n if (cb(tool)) {\n out = tool;\n return false;\n }\n });\n\n return out;\n};\n\nexport interface UnlayerCustomToolsStat {\n counters: Record<string, number>;\n missing: string[];\n notSupported: string[];\n}\n\nexport const unlayerToolsCustomStat = (\n design: UnlayerDesignFormat,\n tools?: { key: string; isRequired?: boolean }[],\n units?: { id: string; generic: string; isRequired?: boolean }[]\n): UnlayerCustomToolsStat => {\n const counters: Record<string, number> = {};\n const notSupported = new Set<string>();\n const unitIDs = new Set<string>();\n\n unlayerToolsIterateCustom(design, tool => {\n if (!counters[tool.slug]) {\n counters[tool.slug] = 0;\n }\n\n counters[tool.slug]++;\n\n const isUnit = unlayerToolsParseUnitKey(tool.slug);\n\n if (isUnit) {\n unitIDs.add(isUnit.id);\n }\n\n if (\n (isUnit && !units?.some(unit => unit.id === isUnit.id)) ??\n (!isUnit && !tools?.some(t => t.key === tool.slug))\n ) {\n notSupported.add(tool.slug);\n }\n });\n\n return {\n counters,\n notSupported: Array.from(notSupported),\n\n missing: [\n ...(tools\n ?.filter(tool => tool.isRequired && !counters[tool.key])\n .map(tool => tool.key) ?? []),\n ...(units\n ?.filter(unit => unit.isRequired && !unitIDs.has(unit.id))\n .map(unit => unit.id) ?? []),\n ],\n };\n};\n\nexport const unlayerToolsListCustom = (design: UnlayerDesignFormat): UnlayerDesignCustomTool[] => {\n const tools: UnlayerDesignCustomTool[] = [];\n\n unlayerToolsIterateCustom(design, tool => {\n tools.push(tool);\n });\n\n return tools;\n};\n\nexport const unlayerToolsBuildDesign = (tools: UnlayerDesignTool[]): UnlayerDesignFormat => {\n const design = unlayerGetDefaultDesign();\n\n design.body.rows[0].columns[0].contents = tools;\n return design;\n};\n\nexport const unlayerUnitsGetIdFromValues = (values?: any): string | undefined =>\n values?.[constGenericsEditor.adminConfigProperty]?.crossId;\nexport const unlayerUnitsGetTitleFromValues = (values?: any): string | undefined =>\n values?.[constGenericsEditor.adminConfigProperty]?.title;\n\nexport const unlayerUnitsGetId = (tool: UnlayerDesignTool): string | undefined =>\n unlayerUnitsGetIdFromValues(tool.values);\nexport const unlayerUnitsGetTitle = (tool: UnlayerDesignTool): string | undefined =>\n unlayerUnitsGetTitleFromValues(tool.values);\n\nexport const unlayerCustomToolsGetRegisterUrls = (tools: UnlayerEditorCustomTool[]): string[] =>\n Array.from(\n new Set(tools.map(tool => (tool.groupUrl ? `${tool.groupUrl}/index.js` : tool.url)))\n );\n\nexport const unlayerCustomToolMetaData = (tools: UnlayerEditorCustomTool[]): string => {\n const toolMetaData = tools.reduce((acc: Record<string, UnlayerToolMetaData>, tool) => {\n acc[tool.title] = {\n key: tool.key,\n description: tool.description,\n };\n return acc;\n }, {});\n\n return `\n window.dteStore.setToolMetaData(${JSON.stringify(toolMetaData)});\n `;\n};\n\nexport const unlayerCustomEmptyToolState = (): string => {\n const divElement = document.createElement('div');\n const editIconContainer = document.createElement('div');\n const textContainer = document.createElement('div');\n\n divElement.classList.add('unlayer-custom-empty-tool-state');\n editIconContainer.classList.add('unlayer-custom-empty-tool-state-icon');\n textContainer.classList.add('unlayer-custom-empty-tool-state-text');\n\n editIconContainer.innerHTML = editIconSvg;\n textContainer.innerText = 'Please choose \\n\\r your component';\n divElement.appendChild(editIconContainer);\n divElement.appendChild(textContainer);\n return `\n document.querySelector('.tab-content .tab-pane').innerHTML = \\`${divElement.outerHTML}\\`;\n `;\n};\n"],"names":["constGenericsEditor","editIconSvg","unlayerToolsParseUnitKey","versions","unlayerGetDefaultDesign","counters","u_column","u_row","u_content_custom_generic_list_of_fields","body","rows","cells","columns","contents","values","backgroundColor","padding","border","_meta","htmlID","htmlClassNames","displayCondition","columnsBackgroundColor","backgroundImage","url","fullWidth","repeat","center","cover","hideDesktop","hideMobile","noStackMobile","selectable","draggable","duplicatable","deletable","contentWidth","contentAlign","fontFamily","label","value","preheaderText","linkStyle","linkColor","linkHoverColor","linkUnderline","linkHoverUnderline","schemaVersion","schema","unlayerToolsIterate","design","cb","row","column","content","unlayerToolsIterateCustom","tool","type","slug","unlayerToolsListCustomKeys","Array","from","Set","unlayerToolsListCustom","map","unlayerToolsFind","out","unlayerToolsCustomStat","tools","units","notSupported","unitIDs","isUnit","add","id","some","unit","t","key","missing","filter","isRequired","has","push","unlayerToolsBuildDesign","unlayerUnitsGetIdFromValues","adminConfigProperty","crossId","unlayerUnitsGetTitleFromValues","title","unlayerUnitsGetId","unlayerUnitsGetTitle","unlayerCustomToolsGetRegisterUrls","groupUrl","unlayerCustomToolMetaData","toolMetaData","reduce","acc","description","JSON","stringify","unlayerCustomEmptyToolState","divElement","document","createElement","editIconContainer","textContainer","classList","innerHTML","innerText","appendChild","outerHTML"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/tools.ts"],"sourcesContent":["import { constGenericsEditor, UnlayerToolMetaData } from './shared/const';\nimport { editIconSvg } from './shared/edit-icon';\nimport { unlayerToolsParseUnitKey } from './shared/tools';\nimport { versions } from './unlayer';\n\nimport type {\n UnlayerDesignCustomTool,\n UnlayerDesignFormat,\n UnlayerDesignTool,\n UnlayerEditorCustomTool,\n} from './unlayer-interface';\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport const unlayerGetDefaultDesign = (): UnlayerDesignFormat => ({\n counters: {\n u_column: 1,\n u_row: 1,\n u_content_custom_generic_list_of_fields: 1,\n },\n body: {\n rows: [\n {\n cells: [1],\n columns: [\n {\n contents: [],\n values: {\n backgroundColor: '',\n padding: '0px',\n border: {},\n _meta: {\n htmlID: 'u_column_1',\n htmlClassNames: 'u_column',\n },\n },\n },\n ],\n values: {\n displayCondition: null,\n columns: false,\n backgroundColor: '',\n columnsBackgroundColor: '',\n backgroundImage: {\n url: '',\n fullWidth: true,\n repeat: false,\n center: true,\n cover: false,\n },\n padding: '0px',\n hideDesktop: false,\n hideMobile: false,\n noStackMobile: false,\n _meta: {\n htmlID: 'u_row_1',\n htmlClassNames: 'u_row',\n },\n selectable: true,\n draggable: true,\n duplicatable: true,\n deletable: true,\n },\n },\n ],\n values: {\n backgroundColor: 'rgba(0,0,0,0)',\n backgroundImage: {\n url: '',\n fullWidth: true,\n repeat: false,\n center: true,\n cover: false,\n },\n contentWidth: '100%',\n contentAlign: 'center',\n fontFamily: {\n label: 'Arial',\n value: 'arial,helvetica,sans-serif',\n },\n preheaderText: '',\n linkStyle: {\n body: true,\n linkColor: '#0000ee',\n linkHoverColor: '#0000ee',\n linkUnderline: true,\n linkHoverUnderline: true,\n },\n _meta: {\n htmlID: 'u_body',\n htmlClassNames: 'u_body',\n },\n },\n },\n schemaVersion: versions.schema,\n});\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport const unlayerToolsIterate = (\n design: UnlayerDesignFormat,\n cb: (tool: UnlayerDesignTool) => boolean | undefined | void\n) => {\n for (const row of design?.body?.rows ?? []) {\n for (const column of row.columns) {\n for (const content of column.contents) {\n if (cb(content) === false) {\n return;\n }\n }\n }\n }\n};\n\nexport const unlayerToolsIterateCustom = (\n design: UnlayerDesignFormat,\n cb: (tool: UnlayerDesignCustomTool) => boolean | undefined | void\n) => {\n unlayerToolsIterate(design, tool => {\n if (tool.type === 'custom' && tool.slug) {\n return cb(tool as any);\n }\n });\n};\n\nexport const unlayerToolsListCustomKeys = (design: UnlayerDesignFormat): string[] => {\n return Array.from(new Set(unlayerToolsListCustom(design).map(tool => tool.slug)));\n};\n\nexport const unlayerToolsFind = (\n design: UnlayerDesignFormat,\n cb: (tool: UnlayerDesignTool) => boolean | void\n): UnlayerDesignTool | undefined => {\n let out: UnlayerDesignTool | undefined;\n\n unlayerToolsIterate(design, tool => {\n if (cb(tool)) {\n out = tool;\n return false;\n }\n });\n\n return out;\n};\n\nexport interface UnlayerCustomToolsStat {\n counters: Record<string, number>;\n missing: string[];\n notSupported: string[];\n}\n\nexport const unlayerToolsCustomStat = (\n design: UnlayerDesignFormat,\n tools?: { key: string; isRequired?: boolean }[],\n units?: { id: string; generic: string; isRequired?: boolean }[]\n): UnlayerCustomToolsStat => {\n const counters: Record<string, number> = {};\n const notSupported = new Set<string>();\n const unitIDs = new Set<string>();\n\n unlayerToolsIterateCustom(design, tool => {\n if (!counters[tool.slug]) {\n counters[tool.slug] = 0;\n }\n\n counters[tool.slug]++;\n\n const isUnit = unlayerToolsParseUnitKey(tool.slug);\n\n if (isUnit) {\n unitIDs.add(isUnit.id);\n }\n\n if (\n (isUnit && !units?.some(unit => unit.id === isUnit.id)) ??\n (!isUnit && !tools?.some(t => t.key === tool.slug))\n ) {\n notSupported.add(tool.slug);\n }\n });\n\n return {\n counters,\n notSupported: Array.from(notSupported),\n\n missing: [\n ...(tools\n ?.filter(tool => tool.isRequired && !counters[tool.key])\n .map(tool => tool.key) ?? []),\n ...(units\n ?.filter(unit => unit.isRequired && !unitIDs.has(unit.id))\n .map(unit => unit.id) ?? []),\n ],\n };\n};\n\nexport const unlayerToolsListCustom = (design: UnlayerDesignFormat): UnlayerDesignCustomTool[] => {\n const tools: UnlayerDesignCustomTool[] = [];\n\n unlayerToolsIterateCustom(design, tool => {\n tools.push(tool);\n });\n\n return tools;\n};\n\nexport const unlayerToolsBuildDesign = (tools: UnlayerDesignTool[]): UnlayerDesignFormat => {\n const design = unlayerGetDefaultDesign();\n\n design.body.rows[0].columns[0].contents = tools;\n return design;\n};\n\nexport const unlayerUnitsGetIdFromValues = (values?: any): string | undefined =>\n values?.[constGenericsEditor.adminConfigProperty]?.crossId;\nexport const unlayerUnitsGetTitleFromValues = (values?: any): string | undefined =>\n values?.[constGenericsEditor.adminConfigProperty]?.title;\n\nexport const unlayerUnitsGetId = (tool: UnlayerDesignTool): string | undefined =>\n unlayerUnitsGetIdFromValues(tool.values);\nexport const unlayerUnitsGetTitle = (tool: UnlayerDesignTool): string | undefined =>\n unlayerUnitsGetTitleFromValues(tool.values);\n\nexport const unlayerCustomToolsGetRegisterUrls = (tools: UnlayerEditorCustomTool[]): string[] =>\n Array.from(\n new Set(tools.map(tool => (tool.groupUrl ? `${tool.groupUrl}/index.js` : tool.url)))\n );\n\nexport const unlayerCustomToolMetaData = (tools: UnlayerEditorCustomTool[]): string => {\n const toolMetaData = tools.reduce((acc: Record<string, UnlayerToolMetaData>, tool) => {\n acc[tool.title] = {\n key: tool.key,\n description: tool.description,\n };\n return acc;\n }, {});\n\n return `\n window.dteStore.setToolMetaData(${JSON.stringify(toolMetaData)});\n `;\n};\n\nexport const unlayerCustomEmptyToolState = (): string => {\n const divElement = document.createElement('div');\n const editIconContainer = document.createElement('div');\n const textContainer = document.createElement('div');\n\n divElement.classList.add('unlayer-custom-empty-tool-state');\n editIconContainer.classList.add('unlayer-custom-empty-tool-state-icon');\n textContainer.classList.add('unlayer-custom-empty-tool-state-text');\n\n editIconContainer.innerHTML = editIconSvg;\n textContainer.innerText = 'Please choose \\n\\r your component';\n divElement.appendChild(editIconContainer);\n divElement.appendChild(textContainer);\n return `\n document.querySelector('.tab-content .tab-pane').innerHTML = \\`${divElement.outerHTML}\\`;\n `;\n};\n"],"names":["constGenericsEditor","editIconSvg","unlayerToolsParseUnitKey","versions","unlayerGetDefaultDesign","counters","u_column","u_row","u_content_custom_generic_list_of_fields","body","rows","cells","columns","contents","values","backgroundColor","padding","border","_meta","htmlID","htmlClassNames","displayCondition","columnsBackgroundColor","backgroundImage","url","fullWidth","repeat","center","cover","hideDesktop","hideMobile","noStackMobile","selectable","draggable","duplicatable","deletable","contentWidth","contentAlign","fontFamily","label","value","preheaderText","linkStyle","linkColor","linkHoverColor","linkUnderline","linkHoverUnderline","schemaVersion","schema","unlayerToolsIterate","design","cb","row","column","content","unlayerToolsIterateCustom","tool","type","slug","unlayerToolsListCustomKeys","Array","from","Set","unlayerToolsListCustom","map","unlayerToolsFind","out","unlayerToolsCustomStat","tools","units","notSupported","unitIDs","isUnit","add","id","some","unit","t","key","missing","filter","isRequired","has","push","unlayerToolsBuildDesign","unlayerUnitsGetIdFromValues","adminConfigProperty","crossId","unlayerUnitsGetTitleFromValues","title","unlayerUnitsGetId","unlayerUnitsGetTitle","unlayerCustomToolsGetRegisterUrls","groupUrl","unlayerCustomToolMetaData","toolMetaData","reduce","acc","description","JSON","stringify","unlayerCustomEmptyToolState","divElement","document","createElement","editIconContainer","textContainer","classList","innerHTML","innerText","appendChild","outerHTML"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/dte-unlayer",
3
- "version": "0.146.0",
3
+ "version": "0.148.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  import { loadScript } from './loadScript';
2
2
  import { unlayerCustomToolsGetRegisterUrls } from './tools';
3
- import { UnlayerEditorCustomTool } from './unlayer-interface';
3
+ import type { UnlayerEditorCustomTool } from './unlayer-interface';
4
4
 
5
5
  export class UnlayerCustomToolsApi {
6
6
  /*