@servicetitan/dte-pdf-editor 1.92.0 → 1.92.2

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 (153) hide show
  1. package/dist/components/field-config-panel/field-sidebar.d.ts.map +1 -1
  2. package/dist/components/field-config-panel/field-sidebar.js +8 -4
  3. package/dist/components/field-config-panel/field-sidebar.js.map +1 -1
  4. package/dist/components/field-sidebar/calculated-field-type-list.d.ts.map +1 -1
  5. package/dist/components/field-sidebar/calculated-field-type-list.js +1 -1
  6. package/dist/components/field-sidebar/calculated-field-type-list.js.map +1 -1
  7. package/dist/components/field-sidebar/data-model-field-type-list.d.ts +15 -1
  8. package/dist/components/field-sidebar/data-model-field-type-list.d.ts.map +1 -1
  9. package/dist/components/field-sidebar/data-model-field-type-list.js +54 -10
  10. package/dist/components/field-sidebar/data-model-field-type-list.js.map +1 -1
  11. package/dist/components/field-sidebar/e-sign-field-type-list.d.ts.map +1 -1
  12. package/dist/components/field-sidebar/e-sign-field-type-list.js +1 -1
  13. package/dist/components/field-sidebar/e-sign-field-type-list.js.map +1 -1
  14. package/dist/components/field-sidebar/field-sidebar.d.ts +7 -0
  15. package/dist/components/field-sidebar/field-sidebar.d.ts.map +1 -1
  16. package/dist/components/field-sidebar/field-sidebar.js +8 -11
  17. package/dist/components/field-sidebar/field-sidebar.js.map +1 -1
  18. package/dist/components/field-sidebar/field-type.d.ts +0 -2
  19. package/dist/components/field-sidebar/field-type.d.ts.map +1 -1
  20. package/dist/components/field-sidebar/field-type.js +2 -2
  21. package/dist/components/field-sidebar/field-type.js.map +1 -1
  22. package/dist/components/field-sidebar/fillable-field-type-list.d.ts.map +1 -1
  23. package/dist/components/field-sidebar/fillable-field-type-list.js +1 -1
  24. package/dist/components/field-sidebar/fillable-field-type-list.js.map +1 -1
  25. package/dist/components/field-sidebar/form-fields-type-list.d.ts +28 -5
  26. package/dist/components/field-sidebar/form-fields-type-list.d.ts.map +1 -1
  27. package/dist/components/field-sidebar/form-fields-type-list.js +27 -6
  28. package/dist/components/field-sidebar/form-fields-type-list.js.map +1 -1
  29. package/dist/components/field-sidebar/generic-field-type-list.d.ts.map +1 -1
  30. package/dist/components/field-sidebar/generic-field-type-list.js +1 -1
  31. package/dist/components/field-sidebar/generic-field-type-list.js.map +1 -1
  32. package/dist/components/pdf-canvas/canvas-controls.d.ts +15 -9
  33. package/dist/components/pdf-canvas/canvas-controls.d.ts.map +1 -1
  34. package/dist/components/pdf-canvas/canvas-controls.js +14 -4
  35. package/dist/components/pdf-canvas/canvas-controls.js.map +1 -1
  36. package/dist/components/pdf-canvas/pdf-canvas.d.ts +2 -6
  37. package/dist/components/pdf-canvas/pdf-canvas.d.ts.map +1 -1
  38. package/dist/components/pdf-canvas/pdf-canvas.js +5 -11
  39. package/dist/components/pdf-canvas/pdf-canvas.js.map +1 -1
  40. package/dist/components/pdf-editor/pdf-editor.d.ts +0 -2
  41. package/dist/components/pdf-editor/pdf-editor.d.ts.map +1 -1
  42. package/dist/components/pdf-editor/pdf-editor.js +4 -3
  43. package/dist/components/pdf-editor/pdf-editor.js.map +1 -1
  44. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.js +1 -4
  45. package/dist/components/pdf-fields-overlay/pdf-fields-overlay.js.map +1 -1
  46. package/dist/components/pdf-fields-overlay/pdf-overlay-field-e-sign.d.ts.map +1 -1
  47. package/dist/components/pdf-fields-overlay/pdf-overlay-field-e-sign.js +2 -3
  48. package/dist/components/pdf-fields-overlay/pdf-overlay-field-e-sign.js.map +1 -1
  49. package/dist/components/pdf-fields-overlay/pdf-overlay-field.d.ts.map +1 -1
  50. package/dist/components/pdf-fields-overlay/pdf-overlay-field.js +2 -4
  51. package/dist/components/pdf-fields-overlay/pdf-overlay-field.js.map +1 -1
  52. package/dist/components/pdf-view/pdf-view-e-sign.d.ts.map +1 -1
  53. package/dist/components/pdf-view/pdf-view-e-sign.js +2 -3
  54. package/dist/components/pdf-view/pdf-view-e-sign.js.map +1 -1
  55. package/dist/components/pdf-view/pdf-view-field-container.d.ts.map +1 -1
  56. package/dist/components/pdf-view/pdf-view-field-container.js +3 -10
  57. package/dist/components/pdf-view/pdf-view-field-container.js.map +1 -1
  58. package/dist/components/pdf-view/pdf-view-fillable.js +1 -1
  59. package/dist/components/pdf-view/pdf-view-fillable.js.map +1 -1
  60. package/dist/components/pdf-view/pdf-view.d.ts +0 -5
  61. package/dist/components/pdf-view/pdf-view.d.ts.map +1 -1
  62. package/dist/components/pdf-view/pdf-view.js +24 -51
  63. package/dist/components/pdf-view/pdf-view.js.map +1 -1
  64. package/dist/constants/field.constants.d.ts.map +1 -1
  65. package/dist/constants/field.constants.js +6 -27
  66. package/dist/constants/field.constants.js.map +1 -1
  67. package/dist/constants/menu-group.d.ts +5 -0
  68. package/dist/constants/menu-group.d.ts.map +1 -1
  69. package/dist/constants/menu-group.js +5 -2
  70. package/dist/constants/menu-group.js.map +1 -1
  71. package/dist/hooks/index.d.ts +0 -1
  72. package/dist/hooks/index.d.ts.map +1 -1
  73. package/dist/hooks/index.js +0 -1
  74. package/dist/hooks/index.js.map +1 -1
  75. package/dist/hooks/useFormFields.d.ts +3 -1
  76. package/dist/hooks/useFormFields.d.ts.map +1 -1
  77. package/dist/hooks/useFormFields.js +20 -3
  78. package/dist/hooks/useFormFields.js.map +1 -1
  79. package/dist/hooks/useZoom.d.ts +0 -2
  80. package/dist/hooks/useZoom.d.ts.map +1 -1
  81. package/dist/hooks/useZoom.js +6 -18
  82. package/dist/hooks/useZoom.js.map +1 -1
  83. package/dist/interface/types.d.ts +0 -2
  84. package/dist/interface/types.d.ts.map +1 -1
  85. package/dist/interface/types.js.map +1 -1
  86. package/dist/styles/field-type.css +5 -0
  87. package/dist/styles/formula-modal.css +17 -0
  88. package/dist/styles/pdf-canvas.css +15 -91
  89. package/dist/styles/pdf-editor.css +0 -1
  90. package/dist/styles/pdf-field-overlay.css +78 -109
  91. package/dist/styles/variables.css +0 -3
  92. package/dist/utils/field/get-navigable-fields.utils.js +1 -1
  93. package/dist/utils/field/get-navigable-fields.utils.js.map +1 -1
  94. package/dist/utils/field/index.d.ts +0 -1
  95. package/dist/utils/field/index.d.ts.map +1 -1
  96. package/dist/utils/field/index.js +0 -1
  97. package/dist/utils/field/index.js.map +1 -1
  98. package/dist/utils/pdf/index.d.ts +0 -1
  99. package/dist/utils/pdf/index.d.ts.map +1 -1
  100. package/dist/utils/pdf/index.js +0 -1
  101. package/dist/utils/pdf/index.js.map +1 -1
  102. package/package.json +1 -1
  103. package/src/components/field-config-panel/field-sidebar.tsx +24 -8
  104. package/src/components/field-sidebar/calculated-field-type-list.tsx +0 -1
  105. package/src/components/field-sidebar/data-model-field-type-list.tsx +143 -29
  106. package/src/components/field-sidebar/e-sign-field-type-list.tsx +0 -1
  107. package/src/components/field-sidebar/field-sidebar.tsx +19 -18
  108. package/src/components/field-sidebar/field-type.tsx +3 -13
  109. package/src/components/field-sidebar/fillable-field-type-list.tsx +0 -1
  110. package/src/components/field-sidebar/form-fields-type-list.tsx +137 -95
  111. package/src/components/field-sidebar/generic-field-type-list.tsx +0 -1
  112. package/src/components/pdf-canvas/canvas-controls.tsx +128 -30
  113. package/src/components/pdf-canvas/pdf-canvas.tsx +8 -18
  114. package/src/components/pdf-editor/pdf-editor.tsx +5 -7
  115. package/src/components/pdf-fields-overlay/pdf-fields-overlay.tsx +1 -1
  116. package/src/components/pdf-fields-overlay/pdf-overlay-field-e-sign.tsx +6 -8
  117. package/src/components/pdf-fields-overlay/pdf-overlay-field.tsx +1 -17
  118. package/src/components/pdf-view/pdf-view-e-sign.tsx +6 -8
  119. package/src/components/pdf-view/pdf-view-field-container.tsx +1 -21
  120. package/src/components/pdf-view/pdf-view-fillable.tsx +1 -1
  121. package/src/components/pdf-view/pdf-view.tsx +95 -156
  122. package/src/constants/field.constants.ts +6 -28
  123. package/src/constants/menu-group.ts +5 -2
  124. package/src/hooks/index.ts +0 -1
  125. package/src/hooks/useFormFields.ts +24 -2
  126. package/src/hooks/useZoom.ts +8 -20
  127. package/src/interface/types.ts +0 -3
  128. package/src/styles/field-type.css +5 -0
  129. package/src/styles/formula-modal.css +17 -0
  130. package/src/styles/pdf-canvas.css +15 -91
  131. package/src/styles/pdf-editor.css +0 -1
  132. package/src/styles/pdf-field-overlay.css +78 -109
  133. package/src/styles/variables.css +0 -3
  134. package/src/utils/field/get-navigable-fields.utils.ts +1 -1
  135. package/src/utils/field/index.ts +0 -1
  136. package/src/utils/pdf/index.ts +0 -1
  137. package/dist/hooks/usePinchZoom.d.ts +0 -14
  138. package/dist/hooks/usePinchZoom.d.ts.map +0 -1
  139. package/dist/hooks/usePinchZoom.js +0 -58
  140. package/dist/hooks/usePinchZoom.js.map +0 -1
  141. package/dist/utils/field/get-field-type-option.utils.d.ts +0 -3
  142. package/dist/utils/field/get-field-type-option.utils.d.ts.map +0 -1
  143. package/dist/utils/field/get-field-type-option.utils.js +0 -10
  144. package/dist/utils/field/get-field-type-option.utils.js.map +0 -1
  145. package/dist/utils/pdf/pinch-zoom.utils.d.ts +0 -6
  146. package/dist/utils/pdf/pinch-zoom.utils.d.ts.map +0 -1
  147. package/dist/utils/pdf/pinch-zoom.utils.js +0 -18
  148. package/dist/utils/pdf/pinch-zoom.utils.js.map +0 -1
  149. package/src/hooks/usePinchZoom.ts +0 -86
  150. package/src/utils/field/__tests__/get-field-type-option.utils.test.ts +0 -53
  151. package/src/utils/field/get-field-type-option.utils.ts +0 -16
  152. package/src/utils/pdf/__tests__/pinch-zoom.utils.test.ts +0 -58
  153. package/src/utils/pdf/pinch-zoom.utils.ts +0 -30
@@ -69,6 +69,18 @@
69
69
  gap: 0;
70
70
  }
71
71
 
72
+ /*
73
+ * The panels share one scroller, so the list — always the taller of the two — would otherwise keep
74
+ * driving the scroll height while the fields panel is shown, leaving the fields followed by a
75
+ * screenful of nothing. Both bounds are needed: the min-content floor above keeps a max-height on
76
+ * its own from taking effect.
77
+ */
78
+ .dte-formula-sidebar-slide-track.--detail .dte-formula-sidebar-slide-panel:not(.--form-fields) {
79
+ min-height: 0;
80
+ max-height: 0;
81
+ overflow: hidden;
82
+ }
83
+
72
84
  .dte-formula-sidebar-forms-heading {
73
85
  flex-shrink: 0;
74
86
  }
@@ -94,6 +106,11 @@
94
106
  white-space: nowrap;
95
107
  }
96
108
 
109
+ .dte-formula-field-list-item.--skeleton {
110
+ cursor: default;
111
+ pointer-events: none;
112
+ }
113
+
97
114
  .dte-formula-field-list-item:hover,
98
115
  .dte-formula-field-list-item.--highlight {
99
116
  color: var(--color-neutral-100, #e8e8e8);
@@ -5,106 +5,30 @@
5
5
  margin-inline-end: auto;
6
6
  }
7
7
 
8
- .dte-pdf-canvas-container {
9
- touch-action: pan-x pan-y;
10
- }
11
-
12
- .dte-pdf-zoom-controls-value {
13
- min-width: 44px;
14
- text-align: center;
15
- cursor: pointer;
16
- user-select: none;
17
- }
18
-
19
- .dte-pdf-zoom-controls {
20
- background-color: var(--bg-color-light, #ffffff);
21
- border: 1px solid var(--border-color, #e0e0e0);
22
- border-radius: var(--radius-2, 8px);
23
- position: fixed;
24
- z-index: 2;
25
-
26
- &.--vertical {
27
- flex-direction: column;
28
- }
29
-
30
- &.--right-center {
31
- right: 24px;
32
- top: 50%;
33
- transform: translateY(-50%);
34
- }
35
-
36
- &.--right-bottom {
37
- right: 24px;
38
- bottom: 24px;
39
- }
40
- }
41
-
42
- .dte-pdf-field-next-controls-button {
43
- background-color: #0365dd;
44
- cursor: pointer;
45
- color: var(--color-neutral-0, #ffffff);
46
- border-radius: var(--border-radius-2, 6px);
47
- font-size: var(--typescale-1, 12px);
48
- font-family: 'Nunito Sans';
49
- font-weight: var(--font-weight-semibold, 600);
50
- font-stretch: 100%;
51
-
52
- &.--started {
53
- &:after {
54
- content: '';
55
- position: absolute;
56
- right: -1em;
57
- height: 100%;
58
- width: 1.3em;
59
- background-color: inherit;
60
- clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
61
- }
62
- }
63
-
64
- &.--disabled {
65
- background-color: var(--color-neutral-300, #e0e0e0);
66
- cursor: not-allowed;
67
- }
68
-
69
- > span {
70
- position: relative;
71
- padding: 5px var(--spacing-1);
72
- display: inline-block;
73
- }
74
- }
75
-
76
8
  .dte-pdf-canvas-controls {
77
9
  z-index: 1;
78
10
  position: sticky;
79
11
  top: 0;
80
12
  left: 0;
81
- background: var(--bg-color-highlited, #0265dc);
82
- padding: var(--spacing-2, 16px);
83
-
84
- .dte-pdf-field-next-controls-button:after {
85
- display: none;
86
- }
13
+ background: var(--bg-color-main, #fafafa);
14
+ box-shadow: 0 2px 4px rgb(0 0 0 / 15%);
15
+ padding: var(--spacing-half) var(--spacing-1);
87
16
  }
88
17
 
89
- .dte-pdf-movable-next-button-wrapper {
90
- top: 50px;
91
- transform: translateX(-100%);
92
- position: absolute;
93
- z-index: 2;
18
+ .dte-pdf-zoom-controls-value {
19
+ min-width: 44px;
20
+ text-align: center;
21
+ cursor: pointer;
22
+ user-select: none;
94
23
  }
95
24
 
96
- @media (max-width: 1000px) {
97
- .dte-pdf-movable-next-button-wrapper {
98
- display: none;
99
- }
100
-
101
- .dte-pdf-zoom-controls {
102
- display: none !important;
103
- }
25
+ .dte-pdf-zoom-controls,
26
+ .dte-pdf-field-navigation-controls {
27
+ border-radius: var(--radius-1, 4px);
28
+ padding: var(--spacing-half);
29
+ background-color: var(--bg-color-secondary, #eeeeee);
104
30
  }
105
31
 
106
- @media (min-width: 1001px) {
107
- .dte-pdf-editor-theme > .dte-pdf-canvas-controls {
108
- display: none;
109
- }
32
+ .dte-pdf-field-view.--eSign:focus {
33
+ outline: 2px solid var(--border-color-active);
110
34
  }
@@ -14,7 +14,6 @@
14
14
  min-width: 0;
15
15
  overflow: auto;
16
16
  overscroll-behavior: none;
17
- touch-action: pan-x pan-y;
18
17
  background-color: var(--bg-color-main, #eeeeee);
19
18
  width: 100%;
20
19
 
@@ -5,10 +5,10 @@
5
5
  width: 100%;
6
6
  height: 100%;
7
7
  pointer-events: none;
8
+ }
8
9
 
9
- &.--view-mode {
10
- pointer-events: auto;
11
- }
10
+ .dte-pdf-field-overlay.--view-mode {
11
+ pointer-events: auto;
12
12
  }
13
13
 
14
14
  /* Editor-only chrome. Layout metrics come from getFieldBoundsStyle. */
@@ -17,34 +17,33 @@
17
17
  outline-offset: 0;
18
18
  border: none;
19
19
  pointer-events: auto;
20
- border-radius: 4px;
20
+ }
21
21
 
22
- &.--edit-mode {
23
- overflow: unset !important;
24
- }
22
+ .dte-pdf-field-editor.fillable-radio.--edit-mode {
23
+ overflow: unset !important;
24
+ }
25
25
 
26
- &.--selected {
27
- outline: 2px solid var(--border-color-active);
28
- cursor: move;
29
- }
26
+ .dte-pdf-field-editor.--selected {
27
+ outline: 2px solid var(--border-color-active);
28
+ cursor: move;
29
+ }
30
30
 
31
- &.--unselected {
32
- cursor: pointer;
33
- }
31
+ .dte-pdf-field-editor.--unselected {
32
+ cursor: pointer;
33
+ }
34
34
 
35
- &.--dragging {
36
- opacity: 0.5;
37
- }
35
+ .dte-pdf-field-editor.--dragging {
36
+ opacity: 0.5;
37
+ }
38
38
 
39
- &.--colored:not(.--selected) {
40
- outline-color: var(--border-color-active) !important;
41
- box-shadow: 0 0 2px 0 var(--border-color-active);
42
- }
39
+ .dte-pdf-field-editor.--colored:not(.--selected) {
40
+ outline-color: var(--border-color-active) !important;
41
+ box-shadow: 0 0 2px 0 var(--border-color-active);
42
+ }
43
43
 
44
- &.--error {
45
- outline-color: var(--danger) !important;
46
- box-shadow: 0 0 4px 0 var(--danger);
47
- }
44
+ .dte-pdf-field-editor.--error {
45
+ outline-color: var(--danger) !important;
46
+ box-shadow: 0 0 4px 0 var(--danger);
48
47
  }
49
48
 
50
49
  .dte-pdf-field-error-message {
@@ -53,26 +52,7 @@
53
52
  position: absolute;
54
53
  margin-top: var(--spacing-half, 4px);
55
54
  color: var(--danger);
56
- font-size: var(--typescale-small, 10px);
57
- }
58
-
59
- .dte-pdf-field-label {
60
- position: absolute;
61
- display: flex;
62
- align-items: center;
63
- gap: var(--spacing-half, 4px);
64
- background-color: var(--color-neutral-0, #ffffff);
65
- border-radius: 4px;
66
- padding: 1px var(--spacing-half, 4px);
67
- top: -10px;
68
- left: 3px;
69
- font-size: var(--typescale-small, 10px);
70
- line-height: 1;
71
- white-space: nowrap;
72
- color: var(--menu-active-color, #2270ee);
73
- border-width: 1px;
74
- border-style: solid;
75
- border-color: inherit;
55
+ font-size: var(--typescale-1, 12px);
76
56
  }
77
57
 
78
58
  .dte-pdf-field-resize-handle {
@@ -85,10 +65,10 @@
85
65
  cursor: nwse-resize;
86
66
  z-index: 10;
87
67
  box-sizing: border-box;
68
+ }
88
69
 
89
- &:hover {
90
- border-color: var(--border-color-active);
91
- }
70
+ .dte-pdf-field-resize-handle:hover {
71
+ border-color: var(--border-color-active);
92
72
  }
93
73
 
94
74
  .dte-add-field-button {
@@ -100,10 +80,10 @@
100
80
  padding: var(--spacing-0, 0);
101
81
  width: 20px;
102
82
  height: 20px;
83
+ }
103
84
 
104
- .dte-pdf-field-editor:hover & {
105
- display: block;
106
- }
85
+ .dte-pdf-field-editor:hover .dte-add-field-button {
86
+ display: block;
107
87
  }
108
88
 
109
89
  .dte-pdf-field-view {
@@ -111,17 +91,6 @@
111
91
  outline: none;
112
92
  cursor: default;
113
93
  pointer-events: auto;
114
-
115
- &.--fillable,
116
- &.--eSign {
117
- border-style: dashed;
118
- border-width: 1px;
119
- border-radius: 4px;
120
-
121
- &:focus {
122
- outline: 2px solid var(--border-color-active);
123
- }
124
- }
125
94
  }
126
95
 
127
96
  .dte-pdf-field-content {
@@ -130,15 +99,15 @@
130
99
  min-height: 0;
131
100
  overflow: hidden;
132
101
  line-height: 1;
102
+ }
133
103
 
134
- input[type='checkbox']:focus,
135
- input[type='checkbox']:active,
136
- input[type='radio']:active,
137
- input[type='radio']:focus {
138
- box-shadow:
139
- 0 0 0 2px var(--border-color-active, #2270ee) inset,
140
- 0 0 0 3px var(--color-neutral-0, #ffffff) inset;
141
- }
104
+ .dte-pdf-field-content input[type='checkbox']:focus,
105
+ .dte-pdf-field-content input[type='checkbox']:active,
106
+ .dte-pdf-field-content input[type='radio']:active,
107
+ .dte-pdf-field-content input[type='radio']:focus {
108
+ box-shadow:
109
+ 0 0 0 2px var(--border-color-active, #2270ee) inset,
110
+ 0 0 0 3px var(--color-neutral-0, #ffffff) inset;
142
111
  }
143
112
 
144
113
  /*
@@ -181,37 +150,37 @@
181
150
  min-width: 0;
182
151
  min-height: 0;
183
152
  box-sizing: border-box;
184
- background: transparent;
153
+ background: inherit;
185
154
  border: none;
186
155
  padding: var(--spacing-0);
187
156
  margin: var(--spacing-0);
188
157
  line-height: 1;
189
158
  font-size: inherit;
159
+ }
190
160
 
191
- &.dte-pdf-field-text--single-line {
192
- white-space: nowrap;
193
- overflow: hidden;
194
- }
161
+ .dte-pdf-field-editor .dte-pdf-field-fillable {
162
+ pointer-events: none;
163
+ }
195
164
 
196
- &.dte-pdf-field-text--multiline {
197
- white-space: pre-wrap;
198
- overflow-wrap: break-word;
199
- overflow: hidden;
200
- resize: none;
201
- }
165
+ .dte-pdf-field-view .dte-pdf-field-fillable {
166
+ pointer-events: auto;
167
+ }
202
168
 
203
- &:focus {
204
- outline: 2px solid var(--border-color-active, #2270ee);
205
- outline-offset: 2px;
206
- }
169
+ .dte-pdf-field-fillable.dte-pdf-field-text--single-line {
170
+ white-space: nowrap;
171
+ overflow: hidden;
172
+ }
207
173
 
208
- .dte-pdf-field-editor & {
209
- pointer-events: none;
210
- }
174
+ .dte-pdf-field-fillable.dte-pdf-field-text--multiline {
175
+ white-space: pre-wrap;
176
+ overflow-wrap: break-word;
177
+ overflow: hidden;
178
+ resize: none;
179
+ }
211
180
 
212
- .dte-pdf-field-view & {
213
- pointer-events: auto;
214
- }
181
+ .dte-pdf-field-fillable:focus {
182
+ outline: 2px solid var(--border-color-active, #2270ee);
183
+ outline-offset: 2px;
215
184
  }
216
185
 
217
186
  .dte-pdf-field-generic-table {
@@ -220,27 +189,27 @@
220
189
  border-spacing: var(--spacing-0, 0);
221
190
  width: 100%;
222
191
  table-layout: fixed;
192
+ }
223
193
 
224
- td {
225
- border-top: 1px solid var(--border-color);
226
- border-left: 1px solid var(--border-color);
227
- padding-inline: var(--spacing-1, 8px);
228
- }
194
+ .dte-pdf-field-generic-table td {
195
+ border-top: 1px solid var(--border-color);
196
+ border-left: 1px solid var(--border-color);
197
+ padding-inline: var(--spacing-1, 8px);
198
+ }
229
199
 
230
- .dte-pdf-field-generic-table-header td {
231
- background-color: var(--bg-color);
232
- font-weight: bold;
233
- }
200
+ .dte-pdf-field-generic-table .dte-pdf-field-generic-table-header td {
201
+ background-color: var(--bg-color);
202
+ font-weight: bold;
203
+ }
234
204
 
235
- tr:not(.dte-pdf-field-generic-table-header) td {
236
- background-color: var(--bg-color-light);
237
- }
205
+ .dte-pdf-field-generic-table tr:not(.dte-pdf-field-generic-table-header) td {
206
+ background-color: var(--bg-color-light);
207
+ }
238
208
 
239
- tr:last-child td {
240
- border-bottom: 1px solid var(--border-color);
241
- }
209
+ .dte-pdf-field-generic-table tr:last-child td {
210
+ border-bottom: 1px solid var(--border-color);
211
+ }
242
212
 
243
- tr td:last-child {
244
- border-right: 1px solid var(--border-color);
245
- }
213
+ .dte-pdf-field-generic-table tr td:last-child {
214
+ border-right: 1px solid var(--border-color);
246
215
  }
@@ -6,7 +6,6 @@
6
6
  --menu-hover-color: var(--color-neutral-100, #606162);
7
7
 
8
8
  /* Typography */
9
- --typescale-small: 10px;
10
9
  --typescale-0: var(--typescale-1, 12px);
11
10
  --typescale-1: var(--typescale-1, 14px);
12
11
 
@@ -21,7 +20,6 @@
21
20
  --radius-0: 0;
22
21
  --radius-1: 4px;
23
22
  --radius-2: 8px;
24
- --radius-3: 16px;
25
23
 
26
24
  /* Colors - Neutral */
27
25
  --color-neutral-0: var(--color-neutral-0, #ffffff);
@@ -33,7 +31,6 @@
33
31
  --color-blue-100: var(--color-blue-100, #fafcff);
34
32
 
35
33
  /* Background colors */
36
- --bg-color-highlited: var(--color-blue-400);
37
34
  --bg-color-light: var(--color-neutral-0, #ffffff);
38
35
  --bg-color-main: var(--color-neutral-20, #fafafa);
39
36
  --bg-color-secondary: var(--color-neutral-50, #eeeeee);
@@ -1,6 +1,6 @@
1
1
  import { FieldTypeEnum } from '../../interface/types';
2
2
  import { evaluateDisplayCondition } from '../conditions';
3
- const navigableFields = [FieldTypeEnum.fillable];
3
+ const navigableFields = [FieldTypeEnum.fillable, FieldTypeEnum.eSign];
4
4
  export const getNavigableFieldsUtils = (fields, fillingBy, activeData) => {
5
5
  if (!(fillingBy === null || fillingBy === void 0 ? void 0 : fillingBy.length)) {
6
6
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"get-navigable-fields.utils.js","sourceRoot":"","sources":["../../../src/utils/field/get-navigable-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAY,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,eAAe,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,MAAkB,EAClB,SAAmB,EACnB,UAA2B,EAC7B,EAAE;IACA,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,MAAM;SACR,MAAM,CACH,KAAK,CAAC,EAAE,WACJ,OAAA,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAA,EAAA,CACxF;SACA,MAAM,CACH,KAAK,CAAC,EAAE,CACJ,CAAC,KAAK,CAAC,gBAAgB;QACvB,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CACnE,CAAC;AACV,CAAC,CAAC"}
1
+ {"version":3,"file":"get-navigable-fields.utils.js","sourceRoot":"","sources":["../../../src/utils/field/get-navigable-fields.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAY,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,eAAe,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,MAAkB,EAClB,SAAmB,EACnB,UAA2B,EAC7B,EAAE;IACA,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,MAAM;SACR,MAAM,CACH,KAAK,CAAC,EAAE,WACJ,OAAA,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAA,EAAA,CACxF;SACA,MAAM,CACH,KAAK,CAAC,EAAE,CACJ,CAAC,KAAK,CAAC,gBAAgB;QACvB,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CACnE,CAAC;AACV,CAAC,CAAC"}
@@ -8,7 +8,6 @@ export * from './field-resize.utils';
8
8
  export * from './get-field-bounds-style.utils';
9
9
  export * from './get-field-font-size.utils';
10
10
  export * from './get-field-text-clip.utils';
11
- export * from './get-field-type-option.utils';
12
11
  export * from './get-field-typography.utils';
13
12
  export * from './get-navigable-fields.utils';
14
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/field/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/field/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
@@ -8,7 +8,6 @@ export * from './field-resize.utils';
8
8
  export * from './get-field-bounds-style.utils';
9
9
  export * from './get-field-font-size.utils';
10
10
  export * from './get-field-text-clip.utils';
11
- export * from './get-field-type-option.utils';
12
11
  export * from './get-field-typography.utils';
13
12
  export * from './get-navigable-fields.utils';
14
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/field/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/field/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
@@ -1,4 +1,3 @@
1
1
  export * from './pdf-rendering.utils';
2
- export * from './pinch-zoom.utils';
3
2
  export * from './unit-conversion.utils';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/pdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/pdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
@@ -1,4 +1,3 @@
1
1
  export * from './pdf-rendering.utils';
2
- export * from './pinch-zoom.utils';
3
2
  export * from './unit-conversion.utils';
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/pdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/pdf/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/dte-pdf-editor",
3
- "version": "1.92.0",
3
+ "version": "1.92.2",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -1,4 +1,4 @@
1
- import { Button, Flex, SearchField, Text } from '@servicetitan/anvil2';
1
+ import { Button, Flex, SearchField, Skeleton, Text } from '@servicetitan/anvil2';
2
2
  import IconArrowBack from '@servicetitan/anvil2/assets/icons/material/round/keyboard_arrow_left.svg';
3
3
  import IconArrowForward from '@servicetitan/anvil2/assets/icons/material/round/keyboard_arrow_right.svg';
4
4
  import { FC, Fragment, useMemo, useState } from 'react';
@@ -152,12 +152,13 @@ export const FieldSidebar: FC<FieldSidebarProps> = ({
152
152
  justifyContent="space-between"
153
153
  alignItems="center"
154
154
  >
155
- <span
155
+ <Text
156
+ size="small"
156
157
  className="dte-text-ellipsis"
157
158
  title={form.name}
158
159
  >
159
160
  {form.name}
160
- </span>
161
+ </Text>
161
162
  <IconArrowForward />
162
163
  </Flex>
163
164
  </li>
@@ -237,6 +238,19 @@ interface FieldOptionListProps {
237
238
  isLoading?: boolean;
238
239
  }
239
240
 
241
+ /** Placeholder rows while a form's fields are in flight, in place of the rows they become. */
242
+ const FieldOptionSkeletonRows: FC = () => {
243
+ return (
244
+ <Fragment>
245
+ {Array.from({ length: 4 }, (_, index) => (
246
+ <div key={index} className="dte-formula-field-list-item --skeleton" aria-hidden>
247
+ <Skeleton.Text />
248
+ </div>
249
+ ))}
250
+ </Fragment>
251
+ );
252
+ };
253
+
240
254
  const FieldOptionList: FC<FieldOptionListProps> = ({
241
255
  highlightElementPath,
242
256
  isLoading,
@@ -258,9 +272,7 @@ const FieldOptionList: FC<FieldOptionListProps> = ({
258
272
  </Text>
259
273
  ) : null}
260
274
  {isLoading ? (
261
- <Text size="small" subdued variant="body">
262
- Loading fields…
263
- </Text>
275
+ <FieldOptionSkeletonRows />
264
276
  ) : options.length === 0 ? (
265
277
  <Text size="small" subdued variant="body">
266
278
  No fields on this form.
@@ -285,9 +297,13 @@ const FieldOptionList: FC<FieldOptionListProps> = ({
285
297
  }
286
298
  }}
287
299
  >
288
- <span className="dte-text-ellipsis" title={opt.label ?? opt.path}>
300
+ <Text
301
+ size="small"
302
+ className="dte-text-ellipsis"
303
+ title={opt.label ?? opt.path}
304
+ >
289
305
  {opt.label ?? opt.path}
290
- </span>
306
+ </Text>
291
307
  <Text
292
308
  size="small"
293
309
  subdued
@@ -18,7 +18,6 @@ export const CalculatedFieldTypeList: FC<CalculatedFieldTypeListProps> = ({
18
18
  return (
19
19
  <FieldType
20
20
  key={key}
21
- icon={fieldOption.icon}
22
21
  label={fieldOption.label}
23
22
  onDragEnd={onDragEnd}
24
23
  onDragStart={() => onDragStart(fieldOption)}