import { ExtendedCSSProperties } from '../Common'; import { PageThemeOptions } from './AdminPortalThemeOptions'; import { AccountPageFields, GeneralSettingsTabFields, InviteUserModalFields, IpRestrictionsTabFields, MapAccountFieldToAppearance, MapInviteUserFieldToAppearance, MapInviteUserFieldToSettings, MapPrivacyFieldToAppearance, MapProfileFieldToAppearance, MapSecurityFieldToAppearance, PrivacyPageFields, ProfilePageFields, SessionManagementTabFields, DomainRestrictionsTabFields, TabAppearance, SubscriptionsPageFields, MapSubscriptionsFieldToAppearance, UsersTableColumns } from './fieldsAppearanceConsts'; interface ProfileProperties { appearance?: MapProfileFieldToAppearance[K]; } export type ProfileFieldProperties = { [K in ProfilePageFields]: ProfileProperties; }; interface AccountProperties { appearance?: MapAccountFieldToAppearance[K]; } export type AccountFieldProperties = { [K in AccountPageFields]: AccountProperties; }; interface PrivacyProperties { appearance?: MapPrivacyFieldToAppearance[K]; } export type PrivacyFieldProperties = { [K in PrivacyPageFields]: PrivacyProperties; }; interface SubscriptionsProperties { appearance?: MapSubscriptionsFieldToAppearance[K]; } export type SubscriptionsFieldProperties = { [K in SubscriptionsPageFields]: SubscriptionsProperties; }; export type UsersTableColumnsAppearance = { [K in UsersTableColumns]?: { visibility?: 'hidden' | 'always'; isChecked?: boolean; }; }; export type UsersFieldProperties = { tableColumns: { [K in UsersTableColumns]: UsersTableColumnsAppearance[K]; }; }; interface InviteUserModalProperties { appearance?: MapInviteUserFieldToAppearance[K]; settings?: MapInviteUserFieldToSettings[K]; } export type InviteUserModalFieldProperties = { [K in InviteUserModalFields]: InviteUserModalProperties; }; interface SessionManagementProperties { appearance?: MapSecurityFieldToAppearance[K]; } export type SessionManagementFieldProperties = { [K in SessionManagementTabFields]?: SessionManagementProperties; }; interface GeneralSettingsProperties { appearance?: MapSecurityFieldToAppearance[K]; } export type GeneralSettingsFieldProperties = { [K in GeneralSettingsTabFields]?: GeneralSettingsProperties; }; interface IpRestrictionsProperties { appearance?: MapSecurityFieldToAppearance[K]; } export type IpRestrictionsFieldProperties = { [K in IpRestrictionsTabFields]?: IpRestrictionsProperties; }; interface DomainRestrictionsProperties { appearance?: MapSecurityFieldToAppearance[K]; } export type DomainRestrictionsFieldProperties = { [K in DomainRestrictionsTabFields]?: DomainRestrictionsProperties; }; export type InviteUserModalFieldsProperties = Partial; export type ProfileFieldsProperties = Partial; export type PrivacyFieldsProperties = Partial; export type AccountFieldsProperties = Partial; export type SessionManagementTabFieldsProperties = Partial; export type DomainRestrictionsTabFieldsProperties = Partial; export type IpRestrictionsTabFieldsProperties = Partial; export type GeneralSettingsTabFieldsProperties = Partial; export type SubscriptionsFieldsProperties = Partial; export type UsersFieldsProperties = Partial; export interface TabProperties extends Omit { appearance?: TabAppearance; } export type SessionManagementTabProperties = TabProperties & { fieldsProperties?: SessionManagementTabFieldsProperties; }; export type DomainRestrictionsTabProperties = TabProperties & { fieldsProperties?: DomainRestrictionsTabFieldsProperties; titleContainer?: ExtendedCSSProperties; allowToggleButton?: ExtendedCSSProperties; denyToggleButton?: ExtendedCSSProperties; }; export type IpRestrictionsTabProperties = TabProperties & { fieldsProperties?: IpRestrictionsTabFieldsProperties; titleContainer?: ExtendedCSSProperties; allowToggleButton?: ExtendedCSSProperties; denyToggleButton?: ExtendedCSSProperties; }; export type GeneralSettingsTabProperties = TabProperties & { fieldsProperties?: GeneralSettingsFieldProperties; }; export type SecurityTabsProperties = { generalSettings?: GeneralSettingsTabProperties; sessionManagement?: SessionManagementTabProperties; ipRestrictions?: IpRestrictionsTabProperties; domainRestrictions?: DomainRestrictionsTabProperties; }; export type TabsAndFieldsProperties = Partial | Partial | Partial | Partial | GeneralSettingsFieldProperties | SecurityTabsProperties | Partial | Partial | Partial | Partial | Partial; export {};