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
curlno 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.dartpuro. - 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.
- Rail de navegação lateral (vertical) para desktop.
- Linha de filtro para o rodapé do AppNavigationRail: ícone + nome do filtro + valor selecionado.
- Item do rail de navegação (ícone + título no modo expandido).
- Dados de um item do rail de navegação.
- 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).
-
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. - 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·footersobre a superfície do tema (surface), comSafeAreaopcional. - 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 (defaultend= 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.
-
Inset lateral que centra o quadrado de
_itemHeightno rail colapsado. - Tamanho do quadrado clicável no estado colapsado.
- Larguras do rail, para quem precisa alinhar algo à coluna do conteúdo.
- Rótulo padrão quando nenhum valor está selecionado.
- 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, 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, 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, bool showCloseButton = true, VoidCallback? onCloseButton, AppSheetCloseSide closeSide = AppSheetCloseSide.end, double topPeek = kBottomSheetTopPeek, bool isDismissible = true, 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
nullse fechado. -
showAppDialog<
T> ({required BuildContext context, required Widget child, 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, 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, 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, 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, AppStyle? style, bool? glass, AppRadiusMode? radiusMode}) → Future< T?> -
Exibe um AppSideSheetPage como page-route (slide da borda
side+ barrier). Igual ashowAppSideSheet, mas a sheet é umaSideSheetPageRoute(um PageRoute persistente) em vez de umaSideSheetRouteefêmera. -
splitApiPathSpans(
String path, {required TextStyle base, required TextStyle placeholder}) → List< TextSpan> -
Quebra
pathem spans alternando texto literal e placeholders{…}.
Typedefs
- AppContentLinkTap = void Function(String href)
-
Callback de toque num link do documento. Recebe o
hrefjá sanitizado. -
AppOmniSearchCallback
= Future<
AppOmniSearchResult> Function(String term) - Assinatura da busca. Recebe o termo já aparado e não vazio.