Skip to content

Commit 48ca40a

Browse files
authoredNov 1, 2023
refactor(types): Simplify WithOptions type generic (#1995)
1 parent d37d44a commit 48ca40a

File tree

2 files changed

+262
-257
lines changed

2 files changed

+262
-257
lines changed
 

‎.changeset/two-terms-speak.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/types': patch
3+
---
4+
5+
Simplify the WithOptions generic type

‎packages/types/src/appearance.ts

+257-257
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ export type SelectId = 'countryCode' | 'role';
108108
* If jsx exists, the element can also receive a typed function that returns a JSX.Element
109109
*/
110110
type ConfigOptions = { states: ElementState; ids: string; jsx: any };
111-
type WithOptions<Ids, States, Jsx> = { ids: Ids; states: States; jsx: Jsx };
111+
type WithOptions<Ids = never, States = never, Jsx = never> = { ids: Ids; states: States; jsx: Jsx };
112112

113113
/**
114114
* Create a type union of all state + id combinations
@@ -153,282 +153,282 @@ export type ElementObjectKey<K extends string> = K extends `${infer Parent}-${in
153153
* Kebab-case is used to differentiate between the container and child elements
154154
*/
155155
export type ElementsConfig = {
156-
rootBox: WithOptions<never, never, never>;
157-
card: WithOptions<never, never, never>;
158-
159-
logoBox: WithOptions<never, never, never>;
160-
logoImage: WithOptions<never, never, never>;
161-
// outerLogo: WithOptions<never, never, never>;
162-
// 'outerLogo-image': WithOptions<never, never, never>;
163-
164-
header: WithOptions<never, never, never>;
165-
headerTitle: WithOptions<never, never, never>;
166-
headerSubtitle: WithOptions<never, never, never>;
167-
headerBackRow: WithOptions<never, never, never>;
168-
headerBackLink: WithOptions<never, never, never>;
169-
headerBackIcon: WithOptions<never, never, never>;
170-
171-
main: WithOptions<never, never, never>;
172-
173-
footer: WithOptions<never, never, never>;
174-
footerAction: WithOptions<FooterActionId, never, never>;
175-
footerActionText: WithOptions<never, never, never>;
176-
footerActionLink: WithOptions<never, never, never>;
177-
footerPages: WithOptions<never, never, never>;
178-
footerPagesLink: WithOptions<'help' | 'terms' | 'privacy', never, never>;
179-
180-
socialButtons: WithOptions<never, never, never>;
181-
socialButtonsIconButton: WithOptions<OAuthProvider | Web3Provider, LoadingState, never>;
182-
socialButtonsBlockButton: WithOptions<OAuthProvider | Web3Provider, LoadingState, never>;
183-
socialButtonsBlockButtonText: WithOptions<OAuthProvider | Web3Provider, never, never>;
184-
socialButtonsBlockButtonArrow: WithOptions<OAuthProvider | Web3Provider, never, never>;
185-
socialButtonsProviderIcon: WithOptions<OAuthProvider | Web3Provider, LoadingState, never>;
186-
187-
enterpriseButtonsProviderIcon: WithOptions<SamlIdpSlug, LoadingState, never>;
188-
189-
alternativeMethods: WithOptions<never, never, never>;
190-
alternativeMethodsBlockButton: WithOptions<OAuthProvider | Web3Provider, LoadingState, never>;
191-
alternativeMethodsBlockButtonText: WithOptions<OAuthProvider | Web3Provider, never, never>;
192-
alternativeMethodsBlockButtonArrow: WithOptions<OAuthProvider | Web3Provider, never, never>;
193-
194-
otpCodeBox: WithOptions<never, never, never>;
195-
otpCodeHeader: WithOptions<never, never, never>;
196-
otpCodeHeaderTitle: WithOptions<never, never, never>;
197-
otpCodeHeaderSubtitle: WithOptions<never, never, never>;
198-
otpCodeField: WithOptions<never, never, never>;
199-
otpCodeFieldInputs: WithOptions<never, never, never>;
200-
otpCodeFieldInput: WithOptions<never, never, never>;
201-
otpCodeFieldErrorText: WithOptions<never, never, never>;
202-
203-
dividerRow: WithOptions<never, never, never>;
204-
dividerText: WithOptions<never, never, never>;
205-
dividerLine: WithOptions<never, never, never>;
206-
207-
formHeader: WithOptions<never, ErrorState, never>;
208-
formHeaderTitle: WithOptions<never, ErrorState, never>;
209-
formHeaderSubtitle: WithOptions<never, ErrorState, never>;
210-
formResendCodeLink: WithOptions<never, never, never>;
211-
212-
verificationLinkStatusBox: WithOptions<never, never, never>;
213-
verificationLinkStatusIconBox: WithOptions<never, never, never>;
214-
verificationLinkStatusIcon: WithOptions<never, never, never>;
215-
verificationLinkStatusText: WithOptions<never, never, never>;
216-
217-
form: WithOptions<never, ErrorState, never>;
218-
formFieldRow: WithOptions<FieldId, never, never>;
219-
formField: WithOptions<FieldId, ControlState, never>;
220-
formFieldLabelRow: WithOptions<FieldId, ControlState, never>;
221-
formFieldLabel: WithOptions<FieldId, ControlState, never>;
222-
formFieldRadioGroup: WithOptions<never, never, never>;
223-
formFieldRadioGroupItem: WithOptions<never, never, never>;
224-
formFieldRadioInput: WithOptions<never, never, never>;
225-
formFieldRadioLabel: WithOptions<FieldId, ControlState, never>;
226-
formFieldRadioLabelTitle: WithOptions<FieldId, ControlState, never>;
227-
formFieldRadioLabelDescription: WithOptions<FieldId, ControlState, never>;
228-
formFieldAction: WithOptions<FieldId, ControlState, never>;
229-
formFieldInput: WithOptions<FieldId, ControlState, never>;
230-
formFieldErrorText: WithOptions<FieldId, ControlState, never>;
231-
formFieldWarningText: WithOptions<FieldId, ControlState, never>;
232-
formFieldSuccessText: WithOptions<FieldId, ControlState, never>;
233-
formFieldInfoText: WithOptions<FieldId, ControlState, never>;
234-
formFieldDirectionsText: WithOptions<FieldId, ControlState, never>;
235-
formFieldHintText: WithOptions<FieldId, ControlState, never>;
236-
formButtonRow: WithOptions<never, ControlState | LoadingState, never>;
237-
formButtonPrimary: WithOptions<never, ControlState | LoadingState, never>;
238-
formButtonReset: WithOptions<never, ControlState | LoadingState, never>;
239-
formFieldInputGroup: WithOptions<never, never, never>;
240-
formFieldInputShowPasswordButton: WithOptions<never, never, never>;
241-
formFieldInputShowPasswordIcon: WithOptions<never, never, never>;
242-
formFieldInputCopyToClipboardButton: WithOptions<never, never, never>;
243-
formFieldInputCopyToClipboardIcon: WithOptions<never, never, never>;
244-
245-
phoneInputBox: WithOptions<never, ControlState, never>;
246-
formInputGroup: WithOptions<never, ControlState, never>;
247-
248-
avatarBox: WithOptions<never, never, never>;
249-
avatarImage: WithOptions<never, never, never>;
250-
avatarImageActions: WithOptions<never, never, never>;
251-
avatarImageActionsUpload: WithOptions<never, never, never>;
252-
avatarImageActionsRemove: WithOptions<never, never, never>;
156+
rootBox: WithOptions;
157+
card: WithOptions;
158+
159+
logoBox: WithOptions;
160+
logoImage: WithOptions;
161+
// outerLogo: WithOptions;
162+
// 'outerLogo-image': WithOptions;
163+
164+
header: WithOptions;
165+
headerTitle: WithOptions;
166+
headerSubtitle: WithOptions;
167+
headerBackRow: WithOptions;
168+
headerBackLink: WithOptions;
169+
headerBackIcon: WithOptions;
170+
171+
main: WithOptions;
172+
173+
footer: WithOptions;
174+
footerAction: WithOptions<FooterActionId>;
175+
footerActionText: WithOptions;
176+
footerActionLink: WithOptions;
177+
footerPages: WithOptions;
178+
footerPagesLink: WithOptions<'help' | 'terms' | 'privacy'>;
179+
180+
socialButtons: WithOptions;
181+
socialButtonsIconButton: WithOptions<OAuthProvider | Web3Provider, LoadingState>;
182+
socialButtonsBlockButton: WithOptions<OAuthProvider | Web3Provider, LoadingState>;
183+
socialButtonsBlockButtonText: WithOptions<OAuthProvider | Web3Provider>;
184+
socialButtonsBlockButtonArrow: WithOptions<OAuthProvider | Web3Provider>;
185+
socialButtonsProviderIcon: WithOptions<OAuthProvider | Web3Provider, LoadingState>;
186+
187+
enterpriseButtonsProviderIcon: WithOptions<SamlIdpSlug, LoadingState>;
188+
189+
alternativeMethods: WithOptions;
190+
alternativeMethodsBlockButton: WithOptions<OAuthProvider | Web3Provider, LoadingState>;
191+
alternativeMethodsBlockButtonText: WithOptions<OAuthProvider | Web3Provider>;
192+
alternativeMethodsBlockButtonArrow: WithOptions<OAuthProvider | Web3Provider>;
193+
194+
otpCodeBox: WithOptions;
195+
otpCodeHeader: WithOptions;
196+
otpCodeHeaderTitle: WithOptions;
197+
otpCodeHeaderSubtitle: WithOptions;
198+
otpCodeField: WithOptions;
199+
otpCodeFieldInputs: WithOptions;
200+
otpCodeFieldInput: WithOptions;
201+
otpCodeFieldErrorText: WithOptions;
202+
203+
dividerRow: WithOptions;
204+
dividerText: WithOptions;
205+
dividerLine: WithOptions;
206+
207+
formHeader: WithOptions<never, ErrorState>;
208+
formHeaderTitle: WithOptions<never, ErrorState>;
209+
formHeaderSubtitle: WithOptions<never, ErrorState>;
210+
formResendCodeLink: WithOptions;
211+
212+
verificationLinkStatusBox: WithOptions;
213+
verificationLinkStatusIconBox: WithOptions;
214+
verificationLinkStatusIcon: WithOptions;
215+
verificationLinkStatusText: WithOptions;
216+
217+
form: WithOptions<never, ErrorState>;
218+
formFieldRow: WithOptions<FieldId>;
219+
formField: WithOptions<FieldId, ControlState>;
220+
formFieldLabelRow: WithOptions<FieldId, ControlState>;
221+
formFieldLabel: WithOptions<FieldId, ControlState>;
222+
formFieldRadioGroup: WithOptions;
223+
formFieldRadioGroupItem: WithOptions;
224+
formFieldRadioInput: WithOptions;
225+
formFieldRadioLabel: WithOptions<FieldId, ControlState>;
226+
formFieldRadioLabelTitle: WithOptions<FieldId, ControlState>;
227+
formFieldRadioLabelDescription: WithOptions<FieldId, ControlState>;
228+
formFieldAction: WithOptions<FieldId, ControlState>;
229+
formFieldInput: WithOptions<FieldId, ControlState>;
230+
formFieldErrorText: WithOptions<FieldId, ControlState>;
231+
formFieldWarningText: WithOptions<FieldId, ControlState>;
232+
formFieldSuccessText: WithOptions<FieldId, ControlState>;
233+
formFieldInfoText: WithOptions<FieldId, ControlState>;
234+
formFieldDirectionsText: WithOptions<FieldId, ControlState>;
235+
formFieldHintText: WithOptions<FieldId, ControlState>;
236+
formButtonRow: WithOptions<never, ControlState | LoadingState>;
237+
formButtonPrimary: WithOptions<never, ControlState | LoadingState>;
238+
formButtonReset: WithOptions<never, ControlState | LoadingState>;
239+
formFieldInputGroup: WithOptions;
240+
formFieldInputShowPasswordButton: WithOptions;
241+
formFieldInputShowPasswordIcon: WithOptions;
242+
formFieldInputCopyToClipboardButton: WithOptions;
243+
formFieldInputCopyToClipboardIcon: WithOptions;
244+
245+
phoneInputBox: WithOptions<never, ControlState>;
246+
formInputGroup: WithOptions<never, ControlState>;
247+
248+
avatarBox: WithOptions;
249+
avatarImage: WithOptions;
250+
avatarImageActions: WithOptions;
251+
avatarImageActionsUpload: WithOptions;
252+
avatarImageActionsRemove: WithOptions;
253253

254254
// TODO: We can remove "Popover" from these:
255-
userButtonBox: WithOptions<never, 'open', never>;
256-
userButtonOuterIdentifier: WithOptions<never, 'open', never>;
257-
userButtonTrigger: WithOptions<never, 'open', never>;
258-
userButtonAvatarBox: WithOptions<never, 'open', never>;
259-
userButtonAvatarImage: WithOptions<never, 'open', never>;
260-
userButtonPopoverRootBox: WithOptions<never, never, never>;
261-
userButtonPopoverCard: WithOptions<never, never, never>;
262-
userButtonPopoverMain: WithOptions<never, never, never>;
263-
userButtonPopoverUserPreview: WithOptions<never, never, never>;
264-
userButtonPopoverActions: WithOptions<never, never, never>;
265-
userButtonPopoverActionButton: WithOptions<'manageAccount' | 'signOut', never, never>;
266-
userButtonPopoverActionButtonIconBox: WithOptions<'manageAccount' | 'signOut', never, never>;
267-
userButtonPopoverActionButtonIcon: WithOptions<'manageAccount' | 'signOut', never, never>;
268-
userButtonPopoverActionButtonText: WithOptions<'manageAccount' | 'signOut', never, never>;
269-
userButtonPopoverFooter: WithOptions<never, never, never>;
270-
userButtonPopoverFooterPages: WithOptions<never, never, never>;
271-
userButtonPopoverFooterPagesLink: WithOptions<'terms' | 'privacy', never, never>;
272-
273-
organizationSwitcherTrigger: WithOptions<never, 'open', never>;
274-
organizationSwitcherTriggerIcon: WithOptions<never, 'open', never>;
275-
organizationSwitcherPopoverRootBox: WithOptions<never, never, never>;
276-
organizationSwitcherPopoverCard: WithOptions<never, never, never>;
277-
organizationSwitcherPopoverMain: WithOptions<never, never, never>;
278-
organizationSwitcherPopoverActions: WithOptions<never, never, never>;
279-
organizationSwitcherPopoverInvitationActions: WithOptions<never, never, never>;
255+
userButtonBox: WithOptions<never, 'open'>;
256+
userButtonOuterIdentifier: WithOptions<never, 'open'>;
257+
userButtonTrigger: WithOptions<never, 'open'>;
258+
userButtonAvatarBox: WithOptions<never, 'open'>;
259+
userButtonAvatarImage: WithOptions<never, 'open'>;
260+
userButtonPopoverRootBox: WithOptions;
261+
userButtonPopoverCard: WithOptions;
262+
userButtonPopoverMain: WithOptions;
263+
userButtonPopoverUserPreview: WithOptions;
264+
userButtonPopoverActions: WithOptions;
265+
userButtonPopoverActionButton: WithOptions<'manageAccount' | 'signOut'>;
266+
userButtonPopoverActionButtonIconBox: WithOptions<'manageAccount' | 'signOut'>;
267+
userButtonPopoverActionButtonIcon: WithOptions<'manageAccount' | 'signOut'>;
268+
userButtonPopoverActionButtonText: WithOptions<'manageAccount' | 'signOut'>;
269+
userButtonPopoverFooter: WithOptions;
270+
userButtonPopoverFooterPages: WithOptions;
271+
userButtonPopoverFooterPagesLink: WithOptions<'terms' | 'privacy'>;
272+
273+
organizationSwitcherTrigger: WithOptions<never, 'open'>;
274+
organizationSwitcherTriggerIcon: WithOptions<never, 'open'>;
275+
organizationSwitcherPopoverRootBox: WithOptions;
276+
organizationSwitcherPopoverCard: WithOptions;
277+
organizationSwitcherPopoverMain: WithOptions;
278+
organizationSwitcherPopoverActions: WithOptions;
279+
organizationSwitcherPopoverInvitationActions: WithOptions;
280280
organizationSwitcherPopoverActionButton: WithOptions<
281281
'manageOrganization' | 'createOrganization' | 'switchOrganization',
282282
never,
283283
never
284284
>;
285-
organizationSwitcherPreviewButton: WithOptions<never, never, never>;
286-
organizationSwitcherInvitationAcceptButton: WithOptions<never, never, never>;
287-
organizationSwitcherInvitationRejectButton: WithOptions<never, never, never>;
285+
organizationSwitcherPreviewButton: WithOptions;
286+
organizationSwitcherInvitationAcceptButton: WithOptions;
287+
organizationSwitcherInvitationRejectButton: WithOptions;
288288
organizationSwitcherPopoverActionButtonIconBox: WithOptions<
289289
'manageOrganization' | 'createOrganization',
290290
never,
291291
never
292292
>;
293-
organizationSwitcherPopoverActionButtonIcon: WithOptions<'manageOrganization' | 'createOrganization', never, never>;
294-
organizationSwitcherPopoverActionButtonText: WithOptions<'manageOrganization' | 'createOrganization', never, never>;
295-
organizationSwitcherPopoverFooter: WithOptions<never, never, never>;
296-
organizationSwitcherPopoverFooterPages: WithOptions<never, never, never>;
297-
organizationSwitcherPopoverFooterPagesLink: WithOptions<'terms' | 'privacy', never, never>;
293+
organizationSwitcherPopoverActionButtonIcon: WithOptions<'manageOrganization' | 'createOrganization'>;
294+
organizationSwitcherPopoverActionButtonText: WithOptions<'manageOrganization' | 'createOrganization'>;
295+
organizationSwitcherPopoverFooter: WithOptions;
296+
organizationSwitcherPopoverFooterPages: WithOptions;
297+
organizationSwitcherPopoverFooterPagesLink: WithOptions<'terms' | 'privacy'>;
298298

299-
organizationListPreviewItems: WithOptions<never, never, never>;
300-
organizationListPreviewItem: WithOptions<never, never, never>;
301-
organizationListPreviewButton: WithOptions<never, never, never>;
302-
organizationListPreviewItemActionButton: WithOptions<never, never, never>;
299+
organizationListPreviewItems: WithOptions;
300+
organizationListPreviewItem: WithOptions;
301+
organizationListPreviewButton: WithOptions;
302+
organizationListPreviewItemActionButton: WithOptions;
303303

304304
// TODO: Test this idea. Instead of userButtonUserPreview, have a userPreview__userButton instead
305305
// Same for other repeated selectors, eg avatar
306-
userPreview: WithOptions<UserPreviewId, never, never>;
307-
userPreviewAvatarContainer: WithOptions<UserPreviewId, never, never>;
308-
userPreviewAvatarBox: WithOptions<UserPreviewId, never, never>;
309-
userPreviewAvatarImage: WithOptions<UserPreviewId, never, never>;
310-
userPreviewTextContainer: WithOptions<UserPreviewId, never, never>;
311-
userPreviewMainIdentifier: WithOptions<UserPreviewId, never, never>;
312-
userPreviewSecondaryIdentifier: WithOptions<UserPreviewId, never, never>;
313-
314-
organizationPreview: WithOptions<OrganizationPreviewId, never, never>;
315-
organizationPreviewAvatarContainer: WithOptions<OrganizationPreviewId, never, never>;
316-
organizationPreviewAvatarBox: WithOptions<OrganizationPreviewId, never, never>;
317-
organizationPreviewAvatarImage: WithOptions<OrganizationPreviewId, never, never>;
318-
organizationPreviewTextContainer: WithOptions<OrganizationPreviewId, never, never>;
319-
organizationPreviewMainIdentifier: WithOptions<OrganizationPreviewId, never, never>;
320-
organizationPreviewSecondaryIdentifier: WithOptions<OrganizationPreviewId, never, never>;
321-
322-
membersPageInviteButton: WithOptions<never, never, never>;
323-
organizationProfilePage: WithOptions<never, never, never>;
324-
325-
identityPreview: WithOptions<never, never, never>;
326-
identityPreviewAvatarBox: WithOptions<never, never, never>;
327-
identityPreviewAvatarImage: WithOptions<never, never, never>;
328-
identityPreviewText: WithOptions<never, never, never>;
329-
identityPreviewEditButton: WithOptions<never, never, never>;
330-
identityPreviewEditButtonIcon: WithOptions<never, never, never>;
331-
332-
alert: WithOptions<AlertId, never, never>;
333-
alertIcon: WithOptions<AlertId, never, never>;
334-
alertText: WithOptions<AlertId, never, never>;
335-
alertTextContainer: WithOptions<AlertId, never, never>;
336-
337-
tagInputContainer: WithOptions<never, never, never>;
338-
tagPillIcon: WithOptions<never, never, never>;
339-
tagPillContainer: WithOptions<never, never, never>;
340-
341-
tabPanel: WithOptions<never, never, never>;
342-
tabButton: WithOptions<never, never, never>;
343-
tabListContainer: WithOptions<never, never, never>;
344-
345-
tableHead: WithOptions<never, never, never>;
346-
347-
paginationButton: WithOptions<never, never, never>;
348-
paginationRowText: WithOptions<'allRowsCount' | 'rowsCount' | 'displaying', never, never>;
349-
350-
selectButton: WithOptions<SelectId, never, never>;
351-
selectSearchInput: WithOptions<SelectId, never, never>;
352-
selectButtonIcon: WithOptions<SelectId, never, never>;
353-
selectOptionsContainer: WithOptions<SelectId, never, never>;
354-
selectOption: WithOptions<SelectId, never, never>;
355-
356-
menuButton: WithOptions<MenuId, never, never>;
357-
menuList: WithOptions<MenuId, never, never>;
358-
menuItem: WithOptions<MenuId, never, never>;
359-
360-
loader: WithOptions<never, never, never>;
361-
loaderIcon: WithOptions<never, ErrorState, never>;
362-
363-
modalBackdrop: WithOptions<never, never, never>;
364-
modalContent: WithOptions<never, never, never>;
365-
modalCloseButton: WithOptions<never, never, never>;
366-
367-
profileSection: WithOptions<ProfileSectionId, never, never>;
368-
profileSectionTitle: WithOptions<ProfileSectionId, never, never>;
369-
profileSectionTitleText: WithOptions<ProfileSectionId, never, never>;
370-
profileSectionSubtitle: WithOptions<ProfileSectionId, never, never>;
371-
profileSectionSubtitleText: WithOptions<ProfileSectionId, never, never>;
372-
profileSectionContent: WithOptions<ProfileSectionId, never, never>;
373-
profileSectionPrimaryButton: WithOptions<ProfileSectionId, never, never>;
374-
profilePage: WithOptions<ProfilePageId, never, never>;
306+
userPreview: WithOptions<UserPreviewId>;
307+
userPreviewAvatarContainer: WithOptions<UserPreviewId>;
308+
userPreviewAvatarBox: WithOptions<UserPreviewId>;
309+
userPreviewAvatarImage: WithOptions<UserPreviewId>;
310+
userPreviewTextContainer: WithOptions<UserPreviewId>;
311+
userPreviewMainIdentifier: WithOptions<UserPreviewId>;
312+
userPreviewSecondaryIdentifier: WithOptions<UserPreviewId>;
313+
314+
organizationPreview: WithOptions<OrganizationPreviewId>;
315+
organizationPreviewAvatarContainer: WithOptions<OrganizationPreviewId>;
316+
organizationPreviewAvatarBox: WithOptions<OrganizationPreviewId>;
317+
organizationPreviewAvatarImage: WithOptions<OrganizationPreviewId>;
318+
organizationPreviewTextContainer: WithOptions<OrganizationPreviewId>;
319+
organizationPreviewMainIdentifier: WithOptions<OrganizationPreviewId>;
320+
organizationPreviewSecondaryIdentifier: WithOptions<OrganizationPreviewId>;
321+
322+
membersPageInviteButton: WithOptions;
323+
organizationProfilePage: WithOptions;
324+
325+
identityPreview: WithOptions;
326+
identityPreviewAvatarBox: WithOptions;
327+
identityPreviewAvatarImage: WithOptions;
328+
identityPreviewText: WithOptions;
329+
identityPreviewEditButton: WithOptions;
330+
identityPreviewEditButtonIcon: WithOptions;
331+
332+
alert: WithOptions<AlertId>;
333+
alertIcon: WithOptions<AlertId>;
334+
alertText: WithOptions<AlertId>;
335+
alertTextContainer: WithOptions<AlertId>;
336+
337+
tagInputContainer: WithOptions;
338+
tagPillIcon: WithOptions;
339+
tagPillContainer: WithOptions;
340+
341+
tabPanel: WithOptions;
342+
tabButton: WithOptions;
343+
tabListContainer: WithOptions;
344+
345+
tableHead: WithOptions;
346+
347+
paginationButton: WithOptions;
348+
paginationRowText: WithOptions<'allRowsCount' | 'rowsCount' | 'displaying'>;
349+
350+
selectButton: WithOptions<SelectId>;
351+
selectSearchInput: WithOptions<SelectId>;
352+
selectButtonIcon: WithOptions<SelectId>;
353+
selectOptionsContainer: WithOptions<SelectId>;
354+
selectOption: WithOptions<SelectId>;
355+
356+
menuButton: WithOptions<MenuId>;
357+
menuList: WithOptions<MenuId>;
358+
menuItem: WithOptions<MenuId>;
359+
360+
loader: WithOptions;
361+
loaderIcon: WithOptions<never, ErrorState>;
362+
363+
modalBackdrop: WithOptions;
364+
modalContent: WithOptions;
365+
modalCloseButton: WithOptions;
366+
367+
profileSection: WithOptions<ProfileSectionId>;
368+
profileSectionTitle: WithOptions<ProfileSectionId>;
369+
profileSectionTitleText: WithOptions<ProfileSectionId>;
370+
profileSectionSubtitle: WithOptions<ProfileSectionId>;
371+
profileSectionSubtitleText: WithOptions<ProfileSectionId>;
372+
profileSectionContent: WithOptions<ProfileSectionId>;
373+
profileSectionPrimaryButton: WithOptions<ProfileSectionId>;
374+
profilePage: WithOptions<ProfilePageId>;
375375

376376
// TODO: review
377-
formattedPhoneNumber: WithOptions<never, never, never>;
378-
formattedPhoneNumberFlag: WithOptions<never, never, never>;
379-
formattedPhoneNumberText: WithOptions<never, never, never>;
380-
381-
breadcrumbs: WithOptions<never, never, never>;
382-
breadcrumbsItems: WithOptions<never, never, never>;
383-
breadcrumbsItemBox: WithOptions<'currentPage', never, never>;
384-
breadcrumbsItem: WithOptions<'currentPage', never, never>;
385-
breadcrumbsItemIcon: WithOptions<'currentPage', never, never>;
386-
breadcrumbsItemDivider: WithOptions<never, never, never>;
387-
388-
scrollBox: WithOptions<never, never, never>;
389-
390-
navbar: WithOptions<never, never, never>;
391-
navbarButtons: WithOptions<never, ActiveState, never>;
392-
navbarButton: WithOptions<string, ActiveState, never>;
393-
navbarButtonIcon: WithOptions<string, ActiveState, never>;
394-
navbarMobileMenuRow: WithOptions<never, never, never>;
395-
navbarMobileMenuButton: WithOptions<never, never, never>;
396-
navbarMobileMenuButtonIcon: WithOptions<never, never, never>;
397-
398-
pageScrollBox: WithOptions<never, never, never>;
399-
page: WithOptions<never, never, never>;
400-
pageHeader: WithOptions<never, never, never>;
401-
402-
activeDeviceIcon: WithOptions<'mobile' | 'desktop', never, never>;
403-
404-
impersonationFab: WithOptions<never, never, never>;
405-
impersonationFabIcon: WithOptions<never, never, never>;
406-
impersonationFabIconContainer: WithOptions<never, never, never>;
407-
impersonationFabTitle: WithOptions<never, never, never>;
408-
impersonationFabActionLink: WithOptions<never, never, never>;
409-
410-
fileDropAreaOuterBox: WithOptions<never, never, never>;
411-
fileDropAreaBox: WithOptions<never, never, never>;
412-
fileDropAreaIconBox: WithOptions<never, never, never>;
413-
fileDropAreaIcon: WithOptions<never, never, never>;
414-
fileDropAreaHint: WithOptions<never, never, never>;
415-
fileDropAreaButtonPrimary: WithOptions<never, never, never>;
416-
fileDropAreaFooterHint: WithOptions<never, never, never>;
417-
418-
invitationsSentIconBox: WithOptions<never, never, never>;
419-
invitationsSentIcon: WithOptions<never, never, never>;
420-
421-
accordionTriggerButton: WithOptions<never, never, never>;
422-
accordionContent: WithOptions<never, never, never>;
423-
424-
qrCodeRow: WithOptions<never, never, never>;
425-
qrCodeContainer: WithOptions<never, never, never>;
377+
formattedPhoneNumber: WithOptions;
378+
formattedPhoneNumberFlag: WithOptions;
379+
formattedPhoneNumberText: WithOptions;
380+
381+
breadcrumbs: WithOptions;
382+
breadcrumbsItems: WithOptions;
383+
breadcrumbsItemBox: WithOptions<'currentPage'>;
384+
breadcrumbsItem: WithOptions<'currentPage'>;
385+
breadcrumbsItemIcon: WithOptions<'currentPage'>;
386+
breadcrumbsItemDivider: WithOptions;
387+
388+
scrollBox: WithOptions;
389+
390+
navbar: WithOptions;
391+
navbarButtons: WithOptions<never, ActiveState>;
392+
navbarButton: WithOptions<string, ActiveState>;
393+
navbarButtonIcon: WithOptions<string, ActiveState>;
394+
navbarMobileMenuRow: WithOptions;
395+
navbarMobileMenuButton: WithOptions;
396+
navbarMobileMenuButtonIcon: WithOptions;
397+
398+
pageScrollBox: WithOptions;
399+
page: WithOptions;
400+
pageHeader: WithOptions;
401+
402+
activeDeviceIcon: WithOptions<'mobile' | 'desktop'>;
403+
404+
impersonationFab: WithOptions;
405+
impersonationFabIcon: WithOptions;
406+
impersonationFabIconContainer: WithOptions;
407+
impersonationFabTitle: WithOptions;
408+
impersonationFabActionLink: WithOptions;
409+
410+
fileDropAreaOuterBox: WithOptions;
411+
fileDropAreaBox: WithOptions;
412+
fileDropAreaIconBox: WithOptions;
413+
fileDropAreaIcon: WithOptions;
414+
fileDropAreaHint: WithOptions;
415+
fileDropAreaButtonPrimary: WithOptions;
416+
fileDropAreaFooterHint: WithOptions;
417+
418+
invitationsSentIconBox: WithOptions;
419+
invitationsSentIcon: WithOptions;
420+
421+
accordionTriggerButton: WithOptions;
422+
accordionContent: WithOptions;
423+
424+
qrCodeRow: WithOptions;
425+
qrCodeContainer: WithOptions;
426426

427427
// default descriptors
428-
badge: WithOptions<'primary' | 'actionRequired', never, never>;
429-
notificationBadge: WithOptions<never, never, never>;
430-
button: WithOptions<never, LoadingState, never>;
431-
providerIcon: WithOptions<OAuthProvider | Web3Provider, never, never>;
428+
badge: WithOptions<'primary' | 'actionRequired'>;
429+
notificationBadge: WithOptions;
430+
button: WithOptions<never, LoadingState>;
431+
providerIcon: WithOptions<OAuthProvider | Web3Provider>;
432432
};
433433

434434
export type Elements = {

0 commit comments

Comments
 (0)
Please sign in to comment.