@servicetitan/dte-unlayer 0.102.0 → 0.104.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/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/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/shared/const.d.ts +1 -0
- package/dist/shared/const.d.ts.map +1 -1
- package/dist/shared/const.js.map +1 -1
- package/dist/shared/date-calc.d.ts +24 -0
- package/dist/shared/date-calc.d.ts.map +1 -0
- package/dist/shared/date-calc.js +140 -0
- package/dist/shared/date-calc.js.map +1 -0
- package/dist/shared/nunjucks-helpers.d.ts +2 -0
- package/dist/shared/nunjucks-helpers.d.ts.map +1 -0
- package/dist/shared/nunjucks-helpers.js +19 -0
- package/dist/shared/nunjucks-helpers.js.map +1 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +2 -1
- package/dist/store.js.map +1 -1
- package/dist/unlayer-interface.d.ts +1 -0
- package/dist/unlayer-interface.d.ts.map +1 -1
- package/dist/unlayer-interface.js.map +1 -1
- package/package.json +1 -1
- package/src/editor-core-source.ts +2 -2
- package/src/index.ts +2 -0
- package/src/shared/const.ts +1 -0
- package/src/shared/date-calc.ts +180 -0
- package/src/shared/nunjucks-helpers.ts +18 -0
- package/src/store.ts +1 -0
- package/src/unlayer-interface.tsx +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -9,4 +9,6 @@ export * from './shared/schema';
|
|
|
9
9
|
export * from './shared/tools';
|
|
10
10
|
export { UnlayerDesignChangeInfo } from './store';
|
|
11
11
|
export { versions } from './unlayer';
|
|
12
|
+
export * from './shared/date-calc';
|
|
13
|
+
export { emptyArrayIfNull } from './shared/nunjucks-helpers';
|
|
12
14
|
//# sourceMappingURL=index.d.ts.map
|
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,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,5 +9,7 @@ export * from './shared/schema';
|
|
|
9
9
|
export * from './shared/tools';
|
|
10
10
|
export { UnlayerDesignChangeInfo } from './store';
|
|
11
11
|
export { versions } from './unlayer';
|
|
12
|
+
export * from './shared/date-calc';
|
|
13
|
+
export { emptyArrayIfNull } from './shared/nunjucks-helpers';
|
|
12
14
|
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './editor';\nexport * from './tools';\nexport * from './api-core';\nexport * from './api-custom-tools';\nexport * from './unlayer-interface';\nexport * from './loadScript';\nexport * from './shared/const';\nexport * from './shared/schema';\nexport * from './shared/tools';\nexport { UnlayerDesignChangeInfo } from './store';\nexport { versions } from './unlayer';\n"],"names":["UnlayerDesignChangeInfo","versions"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAC/B,SAASA,uBAAuB,QAAQ,UAAU;AAClD,SAASC,QAAQ,QAAQ,YAAY"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './editor';\nexport * from './tools';\nexport * from './api-core';\nexport * from './api-custom-tools';\nexport * from './unlayer-interface';\nexport * from './loadScript';\nexport * from './shared/const';\nexport * from './shared/schema';\nexport * from './shared/tools';\nexport { UnlayerDesignChangeInfo } from './store';\nexport { versions } from './unlayer';\nexport * from './shared/date-calc';\nexport { emptyArrayIfNull } from './shared/nunjucks-helpers';\n"],"names":["UnlayerDesignChangeInfo","versions","emptyArrayIfNull"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAC/B,SAASA,uBAAuB,QAAQ,UAAU;AAClD,SAASC,QAAQ,QAAQ,YAAY;AACrC,cAAc,qBAAqB;AACnC,SAASC,gBAAgB,QAAQ,4BAA4B"}
|
package/dist/shared/const.d.ts
CHANGED
|
@@ -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;
|
|
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;CACvB;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.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}\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":"AAEA,OAAO,MAAMA,sBAAsB;IAC/BC,kBAAkB;IAClBC,qBAAqB;IACrBC,oBAAoB;AACxB,EAAE"}
|
|
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":"AAEA,OAAO,MAAMA,sBAAsB;IAC/BC,kBAAkB;IAClBC,qBAAqB;IACrBC,oBAAoB;AACxB,EAAE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const MAX_DATE_CALC_DAYS = 365;
|
|
2
|
+
export interface DateCalcOptions {
|
|
3
|
+
holidays?: string[];
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Add business days to a date, always skipping weekends and provided holidays.
|
|
7
|
+
* Negative days subtracts.
|
|
8
|
+
*/
|
|
9
|
+
export declare function addDays(dateInput: string | Date, days: number, options?: DateCalcOptions): Date;
|
|
10
|
+
/**
|
|
11
|
+
* Count the number of business days between two dates, always skipping weekends and provided holidays.
|
|
12
|
+
* Returns a positive number when `to` is after `from`, negative otherwise.
|
|
13
|
+
*/
|
|
14
|
+
export declare function dateDiffDays(from: string | Date, to: string | Date, options?: DateCalcOptions): number;
|
|
15
|
+
/** Format a Date to ISO date string (YYYY-MM-DD). */
|
|
16
|
+
export declare function formatDateResult(date: Date): string;
|
|
17
|
+
export declare const DEFAULT_DATE_FORMAT = "MM/DD/YYYY";
|
|
18
|
+
/**
|
|
19
|
+
* Format a Date using a pattern string.
|
|
20
|
+
* Supported tokens: YYYY, YY, MMMM, MMM, MM, M, DD, D.
|
|
21
|
+
* All other characters are treated as literals.
|
|
22
|
+
*/
|
|
23
|
+
export declare function formatDate(date: Date, pattern?: string): string;
|
|
24
|
+
//# sourceMappingURL=date-calc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-calc.d.ts","sourceRoot":"","sources":["../../src/shared/date-calc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AA4CD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CA0B/F;AAED;;;GAGG;AACH,wBAAgB,YAAY,CACxB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,EAAE,EAAE,MAAM,GAAG,IAAI,EACjB,OAAO,CAAC,EAAE,eAAe,GAC1B,MAAM,CA0BR;AAED,qDAAqD;AACrD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAKnD;AAED,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAgChD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB/D"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
export const MAX_DATE_CALC_DAYS = 365;
|
|
2
|
+
function toDateOnly(input) {
|
|
3
|
+
const d = typeof input === 'string' ? new Date(input) : new Date(input.getTime());
|
|
4
|
+
d.setUTCHours(0, 0, 0, 0);
|
|
5
|
+
return d;
|
|
6
|
+
}
|
|
7
|
+
function toDateKey(d) {
|
|
8
|
+
const y = d.getUTCFullYear();
|
|
9
|
+
const m = String(d.getUTCMonth() + 1).padStart(2, '0');
|
|
10
|
+
const day = String(d.getUTCDate()).padStart(2, '0');
|
|
11
|
+
return `${y}-${m}-${day}`;
|
|
12
|
+
}
|
|
13
|
+
function isWeekend(d) {
|
|
14
|
+
const day = d.getUTCDay();
|
|
15
|
+
return day === 0 || day === 6;
|
|
16
|
+
}
|
|
17
|
+
function buildHolidaySet(holidays) {
|
|
18
|
+
if (!(holidays === null || holidays === void 0 ? void 0 : holidays.length)) {
|
|
19
|
+
return new Set();
|
|
20
|
+
}
|
|
21
|
+
const set = new Set();
|
|
22
|
+
for (const h of holidays){
|
|
23
|
+
const d = toDateOnly(h);
|
|
24
|
+
if (!isNaN(d.getTime())) {
|
|
25
|
+
set.add(toDateKey(d));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return set;
|
|
29
|
+
}
|
|
30
|
+
function isNonBusinessDay(d, holidaySet) {
|
|
31
|
+
if (isWeekend(d)) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
if (holidaySet.size > 0 && holidaySet.has(toDateKey(d))) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Add business days to a date, always skipping weekends and provided holidays.
|
|
41
|
+
* Negative days subtracts.
|
|
42
|
+
*/ export function addDays(dateInput, days, options) {
|
|
43
|
+
const result = toDateOnly(dateInput);
|
|
44
|
+
if (!isFinite(result.getTime())) {
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
const intDays = Math.trunc(days);
|
|
48
|
+
if (intDays === 0) {
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
if (Math.abs(intDays) > MAX_DATE_CALC_DAYS) {
|
|
52
|
+
return new Date(NaN);
|
|
53
|
+
}
|
|
54
|
+
const holidaySet = buildHolidaySet(options === null || options === void 0 ? void 0 : options.holidays);
|
|
55
|
+
const direction = intDays > 0 ? 1 : -1;
|
|
56
|
+
let remaining = Math.abs(intDays);
|
|
57
|
+
while(remaining > 0){
|
|
58
|
+
result.setUTCDate(result.getUTCDate() + direction);
|
|
59
|
+
if (!isNonBusinessDay(result, holidaySet)) {
|
|
60
|
+
remaining--;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Count the number of business days between two dates, always skipping weekends and provided holidays.
|
|
67
|
+
* Returns a positive number when `to` is after `from`, negative otherwise.
|
|
68
|
+
*/ export function dateDiffDays(from, to, options) {
|
|
69
|
+
const start = toDateOnly(from);
|
|
70
|
+
const end = toDateOnly(to);
|
|
71
|
+
if (!isFinite(start.getTime()) || !isFinite(end.getTime())) {
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
const calendarDiff = Math.abs(end.getTime() - start.getTime()) / (24 * 60 * 60 * 1000);
|
|
75
|
+
if (calendarDiff > MAX_DATE_CALC_DAYS * 2) {
|
|
76
|
+
return NaN;
|
|
77
|
+
}
|
|
78
|
+
const holidaySet = buildHolidaySet(options === null || options === void 0 ? void 0 : options.holidays);
|
|
79
|
+
const direction = end.getTime() >= start.getTime() ? 1 : -1;
|
|
80
|
+
const cursor = new Date(start.getTime());
|
|
81
|
+
let count = 0;
|
|
82
|
+
while(toDateKey(cursor) !== toDateKey(end)){
|
|
83
|
+
cursor.setUTCDate(cursor.getUTCDate() + direction);
|
|
84
|
+
if (!isNonBusinessDay(cursor, holidaySet)) {
|
|
85
|
+
count++;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return count * direction;
|
|
89
|
+
}
|
|
90
|
+
/** Format a Date to ISO date string (YYYY-MM-DD). */ export function formatDateResult(date) {
|
|
91
|
+
if (!isFinite(date.getTime())) {
|
|
92
|
+
return '';
|
|
93
|
+
}
|
|
94
|
+
return toDateKey(date);
|
|
95
|
+
}
|
|
96
|
+
export const DEFAULT_DATE_FORMAT = 'MM/DD/YYYY';
|
|
97
|
+
const MONTH_NAMES_FULL = [
|
|
98
|
+
'January',
|
|
99
|
+
'February',
|
|
100
|
+
'March',
|
|
101
|
+
'April',
|
|
102
|
+
'May',
|
|
103
|
+
'June',
|
|
104
|
+
'July',
|
|
105
|
+
'August',
|
|
106
|
+
'September',
|
|
107
|
+
'October',
|
|
108
|
+
'November',
|
|
109
|
+
'December'
|
|
110
|
+
];
|
|
111
|
+
const MONTH_NAMES_SHORT = [
|
|
112
|
+
'Jan',
|
|
113
|
+
'Feb',
|
|
114
|
+
'Mar',
|
|
115
|
+
'Apr',
|
|
116
|
+
'May',
|
|
117
|
+
'Jun',
|
|
118
|
+
'Jul',
|
|
119
|
+
'Aug',
|
|
120
|
+
'Sep',
|
|
121
|
+
'Oct',
|
|
122
|
+
'Nov',
|
|
123
|
+
'Dec'
|
|
124
|
+
];
|
|
125
|
+
/**
|
|
126
|
+
* Format a Date using a pattern string.
|
|
127
|
+
* Supported tokens: YYYY, YY, MMMM, MMM, MM, M, DD, D.
|
|
128
|
+
* All other characters are treated as literals.
|
|
129
|
+
*/ export function formatDate(date, pattern) {
|
|
130
|
+
if (!isFinite(date.getTime())) {
|
|
131
|
+
return '';
|
|
132
|
+
}
|
|
133
|
+
const fmt = pattern !== null && pattern !== void 0 ? pattern : DEFAULT_DATE_FORMAT;
|
|
134
|
+
const year = date.getUTCFullYear();
|
|
135
|
+
const month = date.getUTCMonth();
|
|
136
|
+
const day = date.getUTCDate();
|
|
137
|
+
return fmt.replace(/YYYY/g, String(year)).replace(/YY/g, String(year).slice(-2)).replace(/MMMM/g, MONTH_NAMES_FULL[month]).replace(/MMM/g, MONTH_NAMES_SHORT[month]).replace(/MM/g, String(month + 1).padStart(2, '0')).replace(/\bM\b/g, String(month + 1)).replace(/DD/g, String(day).padStart(2, '0')).replace(/\bD\b/g, String(day));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=date-calc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/date-calc.ts"],"sourcesContent":["export const MAX_DATE_CALC_DAYS = 365;\n\nexport interface DateCalcOptions {\n holidays?: string[];\n}\n\nfunction toDateOnly(input: string | Date): Date {\n const d = typeof input === 'string' ? new Date(input) : new Date(input.getTime());\n d.setUTCHours(0, 0, 0, 0);\n return d;\n}\n\nfunction toDateKey(d: Date): string {\n const y = d.getUTCFullYear();\n const m = String(d.getUTCMonth() + 1).padStart(2, '0');\n const day = String(d.getUTCDate()).padStart(2, '0');\n return `${y}-${m}-${day}`;\n}\n\nfunction isWeekend(d: Date): boolean {\n const day = d.getUTCDay();\n return day === 0 || day === 6;\n}\n\nfunction buildHolidaySet(holidays?: string[]): Set<string> {\n if (!holidays?.length) {\n return new Set();\n }\n const set = new Set<string>();\n for (const h of holidays) {\n const d = toDateOnly(h);\n if (!isNaN(d.getTime())) {\n set.add(toDateKey(d));\n }\n }\n return set;\n}\n\nfunction isNonBusinessDay(d: Date, holidaySet: Set<string>): boolean {\n if (isWeekend(d)) {\n return true;\n }\n if (holidaySet.size > 0 && holidaySet.has(toDateKey(d))) {\n return true;\n }\n return false;\n}\n\n/**\n * Add business days to a date, always skipping weekends and provided holidays.\n * Negative days subtracts.\n */\nexport function addDays(dateInput: string | Date, days: number, options?: DateCalcOptions): Date {\n const result = toDateOnly(dateInput);\n if (!isFinite(result.getTime())) {\n return result;\n }\n\n const intDays = Math.trunc(days);\n if (intDays === 0) {\n return result;\n }\n if (Math.abs(intDays) > MAX_DATE_CALC_DAYS) {\n return new Date(NaN);\n }\n\n const holidaySet = buildHolidaySet(options?.holidays);\n const direction = intDays > 0 ? 1 : -1;\n let remaining = Math.abs(intDays);\n\n while (remaining > 0) {\n result.setUTCDate(result.getUTCDate() + direction);\n if (!isNonBusinessDay(result, holidaySet)) {\n remaining--;\n }\n }\n\n return result;\n}\n\n/**\n * Count the number of business days between two dates, always skipping weekends and provided holidays.\n * Returns a positive number when `to` is after `from`, negative otherwise.\n */\nexport function dateDiffDays(\n from: string | Date,\n to: string | Date,\n options?: DateCalcOptions,\n): number {\n const start = toDateOnly(from);\n const end = toDateOnly(to);\n\n if (!isFinite(start.getTime()) || !isFinite(end.getTime())) {\n return 0;\n }\n\n const calendarDiff = Math.abs(end.getTime() - start.getTime()) / (24 * 60 * 60 * 1000);\n if (calendarDiff > MAX_DATE_CALC_DAYS * 2) {\n return NaN;\n }\n\n const holidaySet = buildHolidaySet(options?.holidays);\n const direction = end.getTime() >= start.getTime() ? 1 : -1;\n const cursor = new Date(start.getTime());\n let count = 0;\n\n while (toDateKey(cursor) !== toDateKey(end)) {\n cursor.setUTCDate(cursor.getUTCDate() + direction);\n if (!isNonBusinessDay(cursor, holidaySet)) {\n count++;\n }\n }\n\n return count * direction;\n}\n\n/** Format a Date to ISO date string (YYYY-MM-DD). */\nexport function formatDateResult(date: Date): string {\n if (!isFinite(date.getTime())) {\n return '';\n }\n return toDateKey(date);\n}\n\nexport const DEFAULT_DATE_FORMAT = 'MM/DD/YYYY';\n\nconst MONTH_NAMES_FULL = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nconst MONTH_NAMES_SHORT = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n];\n\n/**\n * Format a Date using a pattern string.\n * Supported tokens: YYYY, YY, MMMM, MMM, MM, M, DD, D.\n * All other characters are treated as literals.\n */\nexport function formatDate(date: Date, pattern?: string): string {\n if (!isFinite(date.getTime())) {\n return '';\n }\n const fmt = pattern ?? DEFAULT_DATE_FORMAT;\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const day = date.getUTCDate();\n\n return fmt\n .replace(/YYYY/g, String(year))\n .replace(/YY/g, String(year).slice(-2))\n .replace(/MMMM/g, MONTH_NAMES_FULL[month])\n .replace(/MMM/g, MONTH_NAMES_SHORT[month])\n .replace(/MM/g, String(month + 1).padStart(2, '0'))\n .replace(/\\bM\\b/g, String(month + 1))\n .replace(/DD/g, String(day).padStart(2, '0'))\n .replace(/\\bD\\b/g, String(day));\n}\n"],"names":["MAX_DATE_CALC_DAYS","toDateOnly","input","d","Date","getTime","setUTCHours","toDateKey","y","getUTCFullYear","m","String","getUTCMonth","padStart","day","getUTCDate","isWeekend","getUTCDay","buildHolidaySet","holidays","length","Set","set","h","isNaN","add","isNonBusinessDay","holidaySet","size","has","addDays","dateInput","days","options","result","isFinite","intDays","Math","trunc","abs","NaN","direction","remaining","setUTCDate","dateDiffDays","from","to","start","end","calendarDiff","cursor","count","formatDateResult","date","DEFAULT_DATE_FORMAT","MONTH_NAMES_FULL","MONTH_NAMES_SHORT","formatDate","pattern","fmt","year","month","replace","slice"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nunjucks-helpers.d.ts","sourceRoot":"","sources":["../../src/shared/nunjucks-helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,OAiBrD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function emptyArrayIfNull(obj, key) {
|
|
2
|
+
if (!obj) {
|
|
3
|
+
return obj;
|
|
4
|
+
}
|
|
5
|
+
let arrayOfObj = obj;
|
|
6
|
+
if (!Array.isArray(obj)) {
|
|
7
|
+
arrayOfObj = [
|
|
8
|
+
obj
|
|
9
|
+
];
|
|
10
|
+
}
|
|
11
|
+
arrayOfObj.forEach((el)=>{
|
|
12
|
+
if (typeof el[key] === 'undefined' || el[key] === null) {
|
|
13
|
+
el[key] = [];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return obj;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=nunjucks-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/nunjucks-helpers.ts"],"sourcesContent":["export function emptyArrayIfNull(obj: any, key: string) {\n if (!obj) {\n return obj;\n }\n\n let arrayOfObj = obj;\n if (!Array.isArray(obj)) {\n arrayOfObj = [obj];\n }\n\n arrayOfObj.forEach((el: { [x: string]: any[] }) => {\n if (typeof el[key] === 'undefined' || el[key] === null) {\n el[key] = [];\n }\n });\n\n return obj;\n}\n"],"names":["emptyArrayIfNull","obj","key","arrayOfObj","Array","isArray","forEach","el"],"mappings":"AAAA,OAAO,SAASA,iBAAiBC,GAAQ,EAAEC,GAAW;IAClD,IAAI,CAACD,KAAK;QACN,OAAOA;IACX;IAEA,IAAIE,aAAaF;IACjB,IAAI,CAACG,MAAMC,OAAO,CAACJ,MAAM;QACrBE,aAAa;YAACF;SAAI;IACtB;IAEAE,WAAWG,OAAO,CAAC,CAACC;QAChB,IAAI,OAAOA,EAAE,CAACL,IAAI,KAAK,eAAeK,EAAE,CAACL,IAAI,KAAK,MAAM;YACpDK,EAAE,CAACL,IAAI,GAAG,EAAE;QAChB;IACJ;IAEA,OAAOD;AACX"}
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAA4C,MAAM,gBAAgB,CAAC;AAS7F,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIhG,MAAM,WAAW,uBAAuB;IACpC,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAmBD,qBAAa,YAAY;IAeT,QAAQ,CAAC,KAAK,EAAE,wBAAwB;IAdpD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,WAAW,CAAC,CAAoC;IACxD,OAAO,CAAC,UAAU,CAAC,CAA0C;IAC7D,OAAO,CAAC,gBAAgB,CAAC,CAAwC;IACjE,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAC,CAA2C;IAC7D,OAAO,CAAC,SAAS,CAAC,CAAgD;gBAE7C,KAAK,EAAE,wBAAwB;IAkBpD,IAAI,GAAU,WAAW,cAAc,mBAiBrC;IAEF,OAAO,aAUL;IAEF,OAAO,GAAI,MAAM,iBAAiB,UAGhC;IAEF,SAAS,GAAI,SAAS,mBAAmB,UAUvC;IAEF,WAAW,GAAI,WAAW,YAAY,CAAC,YAAY,CAAC,UAElD;IAEF,iBAAiB,GAAI,iBAAiB,YAAY,CAAC,kBAAkB,CAAC,UAEpE;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,YAAY,GAAI,YAAY,YAAY,CAAC,aAAa,CAAC,UAErD;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEF,OAAO,CAAC,eAAe,CAmCrB;IAEF,OAAO,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAA4C,MAAM,gBAAgB,CAAC;AAS7F,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIhG,MAAM,WAAW,uBAAuB;IACpC,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAmBD,qBAAa,YAAY;IAeT,QAAQ,CAAC,KAAK,EAAE,wBAAwB;IAdpD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,WAAW,CAAC,CAAoC;IACxD,OAAO,CAAC,UAAU,CAAC,CAA0C;IAC7D,OAAO,CAAC,gBAAgB,CAAC,CAAwC;IACjE,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAC,CAA2C;IAC7D,OAAO,CAAC,SAAS,CAAC,CAAgD;gBAE7C,KAAK,EAAE,wBAAwB;IAkBpD,IAAI,GAAU,WAAW,cAAc,mBAiBrC;IAEF,OAAO,aAUL;IAEF,OAAO,GAAI,MAAM,iBAAiB,UAGhC;IAEF,SAAS,GAAI,SAAS,mBAAmB,UAUvC;IAEF,WAAW,GAAI,WAAW,YAAY,CAAC,YAAY,CAAC,UAElD;IAEF,iBAAiB,GAAI,iBAAiB,YAAY,CAAC,kBAAkB,CAAC,UAEpE;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,UAAU,GAAI,UAAU,YAAY,CAAC,WAAW,CAAC,UAE/C;IAEF,YAAY,GAAI,YAAY,YAAY,CAAC,aAAa,CAAC,UAErD;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEF,OAAO,CAAC,eAAe,CAmCrB;IAEF,OAAO,CAAC,aAAa,CA6DnB;IAEF,OAAO,CAAC,WAAW,CAUjB;IAEF,OAAO,CAAC,WAAW,CAqCjB;IAEF,OAAO,CAAC,aAAa,CA+CnB;CACL"}
|
package/dist/store.js
CHANGED
|
@@ -184,7 +184,8 @@ export class UnlayerStore {
|
|
|
184
184
|
schema: this.props.schema,
|
|
185
185
|
generics: this.props.generics,
|
|
186
186
|
genericConfigMode: this.props.genericConfigMode,
|
|
187
|
-
isSnapshotMode: this.props.isSnapshotMode
|
|
187
|
+
isSnapshotMode: this.props.isSnapshotMode,
|
|
188
|
+
holidays: this.props.holidays
|
|
188
189
|
};
|
|
189
190
|
this.sendMessage('--config', JSON.parse(JSON.stringify(data)));
|
|
190
191
|
} else if (type === '--data-loaded') {
|
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/store.ts"],"sourcesContent":["import { loadScript } from './loadScript';\nimport { defaultImageValidation } from './shared/configs';\nimport { UnlayerEditorTwin, UnlayerEventConfig, UnlayerEventRegister } from './shared/const';\nimport { unlayerToolsParseTwinKey } from './shared/tools';\nimport { unlayerToolsIterate } from './tools';\nimport {\n createUnlayerEditor,\n DesignUpdatedEventType,\n EventDesignUpdated,\n Unlayer,\n} from './unlayer';\nimport { CreateUnlayerEditorProps, UnlayerDesignFormat, UnlayerRef } from './unlayer-interface';\n\nconst defaultScriptUrl = 'https://editor.unlayer.com/embed.js?2';\n\nexport interface UnlayerDesignChangeInfo {\n isToolsListChanged: boolean;\n}\n\n// We are using exclusive lists here, because we can't be sure that we know all unlayer event types\nconst eventsNotChangingToolsList: DesignUpdatedEventType[] = [\n DesignUpdatedEventType.ContentMoved,\n DesignUpdatedEventType.ContentModified,\n DesignUpdatedEventType.ColumnModified,\n DesignUpdatedEventType.RowMoved,\n DesignUpdatedEventType.RowModified,\n DesignUpdatedEventType.BodyModified,\n];\n\nconst eventsNotAddingTools: DesignUpdatedEventType[] = [\n ...eventsNotChangingToolsList,\n DesignUpdatedEventType.ContentRemoved,\n DesignUpdatedEventType.ColumnRemoved,\n DesignUpdatedEventType.RowRemoved,\n];\n\nexport class UnlayerStore {\n readonly unlayerRef: UnlayerRef;\n\n private editor: Unlayer | undefined;\n private isInit = false;\n private iframe?: HTMLIFrameElement;\n private hasDesign = false;\n\n private onMessageCB?: (type: string, data: any) => void;\n private onChangeCB?: (info: UnlayerDesignChangeInfo) => void;\n private onSnapshotSaveCB?: (snapshot: UnlayerEditorTwin) => void;\n private onReadyCB?: () => void;\n private onImageCB?: (file: File) => Promise<{ url: string }>;\n private onErrorCB?: (title: string, description?: string) => void;\n\n constructor(readonly props: CreateUnlayerEditorProps) {\n this.props.eSignFieldTypes = ['Signature', 'Initials', 'Date Signed', 'Full Name'];\n\n this.unlayerRef = {\n loadDesign: design => {\n this.editor?.loadDesign(design);\n },\n saveDesign: cb => {\n this.editor?.saveDesign(cb);\n },\n exportHtml: cb => {\n this.editor?.exportHtml(data => {\n cb(data);\n });\n },\n };\n }\n\n init = async (container: HTMLDivElement) => {\n if (this.isInit) {\n return;\n }\n\n this.isInit = true;\n\n setTimeout(() => window.addEventListener('message', this.onPostMessage));\n\n await loadScript(defaultScriptUrl);\n\n this.editor = createUnlayerEditor(container, this.props);\n this.editor.addEventListener('design:loaded', this.onDesignLoaded);\n this.editor.addEventListener('design:updated', this.onDesignUpdated);\n this.editor.registerCallback('image', this.uploadImage);\n\n this.iframe = container.querySelector(`iframe`) ?? undefined;\n };\n\n destroy = () => {\n window.removeEventListener('message', this.onPostMessage);\n\n if (this.editor) {\n this.editor.removeEventListener('design:loaded', this.onDesignLoaded);\n this.editor.removeEventListener('design:updated', this.onDesignUpdated);\n this.editor.unregisterCallback('image', this.uploadImage);\n\n this.editor = undefined;\n }\n };\n\n addTwin = (twin: UnlayerEditorTwin) => {\n this.props.toolTwins?.push(twin);\n this.sendMessage('--add-twin', JSON.parse(JSON.stringify(twin)));\n };\n\n setDesign = (design?: UnlayerDesignFormat) => {\n if (!this.editor) {\n return;\n }\n\n this.hasDesign = !!design;\n\n if (design) {\n this.editor.loadDesign(design);\n }\n };\n\n setOnChange = (onChange?: UnlayerStore['onChangeCB']) => {\n this.onChangeCB = onChange;\n };\n\n setOnSnapshotSave = (onSnapshotSave?: UnlayerStore['onSnapshotSaveCB']) => {\n this.onSnapshotSaveCB = onSnapshotSave;\n };\n\n setOnReady = (onReady?: UnlayerStore['onReadyCB']) => {\n this.onReadyCB = onReady;\n };\n\n setOnImage = (onImage?: UnlayerStore['onImageCB']) => {\n this.onImageCB = onImage;\n };\n\n setOnError = (onError?: UnlayerStore['onErrorCB']) => {\n this.onErrorCB = onError;\n };\n\n setOnMessage = (onMessage?: UnlayerStore['onMessageCB']) => {\n this.onMessageCB = onMessage;\n };\n\n private onDesignLoaded = () => {\n if (!this.hasDesign) {\n this.hasDesign = true;\n this.editor?.setBodyValues({\n backgroundColor: 'rgba(0,0,0,0)',\n contentWidth: '100%',\n });\n }\n };\n\n private onDesignUpdated = (event: EventDesignUpdated) => {\n const isToolAdded = !eventsNotAddingTools.includes(event.type);\n const isToolsListChanged = !eventsNotChangingToolsList.includes(event.type);\n\n if (isToolAdded) {\n this.editor?.exportHtml(data => {\n let hasChanges = false;\n\n unlayerToolsIterate(data.design, tool => {\n const realTool = tool.slug\n ? unlayerToolsParseTwinKey(tool.slug ?? '')\n : undefined;\n\n if (realTool) {\n hasChanges = true;\n\n if (tool.slug) {\n delete data.design.counters[`u_content_custom_${tool.slug}`];\n delete tool.values._meta.htmlID;\n }\n\n tool.type = realTool.type;\n tool.slug = realTool.slug;\n }\n });\n\n if (hasChanges) {\n this.setDesign(data.design);\n }\n\n this.onChangeCB?.({ isToolsListChanged });\n });\n } else {\n this.onChangeCB?.({ isToolsListChanged });\n }\n };\n\n private onPostMessage = (e: MessageEvent) => {\n if (!e.data?.['-dte-message-from']) {\n return;\n }\n\n const type = e.data?.['-dte-message-from']?.type;\n const data = e.data?.['-dte-message-from']?.data;\n\n if (!type) {\n return;\n }\n\n if (type === '--ready' || type === '--registered') {\n this.onReadyCB?.();\n } else if (type === '--core-loaded') {\n const data: UnlayerEventConfig = {\n dummyData: this.props.dummyData,\n schema: this.props.schema,\n generics: this.props.generics,\n genericConfigMode: this.props.genericConfigMode,\n isSnapshotMode: this.props.isSnapshotMode,\n };\n\n this.sendMessage('--config', JSON.parse(JSON.stringify(data)));\n } else if (type === '--data-loaded') {\n const data: UnlayerEventRegister = {\n customTools: this.props.tools.map(tool => ({ key: tool.key })),\n toolTwins: this.props.toolTwins,\n eSignRecipients: this.props.eSignRecipients,\n eSignFieldTypes: this.props.eSignFieldTypes,\n units: this.props.units?.map(unit => ({\n ...unit,\n values: {\n ...unit.values,\n adminConfig: undefined,\n },\n })),\n };\n\n this.sendMessage('--register', JSON.parse(JSON.stringify(data)));\n } else if (type === '--save-snapshot') {\n this.editor?.exportHtml(template => {\n unlayerToolsIterate(template.design, tool => {\n if (tool.values?.twin?.id === data.id) {\n if (!tool.slug) {\n return;\n }\n\n this.onSnapshotSaveCB?.({\n title: '',\n tool: tool.slug,\n values: tool.values,\n });\n return false;\n }\n });\n });\n }\n\n this.onMessageCB?.(type, data);\n };\n\n private sendMessage = (type: string, data?: any) => {\n this.iframe?.contentWindow?.postMessage(\n {\n '-dte-message-to': {\n type,\n data,\n },\n },\n '*',\n );\n };\n\n private uploadImage = async (\n data: { attachments: File[] },\n done: (result: { progress: number; url?: string }) => void,\n ) => {\n if (!this.onImageCB) {\n done({ progress: 100 });\n throw new Error('image upload is not implemented');\n }\n\n if (!data.attachments?.length) {\n return;\n }\n\n const file = data.attachments[0];\n\n const res = await this.validateImage(file, {\n ...defaultImageValidation,\n ...(this.props.imageValidation ?? {}),\n });\n\n if (!res.isValid) {\n this.onErrorCB?.(res.title, res.description);\n return;\n }\n\n done({ progress: 0 });\n\n try {\n const { url } = await this.onImageCB(file);\n done({ progress: 100, url });\n } catch {\n this.onErrorCB?.(\n 'Image upload failed',\n 'Something went wrong while uploading the image. Please try again or select another image.',\n );\n done({ progress: 100 });\n }\n };\n\n private validateImage = async (\n file: File,\n imageValidation: { maxFileSize: number; maxWidth: number; maxHeight: number },\n ): Promise<{ isValid: boolean; title: string; description: string }> => {\n const { maxFileSize, maxHeight, maxWidth } = imageValidation;\n\n if (file.size > maxFileSize) {\n const maxSizeMB = (maxFileSize / 1024 / 1024).toFixed(2);\n const fileSizeMB = (file.size / 1024 / 1024).toFixed(2);\n return {\n isValid: false,\n title: 'Image size limit reached',\n description: `This image is ${fileSizeMB}MB, which is above the ${maxSizeMB}MB limit. Please upload a smaller file to continue.`,\n };\n }\n\n return new Promise(resolve => {\n const img = new Image();\n const objectUrl = URL.createObjectURL(file);\n\n img.onload = () => {\n URL.revokeObjectURL(objectUrl);\n const { height, width } = img;\n\n if (width > maxWidth || height > maxHeight) {\n resolve({\n isValid: false,\n title: 'Dimension limit reached',\n description: `These image dimensions (${width}x${height}px) exceed the ${maxWidth}x${maxHeight}px limit. Please resize the image and try again.`,\n });\n } else {\n resolve({ isValid: true, title: '', description: '' });\n }\n };\n\n img.onerror = () => {\n URL.revokeObjectURL(objectUrl);\n resolve({\n isValid: false,\n title: 'The image is broken',\n description:\n 'Looks like this image isn’t valid. Please choose another image and try again.',\n });\n };\n\n img.src = objectUrl;\n });\n };\n}\n"],"names":["loadScript","defaultImageValidation","unlayerToolsParseTwinKey","unlayerToolsIterate","createUnlayerEditor","DesignUpdatedEventType","defaultScriptUrl","eventsNotChangingToolsList","ContentMoved","ContentModified","ColumnModified","RowMoved","RowModified","BodyModified","eventsNotAddingTools","ContentRemoved","ColumnRemoved","RowRemoved","UnlayerStore","props","unlayerRef","editor","isInit","iframe","hasDesign","onMessageCB","onChangeCB","onSnapshotSaveCB","onReadyCB","onImageCB","onErrorCB","init","destroy","addTwin","setDesign","setOnChange","setOnSnapshotSave","setOnReady","setOnImage","setOnError","setOnMessage","onDesignLoaded","onDesignUpdated","onPostMessage","sendMessage","uploadImage","validateImage","container","setTimeout","window","addEventListener","registerCallback","querySelector","undefined","removeEventListener","unregisterCallback","twin","toolTwins","push","JSON","parse","stringify","design","loadDesign","onChange","onSnapshotSave","onReady","onImage","onError","onMessage","setBodyValues","backgroundColor","contentWidth","event","isToolAdded","includes","type","isToolsListChanged","exportHtml","data","hasChanges","tool","realTool","slug","counters","values","_meta","htmlID","e","dummyData","schema","generics","genericConfigMode","isSnapshotMode","customTools","tools","map","key","eSignRecipients","eSignFieldTypes","units","unit","adminConfig","template","id","title","contentWindow","postMessage","done","progress","Error","attachments","length","file","res","imageValidation","isValid","description","url","maxFileSize","maxHeight","maxWidth","size","maxSizeMB","toFixed","fileSizeMB","Promise","resolve","img","Image","objectUrl","URL","createObjectURL","onload","revokeObjectURL","height","width","onerror","src","saveDesign","cb"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/store.ts"],"sourcesContent":["import { loadScript } from './loadScript';\nimport { defaultImageValidation } from './shared/configs';\nimport { UnlayerEditorTwin, UnlayerEventConfig, UnlayerEventRegister } from './shared/const';\nimport { unlayerToolsParseTwinKey } from './shared/tools';\nimport { unlayerToolsIterate } from './tools';\nimport {\n createUnlayerEditor,\n DesignUpdatedEventType,\n EventDesignUpdated,\n Unlayer,\n} from './unlayer';\nimport { CreateUnlayerEditorProps, UnlayerDesignFormat, UnlayerRef } from './unlayer-interface';\n\nconst defaultScriptUrl = 'https://editor.unlayer.com/embed.js?2';\n\nexport interface UnlayerDesignChangeInfo {\n isToolsListChanged: boolean;\n}\n\n// We are using exclusive lists here, because we can't be sure that we know all unlayer event types\nconst eventsNotChangingToolsList: DesignUpdatedEventType[] = [\n DesignUpdatedEventType.ContentMoved,\n DesignUpdatedEventType.ContentModified,\n DesignUpdatedEventType.ColumnModified,\n DesignUpdatedEventType.RowMoved,\n DesignUpdatedEventType.RowModified,\n DesignUpdatedEventType.BodyModified,\n];\n\nconst eventsNotAddingTools: DesignUpdatedEventType[] = [\n ...eventsNotChangingToolsList,\n DesignUpdatedEventType.ContentRemoved,\n DesignUpdatedEventType.ColumnRemoved,\n DesignUpdatedEventType.RowRemoved,\n];\n\nexport class UnlayerStore {\n readonly unlayerRef: UnlayerRef;\n\n private editor: Unlayer | undefined;\n private isInit = false;\n private iframe?: HTMLIFrameElement;\n private hasDesign = false;\n\n private onMessageCB?: (type: string, data: any) => void;\n private onChangeCB?: (info: UnlayerDesignChangeInfo) => void;\n private onSnapshotSaveCB?: (snapshot: UnlayerEditorTwin) => void;\n private onReadyCB?: () => void;\n private onImageCB?: (file: File) => Promise<{ url: string }>;\n private onErrorCB?: (title: string, description?: string) => void;\n\n constructor(readonly props: CreateUnlayerEditorProps) {\n this.props.eSignFieldTypes = ['Signature', 'Initials', 'Date Signed', 'Full Name'];\n\n this.unlayerRef = {\n loadDesign: design => {\n this.editor?.loadDesign(design);\n },\n saveDesign: cb => {\n this.editor?.saveDesign(cb);\n },\n exportHtml: cb => {\n this.editor?.exportHtml(data => {\n cb(data);\n });\n },\n };\n }\n\n init = async (container: HTMLDivElement) => {\n if (this.isInit) {\n return;\n }\n\n this.isInit = true;\n\n setTimeout(() => window.addEventListener('message', this.onPostMessage));\n\n await loadScript(defaultScriptUrl);\n\n this.editor = createUnlayerEditor(container, this.props);\n this.editor.addEventListener('design:loaded', this.onDesignLoaded);\n this.editor.addEventListener('design:updated', this.onDesignUpdated);\n this.editor.registerCallback('image', this.uploadImage);\n\n this.iframe = container.querySelector(`iframe`) ?? undefined;\n };\n\n destroy = () => {\n window.removeEventListener('message', this.onPostMessage);\n\n if (this.editor) {\n this.editor.removeEventListener('design:loaded', this.onDesignLoaded);\n this.editor.removeEventListener('design:updated', this.onDesignUpdated);\n this.editor.unregisterCallback('image', this.uploadImage);\n\n this.editor = undefined;\n }\n };\n\n addTwin = (twin: UnlayerEditorTwin) => {\n this.props.toolTwins?.push(twin);\n this.sendMessage('--add-twin', JSON.parse(JSON.stringify(twin)));\n };\n\n setDesign = (design?: UnlayerDesignFormat) => {\n if (!this.editor) {\n return;\n }\n\n this.hasDesign = !!design;\n\n if (design) {\n this.editor.loadDesign(design);\n }\n };\n\n setOnChange = (onChange?: UnlayerStore['onChangeCB']) => {\n this.onChangeCB = onChange;\n };\n\n setOnSnapshotSave = (onSnapshotSave?: UnlayerStore['onSnapshotSaveCB']) => {\n this.onSnapshotSaveCB = onSnapshotSave;\n };\n\n setOnReady = (onReady?: UnlayerStore['onReadyCB']) => {\n this.onReadyCB = onReady;\n };\n\n setOnImage = (onImage?: UnlayerStore['onImageCB']) => {\n this.onImageCB = onImage;\n };\n\n setOnError = (onError?: UnlayerStore['onErrorCB']) => {\n this.onErrorCB = onError;\n };\n\n setOnMessage = (onMessage?: UnlayerStore['onMessageCB']) => {\n this.onMessageCB = onMessage;\n };\n\n private onDesignLoaded = () => {\n if (!this.hasDesign) {\n this.hasDesign = true;\n this.editor?.setBodyValues({\n backgroundColor: 'rgba(0,0,0,0)',\n contentWidth: '100%',\n });\n }\n };\n\n private onDesignUpdated = (event: EventDesignUpdated) => {\n const isToolAdded = !eventsNotAddingTools.includes(event.type);\n const isToolsListChanged = !eventsNotChangingToolsList.includes(event.type);\n\n if (isToolAdded) {\n this.editor?.exportHtml(data => {\n let hasChanges = false;\n\n unlayerToolsIterate(data.design, tool => {\n const realTool = tool.slug\n ? unlayerToolsParseTwinKey(tool.slug ?? '')\n : undefined;\n\n if (realTool) {\n hasChanges = true;\n\n if (tool.slug) {\n delete data.design.counters[`u_content_custom_${tool.slug}`];\n delete tool.values._meta.htmlID;\n }\n\n tool.type = realTool.type;\n tool.slug = realTool.slug;\n }\n });\n\n if (hasChanges) {\n this.setDesign(data.design);\n }\n\n this.onChangeCB?.({ isToolsListChanged });\n });\n } else {\n this.onChangeCB?.({ isToolsListChanged });\n }\n };\n\n private onPostMessage = (e: MessageEvent) => {\n if (!e.data?.['-dte-message-from']) {\n return;\n }\n\n const type = e.data?.['-dte-message-from']?.type;\n const data = e.data?.['-dte-message-from']?.data;\n\n if (!type) {\n return;\n }\n\n if (type === '--ready' || type === '--registered') {\n this.onReadyCB?.();\n } else if (type === '--core-loaded') {\n const data: UnlayerEventConfig = {\n dummyData: this.props.dummyData,\n schema: this.props.schema,\n generics: this.props.generics,\n genericConfigMode: this.props.genericConfigMode,\n isSnapshotMode: this.props.isSnapshotMode,\n holidays: this.props.holidays,\n };\n\n this.sendMessage('--config', JSON.parse(JSON.stringify(data)));\n } else if (type === '--data-loaded') {\n const data: UnlayerEventRegister = {\n customTools: this.props.tools.map(tool => ({ key: tool.key })),\n toolTwins: this.props.toolTwins,\n eSignRecipients: this.props.eSignRecipients,\n eSignFieldTypes: this.props.eSignFieldTypes,\n units: this.props.units?.map(unit => ({\n ...unit,\n values: {\n ...unit.values,\n adminConfig: undefined,\n },\n })),\n };\n\n this.sendMessage('--register', JSON.parse(JSON.stringify(data)));\n } else if (type === '--save-snapshot') {\n this.editor?.exportHtml(template => {\n unlayerToolsIterate(template.design, tool => {\n if (tool.values?.twin?.id === data.id) {\n if (!tool.slug) {\n return;\n }\n\n this.onSnapshotSaveCB?.({\n title: '',\n tool: tool.slug,\n values: tool.values,\n });\n return false;\n }\n });\n });\n }\n\n this.onMessageCB?.(type, data);\n };\n\n private sendMessage = (type: string, data?: any) => {\n this.iframe?.contentWindow?.postMessage(\n {\n '-dte-message-to': {\n type,\n data,\n },\n },\n '*',\n );\n };\n\n private uploadImage = async (\n data: { attachments: File[] },\n done: (result: { progress: number; url?: string }) => void,\n ) => {\n if (!this.onImageCB) {\n done({ progress: 100 });\n throw new Error('image upload is not implemented');\n }\n\n if (!data.attachments?.length) {\n return;\n }\n\n const file = data.attachments[0];\n\n const res = await this.validateImage(file, {\n ...defaultImageValidation,\n ...(this.props.imageValidation ?? {}),\n });\n\n if (!res.isValid) {\n this.onErrorCB?.(res.title, res.description);\n return;\n }\n\n done({ progress: 0 });\n\n try {\n const { url } = await this.onImageCB(file);\n done({ progress: 100, url });\n } catch {\n this.onErrorCB?.(\n 'Image upload failed',\n 'Something went wrong while uploading the image. Please try again or select another image.',\n );\n done({ progress: 100 });\n }\n };\n\n private validateImage = async (\n file: File,\n imageValidation: { maxFileSize: number; maxWidth: number; maxHeight: number },\n ): Promise<{ isValid: boolean; title: string; description: string }> => {\n const { maxFileSize, maxHeight, maxWidth } = imageValidation;\n\n if (file.size > maxFileSize) {\n const maxSizeMB = (maxFileSize / 1024 / 1024).toFixed(2);\n const fileSizeMB = (file.size / 1024 / 1024).toFixed(2);\n return {\n isValid: false,\n title: 'Image size limit reached',\n description: `This image is ${fileSizeMB}MB, which is above the ${maxSizeMB}MB limit. Please upload a smaller file to continue.`,\n };\n }\n\n return new Promise(resolve => {\n const img = new Image();\n const objectUrl = URL.createObjectURL(file);\n\n img.onload = () => {\n URL.revokeObjectURL(objectUrl);\n const { height, width } = img;\n\n if (width > maxWidth || height > maxHeight) {\n resolve({\n isValid: false,\n title: 'Dimension limit reached',\n description: `These image dimensions (${width}x${height}px) exceed the ${maxWidth}x${maxHeight}px limit. Please resize the image and try again.`,\n });\n } else {\n resolve({ isValid: true, title: '', description: '' });\n }\n };\n\n img.onerror = () => {\n URL.revokeObjectURL(objectUrl);\n resolve({\n isValid: false,\n title: 'The image is broken',\n description:\n 'Looks like this image isn’t valid. Please choose another image and try again.',\n });\n };\n\n img.src = objectUrl;\n });\n };\n}\n"],"names":["loadScript","defaultImageValidation","unlayerToolsParseTwinKey","unlayerToolsIterate","createUnlayerEditor","DesignUpdatedEventType","defaultScriptUrl","eventsNotChangingToolsList","ContentMoved","ContentModified","ColumnModified","RowMoved","RowModified","BodyModified","eventsNotAddingTools","ContentRemoved","ColumnRemoved","RowRemoved","UnlayerStore","props","unlayerRef","editor","isInit","iframe","hasDesign","onMessageCB","onChangeCB","onSnapshotSaveCB","onReadyCB","onImageCB","onErrorCB","init","destroy","addTwin","setDesign","setOnChange","setOnSnapshotSave","setOnReady","setOnImage","setOnError","setOnMessage","onDesignLoaded","onDesignUpdated","onPostMessage","sendMessage","uploadImage","validateImage","container","setTimeout","window","addEventListener","registerCallback","querySelector","undefined","removeEventListener","unregisterCallback","twin","toolTwins","push","JSON","parse","stringify","design","loadDesign","onChange","onSnapshotSave","onReady","onImage","onError","onMessage","setBodyValues","backgroundColor","contentWidth","event","isToolAdded","includes","type","isToolsListChanged","exportHtml","data","hasChanges","tool","realTool","slug","counters","values","_meta","htmlID","e","dummyData","schema","generics","genericConfigMode","isSnapshotMode","holidays","customTools","tools","map","key","eSignRecipients","eSignFieldTypes","units","unit","adminConfig","template","id","title","contentWindow","postMessage","done","progress","Error","attachments","length","file","res","imageValidation","isValid","description","url","maxFileSize","maxHeight","maxWidth","size","maxSizeMB","toFixed","fileSizeMB","Promise","resolve","img","Image","objectUrl","URL","createObjectURL","onload","revokeObjectURL","height","width","onerror","src","saveDesign","cb"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlayer-interface.d.ts","sourceRoot":"","sources":["../src/unlayer-interface.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"unlayer-interface.d.ts","sourceRoot":"","sources":["../src/unlayer-interface.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;CACf;AACD,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAC9D,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE;QACF,IAAI,EAAE;YACF,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,OAAO,EAAE;gBACL,QAAQ,EAAE,iBAAiB,EAAE,CAAC;gBAC9B,MAAM,CAAC,EAAE,GAAG,CAAC;aAChB,EAAE,CAAC;YACJ,MAAM,CAAC,EAAE,GAAG,CAAC;SAChB,EAAE,CAAC;QACJ,MAAM,CAAC,EAAE,GAAG,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACvB,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,yBAAyB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACrC,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,yBAAyB,EAAE,GAAG,SAAS,CAAC;IACpD,eAAe,CAAC,EAAE,+BAA+B,EAAE,GAAG,SAAS,CAAC;IAChE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,eAAe,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/unlayer-interface.tsx"],"sourcesContent":["import {\n UnlayerEditorESignRecipientInfo,\n UnlayerEditorTwin,\n UnlayerEditorUnit,\n} from './shared/const';\nimport { SchemaObject } from './shared/schema';\n\nexport interface UnlayerDesignTool {\n type: string;\n slug?: string;\n values: any;\n}\nexport interface UnlayerDesignCustomTool extends UnlayerDesignTool {\n slug: string;\n}\n\nexport interface UnlayerDesignFormat {\n body: {\n rows: {\n cells: number[];\n columns: {\n contents: UnlayerDesignTool[];\n values?: any;\n }[];\n values?: any;\n }[];\n values?: any;\n };\n counters: Record<string, number>;\n schemaVersion: number;\n}\n\nexport interface UnlayerExport {\n html: string;\n chunks: any;\n design: UnlayerDesignFormat;\n}\n\nexport interface UnlayerRef {\n loadDesign(design: any): void;\n saveDesign(cb: (design: any) => void): void;\n exportHtml(cb: (data: UnlayerExport) => void): void;\n}\n\nexport interface UnlayerEditorMergeTagInfo {\n id: string;\n name: string;\n propertyPath: string;\n}\n\nexport interface UnlayerEditorCustomTool {\n key: string;\n title: string;\n description?: string;\n url: string;\n groupUrl?: string;\n}\n\nexport interface CreateUnlayerEditorProps {\n tools: UnlayerEditorCustomTool[];\n newSnapshot?: UnlayerEditorTwin;\n toolTwins?: UnlayerEditorTwin[];\n isSnapshotMode?: boolean;\n dummyData?: any;\n schema?: SchemaObject;\n customCSS?: string | string[] | undefined;\n customJS?: string | string[] | undefined;\n mergeTags?: UnlayerEditorMergeTagInfo[] | undefined;\n eSignRecipients?: UnlayerEditorESignRecipientInfo[] | undefined;\n eSignFieldTypes?: string[] | undefined;\n genericConfigMode?: boolean;\n generics?: true | string[];\n units?: UnlayerEditorUnit[];\n noCoreTools?: boolean;\n latest?: boolean;\n blocks?: boolean;\n hideAllTools?: boolean;\n hideContentControls?: boolean;\n hideBodyMenuItem?: boolean;\n enableHTMLEditing?: boolean;\n enableHTMLEditingReadonly?: boolean;\n imageValidation?: {\n maxWidth?: number;\n maxHeight?: number;\n maxFileSize?: number;\n }
|
|
1
|
+
{"version":3,"sources":["../src/unlayer-interface.tsx"],"sourcesContent":["import {\n UnlayerEditorESignRecipientInfo,\n UnlayerEditorTwin,\n UnlayerEditorUnit,\n} from './shared/const';\nimport { SchemaObject } from './shared/schema';\n\nexport interface UnlayerDesignTool {\n type: string;\n slug?: string;\n values: any;\n}\nexport interface UnlayerDesignCustomTool extends UnlayerDesignTool {\n slug: string;\n}\n\nexport interface UnlayerDesignFormat {\n body: {\n rows: {\n cells: number[];\n columns: {\n contents: UnlayerDesignTool[];\n values?: any;\n }[];\n values?: any;\n }[];\n values?: any;\n };\n counters: Record<string, number>;\n schemaVersion: number;\n}\n\nexport interface UnlayerExport {\n html: string;\n chunks: any;\n design: UnlayerDesignFormat;\n}\n\nexport interface UnlayerRef {\n loadDesign(design: any): void;\n saveDesign(cb: (design: any) => void): void;\n exportHtml(cb: (data: UnlayerExport) => void): void;\n}\n\nexport interface UnlayerEditorMergeTagInfo {\n id: string;\n name: string;\n propertyPath: string;\n}\n\nexport interface UnlayerEditorCustomTool {\n key: string;\n title: string;\n description?: string;\n url: string;\n groupUrl?: string;\n}\n\nexport interface CreateUnlayerEditorProps {\n tools: UnlayerEditorCustomTool[];\n newSnapshot?: UnlayerEditorTwin;\n toolTwins?: UnlayerEditorTwin[];\n isSnapshotMode?: boolean;\n dummyData?: any;\n schema?: SchemaObject;\n customCSS?: string | string[] | undefined;\n customJS?: string | string[] | undefined;\n mergeTags?: UnlayerEditorMergeTagInfo[] | undefined;\n eSignRecipients?: UnlayerEditorESignRecipientInfo[] | undefined;\n eSignFieldTypes?: string[] | undefined;\n genericConfigMode?: boolean;\n generics?: true | string[];\n units?: UnlayerEditorUnit[];\n noCoreTools?: boolean;\n latest?: boolean;\n blocks?: boolean;\n hideAllTools?: boolean;\n hideContentControls?: boolean;\n hideBodyMenuItem?: boolean;\n enableHTMLEditing?: boolean;\n enableHTMLEditingReadonly?: boolean;\n imageValidation?: {\n maxWidth?: number;\n maxHeight?: number;\n maxFileSize?: number;\n };\n holidays?: string[];\n}\n"],"names":[],"mappings":"AA0DA,WA6BC"}
|