@servicetitan/dte-pdf-editor 1.92.1 → 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
@@ -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,7 +1,7 @@
1
1
  import { type DataModelValues, FieldTypeEnum, PdfField } from '../../interface/types';
2
2
  import { evaluateDisplayCondition } from '../conditions';
3
3
 
4
- const navigableFields = [FieldTypeEnum.fillable];
4
+ const navigableFields = [FieldTypeEnum.fillable, FieldTypeEnum.eSign];
5
5
 
6
6
  export const getNavigableFieldsUtils = (
7
7
  fields: PdfField[],
@@ -8,6 +8,5 @@ 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';
@@ -1,3 +1,2 @@
1
1
  export * from './pdf-rendering.utils';
2
- export * from './pinch-zoom.utils';
3
2
  export * from './unit-conversion.utils';
@@ -1,14 +0,0 @@
1
- import { RefObject } from 'react';
2
- interface UsePinchZoomOptions {
3
- enabled: boolean;
4
- zoom: number;
5
- setZoomValue(value: number): void;
6
- zoomByFactor(factor: number): void;
7
- }
8
- /**
9
- * Trackpad pinch (wheel + ctrlKey) and two-finger mobile pinch on `containerRef`.
10
- * Regular two-finger trackpad scroll is left alone so the page can still pan.
11
- */
12
- export declare const usePinchZoom: (containerRef: RefObject<HTMLElement | null>, { enabled, setZoomValue, zoom, zoomByFactor }: UsePinchZoomOptions) => void;
13
- export {};
14
- //# sourceMappingURL=usePinchZoom.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePinchZoom.d.ts","sourceRoot":"","sources":["../../src/hooks/usePinchZoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAQrD,UAAU,mBAAmB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GACrB,cAAc,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC3C,+CAA+C,mBAAmB,SAgErE,CAAC"}
@@ -1,58 +0,0 @@
1
- import { useEffect, useRef } from 'react';
2
- import { clampZoom, getPinchZoomValue, getTouchDistance, getWheelZoomFactor, } from '../utils';
3
- /**
4
- * Trackpad pinch (wheel + ctrlKey) and two-finger mobile pinch on `containerRef`.
5
- * Regular two-finger trackpad scroll is left alone so the page can still pan.
6
- */
7
- export const usePinchZoom = (containerRef, { enabled, setZoomValue, zoom, zoomByFactor }) => {
8
- const zoomRef = useRef(zoom);
9
- zoomRef.current = zoom;
10
- useEffect(() => {
11
- const container = containerRef.current;
12
- if (!container || !enabled) {
13
- return;
14
- }
15
- let pinchStartDistance = 0;
16
- let pinchStartZoom = zoomRef.current;
17
- const handleWheel = (event) => {
18
- if (!event.ctrlKey) {
19
- return;
20
- }
21
- event.preventDefault();
22
- zoomByFactor(getWheelZoomFactor(event.deltaY));
23
- };
24
- const handleTouchStart = (event) => {
25
- if (event.touches.length !== 2) {
26
- return;
27
- }
28
- pinchStartDistance = getTouchDistance(event.touches[0], event.touches[1]);
29
- pinchStartZoom = zoomRef.current;
30
- };
31
- const handleTouchMove = (event) => {
32
- if (event.touches.length !== 2 || pinchStartDistance <= 0) {
33
- return;
34
- }
35
- event.preventDefault();
36
- const currentDistance = getTouchDistance(event.touches[0], event.touches[1]);
37
- setZoomValue(clampZoom(getPinchZoomValue(pinchStartZoom, pinchStartDistance, currentDistance)));
38
- };
39
- const handleTouchEnd = (event) => {
40
- if (event.touches.length < 2) {
41
- pinchStartDistance = 0;
42
- }
43
- };
44
- container.addEventListener('wheel', handleWheel, { passive: false });
45
- container.addEventListener('touchstart', handleTouchStart, { passive: true });
46
- container.addEventListener('touchmove', handleTouchMove, { passive: false });
47
- container.addEventListener('touchend', handleTouchEnd);
48
- container.addEventListener('touchcancel', handleTouchEnd);
49
- return () => {
50
- container.removeEventListener('wheel', handleWheel);
51
- container.removeEventListener('touchstart', handleTouchStart);
52
- container.removeEventListener('touchmove', handleTouchMove);
53
- container.removeEventListener('touchend', handleTouchEnd);
54
- container.removeEventListener('touchcancel', handleTouchEnd);
55
- };
56
- }, [containerRef, enabled, setZoomValue, zoomByFactor]);
57
- };
58
- //# sourceMappingURL=usePinchZoom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePinchZoom.js","sourceRoot":"","sources":["../../src/hooks/usePinchZoom.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { type PdfField } from '../../interface/types';
2
- export declare const getFieldTypeOption: (field: Pick<PdfField, "type" | "subType">) => import("../..").FieldTypeOption | undefined;
3
- //# sourceMappingURL=get-field-type-option.utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-field-type-option.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/field/get-field-type-option.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMtD,eAAO,MAAM,kBAAkB,GAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,gDAQ3E,CAAC"}
@@ -1,10 +0,0 @@
1
- import { E_SIGN_FIELD_TYPES, FILLABLE_FIELD_TYPES } from '../../constants';
2
- const HIDDEN_OVERLAY_LABEL_SUBTYPES = new Set(['checkbox', 'radio']);
3
- const FIELD_TYPE_OPTIONS = [...FILLABLE_FIELD_TYPES, ...E_SIGN_FIELD_TYPES];
4
- export const getFieldTypeOption = (field) => {
5
- if (field.subType && HIDDEN_OVERLAY_LABEL_SUBTYPES.has(field.subType)) {
6
- return undefined;
7
- }
8
- return FIELD_TYPE_OPTIONS.find(option => option.type === field.type && option.subType === field.subType);
9
- };
10
- //# sourceMappingURL=get-field-type-option.utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-field-type-option.utils.js","sourceRoot":"","sources":["../../../src/utils/field/get-field-type-option.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG3E,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAErE,MAAM,kBAAkB,GAAG,CAAC,GAAG,oBAAoB,EAAE,GAAG,kBAAkB,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAyC,EAAE,EAAE;IAC5E,IAAI,KAAK,CAAC,OAAO,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,CAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAC3E,CAAC;AACN,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare const WHEEL_ZOOM_SENSITIVITY = 0.01;
2
- export declare const clampZoom: (value: number) => number;
3
- export declare const getWheelZoomFactor: (deltaY: number) => number;
4
- export declare const getTouchDistance: (first: Pick<Touch, "clientX" | "clientY">, second: Pick<Touch, "clientX" | "clientY">) => number;
5
- export declare const getPinchZoomValue: (startZoom: number, startDistance: number, currentDistance: number) => number;
6
- //# sourceMappingURL=pinch-zoom.utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pinch-zoom.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/pdf/pinch-zoom.utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,WAEtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,WAEhD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACzB,OAAO,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,EACzC,QAAQ,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,WAG7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC1B,WAAW,MAAM,EACjB,eAAe,MAAM,EACrB,iBAAiB,MAAM,WAO1B,CAAC"}
@@ -1,18 +0,0 @@
1
- import { ZOOM_MAX, ZOOM_MIN } from '../../constants';
2
- export const WHEEL_ZOOM_SENSITIVITY = 0.01;
3
- export const clampZoom = (value) => {
4
- return Math.min(ZOOM_MAX, Math.max(ZOOM_MIN, Math.round(value * 100) / 100));
5
- };
6
- export const getWheelZoomFactor = (deltaY) => {
7
- return Math.exp(-deltaY * WHEEL_ZOOM_SENSITIVITY);
8
- };
9
- export const getTouchDistance = (first, second) => {
10
- return Math.hypot(first.clientX - second.clientX, first.clientY - second.clientY);
11
- };
12
- export const getPinchZoomValue = (startZoom, startDistance, currentDistance) => {
13
- if (startDistance <= 0) {
14
- return startZoom;
15
- }
16
- return startZoom * (currentDistance / startDistance);
17
- };
18
- //# sourceMappingURL=pinch-zoom.utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pinch-zoom.utils.js","sourceRoot":"","sources":["../../../src/utils/pdf/pinch-zoom.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,EAAE;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,KAAyC,EACzC,MAA0C,EAC5C,EAAE;IACA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACtF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,SAAiB,EACjB,aAAqB,EACrB,eAAuB,EACzB,EAAE;IACA,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,GAAG,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC;AACzD,CAAC,CAAC"}