@servicetitan/dte-unlayer 0.158.0 → 0.160.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 (158) 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.d.ts.map +1 -1
  22. package/dist/display-conditions/ConditionGroup.js +20 -89
  23. package/dist/display-conditions/ConditionGroup.js.map +1 -1
  24. package/dist/display-conditions/ConditionGroupsSection.d.ts.map +1 -1
  25. package/dist/display-conditions/ConditionGroupsSection.js +2 -70
  26. package/dist/display-conditions/ConditionGroupsSection.js.map +1 -1
  27. package/dist/display-conditions/ConditionRow.d.ts.map +1 -1
  28. package/dist/display-conditions/ConditionRow.js +88 -212
  29. package/dist/display-conditions/ConditionRow.js.map +1 -1
  30. package/dist/display-conditions/DisplayConditionModal.d.ts.map +1 -1
  31. package/dist/display-conditions/DisplayConditionModal.js +39 -194
  32. package/dist/display-conditions/DisplayConditionModal.js.map +1 -1
  33. package/dist/display-conditions/LookupValueControl.js +42 -105
  34. package/dist/display-conditions/LookupValueControl.js.map +1 -1
  35. package/dist/display-conditions/SeparatorWithChip.js +1 -10
  36. package/dist/display-conditions/SeparatorWithChip.js.map +1 -1
  37. package/dist/display-conditions/constants.js +15 -20
  38. package/dist/display-conditions/constants.js.map +1 -1
  39. package/dist/display-conditions/displayConditionController.js +5 -8
  40. package/dist/display-conditions/displayConditionController.js.map +1 -1
  41. package/dist/display-conditions/lookupOptionsController.js +16 -16
  42. package/dist/display-conditions/lookupOptionsController.js.map +1 -1
  43. package/dist/display-conditions/nunjucks.js +98 -116
  44. package/dist/display-conditions/nunjucks.js.map +1 -1
  45. package/dist/display-conditions/schemaDataPoints.js +13 -11
  46. package/dist/display-conditions/schemaDataPoints.js.map +1 -1
  47. package/dist/display-conditions/types.js +23 -67
  48. package/dist/display-conditions/types.js.map +1 -1
  49. package/dist/display-conditions/useConditionForms.js +38 -56
  50. package/dist/display-conditions/useConditionForms.js.map +1 -1
  51. package/dist/display-conditions/useLookupOptions.js +24 -44
  52. package/dist/display-conditions/useLookupOptions.js.map +1 -1
  53. package/dist/e-sign-offset/ESignDateSignedOffsetModal.js +42 -155
  54. package/dist/e-sign-offset/ESignDateSignedOffsetModal.js.map +1 -1
  55. package/dist/e-sign-offset/ESignOffsetRuleRow.js +12 -73
  56. package/dist/e-sign-offset/ESignOffsetRuleRow.js.map +1 -1
  57. package/dist/e-sign-offset/eSignOffsetController.js +5 -8
  58. package/dist/e-sign-offset/eSignOffsetController.js.map +1 -1
  59. package/dist/editor-core-source.d.ts +2 -2
  60. package/dist/editor-core-source.d.ts.map +1 -1
  61. package/dist/editor-core-source.js +3 -3
  62. package/dist/editor-core-source.js.map +1 -1
  63. package/dist/editor-core.js +2 -2
  64. package/dist/editor-core.js.map +1 -1
  65. package/dist/editor.d.ts.map +1 -1
  66. package/dist/editor.js +56 -118
  67. package/dist/editor.js.map +1 -1
  68. package/dist/image-upload-error.js +3 -3
  69. package/dist/image-upload-error.js.map +1 -1
  70. package/dist/index.d.ts +1 -0
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +0 -1
  73. package/dist/index.js.map +1 -1
  74. package/dist/loadScript.js +7 -8
  75. package/dist/loadScript.js.map +1 -1
  76. package/dist/log.js +2 -3
  77. package/dist/log.js.map +1 -1
  78. package/dist/merge-tags.js +18 -17
  79. package/dist/merge-tags.js.map +1 -1
  80. package/dist/shared/configs.js +1 -2
  81. package/dist/shared/configs.js.map +1 -1
  82. package/dist/shared/const.d.ts +70 -0
  83. package/dist/shared/const.d.ts.map +1 -1
  84. package/dist/shared/const.js +13 -4
  85. package/dist/shared/const.js.map +1 -1
  86. package/dist/shared/date-calc.js +47 -38
  87. package/dist/shared/date-calc.js.map +1 -1
  88. package/dist/shared/e-sign-offset.js +46 -63
  89. package/dist/shared/e-sign-offset.js.map +1 -1
  90. package/dist/shared/edit-icon.js +0 -1
  91. package/dist/shared/edit-icon.js.map +1 -1
  92. package/dist/shared/fonts.js +16 -17
  93. package/dist/shared/fonts.js.map +1 -1
  94. package/dist/shared/forms.js +16 -38
  95. package/dist/shared/forms.js.map +1 -1
  96. package/dist/shared/instance-id.js +6 -9
  97. package/dist/shared/instance-id.js.map +1 -1
  98. package/dist/shared/nunjucks-helpers.js +2 -5
  99. package/dist/shared/nunjucks-helpers.js.map +1 -1
  100. package/dist/shared/schema.js +52 -96
  101. package/dist/shared/schema.js.map +1 -1
  102. package/dist/shared/tools.js +6 -13
  103. package/dist/shared/tools.js.map +1 -1
  104. package/dist/store.d.ts +15 -1
  105. package/dist/store.d.ts.map +1 -1
  106. package/dist/store.js +851 -548
  107. package/dist/store.js.map +1 -1
  108. package/dist/tools.js +133 -143
  109. package/dist/tools.js.map +1 -1
  110. package/dist/unlayer-interface.d.ts +15 -4
  111. package/dist/unlayer-interface.d.ts.map +1 -1
  112. package/dist/unlayer-interface.js +1 -2
  113. package/dist/unlayer-interface.js.map +1 -1
  114. package/dist/unlayer.js +86 -113
  115. package/dist/unlayer.js.map +1 -1
  116. package/dist/vendor/dte-shared/business-calendar-validation.utils.d.ts +25 -0
  117. package/dist/vendor/dte-shared/business-calendar-validation.utils.js +80 -0
  118. package/dist/vendor/dte-shared/components/business-calendar-section.d.ts +15 -0
  119. package/dist/vendor/dte-shared/components/business-calendar-section.js +14 -0
  120. package/dist/vendor/dte-shared/components/schedule-drawer.d.ts +18 -0
  121. package/dist/vendor/dte-shared/components/schedule-drawer.js +119 -0
  122. package/dist/vendor/dte-shared/components/schedule-picker.d.ts +8 -0
  123. package/dist/vendor/dte-shared/components/schedule-picker.js +88 -0
  124. package/dist/vendor/dte-shared/constants.d.ts +31 -0
  125. package/dist/vendor/dte-shared/constants.js +34 -0
  126. package/dist/vendor/dte-shared/field-schedule-editor-context.d.ts +31 -0
  127. package/dist/vendor/dte-shared/field-schedule-editor-context.js +110 -0
  128. package/dist/vendor/dte-shared/index.d.ts +8 -0
  129. package/dist/vendor/dte-shared/index.js +7 -0
  130. package/dist/vendor/dte-shared/schedule-bindings.utils.d.ts +22 -0
  131. package/dist/vendor/dte-shared/schedule-bindings.utils.js +31 -0
  132. package/dist/vendor/dte-shared/styles/schedule.css +19 -0
  133. package/dist/vendor/dte-shared/types.d.ts +129 -0
  134. package/dist/vendor/dte-shared/types.js +1 -0
  135. package/package.json +7 -1
  136. package/src/__tests__/business-calendar-drawer.test.tsx +183 -0
  137. package/src/__tests__/business-calendar-requests.test.ts +166 -0
  138. package/src/__tests__/business-calendar-state.test.tsx +142 -0
  139. package/src/__tests__/condition-row.test.tsx +51 -8
  140. package/src/__tests__/e-sign-offset-modal.test.tsx +13 -2
  141. package/src/__tests__/store.business-calendar.test.ts +185 -0
  142. package/src/__tests__/unlayer.e-sign-types.test.ts +30 -0
  143. package/src/business-calendar/BusinessCalendarDrawer.tsx +76 -0
  144. package/src/business-calendar/business-calendar-requests.ts +80 -0
  145. package/src/business-calendar/business-calendar-state.ts +113 -0
  146. package/src/business-calendar/useBusinessCalendarRequests.ts +49 -0
  147. package/src/display-conditions/ConditionGroup.tsx +13 -3
  148. package/src/display-conditions/ConditionGroupsSection.tsx +24 -21
  149. package/src/display-conditions/ConditionRow.tsx +75 -32
  150. package/src/display-conditions/DisplayConditionModal.tsx +18 -59
  151. package/src/e-sign-offset/ESignDateSignedOffsetModal.tsx +6 -6
  152. package/src/editor-core-source.ts +2 -2
  153. package/src/editor.tsx +15 -0
  154. package/src/index.ts +10 -0
  155. package/src/shared/const.ts +59 -0
  156. package/src/store.ts +67 -5
  157. package/src/unlayer-interface.tsx +15 -4
  158. package/src/unlayer.tsx +5 -5
@@ -1,6 +1,6 @@
1
1
  import { buildFormFieldKey, parseFormFieldKey, toNunjucksFieldReference } from '../shared/forms';
2
2
  import { generateId } from './constants';
3
- import { VALUE_LESS_OPERATORS } from './types';
3
+ import { VALUE_LESS_OPERATORS, } from './types';
4
4
  function escapeNunjucksString(s) {
5
5
  return s.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
6
6
  }
@@ -9,7 +9,7 @@ function nunjucksValueLiteral(value) {
9
9
  }
10
10
  function isEscapedAt(s, index) {
11
11
  let slashCount = 0;
12
- for(let i = index - 1; i >= 0 && s[i] === '\\'; i--){
12
+ for (let i = index - 1; i >= 0 && s[i] === '\\'; i--) {
13
13
  slashCount++;
14
14
  }
15
15
  return slashCount % 2 === 1;
@@ -20,15 +20,18 @@ function isValueLessOperator(operator) {
20
20
  /**
21
21
  * Build a single condition expression in Nunjucks.
22
22
  * Wrapped in () so splitting never breaks composite expressions.
23
- */ function buildSingleConditionExpression(dataPointKey, operator, value) {
23
+ */
24
+ function buildSingleConditionExpression(dataPointKey, operator, value) {
24
25
  const path = toNunjucksFieldReference(dataPointKey);
25
26
  const defaulted = `(${path} | default(''))`;
26
27
  const numDefaulted = `(${path} | default(0))`;
27
28
  const normalizedValue = value.trim();
28
29
  const literal = normalizedValue ? nunjucksValueLiteral(normalizedValue) : "''";
29
- const numLiteral = /^-?(?:\d+\.?\d*|\.\d+)$/.test(normalizedValue) && normalizedValue !== '-' ? normalizedValue : '0';
30
+ const numLiteral = /^-?(?:\d+\.?\d*|\.\d+)$/.test(normalizedValue) && normalizedValue !== '-'
31
+ ? normalizedValue
32
+ : '0';
30
33
  let inner;
31
- switch(operator){
34
+ switch (operator) {
32
35
  case 'is_equal_to':
33
36
  inner = `${defaulted} == ${literal}`;
34
37
  break;
@@ -78,7 +81,8 @@ function isValueLessOperator(operator) {
78
81
  * is_empty / is_not_empty embed space-delimited " or " / " and " in the expression.
79
82
  * tokenizeGroupExpression splits on those at depth 0, so wrap once more so parse
80
83
  * keeps each value-less condition as a single segment (see parseGroupExpression).
81
- */ if (operator === 'is_empty' || operator === 'is_not_empty') {
84
+ */
85
+ if (operator === 'is_empty' || operator === 'is_not_empty') {
82
86
  return `((${inner}))`;
83
87
  }
84
88
  return `(${inner})`;
@@ -86,15 +90,18 @@ function isValueLessOperator(operator) {
86
90
  /**
87
91
  * Build group expression. Each condition is connected by its own logical operator.
88
92
  * E.g. (cond1) and (cond2) or (cond3)
89
- */ function buildGroupExpression(group) {
90
- const valid = group.conditions.filter((c)=>c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== ''));
93
+ */
94
+ function buildGroupExpression(group) {
95
+ const valid = group.conditions.filter(c => c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== ''));
91
96
  if (valid.length === 0) {
92
97
  return '';
93
98
  }
94
99
  let result = buildSingleConditionExpression(valid[0].dataPointKey, valid[0].operator, valid[0].value);
95
- for(let i = 1; i < valid.length; i++){
100
+ for (let i = 1; i < valid.length; i++) {
96
101
  const joiner = valid[i].logicalOperator === 'or' ? ' or ' : ' and ';
97
- result += joiner + buildSingleConditionExpression(valid[i].dataPointKey, valid[i].operator, valid[i].value);
102
+ result +=
103
+ joiner +
104
+ buildSingleConditionExpression(valid[i].dataPointKey, valid[i].operator, valid[i].value);
98
105
  }
99
106
  // Wrap group in parens so top-level rule AND split works cleanly
100
107
  return valid.length > 1 ? `(${result})` : result;
@@ -103,16 +110,16 @@ function isValueLessOperator(operator) {
103
110
  * Build full condition expression.
104
111
  * Rules (groups) are connected by each group's logical operator.
105
112
  * hide behavior wraps everything in not().
106
- */ function buildFullConditionExpression(state) {
107
- const validGroups = state.groups.map((group)=>({
108
- expression: buildGroupExpression(group),
109
- group
110
- })).filter((item)=>!!item.expression);
113
+ */
114
+ function buildFullConditionExpression(state) {
115
+ const validGroups = state.groups
116
+ .map(group => ({ expression: buildGroupExpression(group), group }))
117
+ .filter(item => !!item.expression);
111
118
  if (validGroups.length === 0) {
112
119
  return '';
113
120
  }
114
121
  let combined = validGroups[0].expression;
115
- for(let i = 1; i < validGroups.length; i++){
122
+ for (let i = 1; i < validGroups.length; i++) {
116
123
  const joiner = validGroups[i].group.logicalOperator === 'or' ? ' or ' : ' and ';
117
124
  combined += `${joiner}${validGroups[i].expression}`;
118
125
  }
@@ -122,14 +129,13 @@ function isValueLessOperator(operator) {
122
129
  return combined;
123
130
  }
124
131
  function generateConditionText(state) {
125
- const conditionCount = state.groups.reduce((count, group)=>count + group.conditions.filter((c)=>c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== '')).length, 0);
132
+ const conditionCount = state.groups.reduce((count, group) => count +
133
+ group.conditions.filter(c => c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== '')).length, 0);
126
134
  const label = state.behavior === 'show' ? 'Show condition configured' : 'Hide condition configured';
127
- const description = conditionCount === 1 ? '1 condition is currently applied' : `${conditionCount} conditions are currently applied`;
128
- return {
129
- description,
130
- label,
131
- type: ''
132
- };
135
+ const description = conditionCount === 1
136
+ ? '1 condition is currently applied'
137
+ : `${conditionCount} conditions are currently applied`;
138
+ return { description, label, type: '' };
133
139
  }
134
140
  export function buildUnlayerDisplayCondition(state) {
135
141
  const expr = buildFullConditionExpression(state);
@@ -139,28 +145,24 @@ export function buildUnlayerDisplayCondition(state) {
139
145
  const before = `{% if ${expr} %}`;
140
146
  const after = '{% endif %}';
141
147
  const { description, label, type } = generateConditionText(state);
142
- return {
143
- after,
144
- before,
145
- description,
146
- label,
147
- type
148
- };
148
+ return { after, before, description, label, type };
149
149
  }
150
150
  /*
151
151
  * ---------------------------------------------------------------------------
152
152
  * Parse helpers
153
153
  * ---------------------------------------------------------------------------
154
- */ function stripOuterParens(s) {
154
+ */
155
+ function stripOuterParens(s) {
155
156
  const t = s.trim();
156
157
  if (t.length < 2 || !t.startsWith('(') || t.at(-1) !== ')') {
157
158
  return t;
158
159
  }
159
160
  let depth = 1;
160
- for(let i = 1; i < t.length - 1; i++){
161
+ for (let i = 1; i < t.length - 1; i++) {
161
162
  if (t[i] === '(') {
162
163
  depth++;
163
- } else if (t[i] === ')') {
164
+ }
165
+ else if (t[i] === ')') {
164
166
  depth--;
165
167
  if (depth === 0) {
166
168
  return t;
@@ -175,21 +177,25 @@ export function buildUnlayerDisplayCondition(state) {
175
177
  *
176
178
  * This scans for top-level " and " / " or " while respecting parens,
177
179
  * and records which separator was found between each pair.
178
- */ function tokenizeGroupExpression(expr) {
180
+ */
181
+ function tokenizeGroupExpression(expr) {
179
182
  const conditionExprs = [];
180
183
  const operators = [];
181
184
  let depth = 0;
182
185
  let inSingleQuote = false;
183
186
  let start = 0;
184
- for(let i = 0; i < expr.length; i++){
187
+ for (let i = 0; i < expr.length; i++) {
185
188
  const c = expr[i];
186
189
  if (c === "'" && !isEscapedAt(expr, i)) {
187
190
  inSingleQuote = !inSingleQuote;
188
- } else if (!inSingleQuote && c === '(') {
191
+ }
192
+ else if (!inSingleQuote && c === '(') {
189
193
  depth++;
190
- } else if (!inSingleQuote && c === ')') {
194
+ }
195
+ else if (!inSingleQuote && c === ')') {
191
196
  depth = Math.max(0, depth - 1);
192
- } else if (!inSingleQuote && depth === 0) {
197
+ }
198
+ else if (!inSingleQuote && depth === 0) {
193
199
  // Check for " and " or " or " at this position
194
200
  if (expr.slice(i, i + 5) === ' and ') {
195
201
  conditionExprs.push(expr.slice(start, i).trim());
@@ -208,22 +214,19 @@ export function buildUnlayerDisplayCondition(state) {
208
214
  }
209
215
  }
210
216
  conditionExprs.push(expr.slice(start).trim());
211
- return {
212
- conditionExprs,
213
- operators
214
- };
217
+ return { conditionExprs, operators };
215
218
  }
216
219
  function unescapeNunjucksString(s) {
217
- return s.replaceAll('\\\\', '\\').replaceAll(String.raw`\'`, "'");
220
+ return s.replaceAll('\\\\', '\\').replaceAll(String.raw `\'`, "'");
218
221
  }
219
- const SIMPLE_DATA_POINT_PATH = String.raw`[\w.]+`;
220
- const FORM_RUNTIME_DATA_POINT_PATH = String.raw`__submission_fields\["\d+"\]\["[A-Za-z0-9]+"\]`;
221
- const DATA_POINT_PATH = String.raw`(${SIMPLE_DATA_POINT_PATH}|${FORM_RUNTIME_DATA_POINT_PATH})`;
222
- const RE_STR_DEFAULT = String.raw`\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)`;
223
- const RE_NUM_DEFAULT = String.raw`\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*0\s*\)\)`;
224
- const QUOTED_CONTENT = String.raw`((?:[^'\\]|\\.)*)`;
222
+ const SIMPLE_DATA_POINT_PATH = String.raw `[\w.]+`;
223
+ const FORM_RUNTIME_DATA_POINT_PATH = String.raw `__submission_fields\["\d+"\]\["[A-Za-z0-9]+"\]`;
224
+ const DATA_POINT_PATH = String.raw `(${SIMPLE_DATA_POINT_PATH}|${FORM_RUNTIME_DATA_POINT_PATH})`;
225
+ const RE_STR_DEFAULT = String.raw `\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)`;
226
+ const RE_NUM_DEFAULT = String.raw `\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*0\s*\)\)`;
227
+ const QUOTED_CONTENT = String.raw `((?:[^'\\]|\\.)*)`;
225
228
  function toSingleCondition(operator, dataPointKey, value, logicalOp) {
226
- const normalizedDataPointKey = (()=>{
229
+ const normalizedDataPointKey = (() => {
227
230
  const parsed = parseFormFieldKey(dataPointKey.trim());
228
231
  if (!parsed) {
229
232
  return dataPointKey.trim();
@@ -234,7 +237,7 @@ function toSingleCondition(operator, dataPointKey, value, logicalOp) {
234
237
  dataPointKey: normalizedDataPointKey,
235
238
  id: generateId(),
236
239
  operator,
237
- value
240
+ value,
238
241
  };
239
242
  if (logicalOp) {
240
243
  condition.logicalOperator = logicalOp;
@@ -247,17 +250,14 @@ function parseQuotedValue(s) {
247
250
  }
248
251
  let i = 1;
249
252
  let value = '';
250
- while(i < s.length){
253
+ while (i < s.length) {
251
254
  if (s[i] === '\\' && i + 1 < s.length) {
252
255
  value += s[i + 1] === "'" ? "'" : s[i + 1];
253
256
  i += 2;
254
257
  continue;
255
258
  }
256
259
  if (s[i] === "'") {
257
- return {
258
- rest: s.slice(i + 1).trim(),
259
- value: unescapeNunjucksString(value)
260
- };
260
+ return { rest: s.slice(i + 1).trim(), value: unescapeNunjucksString(value) };
261
261
  }
262
262
  value += s[i];
263
263
  i++;
@@ -267,111 +267,95 @@ function parseQuotedValue(s) {
267
267
  const PARSE_PATTERNS = [
268
268
  // value-less
269
269
  {
270
- getValue: ()=>'',
270
+ getValue: () => '',
271
271
  operator: 'is_empty',
272
272
  pathGroup: 1,
273
- pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*==\s*''\s+or\s+\(\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)\s*\|\s*length\)\s*==\s*0$`)
273
+ pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*==\s*''\s+or\s+\(\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)\s*\|\s*length\)\s*==\s*0$`),
274
274
  },
275
275
  {
276
- getValue: ()=>'',
276
+ getValue: () => '',
277
277
  operator: 'is_not_empty',
278
278
  pathGroup: 1,
279
- pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*!=\s*''\s+and\s+\(\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)\s*\|\s*length\)\s*>\s*0$`)
279
+ pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*!=\s*''\s+and\s+\(\(${DATA_POINT_PATH}\s*\|\s*default\s*\(\s*''\s*\)\)\s*\|\s*length\)\s*>\s*0$`),
280
280
  },
281
281
  // string with value
282
282
  {
283
- getValue: (m)=>{
284
- var _ref;
285
- var _parseQuotedValue;
286
- return (_ref = (_parseQuotedValue = parseQuotedValue(m[2].trim())) === null || _parseQuotedValue === void 0 ? void 0 : _parseQuotedValue.value) !== null && _ref !== void 0 ? _ref : null;
287
- },
283
+ getValue: m => { var _a, _b; return (_b = (_a = parseQuotedValue(m[2].trim())) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null; },
288
284
  operator: 'is_equal_to',
289
285
  pathGroup: 1,
290
- pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*==\s+(.+)$`)
286
+ pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*==\s+(.+)$`),
291
287
  },
292
288
  {
293
- getValue: (m)=>{
294
- var _ref;
295
- var _parseQuotedValue;
296
- return (_ref = (_parseQuotedValue = parseQuotedValue(m[2].trim())) === null || _parseQuotedValue === void 0 ? void 0 : _parseQuotedValue.value) !== null && _ref !== void 0 ? _ref : null;
297
- },
289
+ getValue: m => { var _a, _b; return (_b = (_a = parseQuotedValue(m[2].trim())) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null; },
298
290
  operator: 'is_not_equal_to',
299
291
  pathGroup: 1,
300
- pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*!=\s+(.+)$`)
292
+ pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*!=\s+(.+)$`),
301
293
  },
302
294
  {
303
- getValue: (m)=>unescapeNunjucksString(m[1]),
295
+ getValue: m => unescapeNunjucksString(m[1]),
304
296
  operator: 'contains',
305
297
  pathGroup: 2,
306
- pattern: new RegExp(String.raw`^'${QUOTED_CONTENT}'\s+in\s+${RE_STR_DEFAULT}$`)
298
+ pattern: new RegExp(String.raw `^'${QUOTED_CONTENT}'\s+in\s+${RE_STR_DEFAULT}$`),
307
299
  },
308
300
  {
309
- getValue: (m)=>unescapeNunjucksString(m[1]),
301
+ getValue: m => unescapeNunjucksString(m[1]),
310
302
  operator: 'does_not_contain',
311
303
  pathGroup: 2,
312
- pattern: new RegExp(String.raw`^not\s*\(\s*'${QUOTED_CONTENT}'\s+in\s+${RE_STR_DEFAULT}\s*\)\s*$`)
304
+ pattern: new RegExp(String.raw `^not\s*\(\s*'${QUOTED_CONTENT}'\s+in\s+${RE_STR_DEFAULT}\s*\)\s*$`),
313
305
  },
314
306
  {
315
- getValue: (m)=>{
316
- var _ref;
317
- var _parseQuotedValue;
318
- return (_ref = (_parseQuotedValue = parseQuotedValue(m[2].trim())) === null || _parseQuotedValue === void 0 ? void 0 : _parseQuotedValue.value) !== null && _ref !== void 0 ? _ref : null;
319
- },
307
+ getValue: m => { var _a, _b; return (_b = (_a = parseQuotedValue(m[2].trim())) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null; },
320
308
  operator: 'starts_with',
321
309
  pathGroup: 1,
322
- pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*\|\s*startswith\s*\(\s*(.+)\s*\)\s*$`)
310
+ pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*\|\s*startswith\s*\(\s*(.+)\s*\)\s*$`),
323
311
  },
324
312
  {
325
- getValue: (m)=>{
326
- var _ref;
327
- var _parseQuotedValue;
328
- return (_ref = (_parseQuotedValue = parseQuotedValue(m[2].trim())) === null || _parseQuotedValue === void 0 ? void 0 : _parseQuotedValue.value) !== null && _ref !== void 0 ? _ref : null;
329
- },
313
+ getValue: m => { var _a, _b; return (_b = (_a = parseQuotedValue(m[2].trim())) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null; },
330
314
  operator: 'ends_with',
331
315
  pathGroup: 1,
332
- pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\s*\|\s*endswith\s*\(\s*(.+)\s*\)\s*$`)
316
+ pattern: new RegExp(String.raw `^${RE_STR_DEFAULT}\s*\|\s*endswith\s*\(\s*(.+)\s*\)\s*$`),
333
317
  },
334
318
  // number operators (>= and <= before > and < to avoid partial match)
335
319
  {
336
- getValue: (m)=>m[2].trim(),
320
+ getValue: m => m[2].trim(),
337
321
  operator: 'num_gte',
338
322
  pathGroup: 1,
339
- pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*>=\s*(.+)$`)
323
+ pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*>=\s*(.+)$`),
340
324
  },
341
325
  {
342
- getValue: (m)=>m[2].trim(),
326
+ getValue: m => m[2].trim(),
343
327
  operator: 'num_lte',
344
328
  pathGroup: 1,
345
- pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*<=\s*(.+)$`)
329
+ pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*<=\s*(.+)$`),
346
330
  },
347
331
  {
348
- getValue: (m)=>m[2].trim(),
332
+ getValue: m => m[2].trim(),
349
333
  operator: 'num_eq',
350
334
  pathGroup: 1,
351
- pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*==\s*(.+)$`)
335
+ pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*==\s*(.+)$`),
352
336
  },
353
337
  {
354
- getValue: (m)=>m[2].trim(),
338
+ getValue: m => m[2].trim(),
355
339
  operator: 'num_neq',
356
340
  pathGroup: 1,
357
- pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*!=\s*(.+)$`)
341
+ pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*!=\s*(.+)$`),
358
342
  },
359
343
  {
360
- getValue: (m)=>m[2].trim(),
344
+ getValue: m => m[2].trim(),
361
345
  operator: 'num_gt',
362
346
  pathGroup: 1,
363
- pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*>\s*(.+)$`)
347
+ pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*>\s*(.+)$`),
364
348
  },
365
349
  {
366
- getValue: (m)=>m[2].trim(),
350
+ getValue: m => m[2].trim(),
367
351
  operator: 'num_lt',
368
352
  pathGroup: 1,
369
- pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\s*<\s*(.+)$`)
370
- }
353
+ pattern: new RegExp(String.raw `^${RE_NUM_DEFAULT}\s*<\s*(.+)$`),
354
+ },
371
355
  ];
372
356
  function parseSingleConditionExpression(expr, logicalOp) {
373
357
  const trimmed = expr.trim();
374
- for (const { getValue, operator, pathGroup, pattern } of PARSE_PATTERNS){
358
+ for (const { getValue, operator, pathGroup, pattern } of PARSE_PATTERNS) {
375
359
  const match = new RegExp(pattern).exec(trimmed);
376
360
  if (!match) {
377
361
  continue;
@@ -384,9 +368,9 @@ function parseSingleConditionExpression(expr, logicalOp) {
384
368
  }
385
369
  return null;
386
370
  }
387
- const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
371
+ const parseSegmentToSingleCondition = (rawSegment, logicalOp) => {
388
372
  let text = stripOuterParens(rawSegment.trim());
389
- for(;;){
373
+ for (;;) {
390
374
  const single = parseSingleConditionExpression(text, logicalOp);
391
375
  if (single) {
392
376
  return single;
@@ -400,10 +384,11 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
400
384
  };
401
385
  /**
402
386
  * Parse a group expression into conditions with per-condition logical operators.
403
- */ function parseGroupExpression(groupExpr) {
387
+ */
388
+ function parseGroupExpression(groupExpr) {
404
389
  const { conditionExprs, operators } = tokenizeGroupExpression(groupExpr);
405
390
  const conditions = [];
406
- for(let i = 0; i < conditionExprs.length; i++){
391
+ for (let i = 0; i < conditionExprs.length; i++) {
407
392
  const cs = conditionExprs[i];
408
393
  if (!cs) {
409
394
  continue;
@@ -419,7 +404,9 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
419
404
  /**
420
405
  * Parse a saved Unlayer display condition back into modal state for prefilling.
421
406
  * Returns null if the condition is missing or cannot be parsed.
422
- */ export function parseUnlayerDisplayCondition(condition) {
407
+ */
408
+ export function parseUnlayerDisplayCondition(condition) {
409
+ var _a;
423
410
  if (!(condition === null || condition === void 0 ? void 0 : condition.before)) {
424
411
  return null;
425
412
  }
@@ -435,7 +422,7 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
435
422
  }
436
423
  const { conditionExprs: ruleStrings, operators: groupOperators } = tokenizeGroupExpression(expr);
437
424
  const groups = [];
438
- for(let i = 0; i < ruleStrings.length; i++){
425
+ for (let i = 0; i < ruleStrings.length; i++) {
439
426
  const rs = ruleStrings[i];
440
427
  if (!rs) {
441
428
  continue;
@@ -445,11 +432,10 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
445
432
  if (conditions) {
446
433
  const group = {
447
434
  conditions,
448
- id: generateId()
435
+ id: generateId(),
449
436
  };
450
437
  if (i > 0) {
451
- var _groupOperators_;
452
- group.logicalOperator = (_groupOperators_ = groupOperators[i - 1]) !== null && _groupOperators_ !== void 0 ? _groupOperators_ : 'and';
438
+ group.logicalOperator = (_a = groupOperators[i - 1]) !== null && _a !== void 0 ? _a : 'and';
453
439
  }
454
440
  groups.push(group);
455
441
  }
@@ -457,10 +443,6 @@ const parseSegmentToSingleCondition = (rawSegment, logicalOp)=>{
457
443
  if (groups.length === 0) {
458
444
  return null;
459
445
  }
460
- return {
461
- behavior,
462
- groups
463
- };
446
+ return { behavior, groups };
464
447
  }
465
-
466
448
  //# sourceMappingURL=nunjucks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/display-conditions/nunjucks.ts"],"sourcesContent":["import { buildFormFieldKey, parseFormFieldKey, toNunjucksFieldReference } from '../shared/forms';\nimport { generateId } from './constants';\nimport {\n ConditionGroup,\n ConditionOperator,\n DisplayBehavior,\n DisplayConditionState,\n LogicalOperator,\n SingleCondition,\n UnlayerDisplayCondition,\n VALUE_LESS_OPERATORS,\n} from './types';\n\nfunction escapeNunjucksString(s: string): string {\n return s.replace(/\\\\/g, '\\\\\\\\').replace(/'/g, \"\\\\'\");\n}\n\nfunction nunjucksValueLiteral(value: string): string {\n return `'${escapeNunjucksString(value)}'`;\n}\n\nfunction isEscapedAt(s: string, index: number): boolean {\n let slashCount = 0;\n for (let i = index - 1; i >= 0 && s[i] === '\\\\'; i--) {\n slashCount++;\n }\n return slashCount % 2 === 1;\n}\n\nfunction isValueLessOperator(operator: string): boolean {\n return VALUE_LESS_OPERATORS.includes(operator as ConditionOperator);\n}\n\n/**\n * Build a single condition expression in Nunjucks.\n * Wrapped in () so splitting never breaks composite expressions.\n */\nfunction buildSingleConditionExpression(\n dataPointKey: string,\n operator: string,\n value: string,\n): string {\n const path = toNunjucksFieldReference(dataPointKey);\n const defaulted = `(${path} | default(''))`;\n const numDefaulted = `(${path} | default(0))`;\n const normalizedValue = value.trim();\n const literal = normalizedValue ? nunjucksValueLiteral(normalizedValue) : \"''\";\n const numLiteral =\n /^-?(?:\\d+\\.?\\d*|\\.\\d+)$/.test(normalizedValue) && normalizedValue !== '-'\n ? normalizedValue\n : '0';\n let inner: string;\n\n switch (operator) {\n case 'is_equal_to':\n inner = `${defaulted} == ${literal}`;\n break;\n case 'is_not_equal_to':\n inner = `${defaulted} != ${literal}`;\n break;\n case 'contains':\n inner = `${literal} in ${defaulted}`;\n break;\n case 'does_not_contain':\n inner = `not (${literal} in ${defaulted})`;\n break;\n case 'starts_with':\n inner = `(${defaulted} | startswith(${literal}))`;\n break;\n case 'ends_with':\n inner = `(${defaulted} | endswith(${literal}))`;\n break;\n case 'is_empty':\n inner = `${defaulted} == '' or (${defaulted} | length) == 0`;\n break;\n case 'is_not_empty':\n inner = `${defaulted} != '' and (${defaulted} | length) > 0`;\n break;\n case 'num_eq':\n inner = `${numDefaulted} == ${numLiteral}`;\n break;\n case 'num_neq':\n inner = `${numDefaulted} != ${numLiteral}`;\n break;\n case 'num_gt':\n inner = `${numDefaulted} > ${numLiteral}`;\n break;\n case 'num_lt':\n inner = `${numDefaulted} < ${numLiteral}`;\n break;\n case 'num_gte':\n inner = `${numDefaulted} >= ${numLiteral}`;\n break;\n case 'num_lte':\n inner = `${numDefaulted} <= ${numLiteral}`;\n break;\n default:\n inner = `${defaulted} == ${literal}`;\n }\n /*\n * is_empty / is_not_empty embed space-delimited \" or \" / \" and \" in the expression.\n * tokenizeGroupExpression splits on those at depth 0, so wrap once more so parse\n * keeps each value-less condition as a single segment (see parseGroupExpression).\n */\n if (operator === 'is_empty' || operator === 'is_not_empty') {\n return `((${inner}))`;\n }\n return `(${inner})`;\n}\n\n/**\n * Build group expression. Each condition is connected by its own logical operator.\n * E.g. (cond1) and (cond2) or (cond3)\n */\nfunction buildGroupExpression(group: ConditionGroup): string {\n const valid = group.conditions.filter(\n c => c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== ''),\n );\n if (valid.length === 0) {\n return '';\n }\n let result = buildSingleConditionExpression(\n valid[0].dataPointKey,\n valid[0].operator,\n valid[0].value,\n );\n for (let i = 1; i < valid.length; i++) {\n const joiner = valid[i].logicalOperator === 'or' ? ' or ' : ' and ';\n result +=\n joiner +\n buildSingleConditionExpression(\n valid[i].dataPointKey,\n valid[i].operator,\n valid[i].value,\n );\n }\n // Wrap group in parens so top-level rule AND split works cleanly\n return valid.length > 1 ? `(${result})` : result;\n}\n\n/**\n * Build full condition expression.\n * Rules (groups) are connected by each group's logical operator.\n * hide behavior wraps everything in not().\n */\nfunction buildFullConditionExpression(state: DisplayConditionState): string {\n const validGroups = state.groups\n .map(group => ({ expression: buildGroupExpression(group), group }))\n .filter(item => !!item.expression);\n if (validGroups.length === 0) {\n return '';\n }\n let combined = validGroups[0].expression;\n for (let i = 1; i < validGroups.length; i++) {\n const joiner = validGroups[i].group.logicalOperator === 'or' ? ' or ' : ' and ';\n combined += `${joiner}${validGroups[i].expression}`;\n }\n if (state.behavior === 'hide') {\n return `not (${combined})`;\n }\n return combined;\n}\n\nfunction generateConditionText(state: DisplayConditionState): {\n description: string;\n label: string;\n type: string;\n} {\n const conditionCount = state.groups.reduce(\n (count, group) =>\n count +\n group.conditions.filter(\n c => c.dataPointKey && (isValueLessOperator(c.operator) || c.value.trim() !== ''),\n ).length,\n 0,\n );\n const label =\n state.behavior === 'show' ? 'Show condition configured' : 'Hide condition configured';\n const description =\n conditionCount === 1\n ? '1 condition is currently applied'\n : `${conditionCount} conditions are currently applied`;\n return { description, label, type: '' };\n}\n\nexport function buildUnlayerDisplayCondition(\n state: DisplayConditionState,\n): UnlayerDisplayCondition | null {\n const expr = buildFullConditionExpression(state);\n if (!expr) {\n return null;\n }\n const before = `{% if ${expr} %}`;\n const after = '{% endif %}';\n const { description, label, type } = generateConditionText(state);\n return { after, before, description, label, type };\n}\n\n/*\n * ---------------------------------------------------------------------------\n * Parse helpers\n * ---------------------------------------------------------------------------\n */\n\nfunction stripOuterParens(s: string): string {\n const t = s.trim();\n if (t.length < 2 || !t.startsWith('(') || t.at(-1) !== ')') {\n return t;\n }\n let depth = 1;\n for (let i = 1; i < t.length - 1; i++) {\n if (t[i] === '(') {\n depth++;\n } else if (t[i] === ')') {\n depth--;\n if (depth === 0) {\n return t;\n }\n }\n }\n return depth === 1 ? t.slice(1, -1).trim() : t;\n}\n\n/**\n * Tokenize an expression into alternating tokens of (expr, operator).\n * Returns: [expr, 'and'|'or', expr, 'and'|'or', expr, ...]\n *\n * This scans for top-level \" and \" / \" or \" while respecting parens,\n * and records which separator was found between each pair.\n */\nfunction tokenizeGroupExpression(expr: string): {\n conditionExprs: string[];\n operators: LogicalOperator[];\n} {\n const conditionExprs: string[] = [];\n const operators: LogicalOperator[] = [];\n let depth = 0;\n let inSingleQuote = false;\n let start = 0;\n\n for (let i = 0; i < expr.length; i++) {\n const c = expr[i];\n if (c === \"'\" && !isEscapedAt(expr, i)) {\n inSingleQuote = !inSingleQuote;\n } else if (!inSingleQuote && c === '(') {\n depth++;\n } else if (!inSingleQuote && c === ')') {\n depth = Math.max(0, depth - 1);\n } else if (!inSingleQuote && depth === 0) {\n // Check for \" and \" or \" or \" at this position\n if (expr.slice(i, i + 5) === ' and ') {\n conditionExprs.push(expr.slice(start, i).trim());\n operators.push('and');\n start = i + 5;\n i += 4;\n continue;\n }\n if (expr.slice(i, i + 4) === ' or ') {\n conditionExprs.push(expr.slice(start, i).trim());\n operators.push('or');\n start = i + 4;\n i += 3;\n continue;\n }\n }\n }\n conditionExprs.push(expr.slice(start).trim());\n return { conditionExprs, operators };\n}\n\nfunction unescapeNunjucksString(s: string): string {\n return s.replaceAll('\\\\\\\\', '\\\\').replaceAll(String.raw`\\'`, \"'\");\n}\n\nconst SIMPLE_DATA_POINT_PATH = String.raw`[\\w.]+`;\nconst FORM_RUNTIME_DATA_POINT_PATH = String.raw`__submission_fields\\[\"\\d+\"\\]\\[\"[A-Za-z0-9]+\"\\]`;\nconst DATA_POINT_PATH = String.raw`(${SIMPLE_DATA_POINT_PATH}|${FORM_RUNTIME_DATA_POINT_PATH})`;\nconst RE_STR_DEFAULT = String.raw`\\(${DATA_POINT_PATH}\\s*\\|\\s*default\\s*\\(\\s*''\\s*\\)\\)`;\nconst RE_NUM_DEFAULT = String.raw`\\(${DATA_POINT_PATH}\\s*\\|\\s*default\\s*\\(\\s*0\\s*\\)\\)`;\nconst QUOTED_CONTENT = String.raw`((?:[^'\\\\]|\\\\.)*)`;\n\nfunction toSingleCondition(\n operator: ConditionOperator,\n dataPointKey: string,\n value: string,\n logicalOp?: LogicalOperator,\n): SingleCondition {\n const normalizedDataPointKey = (() => {\n const parsed = parseFormFieldKey(dataPointKey.trim());\n if (!parsed) {\n return dataPointKey.trim();\n }\n return buildFormFieldKey(parsed.formId, parsed.fieldId);\n })();\n const condition: SingleCondition = {\n dataPointKey: normalizedDataPointKey,\n id: generateId(),\n operator,\n value,\n };\n if (logicalOp) {\n condition.logicalOperator = logicalOp;\n }\n return condition;\n}\n\nfunction parseQuotedValue(s: string): { value: string; rest: string } | null {\n if (!s.startsWith(\"'\")) {\n return null;\n }\n let i = 1;\n let value = '';\n while (i < s.length) {\n if (s[i] === '\\\\' && i + 1 < s.length) {\n value += s[i + 1] === \"'\" ? \"'\" : s[i + 1];\n i += 2;\n continue;\n }\n if (s[i] === \"'\") {\n return { rest: s.slice(i + 1).trim(), value: unescapeNunjucksString(value) };\n }\n value += s[i];\n i++;\n }\n return null;\n}\n\ninterface ParsePattern {\n getValue: (match: RegExpMatchArray) => string | null;\n operator: ConditionOperator;\n pathGroup: number;\n pattern: RegExp;\n}\n\nconst PARSE_PATTERNS: ParsePattern[] = [\n // value-less\n {\n getValue: () => '',\n operator: 'is_empty',\n pathGroup: 1,\n pattern: new RegExp(\n String.raw`^${RE_STR_DEFAULT}\\s*==\\s*''\\s+or\\s+\\(\\(${DATA_POINT_PATH}\\s*\\|\\s*default\\s*\\(\\s*''\\s*\\)\\)\\s*\\|\\s*length\\)\\s*==\\s*0$`,\n ),\n },\n {\n getValue: () => '',\n operator: 'is_not_empty',\n pathGroup: 1,\n pattern: new RegExp(\n String.raw`^${RE_STR_DEFAULT}\\s*!=\\s*''\\s+and\\s+\\(\\(${DATA_POINT_PATH}\\s*\\|\\s*default\\s*\\(\\s*''\\s*\\)\\)\\s*\\|\\s*length\\)\\s*>\\s*0$`,\n ),\n },\n // string with value\n {\n getValue: m => parseQuotedValue(m[2].trim())?.value ?? null,\n operator: 'is_equal_to',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\\s*==\\s+(.+)$`),\n },\n {\n getValue: m => parseQuotedValue(m[2].trim())?.value ?? null,\n operator: 'is_not_equal_to',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\\s*!=\\s+(.+)$`),\n },\n {\n getValue: m => unescapeNunjucksString(m[1]),\n operator: 'contains',\n pathGroup: 2,\n pattern: new RegExp(String.raw`^'${QUOTED_CONTENT}'\\s+in\\s+${RE_STR_DEFAULT}$`),\n },\n {\n getValue: m => unescapeNunjucksString(m[1]),\n operator: 'does_not_contain',\n pathGroup: 2,\n pattern: new RegExp(\n String.raw`^not\\s*\\(\\s*'${QUOTED_CONTENT}'\\s+in\\s+${RE_STR_DEFAULT}\\s*\\)\\s*$`,\n ),\n },\n {\n getValue: m => parseQuotedValue(m[2].trim())?.value ?? null,\n operator: 'starts_with',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\\s*\\|\\s*startswith\\s*\\(\\s*(.+)\\s*\\)\\s*$`),\n },\n {\n getValue: m => parseQuotedValue(m[2].trim())?.value ?? null,\n operator: 'ends_with',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_STR_DEFAULT}\\s*\\|\\s*endswith\\s*\\(\\s*(.+)\\s*\\)\\s*$`),\n },\n // number operators (>= and <= before > and < to avoid partial match)\n {\n getValue: m => m[2].trim(),\n operator: 'num_gte',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*>=\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_lte',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*<=\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_eq',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*==\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_neq',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*!=\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_gt',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*>\\s*(.+)$`),\n },\n {\n getValue: m => m[2].trim(),\n operator: 'num_lt',\n pathGroup: 1,\n pattern: new RegExp(String.raw`^${RE_NUM_DEFAULT}\\s*<\\s*(.+)$`),\n },\n];\n\nfunction parseSingleConditionExpression(\n expr: string,\n logicalOp?: LogicalOperator,\n): SingleCondition | null {\n const trimmed = expr.trim();\n for (const { getValue, operator, pathGroup, pattern } of PARSE_PATTERNS) {\n const match = new RegExp(pattern).exec(trimmed);\n if (!match) {\n continue;\n }\n const value = getValue(match);\n if (value === null) {\n continue;\n }\n return toSingleCondition(operator, match[pathGroup], value, logicalOp);\n }\n return null;\n}\n\nconst parseSegmentToSingleCondition = (\n rawSegment: string,\n logicalOp?: LogicalOperator,\n): SingleCondition | null => {\n let text = stripOuterParens(rawSegment.trim());\n for (;;) {\n const single = parseSingleConditionExpression(text, logicalOp);\n if (single) {\n return single;\n }\n const next = stripOuterParens(text);\n if (next === text) {\n return null;\n }\n text = next;\n }\n};\n\n/**\n * Parse a group expression into conditions with per-condition logical operators.\n */\nfunction parseGroupExpression(groupExpr: string): SingleCondition[] | null {\n const { conditionExprs, operators } = tokenizeGroupExpression(groupExpr);\n const conditions: SingleCondition[] = [];\n\n for (let i = 0; i < conditionExprs.length; i++) {\n const cs = conditionExprs[i];\n if (!cs) {\n continue;\n }\n const logicalOp = i > 0 ? operators[i - 1] : undefined;\n const single = parseSegmentToSingleCondition(cs, logicalOp);\n if (single) {\n conditions.push(single);\n }\n }\n\n return conditions.length > 0 ? conditions : null;\n}\n\n/**\n * Parse a saved Unlayer display condition back into modal state for prefilling.\n * Returns null if the condition is missing or cannot be parsed.\n */\nexport function parseUnlayerDisplayCondition(\n condition: UnlayerDisplayCondition | null | undefined,\n): DisplayConditionState | null {\n if (!condition?.before) {\n return null;\n }\n const ifMatch = new RegExp(/\\{%\\s*if\\s+(.+)\\s*%\\}/s).exec(condition.before);\n if (!ifMatch) {\n return null;\n }\n let expr = ifMatch[1].trim();\n\n let behavior: DisplayBehavior = 'show';\n if (expr.startsWith('not (') && expr.endsWith(')')) {\n behavior = 'hide';\n expr = expr.slice(5, -1).trim();\n }\n\n const { conditionExprs: ruleStrings, operators: groupOperators } =\n tokenizeGroupExpression(expr);\n const groups: ConditionGroup[] = [];\n\n for (let i = 0; i < ruleStrings.length; i++) {\n const rs = ruleStrings[i];\n if (!rs) {\n continue;\n }\n const unwrapped = stripOuterParens(rs);\n const conditions = parseGroupExpression(unwrapped);\n if (conditions) {\n const group: ConditionGroup = {\n conditions,\n id: generateId(),\n };\n if (i > 0) {\n group.logicalOperator = groupOperators[i - 1] ?? 'and';\n }\n groups.push(group);\n }\n }\n\n if (groups.length === 0) {\n return null;\n }\n\n return { behavior, groups };\n}\n"],"names":["buildFormFieldKey","parseFormFieldKey","toNunjucksFieldReference","generateId","VALUE_LESS_OPERATORS","escapeNunjucksString","s","replace","nunjucksValueLiteral","value","isEscapedAt","index","slashCount","i","isValueLessOperator","operator","includes","buildSingleConditionExpression","dataPointKey","path","defaulted","numDefaulted","normalizedValue","trim","literal","numLiteral","test","inner","buildGroupExpression","group","valid","conditions","filter","c","length","result","joiner","logicalOperator","buildFullConditionExpression","state","validGroups","groups","map","expression","item","combined","behavior","generateConditionText","conditionCount","reduce","count","label","description","type","buildUnlayerDisplayCondition","expr","before","after","stripOuterParens","t","startsWith","at","depth","slice","tokenizeGroupExpression","conditionExprs","operators","inSingleQuote","start","Math","max","push","unescapeNunjucksString","replaceAll","String","raw","SIMPLE_DATA_POINT_PATH","FORM_RUNTIME_DATA_POINT_PATH","DATA_POINT_PATH","RE_STR_DEFAULT","RE_NUM_DEFAULT","QUOTED_CONTENT","toSingleCondition","logicalOp","normalizedDataPointKey","parsed","formId","fieldId","condition","id","parseQuotedValue","rest","PARSE_PATTERNS","getValue","pathGroup","pattern","RegExp","m","parseSingleConditionExpression","trimmed","match","exec","parseSegmentToSingleCondition","rawSegment","text","single","next","parseGroupExpression","groupExpr","cs","undefined","parseUnlayerDisplayCondition","ifMatch","endsWith","ruleStrings","groupOperators","rs","unwrapped"],"mappings":"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"}
1
+ {"version":3,"file":"nunjucks.js","sourceRoot":"","sources":["../../src/display-conditions/nunjucks.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,28 @@
1
- import { schemaBuildMap, schemaIsNumber } from '../shared/schema';
1
+ import { schemaBuildMap, schemaIsNumber, } from '../shared/schema';
2
2
  function isUseInConditionals(node) {
3
- var _node_options, _node_options1;
4
- return (node === null || node === void 0 ? void 0 : (_node_options = node.options) === null || _node_options === void 0 ? void 0 : _node_options.useInConditionals) === true || (node === null || node === void 0 ? void 0 : (_node_options1 = node.options) === null || _node_options1 === void 0 ? void 0 : _node_options1.useInCalculatedFields) === true;
3
+ var _a, _b;
4
+ return (((_a = node === null || node === void 0 ? void 0 : node.options) === null || _a === void 0 ? void 0 : _a.useInConditionals) === true || ((_b = node === null || node === void 0 ? void 0 : node.options) === null || _b === void 0 ? void 0 : _b.useInCalculatedFields) === true);
5
5
  }
6
6
  export function getSchemaDataPointOptions(schema) {
7
7
  if (!(schema === null || schema === void 0 ? void 0 : schema.properties)) {
8
8
  return [];
9
9
  }
10
10
  const { map } = schemaBuildMap(schema);
11
- return Object.values(map).filter((f)=>f.isValue && !f.isArrayed && isUseInConditionals(f.node)).map((f)=>{
12
- var _f_node_options;
11
+ return Object.values(map)
12
+ .filter(f => f.isValue &&
13
+ !f.isArrayed &&
14
+ isUseInConditionals(f.node))
15
+ .map(f => {
16
+ var _a;
13
17
  const fieldType = schemaIsNumber(f.node) ? 'number' : 'string';
14
- const lookupSource = (_f_node_options = f.node.options) === null || _f_node_options === void 0 ? void 0 : _f_node_options.fieldLookupSource;
18
+ const lookupSource = (_a = f.node.options) === null || _a === void 0 ? void 0 : _a.fieldLookupSource;
15
19
  return {
16
20
  fieldType,
17
21
  fullKey: f.fullKey,
18
22
  title: f.fullTitle || f.title || f.fullKey,
19
- ...lookupSource ? {
20
- lookupSource
21
- } : {}
23
+ ...(lookupSource ? { lookupSource } : {}),
22
24
  };
23
- }).sort((a, b)=>a.title.localeCompare(b.title));
25
+ })
26
+ .sort((a, b) => a.title.localeCompare(b.title));
24
27
  }
25
-
26
28
  //# sourceMappingURL=schemaDataPoints.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/display-conditions/schemaDataPoints.ts"],"sourcesContent":["import {\n SchemaFieldBaseOptions,\n SchemaObject,\n schemaBuildMap,\n schemaIsNumber,\n} from '../shared/schema';\nimport { DataPointOption } from './types';\n\nfunction isUseInConditionals(node: { options?: SchemaFieldBaseOptions } | undefined): boolean {\n return (\n node?.options?.useInConditionals === true || node?.options?.useInCalculatedFields === true\n );\n}\n\nexport function getSchemaDataPointOptions(schema: SchemaObject | undefined): DataPointOption[] {\n if (!schema?.properties) {\n return [];\n }\n const { map } = schemaBuildMap(schema);\n return Object.values(map)\n .filter(\n f =>\n f.isValue &&\n !f.isArrayed &&\n isUseInConditionals(f.node as { options?: SchemaFieldBaseOptions }),\n )\n .map(f => {\n const fieldType = schemaIsNumber(f.node) ? ('number' as const) : ('string' as const);\n const lookupSource = (f.node as { options?: SchemaFieldBaseOptions }).options\n ?.fieldLookupSource;\n return {\n fieldType,\n fullKey: f.fullKey,\n title: f.fullTitle || f.title || f.fullKey,\n ...(lookupSource ? { lookupSource } : {}),\n };\n })\n .sort((a, b) => a.title.localeCompare(b.title));\n}\n"],"names":["schemaBuildMap","schemaIsNumber","isUseInConditionals","node","options","useInConditionals","useInCalculatedFields","getSchemaDataPointOptions","schema","properties","map","Object","values","filter","f","isValue","isArrayed","fieldType","lookupSource","fieldLookupSource","fullKey","title","fullTitle","sort","a","b","localeCompare"],"mappings":"AAAA,SAGIA,cAAc,EACdC,cAAc,QACX,mBAAmB;AAG1B,SAASC,oBAAoBC,IAAsD;QAE3EA,eAA6CA;IADjD,OACIA,CAAAA,iBAAAA,4BAAAA,gBAAAA,KAAMC,OAAO,cAAbD,oCAAAA,cAAeE,iBAAiB,MAAK,QAAQF,CAAAA,iBAAAA,4BAAAA,iBAAAA,KAAMC,OAAO,cAAbD,qCAAAA,eAAeG,qBAAqB,MAAK;AAE9F;AAEA,OAAO,SAASC,0BAA0BC,MAAgC;IACtE,IAAI,EAACA,mBAAAA,6BAAAA,OAAQC,UAAU,GAAE;QACrB,OAAO,EAAE;IACb;IACA,MAAM,EAAEC,GAAG,EAAE,GAAGV,eAAeQ;IAC/B,OAAOG,OAAOC,MAAM,CAACF,KAChBG,MAAM,CACHC,CAAAA,IACIA,EAAEC,OAAO,IACT,CAACD,EAAEE,SAAS,IACZd,oBAAoBY,EAAEX,IAAI,GAEjCO,GAAG,CAACI,CAAAA;YAEoB;QADrB,MAAMG,YAAYhB,eAAea,EAAEX,IAAI,IAAK,WAAsB;QAClE,MAAMe,gBAAe,kBAAA,AAACJ,EAAEX,IAAI,CAA0CC,OAAO,cAAxD,sCAAA,gBACfe,iBAAiB;QACvB,OAAO;YACHF;YACAG,SAASN,EAAEM,OAAO;YAClBC,OAAOP,EAAEQ,SAAS,IAAIR,EAAEO,KAAK,IAAIP,EAAEM,OAAO;YAC1C,GAAIF,eAAe;gBAAEA;YAAa,IAAI,CAAC,CAAC;QAC5C;IACJ,GACCK,IAAI,CAAC,CAACC,GAAGC,IAAMD,EAAEH,KAAK,CAACK,aAAa,CAACD,EAAEJ,KAAK;AACrD"}
1
+ {"version":3,"file":"schemaDataPoints.js","sourceRoot":"","sources":["../../src/display-conditions/schemaDataPoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,cAAc,EACd,cAAc,GACjB,MAAM,kBAAkB,CAAC;AAG1B,SAAS,mBAAmB,CAAC,IAAsD;;IAC/E,OAAO,CACH,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,iBAAiB,MAAK,IAAI,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,qBAAqB,MAAK,IAAI,CAC7F,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAgC;IACtE,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;SACpB,MAAM,CACH,CAAC,CAAC,EAAE,CACA,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,CAAC,SAAS;QACZ,mBAAmB,CAAC,CAAC,CAAC,IAA4C,CAAC,CAC1E;SACA,GAAG,CAAC,CAAC,CAAC,EAAE;;QACL,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,QAAkB,CAAC;QACrF,MAAM,YAAY,GAAG,MAAC,CAAC,CAAC,IAA6C,CAAC,OAAO,0CACvE,iBAAiB,CAAC;QACxB,OAAO;YACH,SAAS;YACT,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO;YAC1C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;IACN,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC"}