@verdocs/web-sdk 4.1.14 → 4.1.16
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/{EnvelopeStore-db4f3f17.js → EnvelopeStore-4aeb54e1.js} +1 -1
- package/dist/cjs/{TemplateStore-037833e5.js → TemplateStore-7c7f1c50.js} +1 -1
- package/dist/cjs/{index-a5472099.js → index-2a189d85.js} +0 -517
- package/dist/cjs/index-cfdfab36.js +12 -24
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
- package/dist/cjs/{verdocs-button-panel.cjs.entry.js → verdocs-button-panel_2.cjs.entry.js} +21 -0
- package/dist/cjs/{verdocs-checkbox_3.cjs.entry.js → verdocs-checkbox_4.cjs.entry.js} +17 -2
- package/dist/cjs/{verdocs-dialog_2.cjs.entry.js → verdocs-dialog.cjs.entry.js} +0 -22
- package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +10 -11
- package/dist/cjs/verdocs-preview_10.cjs.entry.js +15 -13
- package/dist/cjs/verdocs-radio-button_3.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-table.cjs.entry.js +28 -0
- package/dist/cjs/verdocs-templates-list.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +0 -5
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +13 -11
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +1 -1
- package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +1 -2
- package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +10 -11
- package/dist/collection/components/templates/verdocs-templates-list/verdocs-templates-list.js +2 -2
- package/dist/components/EnvelopeStore.js +2 -2
- package/dist/components/TemplateFieldStore.js +1 -1
- package/dist/components/TemplateRoleStore.js +1 -1
- package/dist/components/TemplateStore.js +2 -2
- package/dist/components/index.js +0 -10
- package/dist/components/index3.js +166 -4207
- package/dist/components/index4.js +3692 -167
- package/dist/components/verdocs-dialog.js +37 -1
- package/dist/components/verdocs-envelope-sidebar.js +1 -2
- package/dist/components/verdocs-envelopes-list.js +10 -11
- package/dist/components/verdocs-send2.js +13 -11
- package/dist/components/verdocs-table.js +39 -1
- package/dist/components/verdocs-templates-list.js +2 -2
- package/dist/components/verdocs-view2.js +1 -1
- package/dist/custom-elements.json +2086 -0
- package/dist/esm/{EnvelopeStore-9df042b5.js → EnvelopeStore-1ed5dc8f.js} +1 -1
- package/dist/esm/{TemplateStore-78ad24d7.js → TemplateStore-7d41d941.js} +1 -1
- package/dist/esm/{index-7456b04f.js → index-7588a071.js} +1 -517
- package/dist/esm/index-b89cf6a4.js +12 -24
- package/dist/esm/loader.js +1 -1
- package/dist/esm/verdocs-build.entry.js +2 -2
- package/dist/esm/{verdocs-button-panel.entry.js → verdocs-button-panel_2.entry.js} +22 -2
- package/dist/esm/{verdocs-checkbox_3.entry.js → verdocs-checkbox_4.entry.js} +17 -3
- package/dist/{components/verdocs-dialog2.js → esm/verdocs-dialog.entry.js} +7 -21
- package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +2 -2
- package/dist/esm/verdocs-envelope-sidebar.entry.js +3 -4
- package/dist/esm/verdocs-envelopes-list.entry.js +10 -11
- package/dist/esm/verdocs-preview_10.entry.js +15 -13
- package/dist/esm/verdocs-radio-button_3.entry.js +2 -2
- package/dist/{components/verdocs-table2.js → esm/verdocs-table.entry.js} +7 -24
- package/dist/esm/verdocs-templates-list.entry.js +2 -2
- package/dist/esm/verdocs-view.entry.js +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/{EnvelopeStore-9df042b5.js → EnvelopeStore-1ed5dc8f.js} +1 -1
- package/dist/esm-es5/{TemplateStore-78ad24d7.js → TemplateStore-7d41d941.js} +1 -1
- package/dist/esm-es5/index-7588a071.js +1 -0
- package/dist/esm-es5/index-b89cf6a4.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -0
- package/dist/esm-es5/verdocs-checkbox_4.entry.js +1 -0
- package/dist/esm-es5/{verdocs-dialog_2.entry.js → verdocs-dialog.entry.js} +1 -1
- package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview_10.entry.js +1 -1
- package/dist/esm-es5/verdocs-radio-button_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-table.entry.js +1 -0
- package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
- package/dist/esm-es5/verdocs-view.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components.d.ts +2 -322
- package/dist/verdocs-web-sdk/{p-5961ce51.entry.js → p-0d54abe5.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-1f771dad.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-95e90092.system.entry.js → p-2be9ba53.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-30513f94.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-322fa613.system.js +1 -1
- package/dist/verdocs-web-sdk/p-3f4b3548.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-5309a156.system.entry.js → p-413ab8a1.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-16850eac.system.entry.js → p-48fce604.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-61257cb2.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-225418c7.entry.js → p-687c07ad.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-73f45012.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-7fe48d2e.entry.js → p-78908c67.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-5e3e9c4a.system.js → p-889cc411.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-9440752e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-f05a3654.system.entry.js → p-977a5a4b.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-540d9467.entry.js → p-9d36d2ad.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-a706bac9.js +1 -0
- package/dist/verdocs-web-sdk/p-b3017cd6.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-316b550f.entry.js → p-b61842bd.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-03aedbe9.system.entry.js → p-b6b6f12a.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-0e022e75.system.entry.js → p-b7397955.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-ba6570b4.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-afbbdc2f.system.js → p-c8de3052.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-cf7f4475.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-8a820b88.system.entry.js → p-d2feac5b.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-e7578fac.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-c28c4e43.js → p-f02e08da.js} +1 -1
- package/dist/verdocs-web-sdk/p-f5064e0c.system.js +1 -0
- package/dist/verdocs-web-sdk/{p-5df130eb.entry.js → p-f632ffac.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-9ec464df.js → p-fc2ae858.js} +1 -1
- package/dist/verdocs-web-sdk/p-fc5e568d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +2 -3
- package/dist/cjs/verdocs-component-error.cjs.entry.js +0 -21
- package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +0 -542
- package/dist/cjs/verdocs-settings.cjs.entry.js +0 -42
- package/dist/cjs/verdocs-tabs.cjs.entry.js +0 -27
- package/dist/collection/components/embeds/verdocs-settings/verdocs-settings.css +0 -40
- package/dist/collection/components/embeds/verdocs-settings/verdocs-settings.js +0 -104
- package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.css +0 -64
- package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.js +0 -292
- package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.css +0 -80
- package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.js +0 -349
- package/dist/collection/components/settings/verdocs-settings-organization/TimeZones.js +0 -144
- package/dist/collection/components/settings/verdocs-settings-organization/verdocs-settings-organization.css +0 -44
- package/dist/collection/components/settings/verdocs-settings-organization/verdocs-settings-organization.js +0 -192
- package/dist/collection/components/settings/verdocs-settings-profile/verdocs-settings-profile.css +0 -44
- package/dist/collection/components/settings/verdocs-settings-profile/verdocs-settings-profile.js +0 -190
- package/dist/components/verdocs-settings-api-keys.d.ts +0 -11
- package/dist/components/verdocs-settings-api-keys.js +0 -6
- package/dist/components/verdocs-settings-api-keys2.js +0 -209
- package/dist/components/verdocs-settings-members.d.ts +0 -11
- package/dist/components/verdocs-settings-members.js +0 -6
- package/dist/components/verdocs-settings-members2.js +0 -273
- package/dist/components/verdocs-settings-organization.d.ts +0 -11
- package/dist/components/verdocs-settings-organization.js +0 -6
- package/dist/components/verdocs-settings-organization2.js +0 -142
- package/dist/components/verdocs-settings-profile.d.ts +0 -11
- package/dist/components/verdocs-settings-profile.js +0 -6
- package/dist/components/verdocs-settings-profile2.js +0 -140
- package/dist/components/verdocs-settings.d.ts +0 -11
- package/dist/components/verdocs-settings.js +0 -130
- package/dist/esm/verdocs-component-error.entry.js +0 -17
- package/dist/esm/verdocs-dialog_2.entry.js +0 -46
- package/dist/esm/verdocs-settings-api-keys_4.entry.js +0 -535
- package/dist/esm/verdocs-settings.entry.js +0 -38
- package/dist/esm/verdocs-tabs.entry.js +0 -23
- package/dist/esm-es5/index-7456b04f.js +0 -1
- package/dist/esm-es5/verdocs-button-panel.entry.js +0 -1
- package/dist/esm-es5/verdocs-checkbox_3.entry.js +0 -1
- package/dist/esm-es5/verdocs-component-error.entry.js +0 -1
- package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +0 -1
- package/dist/esm-es5/verdocs-settings.entry.js +0 -1
- package/dist/esm-es5/verdocs-tabs.entry.js +0 -1
- package/dist/types/components/embeds/verdocs-settings/verdocs-settings.d.ts +0 -26
- package/dist/types/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.d.ts +0 -54
- package/dist/types/components/settings/verdocs-settings-members/verdocs-settings-members.d.ts +0 -58
- package/dist/types/components/settings/verdocs-settings-organization/TimeZones.d.ts +0 -1
- package/dist/types/components/settings/verdocs-settings-organization/verdocs-settings-organization.d.ts +0 -37
- package/dist/types/components/settings/verdocs-settings-profile/verdocs-settings-profile.d.ts +0 -37
- package/dist/verdocs-web-sdk/p-03f8d33f.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-12c26b19.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-141a992e.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-3ecaea8a.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-45cf0ab5.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-4df630c2.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-515ee177.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6fa08e21.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-708b5430.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-753d0e16.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-952b88fb.system.js +0 -1
- package/dist/verdocs-web-sdk/p-971ab2d1.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e42587b7.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-efc547dc.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f3b47dfc.js +0 -1
- package/dist/verdocs-web-sdk/p-f44b9bd0.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f73b68fb.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-fbfdfcd4.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-fe0c473d.entry.js +0 -1
@@ -1,11 +0,0 @@
|
|
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;
|
@@ -1,6 +0,0 @@
|
|
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 };
|
@@ -1,273 +0,0 @@
|
|
1
|
-
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
-
import { VerdocsEndpoint, getOrganizationMembers, getOrganizationInvitations, createOrganizationInvitation, deleteOrganizationMember, deleteOrganizationInvitation, resendOrganizationInvitation, formatInitials, formatFullName, capitalize } from '@verdocs/js-sdk';
|
3
|
-
import { V as VerdocsToast } from './Toast.js';
|
4
|
-
import { S as SDKError } from './errors.js';
|
5
|
-
import { d as defineCustomElement$7 } from './verdocs-button2.js';
|
6
|
-
import { d as defineCustomElement$6 } from './verdocs-dialog2.js';
|
7
|
-
import { d as defineCustomElement$5 } from './verdocs-help-icon2.js';
|
8
|
-
import { d as defineCustomElement$4 } from './verdocs-select-input2.js';
|
9
|
-
import { d as defineCustomElement$3 } from './verdocs-table2.js';
|
10
|
-
import { d as defineCustomElement$2 } from './verdocs-tabs2.js';
|
11
|
-
import { d as defineCustomElement$1 } from './verdocs-text-input2.js';
|
12
|
-
import { d as dateFns } from './index2.js';
|
13
|
-
|
14
|
-
const verdocsSettingsMembersCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}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 .table{margin:12px 0}verdocs-settings-members .data-col div{gap:12px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-settings-members .data-col svg{width:24px;height:24px}verdocs-settings-members .col-name svg,verdocs-settings-members .col-client_id svg,verdocs-settings-members .col-profile_id svg{fill:#a1a1aa}verdocs-settings-members .col-actions svg{fill:#ffffff;stroke:#a1a1aa}verdocs-settings-members .col-actions svg:hover{cursor:pointer;stroke:red}verdocs-settings-members .col-actions>div{-ms-flex-pack:center;justify-content:center}verdocs-settings-members .header-col.col-actions{text-align:center}verdocs-settings-members verdocs-dialog p{font-size:16px;line-height:18px;margin:0 0 1em 0}@media all and (max-width: 450px){verdocs-settings-members .col-email,verdocs-settings-members .col-phone,verdocs-settings-members .col-actions{display:none}}";
|
15
|
-
const VerdocsSettingsMembersStyle0 = verdocsSettingsMembersCss;
|
16
|
-
|
17
|
-
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>`;
|
18
|
-
const ArrowPathIcon = `<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="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99" /></svg>`;
|
19
|
-
// const getRoleLabel = (roles: any[]) => {
|
20
|
-
// if (roles.find(role => role.name === 'owner') !== undefined) return 'Owner';
|
21
|
-
// if (roles.find(role => role.name === 'admin') !== undefined) return 'Admin';
|
22
|
-
// if (roles.find(role => role.name === 'member') !== undefined) return 'Member';
|
23
|
-
// if (roles.find(role => role.name === 'basic_user') !== undefined) return 'Basic User';
|
24
|
-
// if (roles.find(role => role.name === 'contact') !== undefined) return 'Contact';
|
25
|
-
// };
|
26
|
-
//
|
27
|
-
const getRoleColor = (roles) => {
|
28
|
-
if (roles.find(role => role.name === 'owner') !== undefined)
|
29
|
-
return '#9333ea';
|
30
|
-
if (roles.find(role => role.name === 'admin') !== undefined)
|
31
|
-
return '#2563eb';
|
32
|
-
if (roles.find(role => role.name === 'member') !== undefined)
|
33
|
-
return '#16a34a';
|
34
|
-
if (roles.find(role => role.name === 'basic_user') !== undefined)
|
35
|
-
return '#ea580c';
|
36
|
-
if (roles.find(role => role.name === 'contact') !== undefined)
|
37
|
-
return '#52525B';
|
38
|
-
};
|
39
|
-
const roleOptions = [
|
40
|
-
{ label: 'Contact', value: 'contact' },
|
41
|
-
{ label: 'Basic User', value: 'basic_user' },
|
42
|
-
{ label: 'Member', value: 'member' },
|
43
|
-
{ label: 'Admin', value: 'admin' },
|
44
|
-
{ label: 'Owner', value: 'owner' },
|
45
|
-
];
|
46
|
-
const VerdocsSettingsMembers = /*@__PURE__*/ proxyCustomElement(class VerdocsSettingsMembers extends HTMLElement {
|
47
|
-
constructor() {
|
48
|
-
super();
|
49
|
-
this.__registerHost();
|
50
|
-
this.sdkError = createEvent(this, "sdkError", 7);
|
51
|
-
this.memberInvited = createEvent(this, "memberInvited", 7);
|
52
|
-
this.memberUpdated = createEvent(this, "memberUpdated", 7);
|
53
|
-
this.memberRemoved = createEvent(this, "memberRemoved", 7);
|
54
|
-
this.endpoint = VerdocsEndpoint.getDefault();
|
55
|
-
this.members = [];
|
56
|
-
this.invited = [];
|
57
|
-
this.selectedTab = 0;
|
58
|
-
this.invitingMember = false;
|
59
|
-
this.newEmailAddress = '';
|
60
|
-
this.newFirst = '';
|
61
|
-
this.newLast = '';
|
62
|
-
this.newRole = 'member';
|
63
|
-
this.submitting = false;
|
64
|
-
this.deletingInvitation = null;
|
65
|
-
this.resendingInvitation = null;
|
66
|
-
this.deletingMember = null;
|
67
|
-
}
|
68
|
-
componentWillLoad() {
|
69
|
-
this.endpoint.loadSession();
|
70
|
-
if (!this.endpoint.session) {
|
71
|
-
console.log('[SETTINGS] Must be authenticated');
|
72
|
-
return;
|
73
|
-
}
|
74
|
-
}
|
75
|
-
async componentDidLoad() {
|
76
|
-
this.loadMembers().catch((e) => console.log('Unknown Error', e));
|
77
|
-
}
|
78
|
-
async loadMembers() {
|
79
|
-
var _a, _b, _c;
|
80
|
-
try {
|
81
|
-
const [members, invites] = await Promise.all([getOrganizationMembers(this.endpoint), getOrganizationInvitations(this.endpoint)]);
|
82
|
-
this.members = members;
|
83
|
-
this.invited = invites;
|
84
|
-
this.newRole = 'member';
|
85
|
-
}
|
86
|
-
catch (e) {
|
87
|
-
(_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));
|
88
|
-
VerdocsToast('Unable to load members. Please try again later');
|
89
|
-
}
|
90
|
-
}
|
91
|
-
async handleInviteMember() {
|
92
|
-
this.submitting = true;
|
93
|
-
createOrganizationInvitation(VerdocsEndpoint.getDefault(), {
|
94
|
-
email: this.newEmailAddress,
|
95
|
-
first_name: this.newFirst,
|
96
|
-
last_name: this.newLast,
|
97
|
-
role: this.newRole,
|
98
|
-
})
|
99
|
-
.then(r => {
|
100
|
-
console.log('[SETTINGS] Invited member', r);
|
101
|
-
this.invitingMember = false;
|
102
|
-
this.submitting = false;
|
103
|
-
this.newRole = 'member';
|
104
|
-
this.newEmailAddress = '';
|
105
|
-
this.newFirst = '';
|
106
|
-
this.newLast = '';
|
107
|
-
VerdocsToast('Invitation sent!', { style: 'success' });
|
108
|
-
this.loadMembers();
|
109
|
-
})
|
110
|
-
.catch(e => {
|
111
|
-
console.log('[SETTINGS] Unable to invite member', e);
|
112
|
-
this.invitingMember = false;
|
113
|
-
this.submitting = false;
|
114
|
-
this.newRole = 'member';
|
115
|
-
this.newEmailAddress = '';
|
116
|
-
this.newFirst = '';
|
117
|
-
this.newLast = '';
|
118
|
-
VerdocsToast('Unable to invite member. Please try again later', { style: 'error' });
|
119
|
-
});
|
120
|
-
}
|
121
|
-
async handleDeleteMember() {
|
122
|
-
this.submitting = true;
|
123
|
-
deleteOrganizationMember(VerdocsEndpoint.getDefault(), this.deletingMember.email)
|
124
|
-
.then(() => {
|
125
|
-
this.submitting = false;
|
126
|
-
this.deletingMember = null;
|
127
|
-
VerdocsToast('The member has been deleted.', { style: 'success' });
|
128
|
-
this.loadMembers();
|
129
|
-
})
|
130
|
-
.catch(e => {
|
131
|
-
this.submitting = false;
|
132
|
-
this.deletingMember = null;
|
133
|
-
console.log('Delete error', e);
|
134
|
-
VerdocsToast('Unable to cancel invitation. Please try again later', { style: 'error' });
|
135
|
-
});
|
136
|
-
}
|
137
|
-
async handleDeleteInvitation() {
|
138
|
-
this.submitting = true;
|
139
|
-
deleteOrganizationInvitation(VerdocsEndpoint.getDefault(), this.deletingInvitation.email)
|
140
|
-
.then(() => {
|
141
|
-
this.submitting = false;
|
142
|
-
this.deletingInvitation = null;
|
143
|
-
VerdocsToast('The invitation has been cancelled.', { style: 'success' });
|
144
|
-
this.loadMembers();
|
145
|
-
})
|
146
|
-
.catch(e => {
|
147
|
-
this.submitting = false;
|
148
|
-
this.deletingInvitation = null;
|
149
|
-
console.log('Delete error', e);
|
150
|
-
VerdocsToast('Unable to cancel invitation. Please try again later', { style: 'error' });
|
151
|
-
});
|
152
|
-
}
|
153
|
-
async handleResendInvitation() {
|
154
|
-
this.submitting = true;
|
155
|
-
resendOrganizationInvitation(VerdocsEndpoint.getDefault(), this.resendingInvitation.email)
|
156
|
-
.then(() => {
|
157
|
-
this.submitting = false;
|
158
|
-
this.resendingInvitation = null;
|
159
|
-
VerdocsToast('The invitation has been resent.', { style: 'success' });
|
160
|
-
this.loadMembers();
|
161
|
-
})
|
162
|
-
.catch(e => {
|
163
|
-
this.submitting = false;
|
164
|
-
this.resendingInvitation = null;
|
165
|
-
console.log('REsend error', e);
|
166
|
-
VerdocsToast('Unable to resend invitation. Please try again later', { style: 'error' });
|
167
|
-
});
|
168
|
-
}
|
169
|
-
render() {
|
170
|
-
if (!this.endpoint.session) {
|
171
|
-
console.log('[SETTINGS] Must be authenticated');
|
172
|
-
return h(Host, { class: "authentication-required" }, "Must be authenticated");
|
173
|
-
}
|
174
|
-
return (h(Host, null, h("verdocs-tabs", { tabs: [{ label: `Members (${this.members.length})` }, { label: `Pending Invitations (${this.invited.length})` }], onSelectTab: e => (this.selectedTab = e.detail.index) }), this.selectedTab === 0 && (h("verdocs-table", { data: this.members, columns: [
|
175
|
-
{
|
176
|
-
id: 'name',
|
177
|
-
renderHeader: () => 'Member',
|
178
|
-
renderCell: (_, row) => (h("div", { style: { display: 'flex', flexDirection: 'row', gap: '10px', alignItems: 'center' } }, h("div", { class: "role", style: { backgroundColor: getRoleColor(row.roles) } }, formatInitials(row)), h("span", null, formatFullName(row)))),
|
179
|
-
},
|
180
|
-
{ id: 'email', header: 'E-mail Address' },
|
181
|
-
{ id: 'phone', header: 'Phone Number' },
|
182
|
-
{ id: 'roles', header: 'Role', renderCell: (_, row) => `${row.roles}` },
|
183
|
-
{
|
184
|
-
id: 'actions',
|
185
|
-
header: 'Actions',
|
186
|
-
renderCell: (_, row) => h("div", null, row.id !== this.endpoint.session.profile_id && h("div", { innerHTML: TrashIcon, onClick: () => (this.deletingMember = row) })),
|
187
|
-
},
|
188
|
-
] })), this.selectedTab === 1 && (h("verdocs-table", { data: this.invited, columns: [
|
189
|
-
{ id: 'email', header: 'E-mail Address' },
|
190
|
-
{ id: 'generated_at', header: 'Invited', renderCell: (_, row) => h("div", null, dateFns.format(new Date(row.generated_at), 'MMM d, Y')) },
|
191
|
-
{ id: 'role', header: 'Role', renderCell: (_, row) => h("div", null, row.role) },
|
192
|
-
{ id: 'status', header: 'Status', renderCell: (_, row) => h("div", null, capitalize(row.status)) },
|
193
|
-
{
|
194
|
-
id: 'actions',
|
195
|
-
header: 'Actions',
|
196
|
-
renderCell: (_, row) => (h("div", null, h("div", { innerHTML: TrashIcon, onClick: () => (this.deletingInvitation = row) }), h("div", { innerHTML: ArrowPathIcon, onClick: () => (this.resendingInvitation = row) }))),
|
197
|
-
},
|
198
|
-
] })), h("verdocs-button", { label: "Invite New Member", size: "normal", disabled: this.submitting, onClick: () => (this.invitingMember = true) }), this.invitingMember && (h("verdocs-dialog", { onExit: () => (this.invitingMember = false) }, h("div", { slot: "title", class: "heading" }, "Invite New Member"), h("div", { class: "content" }, h("verdocs-text-input", { label: "E-mail Address", placeholder: "Enter the user's email address...", id: "verdocs-invite-email", value: this.newEmailAddress, autocomplete: "off", required: true, onInput: (e) => (this.newEmailAddress = e.target.value), onFocusout: (e) => {
|
199
|
-
this.newEmailAddress = e.target.value.trim();
|
200
|
-
} }), h("verdocs-text-input", { label: "First", placeholder: "First name...", id: "verdocs-invite-first", value: this.newFirst, autocomplete: "off", required: true, onInput: (e) => (this.newFirst = e.target.value), onFocusout: (e) => {
|
201
|
-
this.newFirst = e.target.value.trim();
|
202
|
-
} }), h("verdocs-text-input", { label: "Last", placeholder: "Enter the user's last name...", id: "verdocs-invite-last", value: this.newLast, autocomplete: "off", required: true, onInput: (e) => (this.newLast = e.target.value), onFocusout: (e) => {
|
203
|
-
this.newLast = e.target.value.trim();
|
204
|
-
} }), h("div", { style: { marginBottom: '20px' } }), h("verdocs-select-input", { options: roleOptions, label: "Role", onInput: (e) => {
|
205
|
-
this.newRole = e.target.value;
|
206
|
-
} }), h("div", { class: "buttons" }, h("verdocs-button", { variant: "outline", size: "small", label: "Cancel", disabled: this.submitting, onClick: () => (this.invitingMember = false) }), h("verdocs-button", { size: "small", label: "OK", disabled: this.submitting || !this.newEmailAddress || !this.newRole, onClick: () => this.handleInviteMember() }))))), this.deletingMember && (h("verdocs-dialog", { onExit: () => (this.deletingMember = null) }, h("div", { slot: "title", class: "heading" }, "Delete Member?"), h("div", { class: "content" }, h("p", null, "Are you sure you want to delete this member? This action cannot be undone."), h("div", { class: "buttons" }, h("verdocs-button", { variant: "outline", size: "small", disabled: this.submitting, label: "Cancel", onClick: () => (this.deletingMember = null) }), h("verdocs-button", { size: "small", label: "OK", disabled: this.submitting, onClick: () => this.handleDeleteMember() }))))), this.deletingInvitation && (h("verdocs-dialog", { onExit: () => (this.deletingInvitation = null) }, h("div", { slot: "title", class: "heading" }, "Cancel Invitation?"), h("div", { class: "content" }, h("p", null, "Are you sure you want to cancel this invitation? This action cannot be undone."), h("div", { class: "buttons" }, h("verdocs-button", { variant: "outline", size: "small", disabled: this.submitting, label: "Cancel", onClick: () => (this.deletingInvitation = null) }), h("verdocs-button", { size: "small", label: "OK", disabled: this.submitting, onClick: () => this.handleDeleteInvitation() }))))), this.resendingInvitation && (h("verdocs-dialog", { onExit: () => (this.resendingInvitation = null) }, h("div", { slot: "title", class: "heading" }, "Resend Invitation?"), h("div", { class: "content" }, h("p", null, "The user will receive an email reminder to join your organization."), h("div", { class: "buttons" }, h("verdocs-button", { variant: "outline", size: "small", disabled: this.submitting, label: "Cancel", onClick: () => (this.resendingInvitation = null) }), h("verdocs-button", { size: "small", label: "OK", disabled: this.submitting, onClick: () => this.handleResendInvitation() })))))));
|
207
|
-
}
|
208
|
-
static get style() { return VerdocsSettingsMembersStyle0; }
|
209
|
-
}, [0, "verdocs-settings-members", {
|
210
|
-
"endpoint": [16],
|
211
|
-
"members": [32],
|
212
|
-
"invited": [32],
|
213
|
-
"selectedTab": [32],
|
214
|
-
"invitingMember": [32],
|
215
|
-
"newEmailAddress": [32],
|
216
|
-
"newFirst": [32],
|
217
|
-
"newLast": [32],
|
218
|
-
"newRole": [32],
|
219
|
-
"submitting": [32],
|
220
|
-
"deletingInvitation": [32],
|
221
|
-
"resendingInvitation": [32],
|
222
|
-
"deletingMember": [32]
|
223
|
-
}]);
|
224
|
-
function defineCustomElement() {
|
225
|
-
if (typeof customElements === "undefined") {
|
226
|
-
return;
|
227
|
-
}
|
228
|
-
const components = ["verdocs-settings-members", "verdocs-button", "verdocs-dialog", "verdocs-help-icon", "verdocs-select-input", "verdocs-table", "verdocs-tabs", "verdocs-text-input"];
|
229
|
-
components.forEach(tagName => { switch (tagName) {
|
230
|
-
case "verdocs-settings-members":
|
231
|
-
if (!customElements.get(tagName)) {
|
232
|
-
customElements.define(tagName, VerdocsSettingsMembers);
|
233
|
-
}
|
234
|
-
break;
|
235
|
-
case "verdocs-button":
|
236
|
-
if (!customElements.get(tagName)) {
|
237
|
-
defineCustomElement$7();
|
238
|
-
}
|
239
|
-
break;
|
240
|
-
case "verdocs-dialog":
|
241
|
-
if (!customElements.get(tagName)) {
|
242
|
-
defineCustomElement$6();
|
243
|
-
}
|
244
|
-
break;
|
245
|
-
case "verdocs-help-icon":
|
246
|
-
if (!customElements.get(tagName)) {
|
247
|
-
defineCustomElement$5();
|
248
|
-
}
|
249
|
-
break;
|
250
|
-
case "verdocs-select-input":
|
251
|
-
if (!customElements.get(tagName)) {
|
252
|
-
defineCustomElement$4();
|
253
|
-
}
|
254
|
-
break;
|
255
|
-
case "verdocs-table":
|
256
|
-
if (!customElements.get(tagName)) {
|
257
|
-
defineCustomElement$3();
|
258
|
-
}
|
259
|
-
break;
|
260
|
-
case "verdocs-tabs":
|
261
|
-
if (!customElements.get(tagName)) {
|
262
|
-
defineCustomElement$2();
|
263
|
-
}
|
264
|
-
break;
|
265
|
-
case "verdocs-text-input":
|
266
|
-
if (!customElements.get(tagName)) {
|
267
|
-
defineCustomElement$1();
|
268
|
-
}
|
269
|
-
break;
|
270
|
-
} });
|
271
|
-
}
|
272
|
-
|
273
|
-
export { VerdocsSettingsMembers as V, defineCustomElement as d };
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import type { Components, JSX } from "../types/components";
|
2
|
-
|
3
|
-
interface VerdocsSettingsOrganization extends Components.VerdocsSettingsOrganization, HTMLElement {}
|
4
|
-
export const VerdocsSettingsOrganization: {
|
5
|
-
prototype: VerdocsSettingsOrganization;
|
6
|
-
new (): VerdocsSettingsOrganization;
|
7
|
-
};
|
8
|
-
/**
|
9
|
-
* Used to define this component and all nested components recursively.
|
10
|
-
*/
|
11
|
-
export const defineCustomElement: () => void;
|
@@ -1,6 +0,0 @@
|
|
1
|
-
import { V as VerdocsSettingsOrganization$1, d as defineCustomElement$1 } from './verdocs-settings-organization2.js';
|
2
|
-
|
3
|
-
const VerdocsSettingsOrganization = VerdocsSettingsOrganization$1;
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
5
|
-
|
6
|
-
export { VerdocsSettingsOrganization, defineCustomElement };
|
@@ -1,142 +0,0 @@
|
|
1
|
-
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
-
import { z } from './index3.js';
|
3
|
-
import { VerdocsEndpoint, getOrganization, updateOrganization } from '@verdocs/js-sdk';
|
4
|
-
import { c as convertToE164 } from './utils.js';
|
5
|
-
import { V as VerdocsToast } from './Toast.js';
|
6
|
-
import { d as defineCustomElement$3 } from './verdocs-button2.js';
|
7
|
-
import { d as defineCustomElement$2 } from './verdocs-help-icon2.js';
|
8
|
-
import { d as defineCustomElement$1 } from './verdocs-text-input2.js';
|
9
|
-
|
10
|
-
const verdocsSettingsOrganizationCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-settings-organization{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-organization .columns{gap:20px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row}verdocs-settings-organization .column{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-settings-organization verdocs-text-input{margin:10px 0}verdocs-settings-organization verdocs-text-input input{height:32px}@media screen and (max-width: 600px){verdocs-settings-organization .columns{gap:0;-ms-flex-direction:column;flex-direction:column}}";
|
11
|
-
const VerdocsSettingsOrganizationStyle0 = verdocsSettingsOrganizationCss;
|
12
|
-
|
13
|
-
const schema = z.object({
|
14
|
-
// name: z.string().trim().min(1, 'Name is required').max(30),
|
15
|
-
business_name: z.string().trim().max(30).optional(),
|
16
|
-
contact_email: z.string().trim().email('Invalid email').optional().or(z.literal('')),
|
17
|
-
phone: z.preprocess(val => convertToE164(String(val).trim()), z.string().optional()),
|
18
|
-
url: z.string().trim().optional(),
|
19
|
-
});
|
20
|
-
const VerdocsSettingsOrganization = /*@__PURE__*/ proxyCustomElement(class VerdocsSettingsOrganization extends HTMLElement {
|
21
|
-
constructor() {
|
22
|
-
super();
|
23
|
-
this.__registerHost();
|
24
|
-
this.sdkError = createEvent(this, "sdkError", 7);
|
25
|
-
this.organizationUpdated = createEvent(this, "organizationUpdated", 7);
|
26
|
-
this.endpoint = VerdocsEndpoint.getDefault();
|
27
|
-
this.valid = false;
|
28
|
-
this.dirty = false;
|
29
|
-
this.submitting = false;
|
30
|
-
this.name = '';
|
31
|
-
this.contact_email = '';
|
32
|
-
this.phone = '';
|
33
|
-
this.url = '';
|
34
|
-
}
|
35
|
-
componentWillLoad() {
|
36
|
-
this.endpoint.loadSession();
|
37
|
-
if (!this.endpoint.session) {
|
38
|
-
console.log('[SETTINGS] Must be authenticated');
|
39
|
-
return;
|
40
|
-
}
|
41
|
-
}
|
42
|
-
async componentDidLoad() {
|
43
|
-
const organization = await getOrganization(this.endpoint, this.endpoint.session.organization_id);
|
44
|
-
console.log('[SETTINGS] Loaded organization', organization);
|
45
|
-
this.resetForm(organization);
|
46
|
-
}
|
47
|
-
resetForm(organization) {
|
48
|
-
this.name = organization.name;
|
49
|
-
this.contact_email = organization.contact_email;
|
50
|
-
this.phone = organization.phone;
|
51
|
-
this.url = organization.url;
|
52
|
-
this.dirty = false;
|
53
|
-
this.valid = true;
|
54
|
-
}
|
55
|
-
handleSubmit(e) {
|
56
|
-
e.preventDefault();
|
57
|
-
e.stopPropagation();
|
58
|
-
updateOrganization(VerdocsEndpoint.getDefault(), this.endpoint.session.organization_id, {
|
59
|
-
name: this.name,
|
60
|
-
contact_email: this.contact_email,
|
61
|
-
phone: this.phone,
|
62
|
-
url: this.url,
|
63
|
-
})
|
64
|
-
.then(newOrganization => {
|
65
|
-
var _a;
|
66
|
-
console.log('[SETTINGS] Update result', newOrganization);
|
67
|
-
(_a = this.organizationUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, organization: newOrganization });
|
68
|
-
this.resetForm(newOrganization);
|
69
|
-
})
|
70
|
-
.catch(e => VerdocsToast(`Error updating organization: ${e.message}`, { style: 'error' }));
|
71
|
-
}
|
72
|
-
processFields() {
|
73
|
-
const validation = schema.safeParse({
|
74
|
-
name: this.name,
|
75
|
-
contact_email: this.contact_email,
|
76
|
-
phone: this.phone,
|
77
|
-
url: this.url,
|
78
|
-
});
|
79
|
-
console.log('[SETTINGS] Validation result', validation);
|
80
|
-
this.valid = validation.success;
|
81
|
-
this.dirty = true;
|
82
|
-
}
|
83
|
-
render() {
|
84
|
-
if (!this.endpoint.session) {
|
85
|
-
console.log('[SETTINGS] Must be authenticated');
|
86
|
-
return h(Host, { class: "authentication-required" }, "Must be authenticated");
|
87
|
-
}
|
88
|
-
return (h(Host, null, h("h1", null, "Organization Profile"), h("form", { onSubmit: e => this.handleSubmit(e) }, h("div", { class: "columns" }, h("div", { class: "column" }, h("verdocs-text-input", { id: "verdocs-organization-name", value: this.name, autocomplete: "off", label: "Name", required: false, disabled: false, placeholder: "Enter your organization's name...", onInput: (e) => (this.name = e.target.value), onFocusout: (e) => {
|
89
|
-
this.name = e.target.value.trim();
|
90
|
-
this.processFields();
|
91
|
-
} }), h("verdocs-text-input", { id: "verdocs-organization-url", value: this.url, autocomplete: "off", label: "Web URL", placeholder: "Enter your Web URL...", onInput: (e) => (this.url = e.target.value), onFocusout: (e) => {
|
92
|
-
this.url = e.target.value.trim();
|
93
|
-
this.processFields();
|
94
|
-
} }), h("verdocs-text-input", { id: "verdocs-organization-phone", value: this.phone, autocomplete: "off", label: "Phone Number", placeholder: "Enter your phone number...", onInput: (e) => (this.phone = e.target.value), onFocusout: (e) => {
|
95
|
-
this.phone = e.target.value.trim();
|
96
|
-
this.processFields();
|
97
|
-
} })), h("div", { class: "column" }, h("verdocs-text-input", { id: "verdocs-organization-email", value: this.contact_email, clearable: true, autocomplete: "off", label: "Contact Email", placeholder: "Enter your contact email address...", onInput: (e) => (this.contact_email = e.target.value), onFocusout: (e) => {
|
98
|
-
this.contact_email = e.target.value.trim();
|
99
|
-
this.processFields();
|
100
|
-
} }))), h("verdocs-button", { type: "submit", label: "Save", size: "normal", disabled: this.submitting || !this.dirty }))));
|
101
|
-
}
|
102
|
-
static get style() { return VerdocsSettingsOrganizationStyle0; }
|
103
|
-
}, [0, "verdocs-settings-organization", {
|
104
|
-
"endpoint": [16],
|
105
|
-
"valid": [32],
|
106
|
-
"dirty": [32],
|
107
|
-
"submitting": [32],
|
108
|
-
"name": [32],
|
109
|
-
"contact_email": [32],
|
110
|
-
"phone": [32],
|
111
|
-
"url": [32]
|
112
|
-
}]);
|
113
|
-
function defineCustomElement() {
|
114
|
-
if (typeof customElements === "undefined") {
|
115
|
-
return;
|
116
|
-
}
|
117
|
-
const components = ["verdocs-settings-organization", "verdocs-button", "verdocs-help-icon", "verdocs-text-input"];
|
118
|
-
components.forEach(tagName => { switch (tagName) {
|
119
|
-
case "verdocs-settings-organization":
|
120
|
-
if (!customElements.get(tagName)) {
|
121
|
-
customElements.define(tagName, VerdocsSettingsOrganization);
|
122
|
-
}
|
123
|
-
break;
|
124
|
-
case "verdocs-button":
|
125
|
-
if (!customElements.get(tagName)) {
|
126
|
-
defineCustomElement$3();
|
127
|
-
}
|
128
|
-
break;
|
129
|
-
case "verdocs-help-icon":
|
130
|
-
if (!customElements.get(tagName)) {
|
131
|
-
defineCustomElement$2();
|
132
|
-
}
|
133
|
-
break;
|
134
|
-
case "verdocs-text-input":
|
135
|
-
if (!customElements.get(tagName)) {
|
136
|
-
defineCustomElement$1();
|
137
|
-
}
|
138
|
-
break;
|
139
|
-
} });
|
140
|
-
}
|
141
|
-
|
142
|
-
export { VerdocsSettingsOrganization as V, defineCustomElement as d };
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import type { Components, JSX } from "../types/components";
|
2
|
-
|
3
|
-
interface VerdocsSettingsProfile extends Components.VerdocsSettingsProfile, HTMLElement {}
|
4
|
-
export const VerdocsSettingsProfile: {
|
5
|
-
prototype: VerdocsSettingsProfile;
|
6
|
-
new (): VerdocsSettingsProfile;
|
7
|
-
};
|
8
|
-
/**
|
9
|
-
* Used to define this component and all nested components recursively.
|
10
|
-
*/
|
11
|
-
export const defineCustomElement: () => void;
|
@@ -1,6 +0,0 @@
|
|
1
|
-
import { V as VerdocsSettingsProfile$1, d as defineCustomElement$1 } from './verdocs-settings-profile2.js';
|
2
|
-
|
3
|
-
const VerdocsSettingsProfile = VerdocsSettingsProfile$1;
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
5
|
-
|
6
|
-
export { VerdocsSettingsProfile, defineCustomElement };
|
@@ -1,140 +0,0 @@
|
|
1
|
-
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
-
import { z } from './index3.js';
|
3
|
-
import { VerdocsEndpoint, getCurrentProfile, updateProfile } from '@verdocs/js-sdk';
|
4
|
-
import { c as convertToE164 } from './utils.js';
|
5
|
-
import { V as VerdocsToast } from './Toast.js';
|
6
|
-
import { d as defineCustomElement$3 } from './verdocs-button2.js';
|
7
|
-
import { d as defineCustomElement$2 } from './verdocs-help-icon2.js';
|
8
|
-
import { d as defineCustomElement$1 } from './verdocs-text-input2.js';
|
9
|
-
|
10
|
-
const verdocsSettingsProfileCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-settings-profile{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-profile .columns{gap:20px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row}verdocs-settings-profile .column{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-settings-profile verdocs-text-input{margin:10px 0}verdocs-settings-profile verdocs-text-input input{height:32px}@media screen and (max-width: 600px){verdocs-settings-profile .columns{gap:0;-ms-flex-direction:column;flex-direction:column}}";
|
11
|
-
const VerdocsSettingsProfileStyle0 = verdocsSettingsProfileCss;
|
12
|
-
|
13
|
-
const schema = z.object({
|
14
|
-
first_name: z.string().trim().min(1, 'First name is required').max(30),
|
15
|
-
last_name: z.string().trim().min(1, 'Last name is required').max(30),
|
16
|
-
email: z.string().trim().email('Invalid email').min(1, 'Email is required'),
|
17
|
-
phone: z.preprocess(val => convertToE164(String(val).trim()), z.string()),
|
18
|
-
});
|
19
|
-
const VerdocsSettingsProfile = /*@__PURE__*/ proxyCustomElement(class VerdocsSettingsProfile extends HTMLElement {
|
20
|
-
constructor() {
|
21
|
-
super();
|
22
|
-
this.__registerHost();
|
23
|
-
this.sdkError = createEvent(this, "sdkError", 7);
|
24
|
-
this.profileUpdated = createEvent(this, "profileUpdated", 7);
|
25
|
-
this.endpoint = VerdocsEndpoint.getDefault();
|
26
|
-
this.valid = false;
|
27
|
-
this.dirty = false;
|
28
|
-
this.submitting = false;
|
29
|
-
this.first_name = '';
|
30
|
-
this.last_name = '';
|
31
|
-
this.email = '';
|
32
|
-
this.phone = '';
|
33
|
-
}
|
34
|
-
componentWillLoad() {
|
35
|
-
this.endpoint.loadSession();
|
36
|
-
if (!this.endpoint.session) {
|
37
|
-
console.log('[SETTINGS] Must be authenticated');
|
38
|
-
return;
|
39
|
-
}
|
40
|
-
}
|
41
|
-
async componentDidLoad() {
|
42
|
-
const profile = await getCurrentProfile(this.endpoint);
|
43
|
-
console.log('[SETTINGS] Loaded profile', profile);
|
44
|
-
this.resetForm(profile);
|
45
|
-
}
|
46
|
-
resetForm(profile) {
|
47
|
-
this.first_name = profile.first_name;
|
48
|
-
this.last_name = profile.last_name;
|
49
|
-
this.email = profile.email;
|
50
|
-
this.phone = profile.phone;
|
51
|
-
this.dirty = false;
|
52
|
-
this.valid = true;
|
53
|
-
}
|
54
|
-
handleSubmit(e) {
|
55
|
-
e.preventDefault();
|
56
|
-
e.stopPropagation();
|
57
|
-
updateProfile(VerdocsEndpoint.getDefault(), this.endpoint.session.profile_id, {
|
58
|
-
first_name: this.first_name,
|
59
|
-
last_name: this.last_name,
|
60
|
-
phone: this.phone,
|
61
|
-
})
|
62
|
-
.then(newProfile => {
|
63
|
-
var _a;
|
64
|
-
console.log('[SETTINGS] Update result', newProfile);
|
65
|
-
(_a = this.profileUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, profile: newProfile });
|
66
|
-
this.resetForm(newProfile);
|
67
|
-
})
|
68
|
-
.catch(e => VerdocsToast(`Error updating profile: ${e.message}`, { style: 'error' }));
|
69
|
-
}
|
70
|
-
processFields() {
|
71
|
-
const validation = schema.safeParse({
|
72
|
-
first_name: this.first_name,
|
73
|
-
last_name: this.last_name,
|
74
|
-
email: this.email,
|
75
|
-
phone: this.phone,
|
76
|
-
});
|
77
|
-
console.log('[SETTINGS] Validation result', validation);
|
78
|
-
this.valid = validation.success;
|
79
|
-
this.dirty = true;
|
80
|
-
}
|
81
|
-
render() {
|
82
|
-
if (!this.endpoint.session) {
|
83
|
-
console.log('[SETTINGS] Must be authenticated');
|
84
|
-
return h(Host, { class: "authentication-required" }, "Must be authenticated");
|
85
|
-
}
|
86
|
-
return (h(Host, null, h("h1", null, "My Profile"), h("form", { onSubmit: e => this.handleSubmit(e) }, h("div", { class: "columns" }, h("div", { class: "column" }, h("verdocs-text-input", { id: "verdocs-profile-first-name", value: this.first_name, autocomplete: "off", label: "First Name", required: true, placeholder: "Enter your first name...", onInput: (e) => (this.first_name = e.target.value), onFocusout: (e) => {
|
87
|
-
this.first_name = e.target.value.trim();
|
88
|
-
this.processFields();
|
89
|
-
} }), h("verdocs-text-input", { id: "verdocs-profile-last-name", value: this.last_name, autocomplete: "off", label: "Last Name", required: true, placeholder: "Enter your last name...", onInput: (e) => (this.last_name = e.target.value), onFocusout: (e) => {
|
90
|
-
this.last_name = e.target.value.trim();
|
91
|
-
this.processFields();
|
92
|
-
} })), h("div", { class: "column" }, h("verdocs-text-input", { id: "verdocs-profile-email", value: this.email, autocomplete: "off", label: "Email Address", required: true, disabled: true, placeholder: "Enter your email address...", onInput: (e) => (this.email = e.target.value), onFocusout: (e) => {
|
93
|
-
this.email = e.target.value.trim();
|
94
|
-
this.processFields();
|
95
|
-
} }), h("verdocs-text-input", { id: "verdocs-profile-phone", value: this.phone, clearable: true, autocomplete: "off", label: "Phone Number", placeholder: "Enter your phone number...", onInput: (e) => (this.phone = e.target.value), onFocusout: (e) => {
|
96
|
-
this.phone = e.target.value.trim();
|
97
|
-
this.processFields();
|
98
|
-
} }))), h("verdocs-button", { type: "submit", label: "Save", size: "normal", disabled: this.submitting || !this.dirty }))));
|
99
|
-
}
|
100
|
-
static get style() { return VerdocsSettingsProfileStyle0; }
|
101
|
-
}, [0, "verdocs-settings-profile", {
|
102
|
-
"endpoint": [16],
|
103
|
-
"valid": [32],
|
104
|
-
"dirty": [32],
|
105
|
-
"submitting": [32],
|
106
|
-
"first_name": [32],
|
107
|
-
"last_name": [32],
|
108
|
-
"email": [32],
|
109
|
-
"phone": [32]
|
110
|
-
}]);
|
111
|
-
function defineCustomElement() {
|
112
|
-
if (typeof customElements === "undefined") {
|
113
|
-
return;
|
114
|
-
}
|
115
|
-
const components = ["verdocs-settings-profile", "verdocs-button", "verdocs-help-icon", "verdocs-text-input"];
|
116
|
-
components.forEach(tagName => { switch (tagName) {
|
117
|
-
case "verdocs-settings-profile":
|
118
|
-
if (!customElements.get(tagName)) {
|
119
|
-
customElements.define(tagName, VerdocsSettingsProfile);
|
120
|
-
}
|
121
|
-
break;
|
122
|
-
case "verdocs-button":
|
123
|
-
if (!customElements.get(tagName)) {
|
124
|
-
defineCustomElement$3();
|
125
|
-
}
|
126
|
-
break;
|
127
|
-
case "verdocs-help-icon":
|
128
|
-
if (!customElements.get(tagName)) {
|
129
|
-
defineCustomElement$2();
|
130
|
-
}
|
131
|
-
break;
|
132
|
-
case "verdocs-text-input":
|
133
|
-
if (!customElements.get(tagName)) {
|
134
|
-
defineCustomElement$1();
|
135
|
-
}
|
136
|
-
break;
|
137
|
-
} });
|
138
|
-
}
|
139
|
-
|
140
|
-
export { VerdocsSettingsProfile as V, defineCustomElement as d };
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import type { Components, JSX } from "../types/components";
|
2
|
-
|
3
|
-
interface VerdocsSettings extends Components.VerdocsSettings, HTMLElement {}
|
4
|
-
export const VerdocsSettings: {
|
5
|
-
prototype: VerdocsSettings;
|
6
|
-
new (): VerdocsSettings;
|
7
|
-
};
|
8
|
-
/**
|
9
|
-
* Used to define this component and all nested components recursively.
|
10
|
-
*/
|
11
|
-
export const defineCustomElement: () => void;
|