@servicetitan/dte-pdf-editor 1.40.0 → 1.41.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 (41) hide show
  1. package/dist/components/display-conditions/condition-group.d.ts +4 -1
  2. package/dist/components/display-conditions/condition-group.d.ts.map +1 -1
  3. package/dist/components/display-conditions/condition-group.js +6 -20
  4. package/dist/components/display-conditions/condition-group.js.map +1 -1
  5. package/dist/components/display-conditions/condition-groups-section.d.ts +2 -1
  6. package/dist/components/display-conditions/condition-groups-section.d.ts.map +1 -1
  7. package/dist/components/display-conditions/condition-groups-section.js +4 -9
  8. package/dist/components/display-conditions/condition-groups-section.js.map +1 -1
  9. package/dist/components/display-conditions/condition-row.d.ts.map +1 -1
  10. package/dist/components/display-conditions/condition-row.js +1 -1
  11. package/dist/components/display-conditions/condition-row.js.map +1 -1
  12. package/dist/components/display-conditions/display-condition-modal.d.ts.map +1 -1
  13. package/dist/components/display-conditions/display-condition-modal.js +41 -8
  14. package/dist/components/display-conditions/display-condition-modal.js.map +1 -1
  15. package/dist/components/field-sidebar/field-sidebar.d.ts +2 -1
  16. package/dist/components/field-sidebar/field-sidebar.d.ts.map +1 -1
  17. package/dist/components/field-sidebar/field-sidebar.js +9 -3
  18. package/dist/components/field-sidebar/field-sidebar.js.map +1 -1
  19. package/dist/components/pdf-editor/pdf-editor.d.ts +2 -1
  20. package/dist/components/pdf-editor/pdf-editor.d.ts.map +1 -1
  21. package/dist/components/pdf-editor/pdf-editor.js +2 -2
  22. package/dist/components/pdf-editor/pdf-editor.js.map +1 -1
  23. package/dist/constants/conditions.constants.d.ts +5 -0
  24. package/dist/constants/conditions.constants.d.ts.map +1 -1
  25. package/dist/constants/conditions.constants.js +5 -0
  26. package/dist/constants/conditions.constants.js.map +1 -1
  27. package/dist/interface/types.d.ts +0 -1
  28. package/dist/interface/types.d.ts.map +1 -1
  29. package/dist/utils/conditions/schema-data-points.utils.d.ts.map +1 -1
  30. package/dist/utils/conditions/schema-data-points.utils.js +0 -2
  31. package/dist/utils/conditions/schema-data-points.utils.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/components/display-conditions/condition-group.tsx +26 -53
  34. package/src/components/display-conditions/condition-groups-section.tsx +13 -27
  35. package/src/components/display-conditions/condition-row.tsx +0 -1
  36. package/src/components/display-conditions/display-condition-modal.tsx +78 -18
  37. package/src/components/field-sidebar/field-sidebar.tsx +11 -3
  38. package/src/components/pdf-editor/pdf-editor.tsx +4 -1
  39. package/src/constants/conditions.constants.ts +6 -0
  40. package/src/interface/types.ts +0 -1
  41. package/src/utils/conditions/schema-data-points.utils.ts +0 -2
@@ -1,11 +1,14 @@
1
1
  import type { DataPointOption, DisplayConditionGroup } from '../../interface/types';
2
2
  export interface ConditionGroupProps {
3
3
  canDelete: boolean;
4
+ conditionJoinOperator: 'and' | 'or';
4
5
  dataPointOptions: DataPointOption[];
5
6
  group: DisplayConditionGroup;
6
7
  onDelete: () => void;
7
8
  onUpdate: (g: DisplayConditionGroup) => void;
8
9
  ruleIndex: number;
10
+ /** When 1, the UI hides the per-rule title (single-rule layout). */
11
+ totalRuleCount: number;
9
12
  }
10
- export declare function ConditionGroup({ canDelete, dataPointOptions, group, onDelete, onUpdate, ruleIndex, }: Readonly<ConditionGroupProps>): import("react/jsx-runtime").JSX.Element;
13
+ export declare function ConditionGroup({ canDelete, conditionJoinOperator, dataPointOptions, group, onDelete, onUpdate, ruleIndex, totalRuleCount, }: Readonly<ConditionGroupProps>): import("react/jsx-runtime").JSX.Element;
11
14
  //# sourceMappingURL=condition-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-group.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-group.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,eAAe,EACf,qBAAqB,EAExB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC3B,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,GACZ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,2CAgH/B"}
1
+ {"version":3,"file":"condition-group.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-group.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,eAAe,EACf,qBAAqB,EAExB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,EAAE,KAAK,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,cAAc,CAAC,EAC3B,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,GACjB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,2CAgF/B"}
@@ -1,21 +1,21 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { Button, Flex, SegmentedControl, Text } from '@servicetitan/anvil2';
2
+ import { Button, Flex, Text } from '@servicetitan/anvil2';
3
3
  import PlusIcon from '@servicetitan/anvil2/assets/icons/material/round/add.svg';
4
4
  import TrashIcon from '@servicetitan/anvil2/assets/icons/material/round/delete.svg';
5
5
  import { useCallback } from 'react';
6
6
  import { defaultCondition } from '../../constants';
7
7
  import { ConditionRow } from './condition-row';
8
- export function ConditionGroup({ canDelete, dataPointOptions, group, onDelete, onUpdate, ruleIndex, }) {
8
+ export function ConditionGroup({ canDelete, conditionJoinOperator, dataPointOptions, group, onDelete, onUpdate, ruleIndex, totalRuleCount, }) {
9
9
  const addCondition = useCallback(() => {
10
10
  const newCondition = {
11
11
  ...defaultCondition(),
12
- logicalOperator: 'and',
12
+ logicalOperator: conditionJoinOperator,
13
13
  };
14
14
  onUpdate({
15
15
  ...group,
16
16
  conditions: [...group.conditions, newCondition],
17
17
  });
18
- }, [group, onUpdate]);
18
+ }, [conditionJoinOperator, group, onUpdate]);
19
19
  const updateCondition = useCallback((index, c) => {
20
20
  const next = [...group.conditions];
21
21
  next[index] = c;
@@ -32,21 +32,7 @@ export function ConditionGroup({ canDelete, dataPointOptions, group, onDelete, o
32
32
  conditions: next.length ? next : [defaultCondition()],
33
33
  });
34
34
  }, [group, onUpdate]);
35
- const handleLogicalOperatorChange = useCallback((conditionIndex, value) => {
36
- const next = [...group.conditions];
37
- next[conditionIndex] = {
38
- ...next[conditionIndex],
39
- logicalOperator: value,
40
- };
41
- onUpdate({ ...group, conditions: next });
42
- }, [group, onUpdate]);
43
- return (_jsxs(Flex, { direction: "column", gap: "2", flex: 1, children: [_jsxs(Flex, { direction: "row", alignItems: "center", justifyContent: "space-between", flex: 1, children: [_jsxs(Text, { size: "medium", variant: "body", style: { fontWeight: 'bold' }, children: ["Rule ", ruleIndex + 1] }), canDelete && (_jsx(Button, { appearance: "ghost", "aria-label": "Delete rule", icon: { before: TrashIcon }, size: "large", onClick: onDelete }))] }), _jsxs(Flex, { direction: "column", gap: "3", flex: 1, style: {
44
- border: '1px solid #e0e0e0',
45
- borderRadius: 8,
46
- padding: 12,
47
- }, children: [group.conditions.map((c, i) => {
48
- var _a;
49
- return (_jsxs(Flex, { direction: "column", gap: "3", style: { padding: '8px 0' }, children: [i > 0 && (_jsx(Flex, { justifyContent: "center", alignItems: "center", gap: "2", children: _jsxs(SegmentedControl, { selected: (_a = c.logicalOperator) !== null && _a !== void 0 ? _a : 'and', onChange: (v) => handleLogicalOperatorChange(i, v), children: [_jsx(SegmentedControl.Segment, { value: "and", children: "And" }), _jsx(SegmentedControl.Segment, { value: "or", children: "Or" })] }) })), _jsx(ConditionRow, { canRemove: true, condition: c, dataPointOptions: dataPointOptions, onRemove: () => removeCondition(i), onChange: next => updateCondition(i, next) })] }, c.id));
50
- }), _jsx(Flex, { justifyContent: "center", flex: 1, style: { paddingTop: 8 }, children: _jsx(Button, { appearance: "secondary", icon: { before: PlusIcon }, onClick: addCondition, children: "Add Condition" }) })] })] }));
35
+ const showRuleHeading = totalRuleCount > 1;
36
+ return (_jsxs(Flex, { direction: "column", gap: "2", flex: 1, children: [showRuleHeading && (_jsxs(Flex, { direction: "row", alignItems: "center", justifyContent: "space-between", flex: 1, children: [_jsxs(Text, { size: "medium", variant: "body", style: { fontWeight: 'bold' }, children: ["Rule ", ruleIndex + 1] }), canDelete && (_jsx(Button, { appearance: "ghost", "aria-label": "Delete rule", icon: { before: TrashIcon }, size: "large", onClick: onDelete }))] })), _jsxs(Flex, { direction: "column", gap: "3", flex: 1, children: [group.conditions.map((c, i) => (_jsx(Flex, { direction: "column", gap: "3", style: { padding: '8px 0' }, children: _jsx(ConditionRow, { canRemove: true, condition: c, dataPointOptions: dataPointOptions, onRemove: () => removeCondition(i), onChange: next => updateCondition(i, next) }) }, c.id))), _jsx(Flex, { justifyContent: "center", flex: 1, style: { paddingTop: 8 }, children: _jsx(Button, { appearance: "secondary", icon: { before: PlusIcon }, onClick: addCondition, children: "Add Condition" }) })] })] }));
51
37
  }
52
38
  //# sourceMappingURL=condition-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-group.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-group.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"condition-group.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,QAAQ,MAAM,0DAA0D,CAAC;AAChF,OAAO,SAAS,MAAM,6DAA6D,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C,MAAM,UAAU,cAAc,CAAC,EAC3B,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,GACc;IAC5B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,MAAM,YAAY,GAA2B;YACzC,GAAG,gBAAgB,EAAE;YACrB,eAAe,EAAE,qBAAqB;SACzC,CAAC;QACF,QAAQ,CAAC;YACL,GAAG,KAAK;YACR,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;SAClD,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,WAAW,CAC/B,CAAC,KAAa,EAAE,CAAyB,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC,EACD,CAAC,KAAK,EAAE,QAAQ,CAAC,CACpB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAC/B,CAAC,KAAa,EAAE,EAAE;QACd,IAAI,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,GAAG,CAAC,IAA8B,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,QAAQ,CAAC;YACL,GAAG,KAAK;YACR,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;SACxD,CAAC,CAAC;IACP,CAAC,EACD,CAAC,KAAK,EAAE,QAAQ,CAAC,CACpB,CAAC;IAEF,MAAM,eAAe,GAAG,cAAc,GAAG,CAAC,CAAC;IAE3C,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAE,CAAC,aACnC,eAAe,IAAI,CAChB,MAAC,IAAI,IAAC,SAAS,EAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,eAAe,EAAC,IAAI,EAAE,CAAC,aAC5E,MAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,sBACtD,SAAS,GAAG,CAAC,IAChB,EACN,SAAS,IAAI,CACV,KAAC,MAAM,IACH,UAAU,EAAC,OAAO,gBACP,aAAa,EACxB,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAC3B,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,QAAQ,GACnB,CACL,IACE,CACV,EACD,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAE,CAAC,aACnC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,KAAC,IAAI,IAAY,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YACnE,KAAC,YAAY,IACT,SAAS,QACT,SAAS,EAAE,CAAC,EACZ,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAClC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAC5C,IAPK,CAAC,CAAC,EAAE,CAQR,CACV,CAAC,EACF,KAAC,IAAI,IAAC,cAAc,EAAC,QAAQ,EAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAC3D,KAAC,MAAM,IACH,UAAU,EAAC,WAAW,EACtB,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAC1B,OAAO,EAAE,YAAY,8BAGhB,GACN,IACJ,IACJ,CACV,CAAC;AACN,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import type { DataPointOption, DisplayConditionGroup } from '../../interface/types';
2
2
  export interface ConditionGroupsSectionProps {
3
+ conditionJoinOperator: 'and' | 'or';
3
4
  dataPointOptions: DataPointOption[];
4
5
  groups: DisplayConditionGroup[];
5
6
  onAddGroup: () => void;
6
7
  onRemoveGroup: (index: number) => void;
7
8
  onUpdateGroup: (index: number, group: DisplayConditionGroup) => void;
8
9
  }
9
- export declare function ConditionGroupsSection({ dataPointOptions, groups, onAddGroup, onRemoveGroup, onUpdateGroup, }: Readonly<ConditionGroupsSectionProps>): import("react/jsx-runtime").JSX.Element;
10
+ export declare function ConditionGroupsSection({ conditionJoinOperator, dataPointOptions, groups, onAddGroup, onRemoveGroup, onUpdateGroup, }: Readonly<ConditionGroupsSectionProps>): import("react/jsx-runtime").JSX.Element;
10
11
  //# sourceMappingURL=condition-groups-section.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-groups-section.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-groups-section.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGpF,MAAM,WAAW,2BAA2B;IACxC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACxE;AAED,wBAAgB,sBAAsB,CAAC,EACnC,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,aAAa,EACb,aAAa,GAChB,EAAE,QAAQ,CAAC,2BAA2B,CAAC,2CA2CvC"}
1
+ {"version":3,"file":"condition-groups-section.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-groups-section.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGpF,MAAM,WAAW,2BAA2B;IACxC,qBAAqB,EAAE,KAAK,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACxE;AAED,wBAAgB,sBAAsB,CAAC,EACnC,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,aAAa,EACb,aAAa,GAChB,EAAE,QAAQ,CAAC,2BAA2B,CAAC,2CA0BvC"}
@@ -1,14 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Flex, SegmentedControl } from '@servicetitan/anvil2';
2
+ import { Button, Flex } from '@servicetitan/anvil2';
3
3
  import PlusIcon from '@servicetitan/anvil2/assets/icons/material/round/add.svg';
4
+ import { MAX_DISPLAY_CONDITION_RULES_UI } from '../../constants';
4
5
  import { ConditionGroup } from './condition-group';
5
- export function ConditionGroupsSection({ dataPointOptions, groups, onAddGroup, onRemoveGroup, onUpdateGroup, }) {
6
- return (_jsxs(Flex, { direction: "column", gap: "4", children: [groups.map((group, index) => {
7
- var _a;
8
- return (_jsxs(Flex, { direction: "column", gap: "3", children: [index > 0 && (_jsx(Flex, { justifyContent: "center", alignItems: "center", gap: "2", style: { padding: '12px' }, children: _jsxs(SegmentedControl, { selected: (_a = group.logicalOperator) !== null && _a !== void 0 ? _a : 'and', onChange: (value) => onUpdateGroup(index, {
9
- ...group,
10
- logicalOperator: value,
11
- }), children: [_jsx(SegmentedControl.Segment, { value: "and", children: "And" }), _jsx(SegmentedControl.Segment, { value: "or", children: "Or" })] }) })), _jsx(ConditionGroup, { canDelete: groups.length > 1, dataPointOptions: dataPointOptions, group: group, onDelete: () => onRemoveGroup(index), onUpdate: g => onUpdateGroup(index, g), ruleIndex: index })] }, group.id));
12
- }), _jsx(Flex, { justifyContent: "center", flex: 1, style: { paddingTop: 8 }, children: _jsx(Button, { appearance: "secondary", icon: { before: PlusIcon }, onClick: onAddGroup, children: "Add Rule" }) })] }));
6
+ export function ConditionGroupsSection({ conditionJoinOperator, dataPointOptions, groups, onAddGroup, onRemoveGroup, onUpdateGroup, }) {
7
+ return (_jsxs(Flex, { direction: "column", gap: "4", children: [groups.map((group, index) => (_jsx(Flex, { direction: "column", gap: "3", children: _jsx(ConditionGroup, { canDelete: groups.length > 1, conditionJoinOperator: conditionJoinOperator, dataPointOptions: dataPointOptions, group: group, onDelete: () => onRemoveGroup(index), onUpdate: g => onUpdateGroup(index, g), ruleIndex: index, totalRuleCount: groups.length }) }, group.id))), groups.length < MAX_DISPLAY_CONDITION_RULES_UI && (_jsx(Flex, { justifyContent: "center", flex: 1, style: { paddingTop: 8 }, children: _jsx(Button, { appearance: "secondary", icon: { before: PlusIcon }, onClick: onAddGroup, children: "Add Rule" }) }))] }));
13
8
  }
14
9
  //# sourceMappingURL=condition-groups-section.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-groups-section.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-groups-section.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,QAAQ,MAAM,0DAA0D,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUnD,MAAM,UAAU,sBAAsB,CAAC,EACnC,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,aAAa,EACb,aAAa,GACuB;IACpC,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,aAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;gBAAC,OAAA,CAC1B,MAAC,IAAI,IAAgB,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,aAC1C,KAAK,GAAG,CAAC,IAAI,CACV,KAAC,IAAI,IACD,cAAc,EAAC,QAAQ,EACvB,UAAU,EAAC,QAAQ,EACnB,GAAG,EAAC,GAAG,EACP,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,YAE1B,MAAC,gBAAgB,IACb,QAAQ,EAAE,MAAA,KAAK,CAAC,eAAe,mCAAI,KAAK,EACxC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CACxB,aAAa,CAAC,KAAK,EAAE;oCACjB,GAAG,KAAK;oCACR,eAAe,EAAE,KAAqB;iCACzC,CAAC,aAGN,KAAC,gBAAgB,CAAC,OAAO,IAAC,KAAK,EAAC,KAAK,oBAA+B,EACpE,KAAC,gBAAgB,CAAC,OAAO,IAAC,KAAK,EAAC,IAAI,mBAA8B,IACnD,GAChB,CACV,EACD,KAAC,cAAc,IACX,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE,KAAK,GAClB,KA7BK,KAAK,CAAC,EAAE,CA8BZ,CACV,CAAA;aAAA,CAAC,EACF,KAAC,IAAI,IAAC,cAAc,EAAC,QAAQ,EAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAC3D,KAAC,MAAM,IAAC,UAAU,EAAC,WAAW,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,yBAErE,GACN,IACJ,CACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"condition-groups-section.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-groups-section.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,QAAQ,MAAM,0DAA0D,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAWnD,MAAM,UAAU,sBAAsB,CAAC,EACnC,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,aAAa,EACb,aAAa,GACuB;IACpC,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,aAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,KAAC,IAAI,IAAgB,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,YAC3C,KAAC,cAAc,IACX,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAC5B,qBAAqB,EAAE,qBAAqB,EAC5C,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE,KAAK,EAChB,cAAc,EAAE,MAAM,CAAC,MAAM,GAC/B,IAVK,KAAK,CAAC,EAAE,CAWZ,CACV,CAAC,EACD,MAAM,CAAC,MAAM,GAAG,8BAA8B,IAAI,CAC/C,KAAC,IAAI,IAAC,cAAc,EAAC,QAAQ,EAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAC3D,KAAC,MAAM,IAAC,UAAU,EAAC,WAAW,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,yBAErE,GACN,CACV,IACE,CACV,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"condition-row.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-row.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,eAAe,EACf,sBAAsB,EAIzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAqBD,wBAAgB,YAAY,CAAC,EACzB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,QAAQ,GACX,EAAE,QAAQ,CAAC,iBAAiB,CAAC,2CAyI7B"}
1
+ {"version":3,"file":"condition-row.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-row.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,eAAe,EACf,sBAAsB,EAIzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAqBD,wBAAgB,YAAY,CAAC,EACzB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,QAAQ,GACX,EAAE,QAAQ,CAAC,iBAAiB,CAAC,2CAwI7B"}
@@ -47,7 +47,7 @@ export function ConditionRow({ canRemove, condition, dataPointOptions, onChange,
47
47
  };
48
48
  return (_jsxs(Flex, { direction: "row", alignItems: "flex-end", gap: "2", flex: 1, children: [_jsx(Flex, { alignItems: "flex-end", style: {
49
49
  padding: '8px 12px',
50
- }, children: _jsx(Chip, { label: "IF", size: "medium" }) }), _jsx(Flex, { flex: 1, children: _jsxs(Combobox, { flex: 1, groupBy: "group", itemToKey: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.fullKey) !== null && _a !== void 0 ? _a : ''; }, itemToString: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.title) !== null && _a !== void 0 ? _a : ''; }, items: dataPointOptions, selectedItem: selectedDataPoint, onChange: handleDataPointChange, children: [_jsx(Combobox.SelectTrigger, { label: "Data point", placeholder: "Select data point..." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { index: i, item: item, children: item.title }, item.fullKey))) })) })] }) }), _jsx(Flex, { flex: 1, children: _jsxs(Combobox, { flex: 1, itemToKey: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.value) !== null && _a !== void 0 ? _a : ''; }, itemToString: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.label) !== null && _a !== void 0 ? _a : ''; }, items: operatorItems, selectedItem: selectedOperator, onChange: (item) => {
50
+ }, children: _jsx(Chip, { label: "IF", size: "medium" }) }), _jsx(Flex, { flex: 1, children: _jsxs(Combobox, { flex: 1, itemToKey: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.fullKey) !== null && _a !== void 0 ? _a : ''; }, itemToString: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.title) !== null && _a !== void 0 ? _a : ''; }, items: dataPointOptions, selectedItem: selectedDataPoint, onChange: handleDataPointChange, children: [_jsx(Combobox.SelectTrigger, { label: "Data point", placeholder: "Select data point..." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { index: i, item: item, children: item.title }, item.fullKey))) })) })] }) }), _jsx(Flex, { flex: 1, children: _jsxs(Combobox, { flex: 1, itemToKey: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.value) !== null && _a !== void 0 ? _a : ''; }, itemToString: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.label) !== null && _a !== void 0 ? _a : ''; }, items: operatorItems, selectedItem: selectedOperator, onChange: (item) => {
51
51
  var _a;
52
52
  return onChange({
53
53
  ...condition,
@@ -1 +1 @@
1
- {"version":3,"file":"condition-row.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-row.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"condition-row.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-row.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-condition-modal.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/display-condition-modal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAS3F,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,YAAY,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,yDAAyD;IACzD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,wEAAwE;IACxE,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,EAClC,cAAc,EACd,YAAY,EACZ,OAAO,EACP,MAAM,EACN,MAAM,GACT,EAAE,0BAA0B,2CAuJ5B"}
1
+ {"version":3,"file":"display-condition-modal.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/display-condition-modal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AA4C3F,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,YAAY,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,yDAAyD;IACzD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,wEAAwE;IACxE,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,EAClC,cAAc,EACd,YAAY,EACZ,OAAO,EACP,MAAM,EACN,MAAM,GACT,EAAE,0BAA0B,2CAgL5B"}
@@ -1,32 +1,61 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Dialog, Divider, Flex, SegmentedControl, Text } from '@servicetitan/anvil2';
2
+ import { Button, Chip, Dialog, Flex, SegmentedControl, Text } from '@servicetitan/anvil2';
3
3
  import { useCallback, useMemo, useState } from 'react';
4
4
  import { defaultGroup, defaultState, MODAL_CONTENT_MAX_HEIGHT } from '../../constants';
5
5
  import { getDataPointOptions, isValidNumber } from '../../utils';
6
6
  import { ConditionGroupsSection } from './condition-groups-section';
7
+ const deriveConditionMatchType = (conditionState) => {
8
+ var _a;
9
+ for (let g = 0; g < conditionState.groups.length; g++) {
10
+ const group = conditionState.groups[g];
11
+ if (g > 0 && group.logicalOperator === 'or') {
12
+ return 'or';
13
+ }
14
+ for (let i = 1; i < group.conditions.length; i++) {
15
+ if (((_a = group.conditions[i]) === null || _a === void 0 ? void 0 : _a.logicalOperator) === 'or') {
16
+ return 'or';
17
+ }
18
+ }
19
+ }
20
+ return 'and';
21
+ };
22
+ const applyConditionMatchType = (conditionState, matchType) => {
23
+ return {
24
+ ...conditionState,
25
+ groups: conditionState.groups.map((group, groupIndex) => ({
26
+ ...group,
27
+ ...(groupIndex > 0 ? { logicalOperator: matchType } : {}),
28
+ conditions: group.conditions.map((c, i) => i === 0
29
+ ? { ...c, logicalOperator: undefined }
30
+ : { ...c, logicalOperator: matchType }),
31
+ })),
32
+ };
33
+ };
7
34
  const BEHAVIOR_OPTIONS = [
8
35
  { label: 'Show', value: 'show' },
9
36
  { label: 'Hide', value: 'hide' },
10
37
  ];
11
38
  export function DisplayConditionModal({ documentFields, initialState, onClose, onSave, schema, }) {
12
39
  const [state, setState] = useState(() => { var _a; return ((_a = initialState === null || initialState === void 0 ? void 0 : initialState.groups) === null || _a === void 0 ? void 0 : _a.length) ? initialState : defaultState(); });
40
+ const [matchType, setMatchType] = useState(() => { var _a; return deriveConditionMatchType(((_a = initialState === null || initialState === void 0 ? void 0 : initialState.groups) === null || _a === void 0 ? void 0 : _a.length) ? initialState : defaultState()); });
13
41
  const dataPointOptions = useMemo(() => getDataPointOptions(schema, documentFields), [schema, documentFields]);
14
42
  const handleClose = useCallback(() => {
15
43
  onClose();
16
44
  }, [onClose]);
17
45
  const handleSave = useCallback(() => {
18
- const hasValidGroup = state.groups.some(group => group.conditions.some(c => c.dataPointKey &&
46
+ const finalState = applyConditionMatchType(state, matchType);
47
+ const hasValidGroup = finalState.groups.some(group => group.conditions.some(c => c.dataPointKey &&
19
48
  (c.operator === 'is_empty' ||
20
49
  c.operator === 'is_not_empty' ||
21
50
  c.value.trim() !== '')));
22
51
  if (hasValidGroup) {
23
- onSave(state);
52
+ onSave(finalState);
24
53
  }
25
54
  else {
26
55
  onSave(null);
27
56
  }
28
57
  onClose();
29
- }, [onSave, state, onClose]);
58
+ }, [onSave, state, matchType, onClose]);
30
59
  const updateGroup = useCallback((index, group) => {
31
60
  setState(prev => {
32
61
  const next = [...prev.groups];
@@ -53,12 +82,16 @@ export function DisplayConditionModal({ documentFields, initialState, onClose, o
53
82
  const addGroup = useCallback(() => {
54
83
  setState(prev => ({
55
84
  ...prev,
56
- groups: [...prev.groups, { ...defaultGroup(), logicalOperator: 'and' }],
85
+ groups: [...prev.groups, { ...defaultGroup(), logicalOperator: matchType }],
57
86
  }));
58
- }, []);
87
+ }, [matchType]);
59
88
  const handleBehaviorChange = useCallback((behavior) => {
60
89
  setState(prev => ({ ...prev, behavior }));
61
90
  }, []);
91
+ const handleConditionMatchTypeChange = useCallback((value) => {
92
+ setMatchType(value);
93
+ setState(prev => applyConditionMatchType(prev, value));
94
+ }, []);
62
95
  const canSave = useMemo(() => {
63
96
  var _a, _b;
64
97
  for (const group of state.groups) {
@@ -81,9 +114,9 @@ export function DisplayConditionModal({ documentFields, initialState, onClose, o
81
114
  }
82
115
  return state.groups.length > 0;
83
116
  }, [dataPointOptions, state.groups]);
84
- return (_jsxs(Dialog, { open: true, onClose: handleClose, size: "xlarge", children: [_jsx(Dialog.Header, { children: "Rules and Conditions" }), _jsx(Dialog.Content, { children: _jsxs(Flex, { direction: "column", gap: "6", flex: 1, style: {
117
+ return (_jsxs(Dialog, { open: true, onClose: handleClose, size: "xlarge", children: [_jsx(Dialog.Header, { children: "Conditions" }), _jsx(Dialog.Content, { children: _jsxs(Flex, { direction: "column", gap: "6", flex: 1, style: {
85
118
  maxHeight: MODAL_CONTENT_MAX_HEIGHT,
86
119
  overflowY: 'auto',
87
- }, children: [_jsxs(Flex, { direction: "column", gap: "3", children: [_jsx(Text, { size: "medium", variant: "body", style: { fontWeight: 'bold' }, children: "When conditions are met:" }), _jsxs(Flex, { direction: "row", alignItems: "center", gap: "3", children: [_jsx(Text, { size: "small", subdued: true, variant: "body", children: "Select to show or hide this field." }), _jsx(SegmentedControl, { size: "small", selected: state.behavior, onChange: handleBehaviorChange, children: BEHAVIOR_OPTIONS.map(opt => (_jsx(SegmentedControl.Segment, { value: opt.value, children: opt.label }, opt.value))) })] })] }), _jsx(Divider, {}), _jsx(ConditionGroupsSection, { dataPointOptions: dataPointOptions, groups: state.groups, onAddGroup: addGroup, onRemoveGroup: removeGroup, onUpdateGroup: updateGroup }), !canSave && (_jsx(Text, { size: "small", subdued: true, variant: "body", children: "Complete each condition before saving. Data point and value are required, and numeric fields must contain a valid number." }))] }) }), _jsxs(Dialog.Footer, { sticky: true, children: [_jsx(Dialog.CancelButton, { onClick: handleClose, children: "Cancel" }), _jsx(Button, { appearance: "primary", disabled: !canSave, onClick: handleSave, children: "Save Changes" })] })] }));
120
+ }, children: [_jsxs(Flex, { direction: "column", gap: "3", children: [_jsxs(Flex, { direction: "row", alignItems: "center", gap: "2", style: { flexWrap: 'wrap' }, children: [_jsx(Text, { size: "medium", variant: "body", style: { fontWeight: 'bold' }, children: "When" }), _jsxs(SegmentedControl, { size: "small", selected: matchType, onChange: handleConditionMatchTypeChange, children: [_jsx(SegmentedControl.Segment, { value: "and", children: "All" }), _jsx(SegmentedControl.Segment, { value: "or", children: "Any" })] }), _jsx(Text, { size: "medium", variant: "body", style: { fontWeight: 'bold' }, children: "of the" }), _jsx(Chip, { label: "IF", size: "small" }), _jsx(Text, { size: "medium", variant: "body", style: { fontWeight: 'bold' }, children: "conditions are met" })] }), _jsxs(Flex, { direction: "row", alignItems: "center", gap: "3", children: [_jsx(Text, { size: "small", subdued: true, variant: "body", children: "Select to include or exclude selected template/file." }), _jsx(SegmentedControl, { size: "small", selected: state.behavior, onChange: handleBehaviorChange, children: BEHAVIOR_OPTIONS.map(opt => (_jsx(SegmentedControl.Segment, { value: opt.value, children: opt.label }, opt.value))) })] })] }), _jsx(ConditionGroupsSection, { conditionJoinOperator: matchType, dataPointOptions: dataPointOptions, groups: state.groups, onAddGroup: addGroup, onRemoveGroup: removeGroup, onUpdateGroup: updateGroup })] }) }), _jsxs(Dialog.Footer, { sticky: true, children: [_jsx(Dialog.CancelButton, { onClick: handleClose, children: "Cancel" }), _jsx(Button, { appearance: "primary", disabled: !canSave, onClick: handleSave, children: "Save Changes" })] })] }));
88
121
  }
89
122
  //# sourceMappingURL=display-condition-modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"display-condition-modal.js","sourceRoot":"","sources":["../../../src/components/display-conditions/display-condition-modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display-condition-modal.js","sourceRoot":"","sources":["../../../src/components/display-conditions/display-condition-modal.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
- import { DataModelFieldGroup, FieldTypeOption } from '../../interface/types';
2
+ import { DataModelFieldGroup, FieldTypeEnum, FieldTypeOption } from '../../interface/types';
3
3
  interface FieldSidebarProps {
4
4
  dataModelGroups?: DataModelFieldGroup[];
5
+ hideFields?: FieldTypeEnum[];
5
6
  onDragEnd(): void;
6
7
  onDragStart(fieldOption: FieldTypeOption): void;
7
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"field-sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/field-sidebar/field-sidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAGrC,OAAO,EAAE,mBAAmB,EAAiB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQ5F,UAAU,iBAAiB;IACvB,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC,SAAS,IAAI,IAAI,CAAC;IAClB,WAAW,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CA6D9C,CAAC"}
1
+ {"version":3,"file":"field-sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/field-sidebar/field-sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAC;AAG9C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQ5F,UAAU,iBAAiB;IACvB,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,SAAS,IAAI,IAAI,CAAC;IAClB,WAAW,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAqE9C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button, Flex, Icon, Text } from '@servicetitan/anvil2';
3
3
  import IconMenuOpen from '@servicetitan/anvil2/assets/icons/material/round/menu_open.svg';
4
- import { useState } from 'react';
4
+ import { useMemo, useState } from 'react';
5
5
  import { menuGroups } from '../../constants';
6
6
  import { useToggle } from '../../hooks';
7
7
  import { FieldTypeEnum } from '../../interface/types';
@@ -11,7 +11,7 @@ import { ESignFieldTypeList } from './e-sign-field-type-list';
11
11
  import { FieldMenuGroup } from './field-menu-group';
12
12
  import { FillableFieldTypeList } from './fillable-field-type-list';
13
13
  import { GenericFieldTypeList } from './generic-field-type-list';
14
- export const FieldSidebar = ({ dataModelGroups = [], onDragEnd, onDragStart, }) => {
14
+ export const FieldSidebar = ({ dataModelGroups = [], hideFields, onDragEnd, onDragStart, }) => {
15
15
  var _a;
16
16
  const [activeFieldType, setActiveFieldType] = useState(FieldTypeEnum.dataModel);
17
17
  const { isOpen, open, toggle } = useToggle(true);
@@ -19,6 +19,12 @@ export const FieldSidebar = ({ dataModelGroups = [], onDragEnd, onDragStart, })
19
19
  setActiveFieldType(activeFieldType);
20
20
  open();
21
21
  };
22
- return (_jsxs(Flex, { className: "dte-field-sidebar-container skeleton-item", children: [_jsx(FieldMenuGroup, { menuGroups: menuGroups, onClickMenu: handleActiveFieldTypeChange, activeFieldKey: activeFieldType }), _jsx(Flex, { className: `dte-field-sidebar-content skeleton-item ${isOpen ? '--open' : ''}`, shrink: 0, children: _jsxs(Flex, { className: "dte-field-sidebar-content-inner", children: [_jsx(Text, { variant: "headline", el: "h1", size: "medium", children: (_a = menuGroups.find(group => group.key === activeFieldType)) === null || _a === void 0 ? void 0 : _a.label }), activeFieldType === FieldTypeEnum.fillable && (_jsx(FillableFieldTypeList, { onDragStart: onDragStart, onDragEnd: onDragEnd })), activeFieldType === FieldTypeEnum.eSign && (_jsx(ESignFieldTypeList, { onDragEnd: onDragEnd, onDragStart: onDragStart })), activeFieldType === FieldTypeEnum.dataModel && (_jsx(DataModelFieldTypeList, { dataModelGroups: dataModelGroups, onDragStart: onDragStart, onDragEnd: onDragEnd })), activeFieldType === FieldTypeEnum.calculated && (_jsx(CalculatedFieldTypeList, { onDragStart: onDragStart, onDragEnd: onDragEnd })), activeFieldType === FieldTypeEnum.generic && (_jsx(GenericFieldTypeList, { onDragStart: onDragStart, onDragEnd: onDragEnd }))] }) }), _jsx(Button, { size: "small", appearance: "ghost", onClick: toggle, className: "dte-field-sidebar-toggler", children: _jsx(Icon, { svg: IconMenuOpen, size: "medium" }) })] }));
22
+ const filteredMenuGroups = useMemo(() => {
23
+ if (hideFields === null || hideFields === void 0 ? void 0 : hideFields.length) {
24
+ return menuGroups.filter(menuGroup => !hideFields.includes(menuGroup.key));
25
+ }
26
+ return menuGroups;
27
+ }, [hideFields]);
28
+ return (_jsxs(Flex, { className: "dte-field-sidebar-container skeleton-item", children: [_jsx(FieldMenuGroup, { menuGroups: filteredMenuGroups, onClickMenu: handleActiveFieldTypeChange, activeFieldKey: activeFieldType }), _jsx(Flex, { className: `dte-field-sidebar-content skeleton-item ${isOpen ? '--open' : ''}`, shrink: 0, children: _jsxs(Flex, { className: "dte-field-sidebar-content-inner", children: [_jsx(Text, { variant: "headline", el: "h1", size: "medium", children: (_a = menuGroups.find(group => group.key === activeFieldType)) === null || _a === void 0 ? void 0 : _a.label }), activeFieldType === FieldTypeEnum.fillable && (_jsx(FillableFieldTypeList, { onDragStart: onDragStart, onDragEnd: onDragEnd })), activeFieldType === FieldTypeEnum.eSign && (_jsx(ESignFieldTypeList, { onDragEnd: onDragEnd, onDragStart: onDragStart })), activeFieldType === FieldTypeEnum.dataModel && (_jsx(DataModelFieldTypeList, { dataModelGroups: dataModelGroups, onDragStart: onDragStart, onDragEnd: onDragEnd })), activeFieldType === FieldTypeEnum.calculated && (_jsx(CalculatedFieldTypeList, { onDragStart: onDragStart, onDragEnd: onDragEnd })), activeFieldType === FieldTypeEnum.generic && (_jsx(GenericFieldTypeList, { onDragStart: onDragStart, onDragEnd: onDragEnd }))] }) }), _jsx(Button, { size: "small", appearance: "ghost", onClick: toggle, className: "dte-field-sidebar-toggler", children: _jsx(Icon, { svg: IconMenuOpen, size: "medium" }) })] }));
23
29
  };
24
30
  //# sourceMappingURL=field-sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-sidebar.js","sourceRoot":"","sources":["../../../src/components/field-sidebar/field-sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-sidebar.js","sourceRoot":"","sources":["../../../src/components/field-sidebar/field-sidebar.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { FC, ReactNode } from 'react';
2
- import { PdfField, RecipientInfo, SchemaObject } from '../../interface/types';
2
+ import { FieldTypeEnum, PdfField, RecipientInfo, SchemaObject } from '../../interface/types';
3
3
  import '../../styles/index.css';
4
4
  export interface PdfEditorProps {
5
5
  pdfUrl: string;
@@ -10,6 +10,7 @@ export interface PdfEditorProps {
10
10
  dataModel?: SchemaObject;
11
11
  recipients?: RecipientInfo[];
12
12
  fields?: PdfField[];
13
+ hideFields?: FieldTypeEnum[];
13
14
  onLoadSuccess?(numPages: number): void;
14
15
  onFieldsChange(fields: PdfField[]): void;
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-editor.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM9E,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA4FxC,CAAC"}
1
+ {"version":3,"file":"pdf-editor.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM7F,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA8FxC,CAAC"}
@@ -7,7 +7,7 @@ import { FieldConfigPanelOverlay } from '../field-config-panel/field-config-pane
7
7
  import { FieldSidebar } from '../field-sidebar/field-sidebar';
8
8
  import { PdfCanvas } from '../pdf-canvas/pdf-canvas';
9
9
  import '../../styles/index.css';
10
- export const PdfEditor = ({ dataModel, errorPlaceholder, errors = {}, fields = [], loading = false, loadingPlaceholder, onFieldsChange, onLoadSuccess, pdfUrl, recipients = [], }) => {
10
+ export const PdfEditor = ({ dataModel, errorPlaceholder, errors = {}, fields = [], hideFields, loading = false, loadingPlaceholder, onFieldsChange, onLoadSuccess, pdfUrl, recipients = [], }) => {
11
11
  const pdfContainerRef = useRef(null);
12
12
  const pdfWrapperRef = useRef(null);
13
13
  const { deleteSelectedField, deselectField, moveField, resizeField, selectField, selectedField, setSelectedFieldId, updateField, } = usePdfFieldSelection(fields, onFieldsChange);
@@ -21,6 +21,6 @@ export const PdfEditor = ({ dataModel, errorPlaceholder, errors = {}, fields = [
21
21
  const dataModelGroups = useMemo(() => (dataModel ? extractGroupedFieldsFromDataModel(dataModel) : []), [dataModel]);
22
22
  const handleAddNewField = useCallback((field) => onFieldsChange([...fields, field]), [fields, onFieldsChange]);
23
23
  const recipientsColors = mapColorsToRecipients(recipients);
24
- return (_jsxs(Flex, { flex: 1, className: `dte-pdf-editor ${loading ? 'skeleton' : ''}`, children: [selectedField && (_jsx(FieldConfigPanelOverlay, { dataModel: dataModel, documentFields: fields, selectedField: selectedField, onFieldConfigChange: updateField, onDeleteField: deleteSelectedField, recipients: recipients, onDeselectField: deselectField })), _jsx(Flex, { className: "dte-pdf-editor-sidebar-container", children: _jsx(FieldSidebar, { dataModelGroups: dataModelGroups, onDragStart: pdfFieldDnd.handleDragStart, onDragEnd: pdfFieldDnd.handleDragEnd }) }), _jsx(Flex, { gap: 12, flex: 1, className: "dte-pdf-editor-content-container skeleton-item", children: _jsx(PdfCanvas, { pdfUrl: pdfUrl, fields: fields, loading: loading, errors: errors, onLoadSuccess: onLoadSuccess, recipientsColors: recipientsColors, selectedField: selectedField, pdfContainerRef: pdfContainerRef, pdfWrapperRef: pdfWrapperRef, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, handleAddNewField: handleAddNewField, onDrop: pdfFieldDnd.handleDrop, onDragOver: pdfFieldDnd.handleDragOver, onFieldClick: selectField, onFieldMove: moveField, onFieldResize: resizeField, onDeselectField: deselectField, onFieldConfigChange: updateField }) })] }));
24
+ return (_jsxs(Flex, { flex: 1, className: `dte-pdf-editor ${loading ? 'skeleton' : ''}`, children: [selectedField && (_jsx(FieldConfigPanelOverlay, { dataModel: dataModel, documentFields: fields, selectedField: selectedField, onFieldConfigChange: updateField, onDeleteField: deleteSelectedField, recipients: recipients, onDeselectField: deselectField })), _jsx(Flex, { className: "dte-pdf-editor-sidebar-container", children: _jsx(FieldSidebar, { hideFields: hideFields, dataModelGroups: dataModelGroups, onDragStart: pdfFieldDnd.handleDragStart, onDragEnd: pdfFieldDnd.handleDragEnd }) }), _jsx(Flex, { gap: 12, flex: 1, className: "dte-pdf-editor-content-container skeleton-item", children: _jsx(PdfCanvas, { pdfUrl: pdfUrl, fields: fields, loading: loading, errors: errors, onLoadSuccess: onLoadSuccess, recipientsColors: recipientsColors, selectedField: selectedField, pdfContainerRef: pdfContainerRef, pdfWrapperRef: pdfWrapperRef, errorPlaceholder: errorPlaceholder, loadingPlaceholder: loadingPlaceholder, handleAddNewField: handleAddNewField, onDrop: pdfFieldDnd.handleDrop, onDragOver: pdfFieldDnd.handleDragOver, onFieldClick: selectField, onFieldMove: moveField, onFieldResize: resizeField, onDeselectField: deselectField, onFieldConfigChange: updateField }) })] }));
25
25
  };
26
26
  //# sourceMappingURL=pdf-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-editor.js","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-editor.js","sourceRoot":"","sources":["../../../src/components/pdf-editor/pdf-editor.tsx"],"names":[],"mappings":"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"}
@@ -3,4 +3,9 @@ export declare const defaultCondition: () => DisplayConditionSingle;
3
3
  export declare const defaultGroup: () => DisplayConditionGroup;
4
4
  export declare const defaultState: () => DisplayConditionState;
5
5
  export declare const MODAL_CONTENT_MAX_HEIGHT = "70vh";
6
+ /**
7
+ * Temporary product limit: the editor UI allows only this many rules (groups).
8
+ * The data model and evaluation still support multiple groups for existing templates.
9
+ */
10
+ export declare const MAX_DISPLAY_CONDITION_RULES_UI = 1;
6
11
  //# sourceMappingURL=conditions.constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.constants.d.ts","sourceRoot":"","sources":["../../src/constants/conditions.constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,gBAAgB,QAAO,sBAKlC,CAAC;AAEH,eAAO,MAAM,YAAY,QAAO,qBAG9B,CAAC;AAEH,eAAO,MAAM,YAAY,QAAO,qBAG9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,SAAS,CAAC"}
1
+ {"version":3,"file":"conditions.constants.d.ts","sourceRoot":"","sources":["../../src/constants/conditions.constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,gBAAgB,QAAO,sBAKlC,CAAC;AAEH,eAAO,MAAM,YAAY,QAAO,qBAG9B,CAAC;AAEH,eAAO,MAAM,YAAY,QAAO,qBAG9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC"}
@@ -14,4 +14,9 @@ export const defaultState = () => ({
14
14
  groups: [defaultGroup()],
15
15
  });
16
16
  export const MODAL_CONTENT_MAX_HEIGHT = '70vh';
17
+ /**
18
+ * Temporary product limit: the editor UI allows only this many rules (groups).
19
+ * The data model and evaluation still support multiple groups for existing templates.
20
+ */
21
+ export const MAX_DISPLAY_CONDITION_RULES_UI = 1;
17
22
  //# sourceMappingURL=conditions.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.constants.js","sourceRoot":"","sources":["../../src/constants/conditions.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAQpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAA2B,EAAE,CAAC,CAAC;IAC3D,YAAY,EAAE,EAAE;IAChB,EAAE,EAAE,MAAM,EAAE;IACZ,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,GAA0B,EAAE,CAAC,CAAC;IACtD,UAAU,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChC,EAAE,EAAE,MAAM,EAAE;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,GAA0B,EAAE,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"conditions.constants.js","sourceRoot":"","sources":["../../src/constants/conditions.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAQpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAA2B,EAAE,CAAC,CAAC;IAC3D,YAAY,EAAE,EAAE;IAChB,EAAE,EAAE,MAAM,EAAE;IACZ,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,GAA0B,EAAE,CAAC,CAAC;IACtD,UAAU,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChC,EAAE,EAAE,MAAM,EAAE;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,GAA0B,EAAE,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC"}
@@ -221,7 +221,6 @@ export declare const VALUE_LESS_OPERATORS: ConditionOperator[];
221
221
  export interface DataPointOption {
222
222
  fieldType: 'number' | 'string';
223
223
  fullKey: string;
224
- group: string;
225
224
  title: string;
226
225
  }
227
226
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interface/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interface/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-data-points.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/conditions/schema-data-points.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EAEf,KAAK,QAAQ,EAEb,KAAK,YAAY,EACpB,MAAM,uBAAuB,CAAC;AA+C/B,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,eAAe,EAAE,CAG7F;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,GAC/B,eAAe,EAAE,CAkBnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,cAAc,EAAE,QAAQ,EAAE,GAAG,SAAS,GACvC,eAAe,EAAE,CAKnB"}
1
+ {"version":3,"file":"schema-data-points.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/conditions/schema-data-points.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EAEf,KAAK,QAAQ,EAEb,KAAK,YAAY,EACpB,MAAM,uBAAuB,CAAC;AA8C/B,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,eAAe,EAAE,CAG7F;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,GAC/B,eAAe,EAAE,CAiBnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,cAAc,EAAE,QAAQ,EAAE,GAAG,SAAS,GACvC,eAAe,EAAE,CAKnB"}
@@ -24,7 +24,6 @@ function walkSchema(schema, prefix, parentTitles) {
24
24
  result.push({
25
25
  fieldType,
26
26
  fullKey,
27
- group: fieldType === 'number' ? 'Numeric Fields' : 'Data Model',
28
27
  title: fullTitle || fullKey,
29
28
  });
30
29
  }
@@ -52,7 +51,6 @@ export function getDocumentFieldsDataPointOptions(fields) {
52
51
  result.push({
53
52
  fieldType,
54
53
  fullKey: f.path,
55
- group: 'Document Fields',
56
54
  title: f.label || f.path,
57
55
  });
58
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema-data-points.utils.js","sourceRoot":"","sources":["../../../src/utils/conditions/schema-data-points.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-data-points.utils.js","sourceRoot":"","sources":["../../../src/utils/conditions/schema-data-points.utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/dte-pdf-editor",
3
- "version": "1.40.0",
3
+ "version": "1.41.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -1,4 +1,4 @@
1
- import { Button, Flex, SegmentedControl, Text } from '@servicetitan/anvil2';
1
+ import { Button, Flex, Text } from '@servicetitan/anvil2';
2
2
  import PlusIcon from '@servicetitan/anvil2/assets/icons/material/round/add.svg';
3
3
  import TrashIcon from '@servicetitan/anvil2/assets/icons/material/round/delete.svg';
4
4
  import { useCallback } from 'react';
@@ -12,31 +12,36 @@ import { ConditionRow } from './condition-row';
12
12
 
13
13
  export interface ConditionGroupProps {
14
14
  canDelete: boolean;
15
+ conditionJoinOperator: 'and' | 'or';
15
16
  dataPointOptions: DataPointOption[];
16
17
  group: DisplayConditionGroup;
17
18
  onDelete: () => void;
18
19
  onUpdate: (g: DisplayConditionGroup) => void;
19
20
  ruleIndex: number;
21
+ /** When 1, the UI hides the per-rule title (single-rule layout). */
22
+ totalRuleCount: number;
20
23
  }
21
24
 
22
25
  export function ConditionGroup({
23
26
  canDelete,
27
+ conditionJoinOperator,
24
28
  dataPointOptions,
25
29
  group,
26
30
  onDelete,
27
31
  onUpdate,
28
32
  ruleIndex,
33
+ totalRuleCount,
29
34
  }: Readonly<ConditionGroupProps>) {
30
35
  const addCondition = useCallback(() => {
31
36
  const newCondition: DisplayConditionSingle = {
32
37
  ...defaultCondition(),
33
- logicalOperator: 'and',
38
+ logicalOperator: conditionJoinOperator,
34
39
  };
35
40
  onUpdate({
36
41
  ...group,
37
42
  conditions: [...group.conditions, newCondition],
38
43
  });
39
- }, [group, onUpdate]);
44
+ }, [conditionJoinOperator, group, onUpdate]);
40
45
 
41
46
  const updateCondition = useCallback(
42
47
  (index: number, c: DisplayConditionSingle) => {
@@ -62,61 +67,29 @@ export function ConditionGroup({
62
67
  [group, onUpdate],
63
68
  );
64
69
 
65
- const handleLogicalOperatorChange = useCallback(
66
- (conditionIndex: number, value: string) => {
67
- const next = [...group.conditions];
68
- next[conditionIndex] = {
69
- ...next[conditionIndex],
70
- logicalOperator: value as 'and' | 'or',
71
- };
72
- onUpdate({ ...group, conditions: next });
73
- },
74
- [group, onUpdate],
75
- );
70
+ const showRuleHeading = totalRuleCount > 1;
76
71
 
77
72
  return (
78
73
  <Flex direction="column" gap="2" flex={1}>
79
- <Flex direction="row" alignItems="center" justifyContent="space-between" flex={1}>
80
- <Text size="medium" variant="body" style={{ fontWeight: 'bold' }}>
81
- Rule {ruleIndex + 1}
82
- </Text>
83
- {canDelete && (
84
- <Button
85
- appearance="ghost"
86
- aria-label="Delete rule"
87
- icon={{ before: TrashIcon }}
88
- size="large"
89
- onClick={onDelete}
90
- />
91
- )}
92
- </Flex>
93
- <Flex
94
- direction="column"
95
- gap="3"
96
- flex={1}
97
- style={{
98
- border: '1px solid #e0e0e0',
99
- borderRadius: 8,
100
- padding: 12,
101
- }}
102
- >
74
+ {showRuleHeading && (
75
+ <Flex direction="row" alignItems="center" justifyContent="space-between" flex={1}>
76
+ <Text size="medium" variant="body" style={{ fontWeight: 'bold' }}>
77
+ Rule {ruleIndex + 1}
78
+ </Text>
79
+ {canDelete && (
80
+ <Button
81
+ appearance="ghost"
82
+ aria-label="Delete rule"
83
+ icon={{ before: TrashIcon }}
84
+ size="large"
85
+ onClick={onDelete}
86
+ />
87
+ )}
88
+ </Flex>
89
+ )}
90
+ <Flex direction="column" gap="3" flex={1}>
103
91
  {group.conditions.map((c, i) => (
104
92
  <Flex key={c.id} direction="column" gap="3" style={{ padding: '8px 0' }}>
105
- {i > 0 && (
106
- <Flex justifyContent="center" alignItems="center" gap="2">
107
- <SegmentedControl
108
- selected={c.logicalOperator ?? 'and'}
109
- onChange={(v: string) => handleLogicalOperatorChange(i, v)}
110
- >
111
- <SegmentedControl.Segment value="and">
112
- And
113
- </SegmentedControl.Segment>
114
- <SegmentedControl.Segment value="or">
115
- Or
116
- </SegmentedControl.Segment>
117
- </SegmentedControl>
118
- </Flex>
119
- )}
120
93
  <ConditionRow
121
94
  canRemove
122
95
  condition={c}
@@ -1,9 +1,11 @@
1
- import { Button, Flex, SegmentedControl } from '@servicetitan/anvil2';
1
+ import { Button, Flex } from '@servicetitan/anvil2';
2
2
  import PlusIcon from '@servicetitan/anvil2/assets/icons/material/round/add.svg';
3
+ import { MAX_DISPLAY_CONDITION_RULES_UI } from '../../constants';
3
4
  import type { DataPointOption, DisplayConditionGroup } from '../../interface/types';
4
5
  import { ConditionGroup } from './condition-group';
5
6
 
6
7
  export interface ConditionGroupsSectionProps {
8
+ conditionJoinOperator: 'and' | 'or';
7
9
  dataPointOptions: DataPointOption[];
8
10
  groups: DisplayConditionGroup[];
9
11
  onAddGroup: () => void;
@@ -12,6 +14,7 @@ export interface ConditionGroupsSectionProps {
12
14
  }
13
15
 
14
16
  export function ConditionGroupsSection({
17
+ conditionJoinOperator,
15
18
  dataPointOptions,
16
19
  groups,
17
20
  onAddGroup,
@@ -22,42 +25,25 @@ export function ConditionGroupsSection({
22
25
  <Flex direction="column" gap="4">
23
26
  {groups.map((group, index) => (
24
27
  <Flex key={group.id} direction="column" gap="3">
25
- {index > 0 && (
26
- <Flex
27
- justifyContent="center"
28
- alignItems="center"
29
- gap="2"
30
- style={{ padding: '12px' }}
31
- >
32
- <SegmentedControl
33
- selected={group.logicalOperator ?? 'and'}
34
- onChange={(value: string) =>
35
- onUpdateGroup(index, {
36
- ...group,
37
- logicalOperator: value as 'and' | 'or',
38
- })
39
- }
40
- >
41
- <SegmentedControl.Segment value="and">And</SegmentedControl.Segment>
42
- <SegmentedControl.Segment value="or">Or</SegmentedControl.Segment>
43
- </SegmentedControl>
44
- </Flex>
45
- )}
46
28
  <ConditionGroup
47
29
  canDelete={groups.length > 1}
30
+ conditionJoinOperator={conditionJoinOperator}
48
31
  dataPointOptions={dataPointOptions}
49
32
  group={group}
50
33
  onDelete={() => onRemoveGroup(index)}
51
34
  onUpdate={g => onUpdateGroup(index, g)}
52
35
  ruleIndex={index}
36
+ totalRuleCount={groups.length}
53
37
  />
54
38
  </Flex>
55
39
  ))}
56
- <Flex justifyContent="center" flex={1} style={{ paddingTop: 8 }}>
57
- <Button appearance="secondary" icon={{ before: PlusIcon }} onClick={onAddGroup}>
58
- Add Rule
59
- </Button>
60
- </Flex>
40
+ {groups.length < MAX_DISPLAY_CONDITION_RULES_UI && (
41
+ <Flex justifyContent="center" flex={1} style={{ paddingTop: 8 }}>
42
+ <Button appearance="secondary" icon={{ before: PlusIcon }} onClick={onAddGroup}>
43
+ Add Rule
44
+ </Button>
45
+ </Flex>
46
+ )}
61
47
  </Flex>
62
48
  );
63
49
  }
@@ -100,7 +100,6 @@ export function ConditionRow({
100
100
  <Flex flex={1}>
101
101
  <Combobox
102
102
  flex={1}
103
- groupBy="group"
104
103
  itemToKey={(item: DataPointOption | null) => item?.fullKey ?? ''}
105
104
  itemToString={(item: DataPointOption | null) => item?.title ?? ''}
106
105
  items={dataPointOptions}
@@ -1,10 +1,45 @@
1
- import { Button, Dialog, Divider, Flex, SegmentedControl, Text } from '@servicetitan/anvil2';
1
+ import { Button, Chip, Dialog, Flex, SegmentedControl, Text } from '@servicetitan/anvil2';
2
2
  import { useCallback, useMemo, useState } from 'react';
3
3
  import { defaultGroup, defaultState, MODAL_CONTENT_MAX_HEIGHT } from '../../constants';
4
4
  import type { DisplayConditionState, PdfField, SchemaObject } from '../../interface/types';
5
5
  import { getDataPointOptions, isValidNumber } from '../../utils';
6
6
  import { ConditionGroupsSection } from './condition-groups-section';
7
7
 
8
+ type ConditionMatchType = 'and' | 'or';
9
+
10
+ const deriveConditionMatchType = (conditionState: DisplayConditionState): ConditionMatchType => {
11
+ for (let g = 0; g < conditionState.groups.length; g++) {
12
+ const group = conditionState.groups[g];
13
+ if (g > 0 && group.logicalOperator === 'or') {
14
+ return 'or';
15
+ }
16
+ for (let i = 1; i < group.conditions.length; i++) {
17
+ if (group.conditions[i]?.logicalOperator === 'or') {
18
+ return 'or';
19
+ }
20
+ }
21
+ }
22
+ return 'and';
23
+ };
24
+
25
+ const applyConditionMatchType = (
26
+ conditionState: DisplayConditionState,
27
+ matchType: ConditionMatchType,
28
+ ): DisplayConditionState => {
29
+ return {
30
+ ...conditionState,
31
+ groups: conditionState.groups.map((group, groupIndex) => ({
32
+ ...group,
33
+ ...(groupIndex > 0 ? { logicalOperator: matchType } : {}),
34
+ conditions: group.conditions.map((c, i) =>
35
+ i === 0
36
+ ? { ...c, logicalOperator: undefined }
37
+ : { ...c, logicalOperator: matchType },
38
+ ),
39
+ })),
40
+ };
41
+ };
42
+
8
43
  const BEHAVIOR_OPTIONS = [
9
44
  { label: 'Show', value: 'show' },
10
45
  { label: 'Hide', value: 'hide' },
@@ -30,6 +65,9 @@ export function DisplayConditionModal({
30
65
  const [state, setState] = useState<DisplayConditionState>(() =>
31
66
  initialState?.groups?.length ? initialState : defaultState(),
32
67
  );
68
+ const [matchType, setMatchType] = useState<ConditionMatchType>(() =>
69
+ deriveConditionMatchType(initialState?.groups?.length ? initialState : defaultState()),
70
+ );
33
71
 
34
72
  const dataPointOptions = useMemo(
35
73
  () => getDataPointOptions(schema, documentFields),
@@ -41,7 +79,8 @@ export function DisplayConditionModal({
41
79
  }, [onClose]);
42
80
 
43
81
  const handleSave = useCallback(() => {
44
- const hasValidGroup = state.groups.some(group =>
82
+ const finalState = applyConditionMatchType(state, matchType);
83
+ const hasValidGroup = finalState.groups.some(group =>
45
84
  group.conditions.some(
46
85
  c =>
47
86
  c.dataPointKey &&
@@ -51,12 +90,12 @@ export function DisplayConditionModal({
51
90
  ),
52
91
  );
53
92
  if (hasValidGroup) {
54
- onSave(state);
93
+ onSave(finalState);
55
94
  } else {
56
95
  onSave(null);
57
96
  }
58
97
  onClose();
59
- }, [onSave, state, onClose]);
98
+ }, [onSave, state, matchType, onClose]);
60
99
 
61
100
  const updateGroup = useCallback((index: number, group: DisplayConditionState['groups'][0]) => {
62
101
  setState(prev => {
@@ -86,14 +125,19 @@ export function DisplayConditionModal({
86
125
  const addGroup = useCallback(() => {
87
126
  setState(prev => ({
88
127
  ...prev,
89
- groups: [...prev.groups, { ...defaultGroup(), logicalOperator: 'and' }],
128
+ groups: [...prev.groups, { ...defaultGroup(), logicalOperator: matchType }],
90
129
  }));
91
- }, []);
130
+ }, [matchType]);
92
131
 
93
132
  const handleBehaviorChange = useCallback((behavior: DisplayConditionState['behavior']) => {
94
133
  setState(prev => ({ ...prev, behavior }));
95
134
  }, []);
96
135
 
136
+ const handleConditionMatchTypeChange = useCallback((value: ConditionMatchType) => {
137
+ setMatchType(value);
138
+ setState(prev => applyConditionMatchType(prev, value));
139
+ }, []);
140
+
97
141
  const canSave = useMemo(() => {
98
142
  for (const group of state.groups) {
99
143
  for (const condition of group.conditions) {
@@ -120,7 +164,7 @@ export function DisplayConditionModal({
120
164
 
121
165
  return (
122
166
  <Dialog open onClose={handleClose} size="xlarge">
123
- <Dialog.Header>Rules and Conditions</Dialog.Header>
167
+ <Dialog.Header>Conditions</Dialog.Header>
124
168
  <Dialog.Content>
125
169
  <Flex
126
170
  direction="column"
@@ -132,12 +176,34 @@ export function DisplayConditionModal({
132
176
  }}
133
177
  >
134
178
  <Flex direction="column" gap="3">
135
- <Text size="medium" variant="body" style={{ fontWeight: 'bold' }}>
136
- When conditions are met:
137
- </Text>
179
+ <Flex
180
+ direction="row"
181
+ alignItems="center"
182
+ gap="2"
183
+ style={{ flexWrap: 'wrap' }}
184
+ >
185
+ <Text size="medium" variant="body" style={{ fontWeight: 'bold' }}>
186
+ When
187
+ </Text>
188
+ <SegmentedControl
189
+ size="small"
190
+ selected={matchType}
191
+ onChange={handleConditionMatchTypeChange}
192
+ >
193
+ <SegmentedControl.Segment value="and">All</SegmentedControl.Segment>
194
+ <SegmentedControl.Segment value="or">Any</SegmentedControl.Segment>
195
+ </SegmentedControl>
196
+ <Text size="medium" variant="body" style={{ fontWeight: 'bold' }}>
197
+ of the
198
+ </Text>
199
+ <Chip label="IF" size="small" />
200
+ <Text size="medium" variant="body" style={{ fontWeight: 'bold' }}>
201
+ conditions are met
202
+ </Text>
203
+ </Flex>
138
204
  <Flex direction="row" alignItems="center" gap="3">
139
205
  <Text size="small" subdued variant="body">
140
- Select to show or hide this field.
206
+ Select to include or exclude selected template/file.
141
207
  </Text>
142
208
 
143
209
  <SegmentedControl
@@ -153,20 +219,14 @@ export function DisplayConditionModal({
153
219
  </SegmentedControl>
154
220
  </Flex>
155
221
  </Flex>
156
- <Divider />
157
222
  <ConditionGroupsSection
223
+ conditionJoinOperator={matchType}
158
224
  dataPointOptions={dataPointOptions}
159
225
  groups={state.groups}
160
226
  onAddGroup={addGroup}
161
227
  onRemoveGroup={removeGroup}
162
228
  onUpdateGroup={updateGroup}
163
229
  />
164
- {!canSave && (
165
- <Text size="small" subdued variant="body">
166
- Complete each condition before saving. Data point and value are
167
- required, and numeric fields must contain a valid number.
168
- </Text>
169
- )}
170
230
  </Flex>
171
231
  </Dialog.Content>
172
232
  <Dialog.Footer sticky>
@@ -1,7 +1,6 @@
1
1
  import { Button, Flex, Icon, Text } from '@servicetitan/anvil2';
2
2
  import IconMenuOpen from '@servicetitan/anvil2/assets/icons/material/round/menu_open.svg';
3
-
4
- import { FC, useState } from 'react';
3
+ import { FC, useMemo, useState } from 'react';
5
4
  import { menuGroups } from '../../constants';
6
5
  import { useToggle } from '../../hooks';
7
6
  import { DataModelFieldGroup, FieldTypeEnum, FieldTypeOption } from '../../interface/types';
@@ -14,12 +13,14 @@ import { GenericFieldTypeList } from './generic-field-type-list';
14
13
 
15
14
  interface FieldSidebarProps {
16
15
  dataModelGroups?: DataModelFieldGroup[];
16
+ hideFields?: FieldTypeEnum[];
17
17
  onDragEnd(): void;
18
18
  onDragStart(fieldOption: FieldTypeOption): void;
19
19
  }
20
20
 
21
21
  export const FieldSidebar: FC<FieldSidebarProps> = ({
22
22
  dataModelGroups = [],
23
+ hideFields,
23
24
  onDragEnd,
24
25
  onDragStart,
25
26
  }) => {
@@ -31,10 +32,17 @@ export const FieldSidebar: FC<FieldSidebarProps> = ({
31
32
  open();
32
33
  };
33
34
 
35
+ const filteredMenuGroups = useMemo(() => {
36
+ if (hideFields?.length) {
37
+ return menuGroups.filter(menuGroup => !hideFields.includes(menuGroup.key));
38
+ }
39
+ return menuGroups;
40
+ }, [hideFields]);
41
+
34
42
  return (
35
43
  <Flex className="dte-field-sidebar-container skeleton-item">
36
44
  <FieldMenuGroup
37
- menuGroups={menuGroups}
45
+ menuGroups={filteredMenuGroups}
38
46
  onClickMenu={handleActiveFieldTypeChange}
39
47
  activeFieldKey={activeFieldType}
40
48
  />
@@ -1,7 +1,7 @@
1
1
  import { Flex } from '@servicetitan/anvil2';
2
2
  import { FC, ReactNode, useCallback, useMemo, useRef } from 'react';
3
3
  import { usePdfFieldDnD, usePdfFieldSelection } from '../../hooks';
4
- import { PdfField, RecipientInfo, SchemaObject } from '../../interface/types';
4
+ import { FieldTypeEnum, PdfField, RecipientInfo, SchemaObject } from '../../interface/types';
5
5
  import { extractGroupedFieldsFromDataModel, mapColorsToRecipients } from '../../utils';
6
6
  import { FieldConfigPanelOverlay } from '../field-config-panel/field-config-panel-overlay';
7
7
  import { FieldSidebar } from '../field-sidebar/field-sidebar';
@@ -18,6 +18,7 @@ export interface PdfEditorProps {
18
18
  dataModel?: SchemaObject;
19
19
  recipients?: RecipientInfo[];
20
20
  fields?: PdfField[];
21
+ hideFields?: FieldTypeEnum[];
21
22
  onLoadSuccess?(numPages: number): void;
22
23
  onFieldsChange(fields: PdfField[]): void;
23
24
  }
@@ -27,6 +28,7 @@ export const PdfEditor: FC<PdfEditorProps> = ({
27
28
  errorPlaceholder,
28
29
  errors = {},
29
30
  fields = [],
31
+ hideFields,
30
32
  loading = false,
31
33
  loadingPlaceholder,
32
34
  onFieldsChange,
@@ -83,6 +85,7 @@ export const PdfEditor: FC<PdfEditorProps> = ({
83
85
 
84
86
  <Flex className="dte-pdf-editor-sidebar-container">
85
87
  <FieldSidebar
88
+ hideFields={hideFields}
86
89
  dataModelGroups={dataModelGroups}
87
90
  onDragStart={pdfFieldDnd.handleDragStart}
88
91
  onDragEnd={pdfFieldDnd.handleDragEnd}
@@ -24,3 +24,9 @@ export const defaultState = (): DisplayConditionState => ({
24
24
  });
25
25
 
26
26
  export const MODAL_CONTENT_MAX_HEIGHT = '70vh';
27
+
28
+ /**
29
+ * Temporary product limit: the editor UI allows only this many rules (groups).
30
+ * The data model and evaluation still support multiple groups for existing templates.
31
+ */
32
+ export const MAX_DISPLAY_CONDITION_RULES_UI = 1;
@@ -240,6 +240,5 @@ export const VALUE_LESS_OPERATORS: ConditionOperator[] = ['is_empty', 'is_not_em
240
240
  export interface DataPointOption {
241
241
  fieldType: 'number' | 'string';
242
242
  fullKey: string;
243
- group: string;
244
243
  title: string;
245
244
  }
@@ -43,7 +43,6 @@ function walkSchema(
43
43
  result.push({
44
44
  fieldType,
45
45
  fullKey,
46
- group: fieldType === 'number' ? 'Numeric Fields' : 'Data Model',
47
46
  title: fullTitle || fullKey,
48
47
  });
49
48
  }
@@ -75,7 +74,6 @@ export function getDocumentFieldsDataPointOptions(
75
74
  result.push({
76
75
  fieldType,
77
76
  fullKey: f.path,
78
- group: 'Document Fields',
79
77
  title: f.label || f.path,
80
78
  });
81
79
  }