95 lines
2.4 KiB
TypeScript
95 lines
2.4 KiB
TypeScript
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<ControlId>[] = [
|
|
{
|
|
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;
|