M10

Fonts

Enterprise font and asset lifecycle with licensing attachment support.

Font family/type management with static font-file ingestion, hosted URL linkage, attachment management, and filterable retrieval for design systems and license oversight.

FontPicker.jsxtsx
import { useState } from 'react';
import { Lookup, Select, Slider, RangeSlider, Card } from '@cleen/cleen-components';
import { useFonts } from '@/hooks/useFonts';

export function FontPicker() {
  const { fonts } = useFonts();
  const [size, setSize]       = useState(16);
  const [weight, setWeight]   = useState(400);
  const [selected, setSelected] = useState(null);

  return (
    <div className="font-picker">
      <Lookup
        items={fonts}
        searchKeys={['family', 'designer']}
        onSelect={setSelected}
        renderItem={(f) => <span style={{ fontFamily: f.family }}>{f.family}</span>}
      />
      <Slider label="Size"   min={10} max={72} value={size}   onChange={setSize} />
      <Slider label="Weight" min={100} max={900} step={100} value={weight} onChange={setWeight} />
      {selected && (
        <Card style={{ fontFamily: selected.family, fontSize: size, fontWeight: weight }}>
          The quick brown fox jumps over the lazy dog.
        </Card>
      )}
    </div>
  );
}

Capabilities

  • Font family and font CRUD
  • Static font file ingestion to blob and DB
  • Font attachment upload/filter/delete
  • Font vendor/reference URL linkage
  • Font details and inventory filtering

Benefits

  • Reduces font licensing risk
  • Creates trackable typography asset inventory
  • Improves design consistency

Flow of work

  1. 01Create font family
  2. 02Add font variants
  3. 03Upload files and license attachments
  4. 04Link vendor/reference URLs
  5. 05Filter and govern active font inventory

Subfeatures

  • Font family save/delete
  • Font save/delete
  • Font details
  • Static font file ingest
  • Font file filter/delete
  • Font attachment save/filter/delete
  • Font URL save
Source surfaces (technical reference)

Internal code areas in the licensed Full-Stack codebase that back this module.

  • ApiStyles font endpoints
  • Static font storage configuration
In the stack

Where it lives. What it exposes.

A quick visual of how Fonts participates across the CleenUI stack, alongside the named operations it adds to the API surface.

M10 · architecture
Frontend
React · TailwindCSS · 60+ components
Font browserFamily editorUpload UILicense viewer
API
C# Web API · production-ready · role-aware
Font family CRUDFont CRUDFile ingestAttachment uploadURL save
Database
AzureSQL · 300+ tables · 700+ procedures
FontFamiliesFontsFontFilesFontAttachments
Async Services and Batch Jobs
WebJobs & Functions · queue-backed
Font file processorStatic asset uploader
All four layers ship together as the Full-Stack license. M10 blocks are highlighted.
API operations

Named operations on this surface

7
Try these in Postman
  • POSTFont family save/delete/styles/font/family-save-delete
  • POSTFont save/delete/styles/font/save-delete
  • POSTFont details/styles/font/details
  • POSTStatic font file ingest/styles/font/static-font-file-ingest
  • POSTFont file filter/delete/styles/font/file-filter-delete
  • POSTFont attachment save/filter/delete/styles/font/attachment-save-filter-delete
  • POSTFont URL save/styles/font/url-save

Each operation maps to an endpoint in the licensed C# Web API surface.