@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,72 +1,28 @@
1
1
  /**
2
2
  * Display condition types for the modal and Nunjucks generation.
3
- */ /** Operators for string-type fields. */ export const STRING_OPERATORS = [
4
- {
5
- label: 'Contains',
6
- value: 'contains'
7
- },
8
- {
9
- label: 'Does not contain',
10
- value: 'does_not_contain'
11
- },
12
- {
13
- label: 'Is equal to',
14
- value: 'is_equal_to'
15
- },
16
- {
17
- label: 'Is not equal to',
18
- value: 'is_not_equal_to'
19
- },
20
- {
21
- label: 'Starts with',
22
- value: 'starts_with'
23
- },
24
- {
25
- label: 'Ends with',
26
- value: 'ends_with'
27
- },
28
- {
29
- label: 'Is empty',
30
- value: 'is_empty'
31
- },
32
- {
33
- label: 'Is not empty',
34
- value: 'is_not_empty'
35
- }
3
+ */
4
+ /** Operators for string-type fields. */
5
+ export const STRING_OPERATORS = [
6
+ { label: 'Contains', value: 'contains' },
7
+ { label: 'Does not contain', value: 'does_not_contain' },
8
+ { label: 'Is equal to', value: 'is_equal_to' },
9
+ { label: 'Is not equal to', value: 'is_not_equal_to' },
10
+ { label: 'Starts with', value: 'starts_with' },
11
+ { label: 'Ends with', value: 'ends_with' },
12
+ { label: 'Is empty', value: 'is_empty' },
13
+ { label: 'Is not empty', value: 'is_not_empty' },
36
14
  ];
37
- /** Operators for number-type fields. */ export const NUMBER_OPERATORS = [
38
- {
39
- label: '== (equal to)',
40
- value: 'num_eq'
41
- },
42
- {
43
- label: '!= (not equal to)',
44
- value: 'num_neq'
45
- },
46
- {
47
- label: '> (greater than)',
48
- value: 'num_gt'
49
- },
50
- {
51
- label: '< (less than)',
52
- value: 'num_lt'
53
- },
54
- {
55
- label: '>= (greater than or equal to)',
56
- value: 'num_gte'
57
- },
58
- {
59
- label: '<= (less than or equal to)',
60
- value: 'num_lte'
61
- }
15
+ /** Operators for number-type fields. */
16
+ export const NUMBER_OPERATORS = [
17
+ { label: '== (equal to)', value: 'num_eq' },
18
+ { label: '!= (not equal to)', value: 'num_neq' },
19
+ { label: '> (greater than)', value: 'num_gt' },
20
+ { label: '< (less than)', value: 'num_lt' },
21
+ { label: '>= (greater than or equal to)', value: 'num_gte' },
22
+ { label: '<= (less than or equal to)', value: 'num_lte' },
62
23
  ];
63
- /** All operators combined for type definitions. */ export const CONDITION_OPERATORS = [
64
- ...STRING_OPERATORS,
65
- ...NUMBER_OPERATORS
66
- ];
67
- /** Operators that do not require a value (empty/is not empty) */ export const VALUE_LESS_OPERATORS = [
68
- 'is_empty',
69
- 'is_not_empty'
70
- ];
71
-
24
+ /** All operators combined for type definitions. */
25
+ export const CONDITION_OPERATORS = [...STRING_OPERATORS, ...NUMBER_OPERATORS];
26
+ /** Operators that do not require a value (empty/is not empty) */
27
+ export const VALUE_LESS_OPERATORS = ['is_empty', 'is_not_empty'];
72
28
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/display-conditions/types.ts"],"sourcesContent":["/**\n * Display condition types for the modal and Nunjucks generation.\n */\n\nexport type DisplayBehavior = 'show' | 'hide';\n\nexport type LogicalOperator = 'and' | 'or';\n\n/** Operators for string-type fields. */\nexport const STRING_OPERATORS = [\n { label: 'Contains', value: 'contains' },\n { label: 'Does not contain', value: 'does_not_contain' },\n { label: 'Is equal to', value: 'is_equal_to' },\n { label: 'Is not equal to', value: 'is_not_equal_to' },\n { label: 'Starts with', value: 'starts_with' },\n { label: 'Ends with', value: 'ends_with' },\n { label: 'Is empty', value: 'is_empty' },\n { label: 'Is not empty', value: 'is_not_empty' },\n] as const;\n\n/** Operators for number-type fields. */\nexport const NUMBER_OPERATORS = [\n { label: '== (equal to)', value: 'num_eq' },\n { label: '!= (not equal to)', value: 'num_neq' },\n { label: '> (greater than)', value: 'num_gt' },\n { label: '< (less than)', value: 'num_lt' },\n { label: '>= (greater than or equal to)', value: 'num_gte' },\n { label: '<= (less than or equal to)', value: 'num_lte' },\n] as const;\n\n/** All operators combined for type definitions. */\nexport const CONDITION_OPERATORS = [...STRING_OPERATORS, ...NUMBER_OPERATORS] as const;\n\nexport type ConditionOperator =\n | (typeof STRING_OPERATORS)[number]['value']\n | (typeof NUMBER_OPERATORS)[number]['value'];\n\n/** Operators that do not require a value (empty/is not empty) */\nexport const VALUE_LESS_OPERATORS: ConditionOperator[] = ['is_empty', 'is_not_empty'];\n\nexport interface SingleCondition {\n id: string;\n dataPointKey: string;\n /** How this condition connects to the PREVIOUS condition. Absent on the first condition. */\n logicalOperator?: LogicalOperator;\n operator: ConditionOperator;\n value: string;\n}\n\nexport interface ConditionGroup {\n id: string;\n /** How this group connects to the PREVIOUS group. Absent on the first group. */\n logicalOperator?: LogicalOperator;\n conditions: SingleCondition[];\n}\n\nexport interface DisplayConditionState {\n behavior: DisplayBehavior;\n groups: ConditionGroup[];\n}\n\nexport interface DataPointOption {\n fieldType: 'number' | 'string';\n fullKey: string;\n title: string;\n /** When set, the value input becomes a host-resolved dropdown (see `options.fieldLookupSource`). */\n lookupSource?: string;\n}\n\nexport interface FormFieldOption extends DataPointOption {\n formId: number;\n}\n\n/** Unlayer display condition shape passed to done() */\nexport interface UnlayerDisplayCondition {\n type: string;\n label: string;\n description?: string;\n before: string;\n after: string;\n}\n"],"names":["STRING_OPERATORS","label","value","NUMBER_OPERATORS","CONDITION_OPERATORS","VALUE_LESS_OPERATORS"],"mappings":"AAAA;;CAEC,GAMD,sCAAsC,GACtC,OAAO,MAAMA,mBAAmB;IAC5B;QAAEC,OAAO;QAAYC,OAAO;IAAW;IACvC;QAAED,OAAO;QAAoBC,OAAO;IAAmB;IACvD;QAAED,OAAO;QAAeC,OAAO;IAAc;IAC7C;QAAED,OAAO;QAAmBC,OAAO;IAAkB;IACrD;QAAED,OAAO;QAAeC,OAAO;IAAc;IAC7C;QAAED,OAAO;QAAaC,OAAO;IAAY;IACzC;QAAED,OAAO;QAAYC,OAAO;IAAW;IACvC;QAAED,OAAO;QAAgBC,OAAO;IAAe;CAClD,CAAU;AAEX,sCAAsC,GACtC,OAAO,MAAMC,mBAAmB;IAC5B;QAAEF,OAAO;QAAiBC,OAAO;IAAS;IAC1C;QAAED,OAAO;QAAqBC,OAAO;IAAU;IAC/C;QAAED,OAAO;QAAoBC,OAAO;IAAS;IAC7C;QAAED,OAAO;QAAiBC,OAAO;IAAS;IAC1C;QAAED,OAAO;QAAiCC,OAAO;IAAU;IAC3D;QAAED,OAAO;QAA8BC,OAAO;IAAU;CAC3D,CAAU;AAEX,iDAAiD,GACjD,OAAO,MAAME,sBAAsB;OAAIJ;OAAqBG;CAAiB,CAAU;AAMvF,+DAA+D,GAC/D,OAAO,MAAME,uBAA4C;IAAC;IAAY;CAAe,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/display-conditions/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC9C,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACtD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC9C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;CAC1C,CAAC;AAEX,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3C,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE;IAChD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC9C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3C,EAAE,KAAK,EAAE,+BAA+B,EAAE,KAAK,EAAE,SAAS,EAAE;IAC5D,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,SAAS,EAAE;CACnD,CAAC;AAEX,mDAAmD;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAU,CAAC;AAMvF,iEAAiE;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAwB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC"}
@@ -1,23 +1,24 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
- import { buildFormFieldKey, getConditionalFieldTypeFromFormItemType, parseFormFieldKey } from '../shared/forms';
2
+ import { buildFormFieldKey, getConditionalFieldTypeFromFormItemType, parseFormFieldKey, } from '../shared/forms';
3
3
  /**
4
4
  * Loads the host's forms and form fields for a condition-editing modal, so form fields can be
5
5
  * picked as condition data points alongside schema fields.
6
- */ export const useConditionForms = ({ onConditionFormSelect, onConditionalsOpen })=>{
6
+ */
7
+ export const useConditionForms = ({ onConditionFormSelect, onConditionalsOpen, }) => {
7
8
  const [forms, setForms] = useState([]);
8
9
  const [formFieldsByFormId, setFormFieldsByFormId] = useState({});
9
10
  const [loadingFormIds, setLoadingFormIds] = useState([]);
10
11
  const [isFormsListLoading, setIsFormsListLoading] = useState(false);
11
12
  const formFieldsByFormIdRef = useRef({});
12
13
  const loadingFormIdsRef = useRef([]);
13
- const formFieldOptions = useMemo(()=>{
14
+ const formFieldOptions = useMemo(() => {
14
15
  const nextOptions = [];
15
- for (const form of forms){
16
+ for (const form of forms) {
16
17
  const fields = formFieldsByFormId[form.id];
17
18
  if (!fields) {
18
19
  continue;
19
20
  }
20
- for (const field of fields){
21
+ for (const field of fields) {
21
22
  const fieldType = getConditionalFieldTypeFromFormItemType(field.itemType);
22
23
  if (!fieldType) {
23
24
  continue;
@@ -26,55 +27,43 @@ import { buildFormFieldKey, getConditionalFieldTypeFromFormItemType, parseFormFi
26
27
  fieldType,
27
28
  formId: form.id,
28
29
  fullKey: buildFormFieldKey(form.id, field.id),
29
- title: field.header
30
+ title: field.header,
30
31
  });
31
32
  }
32
33
  }
33
- return nextOptions.sort((left, right)=>left.title.localeCompare(right.title));
34
- }, [
35
- forms,
36
- formFieldsByFormId
37
- ]);
38
- useEffect(()=>{
34
+ return nextOptions.sort((left, right) => left.title.localeCompare(right.title));
35
+ }, [forms, formFieldsByFormId]);
36
+ useEffect(() => {
39
37
  formFieldsByFormIdRef.current = formFieldsByFormId;
40
- }, [
41
- formFieldsByFormId
42
- ]);
43
- useEffect(()=>{
38
+ }, [formFieldsByFormId]);
39
+ useEffect(() => {
44
40
  loadingFormIdsRef.current = loadingFormIds;
45
- }, [
46
- loadingFormIds
47
- ]);
48
- const requestFormFields = useCallback((formId)=>{
41
+ }, [loadingFormIds]);
42
+ const requestFormFields = useCallback((formId) => {
49
43
  if (!onConditionFormSelect) {
50
44
  return;
51
45
  }
52
- if (formFieldsByFormIdRef.current[formId] || loadingFormIdsRef.current.includes(formId)) {
46
+ if (formFieldsByFormIdRef.current[formId] ||
47
+ loadingFormIdsRef.current.includes(formId)) {
53
48
  return;
54
49
  }
55
- setLoadingFormIds((prev)=>prev.includes(formId) ? prev : [
56
- ...prev,
57
- formId
58
- ]);
59
- onConditionFormSelect(formId, (selectedFormId, fields)=>{
60
- setFormFieldsByFormId((prev)=>({
61
- ...prev,
62
- [selectedFormId]: fields
63
- }));
64
- setLoadingFormIds((prev)=>prev.filter((id)=>id !== selectedFormId));
50
+ setLoadingFormIds(prev => (prev.includes(formId) ? prev : [...prev, formId]));
51
+ onConditionFormSelect(formId, (selectedFormId, fields) => {
52
+ setFormFieldsByFormId(prev => ({ ...prev, [selectedFormId]: fields }));
53
+ setLoadingFormIds(prev => prev.filter(id => id !== selectedFormId));
65
54
  });
66
- }, [
67
- onConditionFormSelect
68
- ]);
69
- /** Resets form data and requests the forms list plus fields of forms the groups already use. */ const loadForms = useCallback((groups)=>{
70
- const usedFormIds = Array.from(new Set(groups.flatMap((group)=>group.conditions).map((condition)=>{
71
- var _parseFormFieldKey;
72
- return (_parseFormFieldKey = parseFormFieldKey(condition.dataPointKey)) === null || _parseFormFieldKey === void 0 ? void 0 : _parseFormFieldKey.formId;
73
- }).filter((formId)=>formId != null)));
55
+ }, [onConditionFormSelect]);
56
+ /** Resets form data and requests the forms list plus fields of forms the groups already use. */
57
+ const loadForms = useCallback((groups) => {
58
+ const usedFormIds = Array.from(new Set(groups
59
+ .flatMap(group => group.conditions)
60
+ .map(condition => { var _a; return (_a = parseFormFieldKey(condition.dataPointKey)) === null || _a === void 0 ? void 0 : _a.formId; })
61
+ .filter((formId) => formId != null)));
74
62
  /*
75
- * Reset synchronously so `requestFormFields` below does not skip forms loaded by a
76
- * previous open whose state is being cleared.
77
- */ formFieldsByFormIdRef.current = {};
63
+ * Reset synchronously so `requestFormFields` below does not skip forms loaded by a
64
+ * previous open whose state is being cleared.
65
+ */
66
+ formFieldsByFormIdRef.current = {};
78
67
  loadingFormIdsRef.current = [];
79
68
  setForms([]);
80
69
  setFormFieldsByFormId({});
@@ -83,28 +72,21 @@ import { buildFormFieldKey, getConditionalFieldTypeFromFormItemType, parseFormFi
83
72
  if (!onConditionalsOpen) {
84
73
  return;
85
74
  }
86
- onConditionalsOpen(usedFormIds, (nextForms)=>{
75
+ onConditionalsOpen(usedFormIds, nextForms => {
87
76
  setForms(nextForms);
88
77
  setIsFormsListLoading(false);
89
- }, (formId, fields)=>{
90
- setFormFieldsByFormId((prev)=>({
91
- ...prev,
92
- [formId]: fields
93
- }));
94
- setLoadingFormIds((prev)=>prev.filter((id)=>id !== formId));
78
+ }, (formId, fields) => {
79
+ setFormFieldsByFormId(prev => ({ ...prev, [formId]: fields }));
80
+ setLoadingFormIds(prev => prev.filter(id => id !== formId));
95
81
  });
96
- usedFormIds.forEach((formId)=>requestFormFields(formId));
97
- }, [
98
- onConditionalsOpen,
99
- requestFormFields
100
- ]);
82
+ usedFormIds.forEach(formId => requestFormFields(formId));
83
+ }, [onConditionalsOpen, requestFormFields]);
101
84
  return {
102
85
  formFieldOptions,
103
86
  forms,
104
87
  isFieldDataLoading: isFormsListLoading || loadingFormIds.length > 0,
105
88
  loadForms,
106
- requestFormFields
89
+ requestFormFields,
107
90
  };
108
91
  };
109
-
110
92
  //# sourceMappingURL=useConditionForms.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/display-conditions/useConditionForms.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n buildFormFieldKey,\n FormFieldInfo,\n FormInfo,\n getConditionalFieldTypeFromFormItemType,\n parseFormFieldKey,\n} from '../shared/forms';\nimport { ConditionGroup, FormFieldOption } from './types';\n\ntype SendFormFields = (formId: number, fields: FormFieldInfo[]) => void;\n\nexport type ConditionFormSelectHandler = (formId: number, sendFormFields: SendFormFields) => void;\n\nexport type ConditionalsOpenHandler = (\n usedFormIds: number[],\n sendFormList: (forms: FormInfo[]) => void,\n sendFormFields: SendFormFields,\n) => void;\n\nexport interface UseConditionFormsOptions {\n onConditionFormSelect?: ConditionFormSelectHandler;\n onConditionalsOpen?: ConditionalsOpenHandler;\n}\n\n/**\n * Loads the host's forms and form fields for a condition-editing modal, so form fields can be\n * picked as condition data points alongside schema fields.\n */\nexport const useConditionForms = ({\n onConditionFormSelect,\n onConditionalsOpen,\n}: UseConditionFormsOptions) => {\n const [forms, setForms] = useState<FormInfo[]>([]);\n const [formFieldsByFormId, setFormFieldsByFormId] = useState<Record<number, FormFieldInfo[]>>(\n {},\n );\n const [loadingFormIds, setLoadingFormIds] = useState<number[]>([]);\n const [isFormsListLoading, setIsFormsListLoading] = useState(false);\n const formFieldsByFormIdRef = useRef<Record<number, FormFieldInfo[]>>({});\n const loadingFormIdsRef = useRef<number[]>([]);\n\n const formFieldOptions = useMemo<FormFieldOption[]>(() => {\n const nextOptions: FormFieldOption[] = [];\n for (const form of forms) {\n const fields = formFieldsByFormId[form.id];\n if (!fields) {\n continue;\n }\n for (const field of fields) {\n const fieldType = getConditionalFieldTypeFromFormItemType(field.itemType);\n if (!fieldType) {\n continue;\n }\n nextOptions.push({\n fieldType,\n formId: form.id,\n fullKey: buildFormFieldKey(form.id, field.id),\n title: field.header,\n });\n }\n }\n return nextOptions.sort((left, right) => left.title.localeCompare(right.title));\n }, [forms, formFieldsByFormId]);\n\n useEffect(() => {\n formFieldsByFormIdRef.current = formFieldsByFormId;\n }, [formFieldsByFormId]);\n\n useEffect(() => {\n loadingFormIdsRef.current = loadingFormIds;\n }, [loadingFormIds]);\n\n const requestFormFields = useCallback(\n (formId: number) => {\n if (!onConditionFormSelect) {\n return;\n }\n if (\n formFieldsByFormIdRef.current[formId] ||\n loadingFormIdsRef.current.includes(formId)\n ) {\n return;\n }\n\n setLoadingFormIds(prev => (prev.includes(formId) ? prev : [...prev, formId]));\n onConditionFormSelect(formId, (selectedFormId, fields) => {\n setFormFieldsByFormId(prev => ({ ...prev, [selectedFormId]: fields }));\n setLoadingFormIds(prev => prev.filter(id => id !== selectedFormId));\n });\n },\n [onConditionFormSelect],\n );\n\n /** Resets form data and requests the forms list plus fields of forms the groups already use. */\n const loadForms = useCallback(\n (groups: ConditionGroup[]) => {\n const usedFormIds = Array.from(\n new Set(\n groups\n .flatMap(group => group.conditions)\n .map(condition => parseFormFieldKey(condition.dataPointKey)?.formId)\n .filter((formId): formId is number => formId != null),\n ),\n );\n\n /*\n * Reset synchronously so `requestFormFields` below does not skip forms loaded by a\n * previous open whose state is being cleared.\n */\n formFieldsByFormIdRef.current = {};\n loadingFormIdsRef.current = [];\n setForms([]);\n setFormFieldsByFormId({});\n setIsFormsListLoading(!!onConditionalsOpen);\n setLoadingFormIds([]);\n\n if (!onConditionalsOpen) {\n return;\n }\n\n onConditionalsOpen(\n usedFormIds,\n nextForms => {\n setForms(nextForms);\n setIsFormsListLoading(false);\n },\n (formId, fields) => {\n setFormFieldsByFormId(prev => ({ ...prev, [formId]: fields }));\n setLoadingFormIds(prev => prev.filter(id => id !== formId));\n },\n );\n\n usedFormIds.forEach(formId => requestFormFields(formId));\n },\n [onConditionalsOpen, requestFormFields],\n );\n\n return {\n formFieldOptions,\n forms,\n isFieldDataLoading: isFormsListLoading || loadingFormIds.length > 0,\n loadForms,\n requestFormFields,\n };\n};\n"],"names":["useCallback","useEffect","useMemo","useRef","useState","buildFormFieldKey","getConditionalFieldTypeFromFormItemType","parseFormFieldKey","useConditionForms","onConditionFormSelect","onConditionalsOpen","forms","setForms","formFieldsByFormId","setFormFieldsByFormId","loadingFormIds","setLoadingFormIds","isFormsListLoading","setIsFormsListLoading","formFieldsByFormIdRef","loadingFormIdsRef","formFieldOptions","nextOptions","form","fields","id","field","fieldType","itemType","push","formId","fullKey","title","header","sort","left","right","localeCompare","current","requestFormFields","includes","prev","selectedFormId","filter","loadForms","groups","usedFormIds","Array","from","Set","flatMap","group","conditions","map","condition","dataPointKey","nextForms","forEach","isFieldDataLoading","length"],"mappings":"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"}
1
+ {"version":3,"file":"useConditionForms.js","sourceRoot":"","sources":["../../src/display-conditions/useConditionForms.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { useCallback, useEffect, useRef, useState } from 'react';
2
2
  import { generateId } from './constants';
3
- import { emitLookupOptionsRequest, onLookupOptionsResponse } from './lookupOptionsController';
4
- /** Time to wait for the host before falling back to free-text input. */ const LOOKUP_OPTIONS_TIMEOUT_MS = 10000;
3
+ import { emitLookupOptionsRequest, onLookupOptionsResponse, } from './lookupOptionsController';
4
+ /** Time to wait for the host before falling back to free-text input. */
5
+ const LOOKUP_OPTIONS_TIMEOUT_MS = 10000;
5
6
  /**
6
7
  * Requests host-resolved dropdown options for a field's `fieldLookupSource`.
7
8
  *
@@ -10,12 +11,13 @@ import { emitLookupOptionsRequest, onLookupOptionsResponse } from './lookupOptio
10
11
  * searchable source (`searchable`, driven by `loadOptions` per keystroke).
11
12
  * Stale responses (mismatched requestId) are ignored and the listener/timeout
12
13
  * are cleaned up on unmount or source change.
13
- */ export const useLookupOptions = (sourceKey)=>{
14
+ */
15
+ export const useLookupOptions = (sourceKey) => {
14
16
  const [status, setStatus] = useState('idle');
15
17
  const [options, setOptions] = useState([]);
16
18
  const latestRequestIdRef = useRef(null);
17
19
  const sourceKeyRef = useRef(sourceKey);
18
- useEffect(()=>{
20
+ useEffect(() => {
19
21
  sourceKeyRef.current = sourceKey;
20
22
  const normalizedSourceKey = sourceKey === null || sourceKey === void 0 ? void 0 : sourceKey.trim();
21
23
  if (!normalizedSourceKey) {
@@ -28,14 +30,14 @@ import { emitLookupOptionsRequest, onLookupOptionsResponse } from './lookupOptio
28
30
  latestRequestIdRef.current = requestId;
29
31
  setStatus('loading');
30
32
  setOptions([]);
31
- const timeoutId = setTimeout(()=>{
33
+ const timeoutId = setTimeout(() => {
32
34
  if (latestRequestIdRef.current !== requestId) {
33
35
  return;
34
36
  }
35
37
  setStatus('fallback');
36
38
  setOptions([]);
37
39
  }, LOOKUP_OPTIONS_TIMEOUT_MS);
38
- const unsubscribe = onLookupOptionsResponse((response)=>{
40
+ const unsubscribe = onLookupOptionsResponse(response => {
39
41
  // Ignore stale responses (different request, or superseded selection).
40
42
  if (response.requestId !== requestId || latestRequestIdRef.current !== requestId) {
41
43
  return;
@@ -49,32 +51,28 @@ import { emitLookupOptionsRequest, onLookupOptionsResponse } from './lookupOptio
49
51
  if (response.options.length > 0) {
50
52
  setOptions(response.options);
51
53
  setStatus('static');
52
- } else {
54
+ }
55
+ else {
53
56
  setOptions([]);
54
57
  setStatus('fallback');
55
58
  }
56
59
  });
57
- emitLookupOptionsRequest({
58
- requestId,
59
- sourceKey: normalizedSourceKey
60
- });
61
- return ()=>{
60
+ emitLookupOptionsRequest({ requestId, sourceKey: normalizedSourceKey });
61
+ return () => {
62
62
  clearTimeout(timeoutId);
63
63
  unsubscribe();
64
64
  };
65
- }, [
66
- sourceKey
67
- ]);
68
- const requestOptions = useCallback((payload)=>{
69
- var _sourceKeyRef_current;
70
- const normalizedSourceKey = (_sourceKeyRef_current = sourceKeyRef.current) === null || _sourceKeyRef_current === void 0 ? void 0 : _sourceKeyRef_current.trim();
65
+ }, [sourceKey]);
66
+ const requestOptions = useCallback((payload) => {
67
+ var _a;
68
+ const normalizedSourceKey = (_a = sourceKeyRef.current) === null || _a === void 0 ? void 0 : _a.trim();
71
69
  if (!normalizedSourceKey) {
72
70
  return Promise.resolve([]);
73
71
  }
74
- return new Promise((resolve)=>{
72
+ return new Promise(resolve => {
75
73
  const requestId = generateId();
76
74
  let settled = false;
77
- const finish = (result)=>{
75
+ const finish = (result) => {
78
76
  if (settled) {
79
77
  return;
80
78
  }
@@ -83,36 +81,18 @@ import { emitLookupOptionsRequest, onLookupOptionsResponse } from './lookupOptio
83
81
  unsubscribe();
84
82
  resolve(result);
85
83
  };
86
- const timeoutId = setTimeout(()=>finish([]), LOOKUP_OPTIONS_TIMEOUT_MS);
87
- const unsubscribe = onLookupOptionsResponse((response)=>{
84
+ const timeoutId = setTimeout(() => finish([]), LOOKUP_OPTIONS_TIMEOUT_MS);
85
+ const unsubscribe = onLookupOptionsResponse(response => {
88
86
  if (response.requestId !== requestId) {
89
87
  return;
90
88
  }
91
89
  finish(response.options);
92
90
  });
93
- emitLookupOptionsRequest({
94
- requestId,
95
- sourceKey: normalizedSourceKey,
96
- ...payload
97
- });
91
+ emitLookupOptionsRequest({ requestId, sourceKey: normalizedSourceKey, ...payload });
98
92
  });
99
93
  }, []);
100
- const loadOptions = useCallback((query)=>requestOptions({
101
- query
102
- }), [
103
- requestOptions
104
- ]);
105
- const resolveOptions = useCallback((keys)=>requestOptions({
106
- keys
107
- }), [
108
- requestOptions
109
- ]);
110
- return {
111
- status,
112
- options,
113
- loadOptions,
114
- resolveOptions
115
- };
94
+ const loadOptions = useCallback((query) => requestOptions({ query }), [requestOptions]);
95
+ const resolveOptions = useCallback((keys) => requestOptions({ keys }), [requestOptions]);
96
+ return { status, options, loadOptions, resolveOptions };
116
97
  };
117
-
118
98
  //# sourceMappingURL=useLookupOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/display-conditions/useLookupOptions.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { generateId } from './constants';\nimport {\n emitLookupOptionsRequest,\n LookupOption,\n onLookupOptionsResponse,\n} from './lookupOptionsController';\n\n/**\n * - `idle` -> no lookup source: use free-text input.\n * - `loading` -> initial request in flight: show a disabled/loading value control.\n * - `static` -> host returned a full list: render a locally-filtered dropdown.\n * - `searchable` -> host wants per-query search: render an async dropdown driven by `loadOptions`.\n * - `fallback` -> empty/error/timeout: fall back to free-text so the user is never blocked.\n */\nexport type LookupOptionsStatus = 'idle' | 'loading' | 'static' | 'searchable' | 'fallback';\n\n/** Time to wait for the host before falling back to free-text input. */\nconst LOOKUP_OPTIONS_TIMEOUT_MS = 10_000;\n\ninterface UseLookupOptionsResult {\n status: LookupOptionsStatus;\n /** Full option list for `static` sources; empty for `searchable`/`idle`/`fallback`. */\n options: LookupOption[];\n /**\n * Per-query resolver for `searchable` sources. Emits a request with the typed\n * `query` and resolves with the host's fresh list (or `[]` on timeout). Wire\n * this into an async dropdown (e.g. Anvil2 `SelectField`'s `loadOptions`).\n */\n loadOptions: (query: string) => Promise<LookupOption[]>;\n /**\n * Resolve the option(s) for already-stored keys (exact match, not a text\n * search). Used on open to turn a saved searchable value back into its\n * human-readable label. Resolves with `[]` on timeout.\n */\n resolveOptions: (keys: string[]) => Promise<LookupOption[]>;\n}\n\n/**\n * Requests host-resolved dropdown options for a field's `fieldLookupSource`.\n *\n * Fires a single query-less request whenever `sourceKey` changes. The host's\n * response decides the mode: a full list (`static`, filtered locally) or a\n * searchable source (`searchable`, driven by `loadOptions` per keystroke).\n * Stale responses (mismatched requestId) are ignored and the listener/timeout\n * are cleaned up on unmount or source change.\n */\nexport const useLookupOptions = (sourceKey: string | undefined): UseLookupOptionsResult => {\n const [status, setStatus] = useState<LookupOptionsStatus>('idle');\n const [options, setOptions] = useState<LookupOption[]>([]);\n const latestRequestIdRef = useRef<string | null>(null);\n const sourceKeyRef = useRef<string | undefined>(sourceKey);\n\n useEffect(() => {\n sourceKeyRef.current = sourceKey;\n const normalizedSourceKey = sourceKey?.trim();\n\n if (!normalizedSourceKey) {\n latestRequestIdRef.current = null;\n setStatus('idle');\n setOptions([]);\n return;\n }\n\n const requestId = generateId();\n latestRequestIdRef.current = requestId;\n setStatus('loading');\n setOptions([]);\n\n const timeoutId = setTimeout(() => {\n if (latestRequestIdRef.current !== requestId) {\n return;\n }\n setStatus('fallback');\n setOptions([]);\n }, LOOKUP_OPTIONS_TIMEOUT_MS);\n\n const unsubscribe = onLookupOptionsResponse(response => {\n // Ignore stale responses (different request, or superseded selection).\n if (response.requestId !== requestId || latestRequestIdRef.current !== requestId) {\n return;\n }\n clearTimeout(timeoutId);\n if (response.searchable) {\n setOptions([]);\n setStatus('searchable');\n return;\n }\n if (response.options.length > 0) {\n setOptions(response.options);\n setStatus('static');\n } else {\n setOptions([]);\n setStatus('fallback');\n }\n });\n\n emitLookupOptionsRequest({ requestId, sourceKey: normalizedSourceKey });\n\n return () => {\n clearTimeout(timeoutId);\n unsubscribe();\n };\n }, [sourceKey]);\n\n const requestOptions = useCallback((payload: { query?: string; keys?: string[] }) => {\n const normalizedSourceKey = sourceKeyRef.current?.trim();\n if (!normalizedSourceKey) {\n return Promise.resolve<LookupOption[]>([]);\n }\n\n return new Promise<LookupOption[]>(resolve => {\n const requestId = generateId();\n let settled = false;\n\n const finish = (result: LookupOption[]) => {\n if (settled) {\n return;\n }\n settled = true;\n clearTimeout(timeoutId);\n unsubscribe();\n resolve(result);\n };\n\n const timeoutId = setTimeout(() => finish([]), LOOKUP_OPTIONS_TIMEOUT_MS);\n\n const unsubscribe = onLookupOptionsResponse(response => {\n if (response.requestId !== requestId) {\n return;\n }\n finish(response.options);\n });\n\n emitLookupOptionsRequest({ requestId, sourceKey: normalizedSourceKey, ...payload });\n });\n }, []);\n\n const loadOptions = useCallback((query: string) => requestOptions({ query }), [requestOptions]);\n\n const resolveOptions = useCallback(\n (keys: string[]) => requestOptions({ keys }),\n [requestOptions],\n );\n\n return { status, options, loadOptions, resolveOptions };\n};\n"],"names":["useCallback","useEffect","useRef","useState","generateId","emitLookupOptionsRequest","onLookupOptionsResponse","LOOKUP_OPTIONS_TIMEOUT_MS","useLookupOptions","sourceKey","status","setStatus","options","setOptions","latestRequestIdRef","sourceKeyRef","current","normalizedSourceKey","trim","requestId","timeoutId","setTimeout","unsubscribe","response","clearTimeout","searchable","length","requestOptions","payload","Promise","resolve","settled","finish","result","loadOptions","query","resolveOptions","keys"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACjE,SAASC,UAAU,QAAQ,cAAc;AACzC,SACIC,wBAAwB,EAExBC,uBAAuB,QACpB,4BAA4B;AAWnC,sEAAsE,GACtE,MAAMC,4BAA4B;AAoBlC;;;;;;;;CAQC,GACD,OAAO,MAAMC,mBAAmB,CAACC;IAC7B,MAAM,CAACC,QAAQC,UAAU,GAAGR,SAA8B;IAC1D,MAAM,CAACS,SAASC,WAAW,GAAGV,SAAyB,EAAE;IACzD,MAAMW,qBAAqBZ,OAAsB;IACjD,MAAMa,eAAeb,OAA2BO;IAEhDR,UAAU;QACNc,aAAaC,OAAO,GAAGP;QACvB,MAAMQ,sBAAsBR,sBAAAA,gCAAAA,UAAWS,IAAI;QAE3C,IAAI,CAACD,qBAAqB;YACtBH,mBAAmBE,OAAO,GAAG;YAC7BL,UAAU;YACVE,WAAW,EAAE;YACb;QACJ;QAEA,MAAMM,YAAYf;QAClBU,mBAAmBE,OAAO,GAAGG;QAC7BR,UAAU;QACVE,WAAW,EAAE;QAEb,MAAMO,YAAYC,WAAW;YACzB,IAAIP,mBAAmBE,OAAO,KAAKG,WAAW;gBAC1C;YACJ;YACAR,UAAU;YACVE,WAAW,EAAE;QACjB,GAAGN;QAEH,MAAMe,cAAchB,wBAAwBiB,CAAAA;YACxC,uEAAuE;YACvE,IAAIA,SAASJ,SAAS,KAAKA,aAAaL,mBAAmBE,OAAO,KAAKG,WAAW;gBAC9E;YACJ;YACAK,aAAaJ;YACb,IAAIG,SAASE,UAAU,EAAE;gBACrBZ,WAAW,EAAE;gBACbF,UAAU;gBACV;YACJ;YACA,IAAIY,SAASX,OAAO,CAACc,MAAM,GAAG,GAAG;gBAC7Bb,WAAWU,SAASX,OAAO;gBAC3BD,UAAU;YACd,OAAO;gBACHE,WAAW,EAAE;gBACbF,UAAU;YACd;QACJ;QAEAN,yBAAyB;YAAEc;YAAWV,WAAWQ;QAAoB;QAErE,OAAO;YACHO,aAAaJ;YACbE;QACJ;IACJ,GAAG;QAACb;KAAU;IAEd,MAAMkB,iBAAiB3B,YAAY,CAAC4B;YACJb;QAA5B,MAAME,uBAAsBF,wBAAAA,aAAaC,OAAO,cAApBD,4CAAAA,sBAAsBG,IAAI;QACtD,IAAI,CAACD,qBAAqB;YACtB,OAAOY,QAAQC,OAAO,CAAiB,EAAE;QAC7C;QAEA,OAAO,IAAID,QAAwBC,CAAAA;YAC/B,MAAMX,YAAYf;YAClB,IAAI2B,UAAU;YAEd,MAAMC,SAAS,CAACC;gBACZ,IAAIF,SAAS;oBACT;gBACJ;gBACAA,UAAU;gBACVP,aAAaJ;gBACbE;gBACAQ,QAAQG;YACZ;YAEA,MAAMb,YAAYC,WAAW,IAAMW,OAAO,EAAE,GAAGzB;YAE/C,MAAMe,cAAchB,wBAAwBiB,CAAAA;gBACxC,IAAIA,SAASJ,SAAS,KAAKA,WAAW;oBAClC;gBACJ;gBACAa,OAAOT,SAASX,OAAO;YAC3B;YAEAP,yBAAyB;gBAAEc;gBAAWV,WAAWQ;gBAAqB,GAAGW,OAAO;YAAC;QACrF;IACJ,GAAG,EAAE;IAEL,MAAMM,cAAclC,YAAY,CAACmC,QAAkBR,eAAe;YAAEQ;QAAM,IAAI;QAACR;KAAe;IAE9F,MAAMS,iBAAiBpC,YACnB,CAACqC,OAAmBV,eAAe;YAAEU;QAAK,IAC1C;QAACV;KAAe;IAGpB,OAAO;QAAEjB;QAAQE;QAASsB;QAAaE;IAAe;AAC1D,EAAE"}
1
+ {"version":3,"file":"useLookupOptions.js","sourceRoot":"","sources":["../../src/display-conditions/useLookupOptions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ESignDateSignedOffsetModal.d.ts","sourceRoot":"","sources":["../../src/e-sign-offset/ESignDateSignedOffsetModal.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAE7B,MAAM,yCAAyC,CAAC;AAcjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,MAAM,WAAW,+BAA+B;IAC5C,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACpD,qBAAqB,CAAC,EAAE,0BAA0B,CAAC;IACnD,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;IAC7C,MAAM,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,wBAAgB,0BAA0B,CAAC,EACvC,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,MAAM,GACT,EAAE,QAAQ,CAAC,+BAA+B,CAAC,sCA2J3C"}
1
+ {"version":3,"file":"ESignDateSignedOffsetModal.d.ts","sourceRoot":"","sources":["../../src/e-sign-offset/ESignDateSignedOffsetModal.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAE7B,MAAM,yCAAyC,CAAC;AAcjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,MAAM,WAAW,+BAA+B;IAC5C,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACpD,qBAAqB,CAAC,EAAE,0BAA0B,CAAC;IACnD,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;IAC7C,MAAM,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,wBAAgB,0BAA0B,CAAC,EACvC,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,MAAM,GACT,EAAE,QAAQ,CAAC,+BAA+B,CAAC,sCAmK3C"}