genai_components library

CL Components — UI component library for Generazione AI projects.

Classes

AiAssistantConfig
Configuration for the AI Assistant.
AiConversationStore
Persistenza conversazioni dell'assistente. Scoped per scope (es. tenantId) → conversazioni di tenant diversi non si mischiano (isolamento). Pluggable: l'app fornisce un'implementazione via AiAssistantConfig.conversationStore.
AiConversationSummary
Riassunto di una conversazione salvata (per la lista history).
AiSuggestionChip
A suggestion chip shown in the chat overlay's empty state.
AiTool
A developer-facing tool that can be registered with the AI assistant. Combines a ToolDefinition with an executable handler function.
AlertManager
AssignEntitiesModal<T>
A generic modal for selecting one or many entities of type T from a searchable list.
BaseFilterMenuItem
BaseGraphController<E>
Base controller class that all specific graph controllers should extend
BaseModel
BaseTableColumn<TType extends Object>
ChewieVideoPlayerWidget
ChewieVideoPlayerWidgetState
CLActionChip
Compact inline action chip — used for in-row/in-card actions like "Gestisci", "Badge", "Modifica" etc. Smaller than CLButton.compact (28px high vs 32) with tonal-tint chrome (color × 0.10 bg + colored label/icon). Replaces ad-hoc Container + InkWell + Padding patterns scattered in pages.
CLActionText
CLAdaptiveShell
Shell adattivo a slot. Sceglie sidebar/drawer/bottom-bar per larghezza. Trasparente alle logiche app: riceve dati + slot, non conosce router/AI/auth.
CLAlert
Skillera Refined Editorial alert.
CLAttachedMedia
Modello leggero per rappresentare un media allegato. Può essere esteso o mappato dal modello specifico del progetto.
CLAvatarWidget
CLAvatarWidget — avatar circolare con stack di media o iniziali su gradient.
CLBarChart<T>
Bar chart generico basato su fl_chart.
CLBottomBar
Bottom bar mobile. Due modalità:
CLBottomBarItem
Voce fissa custom della bottom bar (es. menu, AI, profilo, ricerca) — non legata alle destinations nav. Usata via CLBottomBar.items / shell bottomBarItems. selectedKey (opzionale) evidenzia la voce quando coincide con la selezione corrente dello shell (es. la voce Dashboard).
CLButton
CLCalendar
Calendario in-theme, ora su ShadCalendar reale (dependency shadcn_ui). Header con nav mese, riga giorni settimana, griglia; selected = primary CL · today = stile Shad · fuori-mese attenuato. Settimana lun-first, IT.
CLCalendarDayData
Modello per i dati di un giorno nel calendario
CLCalendarLegendItem
Item della legenda
CLCard
Generic elevated card with optional clickable hover/press feedback.
CLCheckbox
CLCheckbox — checkbox stilizzata come nella PagedDataTable.
CLClipboardWidget
CLClipboardWidget — testo + bottone copia con feedback visivo.
CLCodeText
Widget per visualizzare un codice con prefisso grigio (es: "# - ABC123")
CLCollapsible
Sezione espandibile/collassabile con animazione. Alternativa più semplice a CustomExpansionTile con stile coerente al tema.
CLCommandItem
CLCommandPalette
Command palette / global search stile shadcn — generica e decoupled.
CLCompactActionScope
Scope che chiede ai bottoni discendenti (CLButton, CLOutlineButton) di collassare a tondo icon-only quando iconOnly è true.
CLConfirmationDialog
A simple yes/no confirmation dialog.
CLConfirmRejectButtons
CLContainer
CLContextMenu
Region che apre un CLPopupMenu al tasto destro (desktop) o long-press (mobile) sopra child, alla posizione del cursore. Equivalente essenziale di ShadContextMenuRegion, costruito sui primitivi CL (nessun overlay proprio: il dismiss tap-fuori/Esc è gestito dal barrier di CLPopupMenu).
CLDatePicker
Date picker in-theme (shadcn ShadDatePicker): trigger a bottone (icona calendario + data/placeholder) che apre un popover ancorato con il calendario. Varianti single e range. Nessun dialog Material.
CLDateRangeTableFilter
Filtro range di date — due CLTextField.date affiancati (Da / A)
CLDateTableFilter
Filtro data singola — CLDatePicker (trigger + popover calendario in-theme).
CLDateTimeTableFilter
Filtro data e ora — CLTextField.dateTime (gg/mm/aaaa hh:mm)
CLDestination
Destinazione di navigazione neutra: nessuna dipendenza da router/Modular. L'app converte il proprio albero route in List<CLDestination> (adapter).
CLDialog<T>
Base class for CL dialogs with title, optional subtitle, and confirm/cancel actions.
CLDivider
CLDivider — divider con stile standard del design system.
CLDropdown<T extends Object>
CLDropdownRegistry
Singleton registry mapping CLDropdown hint labels → their DropdownState. Used by the AI assistant's select_dropdown_item tool to bypass the UI and select items programmatically without needing to tap/open overlays.
CLDropdownTableFilterAsync<TValue extends Object>
Esempio di utilizzo:
CLDropdownTableFilterSync<TValue extends Object>
Filtro dropdown che usa CLDropdown con supporto per ricerca sincrona
CLEmptyState
Stato vuoto standard — Tier 1.
CLEntityTabs
Registro di tab di dettaglio entità, domain-tagged e permission-gated, costruito SOPRA CLTabView.
ClFilePicker
CLFocusRingPainter
Focus ring stile shadcn: anello arrotondato disegnato VERSO L'ESTERNO del controllo (gap + spessore), senza occupare spazio nel layout → nessun salto del contenuto quando appare/scompare. Usato dai bottoni CL come foregroundPainter, mostrato solo su focus da tastiera (traversal).
CLGhostButton
CLGraphEdge
CLGraphNode
Nodo del grafo, indipendente dal motore di rendering.
CLGraphNodeAction
Azione/indicatore su una card del grafo, resa come slot in alto a destra. Di norma un'icona tappabile (es. frecce ordine ▲▼); con label mostra invece un testo (es. numero d'ordine corrente) e con interactive false diventa puro display (nessun hotspot, non tappabile).
CLIconButton
Bottone pieno solo-icona, quadrato. Stesse micro-interazioni di CLButton (press scale/offset, hover blend, haptic, spinner). Pensato per azioni compatte in header/toolbar — es. il pulsante AI in header — dove serve un'icona prominente senza label. Supporta ombra e bordo opzionali.
CLInfoBanner
CLInfoBanner — banner esplicativo contestuale con icona, testo e azione opzionale.
CLInputGroup<T>
"Input group" / "segmented input" — a single visual chrome containing a leading dropdown and a trailing text field, sharing border, radius, height and focus state. Common pattern (Bootstrap input-group, Tailwind "addon", etc.) used for typed inputs that require a category selector.
CLInputGroupItem<T>
Group item descriptor for CLInputGroup.
CLLabelValue
Riga label → value per le pagine di dettaglio.
CLLifecycleProgress
CLLifecycleProgress — barra orizzontale che mostra gli step di un flusso con stato.
CLLinkButton
Bottone "link" (variante shadcn): solo testo colorato dal tono, underline su hover, nessun background né bordo. Nucleo su ShadButton.raw (variante link); toni dal motore CLToneStyle (variante link).
CLMedia
CLMediaAttachWidget
Widget riutilizzabile per gestire i media allegati a una risorsa.
CLMediaViewer
CLMediaViewerItem
CLMetricCard
Hero-style KPI card for dashboards.
CLMonthCalendar
Widget calendario mensile riutilizzabile
CLMonthTableFilter
Filtro mese — CLTextField.month (mm/aaaa)
CLNavList
Lista navigazione condivisa da sidebar (desktop) e drawer (tablet/mobile). Scrollabile, rende l'albero CLDestination con gruppi/sezioni espandibili.
CLNavRail
Rail di navigazione icon-only (tier tablet). Una icona per voce top-level: le foglie navigano (onSelect), i gruppi/sezioni aprono il drawer espanso (onOpenGroup). header/footer sono slot opzionali (es. tenant in alto, help+utente in basso). In bolla (frosted) bg/bordo li dà la card esterna.
CLNodeGraph
Canvas a nodi data-driven: render nodi+archi da nodes/edges, tap→select, drag-porta (dx→sx) per creare prereq, drag-corpo per spostare il nodo (effimero), hover arco→cestino per eliminare, "Ordina" per risnappare al layout. Nessun motore imperativo: si ridisegna dalle props.
CLOutlineButton
CLPageContainer
Wrapper che centra il contenuto con un maxWidth e padding laterale fisso. Usa questo come root delle pagine shell per evitare che il contenuto si allarghi troppo su monitor ultrawide.
CLPagination
CLPagination — paginazione refined editorial Skillera.
CLPdfViewer
CLPill
CLPill — chip/pill atomico per stati, conteggi, tag.
CLPopupMenu
Popup menu riusabile con lo stesso stile delle tableActions della PagedDataTable.
CLPopupMenuItem
Elemento di un CLPopupMenu.
CLPopupSurface
Shared visual + entry-animation wrapper for floating popups (dropdowns, overlay menus, autocomplete suggestions).
CLPressable
Primitivo di interazione condiviso — Foundation / Tier 0.
CLPressableState
Stato interattivo risolto, passato al builder di CLPressable.
CLProgress
Barra di progresso lineare stile shadcn.
CLResponsiveGrid
Grid responsiva con colonne configurabili per breakpoint. Default shadcn: 1 col <600, 2 col <1024, 3 col <1440, 4 col ≥1440.
CLResponsiveStack
Row su desktop (≥1024px), Column su mobile/tablet. Usa gap per lo spazio tra gli elementi.
CLRoleBadge
Widget per visualizzare un badge con icona + testo colorato in un container arrotondato Usato per figure come Metodologo, Progettista, Ente di Formazione, ecc.
CLRoleIcon
Widget per visualizzare solo l'icona del ruolo in un CircleAvatar con tooltip
CLSectionCard
CLSectionCard — card con header colorato, icona HugeIcon, titolo/sottotitolo e contenuto.
CLSeparator
Linea divisoria semantica, orizzontale o verticale.
CLSheet
Pannello slide-in laterale da destra. Utile per form di dettaglio. Usa CLSheet.show per aprirlo.
CLShellConfig
Parametri di layout dello shell. Default = valori attuali del progetto.
CLShellPageActions
Pubblica actions sul canale page dello shell (CLShellScope) per tutta la vita del widget: lo shell le ricolloca da sé (header su desktop/tablet, area contestuale sopra la bottom bar su mobile). Incapsula il lifecycle che le pagine altrimenti ricablano a mano — lookup dello scope, publish post-frame, gate sulla rotta corrente, clear in dispose — così una pagina passa da ~15 righe sparse (campo + didChangeDependencies + post-frame + dispose) a un solo widget nel tree:
CLShellScope
Espone il ShellSlotsController alle pagine discendenti. Lookup NON sottoscrivente: la pagina che pubblica non si ricostruisce quando i slot cambiano (è lo shell ad ascoltare il controller).
CLShimmer
Widget che mostra un effetto shimmer (loading skeleton)
CLShimmerTableRows
Widget per mostrare shimmer loading nelle righe della tabella
CLSizes
Design tokens del DS Skillera.
CLSkeleton
Loading placeholder animato stile shadcn. Usa CLSkeleton per nuovi componenti; CLShimmer rimane per retrocompatibilità.
CLSoftButton
CLStatStrip
Strip di statistiche a TUTTA larghezza: un'unica card orizzontale con N segmenti equi (icona tinta + valore in evidenza + label), separati da divider verticali. Nata per le fasce dashboard (KPI di oggi, "da approvare", totali periodo) al posto di N card affiancate: stessa informazione, una sola riga di altezza, larghezza piena.
CLStatStripItem
Voce di una CLStatStrip: icona tinta + valore + label, opzionalmente tappabile.
CLStatusBadge
Widget per visualizzare uno status con pallino colorato + testo Esempio: ● In attesa, ● Approvata, ● Rifiutata
CLSummaryStatCard
CLSurface
Primitivo L1 Foundation — l'unico posto dove si costruisce una "superficie" (background + bordo + radius + ombra + clip).
CLSurveyBuilder
CLSurveyBuilderState
CLSurveyResultViewer
CLSurveyResultViewerState
CLSurveyViewer
CLSurveyViewerState
CLTabItem
CLTableStyle
Override colori per-istanza di PagedDataTable. Ogni campo null -> token CLTheme.
CLTabView
Tab view in stile editoriale: nessun chrome a bottone, label sottolineata quando attiva. Divider 1px continuo sotto la riga delle tab; l'indicatore 3px del tab attivo sovrascrive il divider creando l'effetto "active rail".
CLTextField
CLTextFieldState
CLTheme
--- Theme root ----------------------------------------------------------
CLThemeProvider
Provider generico per iniettare un tema CLTheme custom nell'app.
CLTimePicker
Time picker in-theme (shadcn ShadTimePicker): input a campi segmentati (ore/minuti, opzionali secondi e periodo AM/PM). Emette TimeOfDay.
CLTimeTableFilter
Filtro solo ora — CLTextField.time (hh:mm)
CLTitle
CLTitle — titolo di sezione con divider opzionali sopra/sotto.
CLToast
Toast notification temporanea stile shadcn. Usa CLToast.show per mostrare una notifica.
CLToneColors
Colori risolti per un dato (tone × variant × stato interattivo).
CLToneStyle
Recipe L2 — l'unico posto dove vive la matematica del chrome tonale.
CLTooltipWrapper
Wrapper tooltip con delay di 500ms e stile coerente con il tema.
CLUniversalRepeatable<T extends Object>
CLViewToggle<T extends Object>
Toggle a pill per alternare tra più viste (es. tabella / calendario). Scala automaticamente tra desktop (icona + label) e mobile (solo icona).
CLViewToggleItem
Modello per un'opzione del toggle vista.
CLYearTableFilter
Filtro anno — CLTextField.year (aaaa)
ColorUtils
--- Utils ---------------------------------------------------------------
ConfirmationDialog
Legacy confirmation dialog. Public API preserved verbatim: ConfirmationDialog({Key?, String? confirmationMessage, required Function() onTap})
CustomAlertListener
CustomInteractiveViewerController
A controller for CustomInteractiveViewer that manages transformation state and provides methods for programmatically manipulating the view.
CustomRowBuilder<TResult extends Object>
Allows you to pass a custom RowBuilder method.
DarkModeTheme
DashedGraphArrow
A graph arrow style that renders a dashed arrow using a customizable dash pattern
DatePickerTableFilter
DateRangePickerTableFilter
DefaultAlertListener
DivorceDecorator
A decorator that draws a diagonal line through a marriage line to indicate divorce
EditableTableColumn<TType extends Object, TValue extends Object>
Defines a BaseTableColumn that allows the content of a cell to be modified, updating the underlying item too.
EntityTab
Descrittore dichiarativo di una singola tab di dettaglio entità.
ExcerptText<T extends Object>
ExcerptTextState<T extends Object>
FFUploadedFile
Filtering
FilterMenuDivider
FilterMenuItem
FilterMenuItemBuilder
Genogram<E>
A widget that displays an organizational chart
GenogramController<E>
Controller responsible for managing and laying out genogram (family tree) charts
GenogramEdgeConfig
Configuration for genogram edge painter styling
GenogramEdgePainter<E>
A highly customizable painter for genogram edges
GradientBackgroundWidget
Widget per il background con gradiente radiale e cerchi decorativi.
GraphArrowStyle
Base abstract class for arrow/line styles in graphs
InteractionConfig
Configuration for gesture and interaction behavior in CustomInteractiveViewer.
ISelectableDropdown
Abstract interface that all DropdownState instances implement to support programmatic item selection (e.g., from AI assistant custom tools).
KeyboardConfig
Configuration for keyboard controls in CustomInteractiveViewer.
LifecycleStep
LightModeTheme
LoadingWidget
LogoWidget
MarriageDecorator
Base abstract class for decorators that can be applied to marriage lines
MarriageLineStyle
Represents the style of a marriage line in a genogram
MarriageStyle
Represents the style of a specific marriage relationship
Media
NodeBuilderDetails<T>
Contains all necessary properties that are passed to the node builder function to customize the appearance and behavior of each node in the graph.
OpenAiProvider
LLM provider implementation for OpenAI-compatible APIs.
OptionEditor
Widget per editare una singola opzione, con possibilità di aggiungere domande subordinate
OptionEditorState
OrgChart<E>
A widget that displays an organizational chart
OrgChartController<E>
Controller specifically for organizational charts
PagedDataTable<TKey extends Comparable, TResultId extends Comparable, TResult extends Object>
A paginated DataTable that allows page caching and filtering TKey is the type of the page token TResult is the type of data the data table will show.
PagedDataTableConfiguration
PagedDataTableController<TKey extends Comparable, TResultId extends Comparable, TResult extends Object>
Represents a controller of a PagedDataTable
PagedDataTableFilterBarMenu
PagedDataTableFooterConfiguration
PagedDataTablePaginationInfo
PagedDataTableRowMetrics
Single source of truth for the fixed leading/trailing slot widths of a desktop PagedDataTable row. The RESERVATION math (PagedDataTable.build), the DATA row (_PagedDataTableRow), the HEADER row (_PagedDataTableHeaderRow) and the SHIMMER rows (_ShimmerRows) all read these exact values, so the width reserved for columns can never drift from the width actually rendered.
PagedDataTableTheme
PagedDataTableThemeData
PaginationResult<TPaginationKey extends Object, TResult extends Object>
Contains a set of elements and optionally a next page token
ProgrammaticTableFilter<TValue>
A filter that is not visible in the popup dialog but can be set with the controller.
QRCodeDialog
A dialog that displays a QR code rendered from data along with the raw textual payload for accessibility and copy/paste.
Question
QuestionEditor
Widget per editare una singola domanda
QuestionEditorState
QuestionResult
RepeatableFieldConfig
Configurazione universale per il repeatable
ResponsiveGrid
ResponsiveGridItem
SharedManager
SharedPrefsAiConversationStore
Implementazione su shared_preferences. Una entry JSON per scope: cl_ai_conv:<scope> → lista di {id, title, updatedAt, messages:[...]}. Tiene al massimo maxConversations conversazioni (le più recenti).
ShellAction
Slot generici che una pagina pubblica verso lo shell. Lo shell li RICOLLOCA per breakpoint (header desktop/tablet, header compatto + bottom mobile) ma NON conosce il dominio: un sort/filtro è solo una ShellAction con icona e onTap che chiama il controller della pagina. Niente tipi di dominio qui → lo shell resta un layout primitive riusabile in altri progetti.
ShellBack
Intento "indietro": presente solo se la pagina può tornare indietro (es. un dettaglio). null negli elenchi root.
ShellContextControl
Controllo contestuale legato al controller della pagina. Union GENERICA: bottone / ricerca / custom / reveal. Su desktop+tablet la pagina tiene i propri controlli inline; lo shell usa questi solo dove il design li ricolloca (riga alta del bottom mobile).
ShellCrumb
Voce di breadcrumb. onTap == null → voce corrente (non navigabile).
ShellCustom
Escape hatch per controlli non standard (es. stepper mesi di un calendario). Il builder DEVE catturare i controller per riferimento, NON via context.read (verrebbe costruito sotto lo shell, antenato sbagliato).
ShellRevealControl
Controllo che, su mobile, NON apre un overlay esterno ma RIVELA il proprio contenuto inline nell'area contestuale (le righe di controlli collassano e al loro posto compare panelBuilder). Toggle: ritap chiude. Lo shell tiene lo stato di apertura (per id); il close passato chiude il pannello.
ShellSearch
Campo ricerca generico. Il controller è POSSEDUTO dalla pagina e passato per riferimento.
ShellSlots
Insieme degli slot pubblicati da una pagina.
ShellSlotsController
Stato dei slot, su DUE canali indipendenti che lo shell unisce:
SolidGraphArrow
A graph arrow style that renders a solid arrow
SortBy
SurveyWidget
Crea un form Survey
TableAction<T extends Object>
Action available on a table row.
TableActionItem
TableColumn<TType extends Object>
Defines a simple BaseTableColumn that renders a cell based on cellBuilder
TableExtraMenu<T extends Object>
TableFilter<TValue>
TableFilterState<TValue>
TableRowAction<T>
Lightweight action descriptor consumed by TableColumnBuilder.actionColumn.
TextTableFilter
ThemeTypography
TimeInputField
TimeTextInputFormatter
ToolDefinition
Definition of a tool that the LLM can call.
ToolParameter
A parameter definition for a tool.
Typography
--- Typography ----------------------------------------------------------
UniversalRepeatableItem<T extends Object>
Validators
VideoPlayerWidget
VideoPlayerWidgetState
ZoomConfig
Configuration for zoom-related behavior in CustomInteractiveViewer.

Enums

ActionOnNodeRemoval
AlertPosition
AlertType
CLActionChipTone
Tonal variants for CLActionChip.
CLCalendarCaptionLayout
Layout dell'intestazione (shadcn ShadCalendarCaptionLayout): etichetta testuale, oppure dropdown per mese e/o anno.
CLCalendarVariant
Modalità di selezione del CLCalendar (shadcn ShadCalendarVariant).
CLGraphEdgeKind
Tipo di arco: contenimento (gerarchia), propedeuticità, ordine, o link-lezione. lessonLink parte dalla porta triangolino (non dal pallino prereq): il pallino resta riservato alla propedeuticità.
CLGraphLinkRole
Ruolo di un link tracciato dall'utente, in base alle porte coinvolte.
CLMediaViewerMode
CLNavMode
CLPopupAlignment
Allineamento orizzontale del popup rispetto all'anchor.
CLProgressVariant
CLSurfaceKind
Preset di superficie — le tipologie ricorrenti censite dall'audit 2026-07-02.
CLToastVariant
CLTone
Toni semantici del kit. neutral è il grigio non semantico (muted/accent).
CLVariant
Asse di variante del catalogo (stile shadcn): solid = riempito · soft = tinta leggera · outline = bordo · ghost = nudo · link = testo.
ConnectionPoint
Connection points on a node
ConnectionType
Connection types for drawing lines between nodes
EntityDomain
Dominio applicativo a cui appartiene una sezione di dettaglio entità.
Gender
Gender enum for genogram nodes
GraphOrientation
The orientation of the organizational chart
LineEndingType
Line ending types for edge connections
MarriageStatus
Marriage status enum for genogram relationships
MessageRole
Unified message role for AI/LLM conversations.
RelationshipType
Relationship type in a genogram
ResourceType
ScrollMode
Defines the scroll behavior for CustomInteractiveViewer.
ToolName
AI tool-call names used by the assistant agent.

Extensions

DeepCopy on Question
EntityDomainX on EntityDomain
Etichette it_IT e accento cromatico per EntityDomain.
TableColumnBuilder on BuildContext
Convenience builders for the most common TableColumn shapes used inside PagedDataTable. Reduces boilerplate when declaring column lists.
TextStyleHelper on TextStyle
--- TextStyle extension --------------------------------------------------

Constants

kCardH → const double
kCardW → const double
kCLModalScrim → const Color
Shared overlay scrim tokens — single source of truth for barrier colors.
kCLPopoverScrim → const Color
kThemeModeKey → const String
kTriDy → const double
Offset verticale (sotto il centro del bordo destro) della porta triangolino "link-lezione". Condiviso tra il widget (che disegna il triangolino) e il painter (che ancora gli archi CLGraphEdgeKind.lessonLink a quel punto), così la porta e l'arco restano allineati da un'unica sorgente di verità.

Functions

Porte del nodo CL (vedi CLNodeGraph): contenimento = parent(in)/children(out), propedeuticità = requires(in)/unlocks(out).
clHierarchicalLayout(List<CLGraphNode> nodes, List<CLGraphEdge> edges) Map<String, Offset>
Layout gerarchico L→R deterministico: la colonna è la profondità nella gerarchia di contenimento; la y di un nodo è la media delle y dei suoi figli (foglie impilate in ordine stabile). Gli archi link sono ignorati.
clModuleFlowLayout(List<CLGraphNode> nodes, List<CLGraphEdge> edges) Map<String, Offset>
Layout a bande per modulo: ogni nodo con figli di containment è la TESTA di una banda (colonna 0, centrato verticalmente); i suoi figli (risorse) fluiscono a destra per prereq (colonna = 1 + profondità catena calcolata sui SOLI prereq intra-modulo), impilati per ordine d'input evitando collisioni. Bande impilate verticalmente in ordine d'input dei moduli. Nodi senza modulo → in coda. Deterministico. Usa containment (modulo→risorsa) + prerequisite (risorsa→risorsa).
clPrereqFlowLayout(List<CLGraphNode> nodes, List<CLGraphEdge> edges) Map<String, Offset>
Layout "flusso prereq": colonna = profondità nella catena prereq (longest-path dai root senza prereq); riga = impilamento greedy in ordine d'input evitando collisioni per colonna. I nodi vanno passati GIÀ ordinati per order (indice in lista = order). Ignora archi non-prerequisite. Deterministico.
resolveCLNavMode(double width, CLShellConfig config) CLNavMode
Larghezza → modalità navigazione.

Typedefs

CLGraphLayout = Map<String, Offset> Function(List<CLGraphNode> nodes, List<CLGraphEdge> edges)
Strategia di posizionamento: da nodi+archi a coordinate.
CLPressableBuilder = Widget Function(BuildContext context, CLPressableState state)
ErrorBuilder = Widget Function(Object error)
FetchCallback<TKey extends Object, TResult extends Object> = FutureOr<PaginationResult<TKey, TResult>> Function(TKey pageToken, int pageSize, SortBy? sortBy, Filtering filtering)
Getter<T extends Object, TValue extends Object> = TValue? Function(T item)
ModelIdGetter<TResultId extends Comparable, TResult extends Object> = TResultId Function(TResult item)
PostTaskChipsBuilder = ButtonsContent? Function(AgentResponse response)
Callback type for building post-task follow-up chips.
RowBuilder<TResult extends Object> = Widget Function(BuildContext context, TResult item)
Setter<T extends Object, TValue> = FutureOr<bool> Function(T item, TValue newValue, int rowIndex)
Sizes = CLSizes
Retrocompatibilità: il vecchio nome Sizes resta disponibile come alias.
WidgetBuilder = Widget Function(BuildContext context)

Exceptions / Errors

TableError