@signiphi/pdf-signer 0.2.0-beta.27 → 0.2.0-beta.29
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.
- package/README.md +33 -3
- package/assets/viewer-annotations.html +136 -29
- package/dist/components/AnnotationToolProperties.d.ts.map +1 -1
- package/dist/components/FormFieldsView.d.ts +6 -0
- package/dist/components/FormFieldsView.d.ts.map +1 -1
- package/dist/components/SubmissionForm.d.ts +13 -1
- package/dist/components/SubmissionForm.d.ts.map +1 -1
- package/dist/components/form-fields/CheckboxRenderer.d.ts +2 -1
- package/dist/components/form-fields/CheckboxRenderer.d.ts.map +1 -1
- package/dist/components/form-fields/DateFieldRenderer.d.ts +2 -1
- package/dist/components/form-fields/DateFieldRenderer.d.ts.map +1 -1
- package/dist/components/form-fields/DropdownRenderer.d.ts +2 -1
- package/dist/components/form-fields/DropdownRenderer.d.ts.map +1 -1
- package/dist/components/form-fields/FormFieldRenderer.d.ts +1 -1
- package/dist/components/form-fields/FormFieldRenderer.d.ts.map +1 -1
- package/dist/components/form-fields/InitialsFieldRenderer.d.ts +2 -1
- package/dist/components/form-fields/InitialsFieldRenderer.d.ts.map +1 -1
- package/dist/components/form-fields/RadioGroupRenderer.d.ts +2 -1
- package/dist/components/form-fields/RadioGroupRenderer.d.ts.map +1 -1
- package/dist/components/form-fields/SignatureFieldRenderer.d.ts +2 -1
- package/dist/components/form-fields/SignatureFieldRenderer.d.ts.map +1 -1
- package/dist/components/form-fields/TextFieldRenderer.d.ts +2 -1
- package/dist/components/form-fields/TextFieldRenderer.d.ts.map +1 -1
- package/dist/components/index.js +1526 -280
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +1526 -280
- package/dist/components/index.mjs.map +1 -1
- package/dist/core/PdfViewerCore.d.ts.map +1 -1
- package/dist/core/index.js +244 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +244 -3
- package/dist/core/index.mjs.map +1 -1
- package/dist/hooks/index.js +666 -189
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +666 -189
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/hooks/useAnnotationChat.d.ts +9 -0
- package/dist/hooks/useAnnotationChat.d.ts.map +1 -1
- package/dist/hooks/usePdfViewer.d.ts +1 -1
- package/dist/hooks/usePdfViewer.d.ts.map +1 -1
- package/dist/index.css +61 -26
- package/dist/index.css.map +1 -1
- package/dist/index.js +1523 -288
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1516 -289
- package/dist/index.mjs.map +1 -1
- package/dist/styles/index.css +46 -22
- package/dist/utils/annotation-appearance.d.ts +85 -0
- package/dist/utils/annotation-appearance.d.ts.map +1 -0
- package/dist/utils/annotation-pdf-save.d.ts +78 -1
- package/dist/utils/annotation-pdf-save.d.ts.map +1 -1
- package/dist/utils/field-visibility.d.ts.map +1 -1
- package/dist/utils/form-flatten-helpers.d.ts +70 -0
- package/dist/utils/form-flatten-helpers.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +843 -102
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +836 -103
- package/dist/utils/index.mjs.map +1 -1
- package/dist/utils/pdf-manipulation.d.ts.map +1 -1
- package/dist/utils/pdf-metadata.d.ts +33 -1
- package/dist/utils/pdf-metadata.d.ts.map +1 -1
- package/dist/utils/pdf-viewer-filter.d.ts.map +1 -1
- package/dist/utils/progressive-signing-step.d.ts +84 -0
- package/dist/utils/progressive-signing-step.d.ts.map +1 -0
- package/dist/utils/review-pdf-derivation.d.ts +54 -0
- package/dist/utils/review-pdf-derivation.d.ts.map +1 -0
- package/dist/utils/round-radio-appearance.d.ts +54 -0
- package/dist/utils/round-radio-appearance.d.ts.map +1 -0
- package/dist/utils/text-label-render.d.ts +36 -0
- package/dist/utils/text-label-render.d.ts.map +1 -0
- package/package.json +1 -1
- package/scripts/setup.js +1 -1
- package/src/styles/index.css +30 -2
package/README.md
CHANGED
|
@@ -1177,9 +1177,39 @@ the signed PDF carries the review marks burned into page content.
|
|
|
1177
1177
|
- `pdfUrlForSigning` — the original/prepared PDF the final fill runs against.
|
|
1178
1178
|
|
|
1179
1179
|
When `enableAnnotationChat` or `reviewMode` is true, **always pass both**.
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1180
|
+
|
|
1181
|
+
**Strict contract (signing after review):** when the document actually
|
|
1182
|
+
carries review annotations, signing it requires a clean `pdfUrlForSigning`
|
|
1183
|
+
that is **distinct** from `pdfUrl`. If `pdfUrlForSigning` is
|
|
1184
|
+
missing/empty/whitespace-only, or points at the same file as `pdfUrl` —
|
|
1185
|
+
including trivial variations like a cache-buster query (`file.pdf?v=2`), a
|
|
1186
|
+
trailing slash, or host casing — `handleSubmit` **throws a
|
|
1187
|
+
`ReviewAnnotationSigningError` at submit time** — before any fill runs — so
|
|
1188
|
+
the signed copy can never silently embed the review marks. Correctly
|
|
1189
|
+
configured signing (a distinct, un-baked `pdfUrlForSigning`) bakes the
|
|
1190
|
+
signer's form-field signatures only; review annotations are never written
|
|
1191
|
+
into the signed deliverable. (Separately, a softer render-time warning still
|
|
1192
|
+
logs — and throws in development — whenever annotation features are enabled
|
|
1193
|
+
without `pdfUrlForSigning`, to catch the misconfiguration early.)
|
|
1194
|
+
|
|
1195
|
+
URL comparison is best-effort: it cannot detect two *different* URLs (e.g. a
|
|
1196
|
+
CDN alias on another host) that serve the same baked file. The durable
|
|
1197
|
+
guarantee is content-based — before filling, the actual signing bytes are
|
|
1198
|
+
scanned for baked review markup and signing is refused if any is found
|
|
1199
|
+
(`assertSigningBytesFreeOfReviewMarkup`), independent of how the URLs were
|
|
1200
|
+
wired.
|
|
1201
|
+
|
|
1202
|
+
The guard is also exported standalone for custom submit flows:
|
|
1203
|
+
|
|
1204
|
+
```ts
|
|
1205
|
+
import { assertSigningSourceIsClean } from '@signiphi/pdf-signer/utils';
|
|
1206
|
+
|
|
1207
|
+
assertSigningSourceIsClean({
|
|
1208
|
+
hasReviewAnnotations, // true if the doc went through review
|
|
1209
|
+
pdfUrl,
|
|
1210
|
+
pdfUrlForSigning,
|
|
1211
|
+
}); // throws ReviewAnnotationSigningError on misconfiguration
|
|
1212
|
+
```
|
|
1183
1213
|
|
|
1184
1214
|
### Round-trip example
|
|
1185
1215
|
|
|
@@ -87,6 +87,25 @@
|
|
|
87
87
|
display: none !important;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
/* Placed text (FreeText) and image (Stamp) editors must remain interactive
|
|
91
|
+
even when the annotation editor layer is in NONE mode (`.disabled`).
|
|
92
|
+
pdf_viewer.css drops pointer-events on the disabled layer, which would
|
|
93
|
+
otherwise lock the just-placed annotation: after a text/image is dropped
|
|
94
|
+
the host switches PDF.js to NONE ("select mode" — clicks select existing
|
|
95
|
+
editors instead of creating new ones), and a disabled layer strips the
|
|
96
|
+
resize handles + drag of pointer events. Force pointer-events back on for
|
|
97
|
+
stamps and freetext editors (and their resize handle children) so the
|
|
98
|
+
placed annotation stays movable/resizable throughout the whole session,
|
|
99
|
+
regardless of the active editor mode. Highlights/ink are intentionally
|
|
100
|
+
excluded — those flows place several in a row and don't need post-place
|
|
101
|
+
drag/resize. Review mode re-locks the resizers below. */
|
|
102
|
+
.annotationEditorLayer.disabled .stampEditor,
|
|
103
|
+
.annotationEditorLayer.disabled .stampEditor *,
|
|
104
|
+
.annotationEditorLayer.disabled .freeTextEditor,
|
|
105
|
+
.annotationEditorLayer.disabled .freeTextEditor * {
|
|
106
|
+
pointer-events: auto !important;
|
|
107
|
+
}
|
|
108
|
+
|
|
90
109
|
/* Review mode (sender viewing receiver's annotations):
|
|
91
110
|
- Block pointer events on the annotation editor layer itself so clicks
|
|
92
111
|
on empty areas DO NOT create new editors regardless of PDF.js mode.
|
|
@@ -220,6 +239,11 @@
|
|
|
220
239
|
viewer: document.getElementById('viewer'),
|
|
221
240
|
eventBus,
|
|
222
241
|
linkService: pdfLinkService,
|
|
242
|
+
// Where PDF.js resolves annotation icon SVGs (e.g. the Text/sticky-note
|
|
243
|
+
// `annotation-note.svg`). The icons live in `web/images/`; without this
|
|
244
|
+
// the path defaults to "" and every Text annotation — baked review
|
|
245
|
+
// replies and notes — renders as a broken "unavailable image".
|
|
246
|
+
imageResourcesPath: 'images/',
|
|
223
247
|
textLayerMode: 2, // Enable text layer (required for highlight annotations)
|
|
224
248
|
annotationMode: 2, // Enable form annotations
|
|
225
249
|
annotationEditorMode: AnnotationEditorType.NONE, // Editors available but not active
|
|
@@ -266,15 +290,82 @@
|
|
|
266
290
|
__signiphiObservers.length = 0;
|
|
267
291
|
});
|
|
268
292
|
|
|
293
|
+
// Auto-switch to "select mode" after a text/image annotation is placed.
|
|
294
|
+
// After the user drops a FreeText or Stamp editor we drop PDF.js back to
|
|
295
|
+
// NONE so the NEXT click selects/moves/resizes the just-placed editor
|
|
296
|
+
// instead of creating another one. The placed editor stays interactive
|
|
297
|
+
// even in NONE thanks to the `.annotationEditorLayer.disabled .freeTextEditor
|
|
298
|
+
// / .stampEditor { pointer-events: auto }` rules above. We also notify the
|
|
299
|
+
// parent so React's `activeToolType` deselects and its toolbar button
|
|
300
|
+
// reflects the change (mirrors the mousedown-on-existing-editor path).
|
|
301
|
+
function switchToSelectMode() {
|
|
302
|
+
try {
|
|
303
|
+
pdfViewer.annotationEditorMode = { mode: AnnotationEditorType.NONE };
|
|
304
|
+
} catch (_) {}
|
|
305
|
+
try {
|
|
306
|
+
window.parent.postMessage({
|
|
307
|
+
type: 'signiphi:annotation:toolDeselected',
|
|
308
|
+
payload: {}
|
|
309
|
+
}, parentOrigin);
|
|
310
|
+
} catch (_) {}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Track FreeText editing state so we can detect the commit (edit → done).
|
|
314
|
+
// PDF.js fires `annotationeditorstateschanged` with isEditing:true while
|
|
315
|
+
// the user is typing in a freetext box, then isEditing:false once it
|
|
316
|
+
// commits (blur / Escape / click outside). On that falling edge — while
|
|
317
|
+
// the FreeText tool is still the active mode and the committed box
|
|
318
|
+
// contains text — we switch to select mode so the box stays draggable
|
|
319
|
+
// and the next click won't spawn a new text box.
|
|
320
|
+
var wasFreeTextEditing = false;
|
|
321
|
+
|
|
322
|
+
// The freetext editor the falling edge refers to: the selected one if any
|
|
323
|
+
// (the box being edited stays selected through the commit), else the most
|
|
324
|
+
// recently added. Returns true only when it holds non-empty text.
|
|
325
|
+
function activeFreeTextHasContent() {
|
|
326
|
+
var target = document.querySelector('.annotationEditorLayer .freeTextEditor.selectedEditor');
|
|
327
|
+
if (!target) {
|
|
328
|
+
var all = document.querySelectorAll('.annotationEditorLayer .freeTextEditor');
|
|
329
|
+
if (!all.length) return false;
|
|
330
|
+
target = all[all.length - 1];
|
|
331
|
+
}
|
|
332
|
+
var internal = target.querySelector('.internal');
|
|
333
|
+
var text = (internal ? internal.textContent : target.textContent) || '';
|
|
334
|
+
return text.trim().length > 0;
|
|
335
|
+
}
|
|
336
|
+
|
|
269
337
|
// Forward annotation editor state changes to parent frame
|
|
270
338
|
eventBus.on('annotationeditorstateschanged', function (data) {
|
|
339
|
+
// PDF.js v5 nests the state flags under `details`
|
|
340
|
+
// (dispatch("annotationeditorstateschanged", { source, details })).
|
|
341
|
+
// Older builds emitted them at the top level — read both.
|
|
342
|
+
var states = data?.details || data || {};
|
|
343
|
+
try {
|
|
344
|
+
var mode = window.PDFViewerApplication?.annotationEditor?.getMode?.();
|
|
345
|
+
var isEditing = states.isEditing ?? false;
|
|
346
|
+
if (mode === AnnotationEditorType.FREETEXT) {
|
|
347
|
+
if (isEditing) {
|
|
348
|
+
wasFreeTextEditing = true;
|
|
349
|
+
} else if (wasFreeTextEditing) {
|
|
350
|
+
// Commit edge — but PDF.js emits a spurious not-editing event
|
|
351
|
+
// immediately after creation while the box is still empty, and
|
|
352
|
+
// switching modes then destroys the empty box. Only commit (and
|
|
353
|
+
// disarm) when the box actually contains text; on the spurious
|
|
354
|
+
// empty-box edge stay armed so the real commit still fires.
|
|
355
|
+
if (activeFreeTextHasContent()) {
|
|
356
|
+
wasFreeTextEditing = false;
|
|
357
|
+
switchToSelectMode();
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
} catch (_) {}
|
|
271
362
|
try {
|
|
272
363
|
window.parent.postMessage({
|
|
273
364
|
type: 'signiphi:annotation:statechanged',
|
|
274
365
|
payload: {
|
|
275
|
-
isEditing:
|
|
276
|
-
isEmpty:
|
|
277
|
-
hasEmptyEditor:
|
|
366
|
+
isEditing: states.isEditing ?? false,
|
|
367
|
+
isEmpty: states.isEmpty ?? true,
|
|
368
|
+
hasEmptyEditor: states.hasEmptyEditor ?? false,
|
|
278
369
|
}
|
|
279
370
|
}, parentOrigin);
|
|
280
371
|
} catch (e) {
|
|
@@ -545,37 +636,46 @@
|
|
|
545
636
|
// intercept the mousedown event, hiding the editor from e.target.
|
|
546
637
|
var editorEl = findEditorAncestor(e.target)
|
|
547
638
|
|| findEditorAtPoint(e.clientX, e.clientY);
|
|
548
|
-
if (!editorEl) return;
|
|
549
639
|
var app = window.PDFViewerApplication;
|
|
550
640
|
var mode = app?.annotationEditor?.getMode?.();
|
|
551
|
-
var uiManager = pdfViewer._layerProperties?.annotationEditorUIManager;
|
|
552
|
-
var editor = uiManager?.getEditor?.(editorEl.id);
|
|
553
641
|
|
|
554
|
-
if (
|
|
555
|
-
//
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
pdfViewer.annotationEditorMode = { mode: 0 };
|
|
559
|
-
} catch {}
|
|
560
|
-
// Notify parent so React state (activeToolType) deselects too.
|
|
561
|
-
window.parent.postMessage({
|
|
562
|
-
type: 'signiphi:annotation:toolDeselected',
|
|
563
|
-
payload: {}
|
|
564
|
-
}, parentOrigin);
|
|
565
|
-
}
|
|
642
|
+
if (editorEl) {
|
|
643
|
+
// Clicked on an existing annotation editor — deselect tool, select editor
|
|
644
|
+
var uiManager = pdfViewer._layerProperties?.annotationEditorUIManager;
|
|
645
|
+
var editor = uiManager?.getEditor?.(editorEl.id);
|
|
566
646
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
647
|
+
if (mode !== undefined && mode !== 0 /* NONE */) {
|
|
648
|
+
// Switch off the tool synchronously so PDF.js doesn't start a
|
|
649
|
+
// new editor on the upcoming click.
|
|
650
|
+
try {
|
|
651
|
+
pdfViewer.annotationEditorMode = { mode: 0 };
|
|
652
|
+
} catch {}
|
|
653
|
+
// Notify parent so React state (activeToolType) deselects too.
|
|
654
|
+
window.parent.postMessage({
|
|
655
|
+
type: 'signiphi:annotation:toolDeselected',
|
|
656
|
+
payload: {}
|
|
657
|
+
}, parentOrigin);
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
// Always promote the clicked editor to selected. This handles both
|
|
661
|
+
// the tool-active case AND the NONE case where PDF.js sometimes
|
|
662
|
+
// fails to transfer selection between editors of different kinds.
|
|
663
|
+
if (uiManager && editor) {
|
|
664
|
+
try {
|
|
665
|
+
if (typeof uiManager.setSelected === 'function') {
|
|
666
|
+
uiManager.setSelected(editor);
|
|
667
|
+
} else if (typeof editor.select === 'function') {
|
|
668
|
+
editor.select();
|
|
669
|
+
}
|
|
670
|
+
} catch {}
|
|
671
|
+
}
|
|
578
672
|
}
|
|
673
|
+
// Note: do NOT deselect the tool on empty-space clicks.
|
|
674
|
+
// When a tool is active and the user clicks on empty space,
|
|
675
|
+
// PDF.js should handle creating the new editor (drawing stroke,
|
|
676
|
+
// text box, etc.). Deselection only happens when clicking an
|
|
677
|
+
// existing editor (handled above) or when the user explicitly
|
|
678
|
+
// toggles the tool off from the toolbar.
|
|
579
679
|
} catch (err) {
|
|
580
680
|
console.warn('mousedown handler error:', err);
|
|
581
681
|
}
|
|
@@ -1125,6 +1225,13 @@
|
|
|
1125
1225
|
var uiManager = pdfViewer._layerProperties?.annotationEditorUIManager;
|
|
1126
1226
|
if (uiManager && uiManager.currentLayer) {
|
|
1127
1227
|
uiManager.currentLayer.addNewEditor({ bitmapUrl: dataUrl });
|
|
1228
|
+
// Image placement is atomic — the stamp is dropped fully formed.
|
|
1229
|
+
// Drop back to select mode so the next click selects/moves/resizes
|
|
1230
|
+
// the placed image instead of opening another stamp. The editor
|
|
1231
|
+
// stays interactive in NONE via the stampEditor pointer-events
|
|
1232
|
+
// rule. Defer one tick so PDF.js finishes mounting the editor
|
|
1233
|
+
// (and registers it as selected) before we change the mode.
|
|
1234
|
+
setTimeout(function() { switchToSelectMode(); }, 0);
|
|
1128
1235
|
} else {
|
|
1129
1236
|
console.warn('addImageEditor: UIManager or currentLayer not available');
|
|
1130
1237
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnnotationToolProperties.d.ts","sourceRoot":"","sources":["../../src/components/AnnotationToolProperties.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"AnnotationToolProperties.d.ts","sourceRoot":"","sources":["../../src/components/AnnotationToolProperties.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAkClG,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,SAAS,CAAC;IACtB,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,SAAS,GACV,EAAE,6BAA6B,kDA6G/B"}
|
|
@@ -24,6 +24,12 @@ export interface FormFieldsViewProps {
|
|
|
24
24
|
isFieldFullyAcknowledged?: (fieldId: string) => boolean;
|
|
25
25
|
/** Callback when acknowledgement is required for a field */
|
|
26
26
|
onAcknowledgementRequired?: (field: EsignFormField) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Render all fields in read-only / disabled state.
|
|
29
|
+
* Used when the form is opened in review mode — values still display,
|
|
30
|
+
* but inputs cannot be edited.
|
|
31
|
+
*/
|
|
32
|
+
readOnly?: boolean;
|
|
27
33
|
}
|
|
28
34
|
export interface FormFieldsViewRef {
|
|
29
35
|
/** Navigate to next field */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormFieldsView.d.ts","sourceRoot":"","sources":["../../src/components/FormFieldsView.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,UAAU,CAAC;AAO9D,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,wCAAwC;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,+CAA+C;IAC/C,gBAAgB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD,qCAAqC;IACrC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,qCAAqC;IACrC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,+DAA+D;IAC/D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,4DAA4D;IAC5D,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"FormFieldsView.d.ts","sourceRoot":"","sources":["../../src/components/FormFieldsView.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,UAAU,CAAC;AAO9D,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,wCAAwC;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,+CAA+C;IAC/C,gBAAgB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD,qCAAqC;IACrC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,qCAAqC;IACrC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,+DAA+D;IAC/D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,4DAA4D;IAC5D,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iCAAiC;IACjC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,sCAAsC;IACtC,oBAAoB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC1C,iCAAiC;IACjC,cAAc,EAAE,MAAM,MAAM,CAAC;CAC9B;AAwFD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,mHAmNzB,CAAC"}
|
|
@@ -78,6 +78,18 @@ export interface SubmissionFormProps {
|
|
|
78
78
|
* Called without requiring all form fields to be filled.
|
|
79
79
|
*/
|
|
80
80
|
onRequestReview?: (data: ReviewSubmissionData) => Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Callback fired after a post-bake annotation change (delete/edit of an
|
|
83
|
+
* annotation that was already part of a stored Review PDF). Receives the
|
|
84
|
+
* updated Annotation Tree together with the Review PDF re-derived from the
|
|
85
|
+
* clean source (`pdfUrlForSigning`) + that tree (ADR 0001). Consumers
|
|
86
|
+
* should persist both so the stored Review PDF always matches the Tree —
|
|
87
|
+
* deleted marks must not resurrect on reload.
|
|
88
|
+
*/
|
|
89
|
+
onReviewAnnotationsChanged?: (data: {
|
|
90
|
+
annotations: AnnotationThread[];
|
|
91
|
+
pdfBytes: Uint8Array;
|
|
92
|
+
}) => void | Promise<void>;
|
|
81
93
|
/**
|
|
82
94
|
* Signing role for the current viewer. Drives which tabs and controls
|
|
83
95
|
* are visible. This is route-driven (not identity-driven) — set it per
|
|
@@ -108,5 +120,5 @@ export interface SubmissionFormProps {
|
|
|
108
120
|
documentId?: string;
|
|
109
121
|
}
|
|
110
122
|
export declare function SubmissionForm({ pdfUrl, pdfUrlForSigning, currentSigner, isMultipleSignature, totalSigners, currentSignerEmail, // Backward compatibility
|
|
111
|
-
documentTitle, signingInstructions, showPoweredBy, customMessage, onSubmit, onCancel, readOnly, className, showPdfViewer, customFormFields, showEditableFields, showFullFieldsSidebar, signatureBoxPlacement, enableAttachments, maxAttachments, enableAnnotationChat, annotationChatConfig, onAnnotationsSave, enableJsonExport, onRequestReview, requestReviewButtonLabel, role, reviewMode: reviewModeProp, apiKey, trackingEndpoint, documentId, }: SubmissionFormProps): import("react/jsx-runtime").JSX.Element;
|
|
123
|
+
documentTitle, signingInstructions, showPoweredBy, customMessage, onSubmit, onCancel, readOnly, className, showPdfViewer, customFormFields, showEditableFields, showFullFieldsSidebar, signatureBoxPlacement, enableAttachments, maxAttachments, enableAnnotationChat, annotationChatConfig, onAnnotationsSave, enableJsonExport, onRequestReview, onReviewAnnotationsChanged, requestReviewButtonLabel, role, reviewMode: reviewModeProp, apiKey, trackingEndpoint, documentId, }: SubmissionFormProps): import("react/jsx-runtime").JSX.Element;
|
|
112
124
|
//# sourceMappingURL=SubmissionForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmissionForm.d.ts","sourceRoot":"","sources":["../../src/components/SubmissionForm.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SubmissionForm.d.ts","sourceRoot":"","sources":["../../src/components/SubmissionForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export interface CheckboxRendererProps {
|
|
|
5
5
|
onChange: (value: string) => void;
|
|
6
6
|
error?: string;
|
|
7
7
|
className?: string;
|
|
8
|
+
readOnly?: boolean;
|
|
8
9
|
}
|
|
9
|
-
export declare function CheckboxRenderer({ field, value, onChange, error, className, }: CheckboxRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function CheckboxRenderer({ field, value, onChange, error, className, readOnly, }: CheckboxRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
//# sourceMappingURL=CheckboxRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/CheckboxRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,
|
|
1
|
+
{"version":3,"file":"CheckboxRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/CheckboxRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,EACd,QAAgB,GACjB,EAAE,qBAAqB,2CA2CvB"}
|
|
@@ -9,6 +9,7 @@ export interface DateFieldRendererProps {
|
|
|
9
9
|
onChange: (value: string) => void;
|
|
10
10
|
error?: string;
|
|
11
11
|
className?: string;
|
|
12
|
+
readOnly?: boolean;
|
|
12
13
|
}
|
|
13
|
-
export declare function DateFieldRenderer({ field, value, onChange, error, className, }: DateFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function DateFieldRenderer({ field, value, onChange, error, className, readOnly, }: DateFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
14
15
|
//# sourceMappingURL=DateFieldRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/DateFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO7C,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,
|
|
1
|
+
{"version":3,"file":"DateFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/DateFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO7C,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,EACd,QAAgB,GACjB,EAAE,sBAAsB,2CAkLxB"}
|
|
@@ -9,6 +9,7 @@ export interface DropdownRendererProps {
|
|
|
9
9
|
onChange: (value: string) => void;
|
|
10
10
|
error?: string;
|
|
11
11
|
className?: string;
|
|
12
|
+
readOnly?: boolean;
|
|
12
13
|
}
|
|
13
|
-
export declare function DropdownRenderer({ field, value, onChange, error, className, }: DropdownRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function DropdownRenderer({ field, value, onChange, error, className, readOnly, }: DropdownRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
14
15
|
//# sourceMappingURL=DropdownRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/DropdownRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAU7C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,
|
|
1
|
+
{"version":3,"file":"DropdownRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/DropdownRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAU7C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,EACd,QAAgB,GACjB,EAAE,qBAAqB,2CAmGvB"}
|
|
@@ -18,5 +18,5 @@ export interface FormFieldRendererProps {
|
|
|
18
18
|
/**
|
|
19
19
|
* Main field renderer that delegates to specific field type components
|
|
20
20
|
*/
|
|
21
|
-
export declare function FormFieldRenderer({ field, value, onChange, onSignatureClick, hasSignature, error, className, isFieldFullyAcknowledged, onAcknowledgementRequired, }: FormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function FormFieldRenderer({ field, value, onChange, onSignatureClick, hasSignature, readOnly, error, className, isFieldFullyAcknowledged, onAcknowledgementRequired, }: FormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
22
22
|
//# sourceMappingURL=FormFieldRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/FormFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAiB,MAAM,aAAa,CAAC;AAa5D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,YAAoB,EACpB,KAAK,EACL,SAAS,EACT,wBAAwB,EACxB,yBAAyB,GAC1B,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"FormFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/FormFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAiB,MAAM,aAAa,CAAC;AAa5D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,YAAoB,EACpB,QAAgB,EAChB,KAAK,EACL,SAAS,EACT,wBAAwB,EACxB,yBAAyB,GAC1B,EAAE,sBAAsB,2CAoGxB"}
|
|
@@ -11,6 +11,7 @@ export interface InitialsFieldRendererProps {
|
|
|
11
11
|
hasSignature?: boolean;
|
|
12
12
|
error?: string;
|
|
13
13
|
className?: string;
|
|
14
|
+
readOnly?: boolean;
|
|
14
15
|
}
|
|
15
|
-
export declare function InitialsFieldRenderer({ field, value, onChange, onSignatureClick, error, className, }: InitialsFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function InitialsFieldRenderer({ field, value, onChange, onSignatureClick, error, className, readOnly, }: InitialsFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
16
17
|
//# sourceMappingURL=InitialsFieldRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitialsFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/InitialsFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,SAAc,
|
|
1
|
+
{"version":3,"file":"InitialsFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/InitialsFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,SAAc,EACd,QAAgB,GACjB,EAAE,0BAA0B,2CAkD5B"}
|
|
@@ -5,6 +5,7 @@ export interface RadioGroupRendererProps {
|
|
|
5
5
|
onChange: (value: string) => void;
|
|
6
6
|
error?: string;
|
|
7
7
|
className?: string;
|
|
8
|
+
readOnly?: boolean;
|
|
8
9
|
}
|
|
9
|
-
export declare function RadioGroupRenderer({ field, value, onChange, error, className, }: RadioGroupRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function RadioGroupRenderer({ field, value, onChange, error, className, readOnly, }: RadioGroupRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
//# sourceMappingURL=RadioGroupRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroupRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/RadioGroupRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,
|
|
1
|
+
{"version":3,"file":"RadioGroupRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/RadioGroupRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,EACd,QAAgB,GACjB,EAAE,uBAAuB,2CAkEzB"}
|
|
@@ -11,6 +11,7 @@ export interface SignatureFieldRendererProps {
|
|
|
11
11
|
hasSignature: boolean;
|
|
12
12
|
error?: string;
|
|
13
13
|
className?: string;
|
|
14
|
+
readOnly?: boolean;
|
|
14
15
|
}
|
|
15
|
-
export declare function SignatureFieldRenderer({ field, onSignatureClick, hasSignature, error, className, }: SignatureFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function SignatureFieldRenderer({ field, onSignatureClick, hasSignature, error, className, readOnly, }: SignatureFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
16
17
|
//# sourceMappingURL=SignatureFieldRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/SignatureFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,KAAK,EACL,SAAc,
|
|
1
|
+
{"version":3,"file":"SignatureFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/SignatureFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,KAAK,EACL,SAAc,EACd,QAAgB,GACjB,EAAE,2BAA2B,2CAqD7B"}
|
|
@@ -9,6 +9,7 @@ export interface TextFieldRendererProps {
|
|
|
9
9
|
onChange: (value: string) => void;
|
|
10
10
|
error?: string;
|
|
11
11
|
className?: string;
|
|
12
|
+
readOnly?: boolean;
|
|
12
13
|
}
|
|
13
|
-
export declare function TextFieldRenderer({ field, value, onChange, error, className, }: TextFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function TextFieldRenderer({ field, value, onChange, error, className, readOnly, }: TextFieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
14
15
|
//# sourceMappingURL=TextFieldRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/TextFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,
|
|
1
|
+
{"version":3,"file":"TextFieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-fields/TextFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAc,EACd,QAAgB,GACjB,EAAE,sBAAsB,2CAiExB"}
|