motion library

Camada de motion do Flocks: reduce-motion (AppMotion) e widgets/mixins de micro-interação. Tokens de duração/curva (AppDurations/AppCurves) vivem em tokens.dart. Só sobre a camada widgets (sem Material/Cupertino).

Classes

AppAnimatedRotation
Rotação animada (implícita) que respeita reduce-motion.
AppAppear
Entrada canônica: fade + pop ao montar (compõe AppFade e AppPop).
AppCrossFade
Troca de conteúdo com cross-fade (o antigo some, o novo aparece).
AppExpand
Revela por tamanho (expandir/colapsar) quando o filho muda de dimensão.
AppFade
Opacidade animada (implícita) que respeita reduce-motion / o global do DS.
AppFadeThroughStack
Um IndexedStack que troca com fade em vez de corte seco.
AppInteractiveMotion
Aplica escala e/ou rotação a child enquanto o gatilho trigger está ativo, animando de volta ao repouso quando ele sai.
AppMotion
Ponto único de decisão de "reduce motion" do Flocks.
AppPop
Escala animada com overshoot contido — o "pop"/bounce das micro- interações (checkbox, radio, tooltip).
AppScaleOnTap
Embrulho que aplica uma leve escala ao pressionar, integrando a micro-interação de press ao primitivo FlocksInteraction (foco/teclado/ hover incluídos). Respeita reduce-motion.
AppSlide
Translada o filho (entrada/saída pelas bordas) quando offset muda.
AppSpin
Rotação contínua para indicadores de carregamento.
AppTypewriter
Revela um texto caractere a caractere (efeito "sendo escrito").
AppValueBuilder
Anima um double até value e entrega o valor interpolado a builder.

Enums

AppMotionTrigger
Gatilho de interação que dispara a micro-animação de AppInteractiveMotion.

Mixins

AppShakeMixin<T extends StatefulWidget>
Mixin para disparar um "shake" horizontal (ex.: erro de validação em um campo). Requer TickerProviderStateMixin.