@servicetitan/dte-unlayer 0.154.0 → 0.156.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/display-conditions/ConditionRow.d.ts.map +1 -1
- package/dist/display-conditions/ConditionRow.js +111 -95
- package/dist/display-conditions/ConditionRow.js.map +1 -1
- package/dist/display-conditions/DisplayConditionModal.d.ts +3 -3
- package/dist/display-conditions/DisplayConditionModal.d.ts.map +1 -1
- package/dist/display-conditions/DisplayConditionModal.js +8 -95
- package/dist/display-conditions/DisplayConditionModal.js.map +1 -1
- package/dist/display-conditions/useConditionForms.d.ts +22 -0
- package/dist/display-conditions/useConditionForms.d.ts.map +1 -0
- package/dist/display-conditions/useConditionForms.js +110 -0
- package/dist/display-conditions/useConditionForms.js.map +1 -0
- package/dist/e-sign-offset/ESignDateSignedOffsetModal.d.ts +11 -0
- package/dist/e-sign-offset/ESignDateSignedOffsetModal.d.ts.map +1 -0
- package/dist/e-sign-offset/ESignDateSignedOffsetModal.js +192 -0
- package/dist/e-sign-offset/ESignDateSignedOffsetModal.js.map +1 -0
- package/dist/e-sign-offset/ESignOffsetRuleRow.d.ts +20 -0
- package/dist/e-sign-offset/ESignOffsetRuleRow.d.ts.map +1 -0
- package/dist/e-sign-offset/ESignOffsetRuleRow.js +87 -0
- package/dist/e-sign-offset/ESignOffsetRuleRow.js.map +1 -0
- package/dist/e-sign-offset/eSignOffsetController.d.ts +10 -0
- package/dist/e-sign-offset/eSignOffsetController.d.ts.map +1 -0
- package/dist/e-sign-offset/eSignOffsetController.js +27 -0
- package/dist/e-sign-offset/eSignOffsetController.js.map +1 -0
- package/dist/editor-core-source.d.ts +2 -2
- package/dist/editor-core-source.d.ts.map +1 -1
- package/dist/editor-core-source.js +2 -2
- package/dist/editor-core-source.js.map +1 -1
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +8 -0
- package/dist/editor.js.map +1 -1
- package/dist/image-upload-error.d.ts +5 -0
- package/dist/image-upload-error.d.ts.map +1 -0
- package/dist/image-upload-error.js +8 -0
- package/dist/image-upload-error.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/shared/const.d.ts +30 -0
- package/dist/shared/const.d.ts.map +1 -1
- package/dist/shared/const.js +5 -0
- package/dist/shared/const.js.map +1 -1
- package/dist/shared/e-sign-offset.d.ts +21 -0
- package/dist/shared/e-sign-offset.d.ts.map +1 -0
- package/dist/shared/e-sign-offset.js +130 -0
- package/dist/shared/e-sign-offset.js.map +1 -0
- package/dist/store.d.ts +1 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +36 -11
- package/dist/store.js.map +1 -1
- package/dist/tools.d.ts +6 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +21 -1
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/e-sign-offset.test.ts +281 -0
- package/src/__tests__/store.image-upload.test.ts +132 -0
- package/src/display-conditions/ConditionRow.tsx +86 -81
- package/src/display-conditions/DisplayConditionModal.tsx +12 -116
- package/src/display-conditions/useConditionForms.ts +146 -0
- package/src/e-sign-offset/ESignDateSignedOffsetModal.tsx +197 -0
- package/src/e-sign-offset/ESignOffsetRuleRow.tsx +101 -0
- package/src/e-sign-offset/eSignOffsetController.ts +39 -0
- package/src/editor-core-source.ts +2 -2
- package/src/editor.tsx +9 -0
- package/src/image-upload-error.ts +7 -0
- package/src/index.ts +1 -0
- package/src/shared/const.ts +37 -0
- package/src/shared/e-sign-offset.ts +173 -0
- package/src/store.ts +53 -8
- package/src/tools.ts +36 -1
package/dist/editor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAOhB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAOhB,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAgB,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,MAAM,WAAW,kBAAkB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,EAAE,wBAAwB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,OAAO,CAAC,IAAI,IAAI,CAAC;IAEjB,QAAQ,CAAC,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAE/C,cAAc,CAAC,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAE/C,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/C,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,aAAa,2DAAwC,CAAC;AAEnE,eAAO,MAAM,aAAa,2GAyHxB,CAAC"}
|
package/dist/editor.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
3
3
|
import { DisplayConditionModal } from './display-conditions/DisplayConditionModal';
|
|
4
|
+
import { ESignDateSignedOffsetModal } from './e-sign-offset/ESignDateSignedOffsetModal';
|
|
4
5
|
import { getErrorMessage } from './log';
|
|
5
6
|
import { UnlayerStore } from './store';
|
|
6
7
|
export const useUnlayerRef = ()=>useRef(null);
|
|
7
8
|
export const UnlayerEditor = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
8
9
|
var _props_id;
|
|
10
|
+
var _props_opts_eSignRecipients;
|
|
9
11
|
const [isReady, setIsReady] = useState(false);
|
|
10
12
|
const [loadError, setLoadError] = useState();
|
|
11
13
|
const containerRef = useRef(null);
|
|
@@ -136,6 +138,12 @@ export const UnlayerEditor = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
|
136
138
|
schema: props.opts.schema,
|
|
137
139
|
onConditionalsOpen: props.opts.onConditionalsOpen,
|
|
138
140
|
onConditionFormSelect: props.opts.onConditionFormSelect
|
|
141
|
+
}),
|
|
142
|
+
!!((_props_opts_eSignRecipients = props.opts.eSignRecipients) === null || _props_opts_eSignRecipients === void 0 ? void 0 : _props_opts_eSignRecipients.length) && /*#__PURE__*/ _jsx(ESignDateSignedOffsetModal, {
|
|
143
|
+
portalContainer: props.opts.displayConditionModalPortalContainer,
|
|
144
|
+
schema: props.opts.schema,
|
|
145
|
+
onConditionalsOpen: props.opts.onConditionalsOpen,
|
|
146
|
+
onConditionFormSelect: props.opts.onConditionFormSelect
|
|
139
147
|
})
|
|
140
148
|
]
|
|
141
149
|
});
|
package/dist/editor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/editor.tsx"],"sourcesContent":["import {\n CSSProperties,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { DisplayConditionModal } from './display-conditions/DisplayConditionModal';\nimport { getErrorMessage } from './log';\nimport { UnlayerEditorTwin } from './shared/const';\nimport { UnlayerStore, UnlayerDesignChangeInfo } from './store';\nimport { UnlayerRef, CreateUnlayerEditorProps } from './unlayer-interface';\n\nexport interface UnlayerEditorProps {\n id?: string;\n design?: any;\n opts: CreateUnlayerEditorProps;\n minHeight?: number;\n style?: CSSProperties;\n\n onReady?(): void;\n\n onChange?(info: UnlayerDesignChangeInfo): void;\n\n onSnapshotSave?(tool: UnlayerEditorTwin): void;\n\n onImage?(file: File): Promise<{ url: string }>;\n\n onError?(title: string, description?: string): void;\n\n onMessage?(type: string, data: any): void;\n}\n\nexport const useUnlayerRef = () => useRef<UnlayerRef | null>(null);\n\nexport const UnlayerEditor = forwardRef<UnlayerRef, UnlayerEditorProps>((props, ref) => {\n const [isReady, setIsReady] = useState(false);\n const [loadError, setLoadError] = useState<string>();\n const containerRef = useRef<HTMLDivElement | null>(null);\n const store = useMemo(\n () => new UnlayerStore(props.opts),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n useEffect(() => {\n store.setOnError(props.onError);\n\n return () => store.setOnError();\n }, [props.onError, store]);\n\n useEffect(() => {\n if (containerRef.current) {\n store\n .init(containerRef.current)\n .then(() => {\n setLoadError(undefined);\n setIsReady(true);\n })\n .catch((error: unknown) => {\n const description = getErrorMessage(error);\n setIsReady(false);\n setLoadError(description);\n props.onError?.('Editor failed to load', description);\n });\n }\n\n return () => store.destroy();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n useImperativeHandle(ref, () => store.unlayerRef, [store]);\n\n useEffect(() => {\n if (isReady) {\n store.setDesign(props.design);\n }\n }, [isReady, props.design, store]);\n\n useEffect(() => {\n store.setOnChange(props.onChange);\n\n return () => store.setOnChange();\n }, [props.onChange, store]);\n\n useEffect(() => {\n store.setOnSnapshotSave(props.onSnapshotSave);\n\n return () => store.setOnSnapshotSave();\n }, [props.onSnapshotSave, store]);\n\n useEffect(() => {\n if (props.opts.newSnapshot) {\n store.addTwin(props.opts.newSnapshot);\n }\n }, [props.opts.newSnapshot, store]);\n\n useEffect(() => {\n store.setOnReady(props.onReady);\n\n return () => store.setOnReady();\n }, [props.onReady, store]);\n\n useEffect(() => {\n store.setOnImage(props.onImage);\n\n return () => store.setOnImage();\n }, [props.onImage, store]);\n\n useEffect(() => {\n store.setOnMessage(props.onMessage);\n\n return () => store.setOnMessage();\n }, [props.onMessage, store]);\n\n useEffect(() => {\n store.setOnFormSelect(props.opts.onFormSelect);\n\n return () => store.setOnFormSelect();\n }, [props.opts.onFormSelect, store]);\n\n useEffect(() => {\n store.setOnCalcFieldOpen(props.opts.onCalcFieldOpen);\n\n return () => store.setOnCalcFieldOpen();\n }, [props.opts.onCalcFieldOpen, store]);\n\n useEffect(() => {\n store.setOnCalcFieldSelect(props.opts.onCalcFieldSelect);\n\n return () => store.setOnCalcFieldSelect();\n }, [props.opts.onCalcFieldSelect, store]);\n\n const { minHeight = 800, style = {} } = props;\n\n return (\n <div style={{ minHeight, display: 'flex' }}>\n {loadError && <p className=\"c-red-500\">error loading editor: {loadError}</p>}\n <div id={props.id ?? 'editor'} style={style} ref={containerRef} />\n {props.opts.displayConditions && (\n <DisplayConditionModal\n portalContainer={props.opts.displayConditionModalPortalContainer}\n schema={props.opts.schema}\n onConditionalsOpen={props.opts.onConditionalsOpen}\n onConditionFormSelect={props.opts.onConditionFormSelect}\n />\n )}\n </div>\n );\n});\n"],"names":["forwardRef","useEffect","useImperativeHandle","useMemo","useRef","useState","DisplayConditionModal","getErrorMessage","UnlayerStore","useUnlayerRef","UnlayerEditor","props","ref","isReady","setIsReady","loadError","setLoadError","containerRef","store","opts","setOnError","onError","current","init","then","undefined","catch","error","description","destroy","unlayerRef","setDesign","design","setOnChange","onChange","setOnSnapshotSave","onSnapshotSave","newSnapshot","addTwin","setOnReady","onReady","setOnImage","onImage","setOnMessage","onMessage","setOnFormSelect","onFormSelect","setOnCalcFieldOpen","onCalcFieldOpen","setOnCalcFieldSelect","onCalcFieldSelect","minHeight","style","div","display","p","className","id","displayConditions","portalContainer","displayConditionModalPortalContainer","schema","onConditionalsOpen","onConditionFormSelect"],"mappings":";AAAA,SAEIA,UAAU,EACVC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACL,QAAQ;AACf,SAASC,qBAAqB,QAAQ,6CAA6C;AACnF,SAASC,eAAe,QAAQ,QAAQ;AAExC,SAASC,YAAY,QAAiC,UAAU;AAuBhE,OAAO,MAAMC,gBAAgB,
|
|
1
|
+
{"version":3,"sources":["../src/editor.tsx"],"sourcesContent":["import {\n CSSProperties,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { DisplayConditionModal } from './display-conditions/DisplayConditionModal';\nimport { ESignDateSignedOffsetModal } from './e-sign-offset/ESignDateSignedOffsetModal';\nimport { getErrorMessage } from './log';\nimport { UnlayerEditorTwin } from './shared/const';\nimport { UnlayerStore, UnlayerDesignChangeInfo } from './store';\nimport { UnlayerRef, CreateUnlayerEditorProps } from './unlayer-interface';\n\nexport interface UnlayerEditorProps {\n id?: string;\n design?: any;\n opts: CreateUnlayerEditorProps;\n minHeight?: number;\n style?: CSSProperties;\n\n onReady?(): void;\n\n onChange?(info: UnlayerDesignChangeInfo): void;\n\n onSnapshotSave?(tool: UnlayerEditorTwin): void;\n\n onImage?(file: File): Promise<{ url: string }>;\n\n onError?(title: string, description?: string): void;\n\n onMessage?(type: string, data: any): void;\n}\n\nexport const useUnlayerRef = () => useRef<UnlayerRef | null>(null);\n\nexport const UnlayerEditor = forwardRef<UnlayerRef, UnlayerEditorProps>((props, ref) => {\n const [isReady, setIsReady] = useState(false);\n const [loadError, setLoadError] = useState<string>();\n const containerRef = useRef<HTMLDivElement | null>(null);\n const store = useMemo(\n () => new UnlayerStore(props.opts),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n useEffect(() => {\n store.setOnError(props.onError);\n\n return () => store.setOnError();\n }, [props.onError, store]);\n\n useEffect(() => {\n if (containerRef.current) {\n store\n .init(containerRef.current)\n .then(() => {\n setLoadError(undefined);\n setIsReady(true);\n })\n .catch((error: unknown) => {\n const description = getErrorMessage(error);\n setIsReady(false);\n setLoadError(description);\n props.onError?.('Editor failed to load', description);\n });\n }\n\n return () => store.destroy();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n useImperativeHandle(ref, () => store.unlayerRef, [store]);\n\n useEffect(() => {\n if (isReady) {\n store.setDesign(props.design);\n }\n }, [isReady, props.design, store]);\n\n useEffect(() => {\n store.setOnChange(props.onChange);\n\n return () => store.setOnChange();\n }, [props.onChange, store]);\n\n useEffect(() => {\n store.setOnSnapshotSave(props.onSnapshotSave);\n\n return () => store.setOnSnapshotSave();\n }, [props.onSnapshotSave, store]);\n\n useEffect(() => {\n if (props.opts.newSnapshot) {\n store.addTwin(props.opts.newSnapshot);\n }\n }, [props.opts.newSnapshot, store]);\n\n useEffect(() => {\n store.setOnReady(props.onReady);\n\n return () => store.setOnReady();\n }, [props.onReady, store]);\n\n useEffect(() => {\n store.setOnImage(props.onImage);\n\n return () => store.setOnImage();\n }, [props.onImage, store]);\n\n useEffect(() => {\n store.setOnMessage(props.onMessage);\n\n return () => store.setOnMessage();\n }, [props.onMessage, store]);\n\n useEffect(() => {\n store.setOnFormSelect(props.opts.onFormSelect);\n\n return () => store.setOnFormSelect();\n }, [props.opts.onFormSelect, store]);\n\n useEffect(() => {\n store.setOnCalcFieldOpen(props.opts.onCalcFieldOpen);\n\n return () => store.setOnCalcFieldOpen();\n }, [props.opts.onCalcFieldOpen, store]);\n\n useEffect(() => {\n store.setOnCalcFieldSelect(props.opts.onCalcFieldSelect);\n\n return () => store.setOnCalcFieldSelect();\n }, [props.opts.onCalcFieldSelect, store]);\n\n const { minHeight = 800, style = {} } = props;\n\n return (\n <div style={{ minHeight, display: 'flex' }}>\n {loadError && <p className=\"c-red-500\">error loading editor: {loadError}</p>}\n <div id={props.id ?? 'editor'} style={style} ref={containerRef} />\n {props.opts.displayConditions && (\n <DisplayConditionModal\n portalContainer={props.opts.displayConditionModalPortalContainer}\n schema={props.opts.schema}\n onConditionalsOpen={props.opts.onConditionalsOpen}\n onConditionFormSelect={props.opts.onConditionFormSelect}\n />\n )}\n {!!props.opts.eSignRecipients?.length && (\n <ESignDateSignedOffsetModal\n portalContainer={props.opts.displayConditionModalPortalContainer}\n schema={props.opts.schema}\n onConditionalsOpen={props.opts.onConditionalsOpen}\n onConditionFormSelect={props.opts.onConditionFormSelect}\n />\n )}\n </div>\n );\n});\n"],"names":["forwardRef","useEffect","useImperativeHandle","useMemo","useRef","useState","DisplayConditionModal","ESignDateSignedOffsetModal","getErrorMessage","UnlayerStore","useUnlayerRef","UnlayerEditor","props","ref","isReady","setIsReady","loadError","setLoadError","containerRef","store","opts","setOnError","onError","current","init","then","undefined","catch","error","description","destroy","unlayerRef","setDesign","design","setOnChange","onChange","setOnSnapshotSave","onSnapshotSave","newSnapshot","addTwin","setOnReady","onReady","setOnImage","onImage","setOnMessage","onMessage","setOnFormSelect","onFormSelect","setOnCalcFieldOpen","onCalcFieldOpen","setOnCalcFieldSelect","onCalcFieldSelect","minHeight","style","div","display","p","className","id","displayConditions","portalContainer","displayConditionModalPortalContainer","schema","onConditionalsOpen","onConditionFormSelect","eSignRecipients","length"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Reject `onImage` with this error to show its message to the user instead of the generic upload failure text. */
|
|
2
|
+
export declare class ImageUploadError extends Error {
|
|
3
|
+
constructor(message: string, options?: ErrorOptions);
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=image-upload-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-upload-error.d.ts","sourceRoot":"","sources":["../src/image-upload-error.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAItD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Reject `onImage` with this error to show its message to the user instead of the generic upload failure text. */ export class ImageUploadError extends Error {
|
|
2
|
+
constructor(message, options){
|
|
3
|
+
super(message, options);
|
|
4
|
+
this.name = 'ImageUploadError';
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=image-upload-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/image-upload-error.ts"],"sourcesContent":["/** Reject `onImage` with this error to show its message to the user instead of the generic upload failure text. */\nexport class ImageUploadError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = 'ImageUploadError';\n }\n}\n"],"names":["ImageUploadError","Error","message","options","name"],"mappings":"AAAA,iHAAiH,GACjH,OAAO,MAAMA,yBAAyBC;IAClC,YAAYC,OAAe,EAAEC,OAAsB,CAAE;QACjD,KAAK,CAACD,SAASC;QACf,IAAI,CAACC,IAAI,GAAG;IAChB;AACJ"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -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,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EACR,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,cAAc,CAAC;AACtB,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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EACR,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,cAAc,CAAC;AACtB,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
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 { isUnlayerMergeTagGroup, toUnlayerMergeTags } from './merge-tags';\nexport type {\n ToUnlayerMergeTagsOptions,\n UnlayerMergeTagGroup,\n UnlayerMergeTagLeaf,\n UnlayerMergeTagsConfig,\n} from './merge-tags';\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":["isUnlayerMergeTagGroup","toUnlayerMergeTags","versions","emptyArrayIfNull"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './editor';\nexport { ImageUploadError } from './image-upload-error';\nexport * from './tools';\nexport * from './api-core';\nexport * from './api-custom-tools';\nexport * from './unlayer-interface';\nexport { isUnlayerMergeTagGroup, toUnlayerMergeTags } from './merge-tags';\nexport type {\n ToUnlayerMergeTagsOptions,\n UnlayerMergeTagGroup,\n UnlayerMergeTagLeaf,\n UnlayerMergeTagsConfig,\n} from './merge-tags';\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":["ImageUploadError","isUnlayerMergeTagGroup","toUnlayerMergeTags","versions","emptyArrayIfNull"],"mappings":"AAAA,cAAc,WAAW;AACzB,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,SAASC,sBAAsB,EAAEC,kBAAkB,QAAQ,eAAe;AAO1E,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB;AAC/B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAE/B,SAASC,QAAQ,QAAQ,YAAY;AACrC,cAAc,qBAAqB;AACnC,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,cAAc,+CAA+C"}
|
package/dist/shared/const.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { DisplayConditionState } from '../display-conditions/types';
|
|
1
2
|
import { SchemaObject } from './schema';
|
|
2
3
|
export declare const constGenericsEditor: {
|
|
3
4
|
infoDataProperty: string;
|
|
@@ -9,6 +10,34 @@ export interface UnlayerEditorESignRecipientInfo {
|
|
|
9
10
|
name: string;
|
|
10
11
|
displayName: string;
|
|
11
12
|
}
|
|
13
|
+
export declare const E_SIGN_TOOL_SLUG = "e-sign";
|
|
14
|
+
export declare const E_SIGN_DATE_SIGNED_OFFSET_TYPE = "dateSignedOffset";
|
|
15
|
+
/** Must match the backend `EsignFieldSubTypes` registry key read from the e-sign tool values. */
|
|
16
|
+
export declare const E_SIGN_DATE_SIGNED_OFFSET_VALUES_KEY = "eSignDateSignedOffset";
|
|
17
|
+
export declare const MAX_E_SIGN_OFFSET_DAYS = 365;
|
|
18
|
+
/** Counts the trailing unconditional rule too. */
|
|
19
|
+
export declare const MAX_E_SIGN_OFFSET_RULES = 5;
|
|
20
|
+
export interface ESignDateSignedOffsetRule {
|
|
21
|
+
days: number;
|
|
22
|
+
/** Always `behavior: 'show'` with exactly one condition; the backend rejects anything else. */
|
|
23
|
+
condition: DisplayConditionState;
|
|
24
|
+
}
|
|
25
|
+
export interface ESignDateSignedOffsetFinalRule {
|
|
26
|
+
days: number;
|
|
27
|
+
condition?: never;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Ordered if / else-if / else chain: the first rule whose condition matches supplies the offset,
|
|
31
|
+
* and the last rule is always the unconditional fallback.
|
|
32
|
+
*/
|
|
33
|
+
export interface ESignDateSignedOffsetSettings {
|
|
34
|
+
rules: [ESignDateSignedOffsetFinalRule] | [...ESignDateSignedOffsetRule[], ESignDateSignedOffsetFinalRule];
|
|
35
|
+
}
|
|
36
|
+
/** Payload of both `--esign-offset-open` (iframe to parent) and `--esign-offset-result` (back). */
|
|
37
|
+
export interface UnlayerEventESignOffset {
|
|
38
|
+
requestId: string;
|
|
39
|
+
value: ESignDateSignedOffsetSettings;
|
|
40
|
+
}
|
|
12
41
|
export interface UnlayerEditorUnit {
|
|
13
42
|
id: string;
|
|
14
43
|
generic: string;
|
|
@@ -28,6 +57,7 @@ export interface UnlayerEventConfig {
|
|
|
28
57
|
isSnapshotMode?: boolean;
|
|
29
58
|
units?: UnlayerEditorUnit[];
|
|
30
59
|
holidays?: string[];
|
|
60
|
+
conditionalRulesEnabled?: boolean;
|
|
31
61
|
}
|
|
32
62
|
export interface UnlayerEventRegister {
|
|
33
63
|
units?: UnlayerEditorUnit[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/shared/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAEF,MAAM,WAAW,+BAA+B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/shared/const.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAEF,MAAM,WAAW,+BAA+B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,8BAA8B,qBAAqB,CAAC;AACjE,iGAAiG;AACjG,eAAO,MAAM,oCAAoC,0BAA0B,CAAC;AAC5E,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,SAAS,EAAE,qBAAqB,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,KAAK,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC1C,KAAK,EACC,CAAC,8BAA8B,CAAC,GAChC,CAAC,GAAG,yBAAyB,EAAE,EAAE,8BAA8B,CAAC,CAAC;CAC1E;AAED,mGAAmG;AACnG,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,6BAA6B,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACjC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,+BAA+B,EAAE,CAAC;IACpD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB"}
|
package/dist/shared/const.js
CHANGED
|
@@ -3,5 +3,10 @@ export const constGenericsEditor = {
|
|
|
3
3
|
adminConfigProperty: 'adminConfig',
|
|
4
4
|
userConfigProperty: 'config'
|
|
5
5
|
};
|
|
6
|
+
export const E_SIGN_TOOL_SLUG = 'e-sign';
|
|
7
|
+
export const E_SIGN_DATE_SIGNED_OFFSET_TYPE = 'dateSignedOffset';
|
|
8
|
+
/** Must match the backend `EsignFieldSubTypes` registry key read from the e-sign tool values. */ export const E_SIGN_DATE_SIGNED_OFFSET_VALUES_KEY = 'eSignDateSignedOffset';
|
|
9
|
+
export const MAX_E_SIGN_OFFSET_DAYS = 365;
|
|
10
|
+
/** Counts the trailing unconditional rule too. */ export const MAX_E_SIGN_OFFSET_RULES = 5;
|
|
6
11
|
|
|
7
12
|
//# sourceMappingURL=const.js.map
|
package/dist/shared/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/const.ts"],"sourcesContent":["import { SchemaObject } from './schema';\n\nexport const constGenericsEditor = {\n infoDataProperty: '_info',\n adminConfigProperty: 'adminConfig',\n userConfigProperty: 'config',\n};\n\nexport interface UnlayerEditorESignRecipientInfo {\n id: number;\n name: string;\n displayName: string;\n}\n\nexport interface UnlayerEditorUnit {\n id: string;\n generic: string;\n title: string;\n values: any;\n}\n\nexport interface UnlayerEditorTwin {\n tool: string;\n title: string;\n values: any;\n}\n\nexport interface UnlayerEventConfig {\n dummyData?: any;\n schema?: SchemaObject;\n generics?: true | string[];\n genericConfigMode?: boolean;\n isSnapshotMode?: boolean;\n units?: UnlayerEditorUnit[];\n holidays?: string[];\n}\n\nexport interface UnlayerEventRegister {\n units?: UnlayerEditorUnit[];\n eSignRecipients?: UnlayerEditorESignRecipientInfo[];\n eSignFieldTypes?: string[];\n customTools?: {\n key: string;\n title?: string;\n }[];\n toolTwins?: UnlayerEditorTwin[];\n}\n\nexport interface UnlayerToolMetaData {\n key: string;\n description?: string;\n}\n"],"names":["constGenericsEditor","infoDataProperty","adminConfigProperty","userConfigProperty"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/shared/const.ts"],"sourcesContent":["import type { DisplayConditionState } from '../display-conditions/types';\nimport { SchemaObject } from './schema';\n\nexport const constGenericsEditor = {\n infoDataProperty: '_info',\n adminConfigProperty: 'adminConfig',\n userConfigProperty: 'config',\n};\n\nexport interface UnlayerEditorESignRecipientInfo {\n id: number;\n name: string;\n displayName: string;\n}\n\nexport const E_SIGN_TOOL_SLUG = 'e-sign';\nexport const E_SIGN_DATE_SIGNED_OFFSET_TYPE = 'dateSignedOffset';\n/** Must match the backend `EsignFieldSubTypes` registry key read from the e-sign tool values. */\nexport const E_SIGN_DATE_SIGNED_OFFSET_VALUES_KEY = 'eSignDateSignedOffset';\nexport const MAX_E_SIGN_OFFSET_DAYS = 365;\n/** Counts the trailing unconditional rule too. */\nexport const MAX_E_SIGN_OFFSET_RULES = 5;\n\nexport interface ESignDateSignedOffsetRule {\n days: number;\n /** Always `behavior: 'show'` with exactly one condition; the backend rejects anything else. */\n condition: DisplayConditionState;\n}\n\nexport interface ESignDateSignedOffsetFinalRule {\n days: number;\n condition?: never;\n}\n\n/**\n * Ordered if / else-if / else chain: the first rule whose condition matches supplies the offset,\n * and the last rule is always the unconditional fallback.\n */\nexport interface ESignDateSignedOffsetSettings {\n rules:\n | [ESignDateSignedOffsetFinalRule]\n | [...ESignDateSignedOffsetRule[], ESignDateSignedOffsetFinalRule];\n}\n\n/** Payload of both `--esign-offset-open` (iframe to parent) and `--esign-offset-result` (back). */\nexport interface UnlayerEventESignOffset {\n requestId: string;\n value: ESignDateSignedOffsetSettings;\n}\n\nexport interface UnlayerEditorUnit {\n id: string;\n generic: string;\n title: string;\n values: any;\n}\n\nexport interface UnlayerEditorTwin {\n tool: string;\n title: string;\n values: any;\n}\n\nexport interface UnlayerEventConfig {\n dummyData?: any;\n schema?: SchemaObject;\n generics?: true | string[];\n genericConfigMode?: boolean;\n isSnapshotMode?: boolean;\n units?: UnlayerEditorUnit[];\n holidays?: string[];\n conditionalRulesEnabled?: boolean;\n}\n\nexport interface UnlayerEventRegister {\n units?: UnlayerEditorUnit[];\n eSignRecipients?: UnlayerEditorESignRecipientInfo[];\n eSignFieldTypes?: string[];\n customTools?: {\n key: string;\n title?: string;\n }[];\n toolTwins?: UnlayerEditorTwin[];\n}\n\nexport interface UnlayerToolMetaData {\n key: string;\n description?: string;\n}\n"],"names":["constGenericsEditor","infoDataProperty","adminConfigProperty","userConfigProperty","E_SIGN_TOOL_SLUG","E_SIGN_DATE_SIGNED_OFFSET_TYPE","E_SIGN_DATE_SIGNED_OFFSET_VALUES_KEY","MAX_E_SIGN_OFFSET_DAYS","MAX_E_SIGN_OFFSET_RULES"],"mappings":"AAGA,OAAO,MAAMA,sBAAsB;IAC/BC,kBAAkB;IAClBC,qBAAqB;IACrBC,oBAAoB;AACxB,EAAE;AAQF,OAAO,MAAMC,mBAAmB,SAAS;AACzC,OAAO,MAAMC,iCAAiC,mBAAmB;AACjE,+FAA+F,GAC/F,OAAO,MAAMC,uCAAuC,wBAAwB;AAC5E,OAAO,MAAMC,yBAAyB,IAAI;AAC1C,gDAAgD,GAChD,OAAO,MAAMC,0BAA0B,EAAE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type DataPointOption, type SingleCondition } from '../display-conditions/types';
|
|
2
|
+
import { type ESignDateSignedOffsetRule, type ESignDateSignedOffsetSettings } from './const';
|
|
3
|
+
export declare const clampESignOffsetDays: (days: unknown) => number;
|
|
4
|
+
export declare const createESignOffsetSettings: (days?: number) => ESignDateSignedOffsetSettings;
|
|
5
|
+
export declare const createESignOffsetRule: () => ESignDateSignedOffsetRule;
|
|
6
|
+
export declare const buildESignOffsetSettings: (conditionedRules: ESignDateSignedOffsetRule[], finalDays: number) => ESignDateSignedOffsetSettings;
|
|
7
|
+
export declare const splitESignOffsetSettings: (settings: ESignDateSignedOffsetSettings) => {
|
|
8
|
+
conditionedRules: ESignDateSignedOffsetRule[];
|
|
9
|
+
finalDays: number;
|
|
10
|
+
};
|
|
11
|
+
export declare function isESignOffsetSettings(value: unknown): value is ESignDateSignedOffsetSettings;
|
|
12
|
+
/** Coerces whatever is stored on the tool (missing, legacy or hand-edited) into a valid chain. */
|
|
13
|
+
export declare const normalizeESignOffsetSettings: (value: unknown) => ESignDateSignedOffsetSettings;
|
|
14
|
+
export declare const canAddESignOffsetRule: (rules: ESignDateSignedOffsetRule[]) => boolean;
|
|
15
|
+
export declare const addESignOffsetRule: (rules: ESignDateSignedOffsetRule[]) => ESignDateSignedOffsetRule[];
|
|
16
|
+
export declare const updateESignOffsetRule: (rules: ESignDateSignedOffsetRule[], index: number, nextRule: ESignDateSignedOffsetRule) => ESignDateSignedOffsetRule[];
|
|
17
|
+
export declare const removeESignOffsetRule: (rules: ESignDateSignedOffsetRule[], index: number) => ESignDateSignedOffsetRule[];
|
|
18
|
+
export declare const getESignOffsetRuleCondition: (rule: ESignDateSignedOffsetRule) => SingleCondition;
|
|
19
|
+
export declare const isCompleteESignOffsetCondition: (condition: SingleCondition | undefined, fieldType: DataPointOption["fieldType"]) => boolean;
|
|
20
|
+
export declare const getESignOffsetConditionText: (condition: SingleCondition, dataPointTitle: string) => string;
|
|
21
|
+
//# sourceMappingURL=e-sign-offset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e-sign-offset.d.ts","sourceRoot":"","sources":["../../src/shared/e-sign-offset.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,eAAe,EAEpB,KAAK,eAAe,EAEvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAGrC,MAAM,SAAS,CAAC;AAkBjB,eAAO,MAAM,oBAAoB,GAAI,MAAM,OAAO,WAMjD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,aAAQ,KAAG,6BAEpD,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,yBAExC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACjC,kBAAkB,yBAAyB,EAAE,EAC7C,WAAW,MAAM,KAClB,6BAOF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,UAAU,6BAA6B;;;CAQ/E,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,6BAA6B,CAoB5F;AAED,kGAAkG;AAClG,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,6BAwB7D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,yBAAyB,EAAE,YAEvE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,yBAAyB,EAAE,gCAEpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAC9B,OAAO,yBAAyB,EAAE,EAClC,OAAO,MAAM,EACb,UAAU,yBAAyB,gCAGtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,yBAAyB,EAAE,EAAE,OAAO,MAAM,gCAEtF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,MAAM,yBAAyB,oBAE1E,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACvC,WAAW,eAAe,GAAG,SAAS,EACtC,WAAW,eAAe,CAAC,WAAW,CAAC,YAa1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,WAAW,eAAe,EAAE,gBAAgB,MAAM,WAY7F,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { defaultGroup } from '../display-conditions/constants';
|
|
2
|
+
import { CONDITION_OPERATORS, VALUE_LESS_OPERATORS } from '../display-conditions/types';
|
|
3
|
+
import { MAX_E_SIGN_OFFSET_DAYS, MAX_E_SIGN_OFFSET_RULES } from './const';
|
|
4
|
+
const NUMERIC_VALUE_RE = /^-?(?:\d+\.?\d*|\.\d+)$/;
|
|
5
|
+
function isRecord(value) {
|
|
6
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
7
|
+
}
|
|
8
|
+
function isConditionState(value) {
|
|
9
|
+
return isRecord(value) && Array.isArray(value.groups) && value.groups.length > 0;
|
|
10
|
+
}
|
|
11
|
+
function isConditionedRule(rule) {
|
|
12
|
+
return rule.condition !== undefined;
|
|
13
|
+
}
|
|
14
|
+
export const clampESignOffsetDays = (days)=>{
|
|
15
|
+
if (typeof days !== 'number' || !Number.isFinite(days)) {
|
|
16
|
+
return 0;
|
|
17
|
+
}
|
|
18
|
+
return Math.max(Math.min(MAX_E_SIGN_OFFSET_DAYS, Math.trunc(days)), 0);
|
|
19
|
+
};
|
|
20
|
+
export const createESignOffsetSettings = (days = 0)=>{
|
|
21
|
+
return {
|
|
22
|
+
rules: [
|
|
23
|
+
{
|
|
24
|
+
days: clampESignOffsetDays(days)
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export const createESignOffsetRule = ()=>{
|
|
30
|
+
return {
|
|
31
|
+
condition: {
|
|
32
|
+
behavior: 'show',
|
|
33
|
+
groups: [
|
|
34
|
+
defaultGroup()
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
days: 0
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export const buildESignOffsetSettings = (conditionedRules, finalDays)=>{
|
|
41
|
+
return {
|
|
42
|
+
rules: [
|
|
43
|
+
...conditionedRules.map((rule)=>({
|
|
44
|
+
...rule,
|
|
45
|
+
days: clampESignOffsetDays(rule.days)
|
|
46
|
+
})),
|
|
47
|
+
{
|
|
48
|
+
days: clampESignOffsetDays(finalDays)
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
export const splitESignOffsetSettings = (settings)=>{
|
|
54
|
+
var _ref;
|
|
55
|
+
var _rules_;
|
|
56
|
+
const rules = settings.rules;
|
|
57
|
+
return {
|
|
58
|
+
conditionedRules: rules.filter(isConditionedRule),
|
|
59
|
+
finalDays: (_ref = (_rules_ = rules[rules.length - 1]) === null || _rules_ === void 0 ? void 0 : _rules_.days) !== null && _ref !== void 0 ? _ref : 0
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export function isESignOffsetSettings(value) {
|
|
63
|
+
if (!isRecord(value) || !Array.isArray(value.rules)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
const rules = value.rules;
|
|
67
|
+
if (rules.length === 0 || rules.length > MAX_E_SIGN_OFFSET_RULES) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
return rules.every((rule, index)=>{
|
|
71
|
+
if (!isRecord(rule) || clampESignOffsetDays(rule.days) !== rule.days) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return index === rules.length - 1 ? rule.condition === undefined : isConditionState(rule.condition);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/** Coerces whatever is stored on the tool (missing, legacy or hand-edited) into a valid chain. */ export const normalizeESignOffsetSettings = (value)=>{
|
|
78
|
+
if (isESignOffsetSettings(value)) {
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
if (!isRecord(value) || !Array.isArray(value.rules)) {
|
|
82
|
+
return createESignOffsetSettings();
|
|
83
|
+
}
|
|
84
|
+
const rules = value.rules;
|
|
85
|
+
const lastRule = rules[rules.length - 1];
|
|
86
|
+
const conditionedRules = rules.slice(0, -1).flatMap((rule)=>isRecord(rule) && isConditionState(rule.condition) ? [
|
|
87
|
+
{
|
|
88
|
+
condition: rule.condition,
|
|
89
|
+
days: clampESignOffsetDays(rule.days)
|
|
90
|
+
}
|
|
91
|
+
] : []).slice(0, MAX_E_SIGN_OFFSET_RULES - 1);
|
|
92
|
+
return buildESignOffsetSettings(conditionedRules, isRecord(lastRule) ? clampESignOffsetDays(lastRule.days) : 0);
|
|
93
|
+
};
|
|
94
|
+
export const canAddESignOffsetRule = (rules)=>{
|
|
95
|
+
return rules.length < MAX_E_SIGN_OFFSET_RULES - 1;
|
|
96
|
+
};
|
|
97
|
+
export const addESignOffsetRule = (rules)=>{
|
|
98
|
+
return canAddESignOffsetRule(rules) ? [
|
|
99
|
+
...rules,
|
|
100
|
+
createESignOffsetRule()
|
|
101
|
+
] : rules;
|
|
102
|
+
};
|
|
103
|
+
export const updateESignOffsetRule = (rules, index, nextRule)=>{
|
|
104
|
+
return rules.map((rule, ruleIndex)=>ruleIndex === index ? nextRule : rule);
|
|
105
|
+
};
|
|
106
|
+
export const removeESignOffsetRule = (rules, index)=>{
|
|
107
|
+
return rules.filter((_, ruleIndex)=>ruleIndex !== index);
|
|
108
|
+
};
|
|
109
|
+
export const getESignOffsetRuleCondition = (rule)=>{
|
|
110
|
+
var _rule_condition_groups_;
|
|
111
|
+
return (_rule_condition_groups_ = rule.condition.groups[0]) === null || _rule_condition_groups_ === void 0 ? void 0 : _rule_condition_groups_.conditions[0];
|
|
112
|
+
};
|
|
113
|
+
export const isCompleteESignOffsetCondition = (condition, fieldType)=>{
|
|
114
|
+
if (!(condition === null || condition === void 0 ? void 0 : condition.dataPointKey)) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
if (VALUE_LESS_OPERATORS.includes(condition.operator)) {
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
const value = condition.value.trim();
|
|
121
|
+
return value !== '' && (fieldType !== 'number' || NUMERIC_VALUE_RE.test(value));
|
|
122
|
+
};
|
|
123
|
+
export const getESignOffsetConditionText = (condition, dataPointTitle)=>{
|
|
124
|
+
var _ref;
|
|
125
|
+
var _CONDITION_OPERATORS_find;
|
|
126
|
+
const operatorLabel = ((_ref = (_CONDITION_OPERATORS_find = CONDITION_OPERATORS.find((operator)=>operator.value === condition.operator)) === null || _CONDITION_OPERATORS_find === void 0 ? void 0 : _CONDITION_OPERATORS_find.label) !== null && _ref !== void 0 ? _ref : condition.operator).split(' (')[0].replace('==', '=').toLowerCase();
|
|
127
|
+
return VALUE_LESS_OPERATORS.includes(condition.operator) ? `${dataPointTitle} ${operatorLabel}` : `${dataPointTitle} ${operatorLabel} ${condition.value}`;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
//# sourceMappingURL=e-sign-offset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/e-sign-offset.ts"],"sourcesContent":["import { defaultGroup } from '../display-conditions/constants';\nimport {\n CONDITION_OPERATORS,\n type DataPointOption,\n type DisplayConditionState,\n type SingleCondition,\n VALUE_LESS_OPERATORS,\n} from '../display-conditions/types';\nimport {\n type ESignDateSignedOffsetFinalRule,\n type ESignDateSignedOffsetRule,\n type ESignDateSignedOffsetSettings,\n MAX_E_SIGN_OFFSET_DAYS,\n MAX_E_SIGN_OFFSET_RULES,\n} from './const';\n\nconst NUMERIC_VALUE_RE = /^-?(?:\\d+\\.?\\d*|\\.\\d+)$/;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isConditionState(value: unknown): value is DisplayConditionState {\n return isRecord(value) && Array.isArray(value.groups) && value.groups.length > 0;\n}\n\nfunction isConditionedRule(\n rule: ESignDateSignedOffsetRule | ESignDateSignedOffsetFinalRule,\n): rule is ESignDateSignedOffsetRule {\n return rule.condition !== undefined;\n}\n\nexport const clampESignOffsetDays = (days: unknown) => {\n if (typeof days !== 'number' || !Number.isFinite(days)) {\n return 0;\n }\n\n return Math.max(Math.min(MAX_E_SIGN_OFFSET_DAYS, Math.trunc(days)), 0);\n};\n\nexport const createESignOffsetSettings = (days = 0): ESignDateSignedOffsetSettings => {\n return { rules: [{ days: clampESignOffsetDays(days) }] };\n};\n\nexport const createESignOffsetRule = (): ESignDateSignedOffsetRule => {\n return { condition: { behavior: 'show', groups: [defaultGroup()] }, days: 0 };\n};\n\nexport const buildESignOffsetSettings = (\n conditionedRules: ESignDateSignedOffsetRule[],\n finalDays: number,\n): ESignDateSignedOffsetSettings => {\n return {\n rules: [\n ...conditionedRules.map(rule => ({ ...rule, days: clampESignOffsetDays(rule.days) })),\n { days: clampESignOffsetDays(finalDays) },\n ],\n };\n};\n\nexport const splitESignOffsetSettings = (settings: ESignDateSignedOffsetSettings) => {\n const rules: readonly (ESignDateSignedOffsetRule | ESignDateSignedOffsetFinalRule)[] =\n settings.rules;\n\n return {\n conditionedRules: rules.filter(isConditionedRule),\n finalDays: rules[rules.length - 1]?.days ?? 0,\n };\n};\n\nexport function isESignOffsetSettings(value: unknown): value is ESignDateSignedOffsetSettings {\n if (!isRecord(value) || !Array.isArray(value.rules)) {\n return false;\n }\n\n const rules: unknown[] = value.rules;\n\n if (rules.length === 0 || rules.length > MAX_E_SIGN_OFFSET_RULES) {\n return false;\n }\n\n return rules.every((rule, index) => {\n if (!isRecord(rule) || clampESignOffsetDays(rule.days) !== rule.days) {\n return false;\n }\n\n return index === rules.length - 1\n ? rule.condition === undefined\n : isConditionState(rule.condition);\n });\n}\n\n/** Coerces whatever is stored on the tool (missing, legacy or hand-edited) into a valid chain. */\nexport const normalizeESignOffsetSettings = (value: unknown): ESignDateSignedOffsetSettings => {\n if (isESignOffsetSettings(value)) {\n return value;\n }\n\n if (!isRecord(value) || !Array.isArray(value.rules)) {\n return createESignOffsetSettings();\n }\n\n const rules: unknown[] = value.rules;\n const lastRule = rules[rules.length - 1];\n const conditionedRules = rules\n .slice(0, -1)\n .flatMap(rule =>\n isRecord(rule) && isConditionState(rule.condition)\n ? [{ condition: rule.condition, days: clampESignOffsetDays(rule.days) }]\n : [],\n )\n .slice(0, MAX_E_SIGN_OFFSET_RULES - 1);\n\n return buildESignOffsetSettings(\n conditionedRules,\n isRecord(lastRule) ? clampESignOffsetDays(lastRule.days) : 0,\n );\n};\n\nexport const canAddESignOffsetRule = (rules: ESignDateSignedOffsetRule[]) => {\n return rules.length < MAX_E_SIGN_OFFSET_RULES - 1;\n};\n\nexport const addESignOffsetRule = (rules: ESignDateSignedOffsetRule[]) => {\n return canAddESignOffsetRule(rules) ? [...rules, createESignOffsetRule()] : rules;\n};\n\nexport const updateESignOffsetRule = (\n rules: ESignDateSignedOffsetRule[],\n index: number,\n nextRule: ESignDateSignedOffsetRule,\n) => {\n return rules.map((rule, ruleIndex) => (ruleIndex === index ? nextRule : rule));\n};\n\nexport const removeESignOffsetRule = (rules: ESignDateSignedOffsetRule[], index: number) => {\n return rules.filter((_, ruleIndex) => ruleIndex !== index);\n};\n\nexport const getESignOffsetRuleCondition = (rule: ESignDateSignedOffsetRule) => {\n return rule.condition.groups[0]?.conditions[0];\n};\n\nexport const isCompleteESignOffsetCondition = (\n condition: SingleCondition | undefined,\n fieldType: DataPointOption['fieldType'],\n) => {\n if (!condition?.dataPointKey) {\n return false;\n }\n\n if (VALUE_LESS_OPERATORS.includes(condition.operator)) {\n return true;\n }\n\n const value = condition.value.trim();\n\n return value !== '' && (fieldType !== 'number' || NUMERIC_VALUE_RE.test(value));\n};\n\nexport const getESignOffsetConditionText = (condition: SingleCondition, dataPointTitle: string) => {\n const operatorLabel = (\n CONDITION_OPERATORS.find(operator => operator.value === condition.operator)?.label ??\n condition.operator\n )\n .split(' (')[0]\n .replace('==', '=')\n .toLowerCase();\n\n return VALUE_LESS_OPERATORS.includes(condition.operator)\n ? `${dataPointTitle} ${operatorLabel}`\n : `${dataPointTitle} ${operatorLabel} ${condition.value}`;\n};\n"],"names":["defaultGroup","CONDITION_OPERATORS","VALUE_LESS_OPERATORS","MAX_E_SIGN_OFFSET_DAYS","MAX_E_SIGN_OFFSET_RULES","NUMERIC_VALUE_RE","isRecord","value","Array","isArray","isConditionState","groups","length","isConditionedRule","rule","condition","undefined","clampESignOffsetDays","days","Number","isFinite","Math","max","min","trunc","createESignOffsetSettings","rules","createESignOffsetRule","behavior","buildESignOffsetSettings","conditionedRules","finalDays","map","splitESignOffsetSettings","settings","filter","isESignOffsetSettings","every","index","normalizeESignOffsetSettings","lastRule","slice","flatMap","canAddESignOffsetRule","addESignOffsetRule","updateESignOffsetRule","nextRule","ruleIndex","removeESignOffsetRule","_","getESignOffsetRuleCondition","conditions","isCompleteESignOffsetCondition","fieldType","dataPointKey","includes","operator","trim","test","getESignOffsetConditionText","dataPointTitle","operatorLabel","find","label","split","replace","toLowerCase"],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store.js
CHANGED
|
@@ -11,15 +11,18 @@ function _define_property(obj, key, value) {
|
|
|
11
11
|
}
|
|
12
12
|
return obj;
|
|
13
13
|
}
|
|
14
|
+
import { emitESignOffsetRequest } from './e-sign-offset/eSignOffsetController';
|
|
15
|
+
import { ImageUploadError } from './image-upload-error';
|
|
14
16
|
import { loadScript } from './loadScript';
|
|
15
17
|
import { logUnlayerError } from './log';
|
|
16
18
|
import { toUnlayerMergeTags } from './merge-tags';
|
|
17
19
|
import { defaultImageValidation } from './shared/configs';
|
|
20
|
+
import { normalizeESignOffsetSettings } from './shared/e-sign-offset';
|
|
18
21
|
import { unlayerSupportedFonts } from './shared/fonts';
|
|
19
22
|
import { getFormFieldSampleValue, parseFormFieldKey } from './shared/forms';
|
|
20
23
|
import { schemaBuildMap, schemaIsDate } from './shared/schema';
|
|
21
24
|
import { unlayerToolsParseTwinKey } from './shared/tools';
|
|
22
|
-
import { unlayerToolsDedupeInstanceIds, unlayerToolsIterate } from './tools';
|
|
25
|
+
import { unlayerToolsDedupeInstanceIds, unlayerToolsIterate, unlayerToolsNormalizeESignOffsets } from './tools';
|
|
23
26
|
import { createUnlayerEditor, DesignUpdatedEventType } from './unlayer';
|
|
24
27
|
const defaultScriptUrl = 'https://editor.unlayer.com/embed.js?2';
|
|
25
28
|
const UNLAYER_TOOLS_READY_TIMEOUT_MS = 30000;
|
|
@@ -200,6 +203,7 @@ export class UnlayerStore {
|
|
|
200
203
|
_define_property(this, "onDesignLoaded", void 0);
|
|
201
204
|
_define_property(this, "onDesignUpdated", void 0);
|
|
202
205
|
_define_property(this, "onPostMessage", void 0);
|
|
206
|
+
_define_property(this, "openESignOffsetRules", void 0);
|
|
203
207
|
_define_property(this, "updateFormFieldSamples", void 0);
|
|
204
208
|
_define_property(this, "collectCalculatedFieldKeys", void 0);
|
|
205
209
|
_define_property(this, "resolveDemoValue", void 0);
|
|
@@ -413,7 +417,8 @@ export class UnlayerStore {
|
|
|
413
417
|
generics: this.props.generics,
|
|
414
418
|
genericConfigMode: this.props.genericConfigMode,
|
|
415
419
|
isSnapshotMode: this.props.isSnapshotMode,
|
|
416
|
-
holidays: this.props.holidays
|
|
420
|
+
holidays: this.props.holidays,
|
|
421
|
+
conditionalRulesEnabled: !!this.props.displayConditions || !!this.props.onConditionalsOpen
|
|
417
422
|
};
|
|
418
423
|
this.sendMessage('--config', JSON.parse(JSON.stringify(configData)));
|
|
419
424
|
} else if (type === '--form-select') {
|
|
@@ -423,6 +428,8 @@ export class UnlayerStore {
|
|
|
423
428
|
var _ref;
|
|
424
429
|
var _this_onCalcFieldOpenCB, _this3;
|
|
425
430
|
(_this_onCalcFieldOpenCB = (_this3 = this).onCalcFieldOpenCB) === null || _this_onCalcFieldOpenCB === void 0 ? void 0 : _this_onCalcFieldOpenCB.call(_this3, (_ref = data === null || data === void 0 ? void 0 : data.usedFormIds) !== null && _ref !== void 0 ? _ref : []);
|
|
431
|
+
} else if (type === '--esign-offset-open') {
|
|
432
|
+
this.openESignOffsetRules(data);
|
|
426
433
|
} else if (type === '--calc-field-select') {
|
|
427
434
|
if (this.onCalcFieldSelectCB) {
|
|
428
435
|
var _ref1;
|
|
@@ -470,6 +477,22 @@ export class UnlayerStore {
|
|
|
470
477
|
}
|
|
471
478
|
(_this_onMessageCB = (_this = this).onMessageCB) === null || _this_onMessageCB === void 0 ? void 0 : _this_onMessageCB.call(_this, type, data);
|
|
472
479
|
};
|
|
480
|
+
this.openESignOffsetRules = (data)=>{
|
|
481
|
+
const requestId = data === null || data === void 0 ? void 0 : data.requestId;
|
|
482
|
+
if (!requestId) {
|
|
483
|
+
return;
|
|
484
|
+
}
|
|
485
|
+
emitESignOffsetRequest({
|
|
486
|
+
value: normalizeESignOffsetSettings(data.value),
|
|
487
|
+
done: (value)=>{
|
|
488
|
+
const result = {
|
|
489
|
+
requestId,
|
|
490
|
+
value
|
|
491
|
+
};
|
|
492
|
+
this.sendMessage('--esign-offset-result', JSON.parse(JSON.stringify(result)));
|
|
493
|
+
}
|
|
494
|
+
});
|
|
495
|
+
};
|
|
473
496
|
this.updateFormFieldSamples = (formId, fields)=>{
|
|
474
497
|
fields.forEach((field, index)=>{
|
|
475
498
|
var _field_id;
|
|
@@ -572,10 +595,10 @@ export class UnlayerStore {
|
|
|
572
595
|
(_this_onErrorCB = (_this = this).onErrorCB) === null || _this_onErrorCB === void 0 ? void 0 : _this_onErrorCB.call(_this, res.title, res.description);
|
|
573
596
|
return;
|
|
574
597
|
}
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
598
|
+
/*
|
|
599
|
+
* Unlayer only leaves its "uploading" state when `done` receives a url, so `done` must not be
|
|
600
|
+
* called before the upload succeeds or after it fails, otherwise the image widget gets stuck.
|
|
601
|
+
*/ try {
|
|
579
602
|
const { url } = await this.onImageCB(file);
|
|
580
603
|
done({
|
|
581
604
|
progress: 100,
|
|
@@ -584,10 +607,7 @@ export class UnlayerStore {
|
|
|
584
607
|
} catch (error) {
|
|
585
608
|
var _this_onErrorCB1, _this1;
|
|
586
609
|
logUnlayerError('Image upload failed', error);
|
|
587
|
-
(_this_onErrorCB1 = (_this1 = this).onErrorCB) === null || _this_onErrorCB1 === void 0 ? void 0 : _this_onErrorCB1.call(_this1, 'Image upload failed', 'Something went wrong while uploading the image. Please try again or select another image.');
|
|
588
|
-
done({
|
|
589
|
-
progress: 100
|
|
590
|
-
});
|
|
610
|
+
(_this_onErrorCB1 = (_this1 = this).onErrorCB) === null || _this_onErrorCB1 === void 0 ? void 0 : _this_onErrorCB1.call(_this1, 'Image upload failed', error instanceof ImageUploadError ? error.message : 'Something went wrong while uploading the image. Please try again or select another image.');
|
|
591
611
|
}
|
|
592
612
|
};
|
|
593
613
|
this.startToolsReadyWatchdog = ()=>{
|
|
@@ -660,6 +680,7 @@ export class UnlayerStore {
|
|
|
660
680
|
'Signature',
|
|
661
681
|
'Initials',
|
|
662
682
|
'Date Signed',
|
|
683
|
+
'Date Signed Offset',
|
|
663
684
|
'Full Name'
|
|
664
685
|
];
|
|
665
686
|
this.unlayerRef = {
|
|
@@ -669,12 +690,16 @@ export class UnlayerStore {
|
|
|
669
690
|
},
|
|
670
691
|
saveDesign: (cb)=>{
|
|
671
692
|
var _this_editor;
|
|
672
|
-
(_this_editor = this.editor) === null || _this_editor === void 0 ? void 0 : _this_editor.saveDesign(
|
|
693
|
+
(_this_editor = this.editor) === null || _this_editor === void 0 ? void 0 : _this_editor.saveDesign((design)=>{
|
|
694
|
+
unlayerToolsNormalizeESignOffsets(design);
|
|
695
|
+
cb(design);
|
|
696
|
+
});
|
|
673
697
|
},
|
|
674
698
|
exportHtml: (cb)=>{
|
|
675
699
|
var _this_editor;
|
|
676
700
|
(_this_editor = this.editor) === null || _this_editor === void 0 ? void 0 : _this_editor.exportHtml((data)=>{
|
|
677
701
|
const result = ensureChunksFonts(data);
|
|
702
|
+
unlayerToolsNormalizeESignOffsets(result === null || result === void 0 ? void 0 : result.design);
|
|
678
703
|
result.demoData = this.buildCalculatedFieldDemoData(result.design);
|
|
679
704
|
cb(result);
|
|
680
705
|
});
|