import type { ControlModel } from '$shared/lib'; import type { ControlId } from '../types/typography'; /** * Font size constants */ export const DEFAULT_FONT_SIZE = 48; export const MIN_FONT_SIZE = 8; export const MAX_FONT_SIZE = 100; export const FONT_SIZE_STEP = 1; /** * Font weight constants */ export const DEFAULT_FONT_WEIGHT = 400; export const MIN_FONT_WEIGHT = 100; export const MAX_FONT_WEIGHT = 900; export const FONT_WEIGHT_STEP = 100; /** * Line height constants */ export const DEFAULT_LINE_HEIGHT = 1.5; export const MIN_LINE_HEIGHT = 1; export const MAX_LINE_HEIGHT = 2; export const LINE_HEIGHT_STEP = 0.05; /** * Letter spacing constants */ export const DEFAULT_LETTER_SPACING = 0; export const MIN_LETTER_SPACING = -0.1; export const MAX_LETTER_SPACING = 0.5; export const LETTER_SPACING_STEP = 0.01; export const DEFAULT_TYPOGRAPHY_CONTROLS_DATA: ControlModel[] = [ { id: 'font_size', value: DEFAULT_FONT_SIZE, max: MAX_FONT_SIZE, min: MIN_FONT_SIZE, step: FONT_SIZE_STEP, increaseLabel: 'Increase Font Size', decreaseLabel: 'Decrease Font Size', controlLabel: 'Size', }, { id: 'font_weight', value: DEFAULT_FONT_WEIGHT, max: MAX_FONT_WEIGHT, min: MIN_FONT_WEIGHT, step: FONT_WEIGHT_STEP, increaseLabel: 'Increase Font Weight', decreaseLabel: 'Decrease Font Weight', controlLabel: 'Weight', }, { id: 'line_height', value: DEFAULT_LINE_HEIGHT, max: MAX_LINE_HEIGHT, min: MIN_LINE_HEIGHT, step: LINE_HEIGHT_STEP, increaseLabel: 'Increase Line Height', decreaseLabel: 'Decrease Line Height', controlLabel: 'Leading', }, { id: 'letter_spacing', value: DEFAULT_LETTER_SPACING, max: MAX_LETTER_SPACING, min: MIN_LETTER_SPACING, step: LETTER_SPACING_STEP, increaseLabel: 'Increase Letter Spacing', decreaseLabel: 'Decrease Letter Spacing', controlLabel: 'Tracking', }, ]; /** * Font size multipliers */ export const MULTIPLIER_S = 0.5; export const MULTIPLIER_M = 0.75; export const MULTIPLIER_L = 1; /** * Index value for items not yet loaded in a virtualized list. * Treated as being at the very bottom of the infinite scroll. */ export const VIRTUAL_INDEX_NOT_LOADED = Infinity;