@verdocs/web-sdk 2.2.0 → 2.2.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.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/verdocs-button.cjs.entry.js +26 -0
- package/dist/cjs/verdocs-dialog.cjs.entry.js +27 -0
- package/dist/cjs/{verdocs-button_2.cjs.entry.js → verdocs-help-icon.cjs.entry.js} +0 -20
- package/dist/cjs/{verdocs-settings-organization_2.cjs.entry.js → verdocs-settings-api-keys_4.cjs.entry.js} +165 -2
- package/dist/cjs/verdocs-settings.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-table.cjs.entry.js +27 -0
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +4 -0
- package/dist/collection/components/controls/verdocs-table/verdocs-table.css +25 -0
- package/dist/collection/components/controls/verdocs-table/verdocs-table.js +71 -0
- package/dist/collection/components/controls/verdocs-table/verdocs-table.stories.js +25 -0
- package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.css +35 -0
- package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.js +45 -0
- package/dist/collection/components/dialogs/verdocs-dialog/verdocs-dialog.stories.js +17 -0
- package/dist/collection/components/embeds/verdocs-settings/verdocs-settings.js +1 -1
- package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.css +38 -0
- package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.js +179 -0
- package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.stories.js +11 -0
- package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.css +38 -0
- package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.js +210 -0
- package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.stories.js +17 -0
- package/dist/components/Strings.js +6 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +4 -0
- package/dist/components/verdocs-dialog.d.ts +11 -0
- package/dist/components/verdocs-dialog.js +41 -0
- package/dist/components/verdocs-settings-api-keys.d.ts +11 -0
- package/dist/components/verdocs-settings-api-keys.js +6 -0
- package/dist/components/verdocs-settings-api-keys2.js +108 -0
- package/dist/components/verdocs-settings-members.d.ts +11 -0
- package/dist/components/verdocs-settings-members.js +6 -0
- package/dist/components/verdocs-settings-members2.js +123 -0
- package/dist/components/verdocs-settings.js +31 -13
- package/dist/components/verdocs-table.d.ts +11 -0
- package/dist/components/verdocs-table.js +6 -0
- package/dist/components/verdocs-table2.js +41 -0
- package/dist/docs.json +282 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/verdocs-button.entry.js +22 -0
- package/dist/esm/verdocs-dialog.entry.js +23 -0
- package/dist/esm/{verdocs-button_2.entry.js → verdocs-help-icon.entry.js} +1 -20
- package/dist/esm/{verdocs-settings-organization_2.entry.js → verdocs-settings-api-keys_4.entry.js} +164 -3
- package/dist/esm/verdocs-settings.entry.js +1 -1
- package/dist/esm/verdocs-table.entry.js +23 -0
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/verdocs-button.entry.js +1 -0
- package/dist/esm-es5/verdocs-dialog.entry.js +1 -0
- package/dist/esm-es5/verdocs-help-icon.entry.js +1 -0
- package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -0
- package/dist/esm-es5/verdocs-settings.entry.js +1 -1
- package/dist/esm-es5/verdocs-table.entry.js +1 -0
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/controls/verdocs-table/verdocs-table.d.ts +21 -0
- package/dist/types/components/controls/verdocs-table/verdocs-table.stories.d.ts +7 -0
- package/dist/types/components/dialogs/verdocs-dialog/verdocs-dialog.d.ts +12 -0
- package/dist/types/components/dialogs/verdocs-dialog/verdocs-dialog.stories.d.ts +7 -0
- package/dist/types/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.d.ts +44 -0
- package/dist/types/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.stories.d.ts +4 -0
- package/dist/types/components/settings/verdocs-settings-members/verdocs-settings-members.d.ts +43 -0
- package/dist/types/components/settings/verdocs-settings-members/verdocs-settings-members.stories.d.ts +8 -0
- package/dist/types/components.d.ts +133 -0
- package/dist/verdocs-web-sdk/p-268a29a9.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-606e0405.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-647cdb84.system.js +1 -1
- package/dist/verdocs-web-sdk/p-7213a107.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-84f9fe5d.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a69359d3.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-ab26744f.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d309ef6f.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d734ced3.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-db4cfbfe.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-df90b36d.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e248947e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-fbabbcea.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +2 -2
- package/dist/custom-elements.json +0 -1975
- package/dist/esm-es5/verdocs-button_2.entry.js +0 -1
- package/dist/esm-es5/verdocs-settings-organization_2.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0fecb805.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-229a6849.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-4821f318.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-888adbc2.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ce22913a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-de192808.system.entry.js +0 -1
package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.js
ADDED
@@ -0,0 +1,210 @@
|
|
1
|
+
import { Members } from '@verdocs/js-sdk/Organizations';
|
2
|
+
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
3
|
+
import { h, Host } from '@stencil/core';
|
4
|
+
import { VerdocsToast } from '../../../utils/Toast';
|
5
|
+
import { SDKError } from '../../../utils/errors';
|
6
|
+
import { capitalize } from '@verdocs/js-sdk/Utils/Strings';
|
7
|
+
const TrashIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" /></svg>`;
|
8
|
+
const getRoleLabel = (roles) => {
|
9
|
+
if (roles.find(role => role.name === 'owner') !== undefined)
|
10
|
+
return 'Owner';
|
11
|
+
if (roles.find(role => role.name === 'admin') !== undefined)
|
12
|
+
return 'Admin';
|
13
|
+
if (roles.find(role => role.name === 'member') !== undefined)
|
14
|
+
return 'Member';
|
15
|
+
if (roles.find(role => role.name === 'basic_user') !== undefined)
|
16
|
+
return 'Basic User';
|
17
|
+
if (roles.find(role => role.name === 'contact') !== undefined)
|
18
|
+
return 'Contact';
|
19
|
+
};
|
20
|
+
const getRoleColor = (roles) => {
|
21
|
+
if (roles.find(role => role.name === 'owner') !== undefined)
|
22
|
+
return '#9333ea';
|
23
|
+
if (roles.find(role => role.name === 'admin') !== undefined)
|
24
|
+
return '#2563eb';
|
25
|
+
if (roles.find(role => role.name === 'member') !== undefined)
|
26
|
+
return '#16a34a';
|
27
|
+
if (roles.find(role => role.name === 'basic_user') !== undefined)
|
28
|
+
return '#ea580c';
|
29
|
+
if (roles.find(role => role.name === 'contact') !== undefined)
|
30
|
+
return '#52525B';
|
31
|
+
};
|
32
|
+
/**
|
33
|
+
* Displays a settings form that allows the user to manage their Verdocs profile.
|
34
|
+
*/
|
35
|
+
export class VerdocsSettingsMembers {
|
36
|
+
constructor() {
|
37
|
+
this.endpoint = VerdocsEndpoint.getDefault();
|
38
|
+
this.members = [];
|
39
|
+
}
|
40
|
+
componentWillLoad() {
|
41
|
+
this.endpoint.loadSession();
|
42
|
+
if (!this.endpoint.session) {
|
43
|
+
console.log('[SETTINGS] Must be authenticated');
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
async componentDidLoad() {
|
48
|
+
var _a, _b, _c;
|
49
|
+
try {
|
50
|
+
this.members = await Members.getMembers(this.endpoint, this.endpoint.session.organization_id);
|
51
|
+
}
|
52
|
+
catch (e) {
|
53
|
+
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
54
|
+
VerdocsToast('Unable to load members. Please try again later');
|
55
|
+
}
|
56
|
+
}
|
57
|
+
render() {
|
58
|
+
if (!this.endpoint.session) {
|
59
|
+
console.log('[SETTINGS] Must be authenticated');
|
60
|
+
return h(Host, { class: "authentication-required" }, "Must be authenticated");
|
61
|
+
}
|
62
|
+
return (h(Host, null, h("h1", null, "Members"), h("verdocs-table", { data: this.members, columns: [
|
63
|
+
{
|
64
|
+
id: 'name',
|
65
|
+
renderHeader: () => 'Member',
|
66
|
+
renderCell: (_, row) => (h("div", { style: { display: 'flex', flexDirection: 'row', gap: '10px', alignItems: 'center' } }, h("div", { class: "role", style: { backgroundColor: getRoleColor(row.roles) } }, row.first_name.charAt(0), " ", row.last_name.charAt(0)), h("span", null, capitalize(row.first_name), " ", capitalize(row.last_name)))),
|
67
|
+
},
|
68
|
+
{ id: 'email', header: 'E-mail Address' },
|
69
|
+
{ id: 'phone', header: 'Phone Number' },
|
70
|
+
{ id: 'roles', header: 'Role', renderCell: (_, row) => `${getRoleLabel(row.roles)}` },
|
71
|
+
{ id: 'actions', header: 'Actions', renderCell: () => h("span", { innerHTML: TrashIcon, onClick: () => { } }) },
|
72
|
+
] }), h("verdocs-button", { label: "Invite New Member", size: "normal", disabled: true })));
|
73
|
+
}
|
74
|
+
static get is() { return "verdocs-settings-members"; }
|
75
|
+
static get originalStyleUrls() {
|
76
|
+
return {
|
77
|
+
"$": ["verdocs-settings-members.scss"]
|
78
|
+
};
|
79
|
+
}
|
80
|
+
static get styleUrls() {
|
81
|
+
return {
|
82
|
+
"$": ["verdocs-settings-members.css"]
|
83
|
+
};
|
84
|
+
}
|
85
|
+
static get properties() {
|
86
|
+
return {
|
87
|
+
"endpoint": {
|
88
|
+
"type": "unknown",
|
89
|
+
"mutable": false,
|
90
|
+
"complexType": {
|
91
|
+
"original": "VerdocsEndpoint",
|
92
|
+
"resolved": "VerdocsEndpoint",
|
93
|
+
"references": {
|
94
|
+
"VerdocsEndpoint": {
|
95
|
+
"location": "import",
|
96
|
+
"path": "@verdocs/js-sdk"
|
97
|
+
}
|
98
|
+
}
|
99
|
+
},
|
100
|
+
"required": false,
|
101
|
+
"optional": false,
|
102
|
+
"docs": {
|
103
|
+
"tags": [],
|
104
|
+
"text": "The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used."
|
105
|
+
},
|
106
|
+
"defaultValue": "VerdocsEndpoint.getDefault()"
|
107
|
+
}
|
108
|
+
};
|
109
|
+
}
|
110
|
+
static get states() {
|
111
|
+
return {
|
112
|
+
"members": {}
|
113
|
+
};
|
114
|
+
}
|
115
|
+
static get events() {
|
116
|
+
return [{
|
117
|
+
"method": "sdkError",
|
118
|
+
"name": "sdkError",
|
119
|
+
"bubbles": true,
|
120
|
+
"cancelable": true,
|
121
|
+
"composed": true,
|
122
|
+
"docs": {
|
123
|
+
"tags": [],
|
124
|
+
"text": "Event fired if an error occurs. The event details will contain information about the error. Most errors will\nterminate the process, and the calling application should correct the condition and re-render the component."
|
125
|
+
},
|
126
|
+
"complexType": {
|
127
|
+
"original": "SDKError",
|
128
|
+
"resolved": "SDKError",
|
129
|
+
"references": {
|
130
|
+
"SDKError": {
|
131
|
+
"location": "import",
|
132
|
+
"path": "../../../utils/errors"
|
133
|
+
}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}, {
|
137
|
+
"method": "memberInvited",
|
138
|
+
"name": "memberInvited",
|
139
|
+
"bubbles": true,
|
140
|
+
"cancelable": true,
|
141
|
+
"composed": true,
|
142
|
+
"docs": {
|
143
|
+
"tags": [],
|
144
|
+
"text": "Event fired when the user chooses to invite a new member."
|
145
|
+
},
|
146
|
+
"complexType": {
|
147
|
+
"original": "{endpoint: VerdocsEndpoint; member: IProfile}",
|
148
|
+
"resolved": "{ endpoint: VerdocsEndpoint; member: IProfile; }",
|
149
|
+
"references": {
|
150
|
+
"VerdocsEndpoint": {
|
151
|
+
"location": "import",
|
152
|
+
"path": "@verdocs/js-sdk"
|
153
|
+
},
|
154
|
+
"IProfile": {
|
155
|
+
"location": "import",
|
156
|
+
"path": "@verdocs/js-sdk/Users/Types"
|
157
|
+
}
|
158
|
+
}
|
159
|
+
}
|
160
|
+
}, {
|
161
|
+
"method": "memberUpdated",
|
162
|
+
"name": "memberUpdated",
|
163
|
+
"bubbles": true,
|
164
|
+
"cancelable": true,
|
165
|
+
"composed": true,
|
166
|
+
"docs": {
|
167
|
+
"tags": [],
|
168
|
+
"text": "Event fired when the user chooses to invite a new member."
|
169
|
+
},
|
170
|
+
"complexType": {
|
171
|
+
"original": "{endpoint: VerdocsEndpoint; member: IProfile}",
|
172
|
+
"resolved": "{ endpoint: VerdocsEndpoint; member: IProfile; }",
|
173
|
+
"references": {
|
174
|
+
"VerdocsEndpoint": {
|
175
|
+
"location": "import",
|
176
|
+
"path": "@verdocs/js-sdk"
|
177
|
+
},
|
178
|
+
"IProfile": {
|
179
|
+
"location": "import",
|
180
|
+
"path": "@verdocs/js-sdk/Users/Types"
|
181
|
+
}
|
182
|
+
}
|
183
|
+
}
|
184
|
+
}, {
|
185
|
+
"method": "memberRemoved",
|
186
|
+
"name": "memberRemoved",
|
187
|
+
"bubbles": true,
|
188
|
+
"cancelable": true,
|
189
|
+
"composed": true,
|
190
|
+
"docs": {
|
191
|
+
"tags": [],
|
192
|
+
"text": "Event fired when the user chooses to invite a new member."
|
193
|
+
},
|
194
|
+
"complexType": {
|
195
|
+
"original": "{endpoint: VerdocsEndpoint; member: IProfile}",
|
196
|
+
"resolved": "{ endpoint: VerdocsEndpoint; member: IProfile; }",
|
197
|
+
"references": {
|
198
|
+
"VerdocsEndpoint": {
|
199
|
+
"location": "import",
|
200
|
+
"path": "@verdocs/js-sdk"
|
201
|
+
},
|
202
|
+
"IProfile": {
|
203
|
+
"location": "import",
|
204
|
+
"path": "@verdocs/js-sdk/Users/Types"
|
205
|
+
}
|
206
|
+
}
|
207
|
+
}
|
208
|
+
}];
|
209
|
+
}
|
210
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { html } from 'lit-html';
|
2
|
+
export default {
|
3
|
+
title: 'Settings/Members',
|
4
|
+
component: 'verdocs-settings-members',
|
5
|
+
args: {},
|
6
|
+
argTypes: {
|
7
|
+
onMemberInvited: { action: 'memberInvited' },
|
8
|
+
onMemberUpdated: { action: 'memberUpdated' },
|
9
|
+
onMemberRemoved: { action: 'memberRemoved' },
|
10
|
+
},
|
11
|
+
parameters: {
|
12
|
+
layout: 'fullscreen',
|
13
|
+
},
|
14
|
+
};
|
15
|
+
export const Members = ({ onMemberInvited, onMemberUpdated, onMemberRemoved }) => html `
|
16
|
+
<verdocs-settings-members @memberInvited=${onMemberInvited} @memberUpdated=${onMemberUpdated} @memberRemoved=${onMemberRemoved} />
|
17
|
+
`;
|
@@ -8,6 +8,7 @@ export { VerdocsButtonPanel as VerdocsButtonPanel } from '../types/components/co
|
|
8
8
|
export { VerdocsCheckbox as VerdocsCheckbox } from '../types/components/controls/verdocs-checkbox/verdocs-checkbox';
|
9
9
|
export { VerdocsComponentError as VerdocsComponentError } from '../types/components/controls/verdocs-component-error/verdocs-component-error';
|
10
10
|
export { VerdocsContactPicker as VerdocsContactPicker } from '../types/components/envelopes/verdocs-contact-picker/verdocs-contact-picker';
|
11
|
+
export { VerdocsDialog as VerdocsDialog } from '../types/components/dialogs/verdocs-dialog/verdocs-dialog';
|
11
12
|
export { VerdocsDropdown as VerdocsDropdown } from '../types/components/controls/verdocs-dropdown/verdocs-dropdown';
|
12
13
|
export { VerdocsEnvelopeDocumentPage as VerdocsEnvelopeDocumentPage } from '../types/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page';
|
13
14
|
export { VerdocsEnvelopeRecipientLink as VerdocsEnvelopeRecipientLink } from '../types/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link';
|
@@ -46,12 +47,15 @@ export { VerdocsSearchTabs as VerdocsSearchTabs } from '../types/components/elem
|
|
46
47
|
export { VerdocsSelectInput as VerdocsSelectInput } from '../types/components/controls/verdocs-select-input/verdocs-select-input';
|
47
48
|
export { VerdocsSend as VerdocsSend } from '../types/components/embeds/verdocs-send/verdocs-send';
|
48
49
|
export { VerdocsSettings as VerdocsSettings } from '../types/components/embeds/verdocs-settings/verdocs-settings';
|
50
|
+
export { VerdocsSettingsApiKeys as VerdocsSettingsApiKeys } from '../types/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys';
|
51
|
+
export { VerdocsSettingsMembers as VerdocsSettingsMembers } from '../types/components/settings/verdocs-settings-members/verdocs-settings-members';
|
49
52
|
export { VerdocsSettingsOrganization as VerdocsSettingsOrganization } from '../types/components/settings/verdocs-settings-organization/verdocs-settings-organization';
|
50
53
|
export { VerdocsSettingsProfile as VerdocsSettingsProfile } from '../types/components/settings/verdocs-settings-profile/verdocs-settings-profile';
|
51
54
|
export { VerdocsSign as VerdocsSign } from '../types/components/embeds/verdocs-sign/verdocs-sign';
|
52
55
|
export { VerdocsSignatureDialog as VerdocsSignatureDialog } from '../types/components/dialogs/verdocs-signature-dialog/verdocs-signature-dialog';
|
53
56
|
export { VerdocsQuickFilter as VerdocsSpinner } from '../types/components/controls/verdocs-spinner/verdocs-spinner';
|
54
57
|
export { VerdocsStatusIndicator as VerdocsStatusIndicator } from '../types/components/envelopes/verdocs-status-indicator/verdocs-status-indicator';
|
58
|
+
export { VerdocsTable as VerdocsTable } from '../types/components/controls/verdocs-table/verdocs-table';
|
55
59
|
export { VerdocsTemplateAttachments as VerdocsTemplateAttachments } from '../types/components/templates/verdocs-template-attachments/verdocs-template-attachments';
|
56
60
|
export { VerdocsTemplateCard as VerdocsTemplateCard } from '../types/components/templates/verdocs-template-card/verdocs-template-card';
|
57
61
|
export { VerdocsTemplateCreate as VerdocsTemplateCreate } from '../types/components/templates/verdocs-template-create/verdocs-template-create';
|
package/dist/components/index.js
CHANGED
@@ -8,6 +8,7 @@ export { VerdocsButtonPanel, defineCustomElement as defineCustomElementVerdocsBu
|
|
8
8
|
export { VerdocsCheckbox, defineCustomElement as defineCustomElementVerdocsCheckbox } from './verdocs-checkbox.js';
|
9
9
|
export { VerdocsComponentError, defineCustomElement as defineCustomElementVerdocsComponentError } from './verdocs-component-error.js';
|
10
10
|
export { VerdocsContactPicker, defineCustomElement as defineCustomElementVerdocsContactPicker } from './verdocs-contact-picker.js';
|
11
|
+
export { VerdocsDialog, defineCustomElement as defineCustomElementVerdocsDialog } from './verdocs-dialog.js';
|
11
12
|
export { VerdocsDropdown, defineCustomElement as defineCustomElementVerdocsDropdown } from './verdocs-dropdown.js';
|
12
13
|
export { VerdocsEnvelopeDocumentPage, defineCustomElement as defineCustomElementVerdocsEnvelopeDocumentPage } from './verdocs-envelope-document-page.js';
|
13
14
|
export { VerdocsEnvelopeRecipientLink, defineCustomElement as defineCustomElementVerdocsEnvelopeRecipientLink } from './verdocs-envelope-recipient-link.js';
|
@@ -46,12 +47,15 @@ export { VerdocsSearchTabs, defineCustomElement as defineCustomElementVerdocsSea
|
|
46
47
|
export { VerdocsSelectInput, defineCustomElement as defineCustomElementVerdocsSelectInput } from './verdocs-select-input.js';
|
47
48
|
export { VerdocsSend, defineCustomElement as defineCustomElementVerdocsSend } from './verdocs-send.js';
|
48
49
|
export { VerdocsSettings, defineCustomElement as defineCustomElementVerdocsSettings } from './verdocs-settings.js';
|
50
|
+
export { VerdocsSettingsApiKeys, defineCustomElement as defineCustomElementVerdocsSettingsApiKeys } from './verdocs-settings-api-keys.js';
|
51
|
+
export { VerdocsSettingsMembers, defineCustomElement as defineCustomElementVerdocsSettingsMembers } from './verdocs-settings-members.js';
|
49
52
|
export { VerdocsSettingsOrganization, defineCustomElement as defineCustomElementVerdocsSettingsOrganization } from './verdocs-settings-organization.js';
|
50
53
|
export { VerdocsSettingsProfile, defineCustomElement as defineCustomElementVerdocsSettingsProfile } from './verdocs-settings-profile.js';
|
51
54
|
export { VerdocsSign, defineCustomElement as defineCustomElementVerdocsSign } from './verdocs-sign.js';
|
52
55
|
export { VerdocsSignatureDialog, defineCustomElement as defineCustomElementVerdocsSignatureDialog } from './verdocs-signature-dialog.js';
|
53
56
|
export { VerdocsSpinner, defineCustomElement as defineCustomElementVerdocsSpinner } from './verdocs-spinner.js';
|
54
57
|
export { VerdocsStatusIndicator, defineCustomElement as defineCustomElementVerdocsStatusIndicator } from './verdocs-status-indicator.js';
|
58
|
+
export { VerdocsTable, defineCustomElement as defineCustomElementVerdocsTable } from './verdocs-table.js';
|
55
59
|
export { VerdocsTemplateAttachments, defineCustomElement as defineCustomElementVerdocsTemplateAttachments } from './verdocs-template-attachments.js';
|
56
60
|
export { VerdocsTemplateCard, defineCustomElement as defineCustomElementVerdocsTemplateCard } from './verdocs-template-card.js';
|
57
61
|
export { VerdocsTemplateCreate, defineCustomElement as defineCustomElementVerdocsTemplateCreate } from './verdocs-template-create.js';
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
2
|
+
|
3
|
+
interface VerdocsDialog extends Components.VerdocsDialog, HTMLElement {}
|
4
|
+
export const VerdocsDialog: {
|
5
|
+
prototype: VerdocsDialog;
|
6
|
+
new (): VerdocsDialog;
|
7
|
+
};
|
8
|
+
/**
|
9
|
+
* Used to define this component and all nested components recursively.
|
10
|
+
*/
|
11
|
+
export const defineCustomElement: () => void;
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
+
|
3
|
+
const verdocsDialogCss = "verdocs-dialog{font-family:\"Inter\", \"Barlow\", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-dialog div{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-dialog .background-overlay{top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;z-index:10000;position:absolute;-ms-flex-align:center;align-items:center;background:#0000007f;-ms-flex-pack:center;justify-content:center}verdocs-dialog .dialog{width:320px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-radius:4px;overflow:hidden;background:#ffffff;padding:16px;-webkit-box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4);box-shadow:3px 3px 5px 1px rgba(40, 40, 40, 0.4)}verdocs-dialog .heading{display:-ms-flexbox;display:flex;font-size:20px;font-weight:500;-ms-flex-direction:row;flex-direction:row}";
|
4
|
+
|
5
|
+
const VerdocsDialog$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
6
|
+
constructor() {
|
7
|
+
super();
|
8
|
+
this.__registerHost();
|
9
|
+
this.exit = createEvent(this, "exit", 7);
|
10
|
+
}
|
11
|
+
// We need a separate event handler for clicking the background because it can receive events "through" other child components
|
12
|
+
handleDismiss(e) {
|
13
|
+
if (e.target.className === 'background-overlay') {
|
14
|
+
e.preventDefault();
|
15
|
+
this.exit.emit();
|
16
|
+
}
|
17
|
+
}
|
18
|
+
render() {
|
19
|
+
return (h(Host, null, h("div", { class: "background-overlay", onClick: e => this.handleDismiss(e) }, h("div", { class: "dialog" }, h("slot", { name: "title" }, h("div", { class: "heading" }, "Please Confirm")), h("slot", null, h("p", null))))));
|
20
|
+
}
|
21
|
+
static get style() { return verdocsDialogCss; }
|
22
|
+
}, [4, "verdocs-dialog"]);
|
23
|
+
function defineCustomElement$1() {
|
24
|
+
if (typeof customElements === "undefined") {
|
25
|
+
return;
|
26
|
+
}
|
27
|
+
const components = ["verdocs-dialog"];
|
28
|
+
components.forEach(tagName => { switch (tagName) {
|
29
|
+
case "verdocs-dialog":
|
30
|
+
if (!customElements.get(tagName)) {
|
31
|
+
customElements.define(tagName, VerdocsDialog$1);
|
32
|
+
}
|
33
|
+
break;
|
34
|
+
} });
|
35
|
+
}
|
36
|
+
defineCustomElement$1();
|
37
|
+
|
38
|
+
const VerdocsDialog = VerdocsDialog$1;
|
39
|
+
const defineCustomElement = defineCustomElement$1;
|
40
|
+
|
41
|
+
export { VerdocsDialog, defineCustomElement };
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
2
|
+
|
3
|
+
interface VerdocsSettingsApiKeys extends Components.VerdocsSettingsApiKeys, HTMLElement {}
|
4
|
+
export const VerdocsSettingsApiKeys: {
|
5
|
+
prototype: VerdocsSettingsApiKeys;
|
6
|
+
new (): VerdocsSettingsApiKeys;
|
7
|
+
};
|
8
|
+
/**
|
9
|
+
* Used to define this component and all nested components recursively.
|
10
|
+
*/
|
11
|
+
export const defineCustomElement: () => void;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { V as VerdocsSettingsApiKeys$1, d as defineCustomElement$1 } from './verdocs-settings-api-keys2.js';
|
2
|
+
|
3
|
+
const VerdocsSettingsApiKeys = VerdocsSettingsApiKeys$1;
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
5
|
+
|
6
|
+
export { VerdocsSettingsApiKeys, defineCustomElement };
|
@@ -0,0 +1,108 @@
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
+
import './Types.js';
|
3
|
+
import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
|
4
|
+
import { c as capitalize } from './Strings.js';
|
5
|
+
import { V as VerdocsToast } from './Toast.js';
|
6
|
+
import { S as SDKError } from './errors.js';
|
7
|
+
import { d as defineCustomElement$2 } from './verdocs-button2.js';
|
8
|
+
import { d as defineCustomElement$1 } from './verdocs-table2.js';
|
9
|
+
|
10
|
+
/**
|
11
|
+
* API keys are used to authenticate server-to-server calls. (API keys should **never** be used for client-to-server operations!)
|
12
|
+
* To generate a key, either use the Verdocs admin interface and make note of the client_id and client_secret generated, or call
|
13
|
+
* createKey as shown below. Then call {@link Users.Auth.authenticateApp} to obtain an access token using the provided ID and
|
14
|
+
* secret. Note that server-to-server authentication requests return shorter-lived tokens, so it is important to check the `exp`
|
15
|
+
* field and re-authenticate as needed for subsequent calls.
|
16
|
+
*
|
17
|
+
* API keys may be updated or rotated at any time. Regular rotation is recommended. Rotation will not expire or invalidate
|
18
|
+
* existing server-to-server sessions, so it may be done at any time without disrupting your application.
|
19
|
+
*
|
20
|
+
* @module
|
21
|
+
*/
|
22
|
+
/**
|
23
|
+
* Get a list of keys for a given organization. The caller must have admin access to the organization.
|
24
|
+
*
|
25
|
+
* ```typescript
|
26
|
+
* import {ApiKeys} from '@verdocs/js-sdk/Organizations';
|
27
|
+
*
|
28
|
+
* const keys = await ApiKeys.getKeys(ORGID);
|
29
|
+
* ```
|
30
|
+
*/
|
31
|
+
var getKeys = function (endpoint, organizationId) {
|
32
|
+
return endpoint.api //
|
33
|
+
.get("/organizations/".concat(organizationId, "/api_key"))
|
34
|
+
.then(function (r) { return r.data; });
|
35
|
+
};
|
36
|
+
|
37
|
+
const verdocsSettingsApiKeysCss = "verdocs-settings-api-keys{display:-ms-flexbox;display:flex;padding:10px;font-size:18px;-ms-flex-wrap:nowrap;flex-wrap:nowrap;border-radius:6px;color:#33364b;-ms-flex-direction:column;flex-direction:column;font-family:\"Inter\", \"Barlow\", sans-serif}verdocs-settings-api-keys .table{margin:12px 0}verdocs-settings-api-keys .role{font-size:12px;width:32px;height:32px;border-radius:32px;background:#777777;color:#ffffff;font-weight:700;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-settings-api-keys .col.col-actions{-ms-flex-align:center;align-items:center;text-align:center}verdocs-settings-api-keys .col.col-actions svg{cursor:pointer;width:24px;height:24px;fill:#777777}verdocs-settings-api-keys .col.col-actions svg:hover{fill:red}";
|
38
|
+
|
39
|
+
const VerdocsSettingsApiKeys = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
40
|
+
constructor() {
|
41
|
+
super();
|
42
|
+
this.__registerHost();
|
43
|
+
this.sdkError = createEvent(this, "sdkError", 7);
|
44
|
+
this.memberInvited = createEvent(this, "memberInvited", 7);
|
45
|
+
this.memberUpdated = createEvent(this, "memberUpdated", 7);
|
46
|
+
this.memberRemoved = createEvent(this, "memberRemoved", 7);
|
47
|
+
this.endpoint = VerdocsEndpoint.getDefault();
|
48
|
+
this.keys = [];
|
49
|
+
}
|
50
|
+
componentWillLoad() {
|
51
|
+
this.endpoint.loadSession();
|
52
|
+
if (!this.endpoint.session) {
|
53
|
+
console.log('[SETTINGS] Must be authenticated');
|
54
|
+
return;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
async componentDidLoad() {
|
58
|
+
var _a, _b, _c;
|
59
|
+
try {
|
60
|
+
this.keys = await getKeys(this.endpoint, this.endpoint.session.organization_id);
|
61
|
+
}
|
62
|
+
catch (e) {
|
63
|
+
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
64
|
+
VerdocsToast('Unable to load members. Please try again later');
|
65
|
+
}
|
66
|
+
}
|
67
|
+
render() {
|
68
|
+
if (!this.endpoint.session) {
|
69
|
+
console.log('[SETTINGS] Must be authenticated');
|
70
|
+
return h(Host, { class: "authentication-required" }, "Must be authenticated");
|
71
|
+
}
|
72
|
+
return (h(Host, null, h("h1", null, "API Keys"), h("verdocs-table", { data: this.keys, columns: [
|
73
|
+
{ id: 'name', header: 'Name' },
|
74
|
+
{ id: 'client_id', header: 'Client ID' },
|
75
|
+
{ id: 'profile_id', header: 'Acts as', renderCell: (_, row) => { var _a, _b; return `${capitalize((_a = row.profile) === null || _a === void 0 ? void 0 : _a.first_name)} ${capitalize((_b = row.profile) === null || _b === void 0 ? void 0 : _b.last_name)}`; } },
|
76
|
+
] }), h("verdocs-button", { label: "Add API Key", size: "normal", disabled: true })));
|
77
|
+
}
|
78
|
+
static get style() { return verdocsSettingsApiKeysCss; }
|
79
|
+
}, [0, "verdocs-settings-api-keys", {
|
80
|
+
"endpoint": [16],
|
81
|
+
"keys": [32]
|
82
|
+
}]);
|
83
|
+
function defineCustomElement() {
|
84
|
+
if (typeof customElements === "undefined") {
|
85
|
+
return;
|
86
|
+
}
|
87
|
+
const components = ["verdocs-settings-api-keys", "verdocs-button", "verdocs-table"];
|
88
|
+
components.forEach(tagName => { switch (tagName) {
|
89
|
+
case "verdocs-settings-api-keys":
|
90
|
+
if (!customElements.get(tagName)) {
|
91
|
+
customElements.define(tagName, VerdocsSettingsApiKeys);
|
92
|
+
}
|
93
|
+
break;
|
94
|
+
case "verdocs-button":
|
95
|
+
if (!customElements.get(tagName)) {
|
96
|
+
defineCustomElement$2();
|
97
|
+
}
|
98
|
+
break;
|
99
|
+
case "verdocs-table":
|
100
|
+
if (!customElements.get(tagName)) {
|
101
|
+
defineCustomElement$1();
|
102
|
+
}
|
103
|
+
break;
|
104
|
+
} });
|
105
|
+
}
|
106
|
+
defineCustomElement();
|
107
|
+
|
108
|
+
export { VerdocsSettingsApiKeys as V, defineCustomElement as d };
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
2
|
+
|
3
|
+
interface VerdocsSettingsMembers extends Components.VerdocsSettingsMembers, HTMLElement {}
|
4
|
+
export const VerdocsSettingsMembers: {
|
5
|
+
prototype: VerdocsSettingsMembers;
|
6
|
+
new (): VerdocsSettingsMembers;
|
7
|
+
};
|
8
|
+
/**
|
9
|
+
* Used to define this component and all nested components recursively.
|
10
|
+
*/
|
11
|
+
export const defineCustomElement: () => void;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { V as VerdocsSettingsMembers$1, d as defineCustomElement$1 } from './verdocs-settings-members2.js';
|
2
|
+
|
3
|
+
const VerdocsSettingsMembers = VerdocsSettingsMembers$1;
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
5
|
+
|
6
|
+
export { VerdocsSettingsMembers, defineCustomElement };
|
@@ -0,0 +1,123 @@
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
+
import './Types.js';
|
3
|
+
import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
|
4
|
+
import { c as capitalize } from './Strings.js';
|
5
|
+
import { V as VerdocsToast } from './Toast.js';
|
6
|
+
import { S as SDKError } from './errors.js';
|
7
|
+
import { d as defineCustomElement$2 } from './verdocs-button2.js';
|
8
|
+
import { d as defineCustomElement$1 } from './verdocs-table2.js';
|
9
|
+
|
10
|
+
/**
|
11
|
+
* An Organization Member (aka Profile) is an individual user with access to an organization.
|
12
|
+
*
|
13
|
+
* @module
|
14
|
+
*/
|
15
|
+
var getMembers = function (endpoint, organizationId) {
|
16
|
+
return endpoint.api //
|
17
|
+
.get("/organizations/".concat(organizationId, "/profiles"))
|
18
|
+
.then(function (r) { return r.data; });
|
19
|
+
};
|
20
|
+
|
21
|
+
const verdocsSettingsMembersCss = "verdocs-settings-members{display:-ms-flexbox;display:flex;padding:10px;font-size:18px;-ms-flex-wrap:nowrap;flex-wrap:nowrap;border-radius:6px;color:#33364b;-ms-flex-direction:column;flex-direction:column;font-family:\"Inter\", \"Barlow\", sans-serif}verdocs-settings-members .table{margin:12px 0}verdocs-settings-members .role{font-size:12px;width:32px;height:32px;border-radius:32px;background:#777777;color:#ffffff;font-weight:700;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-settings-members .col.col-actions{-ms-flex-align:center;align-items:center;text-align:center}verdocs-settings-members .col.col-actions svg{cursor:pointer;width:24px;height:24px;fill:#777777}verdocs-settings-members .col.col-actions svg:hover{fill:red}";
|
22
|
+
|
23
|
+
const TrashIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" /></svg>`;
|
24
|
+
const getRoleLabel = (roles) => {
|
25
|
+
if (roles.find(role => role.name === 'owner') !== undefined)
|
26
|
+
return 'Owner';
|
27
|
+
if (roles.find(role => role.name === 'admin') !== undefined)
|
28
|
+
return 'Admin';
|
29
|
+
if (roles.find(role => role.name === 'member') !== undefined)
|
30
|
+
return 'Member';
|
31
|
+
if (roles.find(role => role.name === 'basic_user') !== undefined)
|
32
|
+
return 'Basic User';
|
33
|
+
if (roles.find(role => role.name === 'contact') !== undefined)
|
34
|
+
return 'Contact';
|
35
|
+
};
|
36
|
+
const getRoleColor = (roles) => {
|
37
|
+
if (roles.find(role => role.name === 'owner') !== undefined)
|
38
|
+
return '#9333ea';
|
39
|
+
if (roles.find(role => role.name === 'admin') !== undefined)
|
40
|
+
return '#2563eb';
|
41
|
+
if (roles.find(role => role.name === 'member') !== undefined)
|
42
|
+
return '#16a34a';
|
43
|
+
if (roles.find(role => role.name === 'basic_user') !== undefined)
|
44
|
+
return '#ea580c';
|
45
|
+
if (roles.find(role => role.name === 'contact') !== undefined)
|
46
|
+
return '#52525B';
|
47
|
+
};
|
48
|
+
const VerdocsSettingsMembers = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
49
|
+
constructor() {
|
50
|
+
super();
|
51
|
+
this.__registerHost();
|
52
|
+
this.sdkError = createEvent(this, "sdkError", 7);
|
53
|
+
this.memberInvited = createEvent(this, "memberInvited", 7);
|
54
|
+
this.memberUpdated = createEvent(this, "memberUpdated", 7);
|
55
|
+
this.memberRemoved = createEvent(this, "memberRemoved", 7);
|
56
|
+
this.endpoint = VerdocsEndpoint.getDefault();
|
57
|
+
this.members = [];
|
58
|
+
}
|
59
|
+
componentWillLoad() {
|
60
|
+
this.endpoint.loadSession();
|
61
|
+
if (!this.endpoint.session) {
|
62
|
+
console.log('[SETTINGS] Must be authenticated');
|
63
|
+
return;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
async componentDidLoad() {
|
67
|
+
var _a, _b, _c;
|
68
|
+
try {
|
69
|
+
this.members = await getMembers(this.endpoint, this.endpoint.session.organization_id);
|
70
|
+
}
|
71
|
+
catch (e) {
|
72
|
+
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
73
|
+
VerdocsToast('Unable to load members. Please try again later');
|
74
|
+
}
|
75
|
+
}
|
76
|
+
render() {
|
77
|
+
if (!this.endpoint.session) {
|
78
|
+
console.log('[SETTINGS] Must be authenticated');
|
79
|
+
return h(Host, { class: "authentication-required" }, "Must be authenticated");
|
80
|
+
}
|
81
|
+
return (h(Host, null, h("h1", null, "Members"), h("verdocs-table", { data: this.members, columns: [
|
82
|
+
{
|
83
|
+
id: 'name',
|
84
|
+
renderHeader: () => 'Member',
|
85
|
+
renderCell: (_, row) => (h("div", { style: { display: 'flex', flexDirection: 'row', gap: '10px', alignItems: 'center' } }, h("div", { class: "role", style: { backgroundColor: getRoleColor(row.roles) } }, row.first_name.charAt(0), " ", row.last_name.charAt(0)), h("span", null, capitalize(row.first_name), " ", capitalize(row.last_name)))),
|
86
|
+
},
|
87
|
+
{ id: 'email', header: 'E-mail Address' },
|
88
|
+
{ id: 'phone', header: 'Phone Number' },
|
89
|
+
{ id: 'roles', header: 'Role', renderCell: (_, row) => `${getRoleLabel(row.roles)}` },
|
90
|
+
{ id: 'actions', header: 'Actions', renderCell: () => h("span", { innerHTML: TrashIcon, onClick: () => { } }) },
|
91
|
+
] }), h("verdocs-button", { label: "Invite New Member", size: "normal", disabled: true })));
|
92
|
+
}
|
93
|
+
static get style() { return verdocsSettingsMembersCss; }
|
94
|
+
}, [0, "verdocs-settings-members", {
|
95
|
+
"endpoint": [16],
|
96
|
+
"members": [32]
|
97
|
+
}]);
|
98
|
+
function defineCustomElement() {
|
99
|
+
if (typeof customElements === "undefined") {
|
100
|
+
return;
|
101
|
+
}
|
102
|
+
const components = ["verdocs-settings-members", "verdocs-button", "verdocs-table"];
|
103
|
+
components.forEach(tagName => { switch (tagName) {
|
104
|
+
case "verdocs-settings-members":
|
105
|
+
if (!customElements.get(tagName)) {
|
106
|
+
customElements.define(tagName, VerdocsSettingsMembers);
|
107
|
+
}
|
108
|
+
break;
|
109
|
+
case "verdocs-button":
|
110
|
+
if (!customElements.get(tagName)) {
|
111
|
+
defineCustomElement$2();
|
112
|
+
}
|
113
|
+
break;
|
114
|
+
case "verdocs-table":
|
115
|
+
if (!customElements.get(tagName)) {
|
116
|
+
defineCustomElement$1();
|
117
|
+
}
|
118
|
+
break;
|
119
|
+
} });
|
120
|
+
}
|
121
|
+
defineCustomElement();
|
122
|
+
|
123
|
+
export { VerdocsSettingsMembers as V, defineCustomElement as d };
|