@verdocs/web-sdk 4.1.14 → 4.2.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.
Files changed (174) hide show
  1. package/dist/cjs/{EnvelopeStore-db4f3f17.js → EnvelopeStore-4aeb54e1.js} +1 -1
  2. package/dist/cjs/{TemplateStore-037833e5.js → TemplateStore-7c7f1c50.js} +1 -1
  3. package/dist/cjs/{index-a5472099.js → index-2a189d85.js} +0 -517
  4. package/dist/cjs/index-cfdfab36.js +12 -24
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
  7. package/dist/cjs/{verdocs-button-panel.cjs.entry.js → verdocs-button-panel_2.cjs.entry.js} +21 -0
  8. package/dist/cjs/{verdocs-checkbox_3.cjs.entry.js → verdocs-checkbox_4.cjs.entry.js} +17 -2
  9. package/dist/cjs/{verdocs-dialog_2.cjs.entry.js → verdocs-dialog.cjs.entry.js} +0 -22
  10. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +2 -2
  11. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +3 -4
  12. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +10 -11
  13. package/dist/cjs/verdocs-preview_10.cjs.entry.js +15 -13
  14. package/dist/cjs/verdocs-radio-button_3.cjs.entry.js +2 -2
  15. package/dist/cjs/verdocs-table.cjs.entry.js +28 -0
  16. package/dist/cjs/verdocs-templates-list.cjs.entry.js +2 -2
  17. package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
  18. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  19. package/dist/collection/collection-manifest.json +0 -5
  20. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +13 -11
  21. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +1 -1
  22. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +1 -2
  23. package/dist/collection/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list.js +10 -11
  24. package/dist/collection/components/templates/verdocs-templates-list/verdocs-templates-list.js +2 -2
  25. package/dist/components/EnvelopeStore.js +2 -2
  26. package/dist/components/TemplateFieldStore.js +1 -1
  27. package/dist/components/TemplateRoleStore.js +1 -1
  28. package/dist/components/TemplateStore.js +2 -2
  29. package/dist/components/index.js +0 -10
  30. package/dist/components/index3.js +166 -4207
  31. package/dist/components/index4.js +3692 -167
  32. package/dist/components/verdocs-dialog.js +37 -1
  33. package/dist/components/verdocs-envelope-sidebar.js +1 -2
  34. package/dist/components/verdocs-envelopes-list.js +10 -11
  35. package/dist/components/verdocs-send2.js +13 -11
  36. package/dist/components/verdocs-table.js +39 -1
  37. package/dist/components/verdocs-templates-list.js +2 -2
  38. package/dist/components/verdocs-view2.js +1 -1
  39. package/dist/esm/{EnvelopeStore-9df042b5.js → EnvelopeStore-1ed5dc8f.js} +1 -1
  40. package/dist/esm/{TemplateStore-78ad24d7.js → TemplateStore-7d41d941.js} +1 -1
  41. package/dist/esm/{index-7456b04f.js → index-7588a071.js} +1 -517
  42. package/dist/esm/index-b89cf6a4.js +12 -24
  43. package/dist/esm/loader.js +1 -1
  44. package/dist/esm/verdocs-build.entry.js +2 -2
  45. package/dist/esm/{verdocs-button-panel.entry.js → verdocs-button-panel_2.entry.js} +22 -2
  46. package/dist/esm/{verdocs-checkbox_3.entry.js → verdocs-checkbox_4.entry.js} +17 -3
  47. package/dist/{components/verdocs-dialog2.js → esm/verdocs-dialog.entry.js} +7 -21
  48. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +2 -2
  49. package/dist/esm/verdocs-envelope-sidebar.entry.js +3 -4
  50. package/dist/esm/verdocs-envelopes-list.entry.js +10 -11
  51. package/dist/esm/verdocs-preview_10.entry.js +15 -13
  52. package/dist/esm/verdocs-radio-button_3.entry.js +2 -2
  53. package/dist/{components/verdocs-table2.js → esm/verdocs-table.entry.js} +7 -24
  54. package/dist/esm/verdocs-templates-list.entry.js +2 -2
  55. package/dist/esm/verdocs-view.entry.js +1 -1
  56. package/dist/esm/verdocs-web-sdk.js +1 -1
  57. package/dist/esm-es5/{EnvelopeStore-9df042b5.js → EnvelopeStore-1ed5dc8f.js} +1 -1
  58. package/dist/esm-es5/{TemplateStore-78ad24d7.js → TemplateStore-7d41d941.js} +1 -1
  59. package/dist/esm-es5/index-7588a071.js +1 -0
  60. package/dist/esm-es5/index-b89cf6a4.js +1 -1
  61. package/dist/esm-es5/loader.js +1 -1
  62. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  63. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -0
  64. package/dist/esm-es5/verdocs-checkbox_4.entry.js +1 -0
  65. package/dist/esm-es5/{verdocs-dialog_2.entry.js → verdocs-dialog.entry.js} +1 -1
  66. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  67. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  68. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  69. package/dist/esm-es5/verdocs-preview_10.entry.js +1 -1
  70. package/dist/esm-es5/verdocs-radio-button_3.entry.js +1 -1
  71. package/dist/esm-es5/verdocs-table.entry.js +1 -0
  72. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  73. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  74. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  75. package/dist/types/components.d.ts +2 -322
  76. package/dist/verdocs-web-sdk/{p-5961ce51.entry.js → p-0d54abe5.entry.js} +1 -1
  77. package/dist/verdocs-web-sdk/p-1f771dad.entry.js +1 -0
  78. package/dist/verdocs-web-sdk/{p-95e90092.system.entry.js → p-2be9ba53.system.entry.js} +1 -1
  79. package/dist/verdocs-web-sdk/p-30513f94.entry.js +1 -0
  80. package/dist/verdocs-web-sdk/p-322fa613.system.js +1 -1
  81. package/dist/verdocs-web-sdk/p-3f4b3548.system.entry.js +1 -0
  82. package/dist/verdocs-web-sdk/{p-5309a156.system.entry.js → p-413ab8a1.system.entry.js} +1 -1
  83. package/dist/verdocs-web-sdk/{p-16850eac.system.entry.js → p-48fce604.system.entry.js} +1 -1
  84. package/dist/verdocs-web-sdk/p-61257cb2.entry.js +1 -0
  85. package/dist/verdocs-web-sdk/{p-225418c7.entry.js → p-687c07ad.entry.js} +1 -1
  86. package/dist/verdocs-web-sdk/p-73f45012.system.entry.js +1 -0
  87. package/dist/verdocs-web-sdk/{p-7fe48d2e.entry.js → p-78908c67.entry.js} +1 -1
  88. package/dist/verdocs-web-sdk/{p-5e3e9c4a.system.js → p-889cc411.system.js} +1 -1
  89. package/dist/verdocs-web-sdk/p-9440752e.system.entry.js +1 -0
  90. package/dist/verdocs-web-sdk/{p-f05a3654.system.entry.js → p-977a5a4b.system.entry.js} +1 -1
  91. package/dist/verdocs-web-sdk/{p-540d9467.entry.js → p-9d36d2ad.entry.js} +1 -1
  92. package/dist/verdocs-web-sdk/p-a706bac9.js +1 -0
  93. package/dist/verdocs-web-sdk/p-b3017cd6.entry.js +1 -0
  94. package/dist/verdocs-web-sdk/{p-316b550f.entry.js → p-b61842bd.entry.js} +1 -1
  95. package/dist/verdocs-web-sdk/{p-03aedbe9.system.entry.js → p-b6b6f12a.system.entry.js} +1 -1
  96. package/dist/verdocs-web-sdk/{p-0e022e75.system.entry.js → p-b7397955.system.entry.js} +1 -1
  97. package/dist/verdocs-web-sdk/p-ba6570b4.system.entry.js +1 -0
  98. package/dist/verdocs-web-sdk/{p-afbbdc2f.system.js → p-c8de3052.system.js} +1 -1
  99. package/dist/verdocs-web-sdk/p-cf7f4475.entry.js +1 -0
  100. package/dist/verdocs-web-sdk/{p-8a820b88.system.entry.js → p-d2feac5b.system.entry.js} +1 -1
  101. package/dist/verdocs-web-sdk/p-e7578fac.entry.js +1 -0
  102. package/dist/verdocs-web-sdk/{p-c28c4e43.js → p-f02e08da.js} +1 -1
  103. package/dist/verdocs-web-sdk/p-f5064e0c.system.js +1 -0
  104. package/dist/verdocs-web-sdk/{p-5df130eb.entry.js → p-f632ffac.entry.js} +1 -1
  105. package/dist/verdocs-web-sdk/{p-9ec464df.js → p-fc2ae858.js} +1 -1
  106. package/dist/verdocs-web-sdk/p-fc5e568d.system.entry.js +1 -0
  107. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  108. package/package.json +2 -3
  109. package/dist/cjs/verdocs-component-error.cjs.entry.js +0 -21
  110. package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +0 -542
  111. package/dist/cjs/verdocs-settings.cjs.entry.js +0 -42
  112. package/dist/cjs/verdocs-tabs.cjs.entry.js +0 -27
  113. package/dist/collection/components/embeds/verdocs-settings/verdocs-settings.css +0 -40
  114. package/dist/collection/components/embeds/verdocs-settings/verdocs-settings.js +0 -104
  115. package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.css +0 -64
  116. package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.js +0 -292
  117. package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.css +0 -80
  118. package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.js +0 -349
  119. package/dist/collection/components/settings/verdocs-settings-organization/TimeZones.js +0 -144
  120. package/dist/collection/components/settings/verdocs-settings-organization/verdocs-settings-organization.css +0 -44
  121. package/dist/collection/components/settings/verdocs-settings-organization/verdocs-settings-organization.js +0 -192
  122. package/dist/collection/components/settings/verdocs-settings-profile/verdocs-settings-profile.css +0 -44
  123. package/dist/collection/components/settings/verdocs-settings-profile/verdocs-settings-profile.js +0 -190
  124. package/dist/components/verdocs-settings-api-keys.d.ts +0 -11
  125. package/dist/components/verdocs-settings-api-keys.js +0 -6
  126. package/dist/components/verdocs-settings-api-keys2.js +0 -209
  127. package/dist/components/verdocs-settings-members.d.ts +0 -11
  128. package/dist/components/verdocs-settings-members.js +0 -6
  129. package/dist/components/verdocs-settings-members2.js +0 -273
  130. package/dist/components/verdocs-settings-organization.d.ts +0 -11
  131. package/dist/components/verdocs-settings-organization.js +0 -6
  132. package/dist/components/verdocs-settings-organization2.js +0 -142
  133. package/dist/components/verdocs-settings-profile.d.ts +0 -11
  134. package/dist/components/verdocs-settings-profile.js +0 -6
  135. package/dist/components/verdocs-settings-profile2.js +0 -140
  136. package/dist/components/verdocs-settings.d.ts +0 -11
  137. package/dist/components/verdocs-settings.js +0 -130
  138. package/dist/esm/verdocs-component-error.entry.js +0 -17
  139. package/dist/esm/verdocs-dialog_2.entry.js +0 -46
  140. package/dist/esm/verdocs-settings-api-keys_4.entry.js +0 -535
  141. package/dist/esm/verdocs-settings.entry.js +0 -38
  142. package/dist/esm/verdocs-tabs.entry.js +0 -23
  143. package/dist/esm-es5/index-7456b04f.js +0 -1
  144. package/dist/esm-es5/verdocs-button-panel.entry.js +0 -1
  145. package/dist/esm-es5/verdocs-checkbox_3.entry.js +0 -1
  146. package/dist/esm-es5/verdocs-component-error.entry.js +0 -1
  147. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +0 -1
  148. package/dist/esm-es5/verdocs-settings.entry.js +0 -1
  149. package/dist/esm-es5/verdocs-tabs.entry.js +0 -1
  150. package/dist/types/components/embeds/verdocs-settings/verdocs-settings.d.ts +0 -26
  151. package/dist/types/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.d.ts +0 -54
  152. package/dist/types/components/settings/verdocs-settings-members/verdocs-settings-members.d.ts +0 -58
  153. package/dist/types/components/settings/verdocs-settings-organization/TimeZones.d.ts +0 -1
  154. package/dist/types/components/settings/verdocs-settings-organization/verdocs-settings-organization.d.ts +0 -37
  155. package/dist/types/components/settings/verdocs-settings-profile/verdocs-settings-profile.d.ts +0 -37
  156. package/dist/verdocs-web-sdk/p-03f8d33f.entry.js +0 -1
  157. package/dist/verdocs-web-sdk/p-12c26b19.system.entry.js +0 -1
  158. package/dist/verdocs-web-sdk/p-141a992e.system.entry.js +0 -1
  159. package/dist/verdocs-web-sdk/p-3ecaea8a.system.entry.js +0 -1
  160. package/dist/verdocs-web-sdk/p-45cf0ab5.entry.js +0 -1
  161. package/dist/verdocs-web-sdk/p-4df630c2.system.entry.js +0 -1
  162. package/dist/verdocs-web-sdk/p-515ee177.system.entry.js +0 -1
  163. package/dist/verdocs-web-sdk/p-6fa08e21.system.entry.js +0 -1
  164. package/dist/verdocs-web-sdk/p-708b5430.system.entry.js +0 -1
  165. package/dist/verdocs-web-sdk/p-753d0e16.entry.js +0 -1
  166. package/dist/verdocs-web-sdk/p-952b88fb.system.js +0 -1
  167. package/dist/verdocs-web-sdk/p-971ab2d1.entry.js +0 -1
  168. package/dist/verdocs-web-sdk/p-e42587b7.entry.js +0 -1
  169. package/dist/verdocs-web-sdk/p-efc547dc.entry.js +0 -1
  170. package/dist/verdocs-web-sdk/p-f3b47dfc.js +0 -1
  171. package/dist/verdocs-web-sdk/p-f44b9bd0.entry.js +0 -1
  172. package/dist/verdocs-web-sdk/p-f73b68fb.entry.js +0 -1
  173. package/dist/verdocs-web-sdk/p-fbfdfcd4.system.entry.js +0 -1
  174. 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;