@vectoriox/iox-ui 5.19.0 → 5.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8600,8 +8600,14 @@ declare function deriveAccentTokens(seed: string, against: AccentBackgrounds, pa
8600
8600
 
8601
8601
  /** The pack's own defaults as a full set of choices — what Apply means with nothing changed. */
8602
8602
  declare function defaultDesignChoices(pack: FlavorPackV2): DesignChoices;
8603
- /** `'<Family>', system-ui, sans-serif` — the value a font role holds once the author picks a face. */
8604
- declare function userFontStack(family: string): string;
8603
+ /**
8604
+ * The value a font role holds once the author picks a face: `'<Family>', <the look's own stack>` —
8605
+ * e.g. `'Rubik', 'Inter Tight', system-ui, -apple-system, 'Segoe UI', sans-serif`. The look's font
8606
+ * follows the author's, so a family that later stops existing (deleted outside the delete guard, a
8607
+ * bucket emptied by hand) renders in the pack's font — Board 8's promise — in every renderer, with no
8608
+ * runtime check. With no look stack: `system-ui, sans-serif`.
8609
+ */
8610
+ declare function userFontStack(family: string, packStack?: string | null): string;
8605
8611
  declare function buildFlavorTokens(pack: FlavorPackV2, choices: DesignChoices): DesignTokenRow[];
8606
8612
 
8607
8613
  /** One row's fate in a seed/re-seed pass (the §10 C2 merge semantics). */
@@ -8685,23 +8691,82 @@ declare function springToLinear(stiffness: number, damping: number): LinearSprin
8685
8691
  declare const FONT_CATALOG: Readonly<Record<string, string>>;
8686
8692
  type FontFormat = 'woff2' | 'woff' | 'truetype' | 'opentype';
8687
8693
  type FontStyle = 'normal' | 'italic';
8694
+ /**
8695
+ * A face's weight (spec `fontDescriptor.weight`): 100–900 for a static cut (OS/2 `usWeightClass`), or
8696
+ * the RANGE string `'<min> <max>'` a variable font's `fvar` wght axis covers — emitted as
8697
+ * `font-weight: <min> <max>`, so every weight inside it renders from the one file.
8698
+ */
8699
+ type FontWeight = number | string;
8688
8700
  /** One uploaded font FILE (spec `fontDescriptor`) — a family is all descriptors sharing `family`. */
8689
8701
  interface FontDescriptor {
8690
8702
  family: string;
8691
- /** 100–900, from the file's OS/2 `usWeightClass`. */
8692
- weight: number;
8703
+ weight: FontWeight;
8693
8704
  style: FontStyle;
8694
8705
  url: string;
8695
8706
  format: FontFormat;
8696
8707
  }
8708
+ /**
8709
+ * Why iox-cms refused a font upload. The server answers `{ code }` beside its message; the admin
8710
+ * translates the code (`filebox.fontUpload.<code>`), so the author reads why in their language.
8711
+ */
8712
+ declare enum FontUploadError {
8713
+ NotAFont = "not_a_font",
8714
+ Empty = "empty",
8715
+ Unreadable = "unreadable",
8716
+ TooLarge = "too_large"
8717
+ }
8718
+ /**
8719
+ * The largest font FILE a studio may upload: 10 MB. A full static or variable Latin/Hebrew/Arabic
8720
+ * family is well under it (Inter's variable TTF is 0.9 MB); an unsubsetted CJK family is not, and
8721
+ * must be subset first. iox-cms stops reading the request at this size; the admin checks it before
8722
+ * sending.
8723
+ */
8724
+ declare const MAX_FONT_FILE_BYTES: number;
8697
8725
  /** The token roles whose values name the families a page renders in. */
8698
8726
  declare const FONT_FAMILY_TOKENS: readonly ["font-display", "font-body", "font-label", "font-mono"];
8699
8727
  /**
8700
8728
  * A CSS string literal, single-quoted: `\` and `'` escaped, line breaks and NUL dropped, and `<` /
8701
8729
  * `>` hex-escaped (`\3c `) — the face CSS is inlined into a `<style>` by the SSR engine, where an
8702
- * uploaded family named `</style><script>` would otherwise close the element.
8730
+ * uploaded family named `</style><script>` would otherwise close the element. `parseFontFamilies` is
8731
+ * its exact inverse (escapes included), which is what keeps a family's name one value everywhere.
8703
8732
  */
8704
8733
  declare function cssString(value: string): string;
8734
+ /** ONE family as a `font-family` entry — always quoted, so a family named `Acme, Serif` or `serif` is
8735
+ * that family, never a list or a generic. */
8736
+ declare function formatFontFamily(family: string): string;
8737
+ /** Families → a `font-family` stack, each quoted (`formatFontFamily`); `parseFontFamilies` reverses it. */
8738
+ declare function formatFontFamilies(families: ReadonlyArray<string>): string;
8739
+ /** The entries of `stack` that do NOT name `family`, as written — what a fallback list keeps. */
8740
+ declare function fontStackWithout(stack: string | null | undefined, family: string | null | undefined): string;
8741
+ /** A weight as a closed range — a static cut is `{ min: w, max: w }`. */
8742
+ interface FontWeightRange {
8743
+ min: number;
8744
+ max: number;
8745
+ }
8746
+ /**
8747
+ * Anything a file, a descriptor or an author may hold as a weight → its range, or null when it is
8748
+ * not one: `700`, `'700'`, `'100 900'`, `'100-900'`, `'100–900'` (the tile's own spelling). A static
8749
+ * weight clamps to 100–900 (as before); range ends clamp to CSS's 1–1000.
8750
+ */
8751
+ declare function parseFontWeight(value: unknown): FontWeightRange | null;
8752
+ /** A range in the stored / descriptor / CSS form: a number for one weight, `'<min> <max>'` for a span. */
8753
+ declare function fontWeightValue(range: FontWeightRange): FontWeight;
8754
+ /** Any weight → the stored form; a bad value → 400 (as `normalizeFontWeight`). */
8755
+ declare function normalizeFontWeightValue(value: unknown): FontWeight;
8756
+ /** Any weight → its range; a bad value → 400–400. */
8757
+ declare function fontWeightRange(value: unknown): FontWeightRange;
8758
+ /** True when the weight spans more than one value (a variable font's wght axis). */
8759
+ declare function isFontWeightRange(value: unknown): boolean;
8760
+ /** How a weight reads on screen: `700`, or `100–900` for a range. */
8761
+ declare function formatFontWeight(value: unknown): string;
8762
+ /**
8763
+ * A weight an author or a client SENT, held to what a face can be — or null: a whole number 100–900,
8764
+ * or a range of whole numbers 1 ≤ min < max ≤ 1000. Nothing is clamped or rounded here; a value that
8765
+ * would need it is refused (the PUT correction's rule).
8766
+ */
8767
+ declare function checkFontWeight(value: unknown): FontWeight | null;
8768
+ /** True when a face of `weight` renders `wanted` from its own file (inside its range). */
8769
+ declare function fontWeightCovers(weight: unknown, wanted: number): boolean;
8705
8770
  /** The file extensions a studio may upload as a font, and the descriptor format each one IS (§5b). */
8706
8771
  declare const FONT_FILE_FORMATS: Readonly<Record<string, FontFormat>>;
8707
8772
  declare const FONT_FILE_EXTENSIONS: ReadonlyArray<string>;
@@ -8717,7 +8782,8 @@ declare function fontFormatOf(fileNameOrKey: string | null | undefined): FontFor
8717
8782
  /** The family a file had before DS5 — its name without the extension. Legacy files with no parsed
8718
8783
  * name table keep it, so a page saved with `font-family: 'Rubik-Regular'` keeps its face (D5). */
8719
8784
  declare function fontFileStem(key: string | null | undefined): string;
8720
- /** A weight as CSS can use it: 100–900, a bad value → 400. */
8785
+ /** A single weight as CSS can use it: 100–900, a bad value → 400. A range is not a single weight —
8786
+ * use `normalizeFontWeightValue` for a face. */
8721
8787
  declare function normalizeFontWeight(w: unknown): number;
8722
8788
  declare function normalizeFontStyle(style: unknown): FontStyle;
8723
8789
  /** CSS family names match case-insensitively; this is the one comparison key. */
@@ -8731,16 +8797,25 @@ declare function buildFontFaceCss(descriptors: ReadonlyArray<FontDescriptor> | n
8731
8797
  /** An uploaded family: every file sharing a family name (case-insensitively), with its real cuts. */
8732
8798
  interface FontFamilyGroup {
8733
8799
  family: string;
8734
- /** Distinct weights, ascending. */
8735
- weights: number[];
8800
+ /** Distinct weights, ascending by their lower end — a variable file's is its `'<min> <max>'` range. */
8801
+ weights: FontWeight[];
8736
8802
  styles: FontStyle[];
8737
8803
  /** Every file of the family, lightest first. */
8738
8804
  faces: FontDescriptor[];
8739
8805
  }
8806
+ /** Lighter first: by the range's lower end, then its upper end (a static 100 before a 100–900 file). */
8807
+ declare function compareFontWeights(a: unknown, b: unknown): number;
8808
+ /** The weight a family's preview renders at: 400 when a face covers it, else its lightest. */
8809
+ declare function previewFontWeight(weights: ReadonlyArray<FontWeight>): number;
8740
8810
  /** Files → families (§5b "Group into families"): the Files tile, the typeface dropdown and Design ▸ Type. */
8741
8811
  declare function groupFontFamilies(descriptors: ReadonlyArray<FontDescriptor> | null | undefined): FontFamilyGroup[];
8742
- /** The family names in a CSS `font-family` stack, unquoted, in order. */
8743
- declare function parseFontFamilies(stack: string): string[];
8812
+ /**
8813
+ * The family names in a CSS `font-family` stack, in order — the exact inverse of `formatFontFamily` /
8814
+ * `formatFontFamilies`: quotes removed, CSS escapes decoded (`\'`, `\\`, `\3c `), a comma INSIDE
8815
+ * quotes kept, an unquoted name's words joined by one space. Every reader of a font token goes
8816
+ * through this; a naive split on `,` is how `O'Neil Sans` stopped matching its own token.
8817
+ */
8818
+ declare function parseFontFamilies(stack: string | null | undefined): string[];
8744
8819
  /** Where Google serves the stylesheets, and the origin the font FILES come from (preconnect). */
8745
8820
  declare const GOOGLE_FONTS_CSS_ORIGIN = "https://fonts.googleapis.com";
8746
8821
  declare const GOOGLE_FONTS_FILE_ORIGIN = "https://fonts.gstatic.com";
@@ -8755,6 +8830,13 @@ interface FontsForTokensOptions {
8755
8830
  * would otherwise download a monospace face for a site with no code on it.
8756
8831
  */
8757
8832
  usedCss?: string;
8833
+ /**
8834
+ * The families the org UPLOADED. An uploaded family renders from the org's own files, so it is
8835
+ * never fetched from Google — even when the catalog has a family of that name (an org that uploads
8836
+ * Inter's variable file means THAT Inter: linking Google's too put its static cuts beside the
8837
+ * upload, and the browser picked Google's — DS5.1).
8838
+ */
8839
+ uploaded?: ReadonlyArray<string>;
8758
8840
  }
8759
8841
  /**
8760
8842
  * The Google css2 ids to load for a token set: every catalog family named by the display / body /
@@ -8766,17 +8848,21 @@ type FontFamilyToken = (typeof FONT_FAMILY_TOKENS)[number];
8766
8848
  /** True when `stack` (a CSS `font-family` value) names `family` anywhere in it. */
8767
8849
  declare function stackNamesFamily(stack: string | null | undefined, family: string | null | undefined): boolean;
8768
8850
  /**
8769
- * The font tokens whose value names `family` — what the delete guard asks before an uploaded family's
8770
- * last file goes (§5b): deleting it would silently drop those roles to their fallback.
8851
+ * The font tokens that render in `family` — their stack LEADS with it — what the delete guard asks
8852
+ * before an uploaded family's last file goes (§5b): deleting it would drop those roles to their
8853
+ * fallback. A role naming it further down (the look's font behind the author's, `userFontStack`) does
8854
+ * not render in it, and rewriting that role would throw the author's own choice away.
8771
8855
  */
8772
8856
  declare function fontRoleReferences(tokens: ReadonlyArray<DesignTokenLike> | null | undefined, family: string | null | undefined): FontFamilyToken[];
8773
8857
  /**
8774
- * The face CSS font matching picks for `weight` from `faces` (CSS Fonts §5.2): 400 tries 500 next,
8775
- * 500 tries 400; lighter weights look down first, heavier ones up. So an `h1` at 600 over a family
8776
- * uploaded at 400 + 700 renders the real 700 cut — the one worth preloading.
8858
+ * The face CSS font matching picks for `weight` from `faces` (CSS Fonts §5.2): a face whose range
8859
+ * holds the weight is exact (a variable file covers every weight on its axis); otherwise 400 tries
8860
+ * 500 next, 500 tries 400; lighter weights look down first, heavier ones up — each face measured at
8861
+ * its nearest end. So an `h1` at 600 over a family uploaded at 400 + 700 renders the real 700 cut —
8862
+ * the one worth preloading.
8777
8863
  */
8778
8864
  declare function matchFontWeight<T extends {
8779
- weight: number;
8865
+ weight: FontWeight;
8780
8866
  }>(faces: ReadonlyArray<T>, weight: number): T | null;
8781
8867
  /**
8782
8868
  * The uploaded files the SSR head preloads (§5b — no flash of the fallback face): for the display and
@@ -8784,6 +8870,22 @@ declare function matchFontWeight<T extends {
8784
8870
  * matching would pick for that role's weights. One file per weight that renders, never the family.
8785
8871
  */
8786
8872
  declare function fontPreloads(descriptors: ReadonlyArray<FontDescriptor> | null | undefined, tokens: ReadonlyArray<DesignTokenLike> | null | undefined): FontDescriptor[];
8873
+ /** A font role naming a family that is neither uploaded nor in the catalog, and what renders instead. */
8874
+ interface MissingFontRole {
8875
+ role: FontFamilyToken;
8876
+ /** The family the role names first, which no file and no catalog entry serves. */
8877
+ family: string;
8878
+ /** The next family in the role's stack that does render — the look's own font for a stack written
8879
+ * by `userFontStack`, `system-ui` for an older one. */
8880
+ fallback: string;
8881
+ }
8882
+ /**
8883
+ * Board 8's "the same check runs when a font token points at a missing family": the font roles whose
8884
+ * FIRST family is not uploaded (`uploaded` — the org's families), not in the catalog and not a system
8885
+ * face. Only meaningful over a listing that SUCCEEDED — an empty bucket because storage is down would
8886
+ * otherwise report every uploaded family missing.
8887
+ */
8888
+ declare function missingFontRoles(tokens: ReadonlyArray<DesignTokenLike> | null | undefined, uploaded: ReadonlyArray<string> | null | undefined): MissingFontRole[];
8787
8889
 
8788
8890
  /**
8789
8891
  * Which `--iox-<name>` a piece of COMPONENT CSS may reference (design-system §3b-bis: "component CSS
@@ -8943,5 +9045,5 @@ interface FontFamilyRemoval {
8943
9045
  */
8944
9046
  declare function planFontFamilyRemoval(existing: ReadonlyArray<StoredDesignTokenRow>, previous: StoredDesign, family: string): FontFamilyRemoval;
8945
9047
 
8946
- export { ACCENT_TOKEN_NAMES, BUTTON_VARIANT_TO_STYLE, COLOR_SCHEMES, COLOR_SCHEME_TRAIT, COLOR_SCHEME_TYPES, ColorScheme, DEFAULT_FLAVOR_ID, DESIGN_TOKEN_GROUPS, DESIGN_TOKEN_TIERS, DESIGN_TOKEN_TYPES, DesignConfigKey, ELEMENT_STYLES, ELEMENT_STYLE_MARKER_CLASS, ELEMENT_STYLE_STATES, EMPTY_IMAGE_ATTRIBUTE, EMPTY_IMAGE_SRC, ElementStyleState, FLAVOR_SPEC_VERSION, FONT_CATALOG, FONT_FAMILY_TOKENS, FONT_FILE_ACCEPT, FONT_FILE_EXTENSIONS, FONT_FILE_FORMATS, FONT_STYLES, FONT_WEIGHTS, GOOGLE_FONTS_CSS_ORIGIN, GOOGLE_FONTS_FILE_ORIGIN, OwnedTraitLink, PALETTE_PRESETS, REDUCED_MOTION_OVERRIDES, REDUCED_TRANSPARENCY_OVERRIDES, REVERT_WINDOW_MS, SPEC_A11Y, SPEC_AXES, SPEC_BUTTON_VARIANT_TO_STYLE, SPEC_CONTRAST, SPEC_DEFAULT_ELEMENT_STYLE, SPEC_ELEMENT_STYLES, SPEC_FIELD_CLASS_BASELINE, SPEC_FLAVORS, SPEC_FLAVOR_PACKS, SPEC_FONTS, SPEC_FONT_ROLES, SPEC_LEGACY_ALIASES, SPEC_PALETTE_PRESETS, SPEC_SCHEMES, SPEC_SPRINGS, SPEC_TIERS, SPEC_TIER_IDS, SPEC_TOKEN_TYPES, SWISS_FLAVOR, USER_TOKEN_SOURCE, WCAG_AA_TEXT, apcaLc, applyElementStyle, applyHeadingLevelRule, buildFlavorTokens, buildFontFaceCss, catalogFontId, choicesForPack, colorSchemeClass, colorSchemeOf, compileSchemeCss, compileTokenCss, compileTokenCssBlocks, cssString, defaultDesignChoices, defaultElementStyleFor, deriveAccentTokens, deriveBrandTokens, designBaseline, designConfigEntries, designModeOf, designTokenRepairs, designTokenRows, elementStyleById, elementStyleClass, elementStylesFor, emptyImageLabelSrc, emptyImagePlaceholder, emptyImageSrc, flavorPackById, flavorSourceStamp, fontFamilyKey, fontFileName, fontFileStem, fontFormatOf, fontPreloads, fontRoleReferences, fontsForTokens, googleFontHref, groupFontFamilies, hasElementStyleMarker, isDesignTokenGroup, isDesignTokenTier, isDesignTokenType, isRetiredFlavorId, legacyRuleTokenReferences, matchFontWeight, missingDesignRows, nodeDesignClasses, normalizeFontStyle, normalizeFontWeight, oklabToRgb, ownedTraitStatus, packDesignChoices, parseFontFamilies, parseHexColor, planDesignApply, planFlavorRevert, planFlavorSeed, planFontFamilyRemoval, planSwissMigration, readDesignConfig, relativeLuminance, resolveDesignChoices, resolveTokenReferences, resolveTokenValues, revertAvailable, rgbToOklab, sameDesignChoices, specTokenNames, springToLinear, stackNamesFamily, styleKeyToKebab, switchElementStyle, syncNodeDesignClasses, toHexColor, tokenReferences, tokensToDarkVarMap, tokensToVarMap, unknownTokenReferences, userFontStack, validateFlavorPack, wcagContrastRatio };
8947
- export type { AccentBackgrounds, AccentTokenName, ApplyElementStyleResult, DensityId, DesignChoices, DesignClassSource, DesignConfigEntry, DesignMode, DesignTokenGroup, DesignTokenLike, DesignTokenRow, DesignTokenTier, DesignTokenType, ElementStyle, ElementStyleTarget, ElementStyleTraitLike, FlavorPack, FlavorPackV2, FlavorRevertPlan, FlavorRevertSnapshot, FlavorSeedPlan, FlavorSpecToken, FlavorTokenDef, FontDescriptor, FontFamilyGroup, FontFamilyRemoval, FontFamilyToken, FontFormat, FontPair, FontRoleToken, FontStyle, FontsForTokensOptions, LinearSpring, MotionId, OkLab, OwnedTrait, OwnedTraitStatus, PalettePreset, ResolvedMode, Rgb, SchemeId, SeedBaseline, SeedExpectation, ShapeId, StoredDesign, StoredDesignTokenRow, SwissMigration, SwitchElementStyleResult, TokenCssBlocks, TokenCssOptions };
9048
+ export { ACCENT_TOKEN_NAMES, BUTTON_VARIANT_TO_STYLE, COLOR_SCHEMES, COLOR_SCHEME_TRAIT, COLOR_SCHEME_TYPES, ColorScheme, DEFAULT_FLAVOR_ID, DESIGN_TOKEN_GROUPS, DESIGN_TOKEN_TIERS, DESIGN_TOKEN_TYPES, DesignConfigKey, ELEMENT_STYLES, ELEMENT_STYLE_MARKER_CLASS, ELEMENT_STYLE_STATES, EMPTY_IMAGE_ATTRIBUTE, EMPTY_IMAGE_SRC, ElementStyleState, FLAVOR_SPEC_VERSION, FONT_CATALOG, FONT_FAMILY_TOKENS, FONT_FILE_ACCEPT, FONT_FILE_EXTENSIONS, FONT_FILE_FORMATS, FONT_STYLES, FONT_WEIGHTS, FontUploadError, GOOGLE_FONTS_CSS_ORIGIN, GOOGLE_FONTS_FILE_ORIGIN, MAX_FONT_FILE_BYTES, OwnedTraitLink, PALETTE_PRESETS, REDUCED_MOTION_OVERRIDES, REDUCED_TRANSPARENCY_OVERRIDES, REVERT_WINDOW_MS, SPEC_A11Y, SPEC_AXES, SPEC_BUTTON_VARIANT_TO_STYLE, SPEC_CONTRAST, SPEC_DEFAULT_ELEMENT_STYLE, SPEC_ELEMENT_STYLES, SPEC_FIELD_CLASS_BASELINE, SPEC_FLAVORS, SPEC_FLAVOR_PACKS, SPEC_FONTS, SPEC_FONT_ROLES, SPEC_LEGACY_ALIASES, SPEC_PALETTE_PRESETS, SPEC_SCHEMES, SPEC_SPRINGS, SPEC_TIERS, SPEC_TIER_IDS, SPEC_TOKEN_TYPES, SWISS_FLAVOR, USER_TOKEN_SOURCE, WCAG_AA_TEXT, apcaLc, applyElementStyle, applyHeadingLevelRule, buildFlavorTokens, buildFontFaceCss, catalogFontId, checkFontWeight, choicesForPack, colorSchemeClass, colorSchemeOf, compareFontWeights, compileSchemeCss, compileTokenCss, compileTokenCssBlocks, cssString, defaultDesignChoices, defaultElementStyleFor, deriveAccentTokens, deriveBrandTokens, designBaseline, designConfigEntries, designModeOf, designTokenRepairs, designTokenRows, elementStyleById, elementStyleClass, elementStylesFor, emptyImageLabelSrc, emptyImagePlaceholder, emptyImageSrc, flavorPackById, flavorSourceStamp, fontFamilyKey, fontFileName, fontFileStem, fontFormatOf, fontPreloads, fontRoleReferences, fontStackWithout, fontWeightCovers, fontWeightRange, fontWeightValue, fontsForTokens, formatFontFamilies, formatFontFamily, formatFontWeight, googleFontHref, groupFontFamilies, hasElementStyleMarker, isDesignTokenGroup, isDesignTokenTier, isDesignTokenType, isFontWeightRange, isRetiredFlavorId, legacyRuleTokenReferences, matchFontWeight, missingDesignRows, missingFontRoles, nodeDesignClasses, normalizeFontStyle, normalizeFontWeight, normalizeFontWeightValue, oklabToRgb, ownedTraitStatus, packDesignChoices, parseFontFamilies, parseFontWeight, parseHexColor, planDesignApply, planFlavorRevert, planFlavorSeed, planFontFamilyRemoval, planSwissMigration, previewFontWeight, readDesignConfig, relativeLuminance, resolveDesignChoices, resolveTokenReferences, resolveTokenValues, revertAvailable, rgbToOklab, sameDesignChoices, specTokenNames, springToLinear, stackNamesFamily, styleKeyToKebab, switchElementStyle, syncNodeDesignClasses, toHexColor, tokenReferences, tokensToDarkVarMap, tokensToVarMap, unknownTokenReferences, userFontStack, validateFlavorPack, wcagContrastRatio };
9049
+ export type { AccentBackgrounds, AccentTokenName, ApplyElementStyleResult, DensityId, DesignChoices, DesignClassSource, DesignConfigEntry, DesignMode, DesignTokenGroup, DesignTokenLike, DesignTokenRow, DesignTokenTier, DesignTokenType, ElementStyle, ElementStyleTarget, ElementStyleTraitLike, FlavorPack, FlavorPackV2, FlavorRevertPlan, FlavorRevertSnapshot, FlavorSeedPlan, FlavorSpecToken, FlavorTokenDef, FontDescriptor, FontFamilyGroup, FontFamilyRemoval, FontFamilyToken, FontFormat, FontPair, FontRoleToken, FontStyle, FontWeight, FontWeightRange, FontsForTokensOptions, LinearSpring, MissingFontRole, MotionId, OkLab, OwnedTrait, OwnedTraitStatus, PalettePreset, ResolvedMode, Rgb, SchemeId, SeedBaseline, SeedExpectation, ShapeId, StoredDesign, StoredDesignTokenRow, SwissMigration, SwitchElementStyleResult, TokenCssBlocks, TokenCssOptions };