Documentazione · src/baselines
Le baseline
Dieci file: i valori da cui un progetto vuoto parte. Non sono runtime — il motore legge gli store, non questi file. Sono il punto di partenza che `init` copia una volta.
Punto di partenza, non configurazione
La distinzione è la cosa più importante di quest’area. Le baseline non vengono lette a runtime: `init` le scrive nei sei store del progetto, e da quel momento appartengono al progetto. Aggiornare il pacchetto non le riscrive.
Il che significa che un progetto può divergere quanto vuole senza combattere con la libreria — e che un miglioramento nelle baseline del pacchetto non arriva da solo a chi ha già installato. È un compromesso scelto: la proprietà del proprio aspetto vale più dell’aggiornamento automatico.
baselines/index.ts— la porta: cosa `init` legge
La style guide di partenza
Duecentonovantadue stili: un lessico che mappa insiemi di selettori Tailwind — fondamenta, utilità tipografiche, e componenti con varianti di colore, dimensione e stato. I viewMode COMPONGONO questi stili invece di ripetere le classi.
È la parte più densa delle baseline e quella che conviene leggere per prima quando si vuole capire come è pensato l’aspetto: i nomi dicono il vocabolario.
baselines/uims-styles.ts— la style guide di partenzabaselines/uims-base-vars.ts— la base piatta e completa delle variabili: un tema le sovrascrive e vince
I viewMode e i temi
I viewMode di partenza sono il file più lungo del pacchetto, ed è giusto che lo sia: descrive la configurazione di default di ogni forma. Accanto ci sono i viewMode presentazionali del pacchetto — strutture, con `themeStyles` per tema — e quelli dell’editor, che stanno in un tema a parte.
Il catalogo dei temi è una palette più dei font, tredici in tutto. La differenziazione strutturale non sta qui ma nei `themeStyles` dei viewMode: è quello che tiene un tema leggero.
La palette è UNA nel global, non una per tema: dato il tema scelto, un seeder importa la palette corrispondente e la scrive nei campi colore. I viewMode usano solo token semantici, quindi cambiare palette non tocca niente.
baselines/uims-viewModes.ts— la configurazione di default di ogni viewModebaselines/presentationalViewModes.ts— le strutture del pacchetto, con `themeStyles` per temabaselines/adminViewModes.ts— i viewMode dell’editor, nel tema `admin`baselines/themes.ts— il catalogo: palette più fontbaselines/uims-theme-palettes.ts— le palette, una per tema
Effetti ed eventi
Le ricette di animazione di partenza seguono la stessa regola dei viewMode: il codice definisce quali esistono, `init` le scrive se mancano, l’admin le modifica. Le fixture dei test derivano da qui, così un test non può passare contro una ricetta inventata.
Il catalogo degli eventi porta una cosa che un handler non può dichiarare da solo: gli eventi di STATO, quelli cablati per default nel reducer dello store. Esistono come nomi anche se nessun handler risponde, perché è il reducer a trattarli.
baselines/uims-effects.ts— le ricette di animazione di partenzabaselines/uims-events.ts— il catalogo degli eventi, inclusi quelli di stato