@signature.digital/catalog 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +240 -212
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/sdig-workspace/sdig-workspace-compose.d.ts +17 -2
- package/dist_ts_web/elements/sdig-workspace/sdig-workspace-compose.js +220 -26
- package/dist_ts_web/elements/sdig-workspace/sdig-workspace.shared.d.ts +2 -0
- package/dist_ts_web/elements/sdig-workspace/sdig-workspace.shared.js +4 -4
- package/dist_watch/bundle.js +207 -26
- package/dist_watch/bundle.js.map +3 -3
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/sdig-workspace/sdig-workspace-compose.ts +231 -17
- package/ts_web/elements/sdig-workspace/sdig-workspace.shared.ts +5 -3
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@signature.digital/catalog',
|
|
6
|
-
version: '1.
|
|
6
|
+
version: '1.4.0',
|
|
7
7
|
description: 'A comprehensive catalog of customizable web components designed for building and managing e-signature applications.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNEJBQTRCO0lBQ2xDLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxxSEFBcUg7Q0FDbkksQ0FBQSJ9
|
|
@@ -9,10 +9,11 @@ export declare class SdigWorkspaceCompose extends DeesElement {
|
|
|
9
9
|
static demoGroups: string[];
|
|
10
10
|
private accessor step;
|
|
11
11
|
private accessor activeRecipient;
|
|
12
|
-
private accessor draggedRecipientId;
|
|
13
12
|
private accessor selectedFieldId;
|
|
14
13
|
private accessor recipients;
|
|
15
14
|
private accessor fields;
|
|
15
|
+
private accessor signingOrderDrag;
|
|
16
|
+
private accessor recipientContextMenu;
|
|
16
17
|
private draggedFieldDefinition;
|
|
17
18
|
private draggedFieldGrabOffset;
|
|
18
19
|
private fieldInteraction;
|
|
@@ -21,24 +22,38 @@ export declare class SdigWorkspaceCompose extends DeesElement {
|
|
|
21
22
|
private recipientColor;
|
|
22
23
|
private fieldIcon;
|
|
23
24
|
private fieldDefinition;
|
|
25
|
+
private recipientRoleDefinition;
|
|
26
|
+
private signingRecipients;
|
|
24
27
|
private clamp;
|
|
25
28
|
private updateField;
|
|
26
29
|
private updateSelectedField;
|
|
27
30
|
private updateSelectedFieldNumber;
|
|
28
31
|
private resetSelectedFieldSize;
|
|
29
32
|
private removeSelectedField;
|
|
33
|
+
private updateRecipientRole;
|
|
34
|
+
private moveRecipientToRole;
|
|
35
|
+
private openRecipientContextMenu;
|
|
36
|
+
private closeRecipientContextMenu;
|
|
30
37
|
private handleDocumentClick;
|
|
31
38
|
private startFieldInteraction;
|
|
32
39
|
private startFieldMove;
|
|
33
40
|
private startFieldResize;
|
|
34
41
|
private handleFieldPointerMove;
|
|
35
42
|
private stopFieldInteraction;
|
|
36
|
-
private
|
|
43
|
+
private visualSigningOrder;
|
|
44
|
+
private recipientsForRole;
|
|
45
|
+
private startSigningOrderDrag;
|
|
46
|
+
private handleSigningOrderPointerMove;
|
|
47
|
+
private stopSigningOrderDrag;
|
|
37
48
|
private addFieldFromDrop;
|
|
38
49
|
private startFieldToolDrag;
|
|
39
50
|
private endFieldToolDrag;
|
|
40
51
|
private renderFieldEditor;
|
|
41
52
|
private renderResizeHandles;
|
|
53
|
+
private renderSigningRecipient;
|
|
54
|
+
private renderRoleSection;
|
|
55
|
+
private renderSigningOrder;
|
|
56
|
+
private renderRecipientContextMenu;
|
|
42
57
|
private renderStepper;
|
|
43
58
|
render(): TemplateResult;
|
|
44
59
|
}
|
|
@@ -42,6 +42,11 @@ const fieldDefinitions = [
|
|
|
42
42
|
{ type: 'check', icon: 'check', label: 'Checkbox', w: 120, h: 32 },
|
|
43
43
|
];
|
|
44
44
|
const resizeHandles = ['n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw'];
|
|
45
|
+
const recipientRoleDefinitions = [
|
|
46
|
+
{ role: 'signer', label: 'Needs signature', shortLabel: 'Signer', description: 'Can receive fields and must sign in order.' },
|
|
47
|
+
{ role: 'copy', label: 'Final copy only', shortLabel: 'Copy', description: 'Receives the completed document after signing.' },
|
|
48
|
+
{ role: 'updates', label: 'Every step update', shortLabel: 'Updates', description: 'Receives notifications for every routing step.' },
|
|
49
|
+
];
|
|
45
50
|
let SdigWorkspaceCompose = (() => {
|
|
46
51
|
let _classDecorators = [customElement('sdig-workspace-compose')];
|
|
47
52
|
let _classDescriptor;
|
|
@@ -54,9 +59,6 @@ let SdigWorkspaceCompose = (() => {
|
|
|
54
59
|
let _activeRecipient_decorators;
|
|
55
60
|
let _activeRecipient_initializers = [];
|
|
56
61
|
let _activeRecipient_extraInitializers = [];
|
|
57
|
-
let _draggedRecipientId_decorators;
|
|
58
|
-
let _draggedRecipientId_initializers = [];
|
|
59
|
-
let _draggedRecipientId_extraInitializers = [];
|
|
60
62
|
let _selectedFieldId_decorators;
|
|
61
63
|
let _selectedFieldId_initializers = [];
|
|
62
64
|
let _selectedFieldId_extraInitializers = [];
|
|
@@ -66,22 +68,30 @@ let SdigWorkspaceCompose = (() => {
|
|
|
66
68
|
let _fields_decorators;
|
|
67
69
|
let _fields_initializers = [];
|
|
68
70
|
let _fields_extraInitializers = [];
|
|
71
|
+
let _signingOrderDrag_decorators;
|
|
72
|
+
let _signingOrderDrag_initializers = [];
|
|
73
|
+
let _signingOrderDrag_extraInitializers = [];
|
|
74
|
+
let _recipientContextMenu_decorators;
|
|
75
|
+
let _recipientContextMenu_initializers = [];
|
|
76
|
+
let _recipientContextMenu_extraInitializers = [];
|
|
69
77
|
var SdigWorkspaceCompose = class extends _classSuper {
|
|
70
78
|
static { _classThis = this; }
|
|
71
79
|
static {
|
|
72
80
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
73
81
|
_step_decorators = [state()];
|
|
74
82
|
_activeRecipient_decorators = [state()];
|
|
75
|
-
_draggedRecipientId_decorators = [state()];
|
|
76
83
|
_selectedFieldId_decorators = [state()];
|
|
77
84
|
_recipients_decorators = [state()];
|
|
78
85
|
_fields_decorators = [state()];
|
|
86
|
+
_signingOrderDrag_decorators = [state()];
|
|
87
|
+
_recipientContextMenu_decorators = [state()];
|
|
79
88
|
__esDecorate(this, null, _step_decorators, { kind: "accessor", name: "step", static: false, private: false, access: { has: obj => "step" in obj, get: obj => obj.step, set: (obj, value) => { obj.step = value; } }, metadata: _metadata }, _step_initializers, _step_extraInitializers);
|
|
80
89
|
__esDecorate(this, null, _activeRecipient_decorators, { kind: "accessor", name: "activeRecipient", static: false, private: false, access: { has: obj => "activeRecipient" in obj, get: obj => obj.activeRecipient, set: (obj, value) => { obj.activeRecipient = value; } }, metadata: _metadata }, _activeRecipient_initializers, _activeRecipient_extraInitializers);
|
|
81
|
-
__esDecorate(this, null, _draggedRecipientId_decorators, { kind: "accessor", name: "draggedRecipientId", static: false, private: false, access: { has: obj => "draggedRecipientId" in obj, get: obj => obj.draggedRecipientId, set: (obj, value) => { obj.draggedRecipientId = value; } }, metadata: _metadata }, _draggedRecipientId_initializers, _draggedRecipientId_extraInitializers);
|
|
82
90
|
__esDecorate(this, null, _selectedFieldId_decorators, { kind: "accessor", name: "selectedFieldId", static: false, private: false, access: { has: obj => "selectedFieldId" in obj, get: obj => obj.selectedFieldId, set: (obj, value) => { obj.selectedFieldId = value; } }, metadata: _metadata }, _selectedFieldId_initializers, _selectedFieldId_extraInitializers);
|
|
83
91
|
__esDecorate(this, null, _recipients_decorators, { kind: "accessor", name: "recipients", static: false, private: false, access: { has: obj => "recipients" in obj, get: obj => obj.recipients, set: (obj, value) => { obj.recipients = value; } }, metadata: _metadata }, _recipients_initializers, _recipients_extraInitializers);
|
|
84
92
|
__esDecorate(this, null, _fields_decorators, { kind: "accessor", name: "fields", static: false, private: false, access: { has: obj => "fields" in obj, get: obj => obj.fields, set: (obj, value) => { obj.fields = value; } }, metadata: _metadata }, _fields_initializers, _fields_extraInitializers);
|
|
93
|
+
__esDecorate(this, null, _signingOrderDrag_decorators, { kind: "accessor", name: "signingOrderDrag", static: false, private: false, access: { has: obj => "signingOrderDrag" in obj, get: obj => obj.signingOrderDrag, set: (obj, value) => { obj.signingOrderDrag = value; } }, metadata: _metadata }, _signingOrderDrag_initializers, _signingOrderDrag_extraInitializers);
|
|
94
|
+
__esDecorate(this, null, _recipientContextMenu_decorators, { kind: "accessor", name: "recipientContextMenu", static: false, private: false, access: { has: obj => "recipientContextMenu" in obj, get: obj => obj.recipientContextMenu, set: (obj, value) => { obj.recipientContextMenu = value; } }, metadata: _metadata }, _recipientContextMenu_initializers, _recipientContextMenu_extraInitializers);
|
|
85
95
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
86
96
|
SdigWorkspaceCompose = _classThis = _classDescriptor.value;
|
|
87
97
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -94,10 +104,7 @@ let SdigWorkspaceCompose = (() => {
|
|
|
94
104
|
#activeRecipient_accessor_storage = (__runInitializers(this, _step_extraInitializers), __runInitializers(this, _activeRecipient_initializers, 0));
|
|
95
105
|
get activeRecipient() { return this.#activeRecipient_accessor_storage; }
|
|
96
106
|
set activeRecipient(value) { this.#activeRecipient_accessor_storage = value; }
|
|
97
|
-
#
|
|
98
|
-
get draggedRecipientId() { return this.#draggedRecipientId_accessor_storage; }
|
|
99
|
-
set draggedRecipientId(value) { this.#draggedRecipientId_accessor_storage = value; }
|
|
100
|
-
#selectedFieldId_accessor_storage = (__runInitializers(this, _draggedRecipientId_extraInitializers), __runInitializers(this, _selectedFieldId_initializers, null));
|
|
107
|
+
#selectedFieldId_accessor_storage = (__runInitializers(this, _activeRecipient_extraInitializers), __runInitializers(this, _selectedFieldId_initializers, null));
|
|
101
108
|
get selectedFieldId() { return this.#selectedFieldId_accessor_storage; }
|
|
102
109
|
set selectedFieldId(value) { this.#selectedFieldId_accessor_storage = value; }
|
|
103
110
|
#recipients_accessor_storage = (__runInitializers(this, _selectedFieldId_extraInitializers), __runInitializers(this, _recipients_initializers, [...demoRecipients]));
|
|
@@ -106,7 +113,13 @@ let SdigWorkspaceCompose = (() => {
|
|
|
106
113
|
#fields_accessor_storage = (__runInitializers(this, _recipients_extraInitializers), __runInitializers(this, _fields_initializers, [...demoFields]));
|
|
107
114
|
get fields() { return this.#fields_accessor_storage; }
|
|
108
115
|
set fields(value) { this.#fields_accessor_storage = value; }
|
|
109
|
-
|
|
116
|
+
#signingOrderDrag_accessor_storage = (__runInitializers(this, _fields_extraInitializers), __runInitializers(this, _signingOrderDrag_initializers, null));
|
|
117
|
+
get signingOrderDrag() { return this.#signingOrderDrag_accessor_storage; }
|
|
118
|
+
set signingOrderDrag(value) { this.#signingOrderDrag_accessor_storage = value; }
|
|
119
|
+
#recipientContextMenu_accessor_storage = (__runInitializers(this, _signingOrderDrag_extraInitializers), __runInitializers(this, _recipientContextMenu_initializers, null));
|
|
120
|
+
get recipientContextMenu() { return this.#recipientContextMenu_accessor_storage; }
|
|
121
|
+
set recipientContextMenu(value) { this.#recipientContextMenu_accessor_storage = value; }
|
|
122
|
+
draggedFieldDefinition = (__runInitializers(this, _recipientContextMenu_extraInitializers), null);
|
|
110
123
|
draggedFieldGrabOffset = null;
|
|
111
124
|
fieldInteraction = null;
|
|
112
125
|
static styles = [workspaceBaseStyles, css `
|
|
@@ -126,7 +139,26 @@ let SdigWorkspaceCompose = (() => {
|
|
|
126
139
|
.document-stage { flex: 1; overflow: auto; background: hsl(0 0% 8%); display: flex; flex-direction: column; align-items: center; padding: 32px; gap: 20px; }
|
|
127
140
|
:host-context(sdig-workspace[theme='light']) .document-stage { background: hsl(0 0% 92%); }
|
|
128
141
|
.recipient-line { cursor: grab; }
|
|
129
|
-
.
|
|
142
|
+
.routing-role-section { margin-bottom: 14px; padding: 10px; border: 1px solid var(--border-subtle); border-radius: 8px; background: color-mix(in srgb, var(--bg-card) 72%, transparent); transition: border-color 0.14s ease, background 0.14s ease; }
|
|
143
|
+
.routing-role-section.active-drop { border-color: color-mix(in srgb, var(--accent) 48%, var(--border)); background: color-mix(in srgb, var(--accent) 7%, var(--bg-card)); }
|
|
144
|
+
.routing-role-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
|
|
145
|
+
.routing-role-title { font-size: 11px; font-weight: 700; color: var(--text-sec); }
|
|
146
|
+
.routing-role-description { margin-bottom: 8px; font-size: 10px; line-height: 1.35; color: var(--text-muted); }
|
|
147
|
+
.role-count { min-width: 18px; height: 18px; padding: 0 6px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-input); color: var(--text-muted); font-size: 10px; }
|
|
148
|
+
.role-chip { height: 22px; padding: 0 7px; border-radius: 999px; display: inline-flex; align-items: center; background: var(--bg-input); color: var(--text-muted); font-size: 10px; font-weight: 600; }
|
|
149
|
+
.signing-order-list { position: relative; min-height: 44px; }
|
|
150
|
+
.signing-order-list.dragging { height: var(--routing-list-height); min-height: var(--routing-list-height); }
|
|
151
|
+
.signing-order-list::before { content: ''; position: absolute; left: 11px; top: 10px; bottom: 10px; width: 1px; background: var(--border); }
|
|
152
|
+
.signing-recipient { position: relative; z-index: 1; transition: transform 0.14s ease, opacity 0.14s ease, border-color 0.14s ease; }
|
|
153
|
+
.signing-order-list.dragging .signing-recipient:not(.signing-drag-overlay) { position: absolute; left: 0; right: 0; top: var(--routing-top); margin-bottom: 0; transition: top 0.16s ease, transform 0.14s ease, opacity 0.14s ease, border-color 0.14s ease; }
|
|
154
|
+
.signing-placeholder { position: absolute; left: 0; right: 0; top: var(--routing-top); height: var(--routing-row-height); border: 1.5px dashed var(--accent); border-radius: 6px; background: transparent; pointer-events: none; transition: top 0.16s ease; }
|
|
155
|
+
.signing-drag-overlay { position: absolute; left: 0; right: 0; z-index: 6; top: var(--routing-top); margin-bottom: 0; cursor: grabbing; pointer-events: none; border-color: var(--accent); box-shadow: 0 10px 28px rgba(0,0,0,0.28); transform: scale(1.015); }
|
|
156
|
+
.role-hint { margin-top: -2px; margin-bottom: 10px; font-size: 10px; line-height: 1.45; color: var(--text-muted); }
|
|
157
|
+
.recipient-context-menu { position: fixed; z-index: 100; min-width: 190px; padding: 6px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-card); box-shadow: 0 16px 42px rgba(0,0,0,0.36); }
|
|
158
|
+
.recipient-context-title { padding: 7px 8px; font-size: 11px; font-weight: 700; color: var(--text-sec); border-bottom: 1px solid var(--border-subtle); margin-bottom: 4px; }
|
|
159
|
+
.context-action { width: 100%; padding: 8px; border-radius: 6px; background: transparent; color: var(--text-sec); display: flex; align-items: center; gap: 8px; text-align: left; font-size: 11px; }
|
|
160
|
+
.context-action:hover { background: var(--hover); color: var(--text); }
|
|
161
|
+
.context-action[disabled] { opacity: 0.45; cursor: not-allowed; }
|
|
130
162
|
.page-drop-target { outline: 1px dashed transparent; outline-offset: 8px; }
|
|
131
163
|
.page-drop-target.drag-over { outline-color: var(--accent); }
|
|
132
164
|
.field-box { user-select: none; touch-action: none; }
|
|
@@ -152,6 +184,8 @@ let SdigWorkspaceCompose = (() => {
|
|
|
152
184
|
`];
|
|
153
185
|
disconnectedCallback = async () => {
|
|
154
186
|
this.stopFieldInteraction();
|
|
187
|
+
this.stopSigningOrderDrag();
|
|
188
|
+
window.removeEventListener('click', this.closeRecipientContextMenu);
|
|
155
189
|
await super.disconnectedCallback();
|
|
156
190
|
};
|
|
157
191
|
recipientColor(id) {
|
|
@@ -169,6 +203,12 @@ let SdigWorkspaceCompose = (() => {
|
|
|
169
203
|
fieldDefinition(type) {
|
|
170
204
|
return fieldDefinitions.find((definition) => definition.type === type) || fieldDefinitions[0];
|
|
171
205
|
}
|
|
206
|
+
recipientRoleDefinition(role) {
|
|
207
|
+
return recipientRoleDefinitions.find((definition) => definition.role === role) || recipientRoleDefinitions[0];
|
|
208
|
+
}
|
|
209
|
+
signingRecipients() {
|
|
210
|
+
return this.recipients.filter((recipient) => recipient.role === 'signer');
|
|
211
|
+
}
|
|
172
212
|
clamp(value, min, max) {
|
|
173
213
|
return Math.max(min, Math.min(max, value));
|
|
174
214
|
}
|
|
@@ -197,6 +237,50 @@ let SdigWorkspaceCompose = (() => {
|
|
|
197
237
|
this.fields = this.fields.filter((field) => field.id !== this.selectedFieldId);
|
|
198
238
|
this.selectedFieldId = null;
|
|
199
239
|
}
|
|
240
|
+
updateRecipientRole(recipientId, role) {
|
|
241
|
+
const recipient = this.recipients.find((currentRecipient) => currentRecipient.id === recipientId);
|
|
242
|
+
if (!recipient)
|
|
243
|
+
return;
|
|
244
|
+
const signerCount = this.signingRecipients().length;
|
|
245
|
+
if (recipient.role === 'signer' && role !== 'signer' && signerCount <= 1)
|
|
246
|
+
return;
|
|
247
|
+
this.moveRecipientToRole(recipientId, role);
|
|
248
|
+
}
|
|
249
|
+
moveRecipientToRole(recipientId, role, targetIndex) {
|
|
250
|
+
const recipient = this.recipients.find((currentRecipient) => currentRecipient.id === recipientId);
|
|
251
|
+
if (!recipient)
|
|
252
|
+
return;
|
|
253
|
+
const signerCount = this.signingRecipients().length;
|
|
254
|
+
const nextRole = recipient.role === 'signer' && role !== 'signer' && signerCount <= 1 ? 'signer' : role;
|
|
255
|
+
const withoutRecipient = this.recipients.filter((currentRecipient) => currentRecipient.id !== recipientId);
|
|
256
|
+
const nextByRole = new Map();
|
|
257
|
+
for (const roleDefinition of recipientRoleDefinitions) {
|
|
258
|
+
nextByRole.set(roleDefinition.role, withoutRecipient.filter((currentRecipient) => currentRecipient.role === roleDefinition.role));
|
|
259
|
+
}
|
|
260
|
+
const targetMembers = [...(nextByRole.get(nextRole) || [])];
|
|
261
|
+
const insertIndex = targetIndex === undefined ? targetMembers.length : this.clamp(targetIndex, 0, targetMembers.length);
|
|
262
|
+
targetMembers.splice(insertIndex, 0, { ...recipient, role: nextRole });
|
|
263
|
+
nextByRole.set(nextRole, targetMembers);
|
|
264
|
+
this.recipients = recipientRoleDefinitions.flatMap((roleDefinition) => nextByRole.get(roleDefinition.role) || []).map((currentRecipient, index) => ({ ...currentRecipient, order: index + 1 }));
|
|
265
|
+
const nextSigners = this.recipients.filter((currentRecipient) => currentRecipient.role === 'signer');
|
|
266
|
+
const fallbackSigner = nextSigners[0];
|
|
267
|
+
if (nextRole !== 'signer' && fallbackSigner) {
|
|
268
|
+
this.fields = this.fields.map((field) => field.recipient === recipientId ? { ...field, recipient: fallbackSigner.id } : field);
|
|
269
|
+
if (this.activeRecipient === recipientId) {
|
|
270
|
+
this.activeRecipient = fallbackSigner.id;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
openRecipientContextMenu(event, recipient) {
|
|
275
|
+
event.preventDefault();
|
|
276
|
+
event.stopPropagation();
|
|
277
|
+
this.recipientContextMenu = { recipientId: recipient.id, x: event.clientX, y: event.clientY };
|
|
278
|
+
window.removeEventListener('click', this.closeRecipientContextMenu);
|
|
279
|
+
setTimeout(() => window.addEventListener('click', this.closeRecipientContextMenu, { once: true }), 0);
|
|
280
|
+
}
|
|
281
|
+
closeRecipientContextMenu = () => {
|
|
282
|
+
this.recipientContextMenu = null;
|
|
283
|
+
};
|
|
200
284
|
handleDocumentClick = (event) => {
|
|
201
285
|
const target = event.target;
|
|
202
286
|
if (target?.closest('.field-box'))
|
|
@@ -282,19 +366,84 @@ let SdigWorkspaceCompose = (() => {
|
|
|
282
366
|
window.removeEventListener('pointerup', this.stopFieldInteraction);
|
|
283
367
|
window.removeEventListener('pointercancel', this.stopFieldInteraction);
|
|
284
368
|
};
|
|
285
|
-
|
|
286
|
-
if (this.
|
|
369
|
+
visualSigningOrder() {
|
|
370
|
+
if (!this.signingOrderDrag)
|
|
371
|
+
return this.recipients;
|
|
372
|
+
const dragged = this.recipients.find((recipient) => recipient.id === this.signingOrderDrag?.recipientId);
|
|
373
|
+
if (!dragged)
|
|
374
|
+
return this.recipients;
|
|
375
|
+
const others = this.recipients.filter((recipient) => recipient.role === this.signingOrderDrag?.targetRole && recipient.id !== dragged.id);
|
|
376
|
+
const targetIndex = this.clamp(this.signingOrderDrag.targetIndex, 0, others.length);
|
|
377
|
+
return [...others.slice(0, targetIndex), dragged, ...others.slice(targetIndex)];
|
|
378
|
+
}
|
|
379
|
+
recipientsForRole(role) {
|
|
380
|
+
if (!this.signingOrderDrag)
|
|
381
|
+
return this.recipients.filter((recipient) => recipient.role === role);
|
|
382
|
+
const dragged = this.recipients.find((recipient) => recipient.id === this.signingOrderDrag?.recipientId);
|
|
383
|
+
const recipients = this.recipients.filter((recipient) => recipient.role === role && recipient.id !== dragged?.id);
|
|
384
|
+
if (!dragged || this.signingOrderDrag.targetRole !== role)
|
|
385
|
+
return recipients;
|
|
386
|
+
const targetIndex = this.clamp(this.signingOrderDrag.targetIndex, 0, recipients.length);
|
|
387
|
+
return [...recipients.slice(0, targetIndex), { ...dragged, role }, ...recipients.slice(targetIndex)];
|
|
388
|
+
}
|
|
389
|
+
startSigningOrderDrag(event, recipient) {
|
|
390
|
+
if (event.button !== 0)
|
|
391
|
+
return;
|
|
392
|
+
const target = event.target;
|
|
393
|
+
if (target?.closest('select, input, button'))
|
|
287
394
|
return;
|
|
288
|
-
const
|
|
289
|
-
const
|
|
290
|
-
|
|
291
|
-
if (fromIndex === -1 || toIndex === -1)
|
|
395
|
+
const item = event.currentTarget;
|
|
396
|
+
const list = item.closest('.signing-order-list');
|
|
397
|
+
if (!list)
|
|
292
398
|
return;
|
|
293
|
-
const
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
399
|
+
const section = item.closest('.routing-role-section');
|
|
400
|
+
const role = (section?.dataset.role || recipient.role);
|
|
401
|
+
const itemRect = item.getBoundingClientRect();
|
|
402
|
+
const listRect = list.getBoundingClientRect();
|
|
403
|
+
const marginBottom = Number.parseFloat(globalThis.getComputedStyle(item).marginBottom || '0');
|
|
404
|
+
const startIndex = this.recipients.filter((currentRecipient) => currentRecipient.role === role).findIndex((currentRecipient) => currentRecipient.id === recipient.id);
|
|
405
|
+
this.signingOrderDrag = {
|
|
406
|
+
recipientId: recipient.id,
|
|
407
|
+
pointerY: event.clientY,
|
|
408
|
+
listTop: listRect.top,
|
|
409
|
+
grabOffsetY: event.clientY - itemRect.top,
|
|
410
|
+
itemHeight: itemRect.height,
|
|
411
|
+
itemStep: itemRect.height + marginBottom,
|
|
412
|
+
targetRole: role,
|
|
413
|
+
targetIndex: Math.max(0, startIndex),
|
|
414
|
+
};
|
|
415
|
+
event.preventDefault();
|
|
416
|
+
window.addEventListener('pointermove', this.handleSigningOrderPointerMove, { passive: false });
|
|
417
|
+
window.addEventListener('pointerup', this.stopSigningOrderDrag);
|
|
418
|
+
window.addEventListener('pointercancel', this.stopSigningOrderDrag);
|
|
297
419
|
}
|
|
420
|
+
handleSigningOrderPointerMove = (event) => {
|
|
421
|
+
if (!this.signingOrderDrag)
|
|
422
|
+
return;
|
|
423
|
+
event.preventDefault();
|
|
424
|
+
const drag = this.signingOrderDrag;
|
|
425
|
+
const target = this.shadowRoot?.elementFromPoint(event.clientX, event.clientY);
|
|
426
|
+
const section = target?.closest('.routing-role-section');
|
|
427
|
+
const roleCandidate = (section?.dataset.role || drag.targetRole);
|
|
428
|
+
const draggedRecipient = this.recipients.find((recipient) => recipient.id === drag.recipientId);
|
|
429
|
+
const targetRole = draggedRecipient?.role === 'signer' && roleCandidate !== 'signer' && this.signingRecipients().length <= 1 ? 'signer' : roleCandidate;
|
|
430
|
+
const list = this.shadowRoot?.querySelector(`.routing-role-section[data-role="${targetRole}"] .signing-order-list`);
|
|
431
|
+
const listRect = list?.getBoundingClientRect();
|
|
432
|
+
const listTop = listRect?.top ?? drag.listTop;
|
|
433
|
+
const targetMemberCount = this.recipients.filter((recipient) => recipient.role === targetRole && recipient.id !== drag.recipientId).length;
|
|
434
|
+
const draggedCenterY = event.clientY - listTop - drag.grabOffsetY + drag.itemStep / 2;
|
|
435
|
+
const targetIndex = Math.round(this.clamp(draggedCenterY / drag.itemStep, 0, targetMemberCount));
|
|
436
|
+
this.signingOrderDrag = { ...drag, pointerY: event.clientY, listTop, targetRole, targetIndex };
|
|
437
|
+
};
|
|
438
|
+
stopSigningOrderDrag = () => {
|
|
439
|
+
if (this.signingOrderDrag) {
|
|
440
|
+
this.moveRecipientToRole(this.signingOrderDrag.recipientId, this.signingOrderDrag.targetRole, this.signingOrderDrag.targetIndex);
|
|
441
|
+
}
|
|
442
|
+
this.signingOrderDrag = null;
|
|
443
|
+
window.removeEventListener('pointermove', this.handleSigningOrderPointerMove);
|
|
444
|
+
window.removeEventListener('pointerup', this.stopSigningOrderDrag);
|
|
445
|
+
window.removeEventListener('pointercancel', this.stopSigningOrderDrag);
|
|
446
|
+
};
|
|
298
447
|
addFieldFromDrop(event) {
|
|
299
448
|
event.preventDefault();
|
|
300
449
|
const page = event.currentTarget;
|
|
@@ -350,7 +499,7 @@ let SdigWorkspaceCompose = (() => {
|
|
|
350
499
|
</div>
|
|
351
500
|
<div class="field-editor-grid">
|
|
352
501
|
<label class="field-control full">Label<input .value=${field.label} @input=${(event) => this.updateSelectedField({ label: event.target.value })} /></label>
|
|
353
|
-
<label class="field-control full">Assigned signer<select .value=${String(field.recipient)} @change=${(event) => this.updateSelectedField({ recipient: Number(event.target.value) })}>${this.
|
|
502
|
+
<label class="field-control full">Assigned signer<select .value=${String(field.recipient)} @change=${(event) => this.updateSelectedField({ recipient: Number(event.target.value) })}>${this.signingRecipients().map((recipient) => html `<option value=${String(recipient.id)}>${recipient.order}. ${recipient.name}</option>`)}</select></label>
|
|
354
503
|
<label class="field-control">X<input type="number" min="0" .value=${String(field.x)} @input=${(event) => this.updateSelectedFieldNumber('x', event)} /></label>
|
|
355
504
|
<label class="field-control">Y<input type="number" min="0" .value=${String(field.y)} @input=${(event) => this.updateSelectedFieldNumber('y', event)} /></label>
|
|
356
505
|
<label class="field-control">Width<input type="number" min="16" .value=${String(field.w)} @input=${(event) => this.updateSelectedFieldNumber('w', event)} /></label>
|
|
@@ -366,6 +515,49 @@ let SdigWorkspaceCompose = (() => {
|
|
|
366
515
|
renderResizeHandles(field) {
|
|
367
516
|
return html `${resizeHandles.map((handle) => html `<span class="resize-handle ${handle}" @pointerdown=${(event) => this.startFieldResize(event, field, handle)}></span>`)}`;
|
|
368
517
|
}
|
|
518
|
+
renderSigningRecipient(recipient, orderNumber, options = {}) {
|
|
519
|
+
const initials = recipient.name.split(' ').map((part) => part[0]).slice(0, 2).join('');
|
|
520
|
+
const isOverlay = options.overlayTop !== undefined;
|
|
521
|
+
const top = options.overlayTop ?? options.rowTop;
|
|
522
|
+
const displayRole = options.displayRole || recipient.role;
|
|
523
|
+
return html `<div class="recipient-line signing-recipient ${isOverlay ? 'signing-drag-overlay' : ''}" style="${top !== undefined ? `--routing-top: ${top}px;` : ''}" @contextmenu=${(event) => this.openRecipientContextMenu(event, recipient)} @pointerdown=${!isOverlay ? (event) => this.startSigningOrderDrag(event, recipient) : undefined}><span class="mono" style="width: 14px; font-size: 10px; color: ${isOverlay ? 'var(--accent)' : 'var(--text-muted)'};">${orderNumber}</span><span class="avatar" style="background: ${recipient.color};">${initials}</span><div style="flex: 1; min-width: 0;"><div style="font-size: 12px; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">${recipient.name}</div><div class="mono" style="font-size: 10px; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">${this.recipientRoleDefinition(displayRole).description}</div></div><span class="role-chip">${this.recipientRoleDefinition(displayRole).shortLabel}</span></div>`;
|
|
524
|
+
}
|
|
525
|
+
renderRoleSection(roleDefinition) {
|
|
526
|
+
const role = roleDefinition.role;
|
|
527
|
+
const members = this.recipientsForRole(role);
|
|
528
|
+
const isTargetRole = this.signingOrderDrag?.targetRole === role;
|
|
529
|
+
const draggedRecipientId = this.signingOrderDrag?.recipientId;
|
|
530
|
+
const draggedRecipient = draggedRecipientId !== undefined ? this.recipients.find((recipient) => recipient.id === draggedRecipientId) : undefined;
|
|
531
|
+
if (!this.signingOrderDrag) {
|
|
532
|
+
return html `<div class="routing-role-section" data-role=${role}><div class="routing-role-head"><span class="routing-role-title">${roleDefinition.label}</span><span class="role-count">${members.length}</span></div><div class="routing-role-description">${roleDefinition.description}</div><div class="signing-order-list">${members.map((recipient, index) => this.renderSigningRecipient(recipient, index + 1))}</div></div>`;
|
|
533
|
+
}
|
|
534
|
+
const visualIndexById = new Map(members.map((recipient, index) => [recipient.id, index]));
|
|
535
|
+
const overlayTop = isTargetRole ? this.signingOrderDrag.pointerY - this.signingOrderDrag.listTop - this.signingOrderDrag.grabOffsetY : 0;
|
|
536
|
+
const draggedOrder = draggedRecipient ? (members.findIndex((recipient) => recipient.id === draggedRecipient.id) + 1 || this.signingOrderDrag.targetIndex + 1) : 0;
|
|
537
|
+
return html `<div class="routing-role-section ${isTargetRole ? 'active-drop' : ''}" data-role=${role}><div class="routing-role-head"><span class="routing-role-title">${roleDefinition.label}</span><span class="role-count">${members.filter((recipient) => recipient.id !== draggedRecipientId).length + (isTargetRole ? 1 : 0)}</span></div><div class="routing-role-description">${roleDefinition.description}</div><div class="signing-order-list dragging" style="--routing-list-height: ${Math.max(1, members.length) * this.signingOrderDrag.itemStep}px;">
|
|
538
|
+
${members.filter((recipient) => recipient.id !== draggedRecipientId).map((recipient) => {
|
|
539
|
+
const visualIndex = visualIndexById.get(recipient.id) ?? 0;
|
|
540
|
+
return this.renderSigningRecipient(recipient, visualIndex + 1, { rowTop: visualIndex * this.signingOrderDrag.itemStep, displayRole: role });
|
|
541
|
+
})}
|
|
542
|
+
${isTargetRole ? html `<div class="signing-placeholder" style="--routing-top: ${this.signingOrderDrag.targetIndex * this.signingOrderDrag.itemStep}px; --routing-row-height: ${this.signingOrderDrag.itemHeight}px;"></div>` : ''}
|
|
543
|
+
${isTargetRole && draggedRecipient ? this.renderSigningRecipient(draggedRecipient, draggedOrder, { overlayTop, displayRole: role }) : ''}
|
|
544
|
+
</div></div>`;
|
|
545
|
+
}
|
|
546
|
+
renderSigningOrder() {
|
|
547
|
+
return html `${recipientRoleDefinitions.map((roleDefinition) => this.renderRoleSection(roleDefinition))}`;
|
|
548
|
+
}
|
|
549
|
+
renderRecipientContextMenu() {
|
|
550
|
+
if (!this.recipientContextMenu)
|
|
551
|
+
return html ``;
|
|
552
|
+
const recipient = this.recipients.find((currentRecipient) => currentRecipient.id === this.recipientContextMenu?.recipientId);
|
|
553
|
+
if (!recipient)
|
|
554
|
+
return html ``;
|
|
555
|
+
const signerCount = this.signingRecipients().length;
|
|
556
|
+
return html `<div class="recipient-context-menu" style="left: ${this.recipientContextMenu.x}px; top: ${this.recipientContextMenu.y}px;" @click=${(event) => event.stopPropagation()}>
|
|
557
|
+
<div class="recipient-context-title">${recipient.name}</div>
|
|
558
|
+
${recipientRoleDefinitions.map((roleDefinition) => html `<button class="context-action" ?disabled=${recipient.role === 'signer' && roleDefinition.role !== 'signer' && signerCount <= 1} @click=${() => { this.updateRecipientRole(recipient.id, roleDefinition.role); this.closeRecipientContextMenu(); }}>${recipient.role === roleDefinition.role ? icon('check', 12) : html `<span style="width: 12px;"></span>`}<span>${roleDefinition.label}</span></button>`)}
|
|
559
|
+
</div>`;
|
|
560
|
+
}
|
|
369
561
|
renderStepper() {
|
|
370
562
|
const labels = ['Upload', 'Place fields', 'Recipients & routing', 'Review & send'];
|
|
371
563
|
return html `
|
|
@@ -384,12 +576,13 @@ let SdigWorkspaceCompose = (() => {
|
|
|
384
576
|
${topBar({ breadcrumb: ['signature.digital', 'Inbox', 'Compose'], title: 'Master Services Agreement', subtitle: pill('Draft · auto-saved'), actions: html `${actionButton('Save draft', 'ghost')}${actionButton('Preview', 'outline', 'eye')}${actionButton('Send for signature', 'primary', 'send')}` })}
|
|
385
577
|
${this.renderStepper()}
|
|
386
578
|
<div class="compose-workspace">
|
|
579
|
+
${this.renderRecipientContextMenu()}
|
|
387
580
|
<div class="palette">
|
|
388
581
|
<div class="label-upper">Drag onto document</div>
|
|
389
582
|
${fieldDefinitions.map((fieldType) => html `<div class="field-tool" style="--tool-w: ${fieldType.w}px; --tool-h: ${fieldType.h}px; --recipient-color: ${this.recipientColor(this.activeRecipient)};" draggable="true" @dragstart=${(event) => this.startFieldToolDrag(event, fieldType)} @dragend=${() => this.endFieldToolDrag()}>${icon(fieldType.icon, 14)}<span style="flex: 1;">${fieldType.label}</span></div>`)}
|
|
390
583
|
<div style="height: 1px; background: var(--border-subtle); margin: 20px 0 16px;"></div>
|
|
391
584
|
<div class="label-upper">Active for</div>
|
|
392
|
-
${this.
|
|
585
|
+
${this.signingRecipients().map((recipient) => html `<div class="recipient-line ${this.activeRecipient === recipient.id ? 'active' : ''}" @click=${() => this.activeRecipient = recipient.id}><span class="swatch" style="--recipient-color: ${recipient.color};"></span><span style="flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">${recipient.name.split(' ')[0]}</span><span class="mono" style="font-size: 10px; color: var(--text-muted);">${this.fields.filter((field) => field.recipient === recipient.id).length}</span></div>`)}
|
|
393
586
|
</div>
|
|
394
587
|
<div class="document-stage">
|
|
395
588
|
<div class="document-page page-drop-target" @click=${this.handleDocumentClick} @dragover=${(event) => { event.preventDefault(); if (event.dataTransfer)
|
|
@@ -401,8 +594,9 @@ let SdigWorkspaceCompose = (() => {
|
|
|
401
594
|
<div style="display: flex; align-items: center; gap: 10px; font-size: 11px; color: var(--text-muted);">${actionButton('Prev', 'outline')}${html `<span class="mono">1 / 14</span>`}${actionButton('Next', 'outline')}</div>
|
|
402
595
|
</div>
|
|
403
596
|
<div class="right-panel">
|
|
404
|
-
<div class="label-upper">
|
|
405
|
-
|
|
597
|
+
<div class="label-upper">Routing order · drag to reorder</div>
|
|
598
|
+
<div class="role-hint">Choose who signs, who gets the completed copy, and who is notified at every step.</div>
|
|
599
|
+
${this.renderSigningOrder()}
|
|
406
600
|
${selectedField ? this.renderFieldEditor(selectedField) : ''}
|
|
407
601
|
</div>
|
|
408
602
|
</div>
|
|
@@ -415,4 +609,4 @@ let SdigWorkspaceCompose = (() => {
|
|
|
415
609
|
return SdigWorkspaceCompose = _classThis;
|
|
416
610
|
})();
|
|
417
611
|
export { SdigWorkspaceCompose };
|
|
418
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RpZy13b3Jrc3BhY2UtY29tcG9zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy9zZGlnLXdvcmtzcGFjZS9zZGlnLXdvcmtzcGFjZS1jb21wb3NlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUF1QixHQUFHLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUF5QyxNQUFNLDRCQUE0QixDQUFDO0FBNkJ4TSxNQUFNLGdCQUFnQixHQUF1QjtJQUMzQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUN0RSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNwRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNoRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNsRSxFQUFFLElBQUksRUFB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
|
|
612
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RpZy13b3Jrc3BhY2UtY29tcG9zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy9zZGlnLXdvcmtzcGFjZS9zZGlnLXdvcmtzcGFjZS1jb21wb3NlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUF1QixHQUFHLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUE4RCxNQUFNLDRCQUE0QixDQUFDO0FBOEM3TixNQUFNLGdCQUFnQixHQUF1QjtJQUMzQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUN0RSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNwRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNoRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUNsRSxFQUFFLElBQUksRUFB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
|
|
@@ -3,6 +3,7 @@ import '@design.estate/dees-catalog/ts_web/elements/00group-utility/dees-icon/de
|
|
|
3
3
|
export type TWorkspaceView = 'inbox' | 'compose' | 'sign' | 'audit' | 'developers' | 'templates' | 'team' | 'settings';
|
|
4
4
|
export type TWorkspaceTheme = 'dark' | 'light';
|
|
5
5
|
export type TDensity = 'compact' | 'comfortable';
|
|
6
|
+
export type TRecipientRole = 'signer' | 'copy' | 'updates';
|
|
6
7
|
export interface IDocumentRow {
|
|
7
8
|
id: string;
|
|
8
9
|
title: string;
|
|
@@ -23,6 +24,7 @@ export interface IRecipient {
|
|
|
23
24
|
email: string;
|
|
24
25
|
color: string;
|
|
25
26
|
order: number;
|
|
27
|
+
role: TRecipientRole;
|
|
26
28
|
}
|
|
27
29
|
export interface IFieldPlacement {
|
|
28
30
|
id: string;
|