archbase_flutter 0.5.3 copy "archbase_flutter: ^0.5.3" to clipboard
archbase_flutter: ^0.5.3 copied to clipboard

Framework Flutter empresarial — services (API, auth, cache offline-first), widgets Material 3, templates de tela CRUD, validadores brasileiros (CPF/CNPJ) e CLI generator.

Changelog #

0.5.3 — corrige URL de docs #

Mudou #

  • documentation: no pubspec aponta para o URL real do site (/archbase-flutter-docs/ — o repo de docs é separado da lib)
  • Adapters (_riverpod, _getx) também atualizados — agora dependem de archbase_flutter: ^0.5.3 e o documentation URL correto

0.5.2 — metadata para pub.dev #

Mudou #

  • pubspec.yaml: description trimada para 180 chars (limite recomendado pelo pana), adicionados issue_tracker, documentation e topics (framework, ui, offline, material-design, scaffolding)

Adicionado #

0.5.1 — iOS no Maestro Cloud #

Adicionado #

  • Job cloud-ios em .github/workflows/maestro-cloud.yml, rodando em macos-latest: build do .app para iOS Simulator (sem assinatura), zip e upload via action-maestro-cloud
  • Os 4 flows agora usam appId: ${APP_ID} para servir Android e iOS (bundle id difere — iOS não permite _)
  • Job Android antigo renomeado para cloud-android (clareza)
  • Cada job passa o APP_ID certo via env: no action

Mudou #

  • demo/.maestro/config.yaml e os 4 flows: appId parametrizado
  • demo/.maestro/README.md: documenta export APP_ID=... para rodar localmente

Roadmap restante #

  • Bricks Mason equivalentes ao CLI Dart (interativo) — opcional

0.5.0 — CLI generator #

Adicionado #

  • CLI Dart archbase (bin/archbase.dart), exposto via executables: e invocável por dart run archbase_flutter:archbase
  • Comando feature <nome>: gera scaffold completo de uma feature CRUD (model + repository + controller + 3 telas), com nomes derivados em snake/Pascal/camel/human automaticamente
  • Helpers Casing (snake, kebab, camel, pascal, human) reutilizáveis
  • Suporte a --root, --endpoint, --force

Dependências #

  • args: ^2.5.0 (parser do CLI)
  • path: ^1.9.0 (manipulação de paths)

Testes #

  • +12 testes (Casing + FeatureScaffold em diretório temp) → 296 totais

0.4.4 — Maestro Cloud no CI #

Adicionado #

  • Workflow .github/workflows/maestro-cloud.yml que constrói o APK do demo e roda os 4 flows Maestro em devices reais via Maestro Cloud.
  • Triggers: push para main quando demo/** muda, e workflow_dispatch manual. Workflow separado do CI principal para isolar o custo (Maestro Cloud é pago por minuto).
  • Gate em secret: se MAESTRO_CLOUD_API_KEY não estiver configurado, o job termina como "skipped" sem falhar (forks-friendly).
  • Docs no demo/.maestro/README.md explicando como gerar a API key e adicionar o secret no GitHub.
  • Badge do workflow no README principal.

0.4.3 — cobertura de media (parcial) #

Testes #

  • +6 testes para ArchbaseSwipeToConfirm (rendering, ícone, cor) e ArchbaseSignaturePad (placeholder, labels custom, confirmar vazio)
  • Total: 278 → 284. Gestos de swipe complexos ficam por conta do E2E Maestro (tester.drag é frágil quando o GestureDetector se move junto)

0.4.2 — cobertura de screens #

Testes #

  • +29 testes nas screens templates: ArchbaseIntroScreen, ArchbaseDetailScreen (modo seções + modo abas), ArchbaseCrudFormScreen (validate, submit, delete, discard guard), ArchbaseSettingsScreen (theme toggle, contraste, logout), ArchbaseSplashScreen (bootstrap, onReady, onError, minimumDisplay)
  • Total: 249 → 278 testes. Cobertura de screens públicas em 100%.

0.4.1 — cobertura de testes #

Testes #

  • +47 testes (dialogs, display, shimmer, dropdown, search, country picker, layout, sticky header, clippers) → 249 totais
  • Cobertura de widgets públicos sobe para ~85% (ainda faltam apenas os widgets que dependem de plugins nativos — media/scanner/audio)

0.4.0 — charts + i18n #

Adicionado #

Charts (wrappers opinados sobre fl_chart)

  • ArchbaseLineChart — múltiplas séries, eixos auto, tooltip, legend
  • ArchbasePieChart — slices nomeados, donut com center text, animação
  • ArchbaseBarChart — barras agrupadas com labels de eixo X
  • ArchbaseAreaChart — line com fill
  • Compartilham ArchbaseChartSeries, ArchbaseChartPoint, ArchbaseChartSlice e ArchbaseChartLegend
  • Cores automáticas da ArchbaseColors.chartPalette quando não informadas

i18n

  • ArchbaseLocalizations (abstract) — bundle com todos os strings da lib (~80 chaves: validators, botões, dialogs, erros HTTP, login, settings, sync banner)
  • ArchbaseLocalizationsPtBr — implementação default
  • ArchbaseLocalizationsEnUs — implementação de referência
  • ArchbaseLocalizations.set(...) para override global
  • ArchbaseLocalizationsScope (InheritedWidget) para override por subárvore
  • ArchbaseLocalizations.of(context) resolve scope → global
  • Validators e ArchbaseErrorInterceptor agora consultam o bundle ativo

Testes #

  • +16 testes (charts + i18n) → 202 totais

0.3.0 — state management adapters #

Sub-pacotes opcionais em packages/ para ergonomia em um state mgmt específico. A lib mãe continua agnóstica.

Adicionado #

archbase_flutter_riverpod (packages/archbase_flutter_riverpod/)

  • 7 providers para os singletons (archbaseApiProvider, etc.)
  • 5 stream providers reativos (archbaseIsAuthenticatedProvider, archbaseCurrentUserProvider, archbaseIsConnectedProvider, archbaseConnectionTypeProvider, archbaseSyncStatusProvider)
  • ArchbaseRiverpodNotifier<TState>StateNotifier com guard()

archbase_flutter_getx (packages/archbase_flutter_getx/)

  • ArchbaseGetBindings — registra services no Get container
  • ArchbaseGetControllerGetxController base com guard() (RxBool isLoading, RxnString error)
  • Extension ValueListenable<T>.asRx() + BridgedRx<T> para usar os ValueNotifiers da lib com Obx

CI #

  • 2 jobs novos: adapter-riverpod, adapter-getx (paralelos ao demo)

0.2.0 — anteros migration #

Portagem de componentes selecionados da anterosflutter (lib antiga). Tudo foi reescrito para Material 3, sem RxDart/Flare e mantendo o estilo agnóstico de state management.

Adicionado #

Validators

  • cnh, plateBr, ageMin, url, creditCard, equal, notEqual, pattern, numericBetween

Formatters / máscaras

  • ArchbaseMaskFormatter.cnh, creditCard
  • ArchbasePlateFormatter (uppercase + alphanumeric, 7 chars)

Forms (sistema declarativo)

  • ArchbaseForm + ArchbaseFormController (gerencia valores e erros sem amarrar a state mgmt externo)
  • ArchbaseFormTextField integrado ao controller via name:
  • Campos especializados: ArchbaseFormCpfField, CnpjField, CnhField, PlateField, PhoneBrField, EmailField, CepField, BirthDateField

Widgets — display

  • ArchbaseTextAvatar (iniciais com cor determinística por hash de texto)
  • ArchbaseAvatarStack (avatares sobrepostos com +N)
  • ArchbaseGlassContainer (glass morphism com BackdropFilter)
  • ArchbaseCarousel (paginação, autoplay, loop infinito)
  • ArchbaseBadgeAdv (badge posicional sobre um child)

Widgets — layout

  • ArchbaseDraggableHome (header colapsável, sem RxDart)
  • ArchbaseFloatingNavBar (bottom nav flutuante com label inline)

Widgets — structural

  • ArchbaseAccordion (single ou multi-open)
  • ArchbaseStickyHeader + ArchbaseStickyHeaderDelegate
  • ArchbaseTimeline (vertical com pontos+linha)
  • ArchbaseClippers: WaveClipper, ArcClipper, DiagonalClipper, ArchbaseClippedHeader

Widgets — forms

  • ArchbaseNumericStepper (touch spin com -/+)
  • ArchbaseCountryPicker (~28 países com bandeiras emoji e dial code)

Screens

  • ArchbaseIntroScreen (onboarding paginado)

Utils

  • ArchbaseExtensions: 30+ extensions úteis em String, num, DateTime, List, Iterable, Map, BuildContext

Testes #

  • 186 testes passando (de 138 → 186, +48 novos)

Não portado (decisão consciente) #

  • Wrappers de flare_flutter (deprecado)
  • TabBar/ListTile/Drawer wrappers (Material atual cobre)
  • Componentes que duplicam flutter_colorpicker, cool_alert
  • phone_number:0.12.0+2 (abandonado) — usar libphonenumber_plus ou similares se precisar

0.1.0 — initial #

  • Setup do pacote, theme system, services base (Api/Auth/Cache/Connectivity/Storage/OfflineSync/Geolocation/Push/Media)
  • Widgets reutilizáveis (Loading, Empty, Input, Button, AppBar, AudioRecorder, SignaturePad, PhotoGallery, BarcodeScanner)
  • Templates de tela (Login, Splash, Crud List/Form, Settings)
  • Validadores brasileiros (CPF/CNPJ/telefone/email/senha) e formatadores
  • Modelos: ApiResponse<T>, PaginatedResponse<T>, BaseDto