@servicetitan/dte-pdf-editor 1.53.0 → 1.55.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 (37) hide show
  1. package/dist/components/display-conditions/condition-row.d.ts.map +1 -1
  2. package/dist/components/display-conditions/condition-row.js +3 -19
  3. package/dist/components/display-conditions/condition-row.js.map +1 -1
  4. package/dist/components/display-conditions/condition-value-control.d.ts +9 -0
  5. package/dist/components/display-conditions/condition-value-control.d.ts.map +1 -0
  6. package/dist/components/display-conditions/condition-value-control.js +33 -0
  7. package/dist/components/display-conditions/condition-value-control.js.map +1 -0
  8. package/dist/hooks/index.d.ts +1 -0
  9. package/dist/hooks/index.d.ts.map +1 -1
  10. package/dist/hooks/index.js +1 -0
  11. package/dist/hooks/index.js.map +1 -1
  12. package/dist/hooks/useLookupOptions.d.ts +23 -0
  13. package/dist/hooks/useLookupOptions.d.ts.map +1 -0
  14. package/dist/hooks/useLookupOptions.js +60 -0
  15. package/dist/hooks/useLookupOptions.js.map +1 -0
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/interface/host-events.d.ts +65 -0
  21. package/dist/interface/host-events.d.ts.map +1 -0
  22. package/dist/interface/host-events.js +75 -0
  23. package/dist/interface/host-events.js.map +1 -0
  24. package/dist/interface/types.d.ts +1 -0
  25. package/dist/interface/types.d.ts.map +1 -1
  26. package/dist/utils/conditions/schema-data-points.utils.d.ts.map +1 -1
  27. package/dist/utils/conditions/schema-data-points.utils.js +2 -1
  28. package/dist/utils/conditions/schema-data-points.utils.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/components/display-conditions/condition-row.tsx +6 -27
  31. package/src/components/display-conditions/condition-value-control.tsx +90 -0
  32. package/src/hooks/index.ts +1 -0
  33. package/src/hooks/useLookupOptions.ts +86 -0
  34. package/src/index.ts +1 -0
  35. package/src/interface/host-events.ts +118 -0
  36. package/src/interface/types.ts +1 -0
  37. package/src/utils/conditions/schema-data-points.utils.ts +2 -1
@@ -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,EAEtB,mBAAmB,EACnB,QAAQ,EAMX,MAAM,uBAAuB,CAAC;AAS/B,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,sBAAsB,CAAC;IAClC,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AA0CD,wBAAgB,YAAY,CAAC,EACzB,SAAS,EACT,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,EACL,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,mBAAmB,GACtB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,2CA+a7B"}
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,EAEtB,mBAAmB,EACnB,QAAQ,EAMX,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,sBAAsB,CAAC;IAClC,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AA4BD,wBAAgB,YAAY,CAAC,EACzB,SAAS,EACT,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,EACL,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,mBAAmB,GACtB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,2CAua7B"}
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Chip, Combobox, Flex, Text, TextField } from '@servicetitan/anvil2';
2
+ import { Button, Chip, Combobox, Flex, Text } from '@servicetitan/anvil2';
3
3
  import TrashIcon from '@servicetitan/anvil2/assets/icons/material/round/delete.svg';
4
4
  import { useEffect, useMemo, useState } from 'react';
5
5
  import { FieldTypeEnum, NUMBER_OPERATORS, RADIO_OPERATORS, STRING_OPERATORS, VALUE_LESS_OPERATORS, } from '../../interface/types';
6
6
  import { formFieldToDisplayConditionDataPointOption, getDisplayConditionFieldTypeForKey, inferDisplayConditionSourceKind, parseFormFieldKey, } from '../../utils';
7
+ import { ConditionValueControl } from './condition-value-control';
7
8
  const SOURCE_KIND_ORDER = [
8
9
  FieldTypeEnum.dataModel,
9
10
  FieldTypeEnum.fillable,
@@ -14,19 +15,6 @@ const SOURCE_KIND_LABELS = {
14
15
  [FieldTypeEnum.fillable]: 'Fillable field',
15
16
  [FieldTypeEnum.forms]: 'Form',
16
17
  };
17
- function sanitizeNumericInput(raw) {
18
- let value = raw.replaceAll(/[^0-9.-]/g, '');
19
- const isNegative = value.startsWith('-');
20
- value = value.replaceAll('-', '');
21
- if (isNegative) {
22
- value = `-${value}`;
23
- }
24
- const firstDot = value.indexOf('.');
25
- if (firstDot >= 0) {
26
- value = `${value.slice(0, firstDot + 1)}${value.slice(firstDot + 1).replaceAll('.', '')}`;
27
- }
28
- return value;
29
- }
30
18
  const pickDefaultSourceKind = (options) => {
31
19
  var _a, _b;
32
20
  return (_b = (_a = options[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : FieldTypeEnum.dataModel;
@@ -123,10 +111,6 @@ export function ConditionRow({ canRemove, condition, fillableOptions, formFields
123
111
  const selectedRadioValue = useMemo(() => { var _a; return (_a = radioValueOptions.find(option => option.id === condition.value)) !== null && _a !== void 0 ? _a : null; }, [radioValueOptions, condition.value]);
124
112
  const selectedOperator = useMemo(() => { var _a; return (_a = operatorItems.find(op => op.value === condition.operator)) !== null && _a !== void 0 ? _a : null; }, [operatorItems, condition.operator]);
125
113
  const isValueLess = VALUE_LESS_OPERATORS.includes(condition.operator);
126
- const handleValueChange = (raw) => {
127
- const value = fieldType === 'number' ? sanitizeNumericInput(raw) : raw;
128
- onChange({ ...condition, value });
129
- };
130
114
  const resetOperatorForFieldType = (nextFieldType, nextIsRadioGroup) => {
131
115
  const nextOperatorItems = nextIsRadioGroup
132
116
  ? RADIO_OPERATORS
@@ -207,7 +191,7 @@ export function ConditionRow({ canRemove, condition, fillableOptions, formFields
207
191
  ...condition,
208
192
  value: (_a = item === null || item === void 0 ? void 0 : item.id) !== null && _a !== void 0 ? _a : '',
209
193
  });
210
- }, filterOptions: { keys: ['label'] }, children: [_jsx(Combobox.SelectTrigger, { label: "Value", placeholder: "Select radio option..." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { index: i, item: item, children: item.label }, item.id))) })) })] })) : (_jsx(TextField, { label: "Value", flex: 1, value: condition.value, onChange: e => handleValueChange(e.target.value), placeholder: fieldType === 'number' ? 'e.g. 1.5' : 'Enter value...', "aria-label": "Value", ...(fieldType === 'number' && { inputMode: 'decimal' }) })) })), canRemove && (_jsx(Flex, { alignItems: "flex-end", style: {
194
+ }, filterOptions: { keys: ['label'] }, children: [_jsx(Combobox.SelectTrigger, { label: "Value", placeholder: "Select radio option..." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { index: i, item: item, children: item.label }, item.id))) })) })] })) : (_jsx(ConditionValueControl, { value: condition.value, fieldType: fieldType, lookupSource: selectedDataPoint === null || selectedDataPoint === void 0 ? void 0 : selectedDataPoint.lookupSource, onChange: value => onChange({ ...condition, value }) })) })), canRemove && (_jsx(Flex, { alignItems: "flex-end", style: {
211
195
  padding: '6px 12px',
212
196
  }, children: _jsx(Button, { appearance: "secondary", "aria-label": "Remove condition", icon: { before: TrashIcon }, onClick: onRemove }) }))] })] }));
213
197
  }
@@ -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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"}
@@ -0,0 +1,9 @@
1
+ export interface ConditionValueControlProps {
2
+ value: string;
3
+ fieldType: 'number' | 'string';
4
+ /** The selected data point's `options.fieldLookupSource`; empty -> free-text input. */
5
+ lookupSource?: string;
6
+ onChange: (value: string) => void;
7
+ }
8
+ export declare function ConditionValueControl({ fieldType, lookupSource, onChange, value, }: Readonly<ConditionValueControlProps>): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=condition-value-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition-value-control.d.ts","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-value-control.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,0BAA0B;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAgBD,wBAAgB,qBAAqB,CAAC,EAClC,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,KAAK,GACR,EAAE,QAAQ,CAAC,0BAA0B,CAAC,2CAyDtC"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Combobox, TextField } from '@servicetitan/anvil2';
3
+ import { useMemo } from 'react';
4
+ import { useLookupOptions } from '../../hooks';
5
+ const sanitizeNumericInput = (raw) => {
6
+ let value = raw.replaceAll(/[^0-9.-]/g, '');
7
+ const isNegative = value.startsWith('-');
8
+ value = value.replaceAll('-', '');
9
+ if (isNegative) {
10
+ value = `-${value}`;
11
+ }
12
+ const firstDot = value.indexOf('.');
13
+ if (firstDot >= 0) {
14
+ value = `${value.slice(0, firstDot + 1)}${value.slice(firstDot + 1).replaceAll('.', '')}`;
15
+ }
16
+ return value;
17
+ };
18
+ export function ConditionValueControl({ fieldType, lookupSource, onChange, value, }) {
19
+ const { options, status } = useLookupOptions(lookupSource);
20
+ const selectedOption = useMemo(() => { var _a; return (_a = options.find(option => option.key === value)) !== null && _a !== void 0 ? _a : null; }, [options, value]);
21
+ if (status === 'loading') {
22
+ return (_jsx(TextField, { label: "Value", flex: 1, disabled: true, value: "", placeholder: "", "aria-label": "Value" }));
23
+ }
24
+ // idle / fallback (no source, searchable source, empty, error, or timeout) -> free text.
25
+ if (status !== 'ready') {
26
+ const handleTextChange = (raw) => {
27
+ onChange(fieldType === 'number' ? sanitizeNumericInput(raw) : raw);
28
+ };
29
+ return (_jsx(TextField, { label: "Value", flex: 1, value: value, onChange: e => handleTextChange(e.target.value), placeholder: fieldType === 'number' ? 'e.g. 1.5' : 'Enter value...', "aria-label": "Value", ...(fieldType === 'number' && { inputMode: 'decimal' }) }));
30
+ }
31
+ return (_jsxs(Combobox, { flex: 1, items: options, selectedItem: selectedOption, itemToKey: (item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.key) !== 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 : ''; }, onChange: (item) => { var _a; return onChange((_a = item === null || item === void 0 ? void 0 : item.key) !== null && _a !== void 0 ? _a : ''); }, filterOptions: { keys: ['label'] }, children: [_jsx(Combobox.SearchField, { label: "Value", placeholder: "Search value..." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { index: i, item: item, children: item.label }, item.key))) })) })] }));
32
+ }
33
+ //# sourceMappingURL=condition-value-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition-value-control.js","sourceRoot":"","sources":["../../../src/components/display-conditions/condition-value-control.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAW/C,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,IAAI,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,UAAU,EAAE,CAAC;QACb,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChB,KAAK,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;IAC9F,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,EAClC,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,KAAK,GAC8B;IACnC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,OAAO,CAC1B,GAAG,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,mCAAI,IAAI,CAAA,EAAA,EAC1D,CAAC,OAAO,EAAE,KAAK,CAAC,CACnB,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CACH,KAAC,SAAS,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,QAAC,KAAK,EAAC,EAAE,EAAC,WAAW,EAAC,EAAE,gBAAY,OAAO,GAAG,CAC3F,CAAC;IACN,CAAC;IAED,yFAAyF;IACzF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE;YACrC,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,OAAO,CACH,KAAC,SAAS,IACN,KAAK,EAAC,OAAO,EACb,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,WAAW,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,gBACxD,OAAO,KACd,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAC1D,CACL,CAAC;IACN,CAAC;IAED,OAAO,CACH,MAAC,QAAQ,IACL,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,cAAc,EAC5B,SAAS,EAAE,CAAC,IAAyB,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,mCAAI,EAAE,CAAA,EAAA,EACzD,YAAY,EAAE,CAAC,IAAyB,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE,CAAA,EAAA,EAC9D,QAAQ,EAAE,CAAC,IAAyB,EAAE,EAAE,WAAC,OAAA,QAAQ,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,mCAAI,EAAE,CAAC,CAAA,EAAA,EAClE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,aAElC,KAAC,QAAQ,CAAC,WAAW,IAAC,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,iBAAiB,GAAG,EACpE,KAAC,QAAQ,CAAC,OAAO,cACZ,CAAC,EAAE,KAAK,EAA6B,EAAE,EAAE,CAAC,CACvC,KAAC,QAAQ,CAAC,IAAI,cACT,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,KAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,YAC9B,IAAI,CAAC,KAAK,IAD2B,IAAI,CAAC,GAAG,CAElC,CACnB,CAAC,GACU,CACnB,GACc,IACZ,CACd,CAAC;AACN,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from './useFieldDrag';
2
2
  export * from './useFieldResize';
3
3
  export * from './useFormFields';
4
+ export * from './useLookupOptions';
4
5
  export * from './useFormulaEditor';
5
6
  export * from './usePdfDocumentRenderer';
6
7
  export * from './usePdfFieldDnD';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from './useFieldDrag';
2
2
  export * from './useFieldResize';
3
3
  export * from './useFormFields';
4
+ export * from './useLookupOptions';
4
5
  export * from './useFormulaEditor';
5
6
  export * from './usePdfDocumentRenderer';
6
7
  export * from './usePdfFieldDnD';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type LookupOption } from '../interface/host-events';
2
+ /**
3
+ * - `idle` -> no lookup source (or a searchable source we skip for now): use free-text input.
4
+ * - `loading` -> request in flight: show a disabled/loading value control.
5
+ * - `ready` -> host returned options: render the dropdown.
6
+ * - `fallback` -> empty/error/timeout: fall back to free-text so the user is never blocked.
7
+ */
8
+ export type LookupOptionsStatus = 'idle' | 'loading' | 'ready' | 'fallback';
9
+ interface UseLookupOptionsResult {
10
+ status: LookupOptionsStatus;
11
+ options: LookupOption[];
12
+ }
13
+ /**
14
+ * Requests host-resolved dropdown options for a field's `fieldLookupSource` and exposes the
15
+ * resulting render state.
16
+ *
17
+ * Re-runs whenever `sourceKey` changes, ignores stale responses whose `requestId` does not match
18
+ * the latest request, and tears down its listener/timeout on unmount or source change. Falls back
19
+ * to free text for empty/searchable sources and on error/timeout so the user is never blocked.
20
+ */
21
+ export declare const useLookupOptions: (sourceKey: string | undefined) => UseLookupOptionsResult;
22
+ export {};
23
+ //# sourceMappingURL=useLookupOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLookupOptions.d.ts","sourceRoot":"","sources":["../../src/hooks/useLookupOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAIH,KAAK,YAAY,EAEpB,MAAM,0BAA0B,CAAC;AAElC;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAK5E,UAAU,sBAAsB;IAC5B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,GAAG,SAAS,KAAG,sBAoDhE,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ import { createLookupRequestId, emitLookupOptionsRequest, isSearchableLookupSource, onLookupOptionsResponse, } from '../interface/host-events';
3
+ /** Time to wait for the host before falling back to free-text input. */
4
+ const LOOKUP_OPTIONS_TIMEOUT_MS = 10000;
5
+ /**
6
+ * Requests host-resolved dropdown options for a field's `fieldLookupSource` and exposes the
7
+ * resulting render state.
8
+ *
9
+ * Re-runs whenever `sourceKey` changes, ignores stale responses whose `requestId` does not match
10
+ * the latest request, and tears down its listener/timeout on unmount or source change. Falls back
11
+ * to free text for empty/searchable sources and on error/timeout so the user is never blocked.
12
+ */
13
+ export const useLookupOptions = (sourceKey) => {
14
+ const [status, setStatus] = useState('idle');
15
+ const [options, setOptions] = useState([]);
16
+ const latestRequestIdRef = useRef(null);
17
+ useEffect(() => {
18
+ const normalizedSourceKey = sourceKey === null || sourceKey === void 0 ? void 0 : sourceKey.trim();
19
+ // No source, or a searchable source we intentionally skip for now.
20
+ if (!normalizedSourceKey || isSearchableLookupSource(normalizedSourceKey)) {
21
+ latestRequestIdRef.current = null;
22
+ setStatus('idle');
23
+ setOptions([]);
24
+ return;
25
+ }
26
+ const requestId = createLookupRequestId();
27
+ latestRequestIdRef.current = requestId;
28
+ setStatus('loading');
29
+ setOptions([]);
30
+ const timeoutId = setTimeout(() => {
31
+ if (latestRequestIdRef.current !== requestId) {
32
+ return;
33
+ }
34
+ setStatus('fallback');
35
+ setOptions([]);
36
+ }, LOOKUP_OPTIONS_TIMEOUT_MS);
37
+ const unsubscribe = onLookupOptionsResponse(response => {
38
+ // Ignore stale responses (different request, or superseded selection).
39
+ if (response.requestId !== requestId || latestRequestIdRef.current !== requestId) {
40
+ return;
41
+ }
42
+ clearTimeout(timeoutId);
43
+ if (response.options.length > 0) {
44
+ setOptions(response.options);
45
+ setStatus('ready');
46
+ }
47
+ else {
48
+ setOptions([]);
49
+ setStatus('fallback');
50
+ }
51
+ });
52
+ emitLookupOptionsRequest({ requestId, sourceKey: normalizedSourceKey });
53
+ return () => {
54
+ clearTimeout(timeoutId);
55
+ unsubscribe();
56
+ };
57
+ }, [sourceKey]);
58
+ return { status, options };
59
+ };
60
+ //# sourceMappingURL=useLookupOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLookupOptions.js","sourceRoot":"","sources":["../../src/hooks/useLookupOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EAExB,uBAAuB,GAC1B,MAAM,0BAA0B,CAAC;AAUlC,wEAAwE;AACxE,MAAM,yBAAyB,GAAG,KAAM,CAAC;AAOzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA6B,EAA0B,EAAE;IACtF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAsB,MAAM,CAAC,CAAC;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,mBAAmB,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE,CAAC;QAC9C,mEAAmE;QACnE,IAAI,CAAC,mBAAmB,IAAI,wBAAwB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxE,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,kBAAkB,CAAC,OAAO,GAAG,SAAS,CAAC;QACvC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3C,OAAO;YACX,CAAC;YACD,SAAS,CAAC,UAAU,CAAC,CAAC;YACtB,UAAU,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAE9B,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,EAAE;YACnD,uEAAuE;YACvE,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/E,OAAO;YACX,CAAC;YACD,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC7B,SAAS,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,UAAU,CAAC,EAAE,CAAC,CAAC;gBACf,SAAS,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wBAAwB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAExE,OAAO,GAAG,EAAE;YACR,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,WAAW,EAAE,CAAC;QAClB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './interface/types';
2
+ export * from './interface/host-events';
2
3
  export * from './components';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './interface/types';
2
+ export * from './interface/host-events';
2
3
  export * from './components';
3
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Host <-> editor contract for the "data-model lookup source" dropdown options (BYOD editor).
3
+ *
4
+ * A schema field can be tagged (in the template-type editor) with `options.fieldLookupSource`.
5
+ * When such a field is selected in the conditional-logic UI, the editor does NOT own the option
6
+ * data — it asks the HOST for it over the EventTarget bus below and renders whatever the host
7
+ * returns.
8
+ *
9
+ * Transport mirrors the unlayer `displayConditionController` / `lookupOptionsController` pattern: a
10
+ * module-scoped `EventTarget` shared by every consumer of this package (no global `window`
11
+ * pollution, no cross-instance leakage). The host imports `onLookupOptionsRequest` /
12
+ * `emitLookupOptionsResponse`; the editor uses `emitLookupOptionsRequest` / `onLookupOptionsResponse`.
13
+ *
14
+ * Event names (host <-> editor):
15
+ * - "dte-byod-client-mfe:lookup-options-request" (editor -> host)
16
+ * - "dte-byod-client-mfe:lookup-options-response" (host -> editor)
17
+ *
18
+ * The host-side resolver is implemented separately (it wires these events to the app's data
19
+ * providers, e.g. job types / states).
20
+ */
21
+ /** A single selectable option for a lookup-backed condition value. */
22
+ export interface LookupOption {
23
+ /** Human-readable text shown in the dropdown. */
24
+ label: string;
25
+ /** Value baked into the condition when the option is selected. */
26
+ key: string;
27
+ }
28
+ /** editor -> host: request the predefined options for a lookup source. */
29
+ export interface LookupOptionsRequest {
30
+ /** Correlates a response to its originating request. */
31
+ requestId: string;
32
+ /** The field's `options.fieldLookupSource` value. */
33
+ sourceKey: string;
34
+ /** Reserved for searchable sources (e.g. "city"); omitted for full-list sources. */
35
+ query?: string;
36
+ }
37
+ /** host -> editor: the resolved options for a previously emitted request. */
38
+ export interface LookupOptionsResponse {
39
+ /** Echoes {@link LookupOptionsRequest.requestId}; responses with a stale id are ignored. */
40
+ requestId: string;
41
+ options: LookupOption[];
42
+ }
43
+ /** editor -> host event name. */
44
+ export declare const LOOKUP_OPTIONS_REQUEST_EVENT = "dte-byod-client-mfe:lookup-options-request";
45
+ /** host -> editor event name. */
46
+ export declare const LOOKUP_OPTIONS_RESPONSE_EVENT = "dte-byod-client-mfe:lookup-options-response";
47
+ /**
48
+ * Lookup sources that require the host to search an API per typed query. These keep the free-text
49
+ * input for now (the editor only handles full-list, load-once sources).
50
+ */
51
+ export declare const SEARCHABLE_LOOKUP_SOURCES: readonly ["city"];
52
+ export type SearchableLookupSource = (typeof SEARCHABLE_LOOKUP_SOURCES)[number];
53
+ /** True when a lookup source is searchable (host-side per-query search) rather than a full list. */
54
+ export declare const isSearchableLookupSource: (sourceKey: string | undefined) => boolean;
55
+ /** Generate a unique request id for correlating request/response pairs. */
56
+ export declare const createLookupRequestId: () => string;
57
+ /** editor -> host: ask the host to resolve options for a lookup source. */
58
+ export declare const emitLookupOptionsRequest: (request: LookupOptionsRequest) => void;
59
+ /** host side: listen for editor requests. Returns an unsubscribe function. */
60
+ export declare const onLookupOptionsRequest: (listener: (request: LookupOptionsRequest) => void) => () => void;
61
+ /** host -> editor: deliver resolved options back to the editor. */
62
+ export declare const emitLookupOptionsResponse: (response: LookupOptionsResponse) => void;
63
+ /** editor side: listen for host responses. Returns an unsubscribe function. */
64
+ export declare const onLookupOptionsResponse: (listener: (response: LookupOptionsResponse) => void) => () => void;
65
+ //# sourceMappingURL=host-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-events.d.ts","sourceRoot":"","sources":["../../src/interface/host-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,sEAAsE;AACtE,MAAM,WAAW,YAAY;IACzB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;CACf;AAED,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACjC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IAClC,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,iCAAiC;AACjC,eAAO,MAAM,4BAA4B,+CAA+C,CAAC;AACzF,iCAAiC;AACjC,eAAO,MAAM,6BAA6B,gDAAgD,CAAC;AAE3F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,mBAAoB,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,oGAAoG;AACpG,eAAO,MAAM,wBAAwB,GAAI,WAAW,MAAM,GAAG,SAAS,KAAG,OAExE,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,QAAO,MAExC,CAAC;AAIF,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,GAAI,SAAS,oBAAoB,SAIrE,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB,GAAI,UAAU,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,eAcvF,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,GAAI,UAAU,qBAAqB,SAIxE,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,GAAI,UAAU,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI,eAc1F,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Host <-> editor contract for the "data-model lookup source" dropdown options (BYOD editor).
3
+ *
4
+ * A schema field can be tagged (in the template-type editor) with `options.fieldLookupSource`.
5
+ * When such a field is selected in the conditional-logic UI, the editor does NOT own the option
6
+ * data — it asks the HOST for it over the EventTarget bus below and renders whatever the host
7
+ * returns.
8
+ *
9
+ * Transport mirrors the unlayer `displayConditionController` / `lookupOptionsController` pattern: a
10
+ * module-scoped `EventTarget` shared by every consumer of this package (no global `window`
11
+ * pollution, no cross-instance leakage). The host imports `onLookupOptionsRequest` /
12
+ * `emitLookupOptionsResponse`; the editor uses `emitLookupOptionsRequest` / `onLookupOptionsResponse`.
13
+ *
14
+ * Event names (host <-> editor):
15
+ * - "dte-byod-client-mfe:lookup-options-request" (editor -> host)
16
+ * - "dte-byod-client-mfe:lookup-options-response" (host -> editor)
17
+ *
18
+ * The host-side resolver is implemented separately (it wires these events to the app's data
19
+ * providers, e.g. job types / states).
20
+ */
21
+ /** editor -> host event name. */
22
+ export const LOOKUP_OPTIONS_REQUEST_EVENT = 'dte-byod-client-mfe:lookup-options-request';
23
+ /** host -> editor event name. */
24
+ export const LOOKUP_OPTIONS_RESPONSE_EVENT = 'dte-byod-client-mfe:lookup-options-response';
25
+ /**
26
+ * Lookup sources that require the host to search an API per typed query. These keep the free-text
27
+ * input for now (the editor only handles full-list, load-once sources).
28
+ */
29
+ export const SEARCHABLE_LOOKUP_SOURCES = ['city'];
30
+ /** True when a lookup source is searchable (host-side per-query search) rather than a full list. */
31
+ export const isSearchableLookupSource = (sourceKey) => {
32
+ return !!sourceKey && SEARCHABLE_LOOKUP_SOURCES.includes(sourceKey);
33
+ };
34
+ /** Generate a unique request id for correlating request/response pairs. */
35
+ export const createLookupRequestId = () => {
36
+ return `lookup-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
37
+ };
38
+ const lookupOptionsEvents = new EventTarget();
39
+ /** editor -> host: ask the host to resolve options for a lookup source. */
40
+ export const emitLookupOptionsRequest = (request) => {
41
+ lookupOptionsEvents.dispatchEvent(new CustomEvent(LOOKUP_OPTIONS_REQUEST_EVENT, { detail: request }));
42
+ };
43
+ /** host side: listen for editor requests. Returns an unsubscribe function. */
44
+ export const onLookupOptionsRequest = (listener) => {
45
+ const handler = (event) => {
46
+ const detail = event.detail;
47
+ if (!detail) {
48
+ return;
49
+ }
50
+ listener(detail);
51
+ };
52
+ lookupOptionsEvents.addEventListener(LOOKUP_OPTIONS_REQUEST_EVENT, handler);
53
+ return () => {
54
+ lookupOptionsEvents.removeEventListener(LOOKUP_OPTIONS_REQUEST_EVENT, handler);
55
+ };
56
+ };
57
+ /** host -> editor: deliver resolved options back to the editor. */
58
+ export const emitLookupOptionsResponse = (response) => {
59
+ lookupOptionsEvents.dispatchEvent(new CustomEvent(LOOKUP_OPTIONS_RESPONSE_EVENT, { detail: response }));
60
+ };
61
+ /** editor side: listen for host responses. Returns an unsubscribe function. */
62
+ export const onLookupOptionsResponse = (listener) => {
63
+ const handler = (event) => {
64
+ const detail = event.detail;
65
+ if (!detail) {
66
+ return;
67
+ }
68
+ listener(detail);
69
+ };
70
+ lookupOptionsEvents.addEventListener(LOOKUP_OPTIONS_RESPONSE_EVENT, handler);
71
+ return () => {
72
+ lookupOptionsEvents.removeEventListener(LOOKUP_OPTIONS_RESPONSE_EVENT, handler);
73
+ };
74
+ };
75
+ //# sourceMappingURL=host-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-events.js","sourceRoot":"","sources":["../../src/interface/host-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA2BH,iCAAiC;AACjC,MAAM,CAAC,MAAM,4BAA4B,GAAG,4CAA4C,CAAC;AACzF,iCAAiC;AACjC,MAAM,CAAC,MAAM,6BAA6B,GAAG,6CAA6C,CAAC;AAE3F;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAM,CAAU,CAAC;AAI3D,oGAAoG;AACpG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAA6B,EAAW,EAAE;IAC/E,OAAO,CAAC,CAAC,SAAS,IAAK,yBAA+C,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAW,EAAE;IAC9C,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,WAAW,EAAE,CAAC;AAE9C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAA6B,EAAE,EAAE;IACtE,mBAAmB,CAAC,aAAa,CAC7B,IAAI,WAAW,CAAuB,4BAA4B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAC3F,CAAC;AACN,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAiD,EAAE,EAAE;IACxF,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAI,KAA2C,CAAC,MAAM,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,mBAAmB,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IAE5E,OAAO,GAAG,EAAE;QACR,mBAAmB,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAA+B,EAAE,EAAE;IACzE,mBAAmB,CAAC,aAAa,CAC7B,IAAI,WAAW,CAAwB,6BAA6B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAC9F,CAAC;AACN,CAAC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAmD,EAAE,EAAE;IAC3F,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAI,KAA4C,CAAC,MAAM,CAAC;QACpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,mBAAmB,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IAE7E,OAAO,GAAG,EAAE;QACR,mBAAmB,CAAC,mBAAmB,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC,CAAC;AACN,CAAC,CAAC"}
@@ -276,6 +276,7 @@ export interface DataPointOption {
276
276
  formSnapshot?: FormulaFieldFormSnapshot;
277
277
  isRadioGroup?: boolean;
278
278
  radioOptions?: RadioGroupOption[];
279
+ lookupSource?: string;
279
280
  }
280
281
  export {};
281
282
  //# sourceMappingURL=types.d.ts.map
@@ -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;AA8C/B,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,eAAe,EAAE,CAG7F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,GAC/B,eAAe,EAAE,CA+CnB;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;AA+C/B,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,eAAe,EAAE,CAG7F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,GAC/B,eAAe,EAAE,CA+CnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,cAAc,EAAE,QAAQ,EAAE,GAAG,SAAS,GACvC,eAAe,EAAE,CAKnB"}
@@ -7,7 +7,7 @@ function isValueNode(node) {
7
7
  return (node === null || node === void 0 ? void 0 : node.type) === 'string' || (node === null || node === void 0 ? void 0 : node.type) === 'number';
8
8
  }
9
9
  function walkSchema(schema, prefix, parentTitles) {
10
- var _a;
10
+ var _a, _b, _c;
11
11
  if (!(schema === null || schema === void 0 ? void 0 : schema.properties)) {
12
12
  return [];
13
13
  }
@@ -25,6 +25,7 @@ function walkSchema(schema, prefix, parentTitles) {
25
25
  fieldType,
26
26
  fullKey,
27
27
  title: fullTitle || fullKey,
28
+ lookupSource: (_c = (_b = node.options) === null || _b === void 0 ? void 0 : _b.fieldLookupSource) === null || _c === void 0 ? void 0 : _c.trim(),
28
29
  });
29
30
  }
30
31
  }
@@ -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.53.0",
3
+ "version": "1.55.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -1,4 +1,4 @@
1
- import { Button, Chip, Combobox, Flex, Text, TextField } from '@servicetitan/anvil2';
1
+ import { Button, Chip, Combobox, Flex, Text } from '@servicetitan/anvil2';
2
2
  import TrashIcon from '@servicetitan/anvil2/assets/icons/material/round/delete.svg';
3
3
  import { useEffect, useMemo, useState } from 'react';
4
4
  import {
@@ -21,6 +21,7 @@ import {
21
21
  inferDisplayConditionSourceKind,
22
22
  parseFormFieldKey,
23
23
  } from '../../utils';
24
+ import { ConditionValueControl } from './condition-value-control';
24
25
 
25
26
  export interface ConditionRowProps {
26
27
  canRemove: boolean;
@@ -57,20 +58,6 @@ const SOURCE_KIND_LABELS: Record<DisplayConditionSourceKind, string> = {
57
58
  [FieldTypeEnum.forms]: 'Form',
58
59
  };
59
60
 
60
- function sanitizeNumericInput(raw: string): string {
61
- let value = raw.replaceAll(/[^0-9.-]/g, '');
62
- const isNegative = value.startsWith('-');
63
- value = value.replaceAll('-', '');
64
- if (isNegative) {
65
- value = `-${value}`;
66
- }
67
- const firstDot = value.indexOf('.');
68
- if (firstDot >= 0) {
69
- value = `${value.slice(0, firstDot + 1)}${value.slice(firstDot + 1).replaceAll('.', '')}`;
70
- }
71
- return value;
72
- }
73
-
74
61
  const pickDefaultSourceKind = (options: SourceKindOption[]) => {
75
62
  return options[0]?.value ?? FieldTypeEnum.dataModel;
76
63
  };
@@ -229,11 +216,6 @@ export function ConditionRow({
229
216
 
230
217
  const isValueLess = VALUE_LESS_OPERATORS.includes(condition.operator as ConditionOperator);
231
218
 
232
- const handleValueChange = (raw: string) => {
233
- const value = fieldType === 'number' ? sanitizeNumericInput(raw) : raw;
234
- onChange({ ...condition, value });
235
- };
236
-
237
219
  const resetOperatorForFieldType = (
238
220
  nextFieldType: 'number' | 'string',
239
221
  nextIsRadioGroup: boolean,
@@ -487,14 +469,11 @@ export function ConditionRow({
487
469
  </Combobox.Content>
488
470
  </Combobox>
489
471
  ) : (
490
- <TextField
491
- label="Value"
492
- flex={1}
472
+ <ConditionValueControl
493
473
  value={condition.value}
494
- onChange={e => handleValueChange(e.target.value)}
495
- placeholder={fieldType === 'number' ? 'e.g. 1.5' : 'Enter value...'}
496
- aria-label="Value"
497
- {...(fieldType === 'number' && { inputMode: 'decimal' })}
474
+ fieldType={fieldType}
475
+ lookupSource={selectedDataPoint?.lookupSource}
476
+ onChange={value => onChange({ ...condition, value })}
498
477
  />
499
478
  )}
500
479
  </Flex>
@@ -0,0 +1,90 @@
1
+ import { Combobox, TextField } from '@servicetitan/anvil2';
2
+ import { useMemo } from 'react';
3
+ import { useLookupOptions } from '../../hooks';
4
+ import type { LookupOption } from '../../interface/host-events';
5
+
6
+ export interface ConditionValueControlProps {
7
+ value: string;
8
+ fieldType: 'number' | 'string';
9
+ /** The selected data point's `options.fieldLookupSource`; empty -> free-text input. */
10
+ lookupSource?: string;
11
+ onChange: (value: string) => void;
12
+ }
13
+
14
+ const sanitizeNumericInput = (raw: string): string => {
15
+ let value = raw.replaceAll(/[^0-9.-]/g, '');
16
+ const isNegative = value.startsWith('-');
17
+ value = value.replaceAll('-', '');
18
+ if (isNegative) {
19
+ value = `-${value}`;
20
+ }
21
+ const firstDot = value.indexOf('.');
22
+ if (firstDot >= 0) {
23
+ value = `${value.slice(0, firstDot + 1)}${value.slice(firstDot + 1).replaceAll('.', '')}`;
24
+ }
25
+ return value;
26
+ };
27
+
28
+ export function ConditionValueControl({
29
+ fieldType,
30
+ lookupSource,
31
+ onChange,
32
+ value,
33
+ }: Readonly<ConditionValueControlProps>) {
34
+ const { options, status } = useLookupOptions(lookupSource);
35
+
36
+ const selectedOption = useMemo(
37
+ () => options.find(option => option.key === value) ?? null,
38
+ [options, value],
39
+ );
40
+
41
+ if (status === 'loading') {
42
+ return (
43
+ <TextField label="Value" flex={1} disabled value="" placeholder="" aria-label="Value" />
44
+ );
45
+ }
46
+
47
+ // idle / fallback (no source, searchable source, empty, error, or timeout) -> free text.
48
+ if (status !== 'ready') {
49
+ const handleTextChange = (raw: string) => {
50
+ onChange(fieldType === 'number' ? sanitizeNumericInput(raw) : raw);
51
+ };
52
+
53
+ return (
54
+ <TextField
55
+ label="Value"
56
+ flex={1}
57
+ value={value}
58
+ onChange={e => handleTextChange(e.target.value)}
59
+ placeholder={fieldType === 'number' ? 'e.g. 1.5' : 'Enter value...'}
60
+ aria-label="Value"
61
+ {...(fieldType === 'number' && { inputMode: 'decimal' })}
62
+ />
63
+ );
64
+ }
65
+
66
+ return (
67
+ <Combobox
68
+ flex={1}
69
+ items={options}
70
+ selectedItem={selectedOption}
71
+ itemToKey={(item: LookupOption | null) => item?.key ?? ''}
72
+ itemToString={(item: LookupOption | null) => item?.label ?? ''}
73
+ onChange={(item: LookupOption | null) => onChange(item?.key ?? '')}
74
+ filterOptions={{ keys: ['label'] }}
75
+ >
76
+ <Combobox.SearchField label="Value" placeholder="Search value..." />
77
+ <Combobox.Content>
78
+ {({ items }: { items: LookupOption[] }) => (
79
+ <Combobox.List>
80
+ {items.map((item, i) => (
81
+ <Combobox.Item index={i} item={item} key={item.key}>
82
+ {item.label}
83
+ </Combobox.Item>
84
+ ))}
85
+ </Combobox.List>
86
+ )}
87
+ </Combobox.Content>
88
+ </Combobox>
89
+ );
90
+ }
@@ -1,6 +1,7 @@
1
1
  export * from './useFieldDrag';
2
2
  export * from './useFieldResize';
3
3
  export * from './useFormFields';
4
+ export * from './useLookupOptions';
4
5
  export * from './useFormulaEditor';
5
6
  export * from './usePdfDocumentRenderer';
6
7
  export * from './usePdfFieldDnD';
@@ -0,0 +1,86 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ import {
3
+ createLookupRequestId,
4
+ emitLookupOptionsRequest,
5
+ isSearchableLookupSource,
6
+ type LookupOption,
7
+ onLookupOptionsResponse,
8
+ } from '../interface/host-events';
9
+
10
+ /**
11
+ * - `idle` -> no lookup source (or a searchable source we skip for now): use free-text input.
12
+ * - `loading` -> request in flight: show a disabled/loading value control.
13
+ * - `ready` -> host returned options: render the dropdown.
14
+ * - `fallback` -> empty/error/timeout: fall back to free-text so the user is never blocked.
15
+ */
16
+ export type LookupOptionsStatus = 'idle' | 'loading' | 'ready' | 'fallback';
17
+
18
+ /** Time to wait for the host before falling back to free-text input. */
19
+ const LOOKUP_OPTIONS_TIMEOUT_MS = 10_000;
20
+
21
+ interface UseLookupOptionsResult {
22
+ status: LookupOptionsStatus;
23
+ options: LookupOption[];
24
+ }
25
+
26
+ /**
27
+ * Requests host-resolved dropdown options for a field's `fieldLookupSource` and exposes the
28
+ * resulting render state.
29
+ *
30
+ * Re-runs whenever `sourceKey` changes, ignores stale responses whose `requestId` does not match
31
+ * the latest request, and tears down its listener/timeout on unmount or source change. Falls back
32
+ * to free text for empty/searchable sources and on error/timeout so the user is never blocked.
33
+ */
34
+ export const useLookupOptions = (sourceKey: string | undefined): UseLookupOptionsResult => {
35
+ const [status, setStatus] = useState<LookupOptionsStatus>('idle');
36
+ const [options, setOptions] = useState<LookupOption[]>([]);
37
+ const latestRequestIdRef = useRef<string | null>(null);
38
+
39
+ useEffect(() => {
40
+ const normalizedSourceKey = sourceKey?.trim();
41
+ // No source, or a searchable source we intentionally skip for now.
42
+ if (!normalizedSourceKey || isSearchableLookupSource(normalizedSourceKey)) {
43
+ latestRequestIdRef.current = null;
44
+ setStatus('idle');
45
+ setOptions([]);
46
+ return;
47
+ }
48
+
49
+ const requestId = createLookupRequestId();
50
+ latestRequestIdRef.current = requestId;
51
+ setStatus('loading');
52
+ setOptions([]);
53
+
54
+ const timeoutId = setTimeout(() => {
55
+ if (latestRequestIdRef.current !== requestId) {
56
+ return;
57
+ }
58
+ setStatus('fallback');
59
+ setOptions([]);
60
+ }, LOOKUP_OPTIONS_TIMEOUT_MS);
61
+
62
+ const unsubscribe = onLookupOptionsResponse(response => {
63
+ // Ignore stale responses (different request, or superseded selection).
64
+ if (response.requestId !== requestId || latestRequestIdRef.current !== requestId) {
65
+ return;
66
+ }
67
+ clearTimeout(timeoutId);
68
+ if (response.options.length > 0) {
69
+ setOptions(response.options);
70
+ setStatus('ready');
71
+ } else {
72
+ setOptions([]);
73
+ setStatus('fallback');
74
+ }
75
+ });
76
+
77
+ emitLookupOptionsRequest({ requestId, sourceKey: normalizedSourceKey });
78
+
79
+ return () => {
80
+ clearTimeout(timeoutId);
81
+ unsubscribe();
82
+ };
83
+ }, [sourceKey]);
84
+
85
+ return { status, options };
86
+ };
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './interface/types';
2
+ export * from './interface/host-events';
2
3
  export * from './components';
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Host <-> editor contract for the "data-model lookup source" dropdown options (BYOD editor).
3
+ *
4
+ * A schema field can be tagged (in the template-type editor) with `options.fieldLookupSource`.
5
+ * When such a field is selected in the conditional-logic UI, the editor does NOT own the option
6
+ * data — it asks the HOST for it over the EventTarget bus below and renders whatever the host
7
+ * returns.
8
+ *
9
+ * Transport mirrors the unlayer `displayConditionController` / `lookupOptionsController` pattern: a
10
+ * module-scoped `EventTarget` shared by every consumer of this package (no global `window`
11
+ * pollution, no cross-instance leakage). The host imports `onLookupOptionsRequest` /
12
+ * `emitLookupOptionsResponse`; the editor uses `emitLookupOptionsRequest` / `onLookupOptionsResponse`.
13
+ *
14
+ * Event names (host <-> editor):
15
+ * - "dte-byod-client-mfe:lookup-options-request" (editor -> host)
16
+ * - "dte-byod-client-mfe:lookup-options-response" (host -> editor)
17
+ *
18
+ * The host-side resolver is implemented separately (it wires these events to the app's data
19
+ * providers, e.g. job types / states).
20
+ */
21
+
22
+ /** A single selectable option for a lookup-backed condition value. */
23
+ export interface LookupOption {
24
+ /** Human-readable text shown in the dropdown. */
25
+ label: string;
26
+ /** Value baked into the condition when the option is selected. */
27
+ key: string;
28
+ }
29
+
30
+ /** editor -> host: request the predefined options for a lookup source. */
31
+ export interface LookupOptionsRequest {
32
+ /** Correlates a response to its originating request. */
33
+ requestId: string;
34
+ /** The field's `options.fieldLookupSource` value. */
35
+ sourceKey: string;
36
+ /** Reserved for searchable sources (e.g. "city"); omitted for full-list sources. */
37
+ query?: string;
38
+ }
39
+
40
+ /** host -> editor: the resolved options for a previously emitted request. */
41
+ export interface LookupOptionsResponse {
42
+ /** Echoes {@link LookupOptionsRequest.requestId}; responses with a stale id are ignored. */
43
+ requestId: string;
44
+ options: LookupOption[];
45
+ }
46
+
47
+ /** editor -> host event name. */
48
+ export const LOOKUP_OPTIONS_REQUEST_EVENT = 'dte-byod-client-mfe:lookup-options-request';
49
+ /** host -> editor event name. */
50
+ export const LOOKUP_OPTIONS_RESPONSE_EVENT = 'dte-byod-client-mfe:lookup-options-response';
51
+
52
+ /**
53
+ * Lookup sources that require the host to search an API per typed query. These keep the free-text
54
+ * input for now (the editor only handles full-list, load-once sources).
55
+ */
56
+ export const SEARCHABLE_LOOKUP_SOURCES = ['city'] as const;
57
+
58
+ export type SearchableLookupSource = (typeof SEARCHABLE_LOOKUP_SOURCES)[number];
59
+
60
+ /** True when a lookup source is searchable (host-side per-query search) rather than a full list. */
61
+ export const isSearchableLookupSource = (sourceKey: string | undefined): boolean => {
62
+ return !!sourceKey && (SEARCHABLE_LOOKUP_SOURCES as readonly string[]).includes(sourceKey);
63
+ };
64
+
65
+ /** Generate a unique request id for correlating request/response pairs. */
66
+ export const createLookupRequestId = (): string => {
67
+ return `lookup-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
68
+ };
69
+
70
+ const lookupOptionsEvents = new EventTarget();
71
+
72
+ /** editor -> host: ask the host to resolve options for a lookup source. */
73
+ export const emitLookupOptionsRequest = (request: LookupOptionsRequest) => {
74
+ lookupOptionsEvents.dispatchEvent(
75
+ new CustomEvent<LookupOptionsRequest>(LOOKUP_OPTIONS_REQUEST_EVENT, { detail: request }),
76
+ );
77
+ };
78
+
79
+ /** host side: listen for editor requests. Returns an unsubscribe function. */
80
+ export const onLookupOptionsRequest = (listener: (request: LookupOptionsRequest) => void) => {
81
+ const handler = (event: Event) => {
82
+ const detail = (event as CustomEvent<LookupOptionsRequest>).detail;
83
+ if (!detail) {
84
+ return;
85
+ }
86
+ listener(detail);
87
+ };
88
+
89
+ lookupOptionsEvents.addEventListener(LOOKUP_OPTIONS_REQUEST_EVENT, handler);
90
+
91
+ return () => {
92
+ lookupOptionsEvents.removeEventListener(LOOKUP_OPTIONS_REQUEST_EVENT, handler);
93
+ };
94
+ };
95
+
96
+ /** host -> editor: deliver resolved options back to the editor. */
97
+ export const emitLookupOptionsResponse = (response: LookupOptionsResponse) => {
98
+ lookupOptionsEvents.dispatchEvent(
99
+ new CustomEvent<LookupOptionsResponse>(LOOKUP_OPTIONS_RESPONSE_EVENT, { detail: response }),
100
+ );
101
+ };
102
+
103
+ /** editor side: listen for host responses. Returns an unsubscribe function. */
104
+ export const onLookupOptionsResponse = (listener: (response: LookupOptionsResponse) => void) => {
105
+ const handler = (event: Event) => {
106
+ const detail = (event as CustomEvent<LookupOptionsResponse>).detail;
107
+ if (!detail) {
108
+ return;
109
+ }
110
+ listener(detail);
111
+ };
112
+
113
+ lookupOptionsEvents.addEventListener(LOOKUP_OPTIONS_RESPONSE_EVENT, handler);
114
+
115
+ return () => {
116
+ lookupOptionsEvents.removeEventListener(LOOKUP_OPTIONS_RESPONSE_EVENT, handler);
117
+ };
118
+ };
@@ -303,4 +303,5 @@ export interface DataPointOption {
303
303
  formSnapshot?: FormulaFieldFormSnapshot;
304
304
  isRadioGroup?: boolean;
305
305
  radioOptions?: RadioGroupOption[];
306
+ lookupSource?: string;
306
307
  }
@@ -18,7 +18,7 @@ function isUseInConditionals(
18
18
 
19
19
  function isValueNode(
20
20
  node: SchemaNode,
21
- ): node is { type: 'string' | 'number'; title?: string; options?: object } {
21
+ ): node is { type: 'string' | 'number'; title?: string; options?: { fieldLookupSource?: string } } {
22
22
  return node?.type === 'string' || node?.type === 'number';
23
23
  }
24
24
 
@@ -44,6 +44,7 @@ function walkSchema(
44
44
  fieldType,
45
45
  fullKey,
46
46
  title: fullTitle || fullKey,
47
+ lookupSource: node.options?.fieldLookupSource?.trim(),
47
48
  });
48
49
  }
49
50
  }