@servicetitan/dte-pdf-editor 1.96.1 → 1.96.3

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 (69) hide show
  1. package/README.md +26 -8
  2. package/dist/components/field-config-panel/advanced-settings.d.ts.map +1 -1
  3. package/dist/components/field-config-panel/advanced-settings.js +1 -0
  4. package/dist/components/field-config-panel/advanced-settings.js.map +1 -1
  5. package/dist/components/field-config-panel/e-sign-offset-rule-row.js +1 -1
  6. package/dist/components/field-config-panel/e-sign-offset-rule-row.js.map +1 -1
  7. package/dist/components/field-config-panel/e-sign-options-modal.d.ts.map +1 -1
  8. package/dist/components/field-config-panel/e-sign-options-modal.js +1 -0
  9. package/dist/components/field-config-panel/e-sign-options-modal.js.map +1 -1
  10. package/dist/components/field-config-panel/field-config-panel-overlay.d.ts.map +1 -1
  11. package/dist/components/field-config-panel/field-config-panel-overlay.js +23 -33
  12. package/dist/components/field-config-panel/field-config-panel-overlay.js.map +1 -1
  13. package/dist/components/field-config-panel/field-config-panel.d.ts +5 -0
  14. package/dist/components/field-config-panel/field-config-panel.d.ts.map +1 -1
  15. package/dist/components/field-config-panel/field-config-panel.js +5 -2
  16. package/dist/components/field-config-panel/field-config-panel.js.map +1 -1
  17. package/dist/components/field-config-panel/formula-modal.d.ts.map +1 -1
  18. package/dist/components/field-config-panel/formula-modal.js +4 -3
  19. package/dist/components/field-config-panel/formula-modal.js.map +1 -1
  20. package/dist/components/pdf-editor/pdf-editor.d.ts +12 -9
  21. package/dist/components/pdf-editor/pdf-editor.d.ts.map +1 -1
  22. package/dist/components/pdf-editor/pdf-editor.js.map +1 -1
  23. package/dist/constants/field.constants.js +1 -1
  24. package/dist/interface/types.d.ts +4 -8
  25. package/dist/interface/types.d.ts.map +1 -1
  26. package/dist/interface/types.js.map +1 -1
  27. package/dist/styles/field-config-panel-overlay.css +24 -0
  28. package/dist/utils/formula/index.d.ts +0 -1
  29. package/dist/utils/formula/index.d.ts.map +1 -1
  30. package/dist/utils/formula/index.js +0 -1
  31. package/dist/utils/formula/index.js.map +1 -1
  32. package/dist/vendor/dte-shared/business-calendar-validation.utils.d.ts +3 -0
  33. package/dist/vendor/dte-shared/business-calendar-validation.utils.js +4 -0
  34. package/dist/vendor/dte-shared/components/business-calendar-section.d.ts +1 -1
  35. package/dist/vendor/dte-shared/components/business-calendar-section.js +3 -2
  36. package/dist/vendor/dte-shared/components/schedule-drawer.d.ts +5 -3
  37. package/dist/vendor/dte-shared/components/schedule-drawer.js +19 -12
  38. package/dist/vendor/dte-shared/components/schedule-picker.js +10 -10
  39. package/dist/vendor/dte-shared/constants.d.ts +21 -0
  40. package/dist/vendor/dte-shared/constants.js +24 -0
  41. package/dist/vendor/dte-shared/field-schedule-editor-context.d.ts +31 -0
  42. package/dist/vendor/dte-shared/field-schedule-editor-context.js +110 -0
  43. package/dist/vendor/dte-shared/index.d.ts +2 -0
  44. package/dist/vendor/dte-shared/index.js +2 -0
  45. package/dist/vendor/dte-shared/schedule-bindings.utils.d.ts +22 -0
  46. package/dist/vendor/dte-shared/schedule-bindings.utils.js +31 -0
  47. package/dist/vendor/dte-shared/styles/schedule.css +2 -2
  48. package/dist/vendor/dte-shared/types.d.ts +62 -0
  49. package/package.json +2 -2
  50. package/src/components/field-config-panel/__tests__/field-config-panel-overlay.test.tsx +200 -0
  51. package/src/components/field-config-panel/__tests__/schedule-editor-placement.test.tsx +289 -0
  52. package/src/components/field-config-panel/__tests__/schedule-switch-visibility.test.tsx +206 -0
  53. package/src/components/field-config-panel/advanced-settings.tsx +1 -0
  54. package/src/components/field-config-panel/e-sign-offset-rule-row.tsx +1 -1
  55. package/src/components/field-config-panel/e-sign-options-modal.tsx +1 -0
  56. package/src/components/field-config-panel/field-config-panel-overlay.tsx +69 -91
  57. package/src/components/field-config-panel/field-config-panel.tsx +10 -1
  58. package/src/components/field-config-panel/formula-modal.tsx +5 -8
  59. package/src/components/pdf-editor/pdf-editor.tsx +12 -9
  60. package/src/constants/field.constants.ts +1 -1
  61. package/src/interface/types.ts +4 -8
  62. package/src/styles/field-config-panel-overlay.css +24 -0
  63. package/src/utils/formula/index.ts +0 -1
  64. package/dist/utils/formula/schedule-bindings.utils.d.ts +0 -12
  65. package/dist/utils/formula/schedule-bindings.utils.d.ts.map +0 -1
  66. package/dist/utils/formula/schedule-bindings.utils.js +0 -17
  67. package/dist/utils/formula/schedule-bindings.utils.js.map +0 -1
  68. package/src/utils/formula/__tests__/schedule-bindings.utils.test.ts +0 -73
  69. package/src/utils/formula/schedule-bindings.utils.ts +0 -27
@@ -1,73 +0,0 @@
1
- import { type FieldScheduleBinding } from '../../../interface/types';
2
- import { setFieldSchedule, setFieldScheduleEnabled } from '../schedule-bindings.utils';
3
-
4
- describe('setFieldScheduleEnabled', () => {
5
- test('adds a default-schedule binding when enabling a field with no existing binding', () => {
6
- expect(setFieldScheduleEnabled([], 'field-a', true)).toEqual([{ fieldKey: 'field-a' }]);
7
- });
8
-
9
- test('removing a field with no binding is a no-op', () => {
10
- const bindings: FieldScheduleBinding[] = [{ fieldKey: 'field-b', scheduleId: 7 }];
11
- expect(setFieldScheduleEnabled(bindings, 'field-a', false)).toEqual(bindings);
12
- });
13
-
14
- test('disabling removes the field from the bindings', () => {
15
- const bindings: FieldScheduleBinding[] = [
16
- { fieldKey: 'field-a', scheduleId: 3 },
17
- { fieldKey: 'field-b' },
18
- ];
19
- expect(setFieldScheduleEnabled(bindings, 'field-a', false)).toEqual([
20
- { fieldKey: 'field-b' },
21
- ]);
22
- });
23
-
24
- test('re-enabling after disabling resets to the default schedule, not the previous one', () => {
25
- const bindings: FieldScheduleBinding[] = [{ fieldKey: 'field-a', scheduleId: 3 }];
26
- const disabled = setFieldScheduleEnabled(bindings, 'field-a', false);
27
- expect(setFieldScheduleEnabled(disabled, 'field-a', true)).toEqual([
28
- { fieldKey: 'field-a' },
29
- ]);
30
- });
31
-
32
- test('leaves other fields untouched (field identity isolation)', () => {
33
- const bindings: FieldScheduleBinding[] = [
34
- { fieldKey: 'field-a', scheduleId: 1 },
35
- { fieldKey: 'field-b', scheduleId: 2 },
36
- ];
37
- const result = setFieldScheduleEnabled(bindings, 'field-a', false);
38
- expect(result).toEqual([{ fieldKey: 'field-b', scheduleId: 2 }]);
39
- });
40
- });
41
-
42
- describe('setFieldSchedule', () => {
43
- test('sets the default schedule (scheduleId undefined) for a new field', () => {
44
- expect(setFieldSchedule([], 'field-a', undefined)).toEqual([
45
- { fieldKey: 'field-a', scheduleId: undefined },
46
- ]);
47
- });
48
-
49
- test('sets a named schedule id for a new field', () => {
50
- expect(setFieldSchedule([], 'field-a', 42)).toEqual([
51
- { fieldKey: 'field-a', scheduleId: 42 },
52
- ]);
53
- });
54
-
55
- test('replaces an existing binding for the same field', () => {
56
- const bindings: FieldScheduleBinding[] = [{ fieldKey: 'field-a', scheduleId: 1 }];
57
- expect(setFieldSchedule(bindings, 'field-a', 2)).toEqual([
58
- { fieldKey: 'field-a', scheduleId: 2 },
59
- ]);
60
- });
61
-
62
- test('leaves other fields untouched (field identity isolation)', () => {
63
- const bindings: FieldScheduleBinding[] = [
64
- { fieldKey: 'field-a', scheduleId: 1 },
65
- { fieldKey: 'field-b', scheduleId: 2 },
66
- ];
67
- const result = setFieldSchedule(bindings, 'field-a', 9);
68
- expect(result).toEqual([
69
- { fieldKey: 'field-b', scheduleId: 2 },
70
- { fieldKey: 'field-a', scheduleId: 9 },
71
- ]);
72
- });
73
- });
@@ -1,27 +0,0 @@
1
- import { type FieldScheduleBinding } from '../../interface/types';
2
-
3
- /**
4
- * Replaces `fieldKey`'s binding: enabling adds it (default schedule, `scheduleId` undefined);
5
- * disabling removes it. Every other field's binding is returned unchanged.
6
- */
7
- export function setFieldScheduleEnabled(
8
- bindings: FieldScheduleBinding[],
9
- fieldKey: string,
10
- enabled: boolean,
11
- ): FieldScheduleBinding[] {
12
- const withoutField = bindings.filter(b => b.fieldKey !== fieldKey);
13
- return enabled ? [...withoutField, { fieldKey }] : withoutField;
14
- }
15
-
16
- /**
17
- * Sets `fieldKey`'s selected schedule (`scheduleId` undefined for the default schedule),
18
- * enabling its toggle if it wasn't already on. Every other field's binding is returned unchanged.
19
- */
20
- export function setFieldSchedule(
21
- bindings: FieldScheduleBinding[],
22
- fieldKey: string,
23
- scheduleId: number | undefined,
24
- ): FieldScheduleBinding[] {
25
- const withoutField = bindings.filter(b => b.fieldKey !== fieldKey);
26
- return [...withoutField, { fieldKey, scheduleId }];
27
- }