@servicetitan/dte-unlayer 0.157.0 → 0.159.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/api-core.js +22 -29
  2. package/dist/api-core.js.map +1 -1
  3. package/dist/api-custom-tools.js +23 -29
  4. package/dist/api-custom-tools.js.map +1 -1
  5. package/dist/business-calendar/BusinessCalendarDrawer.d.ts +19 -0
  6. package/dist/business-calendar/BusinessCalendarDrawer.d.ts.map +1 -0
  7. package/dist/business-calendar/BusinessCalendarDrawer.js +41 -0
  8. package/dist/business-calendar/BusinessCalendarDrawer.js.map +1 -0
  9. package/dist/business-calendar/business-calendar-requests.d.ts +25 -0
  10. package/dist/business-calendar/business-calendar-requests.d.ts.map +1 -0
  11. package/dist/business-calendar/business-calendar-requests.js +46 -0
  12. package/dist/business-calendar/business-calendar-requests.js.map +1 -0
  13. package/dist/business-calendar/business-calendar-state.d.ts +22 -0
  14. package/dist/business-calendar/business-calendar-state.d.ts.map +1 -0
  15. package/dist/business-calendar/business-calendar-state.js +74 -0
  16. package/dist/business-calendar/business-calendar-state.js.map +1 -0
  17. package/dist/business-calendar/useBusinessCalendarRequests.d.ts +15 -0
  18. package/dist/business-calendar/useBusinessCalendarRequests.d.ts.map +1 -0
  19. package/dist/business-calendar/useBusinessCalendarRequests.js +30 -0
  20. package/dist/business-calendar/useBusinessCalendarRequests.js.map +1 -0
  21. package/dist/display-conditions/ConditionGroup.js +15 -89
  22. package/dist/display-conditions/ConditionGroup.js.map +1 -1
  23. package/dist/display-conditions/ConditionGroupsSection.js +2 -70
  24. package/dist/display-conditions/ConditionGroupsSection.js.map +1 -1
  25. package/dist/display-conditions/ConditionRow.d.ts.map +1 -1
  26. package/dist/display-conditions/ConditionRow.js +71 -296
  27. package/dist/display-conditions/ConditionRow.js.map +1 -1
  28. package/dist/display-conditions/DisplayConditionModal.js +40 -190
  29. package/dist/display-conditions/DisplayConditionModal.js.map +1 -1
  30. package/dist/display-conditions/LookupValueControl.d.ts.map +1 -1
  31. package/dist/display-conditions/LookupValueControl.js +42 -109
  32. package/dist/display-conditions/LookupValueControl.js.map +1 -1
  33. package/dist/display-conditions/SeparatorWithChip.js +1 -10
  34. package/dist/display-conditions/SeparatorWithChip.js.map +1 -1
  35. package/dist/display-conditions/constants.js +15 -20
  36. package/dist/display-conditions/constants.js.map +1 -1
  37. package/dist/display-conditions/displayConditionController.js +5 -8
  38. package/dist/display-conditions/displayConditionController.js.map +1 -1
  39. package/dist/display-conditions/lookupOptionsController.js +16 -16
  40. package/dist/display-conditions/lookupOptionsController.js.map +1 -1
  41. package/dist/display-conditions/nunjucks.js +98 -116
  42. package/dist/display-conditions/nunjucks.js.map +1 -1
  43. package/dist/display-conditions/schemaDataPoints.js +13 -11
  44. package/dist/display-conditions/schemaDataPoints.js.map +1 -1
  45. package/dist/display-conditions/types.js +23 -67
  46. package/dist/display-conditions/types.js.map +1 -1
  47. package/dist/display-conditions/useConditionForms.js +38 -56
  48. package/dist/display-conditions/useConditionForms.js.map +1 -1
  49. package/dist/display-conditions/useLookupOptions.js +24 -44
  50. package/dist/display-conditions/useLookupOptions.js.map +1 -1
  51. package/dist/e-sign-offset/ESignDateSignedOffsetModal.d.ts.map +1 -1
  52. package/dist/e-sign-offset/ESignDateSignedOffsetModal.js +48 -156
  53. package/dist/e-sign-offset/ESignDateSignedOffsetModal.js.map +1 -1
  54. package/dist/e-sign-offset/ESignOffsetRuleRow.d.ts +3 -1
  55. package/dist/e-sign-offset/ESignOffsetRuleRow.d.ts.map +1 -1
  56. package/dist/e-sign-offset/ESignOffsetRuleRow.js +12 -71
  57. package/dist/e-sign-offset/ESignOffsetRuleRow.js.map +1 -1
  58. package/dist/e-sign-offset/eSignOffsetController.js +5 -8
  59. package/dist/e-sign-offset/eSignOffsetController.js.map +1 -1
  60. package/dist/editor-core-source.d.ts +2 -2
  61. package/dist/editor-core-source.d.ts.map +1 -1
  62. package/dist/editor-core-source.js +3 -3
  63. package/dist/editor-core-source.js.map +1 -1
  64. package/dist/editor-core.js +2 -2
  65. package/dist/editor-core.js.map +1 -1
  66. package/dist/editor.d.ts.map +1 -1
  67. package/dist/editor.js +56 -118
  68. package/dist/editor.js.map +1 -1
  69. package/dist/image-upload-error.js +3 -3
  70. package/dist/image-upload-error.js.map +1 -1
  71. package/dist/index.d.ts +1 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +0 -1
  74. package/dist/index.js.map +1 -1
  75. package/dist/loadScript.js +7 -8
  76. package/dist/loadScript.js.map +1 -1
  77. package/dist/log.js +2 -3
  78. package/dist/log.js.map +1 -1
  79. package/dist/merge-tags.js +18 -17
  80. package/dist/merge-tags.js.map +1 -1
  81. package/dist/shared/configs.js +1 -2
  82. package/dist/shared/configs.js.map +1 -1
  83. package/dist/shared/const.d.ts +72 -0
  84. package/dist/shared/const.d.ts.map +1 -1
  85. package/dist/shared/const.js +13 -4
  86. package/dist/shared/const.js.map +1 -1
  87. package/dist/shared/date-calc.d.ts +32 -13
  88. package/dist/shared/date-calc.d.ts.map +1 -1
  89. package/dist/shared/date-calc.js +130 -76
  90. package/dist/shared/date-calc.js.map +1 -1
  91. package/dist/shared/e-sign-offset.js +46 -63
  92. package/dist/shared/e-sign-offset.js.map +1 -1
  93. package/dist/shared/edit-icon.js +0 -1
  94. package/dist/shared/edit-icon.js.map +1 -1
  95. package/dist/shared/fonts.js +16 -17
  96. package/dist/shared/fonts.js.map +1 -1
  97. package/dist/shared/forms.js +16 -38
  98. package/dist/shared/forms.js.map +1 -1
  99. package/dist/shared/instance-id.d.ts +3 -0
  100. package/dist/shared/instance-id.d.ts.map +1 -1
  101. package/dist/shared/instance-id.js +10 -7
  102. package/dist/shared/instance-id.js.map +1 -1
  103. package/dist/shared/nunjucks-helpers.js +2 -5
  104. package/dist/shared/nunjucks-helpers.js.map +1 -1
  105. package/dist/shared/schema.js +52 -96
  106. package/dist/shared/schema.js.map +1 -1
  107. package/dist/shared/tools.js +6 -13
  108. package/dist/shared/tools.js.map +1 -1
  109. package/dist/store.d.ts +15 -1
  110. package/dist/store.d.ts.map +1 -1
  111. package/dist/store.js +851 -547
  112. package/dist/store.js.map +1 -1
  113. package/dist/tools.js +133 -143
  114. package/dist/tools.js.map +1 -1
  115. package/dist/unlayer-interface.d.ts +25 -1
  116. package/dist/unlayer-interface.d.ts.map +1 -1
  117. package/dist/unlayer-interface.js +1 -2
  118. package/dist/unlayer-interface.js.map +1 -1
  119. package/dist/unlayer.js +86 -113
  120. package/dist/unlayer.js.map +1 -1
  121. package/dist/vendor/dte-shared/business-calendar-validation.utils.d.ts +25 -0
  122. package/dist/vendor/dte-shared/business-calendar-validation.utils.js +80 -0
  123. package/dist/vendor/dte-shared/components/business-calendar-section.d.ts +15 -0
  124. package/dist/vendor/dte-shared/components/business-calendar-section.js +14 -0
  125. package/dist/vendor/dte-shared/components/schedule-drawer.d.ts +18 -0
  126. package/dist/vendor/dte-shared/components/schedule-drawer.js +119 -0
  127. package/dist/vendor/dte-shared/components/schedule-picker.d.ts +8 -0
  128. package/dist/vendor/dte-shared/components/schedule-picker.js +88 -0
  129. package/dist/vendor/dte-shared/constants.d.ts +31 -0
  130. package/dist/vendor/dte-shared/constants.js +34 -0
  131. package/dist/vendor/dte-shared/field-schedule-editor-context.d.ts +31 -0
  132. package/dist/vendor/dte-shared/field-schedule-editor-context.js +110 -0
  133. package/dist/vendor/dte-shared/index.d.ts +8 -0
  134. package/dist/vendor/dte-shared/index.js +7 -0
  135. package/dist/vendor/dte-shared/schedule-bindings.utils.d.ts +22 -0
  136. package/dist/vendor/dte-shared/schedule-bindings.utils.js +31 -0
  137. package/dist/vendor/dte-shared/styles/schedule.css +19 -0
  138. package/dist/vendor/dte-shared/types.d.ts +129 -0
  139. package/dist/vendor/dte-shared/types.js +1 -0
  140. package/package.json +7 -1
  141. package/src/__tests__/business-calendar-drawer.test.tsx +183 -0
  142. package/src/__tests__/business-calendar-requests.test.ts +166 -0
  143. package/src/__tests__/business-calendar-state.test.tsx +142 -0
  144. package/src/__tests__/condition-row.test.tsx +131 -0
  145. package/src/__tests__/date-calc.test.ts +145 -0
  146. package/src/__tests__/e-sign-offset-modal.test.tsx +124 -0
  147. package/src/__tests__/instance-id.test.ts +49 -0
  148. package/src/__tests__/store.business-calendar.test.ts +185 -0
  149. package/src/__tests__/unlayer.e-sign-types.test.ts +30 -0
  150. package/src/business-calendar/BusinessCalendarDrawer.tsx +76 -0
  151. package/src/business-calendar/business-calendar-requests.ts +80 -0
  152. package/src/business-calendar/business-calendar-state.ts +113 -0
  153. package/src/business-calendar/useBusinessCalendarRequests.ts +49 -0
  154. package/src/display-conditions/ConditionRow.tsx +102 -175
  155. package/src/display-conditions/LookupValueControl.tsx +1 -12
  156. package/src/e-sign-offset/ESignDateSignedOffsetModal.tsx +20 -12
  157. package/src/e-sign-offset/ESignOffsetRuleRow.tsx +7 -2
  158. package/src/editor-core-source.ts +2 -2
  159. package/src/editor.tsx +15 -0
  160. package/src/index.ts +10 -0
  161. package/src/shared/const.ts +61 -0
  162. package/src/shared/date-calc.ts +155 -78
  163. package/src/shared/instance-id.ts +6 -1
  164. package/src/store.ts +68 -5
  165. package/src/unlayer-interface.tsx +25 -1
  166. package/src/unlayer.tsx +5 -5
@@ -1,6 +1,6 @@
1
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';
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
4
  const NUMERIC_VALUE_RE = /^-?(?:\d+\.?\d*|\.\d+)$/;
5
5
  function isRecord(value) {
6
6
  return typeof value === 'object' && value !== null && !Array.isArray(value);
@@ -11,52 +11,32 @@ function isConditionState(value) {
11
11
  function isConditionedRule(rule) {
12
12
  return rule.condition !== undefined;
13
13
  }
14
- export const clampESignOffsetDays = (days)=>{
14
+ export const clampESignOffsetDays = (days) => {
15
15
  if (typeof days !== 'number' || !Number.isFinite(days)) {
16
16
  return 0;
17
17
  }
18
18
  return Math.max(Math.min(MAX_E_SIGN_OFFSET_DAYS, Math.trunc(days)), 0);
19
19
  };
20
- export const createESignOffsetSettings = (days = 0)=>{
21
- return {
22
- rules: [
23
- {
24
- days: clampESignOffsetDays(days)
25
- }
26
- ]
27
- };
20
+ export const createESignOffsetSettings = (days = 0) => {
21
+ return { rules: [{ days: clampESignOffsetDays(days) }] };
28
22
  };
29
- export const createESignOffsetRule = ()=>{
30
- return {
31
- condition: {
32
- behavior: 'show',
33
- groups: [
34
- defaultGroup()
35
- ]
36
- },
37
- days: 0
38
- };
23
+ export const createESignOffsetRule = () => {
24
+ return { condition: { behavior: 'show', groups: [defaultGroup()] }, days: 0 };
39
25
  };
40
- export const buildESignOffsetSettings = (conditionedRules, finalDays)=>{
26
+ export const buildESignOffsetSettings = (conditionedRules, finalDays) => {
41
27
  return {
42
28
  rules: [
43
- ...conditionedRules.map((rule)=>({
44
- ...rule,
45
- days: clampESignOffsetDays(rule.days)
46
- })),
47
- {
48
- days: clampESignOffsetDays(finalDays)
49
- }
50
- ]
29
+ ...conditionedRules.map(rule => ({ ...rule, days: clampESignOffsetDays(rule.days) })),
30
+ { days: clampESignOffsetDays(finalDays) },
31
+ ],
51
32
  };
52
33
  };
53
- export const splitESignOffsetSettings = (settings)=>{
54
- var _ref;
55
- var _rules_;
34
+ export const splitESignOffsetSettings = (settings) => {
35
+ var _a, _b;
56
36
  const rules = settings.rules;
57
37
  return {
58
38
  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
39
+ finalDays: (_b = (_a = rules[rules.length - 1]) === null || _a === void 0 ? void 0 : _a.days) !== null && _b !== void 0 ? _b : 0,
60
40
  };
61
41
  };
62
42
  export function isESignOffsetSettings(value) {
@@ -67,14 +47,17 @@ export function isESignOffsetSettings(value) {
67
47
  if (rules.length === 0 || rules.length > MAX_E_SIGN_OFFSET_RULES) {
68
48
  return false;
69
49
  }
70
- return rules.every((rule, index)=>{
50
+ return rules.every((rule, index) => {
71
51
  if (!isRecord(rule) || clampESignOffsetDays(rule.days) !== rule.days) {
72
52
  return false;
73
53
  }
74
- return index === rules.length - 1 ? rule.condition === undefined : isConditionState(rule.condition);
54
+ return index === rules.length - 1
55
+ ? rule.condition === undefined
56
+ : isConditionState(rule.condition);
75
57
  });
76
58
  }
77
- /** Coerces whatever is stored on the tool (missing, legacy or hand-edited) into a valid chain. */ export const normalizeESignOffsetSettings = (value)=>{
59
+ /** Coerces whatever is stored on the tool (missing, legacy or hand-edited) into a valid chain. */
60
+ export const normalizeESignOffsetSettings = (value) => {
78
61
  if (isESignOffsetSettings(value)) {
79
62
  return value;
80
63
  }
@@ -83,34 +66,31 @@ export function isESignOffsetSettings(value) {
83
66
  }
84
67
  const rules = value.rules;
85
68
  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);
69
+ const conditionedRules = rules
70
+ .slice(0, -1)
71
+ .flatMap(rule => isRecord(rule) && isConditionState(rule.condition)
72
+ ? [{ condition: rule.condition, days: clampESignOffsetDays(rule.days) }]
73
+ : [])
74
+ .slice(0, MAX_E_SIGN_OFFSET_RULES - 1);
92
75
  return buildESignOffsetSettings(conditionedRules, isRecord(lastRule) ? clampESignOffsetDays(lastRule.days) : 0);
93
76
  };
94
- export const canAddESignOffsetRule = (rules)=>{
77
+ export const canAddESignOffsetRule = (rules) => {
95
78
  return rules.length < MAX_E_SIGN_OFFSET_RULES - 1;
96
79
  };
97
- export const addESignOffsetRule = (rules)=>{
98
- return canAddESignOffsetRule(rules) ? [
99
- ...rules,
100
- createESignOffsetRule()
101
- ] : rules;
80
+ export const addESignOffsetRule = (rules) => {
81
+ return canAddESignOffsetRule(rules) ? [...rules, createESignOffsetRule()] : rules;
102
82
  };
103
- export const updateESignOffsetRule = (rules, index, nextRule)=>{
104
- return rules.map((rule, ruleIndex)=>ruleIndex === index ? nextRule : rule);
83
+ export const updateESignOffsetRule = (rules, index, nextRule) => {
84
+ return rules.map((rule, ruleIndex) => (ruleIndex === index ? nextRule : rule));
105
85
  };
106
- export const removeESignOffsetRule = (rules, index)=>{
107
- return rules.filter((_, ruleIndex)=>ruleIndex !== index);
86
+ export const removeESignOffsetRule = (rules, index) => {
87
+ return rules.filter((_, ruleIndex) => ruleIndex !== index);
108
88
  };
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];
89
+ export const getESignOffsetRuleCondition = (rule) => {
90
+ var _a;
91
+ return (_a = rule.condition.groups[0]) === null || _a === void 0 ? void 0 : _a.conditions[0];
112
92
  };
113
- export const isCompleteESignOffsetCondition = (condition, fieldType)=>{
93
+ export const isCompleteESignOffsetCondition = (condition, fieldType) => {
114
94
  if (!(condition === null || condition === void 0 ? void 0 : condition.dataPointKey)) {
115
95
  return false;
116
96
  }
@@ -120,11 +100,14 @@ export const isCompleteESignOffsetCondition = (condition, fieldType)=>{
120
100
  const value = condition.value.trim();
121
101
  return value !== '' && (fieldType !== 'number' || NUMERIC_VALUE_RE.test(value));
122
102
  };
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}`;
103
+ export const getESignOffsetConditionText = (condition, dataPointTitle) => {
104
+ var _a, _b;
105
+ const operatorLabel = ((_b = (_a = CONDITION_OPERATORS.find(operator => operator.value === condition.operator)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : condition.operator)
106
+ .split(' (')[0]
107
+ .replace('==', '=')
108
+ .toLowerCase();
109
+ return VALUE_LESS_OPERATORS.includes(condition.operator)
110
+ ? `${dataPointTitle} ${operatorLabel}`
111
+ : `${dataPointTitle} ${operatorLabel} ${condition.value}`;
128
112
  };
129
-
130
113
  //# sourceMappingURL=e-sign-offset.js.map
@@ -1 +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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"}
1
+ {"version":3,"file":"e-sign-offset.js","sourceRoot":"","sources":["../../src/shared/e-sign-offset.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,4 @@ export const editIconSvg = `
10
10
  </defs>
11
11
  </svg>
12
12
  `;
13
-
14
13
  //# sourceMappingURL=edit-icon.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/edit-icon.ts"],"sourcesContent":["export const editIconSvg = `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\">\n <g clip-path=\"url(#clip0_2941_4625)\">\n <path d=\"M4 23V28H9L23.7533 13.2467L18.7533 8.24667L4 23ZM27.6067 9.39333C28.1267 8.87333 28.1267 8.02667 27.6067 7.50667L24.4933 4.39333C23.9733 3.87333 23.1267 3.87333 22.6067 4.39333L20.1667 6.83333L25.1667 11.8333L27.6067 9.39333Z\" fill=\"#606162\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_2941_4625\">\n <rect width=\"32\" height=\"32\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n`;\n"],"names":["editIconSvg"],"mappings":"AAAA,OAAO,MAAMA,cAAc,CAAC;;;;;;;;;;;AAW5B,CAAC,CAAC"}
1
+ {"version":3,"file":"edit-icon.js","sourceRoot":"","sources":["../../src/shared/edit-icon.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;CAW1B,CAAC"}
@@ -1,79 +1,78 @@
1
1
  export const unlayerSupportedFonts = [
2
2
  {
3
3
  label: 'Liberation Sans',
4
- value: 'arial,helvetica,sans-serif'
4
+ value: 'arial,helvetica,sans-serif',
5
5
  },
6
6
  {
7
7
  label: 'Lobster Two',
8
8
  value: "'Lobster Two',cursive",
9
- url: 'https://fonts.googleapis.com/css?family=Lobster+Two:400,700'
9
+ url: 'https://fonts.googleapis.com/css?family=Lobster+Two:400,700',
10
10
  },
11
11
  {
12
12
  label: 'Playfair Display',
13
13
  value: "'Playfair Display',serif",
14
- url: 'https://fonts.googleapis.com/css?family=Playfair+Display:400,700'
14
+ url: 'https://fonts.googleapis.com/css?family=Playfair+Display:400,700',
15
15
  },
16
16
  {
17
17
  label: 'Rubik',
18
18
  value: "'Rubik',sans-serif",
19
- url: 'https://fonts.googleapis.com/css?family=Rubik:400,700'
19
+ url: 'https://fonts.googleapis.com/css?family=Rubik:400,700',
20
20
  },
21
21
  {
22
22
  label: 'Source Sans Pro',
23
23
  value: "'Source Sans Pro',sans-serif",
24
- url: 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700'
24
+ url: 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700',
25
25
  },
26
26
  {
27
27
  label: 'Open Sans',
28
28
  value: "'Open Sans',sans-serif",
29
- url: 'https://fonts.googleapis.com/css?family=Open+Sans:400,700'
29
+ url: 'https://fonts.googleapis.com/css?family=Open+Sans:400,700',
30
30
  },
31
31
  {
32
32
  label: 'Crimson Text',
33
33
  value: "'Crimson Text',serif",
34
- url: 'https://fonts.googleapis.com/css?family=Crimson+Text:400,700'
34
+ url: 'https://fonts.googleapis.com/css?family=Crimson+Text:400,700',
35
35
  },
36
36
  {
37
37
  label: 'Montserrat',
38
38
  value: "'Montserrat',sans-serif",
39
- url: 'https://fonts.googleapis.com/css?family=Montserrat:400,700'
39
+ url: 'https://fonts.googleapis.com/css?family=Montserrat:400,700',
40
40
  },
41
41
  {
42
42
  label: 'Old Standard TT',
43
43
  value: "'Old Standard TT',serif",
44
- url: 'https://fonts.googleapis.com/css?family=Old+Standard+TT:400,700'
44
+ url: 'https://fonts.googleapis.com/css?family=Old+Standard+TT:400,700',
45
45
  },
46
46
  {
47
47
  label: 'Lato',
48
48
  value: "'Lato',sans-serif",
49
- url: 'https://fonts.googleapis.com/css?family=Lato:400,700'
49
+ url: 'https://fonts.googleapis.com/css?family=Lato:400,700',
50
50
  },
51
51
  {
52
52
  label: 'Raleway',
53
53
  value: "'Raleway',sans-serif",
54
- url: 'https://fonts.googleapis.com/css?family=Raleway:400,700'
54
+ url: 'https://fonts.googleapis.com/css?family=Raleway:400,700',
55
55
  },
56
56
  {
57
57
  label: 'Cabin',
58
58
  value: "'Cabin',sans-serif",
59
- url: 'https://fonts.googleapis.com/css?family=Cabin:400,700'
59
+ url: 'https://fonts.googleapis.com/css?family=Cabin:400,700',
60
60
  },
61
61
  {
62
62
  label: 'Pacifico',
63
63
  value: "'Pacifico',cursive",
64
- url: 'https://fonts.googleapis.com/css?family=Pacifico'
64
+ url: 'https://fonts.googleapis.com/css?family=Pacifico',
65
65
  },
66
66
  // custom DTE fonts
67
67
  {
68
68
  label: 'Sofia Pro',
69
69
  value: 'Sofia Pro',
70
- url: 'https://fonts.googleapis.com/css2?family=Sofia+Sans:ital,wght@0,1..1000;1,1..1000&display=swap'
70
+ url: 'https://fonts.googleapis.com/css2?family=Sofia+Sans:ital,wght@0,1..1000;1,1..1000&display=swap',
71
71
  },
72
72
  {
73
73
  label: 'Nunito',
74
74
  value: 'Nunito',
75
- url: 'https://fonts.googleapis.com/css?family=Nunito'
76
- }
75
+ url: 'https://fonts.googleapis.com/css?family=Nunito',
76
+ },
77
77
  ];
78
-
79
78
  //# sourceMappingURL=fonts.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/fonts.ts"],"sourcesContent":["export const unlayerSupportedFonts = [\n {\n label: 'Liberation Sans',\n value: 'arial,helvetica,sans-serif',\n },\n {\n label: 'Lobster Two',\n value: \"'Lobster Two',cursive\",\n url: 'https://fonts.googleapis.com/css?family=Lobster+Two:400,700',\n },\n {\n label: 'Playfair Display',\n value: \"'Playfair Display',serif\",\n url: 'https://fonts.googleapis.com/css?family=Playfair+Display:400,700',\n },\n {\n label: 'Rubik',\n value: \"'Rubik',sans-serif\",\n url: 'https://fonts.googleapis.com/css?family=Rubik:400,700',\n },\n {\n label: 'Source Sans Pro',\n value: \"'Source Sans Pro',sans-serif\",\n url: 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700',\n },\n {\n label: 'Open Sans',\n value: \"'Open Sans',sans-serif\",\n url: 'https://fonts.googleapis.com/css?family=Open+Sans:400,700',\n },\n {\n label: 'Crimson Text',\n value: \"'Crimson Text',serif\",\n url: 'https://fonts.googleapis.com/css?family=Crimson+Text:400,700',\n },\n {\n label: 'Montserrat',\n value: \"'Montserrat',sans-serif\",\n url: 'https://fonts.googleapis.com/css?family=Montserrat:400,700',\n },\n {\n label: 'Old Standard TT',\n value: \"'Old Standard TT',serif\",\n url: 'https://fonts.googleapis.com/css?family=Old+Standard+TT:400,700',\n },\n {\n label: 'Lato',\n value: \"'Lato',sans-serif\",\n url: 'https://fonts.googleapis.com/css?family=Lato:400,700',\n },\n {\n label: 'Raleway',\n value: \"'Raleway',sans-serif\",\n url: 'https://fonts.googleapis.com/css?family=Raleway:400,700',\n },\n {\n label: 'Cabin',\n value: \"'Cabin',sans-serif\",\n url: 'https://fonts.googleapis.com/css?family=Cabin:400,700',\n },\n {\n label: 'Pacifico',\n value: \"'Pacifico',cursive\",\n url: 'https://fonts.googleapis.com/css?family=Pacifico',\n },\n // custom DTE fonts\n {\n label: 'Sofia Pro',\n value: 'Sofia Pro',\n url: 'https://fonts.googleapis.com/css2?family=Sofia+Sans:ital,wght@0,1..1000;1,1..1000&display=swap',\n },\n {\n label: 'Nunito',\n value: 'Nunito',\n url: 'https://fonts.googleapis.com/css?family=Nunito',\n },\n];\n"],"names":["unlayerSupportedFonts","label","value","url"],"mappings":"AAAA,OAAO,MAAMA,wBAAwB;IACjC;QACIC,OAAO;QACPC,OAAO;IACX;IACA;QACID,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA,mBAAmB;IACnB;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;IACA;QACIF,OAAO;QACPC,OAAO;QACPC,KAAK;IACT;CACH,CAAC"}
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../src/shared/fonts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC;QACI,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,4BAA4B;KACtC;IACD;QACI,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,uBAAuB;QAC9B,GAAG,EAAE,6DAA6D;KACrE;IACD;QACI,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,0BAA0B;QACjC,GAAG,EAAE,kEAAkE;KAC1E;IACD;QACI,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,oBAAoB;QAC3B,GAAG,EAAE,uDAAuD;KAC/D;IACD;QACI,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,8BAA8B;QACrC,GAAG,EAAE,iEAAiE;KACzE;IACD;QACI,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,wBAAwB;QAC/B,GAAG,EAAE,2DAA2D;KACnE;IACD;QACI,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,sBAAsB;QAC7B,GAAG,EAAE,8DAA8D;KACtE;IACD;QACI,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,yBAAyB;QAChC,GAAG,EAAE,4DAA4D;KACpE;IACD;QACI,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,yBAAyB;QAChC,GAAG,EAAE,iEAAiE;KACzE;IACD;QACI,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,mBAAmB;QAC1B,GAAG,EAAE,sDAAsD;KAC9D;IACD;QACI,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,sBAAsB;QAC7B,GAAG,EAAE,yDAAyD;KACjE;IACD;QACI,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,oBAAoB;QAC3B,GAAG,EAAE,uDAAuD;KAC/D;IACD;QACI,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,oBAAoB;QAC3B,GAAG,EAAE,kDAAkD;KAC1D;IACD,mBAAmB;IACnB;QACI,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,GAAG,EAAE,gGAAgG;KACxG;IACD;QACI,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,gDAAgD;KACxD;CACJ,CAAC"}
@@ -1,58 +1,37 @@
1
- export var FormItemType = /*#__PURE__*/ function(FormItemType) {
2
- FormItemType["Text"] = "Text";
3
- FormItemType["Number"] = "Number";
4
- FormItemType["Picture"] = "Picture";
5
- FormItemType["Checkboxes"] = "Checkboxes";
6
- FormItemType["RadioButtons"] = "RadioButtons";
7
- FormItemType["Date"] = "Date";
8
- FormItemType["Signature"] = "Signature";
9
- FormItemType["Dropdown"] = "Dropdown";
10
- FormItemType["Stoplight"] = "Stoplight";
11
- FormItemType["SmartField"] = "SmartField";
12
- return FormItemType;
13
- }({});
14
1
  const FORM_FIELD_KEY_RE = /^__submission_fields\.(\d+)\.([A-Za-z0-9]+)$/;
15
2
  const FORM_FIELD_RUNTIME_PATH_RE = /^__submission_fields\["(\d+)"\]\["([A-Za-z0-9]+)"\]$/;
16
3
  const LEGACY_FORM_KEY_RE = /^form_(\d+)_([A-Za-z0-9]+)$/;
17
4
  const LEGACY_FORM_KEY_PREFIX_RE = /^__form_(\d+)_([a-f0-9]+)$/;
18
- export const buildFormFieldKey = (formId, fieldId)=>`__submission_fields.${formId}.${fieldId.replaceAll('-', '')}`;
19
- export const parseFormFieldKey = (key)=>{
20
- var _FORM_FIELD_KEY_RE_exec;
21
- const match = (_FORM_FIELD_KEY_RE_exec = FORM_FIELD_KEY_RE.exec(key)) !== null && _FORM_FIELD_KEY_RE_exec !== void 0 ? _FORM_FIELD_KEY_RE_exec : FORM_FIELD_RUNTIME_PATH_RE.exec(key);
5
+ export const buildFormFieldKey = (formId, fieldId) => `__submission_fields.${formId}.${fieldId.replaceAll('-', '')}`;
6
+ export const parseFormFieldKey = (key) => {
7
+ var _a;
8
+ const match = (_a = FORM_FIELD_KEY_RE.exec(key)) !== null && _a !== void 0 ? _a : FORM_FIELD_RUNTIME_PATH_RE.exec(key);
22
9
  if (match) {
23
- return {
24
- formId: Number(match[1]),
25
- fieldId: match[2]
26
- };
10
+ return { formId: Number(match[1]), fieldId: match[2] };
27
11
  }
28
12
  // Backward compatibility for already saved values.
29
13
  const oldMatch = LEGACY_FORM_KEY_RE.exec(key);
30
14
  if (oldMatch) {
31
- return {
32
- formId: Number(oldMatch[1]),
33
- fieldId: oldMatch[2]
34
- };
15
+ return { formId: Number(oldMatch[1]), fieldId: oldMatch[2] };
35
16
  }
36
17
  const legacyMatch = LEGACY_FORM_KEY_PREFIX_RE.exec(key);
37
18
  if (legacyMatch) {
38
- return {
39
- formId: Number(legacyMatch[1]),
40
- fieldId: legacyMatch[2]
41
- };
19
+ return { formId: Number(legacyMatch[1]), fieldId: legacyMatch[2] };
42
20
  }
43
21
  return null;
44
22
  };
45
- export const isFormFieldKey = (key)=>parseFormFieldKey(key) !== null;
23
+ export const isFormFieldKey = (key) => parseFormFieldKey(key) !== null;
46
24
  /**
47
25
  * Submission keys may start with numeric properties, so dot notation is unsafe.
48
- */ export const toNunjucksFieldReference = (fieldKey)=>{
26
+ */
27
+ export const toNunjucksFieldReference = (fieldKey) => {
49
28
  const parsed = parseFormFieldKey(fieldKey);
50
29
  if (!parsed) {
51
30
  return fieldKey;
52
31
  }
53
32
  return `__submission_fields["${parsed.formId}"]["${parsed.fieldId}"]`;
54
33
  };
55
- export const getCalculatedFieldTypeFromFormItemType = (itemType)=>{
34
+ export const getCalculatedFieldTypeFromFormItemType = (itemType) => {
56
35
  if (itemType === 'Number') {
57
36
  return 'number';
58
37
  }
@@ -61,7 +40,7 @@ export const getCalculatedFieldTypeFromFormItemType = (itemType)=>{
61
40
  }
62
41
  return null;
63
42
  };
64
- export const getConditionalFieldTypeFromFormItemType = (itemType)=>{
43
+ export const getConditionalFieldTypeFromFormItemType = (itemType) => {
65
44
  if (!itemType) {
66
45
  return null;
67
46
  }
@@ -75,19 +54,18 @@ export const getConditionalFieldTypeFromFormItemType = (itemType)=>{
75
54
  };
76
55
  const DEFAULT_FORM_NUMBER_SAMPLE = 44;
77
56
  const DEFAULT_FORM_DATE_SAMPLE = '2026-01-15';
78
- export const getFormFieldSampleValue = (field, index = 0)=>{
57
+ export const getFormFieldSampleValue = (field, index = 0) => {
79
58
  if (typeof field.sampleData === 'number' || typeof field.sampleData === 'string') {
80
59
  return field.sampleData;
81
60
  }
82
- if (field.itemType === "Number") {
61
+ if (field.itemType === "Number" /* FormItemType.Number */) {
83
62
  return DEFAULT_FORM_NUMBER_SAMPLE + index;
84
63
  }
85
- if (field.itemType === "Date") {
64
+ if (field.itemType === "Date" /* FormItemType.Date */) {
86
65
  const [year, month, day] = DEFAULT_FORM_DATE_SAMPLE.split('-');
87
- const dayNumber = Number(day) + index % 10;
66
+ const dayNumber = Number(day) + (index % 10);
88
67
  return `${year}-${month}-${String(dayNumber).padStart(2, '0')}`;
89
68
  }
90
69
  return field.header ? `${field.header} value` : 'sample';
91
70
  };
92
-
93
71
  //# sourceMappingURL=forms.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/forms.ts"],"sourcesContent":["export interface FormInfo {\n id: number;\n name: string;\n}\n\nexport interface FormFieldInfo {\n id: string;\n header: string;\n itemType: string;\n sampleData?: unknown;\n}\n\nexport const enum FormItemType {\n Text = 'Text',\n Number = 'Number',\n Picture = 'Picture',\n Checkboxes = 'Checkboxes',\n RadioButtons = 'RadioButtons',\n Date = 'Date',\n Signature = 'Signature',\n Dropdown = 'Dropdown',\n Stoplight = 'Stoplight',\n SmartField = 'SmartField',\n}\n\nexport type FormCalculatedFieldType = 'number' | 'date';\nexport type FormConditionalFieldType = 'number' | 'string';\n\nconst FORM_FIELD_KEY_RE = /^__submission_fields\\.(\\d+)\\.([A-Za-z0-9]+)$/;\nconst FORM_FIELD_RUNTIME_PATH_RE = /^__submission_fields\\[\"(\\d+)\"\\]\\[\"([A-Za-z0-9]+)\"\\]$/;\nconst LEGACY_FORM_KEY_RE = /^form_(\\d+)_([A-Za-z0-9]+)$/;\nconst LEGACY_FORM_KEY_PREFIX_RE = /^__form_(\\d+)_([a-f0-9]+)$/;\n\nexport const buildFormFieldKey = (formId: number, fieldId: string): string =>\n `__submission_fields.${formId}.${fieldId.replaceAll('-', '')}`;\n\nexport const parseFormFieldKey = (key: string): { formId: number; fieldId: string } | null => {\n const match = FORM_FIELD_KEY_RE.exec(key) ?? FORM_FIELD_RUNTIME_PATH_RE.exec(key);\n if (match) {\n return { formId: Number(match[1]), fieldId: match[2] };\n }\n\n // Backward compatibility for already saved values.\n const oldMatch = LEGACY_FORM_KEY_RE.exec(key);\n if (oldMatch) {\n return { formId: Number(oldMatch[1]), fieldId: oldMatch[2] };\n }\n\n const legacyMatch = LEGACY_FORM_KEY_PREFIX_RE.exec(key);\n if (legacyMatch) {\n return { formId: Number(legacyMatch[1]), fieldId: legacyMatch[2] };\n }\n\n return null;\n};\n\nexport const isFormFieldKey = (key: string): boolean => parseFormFieldKey(key) !== null;\n\n/**\n * Submission keys may start with numeric properties, so dot notation is unsafe.\n */\nexport const toNunjucksFieldReference = (fieldKey: string): string => {\n const parsed = parseFormFieldKey(fieldKey);\n if (!parsed) {\n return fieldKey;\n }\n\n return `__submission_fields[\"${parsed.formId}\"][\"${parsed.fieldId}\"]`;\n};\n\nexport const getCalculatedFieldTypeFromFormItemType = (\n itemType: string,\n): FormCalculatedFieldType | null => {\n if (itemType === 'Number') {\n return 'number';\n }\n if (itemType === 'Date') {\n return 'date';\n }\n return null;\n};\n\nexport const getConditionalFieldTypeFromFormItemType = (\n itemType: string,\n): FormConditionalFieldType | null => {\n if (!itemType) {\n return null;\n }\n if (itemType === 'Number') {\n return 'number';\n }\n if (itemType === 'Picture' || itemType === 'Signature') {\n return null;\n }\n return 'string';\n};\n\nconst DEFAULT_FORM_NUMBER_SAMPLE = 44;\nconst DEFAULT_FORM_DATE_SAMPLE = '2026-01-15';\n\nexport const getFormFieldSampleValue = (\n field: Pick<FormFieldInfo, 'itemType' | 'sampleData'> & { header?: string },\n index = 0,\n): number | string => {\n if (typeof field.sampleData === 'number' || typeof field.sampleData === 'string') {\n return field.sampleData;\n }\n\n if (field.itemType === FormItemType.Number) {\n return DEFAULT_FORM_NUMBER_SAMPLE + index;\n }\n\n if (field.itemType === FormItemType.Date) {\n const [year, month, day] = DEFAULT_FORM_DATE_SAMPLE.split('-');\n const dayNumber = Number(day) + (index % 10);\n return `${year}-${month}-${String(dayNumber).padStart(2, '0')}`;\n }\n\n return field.header ? `${field.header} value` : 'sample';\n};\n"],"names":["FormItemType","FORM_FIELD_KEY_RE","FORM_FIELD_RUNTIME_PATH_RE","LEGACY_FORM_KEY_RE","LEGACY_FORM_KEY_PREFIX_RE","buildFormFieldKey","formId","fieldId","replaceAll","parseFormFieldKey","key","match","exec","Number","oldMatch","legacyMatch","isFormFieldKey","toNunjucksFieldReference","fieldKey","parsed","getCalculatedFieldTypeFromFormItemType","itemType","getConditionalFieldTypeFromFormItemType","DEFAULT_FORM_NUMBER_SAMPLE","DEFAULT_FORM_DATE_SAMPLE","getFormFieldSampleValue","field","index","sampleData","year","month","day","split","dayNumber","String","padStart","header"],"mappings":"AAYA,OAAO,IAAA,AAAWA,sCAAAA;;;;;;;;;;;WAAAA;MAWjB;AAKD,MAAMC,oBAAoB;AAC1B,MAAMC,6BAA6B;AACnC,MAAMC,qBAAqB;AAC3B,MAAMC,4BAA4B;AAElC,OAAO,MAAMC,oBAAoB,CAACC,QAAgBC,UAC9C,CAAC,oBAAoB,EAAED,OAAO,CAAC,EAAEC,QAAQC,UAAU,CAAC,KAAK,KAAK,CAAC;AAEnE,OAAO,MAAMC,oBAAoB,CAACC;QAChBT;IAAd,MAAMU,SAAQV,0BAAAA,kBAAkBW,IAAI,CAACF,kBAAvBT,qCAAAA,0BAA+BC,2BAA2BU,IAAI,CAACF;IAC7E,IAAIC,OAAO;QACP,OAAO;YAAEL,QAAQO,OAAOF,KAAK,CAAC,EAAE;YAAGJ,SAASI,KAAK,CAAC,EAAE;QAAC;IACzD;IAEA,mDAAmD;IACnD,MAAMG,WAAWX,mBAAmBS,IAAI,CAACF;IACzC,IAAII,UAAU;QACV,OAAO;YAAER,QAAQO,OAAOC,QAAQ,CAAC,EAAE;YAAGP,SAASO,QAAQ,CAAC,EAAE;QAAC;IAC/D;IAEA,MAAMC,cAAcX,0BAA0BQ,IAAI,CAACF;IACnD,IAAIK,aAAa;QACb,OAAO;YAAET,QAAQO,OAAOE,WAAW,CAAC,EAAE;YAAGR,SAASQ,WAAW,CAAC,EAAE;QAAC;IACrE;IAEA,OAAO;AACX,EAAE;AAEF,OAAO,MAAMC,iBAAiB,CAACN,MAAyBD,kBAAkBC,SAAS,KAAK;AAExF;;CAEC,GACD,OAAO,MAAMO,2BAA2B,CAACC;IACrC,MAAMC,SAASV,kBAAkBS;IACjC,IAAI,CAACC,QAAQ;QACT,OAAOD;IACX;IAEA,OAAO,CAAC,qBAAqB,EAAEC,OAAOb,MAAM,CAAC,IAAI,EAAEa,OAAOZ,OAAO,CAAC,EAAE,CAAC;AACzE,EAAE;AAEF,OAAO,MAAMa,yCAAyC,CAClDC;IAEA,IAAIA,aAAa,UAAU;QACvB,OAAO;IACX;IACA,IAAIA,aAAa,QAAQ;QACrB,OAAO;IACX;IACA,OAAO;AACX,EAAE;AAEF,OAAO,MAAMC,0CAA0C,CACnDD;IAEA,IAAI,CAACA,UAAU;QACX,OAAO;IACX;IACA,IAAIA,aAAa,UAAU;QACvB,OAAO;IACX;IACA,IAAIA,aAAa,aAAaA,aAAa,aAAa;QACpD,OAAO;IACX;IACA,OAAO;AACX,EAAE;AAEF,MAAME,6BAA6B;AACnC,MAAMC,2BAA2B;AAEjC,OAAO,MAAMC,0BAA0B,CACnCC,OACAC,QAAQ,CAAC;IAET,IAAI,OAAOD,MAAME,UAAU,KAAK,YAAY,OAAOF,MAAME,UAAU,KAAK,UAAU;QAC9E,OAAOF,MAAME,UAAU;IAC3B;IAEA,IAAIF,MAAML,QAAQ,eAA0B;QACxC,OAAOE,6BAA6BI;IACxC;IAEA,IAAID,MAAML,QAAQ,aAAwB;QACtC,MAAM,CAACQ,MAAMC,OAAOC,IAAI,GAAGP,yBAAyBQ,KAAK,CAAC;QAC1D,MAAMC,YAAYpB,OAAOkB,OAAQJ,QAAQ;QACzC,OAAO,GAAGE,KAAK,CAAC,EAAEC,MAAM,CAAC,EAAEI,OAAOD,WAAWE,QAAQ,CAAC,GAAG,MAAM;IACnE;IAEA,OAAOT,MAAMU,MAAM,GAAG,GAAGV,MAAMU,MAAM,CAAC,MAAM,CAAC,GAAG;AACpD,EAAE"}
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/shared/forms.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@
2
2
  * Custom tools whose `values.id` is a per-instance GUID that must stay unique
3
3
  * within a design. When such a tool is duplicated (content or row duplicate),
4
4
  * Unlayer copies the values as-is, so the host regenerates the id of the copy.
5
+ *
6
+ * `calculated_field` and `e-sign` use it as the field key DTE binds a business-day schedule
7
+ * to, so a copy starts unbound.
5
8
  */
6
9
  export declare const INSTANCE_ID_TOOL_SLUGS: string[];
7
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"instance-id.d.ts","sourceRoot":"","sources":["../../src/shared/instance-id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,UAAqB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,SAU9C,CAAC"}
1
+ {"version":3,"file":"instance-id.d.ts","sourceRoot":"","sources":["../../src/shared/instance-id.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,UAA2D,CAAC;AAE/F;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,SAU9C,CAAC"}
@@ -1,22 +1,25 @@
1
+ import { E_SIGN_TOOL_SLUG } from './const';
1
2
  /**
2
3
  * Custom tools whose `values.id` is a per-instance GUID that must stay unique
3
4
  * within a design. When such a tool is duplicated (content or row duplicate),
4
5
  * Unlayer copies the values as-is, so the host regenerates the id of the copy.
5
- */ export const INSTANCE_ID_TOOL_SLUGS = [
6
- 'embedded-image'
7
- ];
6
+ *
7
+ * `calculated_field` and `e-sign` use it as the field key DTE binds a business-day schedule
8
+ * to, so a copy starts unbound.
9
+ */
10
+ export const INSTANCE_ID_TOOL_SLUGS = ['embedded-image', 'calculated_field', E_SIGN_TOOL_SLUG];
8
11
  /**
9
12
  * Generates an RFC 4122 v4 GUID (`3fa85f64-5717-4562-b3fc-2c963f66afa6`) with the
10
13
  * platform `crypto.randomUUID()`. It is only exposed in secure contexts (https /
11
14
  * localhost); when missing the error is logged and no id is produced.
12
- */ export const generateInstanceId = ()=>{
13
- var _globalThis_crypto;
14
- if (typeof ((_globalThis_crypto = globalThis.crypto) === null || _globalThis_crypto === void 0 ? void 0 : _globalThis_crypto.randomUUID) !== 'function') {
15
+ */
16
+ export const generateInstanceId = () => {
17
+ var _a;
18
+ if (typeof ((_a = globalThis.crypto) === null || _a === void 0 ? void 0 : _a.randomUUID) !== 'function') {
15
19
  // eslint-disable-next-line no-console
16
20
  console.error('crypto.randomUUID is not available (insecure context?), cannot generate an instance id');
17
21
  return undefined;
18
22
  }
19
23
  return globalThis.crypto.randomUUID();
20
24
  };
21
-
22
25
  //# sourceMappingURL=instance-id.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/instance-id.ts"],"sourcesContent":["/**\n * Custom tools whose `values.id` is a per-instance GUID that must stay unique\n * within a design. When such a tool is duplicated (content or row duplicate),\n * Unlayer copies the values as-is, so the host regenerates the id of the copy.\n */\nexport const INSTANCE_ID_TOOL_SLUGS = ['embedded-image'];\n\n/**\n * Generates an RFC 4122 v4 GUID (`3fa85f64-5717-4562-b3fc-2c963f66afa6`) with the\n * platform `crypto.randomUUID()`. It is only exposed in secure contexts (https /\n * localhost); when missing the error is logged and no id is produced.\n */\nexport const generateInstanceId = (): string | undefined => {\n if (typeof globalThis.crypto?.randomUUID !== 'function') {\n // eslint-disable-next-line no-console\n console.error(\n 'crypto.randomUUID is not available (insecure context?), cannot generate an instance id',\n );\n return undefined;\n }\n\n return globalThis.crypto.randomUUID();\n};\n"],"names":["INSTANCE_ID_TOOL_SLUGS","generateInstanceId","globalThis","crypto","randomUUID","console","error","undefined"],"mappings":"AAAA;;;;CAIC,GACD,OAAO,MAAMA,yBAAyB;IAAC;CAAiB,CAAC;AAEzD;;;;CAIC,GACD,OAAO,MAAMC,qBAAqB;QACnBC;IAAX,IAAI,SAAOA,qBAAAA,WAAWC,MAAM,cAAjBD,yCAAAA,mBAAmBE,UAAU,MAAK,YAAY;QACrD,sCAAsC;QACtCC,QAAQC,KAAK,CACT;QAEJ,OAAOC;IACX;IAEA,OAAOL,WAAWC,MAAM,CAACC,UAAU;AACvC,EAAE"}
1
+ {"version":3,"file":"instance-id.js","sourceRoot":"","sources":["../../src/shared/instance-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AAE/F;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAuB,EAAE;;IACvD,IAAI,OAAO,CAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,UAAU,CAAA,KAAK,UAAU,EAAE,CAAC;QACtD,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACT,wFAAwF,CAC3F,CAAC;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;AAC1C,CAAC,CAAC"}
@@ -4,16 +4,13 @@ export function emptyArrayIfNull(obj, key) {
4
4
  }
5
5
  let arrayOfObj = obj;
6
6
  if (!Array.isArray(obj)) {
7
- arrayOfObj = [
8
- obj
9
- ];
7
+ arrayOfObj = [obj];
10
8
  }
11
- arrayOfObj.forEach((el)=>{
9
+ arrayOfObj.forEach((el) => {
12
10
  if (typeof el[key] === 'undefined' || el[key] === null) {
13
11
  el[key] = [];
14
12
  }
15
13
  });
16
14
  return obj;
17
15
  }
18
-
19
16
  //# sourceMappingURL=nunjucks-helpers.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"nunjucks-helpers.js","sourceRoot":"","sources":["../../src/shared/nunjucks-helpers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,GAAQ,EAAE,GAAW;IAClD,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,OAAO,CAAC,CAAC,EAA0B,EAAE,EAAE;QAC9C,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,WAAW,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC"}