@servicetitan/dte-unlayer 0.154.0 → 0.155.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/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 +30 -3
- 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/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/shared/const.ts +37 -0
- package/src/shared/e-sign-offset.ts +173 -0
- package/src/store.ts +45 -4
- 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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"}
|
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,17 @@ function _define_property(obj, key, value) {
|
|
|
11
11
|
}
|
|
12
12
|
return obj;
|
|
13
13
|
}
|
|
14
|
+
import { emitESignOffsetRequest } from './e-sign-offset/eSignOffsetController';
|
|
14
15
|
import { loadScript } from './loadScript';
|
|
15
16
|
import { logUnlayerError } from './log';
|
|
16
17
|
import { toUnlayerMergeTags } from './merge-tags';
|
|
17
18
|
import { defaultImageValidation } from './shared/configs';
|
|
19
|
+
import { normalizeESignOffsetSettings } from './shared/e-sign-offset';
|
|
18
20
|
import { unlayerSupportedFonts } from './shared/fonts';
|
|
19
21
|
import { getFormFieldSampleValue, parseFormFieldKey } from './shared/forms';
|
|
20
22
|
import { schemaBuildMap, schemaIsDate } from './shared/schema';
|
|
21
23
|
import { unlayerToolsParseTwinKey } from './shared/tools';
|
|
22
|
-
import { unlayerToolsDedupeInstanceIds, unlayerToolsIterate } from './tools';
|
|
24
|
+
import { unlayerToolsDedupeInstanceIds, unlayerToolsIterate, unlayerToolsNormalizeESignOffsets } from './tools';
|
|
23
25
|
import { createUnlayerEditor, DesignUpdatedEventType } from './unlayer';
|
|
24
26
|
const defaultScriptUrl = 'https://editor.unlayer.com/embed.js?2';
|
|
25
27
|
const UNLAYER_TOOLS_READY_TIMEOUT_MS = 30000;
|
|
@@ -200,6 +202,7 @@ export class UnlayerStore {
|
|
|
200
202
|
_define_property(this, "onDesignLoaded", void 0);
|
|
201
203
|
_define_property(this, "onDesignUpdated", void 0);
|
|
202
204
|
_define_property(this, "onPostMessage", void 0);
|
|
205
|
+
_define_property(this, "openESignOffsetRules", void 0);
|
|
203
206
|
_define_property(this, "updateFormFieldSamples", void 0);
|
|
204
207
|
_define_property(this, "collectCalculatedFieldKeys", void 0);
|
|
205
208
|
_define_property(this, "resolveDemoValue", void 0);
|
|
@@ -413,7 +416,8 @@ export class UnlayerStore {
|
|
|
413
416
|
generics: this.props.generics,
|
|
414
417
|
genericConfigMode: this.props.genericConfigMode,
|
|
415
418
|
isSnapshotMode: this.props.isSnapshotMode,
|
|
416
|
-
holidays: this.props.holidays
|
|
419
|
+
holidays: this.props.holidays,
|
|
420
|
+
conditionalRulesEnabled: !!this.props.displayConditions || !!this.props.onConditionalsOpen
|
|
417
421
|
};
|
|
418
422
|
this.sendMessage('--config', JSON.parse(JSON.stringify(configData)));
|
|
419
423
|
} else if (type === '--form-select') {
|
|
@@ -423,6 +427,8 @@ export class UnlayerStore {
|
|
|
423
427
|
var _ref;
|
|
424
428
|
var _this_onCalcFieldOpenCB, _this3;
|
|
425
429
|
(_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 : []);
|
|
430
|
+
} else if (type === '--esign-offset-open') {
|
|
431
|
+
this.openESignOffsetRules(data);
|
|
426
432
|
} else if (type === '--calc-field-select') {
|
|
427
433
|
if (this.onCalcFieldSelectCB) {
|
|
428
434
|
var _ref1;
|
|
@@ -470,6 +476,22 @@ export class UnlayerStore {
|
|
|
470
476
|
}
|
|
471
477
|
(_this_onMessageCB = (_this = this).onMessageCB) === null || _this_onMessageCB === void 0 ? void 0 : _this_onMessageCB.call(_this, type, data);
|
|
472
478
|
};
|
|
479
|
+
this.openESignOffsetRules = (data)=>{
|
|
480
|
+
const requestId = data === null || data === void 0 ? void 0 : data.requestId;
|
|
481
|
+
if (!requestId) {
|
|
482
|
+
return;
|
|
483
|
+
}
|
|
484
|
+
emitESignOffsetRequest({
|
|
485
|
+
value: normalizeESignOffsetSettings(data.value),
|
|
486
|
+
done: (value)=>{
|
|
487
|
+
const result = {
|
|
488
|
+
requestId,
|
|
489
|
+
value
|
|
490
|
+
};
|
|
491
|
+
this.sendMessage('--esign-offset-result', JSON.parse(JSON.stringify(result)));
|
|
492
|
+
}
|
|
493
|
+
});
|
|
494
|
+
};
|
|
473
495
|
this.updateFormFieldSamples = (formId, fields)=>{
|
|
474
496
|
fields.forEach((field, index)=>{
|
|
475
497
|
var _field_id;
|
|
@@ -660,6 +682,7 @@ export class UnlayerStore {
|
|
|
660
682
|
'Signature',
|
|
661
683
|
'Initials',
|
|
662
684
|
'Date Signed',
|
|
685
|
+
'Date Signed Offset',
|
|
663
686
|
'Full Name'
|
|
664
687
|
];
|
|
665
688
|
this.unlayerRef = {
|
|
@@ -669,12 +692,16 @@ export class UnlayerStore {
|
|
|
669
692
|
},
|
|
670
693
|
saveDesign: (cb)=>{
|
|
671
694
|
var _this_editor;
|
|
672
|
-
(_this_editor = this.editor) === null || _this_editor === void 0 ? void 0 : _this_editor.saveDesign(
|
|
695
|
+
(_this_editor = this.editor) === null || _this_editor === void 0 ? void 0 : _this_editor.saveDesign((design)=>{
|
|
696
|
+
unlayerToolsNormalizeESignOffsets(design);
|
|
697
|
+
cb(design);
|
|
698
|
+
});
|
|
673
699
|
},
|
|
674
700
|
exportHtml: (cb)=>{
|
|
675
701
|
var _this_editor;
|
|
676
702
|
(_this_editor = this.editor) === null || _this_editor === void 0 ? void 0 : _this_editor.exportHtml((data)=>{
|
|
677
703
|
const result = ensureChunksFonts(data);
|
|
704
|
+
unlayerToolsNormalizeESignOffsets(result === null || result === void 0 ? void 0 : result.design);
|
|
678
705
|
result.demoData = this.buildCalculatedFieldDemoData(result.design);
|
|
679
706
|
cb(result);
|
|
680
707
|
});
|