diff --git a/src/features/SetupFont/model/const/const.ts b/src/features/SetupFont/model/const/const.ts index 97d60a0..e280521 100644 --- a/src/features/SetupFont/model/const/const.ts +++ b/src/features/SetupFont/model/const/const.ts @@ -1,3 +1,6 @@ +import type { ControlModel } from '$shared/lib'; +import type { ControlId } from '..'; + /** * Font size constants */ @@ -29,3 +32,50 @@ 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: 'Font 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: 'Font 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: 'Line Height', + }, + { + 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: 'Letter Spacing', + }, +]; diff --git a/src/features/SetupFont/model/state/manager.svelte.ts b/src/features/SetupFont/model/state/manager.svelte.ts index c18c61e..33bd362 100644 --- a/src/features/SetupFont/model/state/manager.svelte.ts +++ b/src/features/SetupFont/model/state/manager.svelte.ts @@ -1,71 +1,6 @@ -import type { ControlModel } from '$shared/lib'; import { createTypographyControlManager } from '../../lib'; -import { - DEFAULT_FONT_SIZE, - DEFAULT_FONT_WEIGHT, - DEFAULT_LETTER_SPACING, - DEFAULT_LINE_HEIGHT, - FONT_SIZE_STEP, - FONT_WEIGHT_STEP, - LETTER_SPACING_STEP, - LINE_HEIGHT_STEP, - MAX_FONT_SIZE, - MAX_FONT_WEIGHT, - MAX_LETTER_SPACING, - MAX_LINE_HEIGHT, - MIN_FONT_SIZE, - MIN_FONT_WEIGHT, - MIN_LETTER_SPACING, - MIN_LINE_HEIGHT, -} from '../const/const'; +import { DEFAULT_TYPOGRAPHY_CONTROLS_DATA } from '../const/const'; export type ControlId = 'font_size' | 'font_weight' | 'line_height' | 'letter_spacing'; -const controlData: 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: 'Font 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: 'Font 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: 'Line Height', - }, - { - 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: 'Letter Spacing', - }, -]; - -export const controlManager = createTypographyControlManager(controlData); +export const controlManager = createTypographyControlManager(DEFAULT_TYPOGRAPHY_CONTROLS_DATA);