@iqauth/sdk 2.6.4 → 2.8.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/README.md +173 -1
- package/dist/browser-session.d.mts +4 -4
- package/dist/browser-session.d.ts +4 -4
- package/dist/browser-session.js +212 -46
- package/dist/browser-session.mjs +3 -3
- package/dist/browser.d.mts +5 -5
- package/dist/browser.d.ts +5 -5
- package/dist/browser.js +293 -34
- package/dist/browser.mjs +5 -5
- package/dist/{chunk-BVV54LPI.mjs → chunk-25SSYDIP.mjs} +10 -4
- package/dist/{chunk-XAWYUPMO.mjs → chunk-4V7FKOTG.mjs} +242 -22
- package/dist/{chunk-6I6RM4MN.mjs → chunk-6PJRLRB4.mjs} +33 -3
- package/dist/{chunk-SL3KRS4W.mjs → chunk-CIJORODR.mjs} +23 -1
- package/dist/{chunk-LIZYFXH7.mjs → chunk-DFWHSDYQ.mjs} +1 -1
- package/dist/chunk-GLXSIGVS.mjs +66 -0
- package/dist/{chunk-DJIBN2N7.mjs → chunk-GN37E64I.mjs} +29 -7
- package/dist/{chunk-WQWBJSSS.mjs → chunk-HVHNYPDC.mjs} +6 -6
- package/dist/chunk-JRDVUWAL.mjs +46 -0
- package/dist/{chunk-UNYDG2L4.mjs → chunk-NUO2I65G.mjs} +56 -23
- package/dist/{chunk-5T7GHBX6.mjs → chunk-TLET552H.mjs} +36 -0
- package/dist/chunk-VYQ3ETCK.mjs +244 -0
- package/dist/{chunk-3JULWS6F.mjs → chunk-WCELYTJ3.mjs} +3 -3
- package/dist/chunk-WHT6WKTY.mjs +3180 -0
- package/dist/{chunk-MKKZULZR.mjs → chunk-WIFG74IK.mjs} +1 -1
- package/dist/chunk-WSH4SW7F.mjs +490 -0
- package/dist/{chunk-W3F4JYGP.mjs → chunk-ZLJPABB7.mjs} +139 -23
- package/dist/cli/index.js +2 -2
- package/dist/cli/index.mjs +2 -2
- package/dist/{client-BNQe3AgF.d.ts → client-D8L-PaWr.d.mts} +59 -6
- package/dist/{client-kYlJFgPv.d.mts → client-DkPL0EPZ.d.ts} +59 -6
- package/dist/{doctor-YYNHNMLD.mjs → doctor-JAFXWU3X.mjs} +2 -2
- package/dist/errors-Jl1Jtm-6.d.mts +107 -0
- package/dist/errors-Jl1Jtm-6.d.ts +107 -0
- package/dist/{express-CHpfa7D_.d.ts → express-Budysq4h.d.ts} +2 -2
- package/dist/{express-B6_1vBYZ.d.mts → express-DDTA3qV1.d.mts} +2 -2
- package/dist/express.d.mts +7 -6
- package/dist/express.d.ts +7 -6
- package/dist/express.js +563 -85
- package/dist/express.mjs +73 -34
- package/dist/fastify.d.mts +10 -0
- package/dist/fastify.d.ts +10 -0
- package/dist/fastify.js +589 -65
- package/dist/fastify.mjs +101 -11
- package/dist/hono.d.mts +10 -0
- package/dist/hono.d.ts +10 -0
- package/dist/hono.js +566 -65
- package/dist/hono.mjs +78 -11
- package/dist/index-Cko-d5po.d.mts +1848 -0
- package/dist/index-RNqwEcmY.d.ts +1848 -0
- package/dist/index.d.mts +56 -8
- package/dist/index.d.ts +56 -8
- package/dist/index.js +694 -75
- package/dist/index.mjs +30 -10
- package/dist/{keys-NLWFAOEM.mjs → keys-6Y776TG2.mjs} +2 -2
- package/dist/locales.d.mts +1 -1
- package/dist/locales.d.ts +1 -1
- package/dist/locales.js +36 -0
- package/dist/locales.mjs +1 -1
- package/dist/mobile.d.mts +77 -7
- package/dist/mobile.d.ts +77 -7
- package/dist/mobile.js +307 -46
- package/dist/mobile.mjs +98 -3
- package/dist/next.d.mts +10 -1
- package/dist/next.d.ts +10 -1
- package/dist/next.js +596 -205
- package/dist/next.mjs +83 -10
- package/dist/{provisioningBridge-88xjOS2n.d.mts → provisioningBridge-BXPMZCLe.d.ts} +30 -2
- package/dist/{provisioningBridge-DnTfzdZK.d.ts → provisioningBridge-IEycmsgb.d.mts} +30 -2
- package/dist/{publishableKey-BaR0HoAH.d.ts → publishableKey-f2kq-rKw.d.mts} +1 -1
- package/dist/{publishableKey-BaR0HoAH.d.mts → publishableKey-f2kq-rKw.d.ts} +1 -1
- package/dist/react-permissions.d.mts +52 -0
- package/dist/react-permissions.d.ts +52 -0
- package/dist/react-permissions.js +239 -0
- package/dist/react-permissions.mjs +98 -0
- package/dist/react.d.mts +9 -1624
- package/dist/react.d.ts +9 -1624
- package/dist/react.js +882 -73
- package/dist/react.mjs +71 -2631
- package/dist/{reverify-4UEJXUS6.mjs → reverify-C64QXKJO.mjs} +2 -2
- package/dist/server/handlers.d.mts +200 -4
- package/dist/server/handlers.d.ts +200 -4
- package/dist/server/handlers.js +530 -16
- package/dist/server/handlers.mjs +14 -3
- package/dist/server.d.mts +171 -8
- package/dist/server.d.ts +171 -8
- package/dist/server.js +579 -61
- package/dist/server.mjs +99 -12
- package/dist/service.d.mts +4 -4
- package/dist/service.d.ts +4 -4
- package/dist/service.js +212 -46
- package/dist/service.mjs +3 -3
- package/dist/{signIn-CiIBTJIh.d.mts → signIn-CReqfXsh.d.mts} +95 -3
- package/dist/{signIn-OCr88Zf8.d.ts → signIn-Cfa1GTpO.d.ts} +95 -3
- package/dist/{signIn-4OKLDEIH.mjs → signIn-SHBW6Z4T.mjs} +1 -1
- package/dist/test.mjs +3 -3
- package/dist/{tokens-DCyzzn8L.d.mts → tokens-9F6ETrzk.d.ts} +9 -2
- package/dist/{tokens-aHiGFr_E.d.ts → tokens-B06VtvUi.d.mts} +9 -2
- package/dist/{types-DZAflmmq.d.mts → types-Bn8O-OEd.d.mts} +164 -11
- package/dist/{types-DZAflmmq.d.ts → types-Bn8O-OEd.d.ts} +164 -11
- package/dist/{types-6bNdxesb.d.ts → types-DnU2LhXR.d.mts} +7 -1
- package/dist/{types-6bNdxesb.d.mts → types-DnU2LhXR.d.ts} +7 -1
- package/dist/webhooks.d.mts +113 -17
- package/dist/webhooks.d.ts +113 -17
- package/dist/webhooks.js +179 -15
- package/dist/webhooks.mjs +7 -1
- package/dist/ws.d.mts +2 -2
- package/dist/ws.d.ts +2 -2
- package/dist/ws.js +80 -30
- package/dist/ws.mjs +4 -4
- package/docs/error-handling.md +101 -0
- package/docs/guides/effective-permissions.md +171 -0
- package/docs/guides/invitations.md +65 -0
- package/package.json +19 -4
- package/dist/chunk-6TDJJER7.mjs +0 -217
- package/dist/chunk-UKZLOHZG.mjs +0 -83
- package/dist/errors-CDdl24MP.d.mts +0 -52
- package/dist/errors-CDdl24MP.d.ts +0 -52
|
@@ -0,0 +1,1848 @@
|
|
|
1
|
+
import * as csstype from 'csstype';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
import { S as SessionManager, a as SessionSnapshot, b as SignInOptions, c as SignOutOptions, A as AccountRegistry, C as CallbackResult, M as MagicLinkRequestInput, P as PasswordlessOptions, L as LinkedIdentity, d as LinkProviderInput } from './signIn-Cfa1GTpO.js';
|
|
6
|
+
import { J as JwtClaims, S as SessionUser } from './types-Bn8O-OEd.js';
|
|
7
|
+
import { I as IQAuthLocaleBundle, b as IQAuthLocaleOverride, a as IQAuthLocaleKey } from './types-DnU2LhXR.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* F11 — `appearance.elements`. The keys are the slot names supported by SDK
|
|
11
|
+
* components; `className` is concatenated and `style` is merged onto the
|
|
12
|
+
* matching DOM node. Unknown slots are ignored. Inspired by Clerk's
|
|
13
|
+
* `appearance` API but intentionally smaller and CSS-var-first.
|
|
14
|
+
*/
|
|
15
|
+
interface IQAuthAppearanceElements {
|
|
16
|
+
rootBox?: {
|
|
17
|
+
className?: string;
|
|
18
|
+
style?: React.CSSProperties;
|
|
19
|
+
};
|
|
20
|
+
card?: {
|
|
21
|
+
className?: string;
|
|
22
|
+
style?: React.CSSProperties;
|
|
23
|
+
};
|
|
24
|
+
cardHeader?: {
|
|
25
|
+
className?: string;
|
|
26
|
+
style?: React.CSSProperties;
|
|
27
|
+
};
|
|
28
|
+
cardBody?: {
|
|
29
|
+
className?: string;
|
|
30
|
+
style?: React.CSSProperties;
|
|
31
|
+
};
|
|
32
|
+
headerTitle?: {
|
|
33
|
+
className?: string;
|
|
34
|
+
style?: React.CSSProperties;
|
|
35
|
+
};
|
|
36
|
+
headerSubtitle?: {
|
|
37
|
+
className?: string;
|
|
38
|
+
style?: React.CSSProperties;
|
|
39
|
+
};
|
|
40
|
+
formButtonPrimary?: {
|
|
41
|
+
className?: string;
|
|
42
|
+
style?: React.CSSProperties;
|
|
43
|
+
};
|
|
44
|
+
formFieldInput?: {
|
|
45
|
+
className?: string;
|
|
46
|
+
style?: React.CSSProperties;
|
|
47
|
+
};
|
|
48
|
+
formFieldLabel?: {
|
|
49
|
+
className?: string;
|
|
50
|
+
style?: React.CSSProperties;
|
|
51
|
+
};
|
|
52
|
+
socialButton?: {
|
|
53
|
+
className?: string;
|
|
54
|
+
style?: React.CSSProperties;
|
|
55
|
+
};
|
|
56
|
+
footer?: {
|
|
57
|
+
className?: string;
|
|
58
|
+
style?: React.CSSProperties;
|
|
59
|
+
};
|
|
60
|
+
errorBanner?: {
|
|
61
|
+
className?: string;
|
|
62
|
+
style?: React.CSSProperties;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
interface IQAuthAppearance {
|
|
66
|
+
elements?: IQAuthAppearanceElements;
|
|
67
|
+
}
|
|
68
|
+
interface IQAuthContextValue {
|
|
69
|
+
manager: SessionManager;
|
|
70
|
+
snapshot: SessionSnapshot;
|
|
71
|
+
/** F4 — extra origins (beyond same-origin) accepted by `useReturnTo()`/`sanitizeReturnTo`. */
|
|
72
|
+
allowedReturnOrigins: string[];
|
|
73
|
+
/** F11 — appearance overrides applied by Shell-rendering components. */
|
|
74
|
+
appearance: IQAuthAppearance | null;
|
|
75
|
+
/** F13 — derives a single role string for `useUser().user.role`. */
|
|
76
|
+
roleMapper: ((claims: JwtClaims | null) => string | null) | null;
|
|
77
|
+
/** Task #95 — fully resolved localization bundle (default + override). */
|
|
78
|
+
localization: IQAuthLocaleBundle;
|
|
79
|
+
/**
|
|
80
|
+
* 2.6.1 — Whether `<SignIn/>` is allowed to silently resume an active SSO
|
|
81
|
+
* session and redirect the user without showing the form. Opt-in. Default
|
|
82
|
+
* `false` so consumers always see the sign-in UI on first paint unless they
|
|
83
|
+
* explicitly enable it. Per-instance `<SignIn silentSso>` overrides this.
|
|
84
|
+
*/
|
|
85
|
+
silentSso: boolean;
|
|
86
|
+
}
|
|
87
|
+
interface IQAuthProviderProps {
|
|
88
|
+
publishableKey: string;
|
|
89
|
+
/** Override the IQAuth issuer URL. Inferred from the key by default. */
|
|
90
|
+
issuer?: string;
|
|
91
|
+
/** Disable cross-tab broadcast (rarely useful; primarily for tests). */
|
|
92
|
+
channelName?: string;
|
|
93
|
+
/** Disable proactive ~60s-before-expiry refresh. */
|
|
94
|
+
proactiveRefresh?: boolean;
|
|
95
|
+
/** Optional pre-built manager (advanced; tests). */
|
|
96
|
+
manager?: SessionManager;
|
|
97
|
+
/**
|
|
98
|
+
* F4 — Origins (besides the page's own) accepted as safe destinations by
|
|
99
|
+
* `useReturnTo()`/`sanitizeReturnTo()`. Same-origin URLs and relative
|
|
100
|
+
* paths are always allowed. Pass an empty array (default) for
|
|
101
|
+
* same-origin-only.
|
|
102
|
+
*/
|
|
103
|
+
allowedReturnOrigins?: string[];
|
|
104
|
+
/** F11 — Appearance overrides for SDK chrome components. */
|
|
105
|
+
appearance?: IQAuthAppearance;
|
|
106
|
+
/**
|
|
107
|
+
* F13 — Map IQAuth JWT claims to a single canonical role string surfaced
|
|
108
|
+
* as `useUser().user.role`. When omitted the SDK falls back to
|
|
109
|
+
* `claims.role ?? claims.roles?.[0] ?? null`.
|
|
110
|
+
*/
|
|
111
|
+
roleMapper?: (claims: JwtClaims | null) => string | null;
|
|
112
|
+
/** F14 — Override SDK cookie names. */
|
|
113
|
+
cookieNames?: {
|
|
114
|
+
refresh?: string;
|
|
115
|
+
access?: string;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Task #95 — Localization bundle. Pass a full bundle from
|
|
119
|
+
* `@iqauth/sdk/locales` (e.g. `frFR`) or a `Partial<IQAuthLocaleBundle>`
|
|
120
|
+
* with just the keys you want to override. Missing keys fall back to the
|
|
121
|
+
* default `enUS` strings.
|
|
122
|
+
*/
|
|
123
|
+
localization?: IQAuthLocaleBundle | IQAuthLocaleOverride;
|
|
124
|
+
/**
|
|
125
|
+
* 2.6.1 — Opt into silent SSO resume in `<SignIn/>` (default `false`).
|
|
126
|
+
* When `true`, `<SignIn/>` will detect an active issuer-side `iq_sso`
|
|
127
|
+
* session and redirect through `/oidc/sso-resume` without rendering the
|
|
128
|
+
* form. When `false` (default) the form always renders and users must
|
|
129
|
+
* click to continue. Per-instance `<SignIn silentSso>` overrides this.
|
|
130
|
+
*/
|
|
131
|
+
silentSso?: boolean;
|
|
132
|
+
children?: ReactNode;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Boots the IQAuth browser SDK from a single publishable key. Provides the
|
|
136
|
+
* session context to all hooks and gating components below it. Strict-mode
|
|
137
|
+
* safe — a single SessionManager instance is created per provider and reused
|
|
138
|
+
* across remounts.
|
|
139
|
+
*/
|
|
140
|
+
declare function IQAuthProvider({ publishableKey, issuer, channelName, proactiveRefresh, manager: externalManager, allowedReturnOrigins, appearance, roleMapper, cookieNames, localization, silentSso, children, }: IQAuthProviderProps): React.FunctionComponentElement<React.ProviderProps<IQAuthContextValue | null>>;
|
|
141
|
+
/** @internal — exposed for the `@iqauth/sdk/react/permissions` sub-entry. Not part of the public API. */
|
|
142
|
+
declare function __useIQAuthInternal(): IQAuthContextValue;
|
|
143
|
+
/**
|
|
144
|
+
* Task #95 — Returns the active localization bundle resolved from the
|
|
145
|
+
* `localization` prop on `<IQAuthProvider>` (merged on top of `enUS`). Safe
|
|
146
|
+
* to call outside a provider — returns the default `enUS` bundle.
|
|
147
|
+
*/
|
|
148
|
+
declare function useLocale(): IQAuthLocaleBundle;
|
|
149
|
+
/**
|
|
150
|
+
* Task #95 — Returns a `t(key, vars?)` translator bound to the active
|
|
151
|
+
* locale bundle. Safe outside a provider — falls back to `enUS`.
|
|
152
|
+
*/
|
|
153
|
+
declare function useT(): (key: IQAuthLocaleKey, vars?: Record<string, string | number>) => string;
|
|
154
|
+
interface SessionError {
|
|
155
|
+
code: string;
|
|
156
|
+
message: string;
|
|
157
|
+
}
|
|
158
|
+
interface UseUserResult {
|
|
159
|
+
isLoaded: boolean;
|
|
160
|
+
isSignedIn: boolean;
|
|
161
|
+
user: (SessionUser & {
|
|
162
|
+
role: string | null;
|
|
163
|
+
}) | null;
|
|
164
|
+
error: SessionError | null;
|
|
165
|
+
}
|
|
166
|
+
declare function useUser(): UseUserResult;
|
|
167
|
+
interface UseSessionResult {
|
|
168
|
+
isLoaded: boolean;
|
|
169
|
+
isSignedIn: boolean;
|
|
170
|
+
claims: JwtClaims | null;
|
|
171
|
+
accessToken: string | null;
|
|
172
|
+
error: SessionError | null;
|
|
173
|
+
}
|
|
174
|
+
declare function useSession(): UseSessionResult;
|
|
175
|
+
interface UseAuthResult {
|
|
176
|
+
isLoaded: boolean;
|
|
177
|
+
isSignedIn: boolean;
|
|
178
|
+
userId: string | null;
|
|
179
|
+
tenantId: string | null;
|
|
180
|
+
error: SessionError | null;
|
|
181
|
+
signIn: (opts?: SignInOptions) => Promise<void>;
|
|
182
|
+
signOut: (opts?: SignOutOptions) => Promise<void>;
|
|
183
|
+
redirectToSignIn: (opts?: SignInOptions) => Promise<void>;
|
|
184
|
+
getToken: () => Promise<string | null>;
|
|
185
|
+
fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
186
|
+
}
|
|
187
|
+
declare function useAuth(): UseAuthResult;
|
|
188
|
+
interface UseOrganizationResult {
|
|
189
|
+
isLoaded: boolean;
|
|
190
|
+
organization: {
|
|
191
|
+
id: string;
|
|
192
|
+
tenantId: string;
|
|
193
|
+
} | null;
|
|
194
|
+
error: SessionError | null;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* In IQAuth a "tenant" is the closest analog to Clerk's organization. This
|
|
198
|
+
* hook returns the tenant the active session is scoped to.
|
|
199
|
+
*/
|
|
200
|
+
declare function useOrganization(): UseOrganizationResult;
|
|
201
|
+
/**
|
|
202
|
+
* Returns a fetch-like function that auto-attaches the access token and
|
|
203
|
+
* coordinates refresh. Identical to `useAuth().fetch` but exposed as its own
|
|
204
|
+
* hook for ergonomic destructuring.
|
|
205
|
+
*/
|
|
206
|
+
declare function useAuthFetch(): (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
207
|
+
interface SessionListItem {
|
|
208
|
+
id: string;
|
|
209
|
+
createdAt: string;
|
|
210
|
+
lastActiveAt: string;
|
|
211
|
+
expiresAt: string;
|
|
212
|
+
ip: string | null;
|
|
213
|
+
userAgent: string | null;
|
|
214
|
+
device: string;
|
|
215
|
+
originHost: string | null;
|
|
216
|
+
loginMethod: string | null;
|
|
217
|
+
isCurrent: boolean;
|
|
218
|
+
}
|
|
219
|
+
interface UseSessionListResult {
|
|
220
|
+
sessions: SessionListItem[];
|
|
221
|
+
loading: boolean;
|
|
222
|
+
error: string | null;
|
|
223
|
+
refresh: () => Promise<void>;
|
|
224
|
+
revoke: (sessionId: string) => Promise<void>;
|
|
225
|
+
revokeAllOthers: () => Promise<{
|
|
226
|
+
terminatedCount: number;
|
|
227
|
+
}>;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* F21 — Lists the user's active sessions and exposes revoke helpers. Uses the
|
|
231
|
+
* provider's `manager.fetch` so the access token is auto-attached and silent
|
|
232
|
+
* refresh is coordinated. The `isCurrent` flag on each item is set
|
|
233
|
+
* server-side from the JWT's sessionId claim.
|
|
234
|
+
*/
|
|
235
|
+
declare function useSessionList(): UseSessionListResult;
|
|
236
|
+
/**
|
|
237
|
+
* Imperative helper for code outside a React render. Equivalent to
|
|
238
|
+
* `useSessionList().revoke(...)` but callable from event handlers in
|
|
239
|
+
* components that don't use the hook. Reads from a module-scoped, typed
|
|
240
|
+
* registry that `<IQAuthProvider>` populates on mount.
|
|
241
|
+
*/
|
|
242
|
+
declare function revokeSession(sessionId: string): Promise<void>;
|
|
243
|
+
interface MultisessionContextValue {
|
|
244
|
+
registry: AccountRegistry;
|
|
245
|
+
version: number;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* F22 — Wrap your app in `<MultisessionAppSupport>` to enable parallel
|
|
249
|
+
* accounts. Must be a descendant of `<IQAuthProvider>`. On mount it
|
|
250
|
+
* installs a `MultiAccountTokenStore` on the manager so refresh-token
|
|
251
|
+
* reads/writes target the active account's per-account cookie.
|
|
252
|
+
*/
|
|
253
|
+
declare function MultisessionAppSupport({ children }: {
|
|
254
|
+
children?: ReactNode;
|
|
255
|
+
}): React.FunctionComponentElement<React.ProviderProps<MultisessionContextValue | null>>;
|
|
256
|
+
interface AccountSummary {
|
|
257
|
+
accountId: string;
|
|
258
|
+
userId: string;
|
|
259
|
+
email: string;
|
|
260
|
+
name: string;
|
|
261
|
+
tenantId: string | null;
|
|
262
|
+
isActive: boolean;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* F22 — Lists every account currently signed in to this app, with the
|
|
266
|
+
* active one flagged. Re-renders when accounts are added/removed/switched.
|
|
267
|
+
*/
|
|
268
|
+
declare function useAccountList(): {
|
|
269
|
+
accounts: AccountSummary[];
|
|
270
|
+
loading: boolean;
|
|
271
|
+
};
|
|
272
|
+
interface UseAccountSwitcherResult {
|
|
273
|
+
/** Sign in an additional account in parallel via prompt=login. */
|
|
274
|
+
addAccount: (opts?: SignInOptions) => Promise<void>;
|
|
275
|
+
/** Pivot to another already-signed-in account by reading its cookie + refreshing. */
|
|
276
|
+
switchTo: (accountId: string) => Promise<void>;
|
|
277
|
+
/** Forget an account locally (clears its cookie + registry record). */
|
|
278
|
+
removeAccount: (accountId: string) => void;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* F22 — Account switcher actions. `addAccount()` opens a fresh sign-in
|
|
282
|
+
* with `prompt=login` so the IQAuth host shows the form even if an SSO
|
|
283
|
+
* session exists; on completion the new tokens are written to the new
|
|
284
|
+
* per-account cookie and the registry is updated. `switchTo()` is a
|
|
285
|
+
* pure local pivot — no network round-trip beyond the refresh.
|
|
286
|
+
*/
|
|
287
|
+
declare function useAccountSwitcher(): UseAccountSwitcherResult;
|
|
288
|
+
declare function SignedIn({ children }: {
|
|
289
|
+
children?: ReactNode;
|
|
290
|
+
}): React.FunctionComponentElement<{
|
|
291
|
+
children?: ReactNode | undefined;
|
|
292
|
+
}> | null;
|
|
293
|
+
declare function SignedOut({ children }: {
|
|
294
|
+
children?: ReactNode;
|
|
295
|
+
}): React.FunctionComponentElement<{
|
|
296
|
+
children?: ReactNode | undefined;
|
|
297
|
+
}> | null;
|
|
298
|
+
/**
|
|
299
|
+
* Renders its children only while the SDK is still bootstrapping (i.e.
|
|
300
|
+
* `useAuth().isLoaded === false`). Mirrors Clerk's `<ClerkLoading/>`.
|
|
301
|
+
*
|
|
302
|
+
* Recommended pattern (slow-network-safe):
|
|
303
|
+
* ```tsx
|
|
304
|
+
* <IQAuthProvider publishableKey={…}>
|
|
305
|
+
* <IQAuthLoading><Spinner /></IQAuthLoading>
|
|
306
|
+
* <IQAuthLoaded>
|
|
307
|
+
* <SignedIn><App /></SignedIn>
|
|
308
|
+
* <SignedOut><SignIn /></SignedOut>
|
|
309
|
+
* </IQAuthLoaded>
|
|
310
|
+
* </IQAuthProvider>
|
|
311
|
+
* ```
|
|
312
|
+
*/
|
|
313
|
+
declare function IQAuthLoading({ children }: {
|
|
314
|
+
children?: ReactNode;
|
|
315
|
+
}): React.FunctionComponentElement<{
|
|
316
|
+
children?: ReactNode | undefined;
|
|
317
|
+
}> | null;
|
|
318
|
+
/**
|
|
319
|
+
* Renders its children only after the SDK has finished bootstrapping (i.e.
|
|
320
|
+
* `useAuth().isLoaded === true`). Mirrors Clerk's `<ClerkLoaded/>`. Wrap
|
|
321
|
+
* `<SignedIn/>` / `<SignedOut/>` in this to avoid a flash of blank UI on
|
|
322
|
+
* slow connections — see `<IQAuthLoading/>` above for the recommended
|
|
323
|
+
* full pattern.
|
|
324
|
+
*/
|
|
325
|
+
declare function IQAuthLoaded({ children }: {
|
|
326
|
+
children?: ReactNode;
|
|
327
|
+
}): React.FunctionComponentElement<{
|
|
328
|
+
children?: ReactNode | undefined;
|
|
329
|
+
}> | null;
|
|
330
|
+
interface RedirectToSignInProps extends SignInOptions {
|
|
331
|
+
}
|
|
332
|
+
declare function RedirectToSignIn(props?: RedirectToSignInProps): React.DetailedReactHTMLElement<{
|
|
333
|
+
role: "alert";
|
|
334
|
+
style: {
|
|
335
|
+
maxWidth: number;
|
|
336
|
+
margin: string;
|
|
337
|
+
padding: number;
|
|
338
|
+
border: string;
|
|
339
|
+
background: string;
|
|
340
|
+
borderRadius: number;
|
|
341
|
+
fontFamily: "system-ui, sans-serif";
|
|
342
|
+
fontSize: number;
|
|
343
|
+
color: "#7a1f1f";
|
|
344
|
+
};
|
|
345
|
+
}, HTMLElement> | null;
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* F2 — Render-children-only-if-authorized gate. Composes role/permission
|
|
349
|
+
* checks against the current session's claims. Multiple constraints AND
|
|
350
|
+
* together; arrays within a single constraint OR.
|
|
351
|
+
*
|
|
352
|
+
* Lookup order for roles: `claims.roles[]`, `claims.role` (string scalar).
|
|
353
|
+
* For permissions: `claims.permissions[]`, `claims.entitlements[]`,
|
|
354
|
+
* `claims.scope` (space-delimited).
|
|
355
|
+
*
|
|
356
|
+
* Renders `fallback` (default `null`) when the constraint is not satisfied.
|
|
357
|
+
*/
|
|
358
|
+
interface ProtectProps {
|
|
359
|
+
/** Required role. Pass an array to mean "any of". */
|
|
360
|
+
role?: string | string[];
|
|
361
|
+
/** Required permission/entitlement. Pass an array to mean "any of". */
|
|
362
|
+
permission?: string | string[];
|
|
363
|
+
/**
|
|
364
|
+
* Task #194 — Required scope. Matches when the active session's
|
|
365
|
+
* `scopeContext` claim equals the supplied `{type, id}`. Pass an array
|
|
366
|
+
* to mean "any of". A tenant-wide session (no `scopeContext`) does NOT
|
|
367
|
+
* satisfy a scope constraint — wrap such code in a separate `<Protect role>`
|
|
368
|
+
* gate if you also want to admit tenant-wide admins.
|
|
369
|
+
*/
|
|
370
|
+
scope?: ScopeRequirement | ScopeRequirement[];
|
|
371
|
+
/** Custom predicate run against `claims`. Truthy result = allowed. */
|
|
372
|
+
condition?: (claims: JwtClaims | null) => boolean;
|
|
373
|
+
/** Rendered when the user is not authorized. Defaults to `null`. */
|
|
374
|
+
fallback?: ReactNode;
|
|
375
|
+
children?: ReactNode;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Task #197 — Server-authoritative scope pivot, factored out of the
|
|
379
|
+
* `useMemberships()` hook so it can be unit-tested without rendering React.
|
|
380
|
+
*
|
|
381
|
+
* Behavior:
|
|
382
|
+
* 1. POST `/api/v1/auth/switch-scope` through `manager.fetch()` (which
|
|
383
|
+
* attaches the Bearer token + retries once on 401).
|
|
384
|
+
* 2. On a non-2xx response, throw with the server-provided error message
|
|
385
|
+
* so callers can surface it via toast / banner.
|
|
386
|
+
* 3. On success, adopt the access token the server returned in the JSON
|
|
387
|
+
* body via `manager.adoptAccessToken()`. This is the key behavior:
|
|
388
|
+
* the new claims (with the pivoted `scopeContext`) take effect in
|
|
389
|
+
* memory immediately, without a second `/refresh` round-trip that
|
|
390
|
+
* could fail and strand the user on a stale token despite the
|
|
391
|
+
* server-side pivot having already succeeded.
|
|
392
|
+
* 4. Fire-and-forget a `manager.refresh()` so the refresh-cookie session
|
|
393
|
+
* stays aligned with the new scope across tabs / future bootstraps.
|
|
394
|
+
* We deliberately do NOT await or throw on its failure — the pivot
|
|
395
|
+
* already succeeded server-side AND in memory.
|
|
396
|
+
* 5. Defensive fallback: if the response body omits `accessToken` (older
|
|
397
|
+
* server that didn't ship Task #197 yet), fall through to the legacy
|
|
398
|
+
* "drive a refresh and throw on failure" path.
|
|
399
|
+
*/
|
|
400
|
+
declare function performScopeSwitch(manager: SessionManager, base: string, target: ScopeRequirement): Promise<void>;
|
|
401
|
+
/**
|
|
402
|
+
* Task #199 — Server-authoritative tenant pivot, mirror of
|
|
403
|
+
* `performScopeSwitch`. Modeled to survive a failing refresh leg the
|
|
404
|
+
* same way: the success response from `POST /api/v1/auth/select-tenant`
|
|
405
|
+
* carries the freshly-minted access token, we `adoptAccessToken()` it
|
|
406
|
+
* immediately, and only then fire a fire-and-forget `manager.refresh()`
|
|
407
|
+
* so the refresh-cookie session stays aligned across tabs / future
|
|
408
|
+
* bootstraps.
|
|
409
|
+
*
|
|
410
|
+
* The endpoint accepts the authenticated tenant-pivot shape (no
|
|
411
|
+
* `tenantSelectionToken`) when the request carries a valid access
|
|
412
|
+
* token — `manager.fetch()` attaches it for us.
|
|
413
|
+
*
|
|
414
|
+
* Returns a discriminated union:
|
|
415
|
+
* - `{ kind: "ok", tenantId }` — pivot completed
|
|
416
|
+
* - `{ kind: "mfa_required", tenantId, mfaChallengeToken, availableMethods }`
|
|
417
|
+
* - `{ kind: "scope_selection_required", tenantId, scopeSelectionToken, scopes }`
|
|
418
|
+
*
|
|
419
|
+
* Throws on non-2xx and on the legacy-server refresh fallback failing.
|
|
420
|
+
* The MFA and scope-selection branches were previously thrown with a
|
|
421
|
+
* magic-string `Error("mfa_required: …")` / `Error("scope_selection_required: …")`;
|
|
422
|
+
* Task #205 moves them to typed results so `<OrganizationSwitcher/>`
|
|
423
|
+
* and `<OrganizationList/>` can render localized prompts that route
|
|
424
|
+
* the user to the hosted sign-in to complete the missing step.
|
|
425
|
+
*/
|
|
426
|
+
type TenantSwitchResult = {
|
|
427
|
+
kind: "ok";
|
|
428
|
+
tenantId: string;
|
|
429
|
+
} | {
|
|
430
|
+
kind: "mfa_required";
|
|
431
|
+
tenantId: string;
|
|
432
|
+
mfaChallengeToken: string;
|
|
433
|
+
availableMethods: string[];
|
|
434
|
+
} | {
|
|
435
|
+
kind: "scope_selection_required";
|
|
436
|
+
tenantId: string;
|
|
437
|
+
scopeSelectionToken: string;
|
|
438
|
+
scopes: Array<Record<string, unknown>>;
|
|
439
|
+
};
|
|
440
|
+
declare function performTenantSwitch(manager: SessionManager, base: string, tenantId: string): Promise<TenantSwitchResult>;
|
|
441
|
+
/** Task #194 — Shape passed to `<Protect scope>` and `useMemberships().switchScope`. */
|
|
442
|
+
interface ScopeRequirement {
|
|
443
|
+
type: "vendor" | "source" | "client";
|
|
444
|
+
id: string;
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Task #194 — Pure helper that returns `true` when the supplied claims
|
|
448
|
+
* carry a `scopeContext` matching ANY of the supplied requirements.
|
|
449
|
+
* Exported so framework adapters AND tests can verify the matching rule
|
|
450
|
+
* without rendering React.
|
|
451
|
+
*
|
|
452
|
+
* Matching rule:
|
|
453
|
+
* - `claims.scopeContext.type === required.type`
|
|
454
|
+
* - `claims.scopeContext.id === required.id`
|
|
455
|
+
*
|
|
456
|
+
* A claims object with no `scopeContext` never matches a scope requirement
|
|
457
|
+
* — tenant-wide admins must be gated separately via `<Protect role>` if you
|
|
458
|
+
* want them to also see scope-gated UI.
|
|
459
|
+
*/
|
|
460
|
+
declare function claimSatisfiesScope(claims: JwtClaims | null, required: ScopeRequirement | ScopeRequirement[]): boolean;
|
|
461
|
+
declare function Protect({ role, permission, scope, condition, fallback, children }: ProtectProps): React.FunctionComponentElement<{
|
|
462
|
+
children?: ReactNode | undefined;
|
|
463
|
+
}>;
|
|
464
|
+
/**
|
|
465
|
+
* F12 — Symmetric to `<RedirectToSignIn/>`: when the user IS signed in,
|
|
466
|
+
* navigate to `to` (default `/`). Useful on `/sign-in` pages so already-
|
|
467
|
+
* authenticated visitors don't see the form.
|
|
468
|
+
*/
|
|
469
|
+
interface RedirectToSignedInProps {
|
|
470
|
+
/** Destination path/URL. Default: `/`. */
|
|
471
|
+
to?: string;
|
|
472
|
+
/** Use `replace` instead of `assign` (default true — no extra history entry). */
|
|
473
|
+
replace?: boolean;
|
|
474
|
+
}
|
|
475
|
+
declare function RedirectToSignedIn({ to, replace }?: RedirectToSignedInProps): null;
|
|
476
|
+
/**
|
|
477
|
+
* F4 — Reads a return-to URL from `?return_to=` (or `?next=`) query param,
|
|
478
|
+
* falling back to a sessionStorage key. Sanitizes against the provider's
|
|
479
|
+
* `allowedReturnOrigins`. Persists the sanitized value back into
|
|
480
|
+
* sessionStorage so it survives the OAuth round-trip.
|
|
481
|
+
*/
|
|
482
|
+
interface UseReturnToOptions {
|
|
483
|
+
/** Query parameter name. Default `"return_to"`; tries `"next"` as a secondary. */
|
|
484
|
+
paramName?: string;
|
|
485
|
+
/** sessionStorage key. Default `"iqauth_return_to"`. */
|
|
486
|
+
storageKey?: string;
|
|
487
|
+
/** Where to fall back to. Default `"/"`. */
|
|
488
|
+
fallback?: string;
|
|
489
|
+
}
|
|
490
|
+
declare function useReturnTo(options?: UseReturnToOptions): string;
|
|
491
|
+
/**
|
|
492
|
+
* F4 — Drop-in route component: when the user is authenticated, navigates
|
|
493
|
+
* to the sanitized `return_to`; otherwise renders `children` (typically a
|
|
494
|
+
* `<SignIn/>`). Use this on your sign-in page to make `?return_to=…`
|
|
495
|
+
* actually do something safely.
|
|
496
|
+
*/
|
|
497
|
+
interface IQAuthReturnToBouncerProps extends UseReturnToOptions {
|
|
498
|
+
children?: ReactNode;
|
|
499
|
+
}
|
|
500
|
+
declare function IQAuthReturnToBouncer({ children, ...opts }: IQAuthReturnToBouncerProps): React.FunctionComponentElement<{
|
|
501
|
+
children?: ReactNode | undefined;
|
|
502
|
+
}> | null;
|
|
503
|
+
/**
|
|
504
|
+
* F16 — Programmatic preflight: hits the public sign-in-context for the app
|
|
505
|
+
* and returns whether the supplied `returnTo` is in its allowlist. Useful
|
|
506
|
+
* for build-time checks or one-off probes. Resolves with a structured
|
|
507
|
+
* result instead of throwing.
|
|
508
|
+
*/
|
|
509
|
+
declare function preflightReturnTo(args: {
|
|
510
|
+
iqAuthBaseUrl: string;
|
|
511
|
+
appKey: string;
|
|
512
|
+
returnTo: string;
|
|
513
|
+
fetchImpl?: typeof fetch;
|
|
514
|
+
}): Promise<{
|
|
515
|
+
ok: boolean;
|
|
516
|
+
allowedOrigins: string[];
|
|
517
|
+
reason?: string;
|
|
518
|
+
}>;
|
|
519
|
+
/**
|
|
520
|
+
* Drop-in callback route. Mount at the path you registered as your
|
|
521
|
+
* `redirect_uri` (e.g. `/auth/callback`) and the SDK will exchange the code
|
|
522
|
+
* and navigate to the original `return_to`.
|
|
523
|
+
*/
|
|
524
|
+
interface AuthCallbackProps {
|
|
525
|
+
/** Override the default `window.location.replace` navigation. */
|
|
526
|
+
onComplete?: (result: CallbackResult) => void;
|
|
527
|
+
/** Render while the exchange is in flight. */
|
|
528
|
+
fallback?: ReactNode;
|
|
529
|
+
}
|
|
530
|
+
declare function AuthCallback({ onComplete, fallback }?: AuthCallbackProps): React.FunctionComponentElement<{
|
|
531
|
+
children?: ReactNode | undefined;
|
|
532
|
+
}>;
|
|
533
|
+
interface IQAuthBranding {
|
|
534
|
+
brandName: string | null;
|
|
535
|
+
logoUrl: string | null;
|
|
536
|
+
logoLightUrl?: string | null;
|
|
537
|
+
logoDarkUrl?: string | null;
|
|
538
|
+
faviconUrl?: string | null;
|
|
539
|
+
loginHeadline: string | null;
|
|
540
|
+
loginSubheadline: string | null;
|
|
541
|
+
primaryColor: string | null;
|
|
542
|
+
accentColor: string | null;
|
|
543
|
+
backgroundColor: string | null;
|
|
544
|
+
surfaceColor: string | null;
|
|
545
|
+
textColor: string | null;
|
|
546
|
+
heroImageUrl?: string | null;
|
|
547
|
+
/** Optional full-bleed background image for the `full_bleed` layout. */
|
|
548
|
+
backgroundImageUrl?: string | null;
|
|
549
|
+
tagline?: string | null;
|
|
550
|
+
loginSideCopy?: string | null;
|
|
551
|
+
googleButtonLabel?: string | null;
|
|
552
|
+
customCss?: string | null;
|
|
553
|
+
/** "centered_card" | "split_screen" | "full_bleed" */
|
|
554
|
+
loginLayout?: string | null;
|
|
555
|
+
/** "solid" | "outline" | "ghost" */
|
|
556
|
+
socialButtonStyle?: string | null;
|
|
557
|
+
fontFamilyBody?: string | null;
|
|
558
|
+
fontFamilyHeading?: string | null;
|
|
559
|
+
customFontUrl?: string | null;
|
|
560
|
+
borderRadius?: number | string | null;
|
|
561
|
+
footerText?: string | null;
|
|
562
|
+
emailHeaderImageUrl?: string | null;
|
|
563
|
+
emailSenderName?: string | null;
|
|
564
|
+
emailFooter?: string | null;
|
|
565
|
+
supportEmail?: string | null;
|
|
566
|
+
supportUrl?: string | null;
|
|
567
|
+
termsUrl?: string | null;
|
|
568
|
+
privacyUrl?: string | null;
|
|
569
|
+
/** Composite revision (`${tenantRev}.${appRev}`) for cache-busting. */
|
|
570
|
+
brandingRev?: string | null;
|
|
571
|
+
}
|
|
572
|
+
interface IQAuthSignInContext {
|
|
573
|
+
app: {
|
|
574
|
+
id: string;
|
|
575
|
+
key: string;
|
|
576
|
+
name: string;
|
|
577
|
+
tenantId: string | null;
|
|
578
|
+
mode: string;
|
|
579
|
+
defaultClientId: string | null;
|
|
580
|
+
};
|
|
581
|
+
providers?: {
|
|
582
|
+
google?: boolean;
|
|
583
|
+
};
|
|
584
|
+
allowedOrigins: string[];
|
|
585
|
+
returnAllowed: boolean;
|
|
586
|
+
branding: IQAuthBranding | null;
|
|
587
|
+
brandingRev?: string | null;
|
|
588
|
+
session?: {
|
|
589
|
+
userId: string;
|
|
590
|
+
email: string;
|
|
591
|
+
name: string;
|
|
592
|
+
authenticatedAt: number;
|
|
593
|
+
} | null;
|
|
594
|
+
}
|
|
595
|
+
interface SharedComponentProps {
|
|
596
|
+
/** Base URL of the IQAuth service (e.g. https://auth.dispositioniq.com). */
|
|
597
|
+
iqAuthBaseUrl: string;
|
|
598
|
+
/** App key registered via Phase A's POST /api/v1/apps. */
|
|
599
|
+
appKey: string;
|
|
600
|
+
/** Optional className for the outer wrapper. */
|
|
601
|
+
className?: string;
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* Hook that loads the public sign-in context for an app (branding + allowed origins).
|
|
605
|
+
*/
|
|
606
|
+
declare function useIQAuthSignInContext(iqAuthBaseUrl: string, appKey: string, returnTo: string): {
|
|
607
|
+
ctx: IQAuthSignInContext | null;
|
|
608
|
+
loading: boolean;
|
|
609
|
+
error: string | null;
|
|
610
|
+
};
|
|
611
|
+
declare function sanitizeBrandCss(input: string | null | undefined): string;
|
|
612
|
+
/**
|
|
613
|
+
* Fetches the layered tenant/app branding for use by chrome-only SDK
|
|
614
|
+
* components (`<UserButton/>`, `<UserProfile/>`, `<OrganizationSwitcher/>`)
|
|
615
|
+
* that don't go through `<SignIn/>`'s sign-in-context.
|
|
616
|
+
*
|
|
617
|
+
* Cached at module scope for 60s, keyed by URL. The cache is also
|
|
618
|
+
* brandingRev-aware: a newer rev for the same URL replaces older entries
|
|
619
|
+
* even within the TTL window. Returns `null` until first resolution; callers
|
|
620
|
+
* should treat that as "use neutral defaults".
|
|
621
|
+
*
|
|
622
|
+
* Reads `appId` from the IQAuthProvider's session manager (parsed from the
|
|
623
|
+
* publishable key) so per-app branding overrides are layered. Callers may
|
|
624
|
+
* override with the explicit `appId` parameter.
|
|
625
|
+
*/
|
|
626
|
+
declare function useResolvedSdkBranding(iqAuthBaseUrl: string, appId?: string | null): IQAuthBranding | null;
|
|
627
|
+
interface SignInProps extends Partial<SharedComponentProps> {
|
|
628
|
+
/**
|
|
629
|
+
* F10 — Optional. Defaults to the IQAuth issuer derived from the
|
|
630
|
+
* surrounding `<IQAuthProvider/>`'s publishable key.
|
|
631
|
+
*/
|
|
632
|
+
iqAuthBaseUrl?: string;
|
|
633
|
+
/**
|
|
634
|
+
* F10 — Optional. Defaults to the appKey derived from the surrounding
|
|
635
|
+
* `<IQAuthProvider/>`'s publishable key.
|
|
636
|
+
*/
|
|
637
|
+
appKey?: string;
|
|
638
|
+
/**
|
|
639
|
+
* F10 — Optional. Defaults to `${origin}/api/iqauth/callback` (the path
|
|
640
|
+
* mounted by the framework adapters). Must be in the app's allowed
|
|
641
|
+
* origins.
|
|
642
|
+
*
|
|
643
|
+
* NOTE: this is the OIDC `redirect_uri` — i.e. WHERE the authorization
|
|
644
|
+
* code is delivered (the adapter's callback handler), NOT the page the
|
|
645
|
+
* user finally lands on. To control the post-login landing page use
|
|
646
|
+
* {@link afterSignInUrl}.
|
|
647
|
+
*/
|
|
648
|
+
returnTo?: string;
|
|
649
|
+
/**
|
|
650
|
+
* Where the user should land AFTER login completes (distinct from
|
|
651
|
+
* {@link returnTo}, which is pinned to the adapter callback). The SDK
|
|
652
|
+
* persists this in the `iqauth_return_to` cookie before redirecting; the
|
|
653
|
+
* cookies-only framework adapters' `/api/iqauth/callback` reads it and
|
|
654
|
+
* 302s there once the code→cookie exchange finishes. When omitted, the
|
|
655
|
+
* SDK reads `?return_to=` / `?next=` from the current URL; if neither is
|
|
656
|
+
* present the adapter falls back to `/`. Sanitized against the provider's
|
|
657
|
+
* `allowedReturnOrigins` (same-origin + allow-list only).
|
|
658
|
+
*/
|
|
659
|
+
afterSignInUrl?: string;
|
|
660
|
+
/** Called after successful redirect. By default, `window.location.href = url`. */
|
|
661
|
+
onRedirect?: (url: string) => void;
|
|
662
|
+
/** Pass `"login"` to force the form to render even when an SSO session is active. */
|
|
663
|
+
prompt?: "login";
|
|
664
|
+
/** F11 — Per-instance appearance overrides; merged on top of provider-level appearance. */
|
|
665
|
+
appearance?: IQAuthAppearance;
|
|
666
|
+
/**
|
|
667
|
+
* 2.6.1 — Per-instance opt-in to silent SSO resume. Overrides the
|
|
668
|
+
* `<IQAuthProvider silentSso>` value when supplied. Default (when both are
|
|
669
|
+
* unset): `false` — the form always renders and the user must click to
|
|
670
|
+
* continue.
|
|
671
|
+
*/
|
|
672
|
+
silentSso?: boolean;
|
|
673
|
+
/**
|
|
674
|
+
* Task #171 — Optional deep-link scope hint forwarded to the hosted
|
|
675
|
+
* `/oidc/sso-login`, `/oidc/sso-tenant-select`, and
|
|
676
|
+
* `/oidc/sso-scope-select` endpoints. When the user has only source/client
|
|
677
|
+
* memberships in the resolved tenant AND this hint uniquely matches one
|
|
678
|
+
* active membership the backend skips the picker and mints a scoped
|
|
679
|
+
* session straight away. Accepted forms: `{ type: "vendor"|"source"|
|
|
680
|
+
* "client", id: string }` or the canonical string `"<type>:<id>"`.
|
|
681
|
+
* When omitted, the SDK also reads `?scope_hint=<type>:<id>` from
|
|
682
|
+
* `window.location.search` so apps using the standard hosted entry point
|
|
683
|
+
* inherit deep-link hints for free.
|
|
684
|
+
*/
|
|
685
|
+
scopeHint?: {
|
|
686
|
+
type: "vendor" | "source" | "client";
|
|
687
|
+
id: string;
|
|
688
|
+
} | string;
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Pure render-decision helper. When this returns `true`, `<SignIn/>` MUST
|
|
692
|
+
* render the silent SSO placeholder instead of the email/password form,
|
|
693
|
+
* even on the very first render before `useEffect` fires. Exported so that
|
|
694
|
+
* smoke tests can verify the no-flash guarantee without standing up a DOM.
|
|
695
|
+
*/
|
|
696
|
+
declare function isSilentSsoEligible(ctx: {
|
|
697
|
+
session?: unknown;
|
|
698
|
+
app: {
|
|
699
|
+
defaultClientId: string | null;
|
|
700
|
+
};
|
|
701
|
+
returnAllowed: boolean;
|
|
702
|
+
} | null | undefined, effectivePrompt: "login" | undefined): boolean;
|
|
703
|
+
/**
|
|
704
|
+
* Pure resolver for `<SignIn/>`'s post-login landing page. Precedence:
|
|
705
|
+
* explicit `prop` → `?return_to=` → `?next=` → `/`. The result is passed
|
|
706
|
+
* through {@link sanitizeReturnTo} so only same-origin or allow-listed
|
|
707
|
+
* destinations survive (open-redirect safe). Exported so the resolution
|
|
708
|
+
* order can be unit-tested without a DOM.
|
|
709
|
+
*/
|
|
710
|
+
declare function resolveAfterSignInDestination(args: {
|
|
711
|
+
prop?: string | null;
|
|
712
|
+
search?: string;
|
|
713
|
+
allowedOrigins?: string[];
|
|
714
|
+
currentOrigin?: string;
|
|
715
|
+
}): string;
|
|
716
|
+
declare function SignIn(props: SignInProps): react_jsx_runtime.JSX.Element;
|
|
717
|
+
interface SignUpProps extends SharedComponentProps {
|
|
718
|
+
returnTo?: string;
|
|
719
|
+
onSuccess?: () => void;
|
|
720
|
+
}
|
|
721
|
+
declare function SignUp({ iqAuthBaseUrl, appKey, returnTo, onSuccess, className }: SignUpProps): react_jsx_runtime.JSX.Element;
|
|
722
|
+
interface UserSummary {
|
|
723
|
+
sub: string;
|
|
724
|
+
email: string;
|
|
725
|
+
name: string;
|
|
726
|
+
picture?: string | null;
|
|
727
|
+
}
|
|
728
|
+
interface UserButtonProps {
|
|
729
|
+
iqAuthBaseUrl: string;
|
|
730
|
+
/** Where to send the user when they click "Account". Defaults to `${iqAuthBaseUrl}/account`. */
|
|
731
|
+
accountUrl?: string;
|
|
732
|
+
/** Called after sign-out. Defaults to navigating to /sign-in if a returnTo+appKey are provided, else `window.location.reload()`. */
|
|
733
|
+
onSignOut?: () => void;
|
|
734
|
+
className?: string;
|
|
735
|
+
}
|
|
736
|
+
declare function UserButton({ iqAuthBaseUrl, accountUrl, onSignOut, className }: UserButtonProps): react_jsx_runtime.JSX.Element | null;
|
|
737
|
+
interface UserProfileProps {
|
|
738
|
+
iqAuthBaseUrl: string;
|
|
739
|
+
className?: string;
|
|
740
|
+
}
|
|
741
|
+
declare function UserProfile({ iqAuthBaseUrl, className }: UserProfileProps): react_jsx_runtime.JSX.Element;
|
|
742
|
+
interface OrganizationSwitcherProps {
|
|
743
|
+
iqAuthBaseUrl: string;
|
|
744
|
+
onSwitched?: (tenantId: string) => void;
|
|
745
|
+
appearance?: IQAuthAppearance;
|
|
746
|
+
className?: string;
|
|
747
|
+
}
|
|
748
|
+
declare function OrganizationSwitcher({ iqAuthBaseUrl, onSwitched, appearance: _appearance, className }: OrganizationSwitcherProps): react_jsx_runtime.JSX.Element;
|
|
749
|
+
/** Task #194 — One scoped membership entry (source/client/vendor). */
|
|
750
|
+
interface ScopedMembership {
|
|
751
|
+
membershipId: string;
|
|
752
|
+
scopeType: "vendor" | "source" | "client";
|
|
753
|
+
scopeId: string;
|
|
754
|
+
scopeName: string;
|
|
755
|
+
role: string;
|
|
756
|
+
/** Surfaces inherited grants (e.g. a vendor-wide grant that implicitly covers a source). */
|
|
757
|
+
grantedVia?: "direct" | "vendor" | "source" | string;
|
|
758
|
+
}
|
|
759
|
+
interface UseMembershipsResult {
|
|
760
|
+
isLoading: boolean;
|
|
761
|
+
error: string | null;
|
|
762
|
+
/** Flattened source/client/vendor memberships in the active tenant. */
|
|
763
|
+
memberships: ScopedMembership[];
|
|
764
|
+
/** The scope the active access token is currently minted under (or `null` for tenant-wide). */
|
|
765
|
+
active: {
|
|
766
|
+
type: "vendor" | "source" | "client";
|
|
767
|
+
id: string;
|
|
768
|
+
role: string;
|
|
769
|
+
membershipId: string;
|
|
770
|
+
} | null;
|
|
771
|
+
/** Re-fetch the membership list (e.g. after an admin grants new access). */
|
|
772
|
+
refresh: () => Promise<void>;
|
|
773
|
+
/**
|
|
774
|
+
* Switch the active scope. Calls `POST /api/v1/auth/switch-scope` then
|
|
775
|
+
* `manager.refresh()` so the next access token carries the new
|
|
776
|
+
* `scopeContext`. Throws on HTTP errors so callers can surface a toast.
|
|
777
|
+
*/
|
|
778
|
+
switchScope: (target: ScopeRequirement) => Promise<void>;
|
|
779
|
+
}
|
|
780
|
+
/**
|
|
781
|
+
* Task #194 — First-class scoped-memberships hook. Modelled after Clerk's
|
|
782
|
+
* `useOrganizationList()` but for IQAuth's source/client/vendor scopes.
|
|
783
|
+
*
|
|
784
|
+
* - `memberships`: flat list across vendors + sources + clients in the
|
|
785
|
+
* currently bound tenant. Fetched once on mount via
|
|
786
|
+
* `GET /api/v1/auth/available-scopes`.
|
|
787
|
+
* - `active`: derived synchronously from `snapshot.user.scopeContext`,
|
|
788
|
+
* so it stays in sync with refreshes triggered elsewhere (tab focus,
|
|
789
|
+
* cross-tab broadcast).
|
|
790
|
+
* - `switchScope({type, id})`: server-authoritative scope pivot.
|
|
791
|
+
* Returns after `manager.refresh()` resolves so consumers can `await`
|
|
792
|
+
* it and assume the new claim is live on the next render.
|
|
793
|
+
*/
|
|
794
|
+
declare function useMemberships(): UseMembershipsResult;
|
|
795
|
+
interface ScopeSwitcherProps {
|
|
796
|
+
/** Optional callback fired after a successful switch + refresh. */
|
|
797
|
+
onSwitched?: (target: ScopeRequirement) => void;
|
|
798
|
+
/** Filter the rendered list. Defaults to all three scope types. */
|
|
799
|
+
include?: Array<"vendor" | "source" | "client">;
|
|
800
|
+
className?: string;
|
|
801
|
+
}
|
|
802
|
+
/**
|
|
803
|
+
* Task #194 — Headless-ish scope picker. Renders the current `active`
|
|
804
|
+
* scope as a button; expanding it lists every membership returned by
|
|
805
|
+
* `useMemberships()`. Picking one calls `switchScope()` and (on success)
|
|
806
|
+
* triggers `onSwitched`. Uses inline styles for the same reason
|
|
807
|
+
* `<OrganizationSwitcher/>` does: SDK chrome must work in any host app
|
|
808
|
+
* without requiring a specific CSS framework. Host apps can build their
|
|
809
|
+
* own UI on top of `useMemberships()` directly when they need full
|
|
810
|
+
* control.
|
|
811
|
+
*/
|
|
812
|
+
declare function ScopeSwitcher({ onSwitched, include, className }: ScopeSwitcherProps): React.DetailedReactHTMLElement<{
|
|
813
|
+
className: string | undefined;
|
|
814
|
+
"data-testid": string;
|
|
815
|
+
style: {
|
|
816
|
+
fontSize: number;
|
|
817
|
+
opacity: number;
|
|
818
|
+
};
|
|
819
|
+
}, HTMLElement> | React.DetailedReactHTMLElement<{
|
|
820
|
+
className: string | undefined;
|
|
821
|
+
"data-testid": string;
|
|
822
|
+
style: {
|
|
823
|
+
fontSize: number;
|
|
824
|
+
color: "#b91c1c";
|
|
825
|
+
};
|
|
826
|
+
}, HTMLElement> | React.DetailedReactHTMLElement<{
|
|
827
|
+
className: string | undefined;
|
|
828
|
+
"data-testid": string;
|
|
829
|
+
style: {
|
|
830
|
+
position: "relative";
|
|
831
|
+
display: "inline-block";
|
|
832
|
+
};
|
|
833
|
+
}, HTMLElement> | null;
|
|
834
|
+
interface ImpersonationInfo {
|
|
835
|
+
isImpersonating: boolean;
|
|
836
|
+
/** The admin who started the impersonation (from JWT `act` claim). */
|
|
837
|
+
actor: {
|
|
838
|
+
sub: string;
|
|
839
|
+
email?: string;
|
|
840
|
+
name?: string;
|
|
841
|
+
} | null;
|
|
842
|
+
/** The user being acted-as (snapshot.user). */
|
|
843
|
+
target: SessionUser | null;
|
|
844
|
+
}
|
|
845
|
+
/**
|
|
846
|
+
* Returns impersonation context derived from the active access token's
|
|
847
|
+
* `purpose` and `act` claims (Task #90 / RFC 8693 §4.1).
|
|
848
|
+
*/
|
|
849
|
+
declare function useImpersonation(): ImpersonationInfo;
|
|
850
|
+
interface ImpersonationBannerProps {
|
|
851
|
+
/** Custom render override; defaults to a sticky red banner. */
|
|
852
|
+
render?: (info: ImpersonationInfo & {
|
|
853
|
+
exit: () => void;
|
|
854
|
+
}) => ReactNode;
|
|
855
|
+
/** Called when the user clicks "Exit". Defaults to `signOut`. */
|
|
856
|
+
onExit?: () => void | Promise<void>;
|
|
857
|
+
className?: string;
|
|
858
|
+
style?: React.CSSProperties;
|
|
859
|
+
}
|
|
860
|
+
/**
|
|
861
|
+
* Persistent top-of-page banner shown whenever the active session is an
|
|
862
|
+
* impersonated session. Renders nothing for normal sessions. — Task #90.
|
|
863
|
+
*/
|
|
864
|
+
declare function ImpersonationBanner({ render, onExit, className, style }?: ImpersonationBannerProps): React.FunctionComponentElement<{
|
|
865
|
+
children?: ReactNode | undefined;
|
|
866
|
+
}> | React.DetailedReactHTMLElement<{
|
|
867
|
+
role: "alert";
|
|
868
|
+
className: string | undefined;
|
|
869
|
+
style: {
|
|
870
|
+
accentColor?: csstype.Property.AccentColor | undefined;
|
|
871
|
+
alignContent?: csstype.Property.AlignContent | undefined;
|
|
872
|
+
alignItems: csstype.Property.AlignItems;
|
|
873
|
+
alignSelf?: csstype.Property.AlignSelf | undefined;
|
|
874
|
+
alignTracks?: csstype.Property.AlignTracks | undefined;
|
|
875
|
+
animationComposition?: csstype.Property.AnimationComposition | undefined;
|
|
876
|
+
animationDelay?: csstype.Property.AnimationDelay<string & {}> | undefined;
|
|
877
|
+
animationDirection?: csstype.Property.AnimationDirection | undefined;
|
|
878
|
+
animationDuration?: csstype.Property.AnimationDuration<string & {}> | undefined;
|
|
879
|
+
animationFillMode?: csstype.Property.AnimationFillMode | undefined;
|
|
880
|
+
animationIterationCount?: csstype.Property.AnimationIterationCount | undefined;
|
|
881
|
+
animationName?: csstype.Property.AnimationName | undefined;
|
|
882
|
+
animationPlayState?: csstype.Property.AnimationPlayState | undefined;
|
|
883
|
+
animationRangeEnd?: csstype.Property.AnimationRangeEnd<string | number> | undefined;
|
|
884
|
+
animationRangeStart?: csstype.Property.AnimationRangeStart<string | number> | undefined;
|
|
885
|
+
animationTimeline?: csstype.Property.AnimationTimeline | undefined;
|
|
886
|
+
animationTimingFunction?: csstype.Property.AnimationTimingFunction | undefined;
|
|
887
|
+
appearance?: csstype.Property.Appearance | undefined;
|
|
888
|
+
aspectRatio?: csstype.Property.AspectRatio | undefined;
|
|
889
|
+
backdropFilter?: csstype.Property.BackdropFilter | undefined;
|
|
890
|
+
backfaceVisibility?: csstype.Property.BackfaceVisibility | undefined;
|
|
891
|
+
backgroundAttachment?: csstype.Property.BackgroundAttachment | undefined;
|
|
892
|
+
backgroundBlendMode?: csstype.Property.BackgroundBlendMode | undefined;
|
|
893
|
+
backgroundClip?: csstype.Property.BackgroundClip | undefined;
|
|
894
|
+
backgroundColor?: csstype.Property.BackgroundColor | undefined;
|
|
895
|
+
backgroundImage?: csstype.Property.BackgroundImage | undefined;
|
|
896
|
+
backgroundOrigin?: csstype.Property.BackgroundOrigin | undefined;
|
|
897
|
+
backgroundPositionX?: csstype.Property.BackgroundPositionX<string | number> | undefined;
|
|
898
|
+
backgroundPositionY?: csstype.Property.BackgroundPositionY<string | number> | undefined;
|
|
899
|
+
backgroundRepeat?: csstype.Property.BackgroundRepeat | undefined;
|
|
900
|
+
backgroundSize?: csstype.Property.BackgroundSize<string | number> | undefined;
|
|
901
|
+
blockOverflow?: csstype.Property.BlockOverflow | undefined;
|
|
902
|
+
blockSize?: csstype.Property.BlockSize<string | number> | undefined;
|
|
903
|
+
borderBlockColor?: csstype.Property.BorderBlockColor | undefined;
|
|
904
|
+
borderBlockEndColor?: csstype.Property.BorderBlockEndColor | undefined;
|
|
905
|
+
borderBlockEndStyle?: csstype.Property.BorderBlockEndStyle | undefined;
|
|
906
|
+
borderBlockEndWidth?: csstype.Property.BorderBlockEndWidth<string | number> | undefined;
|
|
907
|
+
borderBlockStartColor?: csstype.Property.BorderBlockStartColor | undefined;
|
|
908
|
+
borderBlockStartStyle?: csstype.Property.BorderBlockStartStyle | undefined;
|
|
909
|
+
borderBlockStartWidth?: csstype.Property.BorderBlockStartWidth<string | number> | undefined;
|
|
910
|
+
borderBlockStyle?: csstype.Property.BorderBlockStyle | undefined;
|
|
911
|
+
borderBlockWidth?: csstype.Property.BorderBlockWidth<string | number> | undefined;
|
|
912
|
+
borderBottomColor?: csstype.Property.BorderBottomColor | undefined;
|
|
913
|
+
borderBottomLeftRadius?: csstype.Property.BorderBottomLeftRadius<string | number> | undefined;
|
|
914
|
+
borderBottomRightRadius?: csstype.Property.BorderBottomRightRadius<string | number> | undefined;
|
|
915
|
+
borderBottomStyle?: csstype.Property.BorderBottomStyle | undefined;
|
|
916
|
+
borderBottomWidth?: csstype.Property.BorderBottomWidth<string | number> | undefined;
|
|
917
|
+
borderCollapse?: csstype.Property.BorderCollapse | undefined;
|
|
918
|
+
borderEndEndRadius?: csstype.Property.BorderEndEndRadius<string | number> | undefined;
|
|
919
|
+
borderEndStartRadius?: csstype.Property.BorderEndStartRadius<string | number> | undefined;
|
|
920
|
+
borderImageOutset?: csstype.Property.BorderImageOutset<string | number> | undefined;
|
|
921
|
+
borderImageRepeat?: csstype.Property.BorderImageRepeat | undefined;
|
|
922
|
+
borderImageSlice?: csstype.Property.BorderImageSlice | undefined;
|
|
923
|
+
borderImageSource?: csstype.Property.BorderImageSource | undefined;
|
|
924
|
+
borderImageWidth?: csstype.Property.BorderImageWidth<string | number> | undefined;
|
|
925
|
+
borderInlineColor?: csstype.Property.BorderInlineColor | undefined;
|
|
926
|
+
borderInlineEndColor?: csstype.Property.BorderInlineEndColor | undefined;
|
|
927
|
+
borderInlineEndStyle?: csstype.Property.BorderInlineEndStyle | undefined;
|
|
928
|
+
borderInlineEndWidth?: csstype.Property.BorderInlineEndWidth<string | number> | undefined;
|
|
929
|
+
borderInlineStartColor?: csstype.Property.BorderInlineStartColor | undefined;
|
|
930
|
+
borderInlineStartStyle?: csstype.Property.BorderInlineStartStyle | undefined;
|
|
931
|
+
borderInlineStartWidth?: csstype.Property.BorderInlineStartWidth<string | number> | undefined;
|
|
932
|
+
borderInlineStyle?: csstype.Property.BorderInlineStyle | undefined;
|
|
933
|
+
borderInlineWidth?: csstype.Property.BorderInlineWidth<string | number> | undefined;
|
|
934
|
+
borderLeftColor?: csstype.Property.BorderLeftColor | undefined;
|
|
935
|
+
borderLeftStyle?: csstype.Property.BorderLeftStyle | undefined;
|
|
936
|
+
borderLeftWidth?: csstype.Property.BorderLeftWidth<string | number> | undefined;
|
|
937
|
+
borderRightColor?: csstype.Property.BorderRightColor | undefined;
|
|
938
|
+
borderRightStyle?: csstype.Property.BorderRightStyle | undefined;
|
|
939
|
+
borderRightWidth?: csstype.Property.BorderRightWidth<string | number> | undefined;
|
|
940
|
+
borderSpacing?: csstype.Property.BorderSpacing<string | number> | undefined;
|
|
941
|
+
borderStartEndRadius?: csstype.Property.BorderStartEndRadius<string | number> | undefined;
|
|
942
|
+
borderStartStartRadius?: csstype.Property.BorderStartStartRadius<string | number> | undefined;
|
|
943
|
+
borderTopColor?: csstype.Property.BorderTopColor | undefined;
|
|
944
|
+
borderTopLeftRadius?: csstype.Property.BorderTopLeftRadius<string | number> | undefined;
|
|
945
|
+
borderTopRightRadius?: csstype.Property.BorderTopRightRadius<string | number> | undefined;
|
|
946
|
+
borderTopStyle?: csstype.Property.BorderTopStyle | undefined;
|
|
947
|
+
borderTopWidth?: csstype.Property.BorderTopWidth<string | number> | undefined;
|
|
948
|
+
bottom?: csstype.Property.Bottom<string | number> | undefined;
|
|
949
|
+
boxDecorationBreak?: csstype.Property.BoxDecorationBreak | undefined;
|
|
950
|
+
boxShadow?: csstype.Property.BoxShadow | undefined;
|
|
951
|
+
boxSizing?: csstype.Property.BoxSizing | undefined;
|
|
952
|
+
breakAfter?: csstype.Property.BreakAfter | undefined;
|
|
953
|
+
breakBefore?: csstype.Property.BreakBefore | undefined;
|
|
954
|
+
breakInside?: csstype.Property.BreakInside | undefined;
|
|
955
|
+
captionSide?: csstype.Property.CaptionSide | undefined;
|
|
956
|
+
caretColor?: csstype.Property.CaretColor | undefined;
|
|
957
|
+
caretShape?: csstype.Property.CaretShape | undefined;
|
|
958
|
+
clear?: csstype.Property.Clear | undefined;
|
|
959
|
+
clipPath?: csstype.Property.ClipPath | undefined;
|
|
960
|
+
color: csstype.Property.Color | "#fff";
|
|
961
|
+
colorAdjust?: csstype.Property.PrintColorAdjust | undefined;
|
|
962
|
+
colorScheme?: csstype.Property.ColorScheme | undefined;
|
|
963
|
+
columnCount?: csstype.Property.ColumnCount | undefined;
|
|
964
|
+
columnFill?: csstype.Property.ColumnFill | undefined;
|
|
965
|
+
columnGap?: csstype.Property.ColumnGap<string | number> | undefined;
|
|
966
|
+
columnRuleColor?: csstype.Property.ColumnRuleColor | undefined;
|
|
967
|
+
columnRuleStyle?: csstype.Property.ColumnRuleStyle | undefined;
|
|
968
|
+
columnRuleWidth?: csstype.Property.ColumnRuleWidth<string | number> | undefined;
|
|
969
|
+
columnSpan?: csstype.Property.ColumnSpan | undefined;
|
|
970
|
+
columnWidth?: csstype.Property.ColumnWidth<string | number> | undefined;
|
|
971
|
+
contain?: csstype.Property.Contain | undefined;
|
|
972
|
+
containIntrinsicBlockSize?: csstype.Property.ContainIntrinsicBlockSize<string | number> | undefined;
|
|
973
|
+
containIntrinsicHeight?: csstype.Property.ContainIntrinsicHeight<string | number> | undefined;
|
|
974
|
+
containIntrinsicInlineSize?: csstype.Property.ContainIntrinsicInlineSize<string | number> | undefined;
|
|
975
|
+
containIntrinsicWidth?: csstype.Property.ContainIntrinsicWidth<string | number> | undefined;
|
|
976
|
+
containerName?: csstype.Property.ContainerName | undefined;
|
|
977
|
+
containerType?: csstype.Property.ContainerType | undefined;
|
|
978
|
+
content?: csstype.Property.Content | undefined;
|
|
979
|
+
contentVisibility?: csstype.Property.ContentVisibility | undefined;
|
|
980
|
+
counterIncrement?: csstype.Property.CounterIncrement | undefined;
|
|
981
|
+
counterReset?: csstype.Property.CounterReset | undefined;
|
|
982
|
+
counterSet?: csstype.Property.CounterSet | undefined;
|
|
983
|
+
cursor?: csstype.Property.Cursor | undefined;
|
|
984
|
+
direction?: csstype.Property.Direction | undefined;
|
|
985
|
+
display: csstype.Property.Display;
|
|
986
|
+
emptyCells?: csstype.Property.EmptyCells | undefined;
|
|
987
|
+
filter?: csstype.Property.Filter | undefined;
|
|
988
|
+
flexBasis?: csstype.Property.FlexBasis<string | number> | undefined;
|
|
989
|
+
flexDirection?: csstype.Property.FlexDirection | undefined;
|
|
990
|
+
flexGrow?: csstype.Property.FlexGrow | undefined;
|
|
991
|
+
flexShrink?: csstype.Property.FlexShrink | undefined;
|
|
992
|
+
flexWrap?: csstype.Property.FlexWrap | undefined;
|
|
993
|
+
float?: csstype.Property.Float | undefined;
|
|
994
|
+
fontFamily: csstype.Property.FontFamily | "system-ui, sans-serif";
|
|
995
|
+
fontFeatureSettings?: csstype.Property.FontFeatureSettings | undefined;
|
|
996
|
+
fontKerning?: csstype.Property.FontKerning | undefined;
|
|
997
|
+
fontLanguageOverride?: csstype.Property.FontLanguageOverride | undefined;
|
|
998
|
+
fontOpticalSizing?: csstype.Property.FontOpticalSizing | undefined;
|
|
999
|
+
fontPalette?: csstype.Property.FontPalette | undefined;
|
|
1000
|
+
fontSize: csstype.Property.FontSize<string | number>;
|
|
1001
|
+
fontSizeAdjust?: csstype.Property.FontSizeAdjust | undefined;
|
|
1002
|
+
fontSmooth?: csstype.Property.FontSmooth<string | number> | undefined;
|
|
1003
|
+
fontStretch?: csstype.Property.FontStretch | undefined;
|
|
1004
|
+
fontStyle?: csstype.Property.FontStyle | undefined;
|
|
1005
|
+
fontSynthesis?: csstype.Property.FontSynthesis | undefined;
|
|
1006
|
+
fontSynthesisPosition?: csstype.Property.FontSynthesisPosition | undefined;
|
|
1007
|
+
fontSynthesisSmallCaps?: csstype.Property.FontSynthesisSmallCaps | undefined;
|
|
1008
|
+
fontSynthesisStyle?: csstype.Property.FontSynthesisStyle | undefined;
|
|
1009
|
+
fontSynthesisWeight?: csstype.Property.FontSynthesisWeight | undefined;
|
|
1010
|
+
fontVariant?: csstype.Property.FontVariant | undefined;
|
|
1011
|
+
fontVariantAlternates?: csstype.Property.FontVariantAlternates | undefined;
|
|
1012
|
+
fontVariantCaps?: csstype.Property.FontVariantCaps | undefined;
|
|
1013
|
+
fontVariantEastAsian?: csstype.Property.FontVariantEastAsian | undefined;
|
|
1014
|
+
fontVariantEmoji?: csstype.Property.FontVariantEmoji | undefined;
|
|
1015
|
+
fontVariantLigatures?: csstype.Property.FontVariantLigatures | undefined;
|
|
1016
|
+
fontVariantNumeric?: csstype.Property.FontVariantNumeric | undefined;
|
|
1017
|
+
fontVariantPosition?: csstype.Property.FontVariantPosition | undefined;
|
|
1018
|
+
fontVariationSettings?: csstype.Property.FontVariationSettings | undefined;
|
|
1019
|
+
fontWeight?: csstype.Property.FontWeight | undefined;
|
|
1020
|
+
forcedColorAdjust?: csstype.Property.ForcedColorAdjust | undefined;
|
|
1021
|
+
gridAutoColumns?: csstype.Property.GridAutoColumns<string | number> | undefined;
|
|
1022
|
+
gridAutoFlow?: csstype.Property.GridAutoFlow | undefined;
|
|
1023
|
+
gridAutoRows?: csstype.Property.GridAutoRows<string | number> | undefined;
|
|
1024
|
+
gridColumnEnd?: csstype.Property.GridColumnEnd | undefined;
|
|
1025
|
+
gridColumnStart?: csstype.Property.GridColumnStart | undefined;
|
|
1026
|
+
gridRowEnd?: csstype.Property.GridRowEnd | undefined;
|
|
1027
|
+
gridRowStart?: csstype.Property.GridRowStart | undefined;
|
|
1028
|
+
gridTemplateAreas?: csstype.Property.GridTemplateAreas | undefined;
|
|
1029
|
+
gridTemplateColumns?: csstype.Property.GridTemplateColumns<string | number> | undefined;
|
|
1030
|
+
gridTemplateRows?: csstype.Property.GridTemplateRows<string | number> | undefined;
|
|
1031
|
+
hangingPunctuation?: csstype.Property.HangingPunctuation | undefined;
|
|
1032
|
+
height?: csstype.Property.Height<string | number> | undefined;
|
|
1033
|
+
hyphenateCharacter?: csstype.Property.HyphenateCharacter | undefined;
|
|
1034
|
+
hyphenateLimitChars?: csstype.Property.HyphenateLimitChars | undefined;
|
|
1035
|
+
hyphens?: csstype.Property.Hyphens | undefined;
|
|
1036
|
+
imageOrientation?: csstype.Property.ImageOrientation | undefined;
|
|
1037
|
+
imageRendering?: csstype.Property.ImageRendering | undefined;
|
|
1038
|
+
imageResolution?: csstype.Property.ImageResolution | undefined;
|
|
1039
|
+
initialLetter?: csstype.Property.InitialLetter | undefined;
|
|
1040
|
+
inlineSize?: csstype.Property.InlineSize<string | number> | undefined;
|
|
1041
|
+
inputSecurity?: csstype.Property.InputSecurity | undefined;
|
|
1042
|
+
insetBlockEnd?: csstype.Property.InsetBlockEnd<string | number> | undefined;
|
|
1043
|
+
insetBlockStart?: csstype.Property.InsetBlockStart<string | number> | undefined;
|
|
1044
|
+
insetInlineEnd?: csstype.Property.InsetInlineEnd<string | number> | undefined;
|
|
1045
|
+
insetInlineStart?: csstype.Property.InsetInlineStart<string | number> | undefined;
|
|
1046
|
+
isolation?: csstype.Property.Isolation | undefined;
|
|
1047
|
+
justifyContent: csstype.Property.JustifyContent;
|
|
1048
|
+
justifyItems?: csstype.Property.JustifyItems | undefined;
|
|
1049
|
+
justifySelf?: csstype.Property.JustifySelf | undefined;
|
|
1050
|
+
justifyTracks?: csstype.Property.JustifyTracks | undefined;
|
|
1051
|
+
left: csstype.Property.Left<string | number>;
|
|
1052
|
+
letterSpacing?: csstype.Property.LetterSpacing<string | number> | undefined;
|
|
1053
|
+
lineBreak?: csstype.Property.LineBreak | undefined;
|
|
1054
|
+
lineHeight?: csstype.Property.LineHeight<string | number> | undefined;
|
|
1055
|
+
lineHeightStep?: csstype.Property.LineHeightStep<string | number> | undefined;
|
|
1056
|
+
listStyleImage?: csstype.Property.ListStyleImage | undefined;
|
|
1057
|
+
listStylePosition?: csstype.Property.ListStylePosition | undefined;
|
|
1058
|
+
listStyleType?: csstype.Property.ListStyleType | undefined;
|
|
1059
|
+
marginBlockEnd?: csstype.Property.MarginBlockEnd<string | number> | undefined;
|
|
1060
|
+
marginBlockStart?: csstype.Property.MarginBlockStart<string | number> | undefined;
|
|
1061
|
+
marginBottom?: csstype.Property.MarginBottom<string | number> | undefined;
|
|
1062
|
+
marginInlineEnd?: csstype.Property.MarginInlineEnd<string | number> | undefined;
|
|
1063
|
+
marginInlineStart?: csstype.Property.MarginInlineStart<string | number> | undefined;
|
|
1064
|
+
marginLeft?: csstype.Property.MarginLeft<string | number> | undefined;
|
|
1065
|
+
marginRight?: csstype.Property.MarginRight<string | number> | undefined;
|
|
1066
|
+
marginTop?: csstype.Property.MarginTop<string | number> | undefined;
|
|
1067
|
+
marginTrim?: csstype.Property.MarginTrim | undefined;
|
|
1068
|
+
maskBorderMode?: csstype.Property.MaskBorderMode | undefined;
|
|
1069
|
+
maskBorderOutset?: csstype.Property.MaskBorderOutset<string | number> | undefined;
|
|
1070
|
+
maskBorderRepeat?: csstype.Property.MaskBorderRepeat | undefined;
|
|
1071
|
+
maskBorderSlice?: csstype.Property.MaskBorderSlice | undefined;
|
|
1072
|
+
maskBorderSource?: csstype.Property.MaskBorderSource | undefined;
|
|
1073
|
+
maskBorderWidth?: csstype.Property.MaskBorderWidth<string | number> | undefined;
|
|
1074
|
+
maskClip?: csstype.Property.MaskClip | undefined;
|
|
1075
|
+
maskComposite?: csstype.Property.MaskComposite | undefined;
|
|
1076
|
+
maskImage?: csstype.Property.MaskImage | undefined;
|
|
1077
|
+
maskMode?: csstype.Property.MaskMode | undefined;
|
|
1078
|
+
maskOrigin?: csstype.Property.MaskOrigin | undefined;
|
|
1079
|
+
maskPosition?: csstype.Property.MaskPosition<string | number> | undefined;
|
|
1080
|
+
maskRepeat?: csstype.Property.MaskRepeat | undefined;
|
|
1081
|
+
maskSize?: csstype.Property.MaskSize<string | number> | undefined;
|
|
1082
|
+
maskType?: csstype.Property.MaskType | undefined;
|
|
1083
|
+
masonryAutoFlow?: csstype.Property.MasonryAutoFlow | undefined;
|
|
1084
|
+
mathDepth?: csstype.Property.MathDepth | undefined;
|
|
1085
|
+
mathShift?: csstype.Property.MathShift | undefined;
|
|
1086
|
+
mathStyle?: csstype.Property.MathStyle | undefined;
|
|
1087
|
+
maxBlockSize?: csstype.Property.MaxBlockSize<string | number> | undefined;
|
|
1088
|
+
maxHeight?: csstype.Property.MaxHeight<string | number> | undefined;
|
|
1089
|
+
maxInlineSize?: csstype.Property.MaxInlineSize<string | number> | undefined;
|
|
1090
|
+
maxLines?: csstype.Property.MaxLines | undefined;
|
|
1091
|
+
maxWidth?: csstype.Property.MaxWidth<string | number> | undefined;
|
|
1092
|
+
minBlockSize?: csstype.Property.MinBlockSize<string | number> | undefined;
|
|
1093
|
+
minHeight?: csstype.Property.MinHeight<string | number> | undefined;
|
|
1094
|
+
minInlineSize?: csstype.Property.MinInlineSize<string | number> | undefined;
|
|
1095
|
+
minWidth?: csstype.Property.MinWidth<string | number> | undefined;
|
|
1096
|
+
mixBlendMode?: csstype.Property.MixBlendMode | undefined;
|
|
1097
|
+
motionDistance?: csstype.Property.OffsetDistance<string | number> | undefined;
|
|
1098
|
+
motionPath?: csstype.Property.OffsetPath | undefined;
|
|
1099
|
+
motionRotation?: csstype.Property.OffsetRotate | undefined;
|
|
1100
|
+
objectFit?: csstype.Property.ObjectFit | undefined;
|
|
1101
|
+
objectPosition?: csstype.Property.ObjectPosition<string | number> | undefined;
|
|
1102
|
+
offsetAnchor?: csstype.Property.OffsetAnchor<string | number> | undefined;
|
|
1103
|
+
offsetDistance?: csstype.Property.OffsetDistance<string | number> | undefined;
|
|
1104
|
+
offsetPath?: csstype.Property.OffsetPath | undefined;
|
|
1105
|
+
offsetPosition?: csstype.Property.OffsetPosition<string | number> | undefined;
|
|
1106
|
+
offsetRotate?: csstype.Property.OffsetRotate | undefined;
|
|
1107
|
+
offsetRotation?: csstype.Property.OffsetRotate | undefined;
|
|
1108
|
+
opacity?: csstype.Property.Opacity | undefined;
|
|
1109
|
+
order?: csstype.Property.Order | undefined;
|
|
1110
|
+
orphans?: csstype.Property.Orphans | undefined;
|
|
1111
|
+
outlineColor?: csstype.Property.OutlineColor | undefined;
|
|
1112
|
+
outlineOffset?: csstype.Property.OutlineOffset<string | number> | undefined;
|
|
1113
|
+
outlineStyle?: csstype.Property.OutlineStyle | undefined;
|
|
1114
|
+
outlineWidth?: csstype.Property.OutlineWidth<string | number> | undefined;
|
|
1115
|
+
overflowAnchor?: csstype.Property.OverflowAnchor | undefined;
|
|
1116
|
+
overflowBlock?: csstype.Property.OverflowBlock | undefined;
|
|
1117
|
+
overflowClipBox?: csstype.Property.OverflowClipBox | undefined;
|
|
1118
|
+
overflowClipMargin?: csstype.Property.OverflowClipMargin<string | number> | undefined;
|
|
1119
|
+
overflowInline?: csstype.Property.OverflowInline | undefined;
|
|
1120
|
+
overflowWrap?: csstype.Property.OverflowWrap | undefined;
|
|
1121
|
+
overflowX?: csstype.Property.OverflowX | undefined;
|
|
1122
|
+
overflowY?: csstype.Property.OverflowY | undefined;
|
|
1123
|
+
overlay?: csstype.Property.Overlay | undefined;
|
|
1124
|
+
overscrollBehaviorBlock?: csstype.Property.OverscrollBehaviorBlock | undefined;
|
|
1125
|
+
overscrollBehaviorInline?: csstype.Property.OverscrollBehaviorInline | undefined;
|
|
1126
|
+
overscrollBehaviorX?: csstype.Property.OverscrollBehaviorX | undefined;
|
|
1127
|
+
overscrollBehaviorY?: csstype.Property.OverscrollBehaviorY | undefined;
|
|
1128
|
+
paddingBlockEnd?: csstype.Property.PaddingBlockEnd<string | number> | undefined;
|
|
1129
|
+
paddingBlockStart?: csstype.Property.PaddingBlockStart<string | number> | undefined;
|
|
1130
|
+
paddingBottom?: csstype.Property.PaddingBottom<string | number> | undefined;
|
|
1131
|
+
paddingInlineEnd?: csstype.Property.PaddingInlineEnd<string | number> | undefined;
|
|
1132
|
+
paddingInlineStart?: csstype.Property.PaddingInlineStart<string | number> | undefined;
|
|
1133
|
+
paddingLeft?: csstype.Property.PaddingLeft<string | number> | undefined;
|
|
1134
|
+
paddingRight?: csstype.Property.PaddingRight<string | number> | undefined;
|
|
1135
|
+
paddingTop?: csstype.Property.PaddingTop<string | number> | undefined;
|
|
1136
|
+
page?: csstype.Property.Page | undefined;
|
|
1137
|
+
pageBreakAfter?: csstype.Property.PageBreakAfter | undefined;
|
|
1138
|
+
pageBreakBefore?: csstype.Property.PageBreakBefore | undefined;
|
|
1139
|
+
pageBreakInside?: csstype.Property.PageBreakInside | undefined;
|
|
1140
|
+
paintOrder?: csstype.Property.PaintOrder | undefined;
|
|
1141
|
+
perspective?: csstype.Property.Perspective<string | number> | undefined;
|
|
1142
|
+
perspectiveOrigin?: csstype.Property.PerspectiveOrigin<string | number> | undefined;
|
|
1143
|
+
pointerEvents?: csstype.Property.PointerEvents | undefined;
|
|
1144
|
+
position: csstype.Property.Position;
|
|
1145
|
+
printColorAdjust?: csstype.Property.PrintColorAdjust | undefined;
|
|
1146
|
+
quotes?: csstype.Property.Quotes | undefined;
|
|
1147
|
+
resize?: csstype.Property.Resize | undefined;
|
|
1148
|
+
right: csstype.Property.Right<string | number>;
|
|
1149
|
+
rotate?: csstype.Property.Rotate | undefined;
|
|
1150
|
+
rowGap?: csstype.Property.RowGap<string | number> | undefined;
|
|
1151
|
+
rubyAlign?: csstype.Property.RubyAlign | undefined;
|
|
1152
|
+
rubyMerge?: csstype.Property.RubyMerge | undefined;
|
|
1153
|
+
rubyPosition?: csstype.Property.RubyPosition | undefined;
|
|
1154
|
+
scale?: csstype.Property.Scale | undefined;
|
|
1155
|
+
scrollBehavior?: csstype.Property.ScrollBehavior | undefined;
|
|
1156
|
+
scrollMarginBlockEnd?: csstype.Property.ScrollMarginBlockEnd<string | number> | undefined;
|
|
1157
|
+
scrollMarginBlockStart?: csstype.Property.ScrollMarginBlockStart<string | number> | undefined;
|
|
1158
|
+
scrollMarginBottom?: csstype.Property.ScrollMarginBottom<string | number> | undefined;
|
|
1159
|
+
scrollMarginInlineEnd?: csstype.Property.ScrollMarginInlineEnd<string | number> | undefined;
|
|
1160
|
+
scrollMarginInlineStart?: csstype.Property.ScrollMarginInlineStart<string | number> | undefined;
|
|
1161
|
+
scrollMarginLeft?: csstype.Property.ScrollMarginLeft<string | number> | undefined;
|
|
1162
|
+
scrollMarginRight?: csstype.Property.ScrollMarginRight<string | number> | undefined;
|
|
1163
|
+
scrollMarginTop?: csstype.Property.ScrollMarginTop<string | number> | undefined;
|
|
1164
|
+
scrollPaddingBlockEnd?: csstype.Property.ScrollPaddingBlockEnd<string | number> | undefined;
|
|
1165
|
+
scrollPaddingBlockStart?: csstype.Property.ScrollPaddingBlockStart<string | number> | undefined;
|
|
1166
|
+
scrollPaddingBottom?: csstype.Property.ScrollPaddingBottom<string | number> | undefined;
|
|
1167
|
+
scrollPaddingInlineEnd?: csstype.Property.ScrollPaddingInlineEnd<string | number> | undefined;
|
|
1168
|
+
scrollPaddingInlineStart?: csstype.Property.ScrollPaddingInlineStart<string | number> | undefined;
|
|
1169
|
+
scrollPaddingLeft?: csstype.Property.ScrollPaddingLeft<string | number> | undefined;
|
|
1170
|
+
scrollPaddingRight?: csstype.Property.ScrollPaddingRight<string | number> | undefined;
|
|
1171
|
+
scrollPaddingTop?: csstype.Property.ScrollPaddingTop<string | number> | undefined;
|
|
1172
|
+
scrollSnapAlign?: csstype.Property.ScrollSnapAlign | undefined;
|
|
1173
|
+
scrollSnapMarginBottom?: csstype.Property.ScrollMarginBottom<string | number> | undefined;
|
|
1174
|
+
scrollSnapMarginLeft?: csstype.Property.ScrollMarginLeft<string | number> | undefined;
|
|
1175
|
+
scrollSnapMarginRight?: csstype.Property.ScrollMarginRight<string | number> | undefined;
|
|
1176
|
+
scrollSnapMarginTop?: csstype.Property.ScrollMarginTop<string | number> | undefined;
|
|
1177
|
+
scrollSnapStop?: csstype.Property.ScrollSnapStop | undefined;
|
|
1178
|
+
scrollSnapType?: csstype.Property.ScrollSnapType | undefined;
|
|
1179
|
+
scrollTimelineAxis?: csstype.Property.ScrollTimelineAxis | undefined;
|
|
1180
|
+
scrollTimelineName?: csstype.Property.ScrollTimelineName | undefined;
|
|
1181
|
+
scrollbarColor?: csstype.Property.ScrollbarColor | undefined;
|
|
1182
|
+
scrollbarGutter?: csstype.Property.ScrollbarGutter | undefined;
|
|
1183
|
+
scrollbarWidth?: csstype.Property.ScrollbarWidth | undefined;
|
|
1184
|
+
shapeImageThreshold?: csstype.Property.ShapeImageThreshold | undefined;
|
|
1185
|
+
shapeMargin?: csstype.Property.ShapeMargin<string | number> | undefined;
|
|
1186
|
+
shapeOutside?: csstype.Property.ShapeOutside | undefined;
|
|
1187
|
+
tabSize?: csstype.Property.TabSize<string | number> | undefined;
|
|
1188
|
+
tableLayout?: csstype.Property.TableLayout | undefined;
|
|
1189
|
+
textAlign?: csstype.Property.TextAlign | undefined;
|
|
1190
|
+
textAlignLast?: csstype.Property.TextAlignLast | undefined;
|
|
1191
|
+
textCombineUpright?: csstype.Property.TextCombineUpright | undefined;
|
|
1192
|
+
textDecorationColor?: csstype.Property.TextDecorationColor | undefined;
|
|
1193
|
+
textDecorationLine?: csstype.Property.TextDecorationLine | undefined;
|
|
1194
|
+
textDecorationSkip?: csstype.Property.TextDecorationSkip | undefined;
|
|
1195
|
+
textDecorationSkipInk?: csstype.Property.TextDecorationSkipInk | undefined;
|
|
1196
|
+
textDecorationStyle?: csstype.Property.TextDecorationStyle | undefined;
|
|
1197
|
+
textDecorationThickness?: csstype.Property.TextDecorationThickness<string | number> | undefined;
|
|
1198
|
+
textEmphasisColor?: csstype.Property.TextEmphasisColor | undefined;
|
|
1199
|
+
textEmphasisPosition?: csstype.Property.TextEmphasisPosition | undefined;
|
|
1200
|
+
textEmphasisStyle?: csstype.Property.TextEmphasisStyle | undefined;
|
|
1201
|
+
textIndent?: csstype.Property.TextIndent<string | number> | undefined;
|
|
1202
|
+
textJustify?: csstype.Property.TextJustify | undefined;
|
|
1203
|
+
textOrientation?: csstype.Property.TextOrientation | undefined;
|
|
1204
|
+
textOverflow?: csstype.Property.TextOverflow | undefined;
|
|
1205
|
+
textRendering?: csstype.Property.TextRendering | undefined;
|
|
1206
|
+
textShadow?: csstype.Property.TextShadow | undefined;
|
|
1207
|
+
textSizeAdjust?: csstype.Property.TextSizeAdjust | undefined;
|
|
1208
|
+
textTransform?: csstype.Property.TextTransform | undefined;
|
|
1209
|
+
textUnderlineOffset?: csstype.Property.TextUnderlineOffset<string | number> | undefined;
|
|
1210
|
+
textUnderlinePosition?: csstype.Property.TextUnderlinePosition | undefined;
|
|
1211
|
+
textWrap?: csstype.Property.TextWrap | undefined;
|
|
1212
|
+
timelineScope?: csstype.Property.TimelineScope | undefined;
|
|
1213
|
+
top: csstype.Property.Top<string | number>;
|
|
1214
|
+
touchAction?: csstype.Property.TouchAction | undefined;
|
|
1215
|
+
transform?: csstype.Property.Transform | undefined;
|
|
1216
|
+
transformBox?: csstype.Property.TransformBox | undefined;
|
|
1217
|
+
transformOrigin?: csstype.Property.TransformOrigin<string | number> | undefined;
|
|
1218
|
+
transformStyle?: csstype.Property.TransformStyle | undefined;
|
|
1219
|
+
transitionBehavior?: csstype.Property.TransitionBehavior | undefined;
|
|
1220
|
+
transitionDelay?: csstype.Property.TransitionDelay<string & {}> | undefined;
|
|
1221
|
+
transitionDuration?: csstype.Property.TransitionDuration<string & {}> | undefined;
|
|
1222
|
+
transitionProperty?: csstype.Property.TransitionProperty | undefined;
|
|
1223
|
+
transitionTimingFunction?: csstype.Property.TransitionTimingFunction | undefined;
|
|
1224
|
+
translate?: csstype.Property.Translate<string | number> | undefined;
|
|
1225
|
+
unicodeBidi?: csstype.Property.UnicodeBidi | undefined;
|
|
1226
|
+
userSelect?: csstype.Property.UserSelect | undefined;
|
|
1227
|
+
verticalAlign?: csstype.Property.VerticalAlign<string | number> | undefined;
|
|
1228
|
+
viewTimelineAxis?: csstype.Property.ViewTimelineAxis | undefined;
|
|
1229
|
+
viewTimelineInset?: csstype.Property.ViewTimelineInset<string | number> | undefined;
|
|
1230
|
+
viewTimelineName?: csstype.Property.ViewTimelineName | undefined;
|
|
1231
|
+
viewTransitionName?: csstype.Property.ViewTransitionName | undefined;
|
|
1232
|
+
visibility?: csstype.Property.Visibility | undefined;
|
|
1233
|
+
whiteSpace?: csstype.Property.WhiteSpace | undefined;
|
|
1234
|
+
whiteSpaceCollapse?: csstype.Property.WhiteSpaceCollapse | undefined;
|
|
1235
|
+
whiteSpaceTrim?: csstype.Property.WhiteSpaceTrim | undefined;
|
|
1236
|
+
widows?: csstype.Property.Widows | undefined;
|
|
1237
|
+
width?: csstype.Property.Width<string | number> | undefined;
|
|
1238
|
+
willChange?: csstype.Property.WillChange | undefined;
|
|
1239
|
+
wordBreak?: csstype.Property.WordBreak | undefined;
|
|
1240
|
+
wordSpacing?: csstype.Property.WordSpacing<string | number> | undefined;
|
|
1241
|
+
wordWrap?: csstype.Property.WordWrap | undefined;
|
|
1242
|
+
writingMode?: csstype.Property.WritingMode | undefined;
|
|
1243
|
+
zIndex: number | (string & {}) | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "auto";
|
|
1244
|
+
zoom?: csstype.Property.Zoom | undefined;
|
|
1245
|
+
all?: csstype.Property.All | undefined;
|
|
1246
|
+
animation?: csstype.Property.Animation<string & {}> | undefined;
|
|
1247
|
+
animationRange?: csstype.Property.AnimationRange<string | number> | undefined;
|
|
1248
|
+
background: csstype.Property.Background<string | number>;
|
|
1249
|
+
backgroundPosition?: csstype.Property.BackgroundPosition<string | number> | undefined;
|
|
1250
|
+
border?: csstype.Property.Border<string | number> | undefined;
|
|
1251
|
+
borderBlock?: csstype.Property.BorderBlock<string | number> | undefined;
|
|
1252
|
+
borderBlockEnd?: csstype.Property.BorderBlockEnd<string | number> | undefined;
|
|
1253
|
+
borderBlockStart?: csstype.Property.BorderBlockStart<string | number> | undefined;
|
|
1254
|
+
borderBottom?: csstype.Property.BorderBottom<string | number> | undefined;
|
|
1255
|
+
borderColor?: csstype.Property.BorderColor | undefined;
|
|
1256
|
+
borderImage?: csstype.Property.BorderImage | undefined;
|
|
1257
|
+
borderInline?: csstype.Property.BorderInline<string | number> | undefined;
|
|
1258
|
+
borderInlineEnd?: csstype.Property.BorderInlineEnd<string | number> | undefined;
|
|
1259
|
+
borderInlineStart?: csstype.Property.BorderInlineStart<string | number> | undefined;
|
|
1260
|
+
borderLeft?: csstype.Property.BorderLeft<string | number> | undefined;
|
|
1261
|
+
borderRadius?: csstype.Property.BorderRadius<string | number> | undefined;
|
|
1262
|
+
borderRight?: csstype.Property.BorderRight<string | number> | undefined;
|
|
1263
|
+
borderStyle?: csstype.Property.BorderStyle | undefined;
|
|
1264
|
+
borderTop?: csstype.Property.BorderTop<string | number> | undefined;
|
|
1265
|
+
borderWidth?: csstype.Property.BorderWidth<string | number> | undefined;
|
|
1266
|
+
caret?: csstype.Property.Caret | undefined;
|
|
1267
|
+
columnRule?: csstype.Property.ColumnRule<string | number> | undefined;
|
|
1268
|
+
columns?: csstype.Property.Columns<string | number> | undefined;
|
|
1269
|
+
containIntrinsicSize?: csstype.Property.ContainIntrinsicSize<string | number> | undefined;
|
|
1270
|
+
container?: csstype.Property.Container | undefined;
|
|
1271
|
+
flex?: csstype.Property.Flex<string | number> | undefined;
|
|
1272
|
+
flexFlow?: csstype.Property.FlexFlow | undefined;
|
|
1273
|
+
font?: csstype.Property.Font | undefined;
|
|
1274
|
+
gap?: csstype.Property.Gap<string | number> | undefined;
|
|
1275
|
+
grid?: csstype.Property.Grid | undefined;
|
|
1276
|
+
gridArea?: csstype.Property.GridArea | undefined;
|
|
1277
|
+
gridColumn?: csstype.Property.GridColumn | undefined;
|
|
1278
|
+
gridRow?: csstype.Property.GridRow | undefined;
|
|
1279
|
+
gridTemplate?: csstype.Property.GridTemplate | undefined;
|
|
1280
|
+
inset?: csstype.Property.Inset<string | number> | undefined;
|
|
1281
|
+
insetBlock?: csstype.Property.InsetBlock<string | number> | undefined;
|
|
1282
|
+
insetInline?: csstype.Property.InsetInline<string | number> | undefined;
|
|
1283
|
+
lineClamp?: csstype.Property.LineClamp | undefined;
|
|
1284
|
+
listStyle?: csstype.Property.ListStyle | undefined;
|
|
1285
|
+
margin?: csstype.Property.Margin<string | number> | undefined;
|
|
1286
|
+
marginBlock?: csstype.Property.MarginBlock<string | number> | undefined;
|
|
1287
|
+
marginInline?: csstype.Property.MarginInline<string | number> | undefined;
|
|
1288
|
+
mask?: csstype.Property.Mask<string | number> | undefined;
|
|
1289
|
+
maskBorder?: csstype.Property.MaskBorder | undefined;
|
|
1290
|
+
motion?: csstype.Property.Offset<string | number> | undefined;
|
|
1291
|
+
offset?: csstype.Property.Offset<string | number> | undefined;
|
|
1292
|
+
outline?: csstype.Property.Outline<string | number> | undefined;
|
|
1293
|
+
overflow?: csstype.Property.Overflow | undefined;
|
|
1294
|
+
overscrollBehavior?: csstype.Property.OverscrollBehavior | undefined;
|
|
1295
|
+
padding: csstype.Property.Padding<string | number>;
|
|
1296
|
+
paddingBlock?: csstype.Property.PaddingBlock<string | number> | undefined;
|
|
1297
|
+
paddingInline?: csstype.Property.PaddingInline<string | number> | undefined;
|
|
1298
|
+
placeContent?: csstype.Property.PlaceContent | undefined;
|
|
1299
|
+
placeItems?: csstype.Property.PlaceItems | undefined;
|
|
1300
|
+
placeSelf?: csstype.Property.PlaceSelf | undefined;
|
|
1301
|
+
scrollMargin?: csstype.Property.ScrollMargin<string | number> | undefined;
|
|
1302
|
+
scrollMarginBlock?: csstype.Property.ScrollMarginBlock<string | number> | undefined;
|
|
1303
|
+
scrollMarginInline?: csstype.Property.ScrollMarginInline<string | number> | undefined;
|
|
1304
|
+
scrollPadding?: csstype.Property.ScrollPadding<string | number> | undefined;
|
|
1305
|
+
scrollPaddingBlock?: csstype.Property.ScrollPaddingBlock<string | number> | undefined;
|
|
1306
|
+
scrollPaddingInline?: csstype.Property.ScrollPaddingInline<string | number> | undefined;
|
|
1307
|
+
scrollSnapMargin?: csstype.Property.ScrollMargin<string | number> | undefined;
|
|
1308
|
+
scrollTimeline?: csstype.Property.ScrollTimeline | undefined;
|
|
1309
|
+
textDecoration?: csstype.Property.TextDecoration<string | number> | undefined;
|
|
1310
|
+
textEmphasis?: csstype.Property.TextEmphasis | undefined;
|
|
1311
|
+
transition?: csstype.Property.Transition<string & {}> | undefined;
|
|
1312
|
+
viewTimeline?: csstype.Property.ViewTimeline | undefined;
|
|
1313
|
+
MozAnimationDelay?: csstype.Property.AnimationDelay<string & {}> | undefined;
|
|
1314
|
+
MozAnimationDirection?: csstype.Property.AnimationDirection | undefined;
|
|
1315
|
+
MozAnimationDuration?: csstype.Property.AnimationDuration<string & {}> | undefined;
|
|
1316
|
+
MozAnimationFillMode?: csstype.Property.AnimationFillMode | undefined;
|
|
1317
|
+
MozAnimationIterationCount?: csstype.Property.AnimationIterationCount | undefined;
|
|
1318
|
+
MozAnimationName?: csstype.Property.AnimationName | undefined;
|
|
1319
|
+
MozAnimationPlayState?: csstype.Property.AnimationPlayState | undefined;
|
|
1320
|
+
MozAnimationTimingFunction?: csstype.Property.AnimationTimingFunction | undefined;
|
|
1321
|
+
MozAppearance?: csstype.Property.MozAppearance | undefined;
|
|
1322
|
+
MozBinding?: csstype.Property.MozBinding | undefined;
|
|
1323
|
+
MozBorderBottomColors?: csstype.Property.MozBorderBottomColors | undefined;
|
|
1324
|
+
MozBorderEndColor?: csstype.Property.BorderInlineEndColor | undefined;
|
|
1325
|
+
MozBorderEndStyle?: csstype.Property.BorderInlineEndStyle | undefined;
|
|
1326
|
+
MozBorderEndWidth?: csstype.Property.BorderInlineEndWidth<string | number> | undefined;
|
|
1327
|
+
MozBorderLeftColors?: csstype.Property.MozBorderLeftColors | undefined;
|
|
1328
|
+
MozBorderRightColors?: csstype.Property.MozBorderRightColors | undefined;
|
|
1329
|
+
MozBorderStartColor?: csstype.Property.BorderInlineStartColor | undefined;
|
|
1330
|
+
MozBorderStartStyle?: csstype.Property.BorderInlineStartStyle | undefined;
|
|
1331
|
+
MozBorderTopColors?: csstype.Property.MozBorderTopColors | undefined;
|
|
1332
|
+
MozBoxSizing?: csstype.Property.BoxSizing | undefined;
|
|
1333
|
+
MozColumnCount?: csstype.Property.ColumnCount | undefined;
|
|
1334
|
+
MozColumnFill?: csstype.Property.ColumnFill | undefined;
|
|
1335
|
+
MozColumnRuleColor?: csstype.Property.ColumnRuleColor | undefined;
|
|
1336
|
+
MozColumnRuleStyle?: csstype.Property.ColumnRuleStyle | undefined;
|
|
1337
|
+
MozColumnRuleWidth?: csstype.Property.ColumnRuleWidth<string | number> | undefined;
|
|
1338
|
+
MozColumnWidth?: csstype.Property.ColumnWidth<string | number> | undefined;
|
|
1339
|
+
MozContextProperties?: csstype.Property.MozContextProperties | undefined;
|
|
1340
|
+
MozFontFeatureSettings?: csstype.Property.FontFeatureSettings | undefined;
|
|
1341
|
+
MozFontLanguageOverride?: csstype.Property.FontLanguageOverride | undefined;
|
|
1342
|
+
MozHyphens?: csstype.Property.Hyphens | undefined;
|
|
1343
|
+
MozImageRegion?: csstype.Property.MozImageRegion | undefined;
|
|
1344
|
+
MozMarginEnd?: csstype.Property.MarginInlineEnd<string | number> | undefined;
|
|
1345
|
+
MozMarginStart?: csstype.Property.MarginInlineStart<string | number> | undefined;
|
|
1346
|
+
MozOrient?: csstype.Property.MozOrient | undefined;
|
|
1347
|
+
MozOsxFontSmoothing?: csstype.Property.FontSmooth<string | number> | undefined;
|
|
1348
|
+
MozOutlineRadiusBottomleft?: csstype.Property.MozOutlineRadiusBottomleft<string | number> | undefined;
|
|
1349
|
+
MozOutlineRadiusBottomright?: csstype.Property.MozOutlineRadiusBottomright<string | number> | undefined;
|
|
1350
|
+
MozOutlineRadiusTopleft?: csstype.Property.MozOutlineRadiusTopleft<string | number> | undefined;
|
|
1351
|
+
MozOutlineRadiusTopright?: csstype.Property.MozOutlineRadiusTopright<string | number> | undefined;
|
|
1352
|
+
MozPaddingEnd?: csstype.Property.PaddingInlineEnd<string | number> | undefined;
|
|
1353
|
+
MozPaddingStart?: csstype.Property.PaddingInlineStart<string | number> | undefined;
|
|
1354
|
+
MozStackSizing?: csstype.Property.MozStackSizing | undefined;
|
|
1355
|
+
MozTabSize?: csstype.Property.TabSize<string | number> | undefined;
|
|
1356
|
+
MozTextBlink?: csstype.Property.MozTextBlink | undefined;
|
|
1357
|
+
MozTextSizeAdjust?: csstype.Property.TextSizeAdjust | undefined;
|
|
1358
|
+
MozUserFocus?: csstype.Property.MozUserFocus | undefined;
|
|
1359
|
+
MozUserModify?: csstype.Property.MozUserModify | undefined;
|
|
1360
|
+
MozUserSelect?: csstype.Property.UserSelect | undefined;
|
|
1361
|
+
MozWindowDragging?: csstype.Property.MozWindowDragging | undefined;
|
|
1362
|
+
MozWindowShadow?: csstype.Property.MozWindowShadow | undefined;
|
|
1363
|
+
msAccelerator?: csstype.Property.MsAccelerator | undefined;
|
|
1364
|
+
msBlockProgression?: csstype.Property.MsBlockProgression | undefined;
|
|
1365
|
+
msContentZoomChaining?: csstype.Property.MsContentZoomChaining | undefined;
|
|
1366
|
+
msContentZoomLimitMax?: csstype.Property.MsContentZoomLimitMax | undefined;
|
|
1367
|
+
msContentZoomLimitMin?: csstype.Property.MsContentZoomLimitMin | undefined;
|
|
1368
|
+
msContentZoomSnapPoints?: csstype.Property.MsContentZoomSnapPoints | undefined;
|
|
1369
|
+
msContentZoomSnapType?: csstype.Property.MsContentZoomSnapType | undefined;
|
|
1370
|
+
msContentZooming?: csstype.Property.MsContentZooming | undefined;
|
|
1371
|
+
msFilter?: csstype.Property.MsFilter | undefined;
|
|
1372
|
+
msFlexDirection?: csstype.Property.FlexDirection | undefined;
|
|
1373
|
+
msFlexPositive?: csstype.Property.FlexGrow | undefined;
|
|
1374
|
+
msFlowFrom?: csstype.Property.MsFlowFrom | undefined;
|
|
1375
|
+
msFlowInto?: csstype.Property.MsFlowInto | undefined;
|
|
1376
|
+
msGridColumns?: csstype.Property.MsGridColumns<string | number> | undefined;
|
|
1377
|
+
msGridRows?: csstype.Property.MsGridRows<string | number> | undefined;
|
|
1378
|
+
msHighContrastAdjust?: csstype.Property.MsHighContrastAdjust | undefined;
|
|
1379
|
+
msHyphenateLimitChars?: csstype.Property.MsHyphenateLimitChars | undefined;
|
|
1380
|
+
msHyphenateLimitLines?: csstype.Property.MsHyphenateLimitLines | undefined;
|
|
1381
|
+
msHyphenateLimitZone?: csstype.Property.MsHyphenateLimitZone<string | number> | undefined;
|
|
1382
|
+
msHyphens?: csstype.Property.Hyphens | undefined;
|
|
1383
|
+
msImeAlign?: csstype.Property.MsImeAlign | undefined;
|
|
1384
|
+
msLineBreak?: csstype.Property.LineBreak | undefined;
|
|
1385
|
+
msOrder?: csstype.Property.Order | undefined;
|
|
1386
|
+
msOverflowStyle?: csstype.Property.MsOverflowStyle | undefined;
|
|
1387
|
+
msOverflowX?: csstype.Property.OverflowX | undefined;
|
|
1388
|
+
msOverflowY?: csstype.Property.OverflowY | undefined;
|
|
1389
|
+
msScrollChaining?: csstype.Property.MsScrollChaining | undefined;
|
|
1390
|
+
msScrollLimitXMax?: csstype.Property.MsScrollLimitXMax<string | number> | undefined;
|
|
1391
|
+
msScrollLimitXMin?: csstype.Property.MsScrollLimitXMin<string | number> | undefined;
|
|
1392
|
+
msScrollLimitYMax?: csstype.Property.MsScrollLimitYMax<string | number> | undefined;
|
|
1393
|
+
msScrollLimitYMin?: csstype.Property.MsScrollLimitYMin<string | number> | undefined;
|
|
1394
|
+
msScrollRails?: csstype.Property.MsScrollRails | undefined;
|
|
1395
|
+
msScrollSnapPointsX?: csstype.Property.MsScrollSnapPointsX | undefined;
|
|
1396
|
+
msScrollSnapPointsY?: csstype.Property.MsScrollSnapPointsY | undefined;
|
|
1397
|
+
msScrollSnapType?: csstype.Property.MsScrollSnapType | undefined;
|
|
1398
|
+
msScrollTranslation?: csstype.Property.MsScrollTranslation | undefined;
|
|
1399
|
+
msScrollbar3dlightColor?: csstype.Property.MsScrollbar3dlightColor | undefined;
|
|
1400
|
+
msScrollbarArrowColor?: csstype.Property.MsScrollbarArrowColor | undefined;
|
|
1401
|
+
msScrollbarBaseColor?: csstype.Property.MsScrollbarBaseColor | undefined;
|
|
1402
|
+
msScrollbarDarkshadowColor?: csstype.Property.MsScrollbarDarkshadowColor | undefined;
|
|
1403
|
+
msScrollbarFaceColor?: csstype.Property.MsScrollbarFaceColor | undefined;
|
|
1404
|
+
msScrollbarHighlightColor?: csstype.Property.MsScrollbarHighlightColor | undefined;
|
|
1405
|
+
msScrollbarShadowColor?: csstype.Property.MsScrollbarShadowColor | undefined;
|
|
1406
|
+
msScrollbarTrackColor?: csstype.Property.MsScrollbarTrackColor | undefined;
|
|
1407
|
+
msTextAutospace?: csstype.Property.MsTextAutospace | undefined;
|
|
1408
|
+
msTextCombineHorizontal?: csstype.Property.TextCombineUpright | undefined;
|
|
1409
|
+
msTextOverflow?: csstype.Property.TextOverflow | undefined;
|
|
1410
|
+
msTouchAction?: csstype.Property.TouchAction | undefined;
|
|
1411
|
+
msTouchSelect?: csstype.Property.MsTouchSelect | undefined;
|
|
1412
|
+
msTransform?: csstype.Property.Transform | undefined;
|
|
1413
|
+
msTransformOrigin?: csstype.Property.TransformOrigin<string | number> | undefined;
|
|
1414
|
+
msTransitionDelay?: csstype.Property.TransitionDelay<string & {}> | undefined;
|
|
1415
|
+
msTransitionDuration?: csstype.Property.TransitionDuration<string & {}> | undefined;
|
|
1416
|
+
msTransitionProperty?: csstype.Property.TransitionProperty | undefined;
|
|
1417
|
+
msTransitionTimingFunction?: csstype.Property.TransitionTimingFunction | undefined;
|
|
1418
|
+
msUserSelect?: csstype.Property.MsUserSelect | undefined;
|
|
1419
|
+
msWordBreak?: csstype.Property.WordBreak | undefined;
|
|
1420
|
+
msWrapFlow?: csstype.Property.MsWrapFlow | undefined;
|
|
1421
|
+
msWrapMargin?: csstype.Property.MsWrapMargin<string | number> | undefined;
|
|
1422
|
+
msWrapThrough?: csstype.Property.MsWrapThrough | undefined;
|
|
1423
|
+
msWritingMode?: csstype.Property.WritingMode | undefined;
|
|
1424
|
+
WebkitAlignContent?: csstype.Property.AlignContent | undefined;
|
|
1425
|
+
WebkitAlignItems?: csstype.Property.AlignItems | undefined;
|
|
1426
|
+
WebkitAlignSelf?: csstype.Property.AlignSelf | undefined;
|
|
1427
|
+
WebkitAnimationDelay?: csstype.Property.AnimationDelay<string & {}> | undefined;
|
|
1428
|
+
WebkitAnimationDirection?: csstype.Property.AnimationDirection | undefined;
|
|
1429
|
+
WebkitAnimationDuration?: csstype.Property.AnimationDuration<string & {}> | undefined;
|
|
1430
|
+
WebkitAnimationFillMode?: csstype.Property.AnimationFillMode | undefined;
|
|
1431
|
+
WebkitAnimationIterationCount?: csstype.Property.AnimationIterationCount | undefined;
|
|
1432
|
+
WebkitAnimationName?: csstype.Property.AnimationName | undefined;
|
|
1433
|
+
WebkitAnimationPlayState?: csstype.Property.AnimationPlayState | undefined;
|
|
1434
|
+
WebkitAnimationTimingFunction?: csstype.Property.AnimationTimingFunction | undefined;
|
|
1435
|
+
WebkitAppearance?: csstype.Property.WebkitAppearance | undefined;
|
|
1436
|
+
WebkitBackdropFilter?: csstype.Property.BackdropFilter | undefined;
|
|
1437
|
+
WebkitBackfaceVisibility?: csstype.Property.BackfaceVisibility | undefined;
|
|
1438
|
+
WebkitBackgroundClip?: csstype.Property.BackgroundClip | undefined;
|
|
1439
|
+
WebkitBackgroundOrigin?: csstype.Property.BackgroundOrigin | undefined;
|
|
1440
|
+
WebkitBackgroundSize?: csstype.Property.BackgroundSize<string | number> | undefined;
|
|
1441
|
+
WebkitBorderBeforeColor?: csstype.Property.WebkitBorderBeforeColor | undefined;
|
|
1442
|
+
WebkitBorderBeforeStyle?: csstype.Property.WebkitBorderBeforeStyle | undefined;
|
|
1443
|
+
WebkitBorderBeforeWidth?: csstype.Property.WebkitBorderBeforeWidth<string | number> | undefined;
|
|
1444
|
+
WebkitBorderBottomLeftRadius?: csstype.Property.BorderBottomLeftRadius<string | number> | undefined;
|
|
1445
|
+
WebkitBorderBottomRightRadius?: csstype.Property.BorderBottomRightRadius<string | number> | undefined;
|
|
1446
|
+
WebkitBorderImageSlice?: csstype.Property.BorderImageSlice | undefined;
|
|
1447
|
+
WebkitBorderTopLeftRadius?: csstype.Property.BorderTopLeftRadius<string | number> | undefined;
|
|
1448
|
+
WebkitBorderTopRightRadius?: csstype.Property.BorderTopRightRadius<string | number> | undefined;
|
|
1449
|
+
WebkitBoxDecorationBreak?: csstype.Property.BoxDecorationBreak | undefined;
|
|
1450
|
+
WebkitBoxReflect?: csstype.Property.WebkitBoxReflect<string | number> | undefined;
|
|
1451
|
+
WebkitBoxShadow?: csstype.Property.BoxShadow | undefined;
|
|
1452
|
+
WebkitBoxSizing?: csstype.Property.BoxSizing | undefined;
|
|
1453
|
+
WebkitClipPath?: csstype.Property.ClipPath | undefined;
|
|
1454
|
+
WebkitColumnCount?: csstype.Property.ColumnCount | undefined;
|
|
1455
|
+
WebkitColumnFill?: csstype.Property.ColumnFill | undefined;
|
|
1456
|
+
WebkitColumnRuleColor?: csstype.Property.ColumnRuleColor | undefined;
|
|
1457
|
+
WebkitColumnRuleStyle?: csstype.Property.ColumnRuleStyle | undefined;
|
|
1458
|
+
WebkitColumnRuleWidth?: csstype.Property.ColumnRuleWidth<string | number> | undefined;
|
|
1459
|
+
WebkitColumnSpan?: csstype.Property.ColumnSpan | undefined;
|
|
1460
|
+
WebkitColumnWidth?: csstype.Property.ColumnWidth<string | number> | undefined;
|
|
1461
|
+
WebkitFilter?: csstype.Property.Filter | undefined;
|
|
1462
|
+
WebkitFlexBasis?: csstype.Property.FlexBasis<string | number> | undefined;
|
|
1463
|
+
WebkitFlexDirection?: csstype.Property.FlexDirection | undefined;
|
|
1464
|
+
WebkitFlexGrow?: csstype.Property.FlexGrow | undefined;
|
|
1465
|
+
WebkitFlexShrink?: csstype.Property.FlexShrink | undefined;
|
|
1466
|
+
WebkitFlexWrap?: csstype.Property.FlexWrap | undefined;
|
|
1467
|
+
WebkitFontFeatureSettings?: csstype.Property.FontFeatureSettings | undefined;
|
|
1468
|
+
WebkitFontKerning?: csstype.Property.FontKerning | undefined;
|
|
1469
|
+
WebkitFontSmoothing?: csstype.Property.FontSmooth<string | number> | undefined;
|
|
1470
|
+
WebkitFontVariantLigatures?: csstype.Property.FontVariantLigatures | undefined;
|
|
1471
|
+
WebkitHyphenateCharacter?: csstype.Property.HyphenateCharacter | undefined;
|
|
1472
|
+
WebkitHyphens?: csstype.Property.Hyphens | undefined;
|
|
1473
|
+
WebkitInitialLetter?: csstype.Property.InitialLetter | undefined;
|
|
1474
|
+
WebkitJustifyContent?: csstype.Property.JustifyContent | undefined;
|
|
1475
|
+
WebkitLineBreak?: csstype.Property.LineBreak | undefined;
|
|
1476
|
+
WebkitLineClamp?: csstype.Property.WebkitLineClamp | undefined;
|
|
1477
|
+
WebkitMarginEnd?: csstype.Property.MarginInlineEnd<string | number> | undefined;
|
|
1478
|
+
WebkitMarginStart?: csstype.Property.MarginInlineStart<string | number> | undefined;
|
|
1479
|
+
WebkitMaskAttachment?: csstype.Property.WebkitMaskAttachment | undefined;
|
|
1480
|
+
WebkitMaskBoxImageOutset?: csstype.Property.MaskBorderOutset<string | number> | undefined;
|
|
1481
|
+
WebkitMaskBoxImageRepeat?: csstype.Property.MaskBorderRepeat | undefined;
|
|
1482
|
+
WebkitMaskBoxImageSlice?: csstype.Property.MaskBorderSlice | undefined;
|
|
1483
|
+
WebkitMaskBoxImageSource?: csstype.Property.MaskBorderSource | undefined;
|
|
1484
|
+
WebkitMaskBoxImageWidth?: csstype.Property.MaskBorderWidth<string | number> | undefined;
|
|
1485
|
+
WebkitMaskClip?: csstype.Property.WebkitMaskClip | undefined;
|
|
1486
|
+
WebkitMaskComposite?: csstype.Property.WebkitMaskComposite | undefined;
|
|
1487
|
+
WebkitMaskImage?: csstype.Property.WebkitMaskImage | undefined;
|
|
1488
|
+
WebkitMaskOrigin?: csstype.Property.WebkitMaskOrigin | undefined;
|
|
1489
|
+
WebkitMaskPosition?: csstype.Property.WebkitMaskPosition<string | number> | undefined;
|
|
1490
|
+
WebkitMaskPositionX?: csstype.Property.WebkitMaskPositionX<string | number> | undefined;
|
|
1491
|
+
WebkitMaskPositionY?: csstype.Property.WebkitMaskPositionY<string | number> | undefined;
|
|
1492
|
+
WebkitMaskRepeat?: csstype.Property.WebkitMaskRepeat | undefined;
|
|
1493
|
+
WebkitMaskRepeatX?: csstype.Property.WebkitMaskRepeatX | undefined;
|
|
1494
|
+
WebkitMaskRepeatY?: csstype.Property.WebkitMaskRepeatY | undefined;
|
|
1495
|
+
WebkitMaskSize?: csstype.Property.WebkitMaskSize<string | number> | undefined;
|
|
1496
|
+
WebkitMaxInlineSize?: csstype.Property.MaxInlineSize<string | number> | undefined;
|
|
1497
|
+
WebkitOrder?: csstype.Property.Order | undefined;
|
|
1498
|
+
WebkitOverflowScrolling?: csstype.Property.WebkitOverflowScrolling | undefined;
|
|
1499
|
+
WebkitPaddingEnd?: csstype.Property.PaddingInlineEnd<string | number> | undefined;
|
|
1500
|
+
WebkitPaddingStart?: csstype.Property.PaddingInlineStart<string | number> | undefined;
|
|
1501
|
+
WebkitPerspective?: csstype.Property.Perspective<string | number> | undefined;
|
|
1502
|
+
WebkitPerspectiveOrigin?: csstype.Property.PerspectiveOrigin<string | number> | undefined;
|
|
1503
|
+
WebkitPrintColorAdjust?: csstype.Property.PrintColorAdjust | undefined;
|
|
1504
|
+
WebkitRubyPosition?: csstype.Property.RubyPosition | undefined;
|
|
1505
|
+
WebkitScrollSnapType?: csstype.Property.ScrollSnapType | undefined;
|
|
1506
|
+
WebkitShapeMargin?: csstype.Property.ShapeMargin<string | number> | undefined;
|
|
1507
|
+
WebkitTapHighlightColor?: csstype.Property.WebkitTapHighlightColor | undefined;
|
|
1508
|
+
WebkitTextCombine?: csstype.Property.TextCombineUpright | undefined;
|
|
1509
|
+
WebkitTextDecorationColor?: csstype.Property.TextDecorationColor | undefined;
|
|
1510
|
+
WebkitTextDecorationLine?: csstype.Property.TextDecorationLine | undefined;
|
|
1511
|
+
WebkitTextDecorationSkip?: csstype.Property.TextDecorationSkip | undefined;
|
|
1512
|
+
WebkitTextDecorationStyle?: csstype.Property.TextDecorationStyle | undefined;
|
|
1513
|
+
WebkitTextEmphasisColor?: csstype.Property.TextEmphasisColor | undefined;
|
|
1514
|
+
WebkitTextEmphasisPosition?: csstype.Property.TextEmphasisPosition | undefined;
|
|
1515
|
+
WebkitTextEmphasisStyle?: csstype.Property.TextEmphasisStyle | undefined;
|
|
1516
|
+
WebkitTextFillColor?: csstype.Property.WebkitTextFillColor | undefined;
|
|
1517
|
+
WebkitTextOrientation?: csstype.Property.TextOrientation | undefined;
|
|
1518
|
+
WebkitTextSizeAdjust?: csstype.Property.TextSizeAdjust | undefined;
|
|
1519
|
+
WebkitTextStrokeColor?: csstype.Property.WebkitTextStrokeColor | undefined;
|
|
1520
|
+
WebkitTextStrokeWidth?: csstype.Property.WebkitTextStrokeWidth<string | number> | undefined;
|
|
1521
|
+
WebkitTextUnderlinePosition?: csstype.Property.TextUnderlinePosition | undefined;
|
|
1522
|
+
WebkitTouchCallout?: csstype.Property.WebkitTouchCallout | undefined;
|
|
1523
|
+
WebkitTransform?: csstype.Property.Transform | undefined;
|
|
1524
|
+
WebkitTransformOrigin?: csstype.Property.TransformOrigin<string | number> | undefined;
|
|
1525
|
+
WebkitTransformStyle?: csstype.Property.TransformStyle | undefined;
|
|
1526
|
+
WebkitTransitionDelay?: csstype.Property.TransitionDelay<string & {}> | undefined;
|
|
1527
|
+
WebkitTransitionDuration?: csstype.Property.TransitionDuration<string & {}> | undefined;
|
|
1528
|
+
WebkitTransitionProperty?: csstype.Property.TransitionProperty | undefined;
|
|
1529
|
+
WebkitTransitionTimingFunction?: csstype.Property.TransitionTimingFunction | undefined;
|
|
1530
|
+
WebkitUserModify?: csstype.Property.WebkitUserModify | undefined;
|
|
1531
|
+
WebkitUserSelect?: csstype.Property.UserSelect | undefined;
|
|
1532
|
+
WebkitWritingMode?: csstype.Property.WritingMode | undefined;
|
|
1533
|
+
MozAnimation?: csstype.Property.Animation<string & {}> | undefined;
|
|
1534
|
+
MozBorderImage?: csstype.Property.BorderImage | undefined;
|
|
1535
|
+
MozColumnRule?: csstype.Property.ColumnRule<string | number> | undefined;
|
|
1536
|
+
MozColumns?: csstype.Property.Columns<string | number> | undefined;
|
|
1537
|
+
MozOutlineRadius?: csstype.Property.MozOutlineRadius<string | number> | undefined;
|
|
1538
|
+
msContentZoomLimit?: csstype.Property.MsContentZoomLimit | undefined;
|
|
1539
|
+
msContentZoomSnap?: csstype.Property.MsContentZoomSnap | undefined;
|
|
1540
|
+
msFlex?: csstype.Property.Flex<string | number> | undefined;
|
|
1541
|
+
msScrollLimit?: csstype.Property.MsScrollLimit | undefined;
|
|
1542
|
+
msScrollSnapX?: csstype.Property.MsScrollSnapX | undefined;
|
|
1543
|
+
msScrollSnapY?: csstype.Property.MsScrollSnapY | undefined;
|
|
1544
|
+
msTransition?: csstype.Property.Transition<string & {}> | undefined;
|
|
1545
|
+
WebkitAnimation?: csstype.Property.Animation<string & {}> | undefined;
|
|
1546
|
+
WebkitBorderBefore?: csstype.Property.WebkitBorderBefore<string | number> | undefined;
|
|
1547
|
+
WebkitBorderImage?: csstype.Property.BorderImage | undefined;
|
|
1548
|
+
WebkitBorderRadius?: csstype.Property.BorderRadius<string | number> | undefined;
|
|
1549
|
+
WebkitColumnRule?: csstype.Property.ColumnRule<string | number> | undefined;
|
|
1550
|
+
WebkitColumns?: csstype.Property.Columns<string | number> | undefined;
|
|
1551
|
+
WebkitFlex?: csstype.Property.Flex<string | number> | undefined;
|
|
1552
|
+
WebkitFlexFlow?: csstype.Property.FlexFlow | undefined;
|
|
1553
|
+
WebkitMask?: csstype.Property.WebkitMask<string | number> | undefined;
|
|
1554
|
+
WebkitMaskBoxImage?: csstype.Property.MaskBorder | undefined;
|
|
1555
|
+
WebkitTextEmphasis?: csstype.Property.TextEmphasis | undefined;
|
|
1556
|
+
WebkitTextStroke?: csstype.Property.WebkitTextStroke<string | number> | undefined;
|
|
1557
|
+
WebkitTransition?: csstype.Property.Transition<string & {}> | undefined;
|
|
1558
|
+
azimuth?: csstype.Property.Azimuth | undefined;
|
|
1559
|
+
boxAlign?: csstype.Property.BoxAlign | undefined;
|
|
1560
|
+
boxDirection?: csstype.Property.BoxDirection | undefined;
|
|
1561
|
+
boxFlex?: csstype.Property.BoxFlex | undefined;
|
|
1562
|
+
boxFlexGroup?: csstype.Property.BoxFlexGroup | undefined;
|
|
1563
|
+
boxLines?: csstype.Property.BoxLines | undefined;
|
|
1564
|
+
boxOrdinalGroup?: csstype.Property.BoxOrdinalGroup | undefined;
|
|
1565
|
+
boxOrient?: csstype.Property.BoxOrient | undefined;
|
|
1566
|
+
boxPack?: csstype.Property.BoxPack | undefined;
|
|
1567
|
+
clip?: csstype.Property.Clip | undefined;
|
|
1568
|
+
gridColumnGap?: csstype.Property.GridColumnGap<string | number> | undefined;
|
|
1569
|
+
gridGap?: csstype.Property.GridGap<string | number> | undefined;
|
|
1570
|
+
gridRowGap?: csstype.Property.GridRowGap<string | number> | undefined;
|
|
1571
|
+
imeMode?: csstype.Property.ImeMode | undefined;
|
|
1572
|
+
offsetBlock?: csstype.Property.InsetBlock<string | number> | undefined;
|
|
1573
|
+
offsetBlockEnd?: csstype.Property.InsetBlockEnd<string | number> | undefined;
|
|
1574
|
+
offsetBlockStart?: csstype.Property.InsetBlockStart<string | number> | undefined;
|
|
1575
|
+
offsetInline?: csstype.Property.InsetInline<string | number> | undefined;
|
|
1576
|
+
offsetInlineEnd?: csstype.Property.InsetInlineEnd<string | number> | undefined;
|
|
1577
|
+
offsetInlineStart?: csstype.Property.InsetInlineStart<string | number> | undefined;
|
|
1578
|
+
scrollSnapCoordinate?: csstype.Property.ScrollSnapCoordinate<string | number> | undefined;
|
|
1579
|
+
scrollSnapDestination?: csstype.Property.ScrollSnapDestination<string | number> | undefined;
|
|
1580
|
+
scrollSnapPointsX?: csstype.Property.ScrollSnapPointsX | undefined;
|
|
1581
|
+
scrollSnapPointsY?: csstype.Property.ScrollSnapPointsY | undefined;
|
|
1582
|
+
scrollSnapTypeX?: csstype.Property.ScrollSnapTypeX | undefined;
|
|
1583
|
+
scrollSnapTypeY?: csstype.Property.ScrollSnapTypeY | undefined;
|
|
1584
|
+
KhtmlBoxAlign?: csstype.Property.BoxAlign | undefined;
|
|
1585
|
+
KhtmlBoxDirection?: csstype.Property.BoxDirection | undefined;
|
|
1586
|
+
KhtmlBoxFlex?: csstype.Property.BoxFlex | undefined;
|
|
1587
|
+
KhtmlBoxFlexGroup?: csstype.Property.BoxFlexGroup | undefined;
|
|
1588
|
+
KhtmlBoxLines?: csstype.Property.BoxLines | undefined;
|
|
1589
|
+
KhtmlBoxOrdinalGroup?: csstype.Property.BoxOrdinalGroup | undefined;
|
|
1590
|
+
KhtmlBoxOrient?: csstype.Property.BoxOrient | undefined;
|
|
1591
|
+
KhtmlBoxPack?: csstype.Property.BoxPack | undefined;
|
|
1592
|
+
KhtmlLineBreak?: csstype.Property.LineBreak | undefined;
|
|
1593
|
+
KhtmlOpacity?: csstype.Property.Opacity | undefined;
|
|
1594
|
+
KhtmlUserSelect?: csstype.Property.UserSelect | undefined;
|
|
1595
|
+
MozBackfaceVisibility?: csstype.Property.BackfaceVisibility | undefined;
|
|
1596
|
+
MozBackgroundClip?: csstype.Property.BackgroundClip | undefined;
|
|
1597
|
+
MozBackgroundInlinePolicy?: csstype.Property.BoxDecorationBreak | undefined;
|
|
1598
|
+
MozBackgroundOrigin?: csstype.Property.BackgroundOrigin | undefined;
|
|
1599
|
+
MozBackgroundSize?: csstype.Property.BackgroundSize<string | number> | undefined;
|
|
1600
|
+
MozBorderRadius?: csstype.Property.BorderRadius<string | number> | undefined;
|
|
1601
|
+
MozBorderRadiusBottomleft?: csstype.Property.BorderBottomLeftRadius<string | number> | undefined;
|
|
1602
|
+
MozBorderRadiusBottomright?: csstype.Property.BorderBottomRightRadius<string | number> | undefined;
|
|
1603
|
+
MozBorderRadiusTopleft?: csstype.Property.BorderTopLeftRadius<string | number> | undefined;
|
|
1604
|
+
MozBorderRadiusTopright?: csstype.Property.BorderTopRightRadius<string | number> | undefined;
|
|
1605
|
+
MozBoxAlign?: csstype.Property.BoxAlign | undefined;
|
|
1606
|
+
MozBoxDirection?: csstype.Property.BoxDirection | undefined;
|
|
1607
|
+
MozBoxFlex?: csstype.Property.BoxFlex | undefined;
|
|
1608
|
+
MozBoxOrdinalGroup?: csstype.Property.BoxOrdinalGroup | undefined;
|
|
1609
|
+
MozBoxOrient?: csstype.Property.BoxOrient | undefined;
|
|
1610
|
+
MozBoxPack?: csstype.Property.BoxPack | undefined;
|
|
1611
|
+
MozBoxShadow?: csstype.Property.BoxShadow | undefined;
|
|
1612
|
+
MozFloatEdge?: csstype.Property.MozFloatEdge | undefined;
|
|
1613
|
+
MozForceBrokenImageIcon?: csstype.Property.MozForceBrokenImageIcon | undefined;
|
|
1614
|
+
MozOpacity?: csstype.Property.Opacity | undefined;
|
|
1615
|
+
MozOutline?: csstype.Property.Outline<string | number> | undefined;
|
|
1616
|
+
MozOutlineColor?: csstype.Property.OutlineColor | undefined;
|
|
1617
|
+
MozOutlineStyle?: csstype.Property.OutlineStyle | undefined;
|
|
1618
|
+
MozOutlineWidth?: csstype.Property.OutlineWidth<string | number> | undefined;
|
|
1619
|
+
MozPerspective?: csstype.Property.Perspective<string | number> | undefined;
|
|
1620
|
+
MozPerspectiveOrigin?: csstype.Property.PerspectiveOrigin<string | number> | undefined;
|
|
1621
|
+
MozTextAlignLast?: csstype.Property.TextAlignLast | undefined;
|
|
1622
|
+
MozTextDecorationColor?: csstype.Property.TextDecorationColor | undefined;
|
|
1623
|
+
MozTextDecorationLine?: csstype.Property.TextDecorationLine | undefined;
|
|
1624
|
+
MozTextDecorationStyle?: csstype.Property.TextDecorationStyle | undefined;
|
|
1625
|
+
MozTransform?: csstype.Property.Transform | undefined;
|
|
1626
|
+
MozTransformOrigin?: csstype.Property.TransformOrigin<string | number> | undefined;
|
|
1627
|
+
MozTransformStyle?: csstype.Property.TransformStyle | undefined;
|
|
1628
|
+
MozTransition?: csstype.Property.Transition<string & {}> | undefined;
|
|
1629
|
+
MozTransitionDelay?: csstype.Property.TransitionDelay<string & {}> | undefined;
|
|
1630
|
+
MozTransitionDuration?: csstype.Property.TransitionDuration<string & {}> | undefined;
|
|
1631
|
+
MozTransitionProperty?: csstype.Property.TransitionProperty | undefined;
|
|
1632
|
+
MozTransitionTimingFunction?: csstype.Property.TransitionTimingFunction | undefined;
|
|
1633
|
+
MozUserInput?: csstype.Property.MozUserInput | undefined;
|
|
1634
|
+
msImeMode?: csstype.Property.ImeMode | undefined;
|
|
1635
|
+
OAnimation?: csstype.Property.Animation<string & {}> | undefined;
|
|
1636
|
+
OAnimationDelay?: csstype.Property.AnimationDelay<string & {}> | undefined;
|
|
1637
|
+
OAnimationDirection?: csstype.Property.AnimationDirection | undefined;
|
|
1638
|
+
OAnimationDuration?: csstype.Property.AnimationDuration<string & {}> | undefined;
|
|
1639
|
+
OAnimationFillMode?: csstype.Property.AnimationFillMode | undefined;
|
|
1640
|
+
OAnimationIterationCount?: csstype.Property.AnimationIterationCount | undefined;
|
|
1641
|
+
OAnimationName?: csstype.Property.AnimationName | undefined;
|
|
1642
|
+
OAnimationPlayState?: csstype.Property.AnimationPlayState | undefined;
|
|
1643
|
+
OAnimationTimingFunction?: csstype.Property.AnimationTimingFunction | undefined;
|
|
1644
|
+
OBackgroundSize?: csstype.Property.BackgroundSize<string | number> | undefined;
|
|
1645
|
+
OBorderImage?: csstype.Property.BorderImage | undefined;
|
|
1646
|
+
OObjectFit?: csstype.Property.ObjectFit | undefined;
|
|
1647
|
+
OObjectPosition?: csstype.Property.ObjectPosition<string | number> | undefined;
|
|
1648
|
+
OTabSize?: csstype.Property.TabSize<string | number> | undefined;
|
|
1649
|
+
OTextOverflow?: csstype.Property.TextOverflow | undefined;
|
|
1650
|
+
OTransform?: csstype.Property.Transform | undefined;
|
|
1651
|
+
OTransformOrigin?: csstype.Property.TransformOrigin<string | number> | undefined;
|
|
1652
|
+
OTransition?: csstype.Property.Transition<string & {}> | undefined;
|
|
1653
|
+
OTransitionDelay?: csstype.Property.TransitionDelay<string & {}> | undefined;
|
|
1654
|
+
OTransitionDuration?: csstype.Property.TransitionDuration<string & {}> | undefined;
|
|
1655
|
+
OTransitionProperty?: csstype.Property.TransitionProperty | undefined;
|
|
1656
|
+
OTransitionTimingFunction?: csstype.Property.TransitionTimingFunction | undefined;
|
|
1657
|
+
WebkitBoxAlign?: csstype.Property.BoxAlign | undefined;
|
|
1658
|
+
WebkitBoxDirection?: csstype.Property.BoxDirection | undefined;
|
|
1659
|
+
WebkitBoxFlex?: csstype.Property.BoxFlex | undefined;
|
|
1660
|
+
WebkitBoxFlexGroup?: csstype.Property.BoxFlexGroup | undefined;
|
|
1661
|
+
WebkitBoxLines?: csstype.Property.BoxLines | undefined;
|
|
1662
|
+
WebkitBoxOrdinalGroup?: csstype.Property.BoxOrdinalGroup | undefined;
|
|
1663
|
+
WebkitBoxOrient?: csstype.Property.BoxOrient | undefined;
|
|
1664
|
+
WebkitBoxPack?: csstype.Property.BoxPack | undefined;
|
|
1665
|
+
alignmentBaseline?: csstype.Property.AlignmentBaseline | undefined;
|
|
1666
|
+
baselineShift?: csstype.Property.BaselineShift<string | number> | undefined;
|
|
1667
|
+
clipRule?: csstype.Property.ClipRule | undefined;
|
|
1668
|
+
colorInterpolation?: csstype.Property.ColorInterpolation | undefined;
|
|
1669
|
+
colorRendering?: csstype.Property.ColorRendering | undefined;
|
|
1670
|
+
dominantBaseline?: csstype.Property.DominantBaseline | undefined;
|
|
1671
|
+
fill?: csstype.Property.Fill | undefined;
|
|
1672
|
+
fillOpacity?: csstype.Property.FillOpacity | undefined;
|
|
1673
|
+
fillRule?: csstype.Property.FillRule | undefined;
|
|
1674
|
+
floodColor?: csstype.Property.FloodColor | undefined;
|
|
1675
|
+
floodOpacity?: csstype.Property.FloodOpacity | undefined;
|
|
1676
|
+
glyphOrientationVertical?: csstype.Property.GlyphOrientationVertical | undefined;
|
|
1677
|
+
lightingColor?: csstype.Property.LightingColor | undefined;
|
|
1678
|
+
marker?: csstype.Property.Marker | undefined;
|
|
1679
|
+
markerEnd?: csstype.Property.MarkerEnd | undefined;
|
|
1680
|
+
markerMid?: csstype.Property.MarkerMid | undefined;
|
|
1681
|
+
markerStart?: csstype.Property.MarkerStart | undefined;
|
|
1682
|
+
shapeRendering?: csstype.Property.ShapeRendering | undefined;
|
|
1683
|
+
stopColor?: csstype.Property.StopColor | undefined;
|
|
1684
|
+
stopOpacity?: csstype.Property.StopOpacity | undefined;
|
|
1685
|
+
stroke?: csstype.Property.Stroke | undefined;
|
|
1686
|
+
strokeDasharray?: csstype.Property.StrokeDasharray<string | number> | undefined;
|
|
1687
|
+
strokeDashoffset?: csstype.Property.StrokeDashoffset<string | number> | undefined;
|
|
1688
|
+
strokeLinecap?: csstype.Property.StrokeLinecap | undefined;
|
|
1689
|
+
strokeLinejoin?: csstype.Property.StrokeLinejoin | undefined;
|
|
1690
|
+
strokeMiterlimit?: csstype.Property.StrokeMiterlimit | undefined;
|
|
1691
|
+
strokeOpacity?: csstype.Property.StrokeOpacity | undefined;
|
|
1692
|
+
strokeWidth?: csstype.Property.StrokeWidth<string | number> | undefined;
|
|
1693
|
+
textAnchor?: csstype.Property.TextAnchor | undefined;
|
|
1694
|
+
vectorEffect?: csstype.Property.VectorEffect | undefined;
|
|
1695
|
+
};
|
|
1696
|
+
}, HTMLElement> | null;
|
|
1697
|
+
/**
|
|
1698
|
+
* `useReverification(callback, opts)` — wraps a sensitive action so the
|
|
1699
|
+
* caller is automatically prompted for reverification on
|
|
1700
|
+
* `REVERIFICATION_REQUIRED|EXPIRED|INVALID|USED|LEVEL_INSUFFICIENT`
|
|
1701
|
+
* responses, then retried once.
|
|
1702
|
+
*
|
|
1703
|
+
* Pattern matches Clerk's `useReverification`: provide the work, get
|
|
1704
|
+
* back a function that throws only when the user cancels or
|
|
1705
|
+
* reverification fails.
|
|
1706
|
+
*/
|
|
1707
|
+
interface UseReverificationOptions {
|
|
1708
|
+
level?: "password" | "mfa";
|
|
1709
|
+
prompt?: (level: "password" | "mfa") => Promise<{
|
|
1710
|
+
password?: string;
|
|
1711
|
+
totp?: string;
|
|
1712
|
+
method?: "totp" | "sms" | "email";
|
|
1713
|
+
} | null>;
|
|
1714
|
+
}
|
|
1715
|
+
declare function useReverification<T extends (...args: any[]) => Promise<Response>>(fn: (token: string | null) => T, opts?: UseReverificationOptions): T;
|
|
1716
|
+
interface CreateOrganizationProps {
|
|
1717
|
+
iqAuthBaseUrl: string;
|
|
1718
|
+
defaultRole?: string;
|
|
1719
|
+
/** When provided, navigate the browser to this URL after creation (after `onCreated`). */
|
|
1720
|
+
redirectUrl?: string | ((tenant: {
|
|
1721
|
+
id: string;
|
|
1722
|
+
name: string;
|
|
1723
|
+
slug: string;
|
|
1724
|
+
}) => string);
|
|
1725
|
+
onCreated?: (tenant: {
|
|
1726
|
+
id: string;
|
|
1727
|
+
name: string;
|
|
1728
|
+
slug: string;
|
|
1729
|
+
}) => void;
|
|
1730
|
+
/** Hide the inline shell (useful when embedding inside another card). */
|
|
1731
|
+
unstyled?: boolean;
|
|
1732
|
+
appearance?: IQAuthAppearance;
|
|
1733
|
+
className?: string;
|
|
1734
|
+
}
|
|
1735
|
+
/** Slug helper: `Acme, Inc!` → `acme-inc`. Exported for parity with the hosted form. */
|
|
1736
|
+
declare function slugify(input: string): string;
|
|
1737
|
+
/**
|
|
1738
|
+
* `<CreateOrganization/>` — render an inline form that POSTs to
|
|
1739
|
+
* `/api/v1/tenants` to create a new tenant. Slug auto-generates from
|
|
1740
|
+
* the name (the user can override before submit). Optional `metadata`
|
|
1741
|
+
* is forwarded; optional `redirectUrl` navigates the browser after
|
|
1742
|
+
* the `onCreated` callback fires. Mirrors Clerk's `<CreateOrganization/>`
|
|
1743
|
+
* ergonomics.
|
|
1744
|
+
*/
|
|
1745
|
+
declare function CreateOrganization({ iqAuthBaseUrl, onCreated, redirectUrl, unstyled, appearance, className }: CreateOrganizationProps): react_jsx_runtime.JSX.Element;
|
|
1746
|
+
interface OrganizationProfileProps {
|
|
1747
|
+
iqAuthBaseUrl: string;
|
|
1748
|
+
tenantId?: string;
|
|
1749
|
+
/** Tabs visible to the user. Defaults to all four. */
|
|
1750
|
+
tabs?: Array<"general" | "members" | "invitations" | "danger">;
|
|
1751
|
+
/** Called after the tenant is deleted (for navigation/cleanup). */
|
|
1752
|
+
onDeleted?: (tenantId: string) => void;
|
|
1753
|
+
appearance?: IQAuthAppearance;
|
|
1754
|
+
className?: string;
|
|
1755
|
+
}
|
|
1756
|
+
/**
|
|
1757
|
+
* `<OrganizationProfile/>` — manage the active (or specified) tenant:
|
|
1758
|
+
* rename it, invite members, change member roles, and remove members.
|
|
1759
|
+
* Mirrors Clerk's `<OrganizationProfile/>`.
|
|
1760
|
+
*/
|
|
1761
|
+
declare function OrganizationProfile({ iqAuthBaseUrl, tenantId: tenantIdProp, tabs, onDeleted, appearance, className }: OrganizationProfileProps): react_jsx_runtime.JSX.Element;
|
|
1762
|
+
interface OrganizationListProps {
|
|
1763
|
+
iqAuthBaseUrl: string;
|
|
1764
|
+
onSelect?: (tenantId: string) => void;
|
|
1765
|
+
/** When true (default), shows a "Create new organization" CTA that toggles an inline `<CreateOrganization/>`. */
|
|
1766
|
+
showCreate?: boolean;
|
|
1767
|
+
/** URL to navigate to after a new organization is created (passed to `<CreateOrganization redirectUrl=…/>`). */
|
|
1768
|
+
createRedirectUrl?: string | ((tenant: {
|
|
1769
|
+
id: string;
|
|
1770
|
+
name: string;
|
|
1771
|
+
slug: string;
|
|
1772
|
+
}) => string);
|
|
1773
|
+
appearance?: IQAuthAppearance;
|
|
1774
|
+
className?: string;
|
|
1775
|
+
}
|
|
1776
|
+
/**
|
|
1777
|
+
* `<OrganizationList/>` — list every tenant the signed-in user
|
|
1778
|
+
* belongs to, with the active tenant highlighted. Clicking an
|
|
1779
|
+
* inactive entry calls `/api/v1/auth/select-tenant` to switch.
|
|
1780
|
+
*/
|
|
1781
|
+
declare function OrganizationList({ iqAuthBaseUrl, onSelect, showCreate, createRedirectUrl, appearance, className }: OrganizationListProps): react_jsx_runtime.JSX.Element;
|
|
1782
|
+
interface WaitlistProps {
|
|
1783
|
+
iqAuthBaseUrl: string;
|
|
1784
|
+
appKey?: string;
|
|
1785
|
+
appId?: string;
|
|
1786
|
+
/** Title shown above the form (defaults to "Join the waitlist"). */
|
|
1787
|
+
title?: string;
|
|
1788
|
+
/** Subtitle / description shown above the form. */
|
|
1789
|
+
subtitle?: string;
|
|
1790
|
+
/** Replace the success message after submission. */
|
|
1791
|
+
successMessage?: string;
|
|
1792
|
+
appearance?: IQAuthAppearance;
|
|
1793
|
+
className?: string;
|
|
1794
|
+
}
|
|
1795
|
+
/**
|
|
1796
|
+
* `<Waitlist/>` — collect email + optional name and POST to
|
|
1797
|
+
* `/api/v1/waitlist`. Used when an app has waitlist gating enabled
|
|
1798
|
+
* and self-signup is closed.
|
|
1799
|
+
*/
|
|
1800
|
+
declare function Waitlist({ iqAuthBaseUrl, appKey, appId, title, subtitle, successMessage, appearance, className }: WaitlistProps): react_jsx_runtime.JSX.Element;
|
|
1801
|
+
|
|
1802
|
+
interface UseMagicLinkResult {
|
|
1803
|
+
request: (input: MagicLinkRequestInput) => Promise<void>;
|
|
1804
|
+
sent: boolean;
|
|
1805
|
+
busy: boolean;
|
|
1806
|
+
error: string | null;
|
|
1807
|
+
}
|
|
1808
|
+
declare function useMagicLink(override?: Partial<PasswordlessOptions>): UseMagicLinkResult;
|
|
1809
|
+
interface UsePasskeyResult {
|
|
1810
|
+
signIn: (input?: {
|
|
1811
|
+
email?: string;
|
|
1812
|
+
}) => Promise<unknown>;
|
|
1813
|
+
enroll: (name?: string) => Promise<unknown>;
|
|
1814
|
+
busy: boolean;
|
|
1815
|
+
error: string | null;
|
|
1816
|
+
}
|
|
1817
|
+
declare function usePasskey(override?: Partial<PasswordlessOptions>): UsePasskeyResult;
|
|
1818
|
+
interface UseLinkedIdentitiesResult {
|
|
1819
|
+
identities: LinkedIdentity[];
|
|
1820
|
+
loading: boolean;
|
|
1821
|
+
error: string | null;
|
|
1822
|
+
refresh: () => Promise<void>;
|
|
1823
|
+
link: (input: LinkProviderInput) => Promise<void>;
|
|
1824
|
+
unlink: (provider: string, password?: string) => Promise<void>;
|
|
1825
|
+
}
|
|
1826
|
+
declare function useLinkedIdentities(override?: Partial<PasswordlessOptions>): UseLinkedIdentitiesResult;
|
|
1827
|
+
interface MagicLinkSignInFormProps extends Partial<PasswordlessOptions> {
|
|
1828
|
+
appId?: string;
|
|
1829
|
+
redirectUri: string;
|
|
1830
|
+
className?: string;
|
|
1831
|
+
placeholder?: string;
|
|
1832
|
+
buttonLabel?: string;
|
|
1833
|
+
}
|
|
1834
|
+
declare function MagicLinkSignInForm(props: MagicLinkSignInFormProps): react_jsx_runtime.JSX.Element;
|
|
1835
|
+
interface PasskeySignInButtonProps extends Partial<PasswordlessOptions> {
|
|
1836
|
+
email?: string;
|
|
1837
|
+
className?: string;
|
|
1838
|
+
children?: ReactNode;
|
|
1839
|
+
}
|
|
1840
|
+
declare function PasskeySignInButton({ email, className, children, ...rest }: PasskeySignInButtonProps): react_jsx_runtime.JSX.Element;
|
|
1841
|
+
interface LinkedAccountsProps extends Partial<PasswordlessOptions> {
|
|
1842
|
+
className?: string;
|
|
1843
|
+
onChange?: () => void;
|
|
1844
|
+
}
|
|
1845
|
+
declare function LinkedAccounts({ className, onChange, ...rest }: LinkedAccountsProps): react_jsx_runtime.JSX.Element;
|
|
1846
|
+
declare const __version__ = "phase-bc-1.0.0";
|
|
1847
|
+
|
|
1848
|
+
export { useResolvedSdkBranding as $, type AccountSummary as A, performTenantSwitch as B, type ScopeRequirement as C, claimSatisfiesScope as D, Protect as E, type RedirectToSignedInProps as F, RedirectToSignedIn as G, type UseReturnToOptions as H, type IQAuthAppearanceElements as I, useReturnTo as J, type IQAuthReturnToBouncerProps as K, IQAuthReturnToBouncer as L, MultisessionAppSupport as M, preflightReturnTo as N, type AuthCallbackProps as O, type ProtectProps as P, AuthCallback as Q, type RedirectToSignInProps as R, type SessionError as S, type TenantSwitchResult as T, type UseUserResult as U, type IQAuthBranding as V, type IQAuthSignInContext as W, type SharedComponentProps as X, useIQAuthSignInContext as Y, sanitizeBrandCss as Z, __useIQAuthInternal as _, type IQAuthAppearance as a, type SignInProps as a0, isSilentSsoEligible as a1, resolveAfterSignInDestination as a2, SignIn as a3, type SignUpProps as a4, SignUp as a5, type UserSummary as a6, type UserButtonProps as a7, UserButton as a8, type UserProfileProps as a9, usePasskey as aA, type UseLinkedIdentitiesResult as aB, useLinkedIdentities as aC, type MagicLinkSignInFormProps as aD, MagicLinkSignInForm as aE, type PasskeySignInButtonProps as aF, PasskeySignInButton as aG, type LinkedAccountsProps as aH, LinkedAccounts as aI, __version__ as aJ, UserProfile as aa, type OrganizationSwitcherProps as ab, OrganizationSwitcher as ac, type ScopedMembership as ad, type UseMembershipsResult as ae, useMemberships as af, type ScopeSwitcherProps as ag, ScopeSwitcher as ah, type ImpersonationInfo as ai, useImpersonation as aj, type ImpersonationBannerProps as ak, ImpersonationBanner as al, type UseReverificationOptions as am, useReverification as an, type CreateOrganizationProps as ao, slugify as ap, CreateOrganization as aq, type OrganizationProfileProps as ar, OrganizationProfile as as, type OrganizationListProps as at, OrganizationList as au, type WaitlistProps as av, Waitlist as aw, type UseMagicLinkResult as ax, useMagicLink as ay, type UsePasskeyResult as az, type IQAuthProviderProps as b, IQAuthProvider as c, useT as d, useUser as e, type UseSessionResult as f, useSession as g, type UseAuthResult as h, useAuth as i, type UseOrganizationResult as j, useOrganization as k, useAuthFetch as l, type SessionListItem as m, type UseSessionListResult as n, useSessionList as o, useAccountList as p, type UseAccountSwitcherResult as q, revokeSession as r, useAccountSwitcher as s, SignedIn as t, useLocale as u, SignedOut as v, IQAuthLoading as w, IQAuthLoaded as x, RedirectToSignIn as y, performScopeSwitch as z };
|