@servicetitan/dte-unlayer 0.154.0 → 0.155.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/display-conditions/ConditionRow.d.ts.map +1 -1
  2. package/dist/display-conditions/ConditionRow.js +111 -95
  3. package/dist/display-conditions/ConditionRow.js.map +1 -1
  4. package/dist/display-conditions/DisplayConditionModal.d.ts +3 -3
  5. package/dist/display-conditions/DisplayConditionModal.d.ts.map +1 -1
  6. package/dist/display-conditions/DisplayConditionModal.js +8 -95
  7. package/dist/display-conditions/DisplayConditionModal.js.map +1 -1
  8. package/dist/display-conditions/useConditionForms.d.ts +22 -0
  9. package/dist/display-conditions/useConditionForms.d.ts.map +1 -0
  10. package/dist/display-conditions/useConditionForms.js +110 -0
  11. package/dist/display-conditions/useConditionForms.js.map +1 -0
  12. package/dist/e-sign-offset/ESignDateSignedOffsetModal.d.ts +11 -0
  13. package/dist/e-sign-offset/ESignDateSignedOffsetModal.d.ts.map +1 -0
  14. package/dist/e-sign-offset/ESignDateSignedOffsetModal.js +192 -0
  15. package/dist/e-sign-offset/ESignDateSignedOffsetModal.js.map +1 -0
  16. package/dist/e-sign-offset/ESignOffsetRuleRow.d.ts +20 -0
  17. package/dist/e-sign-offset/ESignOffsetRuleRow.d.ts.map +1 -0
  18. package/dist/e-sign-offset/ESignOffsetRuleRow.js +87 -0
  19. package/dist/e-sign-offset/ESignOffsetRuleRow.js.map +1 -0
  20. package/dist/e-sign-offset/eSignOffsetController.d.ts +10 -0
  21. package/dist/e-sign-offset/eSignOffsetController.d.ts.map +1 -0
  22. package/dist/e-sign-offset/eSignOffsetController.js +27 -0
  23. package/dist/e-sign-offset/eSignOffsetController.js.map +1 -0
  24. package/dist/editor-core-source.d.ts +2 -2
  25. package/dist/editor-core-source.d.ts.map +1 -1
  26. package/dist/editor-core-source.js +2 -2
  27. package/dist/editor-core-source.js.map +1 -1
  28. package/dist/editor.d.ts.map +1 -1
  29. package/dist/editor.js +8 -0
  30. package/dist/editor.js.map +1 -1
  31. package/dist/shared/const.d.ts +30 -0
  32. package/dist/shared/const.d.ts.map +1 -1
  33. package/dist/shared/const.js +5 -0
  34. package/dist/shared/const.js.map +1 -1
  35. package/dist/shared/e-sign-offset.d.ts +21 -0
  36. package/dist/shared/e-sign-offset.d.ts.map +1 -0
  37. package/dist/shared/e-sign-offset.js +130 -0
  38. package/dist/shared/e-sign-offset.js.map +1 -0
  39. package/dist/store.d.ts +1 -0
  40. package/dist/store.d.ts.map +1 -1
  41. package/dist/store.js +30 -3
  42. package/dist/store.js.map +1 -1
  43. package/dist/tools.d.ts +6 -0
  44. package/dist/tools.d.ts.map +1 -1
  45. package/dist/tools.js +21 -1
  46. package/dist/tools.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/__tests__/e-sign-offset.test.ts +281 -0
  49. package/src/display-conditions/ConditionRow.tsx +86 -81
  50. package/src/display-conditions/DisplayConditionModal.tsx +12 -116
  51. package/src/display-conditions/useConditionForms.ts +146 -0
  52. package/src/e-sign-offset/ESignDateSignedOffsetModal.tsx +197 -0
  53. package/src/e-sign-offset/ESignOffsetRuleRow.tsx +101 -0
  54. package/src/e-sign-offset/eSignOffsetController.ts +39 -0
  55. package/src/editor-core-source.ts +2 -2
  56. package/src/editor.tsx +9 -0
  57. package/src/shared/const.ts +37 -0
  58. package/src/shared/e-sign-offset.ts +173 -0
  59. package/src/store.ts +45 -4
  60. package/src/tools.ts +36 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/e-sign-offset/ESignOffsetRuleRow.tsx"],"sourcesContent":["import { Card, Chip, Flex, NumberField } from '@servicetitan/anvil2';\nimport { ConditionRow } from '../display-conditions/ConditionRow';\nimport { defaultCondition, defaultGroup } from '../display-conditions/constants';\nimport type {\n DataPointOption,\n FormFieldOption,\n SingleCondition,\n} from '../display-conditions/types';\nimport { type ESignDateSignedOffsetRule, MAX_E_SIGN_OFFSET_DAYS } from '../shared/const';\nimport { clampESignOffsetDays } from '../shared/e-sign-offset';\nimport { FormInfo } from '../shared/forms';\n\nexport interface ESignOffsetDaysFieldProps {\n chipLabel: string;\n days: number;\n onChange: (days: number) => void;\n}\n\nexport function ESignOffsetDaysField({\n chipLabel,\n days,\n onChange,\n}: Readonly<ESignOffsetDaysFieldProps>) {\n return (\n <Flex>\n <Flex alignItems=\"center\" style={{ padding: '8px 12px' }}>\n <Chip label={chipLabel} size=\"medium\" />\n </Flex>\n <NumberField\n label=\"Number of days\"\n size=\"small\"\n value={days}\n minValue={0}\n maxValue={MAX_E_SIGN_OFFSET_DAYS}\n maximumFractionDigits={0}\n suffix=\"days\"\n hint={`days range up to ${MAX_E_SIGN_OFFSET_DAYS}`}\n onChange={value => onChange(clampESignOffsetDays(value))}\n />\n </Flex>\n );\n}\n\nexport interface ESignOffsetRuleRowProps {\n dataPointOptions: DataPointOption[];\n formFieldOptions: FormFieldOption[];\n forms: FormInfo[];\n onChange: (rule: ESignDateSignedOffsetRule) => void;\n onFormSelect: (formId: number) => void;\n onRemove: () => void;\n rule: ESignDateSignedOffsetRule;\n}\n\nexport function ESignOffsetRuleRow({\n dataPointOptions,\n formFieldOptions,\n forms,\n onChange,\n onFormSelect,\n onRemove,\n rule,\n}: Readonly<ESignOffsetRuleRowProps>) {\n const group = rule.condition.groups[0] ?? defaultGroup();\n const condition = group.conditions[0] ?? defaultCondition();\n\n const handleConditionChange = (nextCondition: SingleCondition) => {\n onChange({\n ...rule,\n condition: {\n behavior: 'show',\n groups: [{ conditions: [nextCondition], id: group.id }],\n },\n });\n };\n\n const handleDaysChange = (days: number) => {\n onChange({ ...rule, days });\n };\n\n return (\n <Card background=\"strong\" padding=\"small\">\n <Flex direction=\"column\" gap=\"3\">\n <ConditionRow\n canRemove\n condition={condition}\n dataPointOptions={dataPointOptions}\n formFieldOptions={formFieldOptions}\n forms={forms}\n onChange={handleConditionChange}\n onFormSelect={onFormSelect}\n onRemove={onRemove}\n />\n <ESignOffsetDaysField\n chipLabel=\"THEN\"\n days={rule.days}\n onChange={handleDaysChange}\n />\n </Flex>\n </Card>\n );\n}\n"],"names":["Card","Chip","Flex","NumberField","ConditionRow","defaultCondition","defaultGroup","MAX_E_SIGN_OFFSET_DAYS","clampESignOffsetDays","ESignOffsetDaysField","chipLabel","days","onChange","alignItems","style","padding","label","size","value","minValue","maxValue","maximumFractionDigits","suffix","hint","ESignOffsetRuleRow","dataPointOptions","formFieldOptions","forms","onFormSelect","onRemove","rule","group","condition","groups","conditions","handleConditionChange","nextCondition","behavior","id","handleDaysChange","background","direction","gap","canRemove"],"mappings":";AAAA,SAASA,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,WAAW,QAAQ,uBAAuB;AACrE,SAASC,YAAY,QAAQ,qCAAqC;AAClE,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,kCAAkC;AAMjF,SAAyCC,sBAAsB,QAAQ,kBAAkB;AACzF,SAASC,oBAAoB,QAAQ,0BAA0B;AAS/D,OAAO,SAASC,qBAAqB,EACjCC,SAAS,EACTC,IAAI,EACJC,QAAQ,EAC0B;IAClC,qBACI,MAACV;;0BACG,KAACA;gBAAKW,YAAW;gBAASC,OAAO;oBAAEC,SAAS;gBAAW;0BACnD,cAAA,KAACd;oBAAKe,OAAON;oBAAWO,MAAK;;;0BAEjC,KAACd;gBACGa,OAAM;gBACNC,MAAK;gBACLC,OAAOP;gBACPQ,UAAU;gBACVC,UAAUb;gBACVc,uBAAuB;gBACvBC,QAAO;gBACPC,MAAM,CAAC,iBAAiB,EAAEhB,wBAAwB;gBAClDK,UAAUM,CAAAA,QAASN,SAASJ,qBAAqBU;;;;AAIjE;AAYA,OAAO,SAASM,mBAAmB,EAC/BC,gBAAgB,EAChBC,gBAAgB,EAChBC,KAAK,EACLf,QAAQ,EACRgB,YAAY,EACZC,QAAQ,EACRC,IAAI,EAC4B;QAClBA,yBACIC;IADlB,MAAMA,SAAQD,0BAAAA,KAAKE,SAAS,CAACC,MAAM,CAAC,EAAE,cAAxBH,qCAAAA,0BAA4BxB;IAC1C,MAAM0B,aAAYD,qBAAAA,MAAMG,UAAU,CAAC,EAAE,cAAnBH,gCAAAA,qBAAuB1B;IAEzC,MAAM8B,wBAAwB,CAACC;QAC3BxB,SAAS;YACL,GAAGkB,IAAI;YACPE,WAAW;gBACPK,UAAU;gBACVJ,QAAQ;oBAAC;wBAAEC,YAAY;4BAACE;yBAAc;wBAAEE,IAAIP,MAAMO,EAAE;oBAAC;iBAAE;YAC3D;QACJ;IACJ;IAEA,MAAMC,mBAAmB,CAAC5B;QACtBC,SAAS;YAAE,GAAGkB,IAAI;YAAEnB;QAAK;IAC7B;IAEA,qBACI,KAACX;QAAKwC,YAAW;QAASzB,SAAQ;kBAC9B,cAAA,MAACb;YAAKuC,WAAU;YAASC,KAAI;;8BACzB,KAACtC;oBACGuC,SAAS;oBACTX,WAAWA;oBACXP,kBAAkBA;oBAClBC,kBAAkBA;oBAClBC,OAAOA;oBACPf,UAAUuB;oBACVP,cAAcA;oBACdC,UAAUA;;8BAEd,KAACpB;oBACGC,WAAU;oBACVC,MAAMmB,KAAKnB,IAAI;oBACfC,UAAU2B;;;;;AAK9B"}
@@ -0,0 +1,10 @@
1
+ import type { ESignDateSignedOffsetSettings } from '../shared/const';
2
+ export interface ESignOffsetRequest {
3
+ value: ESignDateSignedOffsetSettings;
4
+ done: (value: ESignDateSignedOffsetSettings) => void;
5
+ }
6
+ type Listener = (request: ESignOffsetRequest) => void;
7
+ export declare const onESignOffsetRequest: (listener: Listener) => () => void;
8
+ export declare const emitESignOffsetRequest: (request: ESignOffsetRequest) => void;
9
+ export {};
10
+ //# sourceMappingURL=eSignOffsetController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eSignOffsetController.d.ts","sourceRoot":"","sources":["../../src/e-sign-offset/eSignOffsetController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAErE,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,6BAA6B,CAAC;IACrC,IAAI,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;CACxD;AAED,KAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAMtD,eAAO,MAAM,oBAAoB,GAAI,UAAU,QAAQ,eActD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,SAAS,kBAAkB,SASjE,CAAC"}
@@ -0,0 +1,27 @@
1
+ const E_SIGN_OFFSET_EVENT = 'dte:e-sign-offset';
2
+ const eSignOffsetEvents = new EventTarget();
3
+ let activeListeners = 0;
4
+ export const onESignOffsetRequest = (listener)=>{
5
+ const handler = (event)=>{
6
+ if (event instanceof CustomEvent && event.detail) {
7
+ listener(event.detail);
8
+ }
9
+ };
10
+ activeListeners += 1;
11
+ eSignOffsetEvents.addEventListener(E_SIGN_OFFSET_EVENT, handler);
12
+ return ()=>{
13
+ activeListeners = Math.max(0, activeListeners - 1);
14
+ eSignOffsetEvents.removeEventListener(E_SIGN_OFFSET_EVENT, handler);
15
+ };
16
+ };
17
+ export const emitESignOffsetRequest = (request)=>{
18
+ if (activeListeners === 0) {
19
+ request.done(request.value);
20
+ return;
21
+ }
22
+ eSignOffsetEvents.dispatchEvent(new CustomEvent(E_SIGN_OFFSET_EVENT, {
23
+ detail: request
24
+ }));
25
+ };
26
+
27
+ //# sourceMappingURL=eSignOffsetController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/e-sign-offset/eSignOffsetController.ts"],"sourcesContent":["import type { ESignDateSignedOffsetSettings } from '../shared/const';\n\nexport interface ESignOffsetRequest {\n value: ESignDateSignedOffsetSettings;\n done: (value: ESignDateSignedOffsetSettings) => void;\n}\n\ntype Listener = (request: ESignOffsetRequest) => void;\n\nconst E_SIGN_OFFSET_EVENT = 'dte:e-sign-offset';\nconst eSignOffsetEvents = new EventTarget();\nlet activeListeners = 0;\n\nexport const onESignOffsetRequest = (listener: Listener) => {\n const handler = (event: Event) => {\n if (event instanceof CustomEvent && event.detail) {\n listener(event.detail);\n }\n };\n\n activeListeners += 1;\n eSignOffsetEvents.addEventListener(E_SIGN_OFFSET_EVENT, handler);\n\n return () => {\n activeListeners = Math.max(0, activeListeners - 1);\n eSignOffsetEvents.removeEventListener(E_SIGN_OFFSET_EVENT, handler);\n };\n};\n\nexport const emitESignOffsetRequest = (request: ESignOffsetRequest) => {\n if (activeListeners === 0) {\n request.done(request.value);\n return;\n }\n\n eSignOffsetEvents.dispatchEvent(\n new CustomEvent<ESignOffsetRequest>(E_SIGN_OFFSET_EVENT, { detail: request }),\n );\n};\n"],"names":["E_SIGN_OFFSET_EVENT","eSignOffsetEvents","EventTarget","activeListeners","onESignOffsetRequest","listener","handler","event","CustomEvent","detail","addEventListener","Math","max","removeEventListener","emitESignOffsetRequest","request","done","value","dispatchEvent"],"mappings":"AASA,MAAMA,sBAAsB;AAC5B,MAAMC,oBAAoB,IAAIC;AAC9B,IAAIC,kBAAkB;AAEtB,OAAO,MAAMC,uBAAuB,CAACC;IACjC,MAAMC,UAAU,CAACC;QACb,IAAIA,iBAAiBC,eAAeD,MAAME,MAAM,EAAE;YAC9CJ,SAASE,MAAME,MAAM;QACzB;IACJ;IAEAN,mBAAmB;IACnBF,kBAAkBS,gBAAgB,CAACV,qBAAqBM;IAExD,OAAO;QACHH,kBAAkBQ,KAAKC,GAAG,CAAC,GAAGT,kBAAkB;QAChDF,kBAAkBY,mBAAmB,CAACb,qBAAqBM;IAC/D;AACJ,EAAE;AAEF,OAAO,MAAMQ,yBAAyB,CAACC;IACnC,IAAIZ,oBAAoB,GAAG;QACvBY,QAAQC,IAAI,CAACD,QAAQE,KAAK;QAC1B;IACJ;IAEAhB,kBAAkBiB,aAAa,CAC3B,IAAIV,YAAgCR,qBAAqB;QAAES,QAAQM;IAAQ;AAEnF,EAAE"}