@workos-inc/widgets 1.20.2-next.1792700156145 → 1.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -10
- package/dist/cjs/admin-portal-audit-log-streaming.client.cjs +2 -1
- package/dist/cjs/admin-portal-audit-log-streaming.client.cjs.map +1 -1
- package/dist/cjs/admin-portal-domain-verification.client.cjs +3 -2
- package/dist/cjs/admin-portal-domain-verification.client.cjs.map +1 -1
- package/dist/cjs/admin-portal-sso-connection.client.cjs +2 -1
- package/dist/cjs/admin-portal-sso-connection.client.cjs.map +1 -1
- package/dist/cjs/api/api-provider.cjs +23 -1
- package/dist/cjs/api/api-provider.cjs.map +1 -1
- package/dist/cjs/api/api-provider.d.cts.map +1 -1
- package/dist/cjs/api/claims.cjs.map +1 -1
- package/dist/cjs/api/claims.d.cts +2 -1
- package/dist/cjs/api/claims.d.cts.map +1 -1
- package/dist/cjs/api/client-graphql/client.cjs +3 -2
- package/dist/cjs/api/client-graphql/client.cjs.map +1 -1
- package/dist/cjs/api/client-graphql/hooks.cjs +3 -20
- package/dist/cjs/api/client-graphql/hooks.cjs.map +1 -1
- package/dist/cjs/api/client-graphql/hooks.d.cts +3 -12
- package/dist/cjs/api/client-graphql/hooks.d.cts.map +1 -1
- package/dist/cjs/api/client-graphql/query-keys.cjs +25 -0
- package/dist/cjs/api/client-graphql/query-keys.cjs.map +1 -0
- package/dist/cjs/api/client-graphql/query-keys.d.cts +16 -0
- package/dist/cjs/api/client-graphql/query-keys.d.cts.map +1 -0
- package/dist/cjs/components/copy-text.cjs +1 -1
- package/dist/cjs/components/copy-text.cjs.map +1 -1
- package/dist/cjs/components/form.cjs +9 -13
- package/dist/cjs/components/form.cjs.map +1 -1
- package/dist/cjs/components/form.d.cts.map +1 -1
- package/dist/cjs/components/otp-input.cjs +1 -0
- package/dist/cjs/components/otp-input.cjs.map +1 -1
- package/dist/cjs/directory-sync.client.cjs +2 -1
- package/dist/cjs/directory-sync.client.cjs.map +1 -1
- package/dist/cjs/lib/api/api-key.cjs +4 -3
- package/dist/cjs/lib/api/api-key.cjs.map +1 -1
- package/dist/cjs/lib/api/me.cjs +2 -1
- package/dist/cjs/lib/api/me.cjs.map +1 -1
- package/dist/cjs/lib/api/pipes.cjs +7 -6
- package/dist/cjs/lib/api/pipes.cjs.map +1 -1
- package/dist/cjs/lib/api/user-api-key.cjs +3 -2
- package/dist/cjs/lib/api/user-api-key.cjs.map +1 -1
- package/dist/cjs/lib/i18n/intl-context.cjs.map +1 -1
- package/dist/cjs/lib/i18n/intl-context.d.cts +1 -0
- package/dist/cjs/lib/i18n/intl-context.d.cts.map +1 -1
- package/dist/cjs/lib/i18n/use-translation.cjs +2 -2
- package/dist/cjs/lib/i18n/use-translation.cjs.map +1 -1
- package/dist/cjs/lib/use-composed-event-handlers.cjs +15 -0
- package/dist/cjs/lib/use-composed-event-handlers.cjs.map +1 -0
- package/dist/cjs/lib/use-composed-event-handlers.d.cts +6 -0
- package/dist/cjs/lib/use-composed-event-handlers.d.cts.map +1 -0
- package/dist/cjs/lib/use-debounce.cjs +124 -116
- package/dist/cjs/lib/use-debounce.cjs.map +1 -1
- package/dist/cjs/lib/use-debounce.d.cts +53 -48
- package/dist/cjs/lib/use-debounce.d.cts.map +1 -1
- package/dist/cjs/lib/use-widgets-invalidator.cjs +3 -3
- package/dist/cjs/lib/use-widgets-invalidator.cjs.map +1 -1
- package/dist/cjs/lib/use-widgets-invalidator.d.cts.map +1 -1
- package/dist/cjs/lib/utils.cjs +0 -7
- package/dist/cjs/lib/utils.cjs.map +1 -1
- package/dist/cjs/lib/utils.d.cts +0 -3
- package/dist/cjs/lib/utils.d.cts.map +1 -1
- package/dist/cjs/organization-switcher.client.cjs +2 -1
- package/dist/cjs/organization-switcher.client.cjs.map +1 -1
- package/dist/cjs/pipes-admin.client.cjs +2 -1
- package/dist/cjs/pipes-admin.client.cjs.map +1 -1
- package/dist/cjs/pipes.client.cjs +2 -1
- package/dist/cjs/pipes.client.cjs.map +1 -1
- package/dist/cjs/user-security.client.cjs +2 -1
- package/dist/cjs/user-security.client.cjs.map +1 -1
- package/dist/cjs/user-sessions.client.cjs +2 -1
- package/dist/cjs/user-sessions.client.cjs.map +1 -1
- package/dist/cjs/widgets/api-keys/api-keys-search.cjs +1 -1
- package/dist/cjs/widgets/api-keys/api-keys-search.cjs.map +1 -1
- package/dist/cjs/widgets/api-keys/user-api-keys-search.cjs +1 -1
- package/dist/cjs/widgets/api-keys/user-api-keys-search.cjs.map +1 -1
- package/dist/cjs/widgets/organization-switcher/organization-switcher.cjs +19 -5
- package/dist/cjs/widgets/organization-switcher/organization-switcher.cjs.map +1 -1
- package/dist/cjs/widgets/organization-switcher/organization-switcher.d.cts +2 -1
- package/dist/cjs/widgets/organization-switcher/organization-switcher.d.cts.map +1 -1
- package/dist/cjs/widgets/pipes/pipes.cjs +3 -2
- package/dist/cjs/widgets/pipes/pipes.cjs.map +1 -1
- package/dist/cjs/widgets/user-sessions/logout-all-sessions-dialog.cjs +2 -1
- package/dist/cjs/widgets/user-sessions/logout-all-sessions-dialog.cjs.map +1 -1
- package/dist/cjs/widgets/user-sessions/logout-dialog.cjs +2 -1
- package/dist/cjs/widgets/user-sessions/logout-dialog.cjs.map +1 -1
- package/dist/cjs/widgets/users-management/invite-user-dialog.cjs +5 -6
- package/dist/cjs/widgets/users-management/invite-user-dialog.cjs.map +1 -1
- package/dist/cjs/widgets/users-management/users-management-utils.cjs +4 -3
- package/dist/cjs/widgets/users-management/users-management-utils.cjs.map +1 -1
- package/dist/cjs/widgets/users-management/users-management.cjs.map +1 -1
- package/dist/cjs/widgets/users-management/users-search.cjs +1 -1
- package/dist/cjs/widgets/users-management/users-search.cjs.map +1 -1
- package/dist/esm/admin-portal-audit-log-streaming.client.js +2 -1
- package/dist/esm/admin-portal-audit-log-streaming.client.js.map +1 -1
- package/dist/esm/admin-portal-domain-verification.client.js +2 -1
- package/dist/esm/admin-portal-domain-verification.client.js.map +1 -1
- package/dist/esm/admin-portal-sso-connection.client.js +2 -1
- package/dist/esm/admin-portal-sso-connection.client.js.map +1 -1
- package/dist/esm/api/api-provider.d.ts.map +1 -1
- package/dist/esm/api/api-provider.js +23 -1
- package/dist/esm/api/api-provider.js.map +1 -1
- package/dist/esm/api/claims.d.ts +2 -1
- package/dist/esm/api/claims.d.ts.map +1 -1
- package/dist/esm/api/claims.js.map +1 -1
- package/dist/esm/api/client-graphql/client.js +3 -2
- package/dist/esm/api/client-graphql/client.js.map +1 -1
- package/dist/esm/api/client-graphql/hooks.d.ts +3 -12
- package/dist/esm/api/client-graphql/hooks.d.ts.map +1 -1
- package/dist/esm/api/client-graphql/hooks.js +1 -18
- package/dist/esm/api/client-graphql/hooks.js.map +1 -1
- package/dist/esm/api/client-graphql/query-keys.d.ts +16 -0
- package/dist/esm/api/client-graphql/query-keys.d.ts.map +1 -0
- package/dist/esm/api/client-graphql/query-keys.js +23 -0
- package/dist/esm/api/client-graphql/query-keys.js.map +1 -0
- package/dist/esm/components/copy-text.js +1 -1
- package/dist/esm/components/copy-text.js.map +1 -1
- package/dist/esm/components/form.d.ts.map +1 -1
- package/dist/esm/components/form.js +9 -13
- package/dist/esm/components/form.js.map +1 -1
- package/dist/esm/components/otp-input.js +1 -0
- package/dist/esm/components/otp-input.js.map +1 -1
- package/dist/esm/directory-sync.client.js +2 -1
- package/dist/esm/directory-sync.client.js.map +1 -1
- package/dist/esm/lib/api/api-key.js +2 -1
- package/dist/esm/lib/api/api-key.js.map +1 -1
- package/dist/esm/lib/api/me.js +2 -1
- package/dist/esm/lib/api/me.js.map +1 -1
- package/dist/esm/lib/api/pipes.js +2 -1
- package/dist/esm/lib/api/pipes.js.map +1 -1
- package/dist/esm/lib/api/user-api-key.js +2 -1
- package/dist/esm/lib/api/user-api-key.js.map +1 -1
- package/dist/esm/lib/i18n/intl-context.d.ts +1 -0
- package/dist/esm/lib/i18n/intl-context.d.ts.map +1 -1
- package/dist/esm/lib/i18n/intl-context.js.map +1 -1
- package/dist/esm/lib/i18n/use-translation.js +2 -2
- package/dist/esm/lib/i18n/use-translation.js.map +1 -1
- package/dist/esm/lib/use-composed-event-handlers.d.ts +6 -0
- package/dist/esm/lib/use-composed-event-handlers.d.ts.map +1 -0
- package/dist/esm/lib/use-composed-event-handlers.js +12 -0
- package/dist/esm/lib/use-composed-event-handlers.js.map +1 -0
- package/dist/esm/lib/use-debounce.d.ts +53 -48
- package/dist/esm/lib/use-debounce.d.ts.map +1 -1
- package/dist/esm/lib/use-debounce.js +124 -116
- package/dist/esm/lib/use-debounce.js.map +1 -1
- package/dist/esm/lib/use-widgets-invalidator.d.ts.map +1 -1
- package/dist/esm/lib/use-widgets-invalidator.js +2 -2
- package/dist/esm/lib/use-widgets-invalidator.js.map +1 -1
- package/dist/esm/lib/utils.d.ts +0 -3
- package/dist/esm/lib/utils.d.ts.map +1 -1
- package/dist/esm/lib/utils.js +1 -7
- package/dist/esm/lib/utils.js.map +1 -1
- package/dist/esm/organization-switcher.client.js +2 -1
- package/dist/esm/organization-switcher.client.js.map +1 -1
- package/dist/esm/pipes-admin.client.js +2 -1
- package/dist/esm/pipes-admin.client.js.map +1 -1
- package/dist/esm/pipes.client.js +2 -1
- package/dist/esm/pipes.client.js.map +1 -1
- package/dist/esm/user-security.client.js +2 -1
- package/dist/esm/user-security.client.js.map +1 -1
- package/dist/esm/user-sessions.client.js +2 -1
- package/dist/esm/user-sessions.client.js.map +1 -1
- package/dist/esm/widgets/api-keys/api-keys-search.js +1 -1
- package/dist/esm/widgets/api-keys/api-keys-search.js.map +1 -1
- package/dist/esm/widgets/api-keys/user-api-keys-search.js +1 -1
- package/dist/esm/widgets/api-keys/user-api-keys-search.js.map +1 -1
- package/dist/esm/widgets/organization-switcher/organization-switcher.d.ts +2 -1
- package/dist/esm/widgets/organization-switcher/organization-switcher.d.ts.map +1 -1
- package/dist/esm/widgets/organization-switcher/organization-switcher.js +19 -5
- package/dist/esm/widgets/organization-switcher/organization-switcher.js.map +1 -1
- package/dist/esm/widgets/pipes/pipes.js +2 -1
- package/dist/esm/widgets/pipes/pipes.js.map +1 -1
- package/dist/esm/widgets/user-sessions/logout-all-sessions-dialog.js +2 -1
- package/dist/esm/widgets/user-sessions/logout-all-sessions-dialog.js.map +1 -1
- package/dist/esm/widgets/user-sessions/logout-dialog.js +2 -1
- package/dist/esm/widgets/user-sessions/logout-dialog.js.map +1 -1
- package/dist/esm/widgets/users-management/invite-user-dialog.js +5 -6
- package/dist/esm/widgets/users-management/invite-user-dialog.js.map +1 -1
- package/dist/esm/widgets/users-management/users-management-utils.js +2 -1
- package/dist/esm/widgets/users-management/users-management-utils.js.map +1 -1
- package/dist/esm/widgets/users-management/users-management.js.map +1 -1
- package/dist/esm/widgets/users-management/users-search.js +1 -1
- package/dist/esm/widgets/users-management/users-search.js.map +1 -1
- package/package.json +1 -1
- package/src/api/api-provider.tsx +39 -1
- package/src/api/claims.ts +2 -1
- package/src/api/client-graphql/client.ts +8 -2
- package/src/api/client-graphql/hooks.ts +8 -27
- package/src/api/client-graphql/query-keys.ts +29 -0
- package/src/components/copy-text.tsx +1 -1
- package/src/components/form.tsx +33 -29
- package/src/components/otp-input.tsx +2 -0
- package/src/lib/i18n/intl-context.tsx +4 -0
- package/src/lib/i18n/use-translation.ts +1 -4
- package/src/lib/use-composed-event-handlers.ts +25 -0
- package/src/lib/use-debounce.ts +289 -237
- package/src/lib/use-widgets-invalidator.ts +0 -4
- package/src/lib/utils.ts +0 -12
- package/src/widgets/api-keys/api-keys-search.tsx +6 -3
- package/src/widgets/api-keys/user-api-keys-search.tsx +6 -3
- package/src/widgets/organization-switcher/organization-switcher.tsx +32 -8
- package/src/widgets/users-management/invite-user-dialog.tsx +9 -11
- package/src/widgets/users-management/users-management.tsx +1 -1
- package/src/widgets/users-management/users-search.tsx +6 -3
|
@@ -66,13 +66,32 @@ const OrganizationSwitcher: React.FC<OrganizationSwitcherProps> = ({
|
|
|
66
66
|
(organization) => organization.isCurrent,
|
|
67
67
|
);
|
|
68
68
|
const invalidateAllWidgets = useWidgetsInvalidator();
|
|
69
|
+
const translate = useTranslation();
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
if (organizations.length === 0) {
|
|
72
|
+
return (
|
|
73
|
+
<OrganizationSwitcherError
|
|
74
|
+
variant={variant}
|
|
75
|
+
{...domProps}
|
|
76
|
+
message={translate({
|
|
77
|
+
id: "XimGbo",
|
|
78
|
+
defaultMessage: "No organizations found",
|
|
79
|
+
description:
|
|
80
|
+
"Shown in the disabled organization switcher when the user belongs to no organizations",
|
|
81
|
+
})}
|
|
82
|
+
/>
|
|
83
|
+
);
|
|
74
84
|
}
|
|
75
85
|
|
|
86
|
+
const currentOrganizationName =
|
|
87
|
+
currentOrganization?.name ??
|
|
88
|
+
translate({
|
|
89
|
+
id: "aZ7eyn",
|
|
90
|
+
defaultMessage: "Select an organization",
|
|
91
|
+
description:
|
|
92
|
+
"Placeholder in the organization switcher trigger when the user has organizations but none is active",
|
|
93
|
+
});
|
|
94
|
+
|
|
76
95
|
return (
|
|
77
96
|
<DropdownMenu.Root>
|
|
78
97
|
<DropdownMenu.Trigger>
|
|
@@ -96,7 +115,7 @@ const OrganizationSwitcher: React.FC<OrganizationSwitcherProps> = ({
|
|
|
96
115
|
minWidth="0"
|
|
97
116
|
>
|
|
98
117
|
<TruncatedOrganizationName
|
|
99
|
-
organizationName={
|
|
118
|
+
organizationName={currentOrganizationName}
|
|
100
119
|
truncateBehavior={truncateBehavior}
|
|
101
120
|
/>
|
|
102
121
|
<Flex asChild flexShrink="0">
|
|
@@ -122,7 +141,10 @@ const OrganizationSwitcher: React.FC<OrganizationSwitcherProps> = ({
|
|
|
122
141
|
>
|
|
123
142
|
<DropdownMenu.Item
|
|
124
143
|
onClick={() => {
|
|
125
|
-
if (
|
|
144
|
+
if (
|
|
145
|
+
!currentOrganization ||
|
|
146
|
+
organization.id !== currentOrganization.id
|
|
147
|
+
) {
|
|
126
148
|
const result = switchToOrganization({
|
|
127
149
|
organizationId: organization.id,
|
|
128
150
|
});
|
|
@@ -205,17 +227,19 @@ const OrganizationSwitcherLoading: React.FC<
|
|
|
205
227
|
};
|
|
206
228
|
|
|
207
229
|
interface OrganizationSwitcherErrorProps extends WidgetRootDomProps {
|
|
208
|
-
error
|
|
230
|
+
error?: unknown;
|
|
231
|
+
message?: string;
|
|
209
232
|
variant?: OrganizationSwitcherVariant;
|
|
210
233
|
}
|
|
211
234
|
|
|
212
235
|
const OrganizationSwitcherError: React.FC<OrganizationSwitcherErrorProps> = ({
|
|
213
236
|
error,
|
|
214
237
|
variant,
|
|
238
|
+
message,
|
|
215
239
|
...domProps
|
|
216
240
|
}) => {
|
|
217
241
|
const translate = useTranslation();
|
|
218
|
-
const
|
|
242
|
+
const heading = message || getErrorMessage(error, translate).heading;
|
|
219
243
|
|
|
220
244
|
return (
|
|
221
245
|
<Button
|
|
@@ -46,19 +46,17 @@ const InviteUserDialog: React.FC<InviteUserDialogProps> = ({ children }) => {
|
|
|
46
46
|
const [selectedRole, setSelectedRole] = React.useState(
|
|
47
47
|
() => getDefaultRole(roles)?.slug || PLACEHOLDER_ROLE,
|
|
48
48
|
);
|
|
49
|
-
|
|
49
|
+
|
|
50
|
+
const [previousRoles, setPreviousRoles] = React.useState(roles);
|
|
51
|
+
if (previousRoles !== roles) {
|
|
52
|
+
setPreviousRoles(roles);
|
|
50
53
|
// Update the selected role if it's not in the list (eg if the list was
|
|
51
54
|
// previously empty and the query resolved)
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return selectedRole;
|
|
58
|
-
}
|
|
59
|
-
return getDefaultRole(roles)?.slug || PLACEHOLDER_ROLE;
|
|
60
|
-
});
|
|
61
|
-
}, [roles]);
|
|
55
|
+
const found = roles.find((role) => role.slug === selectedRole);
|
|
56
|
+
if (!found) {
|
|
57
|
+
setSelectedRole(getDefaultRole(roles)?.slug || PLACEHOLDER_ROLE);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
62
60
|
|
|
63
61
|
const onSubmitForm = (input: InviteUserInput) => {
|
|
64
62
|
if (inviteUser.isPending || rolesQuery.status !== "success") {
|
|
@@ -648,7 +648,7 @@ const TableCellText = React.forwardRef<HTMLSpanElement, TableCellTextProps>(
|
|
|
648
648
|
style={
|
|
649
649
|
dim
|
|
650
650
|
? {
|
|
651
|
-
// TODO: use CSS var instead of hard-coded value for opacity
|
|
651
|
+
// TODO(v2): use CSS var instead of hard-coded value for opacity
|
|
652
652
|
opacity: 0.6,
|
|
653
653
|
...props.style,
|
|
654
654
|
}
|
|
@@ -20,9 +20,12 @@ const UsersSearch = React.forwardRef<HTMLInputElement, UsersSearchProps>(
|
|
|
20
20
|
const { dispatch } = useUsersManagementContext();
|
|
21
21
|
const translate = useTranslation();
|
|
22
22
|
|
|
23
|
-
const filter = useDebouncedCallback(
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const filter = useDebouncedCallback(
|
|
24
|
+
(value) => {
|
|
25
|
+
dispatch({ type: "FILTER_BY_SEARCH", searchQuery: value });
|
|
26
|
+
},
|
|
27
|
+
{ wait: 200 },
|
|
28
|
+
);
|
|
26
29
|
|
|
27
30
|
const resetSearch = () => {
|
|
28
31
|
clearSearch();
|