organisms library

Organismos do Flocks — componentes compostos de atoms e molecules (dialogs, bottom sheets, scaffolds, data tables, navegação…). Só sobre a camada widgets (sem Material/Cupertino).

Classes

AppApiDoc
A documentação da API no contexto de uma tela.
AppApiDocsPanel
Painel de documentação da API no contexto de uma tela.
AppApiEndpoint
Um endpoint documentado.
AppApiEndpointTile
Cartão colapsável de um endpoint: verbo, path e resumo no cabeçalho; parâmetros, corpo, respostas e curl no corpo.
AppApiEndpointTileState
Estado do AppApiEndpointTile — público para que o painel possa abrir um cartão específico ao navegar de um passo de fluxo para o endpoint.
AppApiField
Um campo de schema (de request ou de response), possivelmente aninhado.
AppApiFlow
Fluxo de negócio como timeline vertical numerada.
AppApiFlowData
Um fluxo de negócio: a ordem em que os endpoints se encaixam para completar uma tarefa ("cadastrar dispositivo → associar chip → associar veículo").
AppApiFlowStep
Um passo de um fluxo — a chamada que a etapa exige, com o porquê.
AppApiGroup
Um bloco temático de endpoints dentro do contexto de uma tela — "CRUD de dispositivos", "Associação de chip".
AppApiMethodBadge
Pílula do verbo HTTP, tingida pelo papel semântico do método.
AppApiParam
Um parâmetro de requisição (path, query, header ou corpo).
AppApiParamTable
Tabela de parâmetros de uma requisição.
AppApiPath
Path de um endpoint em monoespaçada, com os placeholders destacados.
AppApiResponse
Uma resposta possível de um endpoint.
AppApiSchemaTree
Árvore de campos de um schema (corpo de requisição ou de resposta).
AppAssistantPanel
Painel lateral do assistente — sempre presente, nunca um overlay.
AppAuthSplitLayout
Layout dividido usado nas páginas de autenticação (login/OTP).
AppBottomSheet
Painel flutuante ancorado na base — um card destacado (margem em L/R/base, sem encostar nas bordas, cantos arredondados) que sobe até o conteúdo caber (teto maxHeightFraction, com scroll interno acima disso).
AppBottomSheetContent
Conteúdo padrão de um AppBottomSheet: título, mensagem e ilustração.
AppBottomSheetPage
Página modal estilo iOS: sobe até logo abaixo do safe-area do topo, deixando um respiro (peek) que mostra a tela de baixo por trás dos cantos de cima arredondados. É edge-to-edge em left/right/bottom (sem margem) e pode ser fechada pelo botão de fechar, pelo barrier ou por swipe para baixo.
AppCodeBlock
Bloco de código monoespaçado, com rótulo de linguagem e ação de copiar.
AppContentStyle
Folha de estilo compartilhada por AppMarkdown e AppHtml.
AppDataTable
Tabela genérica paginada, com ordenação opcional por coluna.
AppDialog
Card central de um dialog do design system (a superfície flutuante em si).
AppDialogChrome
Diz ao corpo se a superfície do dialog já desenhou uma barra de topo.
AppDialogContent
Conteúdo padrão de um AppDialog: título, mensagem e ilustração central.
AppDocsWorkspace
Documentação de um contexto em duas colunas: o conceito à esquerda, a API à direita.
AppEntityDoc
A documentação conceitual de uma entidade do domínio.
AppEntityDocPanel
Documentação conceitual de uma entidade: o que ela é, como se relaciona com as outras e quem troca dados com ela.
AppEntityDocSection
Um bloco de texto livre da documentação da entidade.
AppEntityIntegration
Uma integração externa que troca dados com a entidade.
AppEntityRelation
Uma relação da entidade documentada com outra entidade do domínio.
AppFormWizard
Componente wizard que compoe um indicador de passos com paineis de conteudo.
AppFormWizardStep
Dados de um passo do AppFormWizard.
AppHtml
Renderiza HTML com os tokens do Flocks, sobre widgets.dart puro.
AppMarkdown
Renderiza Markdown (GitHub-Flavored) com os tokens do Flocks.
AppMarkdownTableData
Estrutura de dados para renderização de tabela.
AppMarkdownTableFormatter
Helper para converter tabela em Markdown para AppMarkdownTableData.
AppNavigationRail
Rail de navegação lateral (vertical) para desktop.
AppNavigationRailFilter
Linha de filtro para o rodapé do AppNavigationRail: ícone + nome do filtro + valor selecionado.
AppNavigationRailItem
Item do rail de navegação (ícone + título no modo expandido).
AppNavigationRailItemData
Dados de um item do rail de navegação.
AppNavigationRailProfile
Linha de perfil para o slot de footer do AppNavigationRail: avatar + título/subtítulo + trailing (chevron por padrão). Clicável via AppInteraction. No modo colapsado mostra só o avatar — lê o estado colapsado do AppNavigationRailScope ancestral (ou de isCollapsed).
AppNavigationRailScope
Expõe o estado colapsado do rail para os descendentes (footer, perfil, itens no slot de footer) — assim o conteúdo do footer colapsa sozinho sem o consumidor precisar propagar isCollapsed.
AppNavigationRailState
Estado do AppNavigationRail.
AppOmniSearch
Busca global com autocomplete e comandos /.
AppOmniSearchGroup
Um bloco de resultados do mesmo tipo (ex.: "VEÍCULOS").
AppOmniSearchItem
Um resultado da busca global.
AppOmniSearchResult
O que a busca devolveu para um termo.
AppResizablePanel
Um painel de largura ajustável pelo usuário, com uma alça de arraste em uma das bordas.
AppResizableSplit
A resizable split layout with a draggable divider between first and second.
AppScaffold
Layout de página consistente do design system: header · child · footer sobre a superfície do tema (surface), com SafeArea opcional.
AppShell
Esqueleto do workspace desktop: rail, header, conteúdo e painel lateral.
AppShellContentScope
Marca que o conteúdo já está dentro do cartão do AppShell.
AppSideSheet
Painel lateral flutuante — o irmão horizontal do AppBottomSheet. Um card destacado (margem + cantos arredondados) que desliza da borda side (default end = direita) e cresce em direção ao centro. Segue as mesmas regras: eixos style/radius/motion, botão de fechar (chip), e opcionalmente arrastável.
AppSideSheetPage
Versão page do AppSideSheet: o mesmo painel lateral flutuante, mas exibido por uma SideSheetPageRoute (um PageRoute persistente) em vez de uma rota efêmera. Use quando os detalhes hospedados forem uma "página" de primeira classe — pesada, com estado próprio, que deve persistir e poder hospedar um sheet efêmero por cima (ex.: a Ficha do Veículo).
AppSimpleDataTable
Tabela simplificada com cabeçalho e linhas, sem ordenação e paginação.
AppTabView
Componente de tabs com indicador na aba ativa e lazy load opcional.
AppTabViewItem
Dados de cada aba do AppTabView.
AppTimeline
Uma linha do tempo CRONOLÓGICA: eventos que aconteceram, do mais recente para o mais antigo.
AppWorkspaceTabItem
Dados de uma aba exibida no AppWorkspaceTabs.
AppWorkspaceTabs
Tab strip "browser-like" do workspace desktop: lista horizontal de abas com ícone, título e botão de fechar. Componente controlado — o estado das abas vive fora (no TabsCubit).
ContentLinkLauncher
Abertura de links do conteúdo, com ponto de injeção para teste.

Enums

AppApiMethod
Verbo HTTP de um endpoint documentado.
AppApiParamLocation
Onde um parâmetro viaja na requisição.
AppDataTableSortOrder
Estado de ordenação de uma coluna na AppDataTable.
AppEntityIntegrationDirection
Sentido em que uma integração externa troca dados com a entidade.
AppEntityRelationKind
Cardinalidade de uma relação entre entidades.
AppResizeEdge
Em qual borda do painel fica a alça de arraste.
AppSheetCloseSide
Lado da barra de topo onde o botão de fechar de uma superfície flutuante (dialog, bottom sheet, side sheet) aparece.
AppSheetSide
Borda em que um AppSideSheet ancora e de onde desliza.
AppSideSheetSnap
Snap em que um AppSideSheet abre.
AppWorkspaceTabsVariant
Como a barra se relaciona com o conteúdo abaixo dela.

Constants

kAppApiFlowBulletSize → const double
Diâmetro da bolha numerada de um passo.
kAppApiMethodBadgeWidth → const double
Largura reservada para o verbo numa lista de endpoints.
kAppApiSchemaIndent → const double
Recuo por nível de aninhamento.
kAppAssistantPanelHeaderHeight → const double
Altura do cabeçalho do painel.
kAppContentMonoFallback → const List<String>
Monos alternativas, por plataforma.
kAppContentMonoFamily → const String
Família monoespaçada primária usada em código.
kAppDocsWorkspaceFirstFraction → const double
Fração inicial da coluna de conceito.
kAppDocsWorkspaceStackBelow → const double
Abaixo desta largura as duas colunas viram uma pilha.
kAppNavigationRailCollapsedInset → const double
Inset lateral que centra o quadrado de _itemHeight no rail colapsado.
kAppNavigationRailCollapsedTile → const double
Tamanho do quadrado clicável no estado colapsado.
kAppNavigationRailCollapsedWidth → const double
Larguras do rail, para quem precisa alinhar algo à coluna do conteúdo.
kAppNavigationRailExpandedWidth → const double
kAppNavigationRailFilterAllLabel → const String
Rótulo padrão quando nenhum valor está selecionado.
kAppNavigationRailItemContentInset → const double
Distância da borda do rail até o CONTEÚDO de um item expandido.
kAppOmniSearchDebounce → const Duration
Espera antes de disparar a busca, para não bater no servidor a cada tecla.
kAppOmniSearchPanelMaxHeight → const double
Altura máxima do painel de resultados.
kAppShellContentMargin → const EdgeInsets
Margem padrão do cartão de conteúdo.
kAppWorkspaceTabMinWidth → const double
Largura mínima antes de a barra passar a rolar.

Functions

showAppBottomSheet<T>({required BuildContext context, required Widget child, Widget? footer, String? title, Widget? titleWidget, bool draggable = false, bool alwaysClose = false, bool showHandle = false, bool showCloseButton = true, VoidCallback? onCloseButton, AppSheetCloseSide closeSide = AppSheetCloseSide.end, VoidCallback? onClose, double maxHeightFraction = kBottomSheetRestMaxFraction, bool isDismissible = true, bool useRootNavigator = false, AppStyle? style, bool? glass, AppRadiusMode? radiusMode}) Future<T?>
Exibe um AppBottomSheet como modal deslizante (base da tela).
showAppBottomSheetPage<T>({required BuildContext context, required Widget child, String? title, Widget? titleWidget, Widget? footer, bool showCloseButton = true, VoidCallback? onCloseButton, AppSheetCloseSide closeSide = AppSheetCloseSide.end, double topPeek = kBottomSheetTopPeek, bool isDismissible = true, bool useRootNavigator = false, AppStyle? style, AppRadiusMode? radiusMode, bool scaleBelow = true}) Future<T?>
Exibe um AppBottomSheetPage como modal (slide-up + barrier + swipe para baixo). Retorna o valor passado a Navigator.pop ou null se fechado.
showAppDialog<T>({required BuildContext context, required Widget child, Widget? footer, String? title, Widget? titleWidget, bool showCloseButton = true, AppSheetCloseSide closeSide = AppSheetCloseSide.end, VoidCallback? onCloseButton, bool barrierDismissible = true, BoxConstraints? constraints, AppStyle? style, bool? glass, AppRadiusMode? radiusMode, BorderRadius? radius}) Future<T?>
Exibe um AppDialog como modal central (barrier dismissível por padrão).
showAppSideSheet<T>({required BuildContext context, required Widget child, AppSheetSide side = AppSheetSide.end, String? title, Widget? titleWidget, Widget? footer, bool draggable = false, bool alwaysClose = false, bool showHandle = false, bool showCloseButton = true, AppSheetCloseSide? closeSide, VoidCallback? onCloseButton, VoidCallback? onClose, double mediumFraction = kSideSheetMediumFraction, double largeFraction = kSideSheetLargeFraction, double edgePeek = kSideSheetEdgePeek, AppSideSheetSnap initialSnap = AppSideSheetSnap.rest, bool isDismissible = true, bool useRootNavigator = false, AppStyle? style, bool? glass, AppRadiusMode? radiusMode}) Future<T?>
Exibe um AppSideSheet como modal (slide da borda side + barrier).
showAppSideSheetPage<T>({required BuildContext context, required Widget child, AppSheetSide side = AppSheetSide.end, String? title, Widget? titleWidget, Widget? footer, bool draggable = false, bool alwaysClose = false, bool showHandle = false, bool showCloseButton = true, AppSheetCloseSide? closeSide, VoidCallback? onCloseButton, VoidCallback? onClose, double mediumFraction = kSideSheetMediumFraction, double largeFraction = kSideSheetLargeFraction, double edgePeek = kSideSheetEdgePeek, AppSideSheetSnap initialSnap = AppSideSheetSnap.rest, bool isDismissible = true, bool useRootNavigator = false, AppStyle? style, bool? glass, AppRadiusMode? radiusMode}) Future<T?>
Exibe um AppSideSheetPage como page-route (slide da borda side + barrier). Igual a showAppSideSheet, mas a sheet é uma SideSheetPageRoute (um PageRoute persistente) em vez de uma SideSheetRoute efêmera.
splitApiPathSpans(String path, {required TextStyle base, required TextStyle placeholder}) List<TextSpan>
Quebra path em spans alternando texto literal e placeholders {…}.

Typedefs

AppContentLinkTap = void Function(String href)
Callback de toque num link do documento. Recebe o href já sanitizado.
AppOmniSearchCallback = Future<AppOmniSearchResult> Function(String term)
Assinatura da busca. Recebe o termo já aparado e não vazio.