@workos-inc/widgets 1.5.1 → 1.6.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.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/admin-portal-domain-verification.client.cjs +32 -17
- package/dist/cjs/admin-portal-domain-verification.client.cjs.map +1 -1
- package/dist/cjs/admin-portal-domain-verification.client.d.cts +3 -2
- package/dist/cjs/{admin-portal-sso-connection-client.cjs → admin-portal-sso-connection.client.cjs} +58 -31
- package/dist/cjs/admin-portal-sso-connection.client.cjs.map +1 -0
- package/dist/cjs/admin-portal-sso-connection.client.d.cts +16 -0
- package/dist/cjs/api/api-provider.cjs +1 -1
- package/dist/cjs/api/api-provider.cjs.map +1 -1
- package/dist/cjs/api/api-provider.d.cts +1 -1
- package/dist/cjs/api/endpoint.cjs +62 -2
- package/dist/cjs/api/endpoint.cjs.map +1 -1
- package/dist/cjs/api/endpoint.d.cts +62 -1
- package/dist/cjs/{api-keys-client.cjs → api-keys.client.cjs} +42 -25
- package/dist/cjs/api-keys.client.cjs.map +1 -0
- package/dist/cjs/api-keys.client.d.cts +15 -0
- package/dist/cjs/index.cjs +9 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +6 -2
- package/dist/cjs/lib/admin-portal-domain-verification.cjs +33 -34
- package/dist/cjs/lib/admin-portal-domain-verification.cjs.map +1 -1
- package/dist/cjs/lib/admin-portal-domain-verification.d.cts +10 -6
- package/dist/cjs/lib/admin-portal-sso-connection.cjs +79 -79
- package/dist/cjs/lib/admin-portal-sso-connection.cjs.map +1 -1
- package/dist/cjs/lib/admin-portal-sso-connection.d.cts +13 -6
- package/dist/cjs/lib/api-keys/api-keys.cjs +70 -66
- package/dist/cjs/lib/api-keys/api-keys.cjs.map +1 -1
- package/dist/cjs/lib/api-keys/api-keys.d.cts +16 -8
- package/dist/cjs/lib/constants.cjs +5 -2
- package/dist/cjs/lib/constants.cjs.map +1 -1
- package/dist/cjs/lib/constants.d.cts +2 -1
- package/dist/cjs/lib/elevated-access.cjs.map +1 -1
- package/dist/cjs/lib/empty-state.cjs +24 -8
- package/dist/cjs/lib/empty-state.cjs.map +1 -1
- package/dist/cjs/lib/empty-state.d.cts +6 -2
- package/dist/cjs/lib/generic-error.cjs +33 -24
- package/dist/cjs/lib/generic-error.cjs.map +1 -1
- package/dist/cjs/lib/generic-error.d.cts +5 -2
- package/dist/cjs/lib/identity-providers.cjs +2 -1
- package/dist/cjs/lib/identity-providers.cjs.map +1 -1
- package/dist/cjs/lib/identity-providers.d.cts +2 -2
- package/dist/cjs/lib/oauth-icons.cjs +12 -7
- package/dist/cjs/lib/oauth-icons.cjs.map +1 -1
- package/dist/cjs/lib/oauth-icons.d.cts +7 -3
- package/dist/cjs/lib/organization-switcher.cjs +62 -9
- package/dist/cjs/lib/organization-switcher.cjs.map +1 -1
- package/dist/cjs/lib/organization-switcher.d.cts +12 -9
- package/dist/cjs/lib/otp-input.cjs +1 -1
- package/dist/cjs/lib/otp-input.cjs.map +1 -1
- package/dist/cjs/lib/pipes.cjs +345 -0
- package/dist/cjs/lib/pipes.cjs.map +1 -0
- package/dist/cjs/lib/pipes.d.cts +19 -0
- package/dist/cjs/lib/provider-icon.cjs +0 -6
- package/dist/cjs/lib/provider-icon.cjs.map +1 -1
- package/dist/cjs/lib/provider-icon.d.cts +4 -1
- package/dist/cjs/lib/save-button.cjs.map +1 -1
- package/dist/cjs/lib/user-profile.cjs +77 -83
- package/dist/cjs/lib/user-profile.cjs.map +1 -1
- package/dist/cjs/lib/user-profile.d.cts +11 -7
- package/dist/cjs/lib/user-security.cjs +30 -24
- package/dist/cjs/lib/user-security.cjs.map +1 -1
- package/dist/cjs/lib/user-security.d.cts +10 -7
- package/dist/cjs/lib/user-sessions.cjs +19 -9
- package/dist/cjs/lib/user-sessions.cjs.map +1 -1
- package/dist/cjs/lib/user-sessions.d.cts +10 -6
- package/dist/cjs/lib/users-management.cjs +224 -216
- package/dist/cjs/lib/users-management.cjs.map +1 -1
- package/dist/cjs/lib/users-management.d.cts +10 -7
- package/dist/cjs/lib/utils.cjs +43 -0
- package/dist/cjs/lib/utils.cjs.map +1 -1
- package/dist/cjs/lib/utils.d.cts +29 -2
- package/dist/cjs/organization-switcher.client.cjs +45 -16
- package/dist/cjs/organization-switcher.client.cjs.map +1 -1
- package/dist/cjs/organization-switcher.client.d.cts +2 -1
- package/dist/cjs/pipes.client.cjs +64 -0
- package/dist/cjs/pipes.client.cjs.map +1 -0
- package/dist/cjs/pipes.client.d.cts +15 -0
- package/dist/cjs/user-profile.client.cjs +27 -10
- package/dist/cjs/user-profile.client.cjs.map +1 -1
- package/dist/cjs/user-profile.client.d.cts +4 -3
- package/dist/cjs/user-security.client.cjs +27 -10
- package/dist/cjs/user-security.client.cjs.map +1 -1
- package/dist/cjs/user-security.client.d.cts +3 -2
- package/dist/cjs/user-sessions.client.cjs +34 -16
- package/dist/cjs/user-sessions.client.cjs.map +1 -1
- package/dist/cjs/user-sessions.client.d.cts +4 -2
- package/dist/cjs/users-management.client.cjs +35 -18
- package/dist/cjs/users-management.client.cjs.map +1 -1
- package/dist/cjs/users-management.client.d.cts +3 -2
- package/dist/cjs/workos-widgets.client.cjs +7 -12
- package/dist/cjs/workos-widgets.client.cjs.map +1 -1
- package/dist/css/lib/provider-icon.css +16 -11
- package/dist/esm/admin-portal-domain-verification.client.d.ts +3 -2
- package/dist/esm/admin-portal-domain-verification.client.js +31 -17
- package/dist/esm/admin-portal-domain-verification.client.js.map +1 -1
- package/dist/esm/admin-portal-sso-connection.client.d.ts +16 -0
- package/dist/esm/{admin-portal-sso-connection-client.js → admin-portal-sso-connection.client.js} +57 -31
- package/dist/esm/admin-portal-sso-connection.client.js.map +1 -0
- package/dist/esm/api/api-provider.d.ts +1 -1
- package/dist/esm/api/api-provider.js +1 -1
- package/dist/esm/api/api-provider.js.map +1 -1
- package/dist/esm/api/endpoint.d.ts +62 -1
- package/dist/esm/api/endpoint.js +56 -2
- package/dist/esm/api/endpoint.js.map +1 -1
- package/dist/esm/api-keys.client.d.ts +15 -0
- package/dist/esm/api-keys.client.js +75 -0
- package/dist/esm/api-keys.client.js.map +1 -0
- package/dist/esm/index.d.ts +6 -2
- package/dist/esm/index.js +9 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/admin-portal-domain-verification.d.ts +10 -6
- package/dist/esm/lib/admin-portal-domain-verification.js +33 -34
- package/dist/esm/lib/admin-portal-domain-verification.js.map +1 -1
- package/dist/esm/lib/admin-portal-sso-connection.d.ts +13 -6
- package/dist/esm/lib/admin-portal-sso-connection.js +83 -80
- package/dist/esm/lib/admin-portal-sso-connection.js.map +1 -1
- package/dist/esm/lib/api-keys/api-keys.d.ts +16 -8
- package/dist/esm/lib/api-keys/api-keys.js +69 -54
- package/dist/esm/lib/api-keys/api-keys.js.map +1 -1
- package/dist/esm/lib/constants.d.ts +2 -1
- package/dist/esm/lib/constants.js +3 -1
- package/dist/esm/lib/constants.js.map +1 -1
- package/dist/esm/lib/elevated-access.js.map +1 -1
- package/dist/esm/lib/empty-state.d.ts +6 -2
- package/dist/esm/lib/empty-state.js +24 -8
- package/dist/esm/lib/empty-state.js.map +1 -1
- package/dist/esm/lib/generic-error.d.ts +5 -2
- package/dist/esm/lib/generic-error.js +33 -24
- package/dist/esm/lib/generic-error.js.map +1 -1
- package/dist/esm/lib/identity-providers.d.ts +2 -2
- package/dist/esm/lib/identity-providers.js +2 -1
- package/dist/esm/lib/identity-providers.js.map +1 -1
- package/dist/esm/lib/oauth-icons.d.ts +7 -3
- package/dist/esm/lib/oauth-icons.js +11 -6
- package/dist/esm/lib/oauth-icons.js.map +1 -1
- package/dist/esm/lib/organization-switcher.d.ts +12 -9
- package/dist/esm/lib/organization-switcher.js +54 -9
- package/dist/esm/lib/organization-switcher.js.map +1 -1
- package/dist/esm/lib/otp-input.js +1 -1
- package/dist/esm/lib/otp-input.js.map +1 -1
- package/dist/esm/lib/pipes.d.ts +19 -0
- package/dist/esm/lib/pipes.js +336 -0
- package/dist/esm/lib/pipes.js.map +1 -0
- package/dist/esm/lib/provider-icon.d.ts +4 -1
- package/dist/esm/lib/provider-icon.js +0 -8
- package/dist/esm/lib/provider-icon.js.map +1 -1
- package/dist/esm/lib/save-button.js.map +1 -1
- package/dist/esm/lib/user-profile.d.ts +11 -7
- package/dist/esm/lib/user-profile.js +82 -75
- package/dist/esm/lib/user-profile.js.map +1 -1
- package/dist/esm/lib/user-security.d.ts +10 -7
- package/dist/esm/lib/user-security.js +34 -25
- package/dist/esm/lib/user-security.js.map +1 -1
- package/dist/esm/lib/user-sessions.d.ts +10 -6
- package/dist/esm/lib/user-sessions.js +20 -9
- package/dist/esm/lib/user-sessions.js.map +1 -1
- package/dist/esm/lib/users-management.d.ts +10 -7
- package/dist/esm/lib/users-management.js +230 -217
- package/dist/esm/lib/users-management.js.map +1 -1
- package/dist/esm/lib/utils.d.ts +29 -2
- package/dist/esm/lib/utils.js +46 -1
- package/dist/esm/lib/utils.js.map +1 -1
- package/dist/esm/organization-switcher.client.d.ts +2 -1
- package/dist/esm/organization-switcher.client.js +44 -16
- package/dist/esm/organization-switcher.client.js.map +1 -1
- package/dist/esm/pipes.client.d.ts +15 -0
- package/dist/esm/pipes.client.js +42 -0
- package/dist/esm/pipes.client.js.map +1 -0
- package/dist/esm/user-profile.client.d.ts +4 -3
- package/dist/esm/user-profile.client.js +26 -10
- package/dist/esm/user-profile.client.js.map +1 -1
- package/dist/esm/user-security.client.d.ts +3 -2
- package/dist/esm/user-security.client.js +26 -10
- package/dist/esm/user-security.client.js.map +1 -1
- package/dist/esm/user-sessions.client.d.ts +4 -2
- package/dist/esm/user-sessions.client.js +33 -16
- package/dist/esm/user-sessions.client.js.map +1 -1
- package/dist/esm/users-management.client.d.ts +3 -2
- package/dist/esm/users-management.client.js +34 -18
- package/dist/esm/users-management.client.js.map +1 -1
- package/dist/esm/workos-widgets.client.js +7 -12
- package/dist/esm/workos-widgets.client.js.map +1 -1
- package/package.json +17 -10
- package/dist/cjs/admin-portal-sso-connection-client.cjs.map +0 -1
- package/dist/cjs/admin-portal-sso-connection-client.d.cts +0 -12
- package/dist/cjs/api-keys-client.cjs.map +0 -1
- package/dist/cjs/api-keys-client.d.cts +0 -10
- package/dist/esm/admin-portal-sso-connection-client.d.ts +0 -12
- package/dist/esm/admin-portal-sso-connection-client.js.map +0 -1
- package/dist/esm/api-keys-client.d.ts +0 -10
- package/dist/esm/api-keys-client.js +0 -60
- package/dist/esm/api-keys-client.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.6.1
|
|
4
|
+
|
|
5
|
+
- Fix alignment of connection status indicator in the `Pipes` Widget
|
|
6
|
+
|
|
7
|
+
## 1.6.0
|
|
8
|
+
|
|
9
|
+
- Add new `Pipes` Widget. See the [Pipes documentation](https://workos.com/docs/authkit/pipes) for more information.
|
|
10
|
+
- Unify DOM attributes for all Widgets' root elements for easier styling and debugging.
|
|
11
|
+
- `.woswidgets-widget`: Applies to the root element of any Widget
|
|
12
|
+
- `[data-woswidgets-widget-id="<WIDGET_ID>"]`: The ID of the Widget. The Widget ID is the kebab-cased version of the Widget's component name (e.g. `AdminPortalDomainVerification` > `admin-portal-domain-verification`)
|
|
13
|
+
- `[data-woswidgets-widget-state="<'resolved' | 'loading' | 'error'>"]`: The current state of the Widget's data loading
|
|
14
|
+
- Fix caching bug with Widgets that share access tokens
|
|
15
|
+
- Expose `ApiKeys` and `AdminPortalSsoConnection` Widgets as subpath exports
|
|
16
|
+
- Remove unnecessary CSS style overrides for the `AdminPortalSsoConnection` Widget
|
|
17
|
+
|
|
3
18
|
## 1.5.1
|
|
4
19
|
|
|
5
20
|
- Throw an `IncorrectPermissionsError` when a fetch returns a 403, consolidate error messages
|
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
var admin_portal_domain_verification_client_exports = {};
|
|
21
21
|
__export(admin_portal_domain_verification_client_exports, {
|
|
22
22
|
AdminPortalDomainVerification: () => AdminPortalDomainVerification,
|
|
23
|
+
AdminPortalDomainVerificationError: () => import_admin_portal_domain_verification.AdminPortalDomainVerificationError,
|
|
23
24
|
AdminPortalDomainVerificationLoading: () => import_admin_portal_domain_verification.AdminPortalDomainVerificationLoading
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(admin_portal_domain_verification_client_exports);
|
|
@@ -30,19 +31,25 @@ var import_endpoint = require("./api/endpoint.js");
|
|
|
30
31
|
var import_widgets_context = require("./lib/widgets-context.js");
|
|
31
32
|
var import_error_boundary = require("./lib/error-boundary.js");
|
|
32
33
|
var import_react_query = require("@tanstack/react-query");
|
|
33
|
-
const AdminPortalDomainVerification = ({ authToken }) => {
|
|
34
|
+
const AdminPortalDomainVerification = ({ authToken, ...domProps }) => {
|
|
34
35
|
const baseUrl = (0, import_widgets_context.useWorkOsApiUrl)();
|
|
35
36
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
36
|
-
|
|
37
|
+
import_error_boundary.ErrorBoundary,
|
|
37
38
|
{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_domain_verification.AdminPortalDomainVerificationError, { error, ...domProps }),
|
|
40
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
41
|
+
import_api_provider.ApiProvider,
|
|
42
|
+
{
|
|
43
|
+
widgetType: "admin-portal-domain-verification",
|
|
44
|
+
authToken,
|
|
45
|
+
baseUrl,
|
|
46
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AdminPortalDomainVerificationImpl, { ...domProps })
|
|
47
|
+
}
|
|
48
|
+
)
|
|
42
49
|
}
|
|
43
50
|
);
|
|
44
51
|
};
|
|
45
|
-
const
|
|
52
|
+
const AdminPortalDomainVerificationImpl = (props) => {
|
|
46
53
|
const isApiReady = (0, import_api_provider.useApiReady)();
|
|
47
54
|
const queryClient = (0, import_react_query.useQueryClient)();
|
|
48
55
|
const {
|
|
@@ -89,26 +96,34 @@ const AdminPortalDomainVerificationContent = () => {
|
|
|
89
96
|
reverifyDomain({ domainId });
|
|
90
97
|
};
|
|
91
98
|
if (!isApiReady || isLoading) {
|
|
92
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_domain_verification.AdminPortalDomainVerificationLoading, {});
|
|
99
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_domain_verification.AdminPortalDomainVerificationLoading, { ...props });
|
|
93
100
|
}
|
|
94
101
|
if (error) {
|
|
95
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_domain_verification.AdminPortalDomainVerificationError, { error });
|
|
102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_domain_verification.AdminPortalDomainVerificationError, { error, ...props });
|
|
96
103
|
}
|
|
97
104
|
const domains = organizationDomains?.data || [];
|
|
98
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
99
|
-
|
|
105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
106
|
+
import_error_boundary.ErrorBoundary,
|
|
100
107
|
{
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
108
|
+
fallbackRender: ({ error: error2 }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_domain_verification.AdminPortalDomainVerificationError, { error: error2, ...props }),
|
|
109
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
110
|
+
import_admin_portal_domain_verification.AdminPortalDomainVerification,
|
|
111
|
+
{
|
|
112
|
+
organizationDomains: domains,
|
|
113
|
+
onAddDomain: handleAddDomain,
|
|
114
|
+
onDeleteDomain: handleDeleteDomain,
|
|
115
|
+
onReverifyDomain: handleReverifyDomain,
|
|
116
|
+
isPending,
|
|
117
|
+
...props
|
|
118
|
+
}
|
|
119
|
+
)
|
|
106
120
|
}
|
|
107
|
-
)
|
|
121
|
+
);
|
|
108
122
|
};
|
|
109
123
|
// Annotate the CommonJS export names for ESM import in node:
|
|
110
124
|
0 && (module.exports = {
|
|
111
125
|
AdminPortalDomainVerification,
|
|
126
|
+
AdminPortalDomainVerificationError,
|
|
112
127
|
AdminPortalDomainVerificationLoading
|
|
113
128
|
});
|
|
114
129
|
//# sourceMappingURL=admin-portal-domain-verification.client.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/admin-portal-domain-verification.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n AdminPortalDomainVerificationError,\n AdminPortalDomainVerificationLoading,\n AdminPortalDomainVerification as AdminPortalDomainVerificationPresentational,\n} from \"./lib/admin-portal-domain-verification.js\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport {\n useGenerateAdminPortalLink,\n useListOrganizationDomains,\n getListOrganizationDomainsQueryKey,\n useDeleteOrganizationDomain,\n useReverifyOrganizationDomain,\n} from \"./api/endpoint.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport { useQueryClient } from \"@tanstack/react-query\";\n\
|
|
1
|
+
{"version":3,"sources":["../../src/admin-portal-domain-verification.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n AdminPortalDomainVerificationError,\n AdminPortalDomainVerificationLoading,\n AdminPortalDomainVerification as AdminPortalDomainVerificationPresentational,\n} from \"./lib/admin-portal-domain-verification.js\";\nimport type {\n AdminPortalDomainVerificationErrorProps,\n AdminPortalDomainVerificationLoadingProps,\n} from \"./lib/admin-portal-domain-verification.js\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport {\n useGenerateAdminPortalLink,\n useListOrganizationDomains,\n getListOrganizationDomainsQueryKey,\n useDeleteOrganizationDomain,\n useReverifyOrganizationDomain,\n} from \"./api/endpoint.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { WidgetRootDomProps } from \"./lib/utils.js\";\n\ninterface AdminPortalDomainVerificationProps extends WidgetRootDomProps {\n authToken: AuthToken;\n}\n\nconst AdminPortalDomainVerification: React.FC<\n AdminPortalDomainVerificationProps\n> = ({ authToken, ...domProps }) => {\n const baseUrl = useWorkOsApiUrl();\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <AdminPortalDomainVerificationError error={error} {...domProps} />\n )}\n >\n <ApiProvider\n widgetType=\"admin-portal-domain-verification\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <AdminPortalDomainVerificationImpl {...domProps} />\n </ApiProvider>\n </ErrorBoundary>\n );\n};\n\nconst AdminPortalDomainVerificationImpl = (\n props: Omit<AdminPortalDomainVerificationProps, \"authToken\">,\n) => {\n const isApiReady = useApiReady();\n const queryClient = useQueryClient();\n const {\n data: organizationDomains,\n isLoading,\n error,\n } = useListOrganizationDomains();\n\n const { mutate: generateAdminPortalLink, isPending } =\n useGenerateAdminPortalLink({\n mutation: {\n onSuccess: (data) => {\n window.open(data.link, \"_blank\", \"noopener,noreferrer\");\n },\n },\n });\n\n const { mutate: deleteDomain } = useDeleteOrganizationDomain({\n mutation: {\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: getListOrganizationDomainsQueryKey(),\n });\n },\n },\n });\n\n const { mutate: reverifyDomain } = useReverifyOrganizationDomain({\n mutation: {\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: getListOrganizationDomainsQueryKey(),\n });\n },\n },\n });\n\n const handleAddDomain = () => {\n generateAdminPortalLink({\n params: {\n intent: \"domain_verification\",\n },\n });\n };\n\n const handleDeleteDomain = (domainId: string) => {\n deleteDomain({ domainId });\n };\n\n const handleReverifyDomain = (domainId: string) => {\n reverifyDomain({ domainId });\n };\n\n if (!isApiReady || isLoading) {\n return <AdminPortalDomainVerificationLoading {...props} />;\n }\n\n if (error) {\n return <AdminPortalDomainVerificationError error={error} {...props} />;\n }\n\n const domains = organizationDomains?.data || [];\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <AdminPortalDomainVerificationError error={error} {...props} />\n )}\n >\n <AdminPortalDomainVerificationPresentational\n organizationDomains={domains}\n onAddDomain={handleAddDomain}\n onDeleteDomain={handleDeleteDomain}\n onReverifyDomain={handleReverifyDomain}\n isPending={isPending}\n {...props}\n />\n </ErrorBoundary>\n );\n};\n\nexport type {\n AdminPortalDomainVerificationProps,\n AdminPortalDomainVerificationLoadingProps,\n AdminPortalDomainVerificationErrorProps,\n};\nexport {\n AdminPortalDomainVerification,\n AdminPortalDomainVerificationLoading,\n AdminPortalDomainVerificationError,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCQ;AAlCR,8CAIO;AAKP,0BAAoD;AACpD,sBAMO;AACP,6BAAgC;AAChC,4BAA8B;AAC9B,yBAA+B;AAO/B,MAAM,gCAEF,CAAC,EAAE,WAAW,GAAG,SAAS,MAAM;AAClC,QAAM,cAAU,wCAAgB;AAEhC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,8EAAmC,OAAe,GAAG,UAAU;AAAA,MAGlE;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX;AAAA,UACA;AAAA,UAEA,sDAAC,qCAAmC,GAAG,UAAU;AAAA;AAAA,MACnD;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,oCAAoC,CACxC,UACG;AACH,QAAM,iBAAa,iCAAY;AAC/B,QAAM,kBAAc,mCAAe;AACnC,QAAM;AAAA,IACJ,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF,QAAI,4CAA2B;AAE/B,QAAM,EAAE,QAAQ,yBAAyB,UAAU,QACjD,4CAA2B;AAAA,IACzB,UAAU;AAAA,MACR,WAAW,CAAC,SAAS;AACnB,eAAO,KAAK,KAAK,MAAM,UAAU,qBAAqB;AAAA,MACxD;AAAA,IACF;AAAA,EACF,CAAC;AAEH,QAAM,EAAE,QAAQ,aAAa,QAAI,6CAA4B;AAAA,IAC3D,UAAU;AAAA,MACR,WAAW,MAAM;AACf,oBAAY,kBAAkB;AAAA,UAC5B,cAAU,oDAAmC;AAAA,QAC/C,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,CAAC;AAED,QAAM,EAAE,QAAQ,eAAe,QAAI,+CAA8B;AAAA,IAC/D,UAAU;AAAA,MACR,WAAW,MAAM;AACf,oBAAY,kBAAkB;AAAA,UAC5B,cAAU,oDAAmC;AAAA,QAC/C,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,CAAC;AAED,QAAM,kBAAkB,MAAM;AAC5B,4BAAwB;AAAA,MACtB,QAAQ;AAAA,QACN,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,qBAAqB,CAAC,aAAqB;AAC/C,iBAAa,EAAE,SAAS,CAAC;AAAA,EAC3B;AAEA,QAAM,uBAAuB,CAAC,aAAqB;AACjD,mBAAe,EAAE,SAAS,CAAC;AAAA,EAC7B;AAEA,MAAI,CAAC,cAAc,WAAW;AAC5B,WAAO,4CAAC,gFAAsC,GAAG,OAAO;AAAA,EAC1D;AAEA,MAAI,OAAO;AACT,WAAO,4CAAC,8EAAmC,OAAe,GAAG,OAAO;AAAA,EACtE;AAEA,QAAM,UAAU,qBAAqB,QAAQ,CAAC;AAE9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,OAAAA,OAAM,MACvB,4CAAC,8EAAmC,OAAOA,QAAQ,GAAG,OAAO;AAAA,MAG/D;AAAA,QAAC,wCAAAC;AAAA,QAAA;AAAA,UACC,qBAAqB;AAAA,UACrB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,kBAAkB;AAAA,UAClB;AAAA,UACC,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EACF;AAEJ;","names":["error","AdminPortalDomainVerificationPresentational"]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export { AdminPortalDomainVerificationLoading } from './lib/admin-portal-domain-verification.cjs';
|
|
2
|
+
export { AdminPortalDomainVerificationError, AdminPortalDomainVerificationErrorProps, AdminPortalDomainVerificationLoading, AdminPortalDomainVerificationLoadingProps } from './lib/admin-portal-domain-verification.cjs';
|
|
3
3
|
import { AuthToken } from './api/api-provider.cjs';
|
|
4
|
+
import { WidgetRootDomProps } from './lib/utils.cjs';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
5
6
|
import './api/endpoint.cjs';
|
|
6
7
|
import '@tanstack/react-query';
|
|
7
8
|
import './api/widgets-api-client.cjs';
|
|
8
9
|
|
|
9
|
-
interface AdminPortalDomainVerificationProps {
|
|
10
|
+
interface AdminPortalDomainVerificationProps extends WidgetRootDomProps {
|
|
10
11
|
authToken: AuthToken;
|
|
11
12
|
}
|
|
12
13
|
declare const AdminPortalDomainVerification: React.FC<AdminPortalDomainVerificationProps>;
|
package/dist/cjs/{admin-portal-sso-connection-client.cjs → admin-portal-sso-connection.client.cjs}
RENAMED
|
@@ -30,6 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
var admin_portal_sso_connection_client_exports = {};
|
|
31
31
|
__export(admin_portal_sso_connection_client_exports, {
|
|
32
32
|
AdminPortalSsoConnection: () => AdminPortalSsoConnection,
|
|
33
|
+
AdminPortalSsoConnectionError: () => import_admin_portal_sso_connection.AdminPortalSsoConnectionError,
|
|
33
34
|
AdminPortalSsoConnectionLoading: () => import_admin_portal_sso_connection.AdminPortalSsoConnectionLoading
|
|
34
35
|
});
|
|
35
36
|
module.exports = __toCommonJS(admin_portal_sso_connection_client_exports);
|
|
@@ -41,19 +42,28 @@ var import_endpoint = require("./api/endpoint.js");
|
|
|
41
42
|
var import_widgets_context = require("./lib/widgets-context.js");
|
|
42
43
|
var import_error_boundary = require("./lib/error-boundary.js");
|
|
43
44
|
var import_utils = require("./lib/utils.js");
|
|
44
|
-
const AdminPortalSsoConnection = ({
|
|
45
|
+
const AdminPortalSsoConnection = ({
|
|
46
|
+
authToken,
|
|
47
|
+
...domProps
|
|
48
|
+
}) => {
|
|
45
49
|
const baseUrl = (0, import_widgets_context.useWorkOsApiUrl)();
|
|
46
50
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
47
|
-
|
|
51
|
+
import_error_boundary.ErrorBoundary,
|
|
48
52
|
{
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_sso_connection.AdminPortalSsoConnectionError, { error, ...domProps }),
|
|
54
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
55
|
+
import_api_provider.ApiProvider,
|
|
56
|
+
{
|
|
57
|
+
widgetType: "admin-portal-sso-connection",
|
|
58
|
+
authToken,
|
|
59
|
+
baseUrl,
|
|
60
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AdminPortalSsoConnectionImpl, { ...domProps })
|
|
61
|
+
}
|
|
62
|
+
)
|
|
53
63
|
}
|
|
54
64
|
);
|
|
55
65
|
};
|
|
56
|
-
const
|
|
66
|
+
const AdminPortalSsoConnectionImpl = (props) => {
|
|
57
67
|
const isApiReady = (0, import_api_provider.useApiReady)();
|
|
58
68
|
const [currentDate, setCurrentDate] = React.useState(
|
|
59
69
|
() => isApiReady ? /* @__PURE__ */ new Date() : null
|
|
@@ -78,33 +88,40 @@ const SingleSignOnContent = () => {
|
|
|
78
88
|
});
|
|
79
89
|
};
|
|
80
90
|
if (query.isLoading) {
|
|
81
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_sso_connection.AdminPortalSsoConnectionLoading, {});
|
|
91
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_sso_connection.AdminPortalSsoConnectionLoading, { ...props });
|
|
82
92
|
}
|
|
83
93
|
if (query.isError) {
|
|
84
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_sso_connection.AdminPortalSsoConnectionError, { error: query.error });
|
|
94
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_sso_connection.AdminPortalSsoConnectionError, { error: query.error, ...props });
|
|
85
95
|
}
|
|
86
96
|
if (query.data) {
|
|
87
97
|
const connection = query.data[0];
|
|
88
98
|
if (!connection) {
|
|
89
99
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
90
|
-
|
|
100
|
+
import_error_boundary.ErrorBoundary,
|
|
91
101
|
{
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
adminPortalOpenButton: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
96
|
-
import_admin_portal_sso_connection.AdminPortalOpenButton,
|
|
102
|
+
fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_sso_connection.AdminPortalSsoConnectionError, { error, ...props }),
|
|
103
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
104
|
+
import_admin_portal_sso_connection.AdminPortalSsoConnection,
|
|
97
105
|
{
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
...props,
|
|
107
|
+
connectionStatus: "NotConfigured",
|
|
108
|
+
currentDate,
|
|
109
|
+
lastSession: null,
|
|
110
|
+
adminPortalOpenButton: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
111
|
+
import_admin_portal_sso_connection.AdminPortalOpenButton,
|
|
112
|
+
{
|
|
113
|
+
isPending: mutation.isPending,
|
|
114
|
+
href: adminPortalLink,
|
|
115
|
+
initConfig
|
|
116
|
+
}
|
|
117
|
+
)
|
|
101
118
|
}
|
|
102
119
|
)
|
|
103
120
|
}
|
|
104
121
|
);
|
|
105
122
|
}
|
|
106
123
|
const connectionState = getConnectionState(connection, currentDate);
|
|
107
|
-
const
|
|
124
|
+
const statusProps = (() => {
|
|
108
125
|
const connectionStatus = connectionState.status;
|
|
109
126
|
if (!connection || connectionStatus === "NotConfigured") {
|
|
110
127
|
return {
|
|
@@ -135,22 +152,29 @@ const SingleSignOnContent = () => {
|
|
|
135
152
|
}
|
|
136
153
|
})();
|
|
137
154
|
const lastSession = connection.lastSession ? new Date(connection.lastSession.createdAt) : null;
|
|
138
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
139
|
-
|
|
155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
156
|
+
import_error_boundary.ErrorBoundary,
|
|
140
157
|
{
|
|
141
|
-
...props,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
adminPortalOpenButton: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
145
|
-
import_admin_portal_sso_connection.AdminPortalOpenButton,
|
|
158
|
+
fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_admin_portal_sso_connection.AdminPortalSsoConnectionError, { error, ...props }),
|
|
159
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
160
|
+
import_admin_portal_sso_connection.AdminPortalSsoConnection,
|
|
146
161
|
{
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
162
|
+
...props,
|
|
163
|
+
...statusProps,
|
|
164
|
+
currentDate,
|
|
165
|
+
lastSession,
|
|
166
|
+
adminPortalOpenButton: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
167
|
+
import_admin_portal_sso_connection.AdminPortalOpenButton,
|
|
168
|
+
{
|
|
169
|
+
isPending: mutation.isPending,
|
|
170
|
+
href: adminPortalLink,
|
|
171
|
+
initConfig
|
|
172
|
+
}
|
|
173
|
+
)
|
|
150
174
|
}
|
|
151
175
|
)
|
|
152
176
|
}
|
|
153
|
-
)
|
|
177
|
+
);
|
|
154
178
|
}
|
|
155
179
|
};
|
|
156
180
|
function getConnectionState(connection, currentDate) {
|
|
@@ -256,6 +280,8 @@ function getIdentityProvider(connection) {
|
|
|
256
280
|
return "generic-oidc";
|
|
257
281
|
case "LoginGovOidc":
|
|
258
282
|
return "login-gov";
|
|
283
|
+
case "CleverOidc":
|
|
284
|
+
return "clever";
|
|
259
285
|
default:
|
|
260
286
|
return (0, import_utils.unreachable)(connection);
|
|
261
287
|
}
|
|
@@ -263,6 +289,7 @@ function getIdentityProvider(connection) {
|
|
|
263
289
|
// Annotate the CommonJS export names for ESM import in node:
|
|
264
290
|
0 && (module.exports = {
|
|
265
291
|
AdminPortalSsoConnection,
|
|
292
|
+
AdminPortalSsoConnectionError,
|
|
266
293
|
AdminPortalSsoConnectionLoading
|
|
267
294
|
});
|
|
268
|
-
//# sourceMappingURL=admin-portal-sso-connection
|
|
295
|
+
//# sourceMappingURL=admin-portal-sso-connection.client.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/admin-portal-sso-connection.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n AdminPortalOpenButton,\n AdminPortalSsoConnectionError,\n AdminPortalSsoConnectionLoading,\n AdminPortalSsoConnection as AdminPortalSsoConnectionPresentational,\n} from \"./lib/admin-portal-sso-connection.js\";\nimport type {\n AdminPortalSsoConnectionErrorProps,\n AdminPortalSsoConnectionLoadingProps,\n AdminPortalSsoConnectionStatusProps,\n} from \"./lib/admin-portal-sso-connection.js\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport {\n type SsoConnection,\n useGenerateAdminPortalLink,\n useListSsoConnections,\n} from \"./api/endpoint.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport { unreachable, WidgetRootDomProps } from \"./lib/utils.js\";\nimport { IdentityProvider } from \"./lib/identity-providers.js\";\n\ninterface AdminPortalSsoConnectionProps extends WidgetRootDomProps {\n authToken: AuthToken;\n}\n\nconst AdminPortalSsoConnection: React.FC<AdminPortalSsoConnectionProps> = ({\n authToken,\n ...domProps\n}) => {\n const baseUrl = useWorkOsApiUrl();\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <AdminPortalSsoConnectionError error={error} {...domProps} />\n )}\n >\n <ApiProvider\n widgetType=\"admin-portal-sso-connection\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <AdminPortalSsoConnectionImpl {...domProps} />\n </ApiProvider>\n </ErrorBoundary>\n );\n};\n\nconst AdminPortalSsoConnectionImpl = (props: WidgetRootDomProps) => {\n const isApiReady = useApiReady();\n const [currentDate, setCurrentDate] = React.useState<Date | null>(() =>\n isApiReady ? new Date() : null,\n );\n if (isApiReady && currentDate === null) {\n setCurrentDate(new Date());\n }\n\n const { mutate: generateAdminPortalLink, ...mutation } =\n useGenerateAdminPortalLink({\n mutation: {\n onSuccess: (data) => {\n window.open(data.link, \"_blank\", \"noopener,noreferrer\");\n },\n },\n });\n\n const adminPortalLink = mutation.data?.link ?? null;\n\n const query = useListSsoConnections();\n\n const initConfig = () => {\n generateAdminPortalLink({\n params: {\n intent: \"sso\",\n },\n });\n };\n\n if (query.isLoading) {\n return <AdminPortalSsoConnectionLoading {...props} />;\n }\n\n if (query.isError) {\n return <AdminPortalSsoConnectionError error={query.error} {...props} />;\n }\n\n if (query.data) {\n const connection = query.data[0];\n if (!connection) {\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <AdminPortalSsoConnectionError error={error} {...props} />\n )}\n >\n <AdminPortalSsoConnectionPresentational\n {...props}\n connectionStatus=\"NotConfigured\"\n currentDate={currentDate}\n lastSession={null}\n adminPortalOpenButton={\n <AdminPortalOpenButton\n isPending={mutation.isPending}\n href={adminPortalLink}\n initConfig={initConfig}\n />\n }\n />\n </ErrorBoundary>\n );\n }\n\n const connectionState = getConnectionState(connection, currentDate);\n const statusProps: AdminPortalSsoConnectionStatusProps = (() => {\n const connectionStatus = connectionState.status;\n if (!connection || connectionStatus === \"NotConfigured\") {\n return {\n connectionStatus: \"NotConfigured\",\n } satisfies AdminPortalSsoConnectionStatusProps;\n }\n\n const identityProvider = getIdentityProvider(connection);\n switch (connectionStatus) {\n case \"Active\":\n return {\n connectionStatus,\n identityProvider,\n } satisfies AdminPortalSsoConnectionStatusProps;\n case \"Inactive\":\n return {\n connectionStatus,\n identityProvider,\n } satisfies AdminPortalSsoConnectionStatusProps;\n case \"Expired\":\n case \"Expiring\":\n return {\n connectionStatus,\n expiryDate: connectionState.expiryDate,\n identityProvider,\n } satisfies AdminPortalSsoConnectionStatusProps;\n default:\n return unreachable(connectionState);\n }\n })();\n\n const lastSession = connection.lastSession\n ? new Date(connection.lastSession.createdAt)\n : null;\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <AdminPortalSsoConnectionError error={error} {...props} />\n )}\n >\n <AdminPortalSsoConnectionPresentational\n {...props}\n {...statusProps}\n currentDate={currentDate}\n lastSession={lastSession}\n adminPortalOpenButton={\n <AdminPortalOpenButton\n isPending={mutation.isPending}\n href={adminPortalLink}\n initConfig={initConfig}\n />\n }\n />\n </ErrorBoundary>\n );\n }\n};\n\ntype ConnectionState =\n | { status: \"NotConfigured\" }\n | { status: \"Active\" }\n | { status: \"Inactive\" }\n | {\n status: \"Expiring\";\n daysUntilExpiry: number | null;\n expiryDate: Date | null;\n }\n | { status: \"Expired\"; expiryDate: Date | null };\n\nfunction getConnectionState(\n connection: SsoConnection,\n currentDate: Date | null,\n): ConnectionState {\n switch (connection.state) {\n case \"Active\":\n case \"Validating\":\n case \"Deleting\": {\n const activeStatus = { status: \"Active\" } satisfies ConnectionState;\n if (connection.providerTag !== \"Saml\") {\n return activeStatus;\n }\n\n if (connection.latestExpiredCertificate) {\n return {\n status: \"Expired\",\n expiryDate: connection.latestExpiredCertificate.notAfter\n ? new Date(connection.latestExpiredCertificate.notAfter)\n : null,\n };\n }\n\n const expiryTime = connection.latestExpiringCertificate?.notAfter;\n if (currentDate == null || expiryTime == null) {\n return activeStatus;\n }\n\n const expiryDate = new Date(expiryTime);\n const daysUntilExpiry = (() => {\n const diff = expiryDate.getTime() - currentDate.getTime();\n if (diff < 0) {\n return -1;\n }\n\n return diff / (1000 * 60 * 60 * 24);\n })();\n\n if (daysUntilExpiry !== -1 && daysUntilExpiry <= 30) {\n return { status: \"Expiring\", daysUntilExpiry, expiryDate };\n }\n\n return activeStatus;\n }\n case \"Inactive\": {\n return { status: \"Inactive\" };\n }\n default:\n return unreachable(connection);\n }\n}\n\nfunction getIdentityProvider(connection: SsoConnection): IdentityProvider {\n switch (connection.type) {\n case \"AdfsSaml\":\n case \"EntraIdOidc\":\n return \"microsoft\";\n case \"Auth0Migration\":\n case \"Auth0Saml\":\n return \"auth0\";\n case \"AzureSaml\":\n return \"azure\";\n case \"CasSaml\":\n return \"cas\";\n case \"ClassLinkSaml\":\n return \"classlink\";\n case \"CloudflareSaml\":\n return \"cloudflare\";\n case \"CyberArkSaml\":\n return \"cyberark\";\n case \"DuoSaml\":\n return \"duo\";\n case \"GenericSaml\":\n return \"generic-saml\";\n case \"GoogleSaml\":\n case \"GoogleOidc\":\n return \"google\";\n case \"JumpCloudSaml\":\n return \"jumpcloud\";\n case \"KeycloakSaml\":\n return \"keycloak\";\n case \"LastPassSaml\":\n return \"lastpass\";\n case \"MiniOrangeSaml\":\n return \"miniorange\";\n case \"NetIqSaml\":\n return \"net-iq\";\n case \"OktaOidc\":\n case \"OktaSaml\":\n return \"okta\";\n case \"OneLoginSaml\":\n return \"onelogin\";\n case \"OracleSaml\":\n return \"oracle\";\n case \"PingFederateSaml\":\n case \"PingOneSaml\":\n return \"ping-identity\";\n case \"RipplingSaml\":\n return \"rippling\";\n case \"SalesforceSaml\":\n return \"salesforce\";\n case \"ShibbolethGenericSaml\":\n case \"ShibbolethSaml\":\n return \"shibboleth\";\n case \"SimpleSamlPhpSaml\":\n return \"simple-saml-php\";\n case \"TestIdp\":\n return \"test-idp\";\n case \"VmWareSaml\":\n return \"vmware\";\n case \"AdpOidc\":\n return \"adp\";\n case \"GenericOidc\":\n return \"generic-oidc\";\n case \"LoginGovOidc\":\n return \"login-gov\";\n case \"CleverOidc\":\n return \"clever\";\n default:\n return unreachable(connection);\n }\n}\n\nexport type {\n AdminPortalSsoConnectionProps,\n AdminPortalSsoConnectionLoadingProps,\n AdminPortalSsoConnectionErrorProps,\n};\nexport {\n AdminPortalSsoConnection,\n AdminPortalSsoConnectionLoading,\n AdminPortalSsoConnectionError,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCQ;AAnCR,YAAuB;AACvB,yCAKO;AAMP,0BAAoD;AACpD,sBAIO;AACP,6BAAgC;AAChC,4BAA8B;AAC9B,mBAAgD;AAOhD,MAAM,2BAAoE,CAAC;AAAA,EACzE;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,cAAU,wCAAgB;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,oEAA8B,OAAe,GAAG,UAAU;AAAA,MAG7D;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX;AAAA,UACA;AAAA,UAEA,sDAAC,gCAA8B,GAAG,UAAU;AAAA;AAAA,MAC9C;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,+BAA+B,CAAC,UAA8B;AAClE,QAAM,iBAAa,iCAAY;AAC/B,QAAM,CAAC,aAAa,cAAc,IAAI,MAAM;AAAA,IAAsB,MAChE,aAAa,oBAAI,KAAK,IAAI;AAAA,EAC5B;AACA,MAAI,cAAc,gBAAgB,MAAM;AACtC,mBAAe,oBAAI,KAAK,CAAC;AAAA,EAC3B;AAEA,QAAM,EAAE,QAAQ,yBAAyB,GAAG,SAAS,QACnD,4CAA2B;AAAA,IACzB,UAAU;AAAA,MACR,WAAW,CAAC,SAAS;AACnB,eAAO,KAAK,KAAK,MAAM,UAAU,qBAAqB;AAAA,MACxD;AAAA,IACF;AAAA,EACF,CAAC;AAEH,QAAM,kBAAkB,SAAS,MAAM,QAAQ;AAE/C,QAAM,YAAQ,uCAAsB;AAEpC,QAAM,aAAa,MAAM;AACvB,4BAAwB;AAAA,MACtB,QAAQ;AAAA,QACN,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AAAA,EACH;AAEA,MAAI,MAAM,WAAW;AACnB,WAAO,4CAAC,sEAAiC,GAAG,OAAO;AAAA,EACrD;AAEA,MAAI,MAAM,SAAS;AACjB,WAAO,4CAAC,oEAA8B,OAAO,MAAM,OAAQ,GAAG,OAAO;AAAA,EACvE;AAEA,MAAI,MAAM,MAAM;AACd,UAAM,aAAa,MAAM,KAAK,CAAC;AAC/B,QAAI,CAAC,YAAY;AACf,aACE;AAAA,QAAC;AAAA;AAAA,UACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,oEAA8B,OAAe,GAAG,OAAO;AAAA,UAG1D;AAAA,YAAC,mCAAAA;AAAA,YAAA;AAAA,cACE,GAAG;AAAA,cACJ,kBAAiB;AAAA,cACjB;AAAA,cACA,aAAa;AAAA,cACb,uBACE;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,SAAS;AAAA,kBACpB,MAAM;AAAA,kBACN;AAAA;AAAA,cACF;AAAA;AAAA,UAEJ;AAAA;AAAA,MACF;AAAA,IAEJ;AAEA,UAAM,kBAAkB,mBAAmB,YAAY,WAAW;AAClE,UAAM,eAAoD,MAAM;AAC9D,YAAM,mBAAmB,gBAAgB;AACzC,UAAI,CAAC,cAAc,qBAAqB,iBAAiB;AACvD,eAAO;AAAA,UACL,kBAAkB;AAAA,QACpB;AAAA,MACF;AAEA,YAAM,mBAAmB,oBAAoB,UAAU;AACvD,cAAQ,kBAAkB;AAAA,QACxB,KAAK;AACH,iBAAO;AAAA,YACL;AAAA,YACA;AAAA,UACF;AAAA,QACF,KAAK;AACH,iBAAO;AAAA,YACL;AAAA,YACA;AAAA,UACF;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,YACL;AAAA,YACA,YAAY,gBAAgB;AAAA,YAC5B;AAAA,UACF;AAAA,QACF;AACE,qBAAO,0BAAY,eAAe;AAAA,MACtC;AAAA,IACF,GAAG;AAEH,UAAM,cAAc,WAAW,cAC3B,IAAI,KAAK,WAAW,YAAY,SAAS,IACzC;AAEJ,WACE;AAAA,MAAC;AAAA;AAAA,QACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,oEAA8B,OAAe,GAAG,OAAO;AAAA,QAG1D;AAAA,UAAC,mCAAAA;AAAA,UAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAG;AAAA,YACJ;AAAA,YACA;AAAA,YACA,uBACE;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW,SAAS;AAAA,gBACpB,MAAM;AAAA,gBACN;AAAA;AAAA,YACF;AAAA;AAAA,QAEJ;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAaA,SAAS,mBACP,YACA,aACiB;AACjB,UAAQ,WAAW,OAAO;AAAA,IACxB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK,YAAY;AACf,YAAM,eAAe,EAAE,QAAQ,SAAS;AACxC,UAAI,WAAW,gBAAgB,QAAQ;AACrC,eAAO;AAAA,MACT;AAEA,UAAI,WAAW,0BAA0B;AACvC,eAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY,WAAW,yBAAyB,WAC5C,IAAI,KAAK,WAAW,yBAAyB,QAAQ,IACrD;AAAA,QACN;AAAA,MACF;AAEA,YAAM,aAAa,WAAW,2BAA2B;AACzD,UAAI,eAAe,QAAQ,cAAc,MAAM;AAC7C,eAAO;AAAA,MACT;AAEA,YAAM,aAAa,IAAI,KAAK,UAAU;AACtC,YAAM,mBAAmB,MAAM;AAC7B,cAAM,OAAO,WAAW,QAAQ,IAAI,YAAY,QAAQ;AACxD,YAAI,OAAO,GAAG;AACZ,iBAAO;AAAA,QACT;AAEA,eAAO,QAAQ,MAAO,KAAK,KAAK;AAAA,MAClC,GAAG;AAEH,UAAI,oBAAoB,MAAM,mBAAmB,IAAI;AACnD,eAAO,EAAE,QAAQ,YAAY,iBAAiB,WAAW;AAAA,MAC3D;AAEA,aAAO;AAAA,IACT;AAAA,IACA,KAAK,YAAY;AACf,aAAO,EAAE,QAAQ,WAAW;AAAA,IAC9B;AAAA,IACA;AACE,iBAAO,0BAAY,UAAU;AAAA,EACjC;AACF;AAEA,SAAS,oBAAoB,YAA6C;AACxE,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,iBAAO,0BAAY,UAAU;AAAA,EACjC;AACF;","names":["AdminPortalSsoConnectionPresentational"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export { AdminPortalSsoConnectionError, AdminPortalSsoConnectionErrorProps, AdminPortalSsoConnectionLoading, AdminPortalSsoConnectionLoadingProps } from './lib/admin-portal-sso-connection.cjs';
|
|
3
|
+
import { AuthToken } from './api/api-provider.cjs';
|
|
4
|
+
import { WidgetRootDomProps } from './lib/utils.cjs';
|
|
5
|
+
import 'react/jsx-runtime';
|
|
6
|
+
import './lib/identity-providers.cjs';
|
|
7
|
+
import './api/endpoint.cjs';
|
|
8
|
+
import '@tanstack/react-query';
|
|
9
|
+
import './api/widgets-api-client.cjs';
|
|
10
|
+
|
|
11
|
+
interface AdminPortalSsoConnectionProps extends WidgetRootDomProps {
|
|
12
|
+
authToken: AuthToken;
|
|
13
|
+
}
|
|
14
|
+
declare const AdminPortalSsoConnection: React.FC<AdminPortalSsoConnectionProps>;
|
|
15
|
+
|
|
16
|
+
export { AdminPortalSsoConnection, type AdminPortalSsoConnectionProps };
|
|
@@ -58,7 +58,7 @@ const ApiProvider = ({
|
|
|
58
58
|
permissions: (0, import_utils.getClaims)(resolvedToken).permissions
|
|
59
59
|
};
|
|
60
60
|
},
|
|
61
|
-
queryKey: ["authToken"]
|
|
61
|
+
queryKey: ["authToken", widgetType]
|
|
62
62
|
});
|
|
63
63
|
const [elevatedAccess, setElevatedAccess] = React.useState();
|
|
64
64
|
const elevatedAccessTimeout = React.useRef(void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/api-provider.tsx"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport * as React from \"react\";\nimport { useIsHydrated } from \"../lib/use-is-hydrated.js\";\nimport { getClaims } from \"./utils.js\";\n\nexport type WidgetType =\n | \"admin-portal-domain-verification\"\n | \"user-management\"\n | \"organization-switcher\"\n | \"user-sessions\"\n | \"user-security\"\n | \"user-profile\"\n | \"admin-portal-sso-connection\"\n | \"api-keys\";\n\nexport type AuthToken = string | (() => Promise<string>);\n\ninterface ElevatedAccess {\n token: string;\n expiresAt: string;\n}\n\ninterface ApiConfig {\n authToken: string | undefined;\n permissions: string[] | undefined;\n baseUrl: string;\n widgetType: WidgetType;\n elevatedAccess?: ElevatedAccess;\n setElevatedAccess: (elevatedAccess?: ElevatedAccess) => void;\n}\n\nconst ApiContext = React.createContext<ApiConfig | undefined>(undefined);\n\ninterface ApiProviderProps {\n authToken: AuthToken;\n baseUrl: string;\n children: React.ReactNode;\n widgetType: WidgetType;\n}\n\nexport const ApiProvider = ({\n authToken,\n baseUrl,\n children,\n widgetType,\n}: ApiProviderProps) => {\n const authTokenQuery = useQuery({\n initialData:\n typeof authToken === \"string\"\n ? {\n authToken,\n permissions: getClaims(authToken).permissions,\n }\n : undefined,\n queryFn: async () => {\n const resolvedToken =\n typeof authToken === \"string\" ? authToken : await authToken();\n\n return {\n authToken: resolvedToken,\n permissions: getClaims(resolvedToken).permissions,\n };\n },\n queryKey: [\"authToken\"],\n });\n\n const [elevatedAccess, setElevatedAccess] = React.useState<ElevatedAccess>();\n const elevatedAccessTimeout = React.useRef<number | undefined>(undefined);\n\n // This effect manages the expiration of elevated access tokens\n // When an elevated access token is present, it checks every 30 seconds if the token has expired\n // If the token has expired (current time > expiration time), it clears the elevated access\n React.useEffect(() => {\n if (elevatedAccessTimeout.current) {\n window.clearInterval(elevatedAccessTimeout.current);\n }\n\n if (elevatedAccess) {\n elevatedAccessTimeout.current = window.setInterval(() => {\n const now = new Date();\n const expiresAtDate = new Date(elevatedAccess.expiresAt);\n\n // Reset the elevated access if it has expired\n if (now > expiresAtDate) {\n setElevatedAccess(undefined);\n }\n }, 30_000); // every 30 seconds\n }\n\n return () => {\n if (elevatedAccessTimeout.current) {\n window.clearInterval(elevatedAccessTimeout.current);\n }\n };\n }, [elevatedAccess]);\n\n const value = React.useMemo(\n () => ({\n authToken: authTokenQuery.data?.authToken,\n permissions: authTokenQuery.data?.permissions,\n baseUrl,\n elevatedAccess,\n setElevatedAccess,\n widgetType,\n }),\n [\n authTokenQuery.data,\n baseUrl,\n elevatedAccess,\n setElevatedAccess,\n widgetType,\n ],\n );\n\n return <ApiContext.Provider value={value}>{children}</ApiContext.Provider>;\n};\n\nexport const useApi = () => {\n const context = React.useContext(ApiContext);\n\n if (context === undefined) {\n throw new Error(\"useApi must be used within an ApiProvider\");\n }\n\n return context;\n};\n\nexport const useElevatedAccessToken = () => {\n const { elevatedAccess, setElevatedAccess } = useApi();\n\n return { elevatedAccess, setElevatedAccess };\n};\n\nexport const useApiReady = () => {\n const { authToken } = useApi();\n const isHydrated = useIsHydrated();\n\n return isHydrated && authToken !== undefined;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sources":["../../../src/api/api-provider.tsx"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport * as React from \"react\";\nimport { useIsHydrated } from \"../lib/use-is-hydrated.js\";\nimport { getClaims } from \"./utils.js\";\n\nexport type WidgetType =\n | \"admin-portal-domain-verification\"\n | \"user-management\"\n | \"organization-switcher\"\n | \"user-sessions\"\n | \"user-security\"\n | \"user-profile\"\n | \"admin-portal-sso-connection\"\n | \"api-keys\"\n | \"pipes\";\n\nexport type AuthToken = string | (() => Promise<string>);\n\ninterface ElevatedAccess {\n token: string;\n expiresAt: string;\n}\n\ninterface ApiConfig {\n authToken: string | undefined;\n permissions: string[] | undefined;\n baseUrl: string;\n widgetType: WidgetType;\n elevatedAccess?: ElevatedAccess;\n setElevatedAccess: (elevatedAccess?: ElevatedAccess) => void;\n}\n\nconst ApiContext = React.createContext<ApiConfig | undefined>(undefined);\n\ninterface ApiProviderProps {\n authToken: AuthToken;\n baseUrl: string;\n children: React.ReactNode;\n widgetType: WidgetType;\n}\n\nexport const ApiProvider = ({\n authToken,\n baseUrl,\n children,\n widgetType,\n}: ApiProviderProps) => {\n const authTokenQuery = useQuery({\n initialData:\n typeof authToken === \"string\"\n ? {\n authToken,\n permissions: getClaims(authToken).permissions,\n }\n : undefined,\n queryFn: async () => {\n const resolvedToken =\n typeof authToken === \"string\" ? authToken : await authToken();\n\n return {\n authToken: resolvedToken,\n permissions: getClaims(resolvedToken).permissions,\n };\n },\n queryKey: [\"authToken\", widgetType],\n });\n\n const [elevatedAccess, setElevatedAccess] = React.useState<ElevatedAccess>();\n const elevatedAccessTimeout = React.useRef<number | undefined>(undefined);\n\n // This effect manages the expiration of elevated access tokens\n // When an elevated access token is present, it checks every 30 seconds if the token has expired\n // If the token has expired (current time > expiration time), it clears the elevated access\n React.useEffect(() => {\n if (elevatedAccessTimeout.current) {\n window.clearInterval(elevatedAccessTimeout.current);\n }\n\n if (elevatedAccess) {\n elevatedAccessTimeout.current = window.setInterval(() => {\n const now = new Date();\n const expiresAtDate = new Date(elevatedAccess.expiresAt);\n\n // Reset the elevated access if it has expired\n if (now > expiresAtDate) {\n setElevatedAccess(undefined);\n }\n }, 30_000); // every 30 seconds\n }\n\n return () => {\n if (elevatedAccessTimeout.current) {\n window.clearInterval(elevatedAccessTimeout.current);\n }\n };\n }, [elevatedAccess]);\n\n const value = React.useMemo(\n () => ({\n authToken: authTokenQuery.data?.authToken,\n permissions: authTokenQuery.data?.permissions,\n baseUrl,\n elevatedAccess,\n setElevatedAccess,\n widgetType,\n }),\n [\n authTokenQuery.data,\n baseUrl,\n elevatedAccess,\n setElevatedAccess,\n widgetType,\n ],\n );\n\n return <ApiContext.Provider value={value}>{children}</ApiContext.Provider>;\n};\n\nexport const useApi = () => {\n const context = React.useContext(ApiContext);\n\n if (context === undefined) {\n throw new Error(\"useApi must be used within an ApiProvider\");\n }\n\n return context;\n};\n\nexport const useElevatedAccessToken = () => {\n const { elevatedAccess, setElevatedAccess } = useApi();\n\n return { elevatedAccess, setElevatedAccess };\n};\n\nexport const useApiReady = () => {\n const { authToken } = useApi();\n const isHydrated = useIsHydrated();\n\n return isHydrated && authToken !== undefined;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmHS;AAnHT,yBAAyB;AACzB,YAAuB;AACvB,6BAA8B;AAC9B,mBAA0B;AA6B1B,MAAM,aAAa,MAAM,cAAqC,MAAS;AAShE,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AACtB,QAAM,qBAAiB,6BAAS;AAAA,IAC9B,aACE,OAAO,cAAc,WACjB;AAAA,MACE;AAAA,MACA,iBAAa,wBAAU,SAAS,EAAE;AAAA,IACpC,IACA;AAAA,IACN,SAAS,YAAY;AACnB,YAAM,gBACJ,OAAO,cAAc,WAAW,YAAY,MAAM,UAAU;AAE9D,aAAO;AAAA,QACL,WAAW;AAAA,QACX,iBAAa,wBAAU,aAAa,EAAE;AAAA,MACxC;AAAA,IACF;AAAA,IACA,UAAU,CAAC,aAAa,UAAU;AAAA,EACpC,CAAC;AAED,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,MAAM,SAAyB;AAC3E,QAAM,wBAAwB,MAAM,OAA2B,MAAS;AAKxE,QAAM,UAAU,MAAM;AACpB,QAAI,sBAAsB,SAAS;AACjC,aAAO,cAAc,sBAAsB,OAAO;AAAA,IACpD;AAEA,QAAI,gBAAgB;AAClB,4BAAsB,UAAU,OAAO,YAAY,MAAM;AACvD,cAAM,MAAM,oBAAI,KAAK;AACrB,cAAM,gBAAgB,IAAI,KAAK,eAAe,SAAS;AAGvD,YAAI,MAAM,eAAe;AACvB,4BAAkB,MAAS;AAAA,QAC7B;AAAA,MACF,GAAG,GAAM;AAAA,IACX;AAEA,WAAO,MAAM;AACX,UAAI,sBAAsB,SAAS;AACjC,eAAO,cAAc,sBAAsB,OAAO;AAAA,MACpD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,cAAc,CAAC;AAEnB,QAAM,QAAQ,MAAM;AAAA,IAClB,OAAO;AAAA,MACL,WAAW,eAAe,MAAM;AAAA,MAChC,aAAa,eAAe,MAAM;AAAA,MAClC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO,4CAAC,WAAW,UAAX,EAAoB,OAAe,UAAS;AACtD;AAEO,MAAM,SAAS,MAAM;AAC1B,QAAM,UAAU,MAAM,WAAW,UAAU;AAE3C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI,MAAM,2CAA2C;AAAA,EAC7D;AAEA,SAAO;AACT;AAEO,MAAM,yBAAyB,MAAM;AAC1C,QAAM,EAAE,gBAAgB,kBAAkB,IAAI,OAAO;AAErD,SAAO,EAAE,gBAAgB,kBAAkB;AAC7C;AAEO,MAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,UAAU,IAAI,OAAO;AAC7B,QAAM,iBAAa,sCAAc;AAEjC,SAAO,cAAc,cAAc;AACrC;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
|
-
type WidgetType = "admin-portal-domain-verification" | "user-management" | "organization-switcher" | "user-sessions" | "user-security" | "user-profile" | "admin-portal-sso-connection" | "api-keys";
|
|
4
|
+
type WidgetType = "admin-portal-domain-verification" | "user-management" | "organization-switcher" | "user-sessions" | "user-security" | "user-profile" | "admin-portal-sso-connection" | "api-keys" | "pipes";
|
|
5
5
|
type AuthToken = string | (() => Promise<string>);
|
|
6
6
|
interface ElevatedAccess {
|
|
7
7
|
token: string;
|
|
@@ -26,6 +26,7 @@ __export(endpoint_exports, {
|
|
|
26
26
|
CreateTotpFactorResponseAuthenticationFactorAllOfType: () => CreateTotpFactorResponseAuthenticationFactorAllOfType,
|
|
27
27
|
DataInstallationObject: () => DataInstallationObject,
|
|
28
28
|
DataInstallationState: () => DataInstallationState,
|
|
29
|
+
DataIntegrationCredentialsType: () => DataIntegrationCredentialsType,
|
|
29
30
|
DataIntegrationIntegrationType: () => DataIntegrationIntegrationType,
|
|
30
31
|
DataIntegrationObject: () => DataIntegrationObject,
|
|
31
32
|
DataIntegrationOwnership: () => DataIntegrationOwnership,
|
|
@@ -37,6 +38,7 @@ __export(endpoint_exports, {
|
|
|
37
38
|
OrganizationDomainState: () => OrganizationDomainState,
|
|
38
39
|
SamlSessionState: () => SamlSessionState,
|
|
39
40
|
SendVerificationResponseType: () => SendVerificationResponseType,
|
|
41
|
+
SettingsResponseObject: () => SettingsResponseObject,
|
|
40
42
|
SsoConnectionAnyOfEightAllOfProviderTag: () => SsoConnectionAnyOfEightAllOfProviderTag,
|
|
41
43
|
SsoConnectionAnyOfEightAllOfState: () => SsoConnectionAnyOfEightAllOfState,
|
|
42
44
|
SsoConnectionAnyOfEightAllOfType: () => SsoConnectionAnyOfEightAllOfType,
|
|
@@ -58,6 +60,7 @@ __export(endpoint_exports, {
|
|
|
58
60
|
getRolesAndConfigQueryKey: () => getRolesAndConfigQueryKey,
|
|
59
61
|
getRolesQueryKey: () => getRolesQueryKey,
|
|
60
62
|
getSessionsQueryKey: () => getSessionsQueryKey,
|
|
63
|
+
getSettingsQueryKey: () => getSettingsQueryKey,
|
|
61
64
|
useAuthenticationInformation: () => useAuthenticationInformation,
|
|
62
65
|
useAuthenticationInformationHook: () => useAuthenticationInformationHook,
|
|
63
66
|
useAuthenticationInformationQueryOptions: () => useAuthenticationInformationQueryOptions,
|
|
@@ -154,6 +157,9 @@ __export(endpoint_exports, {
|
|
|
154
157
|
useSessions: () => useSessions,
|
|
155
158
|
useSessionsHook: () => useSessionsHook,
|
|
156
159
|
useSessionsQueryOptions: () => useSessionsQueryOptions,
|
|
160
|
+
useSettings: () => useSettings,
|
|
161
|
+
useSettingsHook: () => useSettingsHook,
|
|
162
|
+
useSettingsQueryOptions: () => useSettingsQueryOptions,
|
|
157
163
|
useUpdateMe: () => useUpdateMe,
|
|
158
164
|
useUpdateMeHook: () => useUpdateMeHook,
|
|
159
165
|
useUpdateMeMutationOptions: () => useUpdateMeMutationOptions,
|
|
@@ -215,6 +221,9 @@ const AuthenticationInformationResponseDataVerificationMethodsPasskeyProvider =
|
|
|
215
221
|
const SendVerificationResponseType = {
|
|
216
222
|
EmailVerification: "EmailVerification"
|
|
217
223
|
};
|
|
224
|
+
const SettingsResponseObject = {
|
|
225
|
+
settings: "settings"
|
|
226
|
+
};
|
|
218
227
|
const OrganizationDomainState = {
|
|
219
228
|
Failed: "Failed",
|
|
220
229
|
LegacyVerified: "LegacyVerified",
|
|
@@ -232,14 +241,16 @@ const SamlSessionState = {
|
|
|
232
241
|
Authorized: "Authorized",
|
|
233
242
|
Failed: "Failed",
|
|
234
243
|
Started: "Started",
|
|
235
|
-
Successful: "Successful"
|
|
244
|
+
Successful: "Successful",
|
|
245
|
+
Timedout: "Timedout"
|
|
236
246
|
};
|
|
237
247
|
const OidcSessionState = {
|
|
238
248
|
Started: "Started",
|
|
239
249
|
Authorized: "Authorized",
|
|
240
250
|
Successful: "Successful",
|
|
241
251
|
Failed: "Failed",
|
|
242
|
-
Terminated: "Terminated"
|
|
252
|
+
Terminated: "Terminated",
|
|
253
|
+
Timedout: "Timedout"
|
|
243
254
|
};
|
|
244
255
|
const SsoConnectionSessionJSONState = {
|
|
245
256
|
...SamlSessionState,
|
|
@@ -292,6 +303,7 @@ const SsoConnectionAnyOfEightAllOfState = {
|
|
|
292
303
|
const SsoConnectionAnyOfEightAllOfType = {
|
|
293
304
|
AdpOidc: "AdpOidc",
|
|
294
305
|
Auth0Migration: "Auth0Migration",
|
|
306
|
+
CleverOidc: "CleverOidc",
|
|
295
307
|
EntraIdOidc: "EntraIdOidc",
|
|
296
308
|
GenericOidc: "GenericOidc",
|
|
297
309
|
GoogleOidc: "GoogleOidc",
|
|
@@ -314,6 +326,7 @@ const DataIntegrationObject = {
|
|
|
314
326
|
const DataIntegrationIntegrationType = {
|
|
315
327
|
asana: "asana",
|
|
316
328
|
box: "box",
|
|
329
|
+
confluence: "confluence",
|
|
317
330
|
dropbox: "dropbox",
|
|
318
331
|
github: "github",
|
|
319
332
|
gitlab: "gitlab",
|
|
@@ -323,10 +336,17 @@ const DataIntegrationIntegrationType = {
|
|
|
323
336
|
"google-drive": "google-drive",
|
|
324
337
|
hubspot: "hubspot",
|
|
325
338
|
intercom: "intercom",
|
|
339
|
+
jira: "jira",
|
|
326
340
|
linear: "linear",
|
|
327
341
|
microsoft: "microsoft",
|
|
342
|
+
"microsoft-onedrive": "microsoft-onedrive",
|
|
343
|
+
"microsoft-outlook": "microsoft-outlook",
|
|
344
|
+
"microsoft-outlook-calendar": "microsoft-outlook-calendar",
|
|
328
345
|
notion: "notion",
|
|
346
|
+
prefect: "prefect",
|
|
347
|
+
"pydantic-logfire": "pydantic-logfire",
|
|
329
348
|
salesforce: "salesforce",
|
|
349
|
+
sentry: "sentry",
|
|
330
350
|
slack: "slack",
|
|
331
351
|
stripe: "stripe",
|
|
332
352
|
zendesk: "zendesk"
|
|
@@ -335,6 +355,10 @@ const DataIntegrationOwnership = {
|
|
|
335
355
|
userland_user: "userland_user",
|
|
336
356
|
organization: "organization"
|
|
337
357
|
};
|
|
358
|
+
const DataIntegrationCredentialsType = {
|
|
359
|
+
shared: "shared",
|
|
360
|
+
custom: "custom"
|
|
361
|
+
};
|
|
338
362
|
const GenerateAdminPortalLinkIntent = {
|
|
339
363
|
domain_verification: "domain_verification",
|
|
340
364
|
sso: "sso"
|
|
@@ -1068,6 +1092,36 @@ const useDeletePasskey = (options, queryClient) => {
|
|
|
1068
1092
|
const mutationOptions = useDeletePasskeyMutationOptions(options);
|
|
1069
1093
|
return (0, import_react_query.useMutation)(mutationOptions, queryClient);
|
|
1070
1094
|
};
|
|
1095
|
+
const useSettingsHook = () => {
|
|
1096
|
+
const settings = (0, import_widgets_api_client.useWidgetsApiClient)();
|
|
1097
|
+
return (0, import_react.useCallback)(
|
|
1098
|
+
(signal) => {
|
|
1099
|
+
return settings({ url: `/_widgets/settings`, method: "GET", signal });
|
|
1100
|
+
},
|
|
1101
|
+
[settings]
|
|
1102
|
+
);
|
|
1103
|
+
};
|
|
1104
|
+
const getSettingsQueryKey = () => {
|
|
1105
|
+
return [`/_widgets/settings`];
|
|
1106
|
+
};
|
|
1107
|
+
const useSettingsQueryOptions = (options) => {
|
|
1108
|
+
const { query: queryOptions } = options ?? {};
|
|
1109
|
+
const queryKey = queryOptions?.queryKey ?? getSettingsQueryKey();
|
|
1110
|
+
const settings = useSettingsHook();
|
|
1111
|
+
const queryFn = ({ signal }) => settings(signal);
|
|
1112
|
+
const customOptions = (0, import_widgets_api_client2.useWidgetsApiQueryOptions)({
|
|
1113
|
+
...queryOptions,
|
|
1114
|
+
queryKey,
|
|
1115
|
+
queryFn
|
|
1116
|
+
});
|
|
1117
|
+
return customOptions;
|
|
1118
|
+
};
|
|
1119
|
+
function useSettings(options, queryClient) {
|
|
1120
|
+
const queryOptions = useSettingsQueryOptions(options);
|
|
1121
|
+
const query = (0, import_react_query.useQuery)(queryOptions, queryClient);
|
|
1122
|
+
query.queryKey = queryOptions.queryKey;
|
|
1123
|
+
return query;
|
|
1124
|
+
}
|
|
1071
1125
|
const useListOrganizationDomainsHook = () => {
|
|
1072
1126
|
const listOrganizationDomains = (0, import_widgets_api_client.useWidgetsApiClient)();
|
|
1073
1127
|
return (0, import_react.useCallback)(
|
|
@@ -1498,6 +1552,7 @@ const useDeleteDataInstallation = (options, queryClient) => {
|
|
|
1498
1552
|
CreateTotpFactorResponseAuthenticationFactorAllOfType,
|
|
1499
1553
|
DataInstallationObject,
|
|
1500
1554
|
DataInstallationState,
|
|
1555
|
+
DataIntegrationCredentialsType,
|
|
1501
1556
|
DataIntegrationIntegrationType,
|
|
1502
1557
|
DataIntegrationObject,
|
|
1503
1558
|
DataIntegrationOwnership,
|
|
@@ -1509,6 +1564,7 @@ const useDeleteDataInstallation = (options, queryClient) => {
|
|
|
1509
1564
|
OrganizationDomainState,
|
|
1510
1565
|
SamlSessionState,
|
|
1511
1566
|
SendVerificationResponseType,
|
|
1567
|
+
SettingsResponseObject,
|
|
1512
1568
|
SsoConnectionAnyOfEightAllOfProviderTag,
|
|
1513
1569
|
SsoConnectionAnyOfEightAllOfState,
|
|
1514
1570
|
SsoConnectionAnyOfEightAllOfType,
|
|
@@ -1530,6 +1586,7 @@ const useDeleteDataInstallation = (options, queryClient) => {
|
|
|
1530
1586
|
getRolesAndConfigQueryKey,
|
|
1531
1587
|
getRolesQueryKey,
|
|
1532
1588
|
getSessionsQueryKey,
|
|
1589
|
+
getSettingsQueryKey,
|
|
1533
1590
|
useAuthenticationInformation,
|
|
1534
1591
|
useAuthenticationInformationHook,
|
|
1535
1592
|
useAuthenticationInformationQueryOptions,
|
|
@@ -1626,6 +1683,9 @@ const useDeleteDataInstallation = (options, queryClient) => {
|
|
|
1626
1683
|
useSessions,
|
|
1627
1684
|
useSessionsHook,
|
|
1628
1685
|
useSessionsQueryOptions,
|
|
1686
|
+
useSettings,
|
|
1687
|
+
useSettingsHook,
|
|
1688
|
+
useSettingsQueryOptions,
|
|
1629
1689
|
useUpdateMe,
|
|
1630
1690
|
useUpdateMeHook,
|
|
1631
1691
|
useUpdateMeMutationOptions,
|