/* SPACING SCALE Every margin/padding used by different components should use a value defined in the following scale. */ export const IOSpacingScale = [ 4, 6, 8, 12, 16, 20, 24, 28, 32, 40, 48, 56, 64, 72, 80, 96 ] as const; export type IOSpacingScale = (typeof IOSpacingScale)[number]; // Values used in the new `` and `` components export const IOSpacer = [ 4, 8, 12, 16, 24, 32, 40, 48 ] as const satisfies ReadonlyArray; export type IOSpacer = (typeof IOSpacer)[number]; // Margin values used in the new `` component export const IOAppMargin = [ 8, 16, 24, 32, 48 ] as const satisfies ReadonlyArray; export type IOAppMargin = (typeof IOAppMargin)[number]; // Values used in the `` component export const IOAlertSpacing = [ 16, 24 ] as const satisfies ReadonlyArray; export type IOAlertSpacing = (typeof IOAlertSpacing)[number]; // Values used in the `` component export type IOBannerSpacing = Extract; export const IOBannerBigSpacing: IOBannerSpacing = 16; // Values used in the `` component export type IOTagSpacing = Extract; export const IOTagHSpacing: IOTagSpacing = 8; export const IOTagVSpacing: IOTagSpacing = 6; // Values used in the `` component export type IOBadgeSpacing = Extract; export const IOBadgeHSpacing: IOBadgeSpacing = 8; export const IOBadgeVSpacing: IOBadgeSpacing = 4; // Values used in the `` component export type IOModuleIDPSpacing = Extract; export const IOModuleIDPHSpacing: IOModuleIDPSpacing = 16; export const IOModuleIDPVSpacing: IOModuleIDPSpacing = 16; export const IOModuleIDPSavedVSpacing: IOModuleIDPSpacing = 24; export const IOListItemLogoMargin: IOModuleIDPSpacing = 8; /* ░░░ SPACING CONSTANTS ░░░ */ const spacingConstantKeys = ["screenEndMargin"] as const; export type IOSpacingConstants = { [K in (typeof spacingConstantKeys)[number]]: IOSpacingScale; }; export const IOSpacing = { screenEndMargin: 32 } as const satisfies IOSpacingConstants;