feat(Pairing): add Pairing and Role types
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
export type {
|
||||
Pairing,
|
||||
Role,
|
||||
} from './pairing';
|
||||
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* A slot within a Pairing that a font fills.
|
||||
*/
|
||||
export type Role = 'header' | 'body';
|
||||
|
||||
/**
|
||||
* The atomic unit of comparison: a header font + a body font.
|
||||
* Carries a surrogate `id` (stable for the card's life, never tracks content)
|
||||
* and the two font ids it pairs. Text and typography are global to the Board,
|
||||
* not stored here.
|
||||
*/
|
||||
export interface Pairing {
|
||||
/**
|
||||
* Surrogate key generated at creation, stable for the card's life.
|
||||
* Distinguishes duplicates with identical fonts. Focal/cycling key on this.
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* Font entity id filling the header role.
|
||||
*/
|
||||
headerFontId: string;
|
||||
/**
|
||||
* Font entity id filling the body role.
|
||||
*/
|
||||
bodyFontId: string;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
export type {
|
||||
Pairing,
|
||||
Role,
|
||||
} from './pairing';
|
||||
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* Re-export of the Pairing identity types. The source of truth lives in
|
||||
* `domain/types` so the pure domain segment can reference them without importing
|
||||
* `model` (FSD+ domain isolation: ui -> model -> domain, never back).
|
||||
*/
|
||||
export type {
|
||||
Pairing,
|
||||
Role,
|
||||
} from '../../domain/types';
|
||||
Reference in New Issue
Block a user