@verdocs/web-sdk 2.2.0 → 2.2.1

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 (75) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/verdocs-button.cjs.entry.js +26 -0
  3. package/dist/cjs/{verdocs-button_2.cjs.entry.js → verdocs-help-icon.cjs.entry.js} +0 -20
  4. package/dist/cjs/{verdocs-settings-organization_2.cjs.entry.js → verdocs-settings-api-keys_4.cjs.entry.js} +165 -2
  5. package/dist/cjs/verdocs-settings.cjs.entry.js +1 -1
  6. package/dist/cjs/verdocs-table.cjs.entry.js +27 -0
  7. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  8. package/dist/collection/collection-manifest.json +3 -0
  9. package/dist/collection/components/controls/verdocs-table/verdocs-table.css +25 -0
  10. package/dist/collection/components/controls/verdocs-table/verdocs-table.js +71 -0
  11. package/dist/collection/components/controls/verdocs-table/verdocs-table.stories.js +25 -0
  12. package/dist/collection/components/embeds/verdocs-settings/verdocs-settings.js +1 -1
  13. package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.css +38 -0
  14. package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.js +179 -0
  15. package/dist/collection/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.stories.js +11 -0
  16. package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.css +38 -0
  17. package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.js +210 -0
  18. package/dist/collection/components/settings/verdocs-settings-members/verdocs-settings-members.stories.js +17 -0
  19. package/dist/components/Strings.js +6 -0
  20. package/dist/components/index.d.ts +3 -0
  21. package/dist/components/index.js +3 -0
  22. package/dist/components/verdocs-settings-api-keys.d.ts +11 -0
  23. package/dist/components/verdocs-settings-api-keys.js +6 -0
  24. package/dist/components/verdocs-settings-api-keys2.js +108 -0
  25. package/dist/components/verdocs-settings-members.d.ts +11 -0
  26. package/dist/components/verdocs-settings-members.js +6 -0
  27. package/dist/components/verdocs-settings-members2.js +123 -0
  28. package/dist/components/verdocs-settings.js +31 -13
  29. package/dist/components/verdocs-table.d.ts +11 -0
  30. package/dist/components/verdocs-table.js +6 -0
  31. package/dist/components/verdocs-table2.js +41 -0
  32. package/dist/custom-elements.json +24 -0
  33. package/dist/docs.json +254 -3
  34. package/dist/esm/loader.js +1 -1
  35. package/dist/esm/verdocs-button.entry.js +22 -0
  36. package/dist/esm/{verdocs-button_2.entry.js → verdocs-help-icon.entry.js} +1 -20
  37. package/dist/esm/{verdocs-settings-organization_2.entry.js → verdocs-settings-api-keys_4.entry.js} +164 -3
  38. package/dist/esm/verdocs-settings.entry.js +1 -1
  39. package/dist/esm/verdocs-table.entry.js +23 -0
  40. package/dist/esm/verdocs-web-sdk.js +1 -1
  41. package/dist/esm-es5/loader.js +1 -1
  42. package/dist/esm-es5/verdocs-button.entry.js +1 -0
  43. package/dist/esm-es5/verdocs-help-icon.entry.js +1 -0
  44. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -0
  45. package/dist/esm-es5/verdocs-settings.entry.js +1 -1
  46. package/dist/esm-es5/verdocs-table.entry.js +1 -0
  47. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  48. package/dist/types/components/controls/verdocs-table/verdocs-table.d.ts +21 -0
  49. package/dist/types/components/controls/verdocs-table/verdocs-table.stories.d.ts +7 -0
  50. package/dist/types/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.d.ts +44 -0
  51. package/dist/types/components/settings/verdocs-settings-api-keys/verdocs-settings-api-keys.stories.d.ts +4 -0
  52. package/dist/types/components/settings/verdocs-settings-members/verdocs-settings-members.d.ts +43 -0
  53. package/dist/types/components/settings/verdocs-settings-members/verdocs-settings-members.stories.d.ts +8 -0
  54. package/dist/types/components.d.ts +112 -0
  55. package/dist/verdocs-web-sdk/p-268a29a9.system.entry.js +1 -0
  56. package/dist/verdocs-web-sdk/p-606e0405.entry.js +1 -0
  57. package/dist/verdocs-web-sdk/p-647cdb84.system.js +1 -1
  58. package/dist/verdocs-web-sdk/p-7213a107.system.entry.js +1 -0
  59. package/dist/verdocs-web-sdk/p-84f9fe5d.entry.js +1 -0
  60. package/dist/verdocs-web-sdk/p-ab26744f.system.entry.js +1 -0
  61. package/dist/verdocs-web-sdk/p-d309ef6f.entry.js +1 -0
  62. package/dist/verdocs-web-sdk/p-db4cfbfe.entry.js +1 -0
  63. package/dist/verdocs-web-sdk/p-df90b36d.entry.js +1 -0
  64. package/dist/verdocs-web-sdk/p-e248947e.system.entry.js +1 -0
  65. package/dist/verdocs-web-sdk/p-fbabbcea.system.entry.js +1 -0
  66. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  67. package/package.json +1 -1
  68. package/dist/esm-es5/verdocs-button_2.entry.js +0 -1
  69. package/dist/esm-es5/verdocs-settings-organization_2.entry.js +0 -1
  70. package/dist/verdocs-web-sdk/p-0fecb805.entry.js +0 -1
  71. package/dist/verdocs-web-sdk/p-229a6849.entry.js +0 -1
  72. package/dist/verdocs-web-sdk/p-4821f318.system.entry.js +0 -1
  73. package/dist/verdocs-web-sdk/p-888adbc2.system.entry.js +0 -1
  74. package/dist/verdocs-web-sdk/p-ce22913a.entry.js +0 -1
  75. package/dist/verdocs-web-sdk/p-de192808.system.entry.js +0 -1
@@ -0,0 +1,108 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import './Types.js';
3
+ import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
4
+ import { c as capitalize } from './Strings.js';
5
+ import { V as VerdocsToast } from './Toast.js';
6
+ import { S as SDKError } from './errors.js';
7
+ import { d as defineCustomElement$2 } from './verdocs-button2.js';
8
+ import { d as defineCustomElement$1 } from './verdocs-table2.js';
9
+
10
+ /**
11
+ * API keys are used to authenticate server-to-server calls. (API keys should **never** be used for client-to-server operations!)
12
+ * To generate a key, either use the Verdocs admin interface and make note of the client_id and client_secret generated, or call
13
+ * createKey as shown below. Then call {@link Users.Auth.authenticateApp} to obtain an access token using the provided ID and
14
+ * secret. Note that server-to-server authentication requests return shorter-lived tokens, so it is important to check the `exp`
15
+ * field and re-authenticate as needed for subsequent calls.
16
+ *
17
+ * API keys may be updated or rotated at any time. Regular rotation is recommended. Rotation will not expire or invalidate
18
+ * existing server-to-server sessions, so it may be done at any time without disrupting your application.
19
+ *
20
+ * @module
21
+ */
22
+ /**
23
+ * Get a list of keys for a given organization. The caller must have admin access to the organization.
24
+ *
25
+ * ```typescript
26
+ * import {ApiKeys} from '@verdocs/js-sdk/Organizations';
27
+ *
28
+ * const keys = await ApiKeys.getKeys(ORGID);
29
+ * ```
30
+ */
31
+ var getKeys = function (endpoint, organizationId) {
32
+ return endpoint.api //
33
+ .get("/organizations/".concat(organizationId, "/api_key"))
34
+ .then(function (r) { return r.data; });
35
+ };
36
+
37
+ const verdocsSettingsApiKeysCss = "verdocs-settings-api-keys{display:-ms-flexbox;display:flex;padding:10px;font-size:18px;-ms-flex-wrap:nowrap;flex-wrap:nowrap;border-radius:6px;color:#33364b;-ms-flex-direction:column;flex-direction:column;font-family:\"Inter\", \"Barlow\", sans-serif}verdocs-settings-api-keys .table{margin:12px 0}verdocs-settings-api-keys .role{font-size:12px;width:32px;height:32px;border-radius:32px;background:#777777;color:#ffffff;font-weight:700;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-settings-api-keys .col.col-actions{-ms-flex-align:center;align-items:center;text-align:center}verdocs-settings-api-keys .col.col-actions svg{cursor:pointer;width:24px;height:24px;fill:#777777}verdocs-settings-api-keys .col.col-actions svg:hover{fill:red}";
38
+
39
+ const VerdocsSettingsApiKeys = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
40
+ constructor() {
41
+ super();
42
+ this.__registerHost();
43
+ this.sdkError = createEvent(this, "sdkError", 7);
44
+ this.memberInvited = createEvent(this, "memberInvited", 7);
45
+ this.memberUpdated = createEvent(this, "memberUpdated", 7);
46
+ this.memberRemoved = createEvent(this, "memberRemoved", 7);
47
+ this.endpoint = VerdocsEndpoint.getDefault();
48
+ this.keys = [];
49
+ }
50
+ componentWillLoad() {
51
+ this.endpoint.loadSession();
52
+ if (!this.endpoint.session) {
53
+ console.log('[SETTINGS] Must be authenticated');
54
+ return;
55
+ }
56
+ }
57
+ async componentDidLoad() {
58
+ var _a, _b, _c;
59
+ try {
60
+ this.keys = await getKeys(this.endpoint, this.endpoint.session.organization_id);
61
+ }
62
+ catch (e) {
63
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
64
+ VerdocsToast('Unable to load members. Please try again later');
65
+ }
66
+ }
67
+ render() {
68
+ if (!this.endpoint.session) {
69
+ console.log('[SETTINGS] Must be authenticated');
70
+ return h(Host, { class: "authentication-required" }, "Must be authenticated");
71
+ }
72
+ return (h(Host, null, h("h1", null, "API Keys"), h("verdocs-table", { data: this.keys, columns: [
73
+ { id: 'name', header: 'Name' },
74
+ { id: 'client_id', header: 'Client ID' },
75
+ { id: 'profile_id', header: 'Acts as', renderCell: (_, row) => { var _a, _b; return `${capitalize((_a = row.profile) === null || _a === void 0 ? void 0 : _a.first_name)} ${capitalize((_b = row.profile) === null || _b === void 0 ? void 0 : _b.last_name)}`; } },
76
+ ] }), h("verdocs-button", { label: "Add API Key", size: "normal", disabled: true })));
77
+ }
78
+ static get style() { return verdocsSettingsApiKeysCss; }
79
+ }, [0, "verdocs-settings-api-keys", {
80
+ "endpoint": [16],
81
+ "keys": [32]
82
+ }]);
83
+ function defineCustomElement() {
84
+ if (typeof customElements === "undefined") {
85
+ return;
86
+ }
87
+ const components = ["verdocs-settings-api-keys", "verdocs-button", "verdocs-table"];
88
+ components.forEach(tagName => { switch (tagName) {
89
+ case "verdocs-settings-api-keys":
90
+ if (!customElements.get(tagName)) {
91
+ customElements.define(tagName, VerdocsSettingsApiKeys);
92
+ }
93
+ break;
94
+ case "verdocs-button":
95
+ if (!customElements.get(tagName)) {
96
+ defineCustomElement$2();
97
+ }
98
+ break;
99
+ case "verdocs-table":
100
+ if (!customElements.get(tagName)) {
101
+ defineCustomElement$1();
102
+ }
103
+ break;
104
+ } });
105
+ }
106
+ defineCustomElement();
107
+
108
+ export { VerdocsSettingsApiKeys as V, defineCustomElement as d };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VerdocsSettingsMembers extends Components.VerdocsSettingsMembers, HTMLElement {}
4
+ export const VerdocsSettingsMembers: {
5
+ prototype: VerdocsSettingsMembers;
6
+ new (): VerdocsSettingsMembers;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { V as VerdocsSettingsMembers$1, d as defineCustomElement$1 } from './verdocs-settings-members2.js';
2
+
3
+ const VerdocsSettingsMembers = VerdocsSettingsMembers$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { VerdocsSettingsMembers, defineCustomElement };
@@ -0,0 +1,123 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import './Types.js';
3
+ import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
4
+ import { c as capitalize } from './Strings.js';
5
+ import { V as VerdocsToast } from './Toast.js';
6
+ import { S as SDKError } from './errors.js';
7
+ import { d as defineCustomElement$2 } from './verdocs-button2.js';
8
+ import { d as defineCustomElement$1 } from './verdocs-table2.js';
9
+
10
+ /**
11
+ * An Organization Member (aka Profile) is an individual user with access to an organization.
12
+ *
13
+ * @module
14
+ */
15
+ var getMembers = function (endpoint, organizationId) {
16
+ return endpoint.api //
17
+ .get("/organizations/".concat(organizationId, "/profiles"))
18
+ .then(function (r) { return r.data; });
19
+ };
20
+
21
+ const verdocsSettingsMembersCss = "verdocs-settings-members{display:-ms-flexbox;display:flex;padding:10px;font-size:18px;-ms-flex-wrap:nowrap;flex-wrap:nowrap;border-radius:6px;color:#33364b;-ms-flex-direction:column;flex-direction:column;font-family:\"Inter\", \"Barlow\", sans-serif}verdocs-settings-members .table{margin:12px 0}verdocs-settings-members .role{font-size:12px;width:32px;height:32px;border-radius:32px;background:#777777;color:#ffffff;font-weight:700;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-settings-members .col.col-actions{-ms-flex-align:center;align-items:center;text-align:center}verdocs-settings-members .col.col-actions svg{cursor:pointer;width:24px;height:24px;fill:#777777}verdocs-settings-members .col.col-actions svg:hover{fill:red}";
22
+
23
+ const TrashIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" /></svg>`;
24
+ const getRoleLabel = (roles) => {
25
+ if (roles.find(role => role.name === 'owner') !== undefined)
26
+ return 'Owner';
27
+ if (roles.find(role => role.name === 'admin') !== undefined)
28
+ return 'Admin';
29
+ if (roles.find(role => role.name === 'member') !== undefined)
30
+ return 'Member';
31
+ if (roles.find(role => role.name === 'basic_user') !== undefined)
32
+ return 'Basic User';
33
+ if (roles.find(role => role.name === 'contact') !== undefined)
34
+ return 'Contact';
35
+ };
36
+ const getRoleColor = (roles) => {
37
+ if (roles.find(role => role.name === 'owner') !== undefined)
38
+ return '#9333ea';
39
+ if (roles.find(role => role.name === 'admin') !== undefined)
40
+ return '#2563eb';
41
+ if (roles.find(role => role.name === 'member') !== undefined)
42
+ return '#16a34a';
43
+ if (roles.find(role => role.name === 'basic_user') !== undefined)
44
+ return '#ea580c';
45
+ if (roles.find(role => role.name === 'contact') !== undefined)
46
+ return '#52525B';
47
+ };
48
+ const VerdocsSettingsMembers = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
49
+ constructor() {
50
+ super();
51
+ this.__registerHost();
52
+ this.sdkError = createEvent(this, "sdkError", 7);
53
+ this.memberInvited = createEvent(this, "memberInvited", 7);
54
+ this.memberUpdated = createEvent(this, "memberUpdated", 7);
55
+ this.memberRemoved = createEvent(this, "memberRemoved", 7);
56
+ this.endpoint = VerdocsEndpoint.getDefault();
57
+ this.members = [];
58
+ }
59
+ componentWillLoad() {
60
+ this.endpoint.loadSession();
61
+ if (!this.endpoint.session) {
62
+ console.log('[SETTINGS] Must be authenticated');
63
+ return;
64
+ }
65
+ }
66
+ async componentDidLoad() {
67
+ var _a, _b, _c;
68
+ try {
69
+ this.members = await getMembers(this.endpoint, this.endpoint.session.organization_id);
70
+ }
71
+ catch (e) {
72
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
73
+ VerdocsToast('Unable to load members. Please try again later');
74
+ }
75
+ }
76
+ render() {
77
+ if (!this.endpoint.session) {
78
+ console.log('[SETTINGS] Must be authenticated');
79
+ return h(Host, { class: "authentication-required" }, "Must be authenticated");
80
+ }
81
+ return (h(Host, null, h("h1", null, "Members"), h("verdocs-table", { data: this.members, columns: [
82
+ {
83
+ id: 'name',
84
+ renderHeader: () => 'Member',
85
+ renderCell: (_, row) => (h("div", { style: { display: 'flex', flexDirection: 'row', gap: '10px', alignItems: 'center' } }, h("div", { class: "role", style: { backgroundColor: getRoleColor(row.roles) } }, row.first_name.charAt(0), " ", row.last_name.charAt(0)), h("span", null, capitalize(row.first_name), " ", capitalize(row.last_name)))),
86
+ },
87
+ { id: 'email', header: 'E-mail Address' },
88
+ { id: 'phone', header: 'Phone Number' },
89
+ { id: 'roles', header: 'Role', renderCell: (_, row) => `${getRoleLabel(row.roles)}` },
90
+ { id: 'actions', header: 'Actions', renderCell: () => h("span", { innerHTML: TrashIcon, onClick: () => { } }) },
91
+ ] }), h("verdocs-button", { label: "Invite New Member", size: "normal", disabled: true })));
92
+ }
93
+ static get style() { return verdocsSettingsMembersCss; }
94
+ }, [0, "verdocs-settings-members", {
95
+ "endpoint": [16],
96
+ "members": [32]
97
+ }]);
98
+ function defineCustomElement() {
99
+ if (typeof customElements === "undefined") {
100
+ return;
101
+ }
102
+ const components = ["verdocs-settings-members", "verdocs-button", "verdocs-table"];
103
+ components.forEach(tagName => { switch (tagName) {
104
+ case "verdocs-settings-members":
105
+ if (!customElements.get(tagName)) {
106
+ customElements.define(tagName, VerdocsSettingsMembers);
107
+ }
108
+ break;
109
+ case "verdocs-button":
110
+ if (!customElements.get(tagName)) {
111
+ defineCustomElement$2();
112
+ }
113
+ break;
114
+ case "verdocs-table":
115
+ if (!customElements.get(tagName)) {
116
+ defineCustomElement$1();
117
+ }
118
+ break;
119
+ } });
120
+ }
121
+ defineCustomElement();
122
+
123
+ export { VerdocsSettingsMembers as V, defineCustomElement as d };
@@ -2,12 +2,15 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import './Types.js';
3
3
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
4
4
  import { S as SDKError } from './errors.js';
5
- import { d as defineCustomElement$8 } from './verdocs-button2.js';
6
- import { d as defineCustomElement$7 } from './verdocs-help-icon2.js';
7
- import { d as defineCustomElement$6 } from './verdocs-loader2.js';
8
- import { d as defineCustomElement$5 } from './verdocs-select-input2.js';
9
- import { d as defineCustomElement$4 } from './verdocs-settings-organization2.js';
10
- import { d as defineCustomElement$3 } from './verdocs-settings-profile2.js';
5
+ import { d as defineCustomElement$b } from './verdocs-button2.js';
6
+ import { d as defineCustomElement$a } from './verdocs-help-icon2.js';
7
+ import { d as defineCustomElement$9 } from './verdocs-loader2.js';
8
+ import { d as defineCustomElement$8 } from './verdocs-select-input2.js';
9
+ import { d as defineCustomElement$7 } from './verdocs-settings-api-keys2.js';
10
+ import { d as defineCustomElement$6 } from './verdocs-settings-members2.js';
11
+ import { d as defineCustomElement$5 } from './verdocs-settings-organization2.js';
12
+ import { d as defineCustomElement$4 } from './verdocs-settings-profile2.js';
13
+ import { d as defineCustomElement$3 } from './verdocs-table2.js';
11
14
  import { d as defineCustomElement$2 } from './verdocs-text-input2.js';
12
15
 
13
16
  const verdocsSettingsCss = "verdocs-settings{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-settings .tabs{gap:4px;width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row;border-bottom:1px solid #654dcb}verdocs-settings .tabs .tab{cursor:pointer;padding:5px 10px;color:#ffffff;background-color:#777777}verdocs-settings .tabs .tab.active{color:#ffffff;background-color:#654dcb}";
@@ -38,7 +41,7 @@ const VerdocsSettings$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
38
41
  if (!this.endpoint.session) {
39
42
  return (h(Host, null, h("verdocs-loader", null)));
40
43
  }
41
- return (h(Host, null, h("div", { class: "tabs" }, h("div", { class: `tab ${this.tab === 'profile' ? 'active' : ''}`, onClick: () => (this.tab = 'profile') }, "Profile"), h("div", { class: `tab ${this.tab === 'organization' ? 'active' : ''}`, onClick: () => (this.tab = 'organization') }, "Organization")), this.tab === 'profile' && h("verdocs-settings-profile", { endpoint: this.endpoint }), this.tab === 'organization' && h("verdocs-settings-organization", { endpoint: this.endpoint })));
44
+ return (h(Host, null, h("div", { class: "tabs" }, h("div", { class: `tab ${this.tab === 'profile' ? 'active' : ''}`, onClick: () => (this.tab = 'profile') }, "Profile"), h("div", { class: `tab ${this.tab === 'organization' ? 'active' : ''}`, onClick: () => (this.tab = 'organization') }, "Organization"), h("div", { class: `tab ${this.tab === 'members' ? 'active' : ''}`, onClick: () => (this.tab = 'members') }, "Members"), h("div", { class: `tab ${this.tab === 'apikeys' ? 'active' : ''}`, onClick: () => (this.tab = 'apikeys') }, "API Keys")), this.tab === 'profile' && h("verdocs-settings-profile", { endpoint: this.endpoint }), this.tab === 'organization' && h("verdocs-settings-organization", { endpoint: this.endpoint }), this.tab === 'members' && h("verdocs-settings-members", { endpoint: this.endpoint }), this.tab === 'apikeys' && h("verdocs-settings-api-keys", { endpoint: this.endpoint })));
42
45
  }
43
46
  static get style() { return verdocsSettingsCss; }
44
47
  }, [0, "verdocs-settings", {
@@ -49,7 +52,7 @@ function defineCustomElement$1() {
49
52
  if (typeof customElements === "undefined") {
50
53
  return;
51
54
  }
52
- const components = ["verdocs-settings", "verdocs-button", "verdocs-help-icon", "verdocs-loader", "verdocs-select-input", "verdocs-settings-organization", "verdocs-settings-profile", "verdocs-text-input"];
55
+ const components = ["verdocs-settings", "verdocs-button", "verdocs-help-icon", "verdocs-loader", "verdocs-select-input", "verdocs-settings-api-keys", "verdocs-settings-members", "verdocs-settings-organization", "verdocs-settings-profile", "verdocs-table", "verdocs-text-input"];
53
56
  components.forEach(tagName => { switch (tagName) {
54
57
  case "verdocs-settings":
55
58
  if (!customElements.get(tagName)) {
@@ -58,30 +61,45 @@ function defineCustomElement$1() {
58
61
  break;
59
62
  case "verdocs-button":
60
63
  if (!customElements.get(tagName)) {
61
- defineCustomElement$8();
64
+ defineCustomElement$b();
62
65
  }
63
66
  break;
64
67
  case "verdocs-help-icon":
65
68
  if (!customElements.get(tagName)) {
66
- defineCustomElement$7();
69
+ defineCustomElement$a();
67
70
  }
68
71
  break;
69
72
  case "verdocs-loader":
70
73
  if (!customElements.get(tagName)) {
71
- defineCustomElement$6();
74
+ defineCustomElement$9();
72
75
  }
73
76
  break;
74
77
  case "verdocs-select-input":
75
78
  if (!customElements.get(tagName)) {
76
- defineCustomElement$5();
79
+ defineCustomElement$8();
80
+ }
81
+ break;
82
+ case "verdocs-settings-api-keys":
83
+ if (!customElements.get(tagName)) {
84
+ defineCustomElement$7();
85
+ }
86
+ break;
87
+ case "verdocs-settings-members":
88
+ if (!customElements.get(tagName)) {
89
+ defineCustomElement$6();
77
90
  }
78
91
  break;
79
92
  case "verdocs-settings-organization":
80
93
  if (!customElements.get(tagName)) {
81
- defineCustomElement$4();
94
+ defineCustomElement$5();
82
95
  }
83
96
  break;
84
97
  case "verdocs-settings-profile":
98
+ if (!customElements.get(tagName)) {
99
+ defineCustomElement$4();
100
+ }
101
+ break;
102
+ case "verdocs-table":
85
103
  if (!customElements.get(tagName)) {
86
104
  defineCustomElement$3();
87
105
  }
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VerdocsTable extends Components.VerdocsTable, HTMLElement {}
4
+ export const VerdocsTable: {
5
+ prototype: VerdocsTable;
6
+ new (): VerdocsTable;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { V as VerdocsTable$1, d as defineCustomElement$1 } from './verdocs-table2.js';
2
+
3
+ const VerdocsTable = VerdocsTable$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { VerdocsTable, defineCustomElement };
@@ -0,0 +1,41 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const verdocsTableCss = "verdocs-table{font-family:\"Inter\", \"Barlow\", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 10px 0;display:block;width:100%}verdocs-table .table-wrapper{margin:10px 0;padding:0}verdocs-table .table{width:100%;border:none}verdocs-table .header-col{text-align:left;padding:3px 8px;font-weight:700;color:#555555}verdocs-table .data-col{padding:3px 8px;font-weight:400}";
4
+
5
+ const VerdocsTable = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.columns = [];
10
+ this.data = [];
11
+ }
12
+ render() {
13
+ return (h(Host, { class: "table-wrapper" }, h("table", { class: "table" }, h("thead", null, h("tr", { class: "row header-row" }, this.columns.map((col, i) => {
14
+ return h("th", { class: `col header-col col-${i} col-${col.id}`, innerHTML: col.renderHeader ? col.renderHeader(col) : col.header || col.id });
15
+ }))), h("tbody", null, this.data.map(row => (h("tr", { class: "row data-row" }, this.columns.map((col, i) => {
16
+ var _a;
17
+ return h("td", { class: `col data-col col-${i} col-${col.id}` }, ((_a = col.renderCell) === null || _a === void 0 ? void 0 : _a.call(col, col, row)) || row[col.id]);
18
+ // return <td class={`col data-col col-${i} col-${col.id}`} innerHTML={col.renderCell?.(col, row) || row[col.id]} />;
19
+ }))))))));
20
+ }
21
+ static get style() { return verdocsTableCss; }
22
+ }, [0, "verdocs-table", {
23
+ "columns": [16],
24
+ "data": [16]
25
+ }]);
26
+ function defineCustomElement() {
27
+ if (typeof customElements === "undefined") {
28
+ return;
29
+ }
30
+ const components = ["verdocs-table"];
31
+ components.forEach(tagName => { switch (tagName) {
32
+ case "verdocs-table":
33
+ if (!customElements.get(tagName)) {
34
+ customElements.define(tagName, VerdocsTable);
35
+ }
36
+ break;
37
+ } });
38
+ }
39
+ defineCustomElement();
40
+
41
+ export { VerdocsTable as V, defineCustomElement as d };
@@ -1290,6 +1290,22 @@
1290
1290
  },
1291
1291
  "attributes": []
1292
1292
  },
1293
+ {
1294
+ "name": "verdocs-settings-api-keys",
1295
+ "description": {
1296
+ "kind": "markdown",
1297
+ "value": "Displays a settings form that allows the user to manage their API keys."
1298
+ },
1299
+ "attributes": []
1300
+ },
1301
+ {
1302
+ "name": "verdocs-settings-members",
1303
+ "description": {
1304
+ "kind": "markdown",
1305
+ "value": "Displays a settings form that allows the user to manage their Verdocs profile."
1306
+ },
1307
+ "attributes": []
1308
+ },
1293
1309
  {
1294
1310
  "name": "verdocs-settings-organization",
1295
1311
  "description": {
@@ -1438,6 +1454,14 @@
1438
1454
  }
1439
1455
  ]
1440
1456
  },
1457
+ {
1458
+ "name": "verdocs-table",
1459
+ "description": {
1460
+ "kind": "markdown",
1461
+ "value": "Display a simple table of data. Columns and data cells may have custom renderers defined to\nsupport creating interactive table layouts."
1462
+ },
1463
+ "attributes": []
1464
+ },
1441
1465
  {
1442
1466
  "name": "verdocs-template-attachments",
1443
1467
  "description": {