Replaces the Material-default look with a deliberate visual
language. Single accent (sky-cyan), Inter + JetBrains Mono via
google_fonts, dense rows over puffy cards, micro-interactions
under 250ms. Dark-first, light reaches parity.
New foundation under lib/theme/:
- tokens.dart FaiColors / FaiSpace / FaiRadius / FaiMotion
- theme.dart ColorScheme + typography + component themes for
light and dark, plus FaiTheme.mono helper for
technical strings (IDs, paths, capability refs).
Six primitives under lib/widgets/:
- FaiCard flat card, optional accent stripe (top or
left). No shadows.
- FaiPill small inline label with five tones
(neutral / accent / success / warning /
danger), optional mono and leading icon.
- FaiStatusDot breathing dot, used as a "live" indicator.
- FaiDataRow Linear-style dense row for the audit
stream — hover-elevation, mono leading,
coloured leading stripe.
- FaiEmptyState gracious icon + title + hint + action,
replaces "(no data)" everywhere.
- FaiDeltaMark the ∆ signature element. Three modes —
idle (still), live (gentle pulse), busy
(slow rotation). Drawn from primitives,
not a font glyph. Lives in the sidebar
header so the brand is always visible.
Page-level changes:
- main.dart custom 220px sidebar replaces the Material
NavigationRail. ∆ on top, hub-connection
pill below it, hover-animated destinations,
page transitions are 200ms slide+fade.
- modules.dart FaiCard rows with capability pills.
- audit.dart FaiDataRow stream, segmented filter chips,
live status bar with hash-chain badge.
- approvals.dart FaiCard with accent-top stripe, structured
action footer, toast on approve/reject,
themed reject-reason dialog.
google_fonts added as dep. flutter analyze clean. flutter test
2/2. flutter build macos --debug succeeds.
Bumps fai_studio 0.2.0 -> 0.3.0.
Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
532 lines
15 KiB
Text
532 lines
15 KiB
Text
# Generated by pub
|
|
# See https://dart.dev/tools/pub/glossary#lockfile
|
|
packages:
|
|
args:
|
|
dependency: transitive
|
|
description:
|
|
name: args
|
|
sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.7.0"
|
|
async:
|
|
dependency: transitive
|
|
description:
|
|
name: async
|
|
sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.13.1"
|
|
boolean_selector:
|
|
dependency: transitive
|
|
description:
|
|
name: boolean_selector
|
|
sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.1.2"
|
|
characters:
|
|
dependency: transitive
|
|
description:
|
|
name: characters
|
|
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.4.0"
|
|
clock:
|
|
dependency: transitive
|
|
description:
|
|
name: clock
|
|
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.1.2"
|
|
code_assets:
|
|
dependency: transitive
|
|
description:
|
|
name: code_assets
|
|
sha256: "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.0.0"
|
|
collection:
|
|
dependency: transitive
|
|
description:
|
|
name: collection
|
|
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.19.1"
|
|
crypto:
|
|
dependency: transitive
|
|
description:
|
|
name: crypto
|
|
sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "3.0.7"
|
|
cupertino_icons:
|
|
dependency: "direct main"
|
|
description:
|
|
name: cupertino_icons
|
|
sha256: "41e005c33bd814be4d3096aff55b1908d419fde52ca656c8c47719ec745873cd"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.0.9"
|
|
fai_dart_sdk:
|
|
dependency: "direct main"
|
|
description:
|
|
path: "../fai_dart_sdk"
|
|
relative: true
|
|
source: path
|
|
version: "0.1.0"
|
|
fake_async:
|
|
dependency: transitive
|
|
description:
|
|
name: fake_async
|
|
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.3.3"
|
|
ffi:
|
|
dependency: transitive
|
|
description:
|
|
name: ffi
|
|
sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.2.0"
|
|
file:
|
|
dependency: transitive
|
|
description:
|
|
name: file
|
|
sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "7.0.1"
|
|
fixnum:
|
|
dependency: transitive
|
|
description:
|
|
name: fixnum
|
|
sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.1.1"
|
|
flutter:
|
|
dependency: "direct main"
|
|
description: flutter
|
|
source: sdk
|
|
version: "0.0.0"
|
|
flutter_lints:
|
|
dependency: "direct dev"
|
|
description:
|
|
name: flutter_lints
|
|
sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "6.0.0"
|
|
flutter_test:
|
|
dependency: "direct dev"
|
|
description: flutter
|
|
source: sdk
|
|
version: "0.0.0"
|
|
glob:
|
|
dependency: transitive
|
|
description:
|
|
name: glob
|
|
sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.1.3"
|
|
google_cloud:
|
|
dependency: transitive
|
|
description:
|
|
name: google_cloud
|
|
sha256: fbcde933b2d8600c3cdb2328f8f4c47628ec29a39e9cef85dee535c7868993c4
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "0.4.1"
|
|
google_fonts:
|
|
dependency: "direct main"
|
|
description:
|
|
name: google_fonts
|
|
sha256: "4e9391085e524954a51e3625b7c9c7e9851dc3f376603208bb45c24b9a66255d"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "8.1.0"
|
|
google_identity_services_web:
|
|
dependency: transitive
|
|
description:
|
|
name: google_identity_services_web
|
|
sha256: "5d187c46dc59e02646e10fe82665fc3884a9b71bc1c90c2b8b749316d33ee454"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "0.3.3+1"
|
|
googleapis_auth:
|
|
dependency: transitive
|
|
description:
|
|
name: googleapis_auth
|
|
sha256: "661738b763d3e524de69df53bf4e03943e4e01e98265cebcc6684871b06a5379"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.3.0"
|
|
grpc:
|
|
dependency: transitive
|
|
description:
|
|
name: grpc
|
|
sha256: "15227eeed339bd0ef5afe515cb791b2e4bec0711ab56f37cc44257bcfaedc4bf"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "4.2.0"
|
|
hooks:
|
|
dependency: transitive
|
|
description:
|
|
name: hooks
|
|
sha256: "025f060e86d2d4c3c47b56e33caf7f93bf9283340f26d23424ebcfccf34f621e"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.0.3"
|
|
http:
|
|
dependency: transitive
|
|
description:
|
|
name: http
|
|
sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.6.0"
|
|
http2:
|
|
dependency: transitive
|
|
description:
|
|
name: http2
|
|
sha256: "382d3aefc5bd6dc68c6b892d7664f29b5beb3251611ae946a98d35158a82bbfa"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.3.1"
|
|
http_parser:
|
|
dependency: transitive
|
|
description:
|
|
name: http_parser
|
|
sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "4.1.2"
|
|
io:
|
|
dependency: transitive
|
|
description:
|
|
name: io
|
|
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.0.5"
|
|
jni:
|
|
dependency: transitive
|
|
description:
|
|
name: jni
|
|
sha256: c2230682d5bc2362c1c9e8d3c7f406d9cbba23ab3f2e203a025dd47e0fb2e68f
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.0.0"
|
|
jni_flutter:
|
|
dependency: transitive
|
|
description:
|
|
name: jni_flutter
|
|
sha256: "8b59e590786050b1cd866677dddaf76b1ade5e7bc751abe04b86e84d379d3ba6"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.0.1"
|
|
leak_tracker:
|
|
dependency: transitive
|
|
description:
|
|
name: leak_tracker
|
|
sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "11.0.2"
|
|
leak_tracker_flutter_testing:
|
|
dependency: transitive
|
|
description:
|
|
name: leak_tracker_flutter_testing
|
|
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "3.0.10"
|
|
leak_tracker_testing:
|
|
dependency: transitive
|
|
description:
|
|
name: leak_tracker_testing
|
|
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "3.0.2"
|
|
lints:
|
|
dependency: transitive
|
|
description:
|
|
name: lints
|
|
sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "6.1.0"
|
|
logging:
|
|
dependency: transitive
|
|
description:
|
|
name: logging
|
|
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.3.0"
|
|
matcher:
|
|
dependency: transitive
|
|
description:
|
|
name: matcher
|
|
sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "0.12.18"
|
|
material_color_utilities:
|
|
dependency: transitive
|
|
description:
|
|
name: material_color_utilities
|
|
sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "0.13.0"
|
|
meta:
|
|
dependency: transitive
|
|
description:
|
|
name: meta
|
|
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.17.0"
|
|
native_toolchain_c:
|
|
dependency: transitive
|
|
description:
|
|
name: native_toolchain_c
|
|
sha256: "6ba77bb18063eebe9de401f5e6437e95e1438af0a87a3a39084fbd37c90df572"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "0.17.6"
|
|
objective_c:
|
|
dependency: transitive
|
|
description:
|
|
name: objective_c
|
|
sha256: "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "9.3.0"
|
|
package_config:
|
|
dependency: transitive
|
|
description:
|
|
name: package_config
|
|
sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.2.0"
|
|
path:
|
|
dependency: transitive
|
|
description:
|
|
name: path
|
|
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.9.1"
|
|
path_provider:
|
|
dependency: transitive
|
|
description:
|
|
name: path_provider
|
|
sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.1.5"
|
|
path_provider_android:
|
|
dependency: transitive
|
|
description:
|
|
name: path_provider_android
|
|
sha256: "69cbd515a62b94d32a7944f086b2f82b4ac40a1d45bebfc00813a430ab2dabcd"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.3.1"
|
|
path_provider_foundation:
|
|
dependency: transitive
|
|
description:
|
|
name: path_provider_foundation
|
|
sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.6.0"
|
|
path_provider_linux:
|
|
dependency: transitive
|
|
description:
|
|
name: path_provider_linux
|
|
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.2.1"
|
|
path_provider_platform_interface:
|
|
dependency: transitive
|
|
description:
|
|
name: path_provider_platform_interface
|
|
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.1.2"
|
|
path_provider_windows:
|
|
dependency: transitive
|
|
description:
|
|
name: path_provider_windows
|
|
sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.3.0"
|
|
platform:
|
|
dependency: transitive
|
|
description:
|
|
name: platform
|
|
sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "3.1.6"
|
|
plugin_platform_interface:
|
|
dependency: transitive
|
|
description:
|
|
name: plugin_platform_interface
|
|
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.1.8"
|
|
protobuf:
|
|
dependency: transitive
|
|
description:
|
|
name: protobuf
|
|
sha256: de9c9eb2c33f8e933a42932fe1dc504800ca45ebc3d673e6ed7f39754ee4053e
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "4.2.0"
|
|
pub_semver:
|
|
dependency: transitive
|
|
description:
|
|
name: pub_semver
|
|
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.2.0"
|
|
record_use:
|
|
dependency: transitive
|
|
description:
|
|
name: record_use
|
|
sha256: "2551bd8eecfe95d14ae75f6021ad0248be5c27f138c2ec12fcb52b500b3ba1ed"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "0.6.0"
|
|
shelf:
|
|
dependency: transitive
|
|
description:
|
|
name: shelf
|
|
sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.4.2"
|
|
sky_engine:
|
|
dependency: transitive
|
|
description: flutter
|
|
source: sdk
|
|
version: "0.0.0"
|
|
source_span:
|
|
dependency: transitive
|
|
description:
|
|
name: source_span
|
|
sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.10.2"
|
|
stack_trace:
|
|
dependency: transitive
|
|
description:
|
|
name: stack_trace
|
|
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.12.1"
|
|
stream_channel:
|
|
dependency: transitive
|
|
description:
|
|
name: stream_channel
|
|
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.1.4"
|
|
string_scanner:
|
|
dependency: transitive
|
|
description:
|
|
name: string_scanner
|
|
sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.4.1"
|
|
term_glyph:
|
|
dependency: transitive
|
|
description:
|
|
name: term_glyph
|
|
sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.2.2"
|
|
test_api:
|
|
dependency: transitive
|
|
description:
|
|
name: test_api
|
|
sha256: "19a78f63e83d3a61f00826d09bc2f60e191bf3504183c001262be6ac75589fb8"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "0.7.8"
|
|
typed_data:
|
|
dependency: transitive
|
|
description:
|
|
name: typed_data
|
|
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.4.0"
|
|
vector_math:
|
|
dependency: transitive
|
|
description:
|
|
name: vector_math
|
|
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "2.2.0"
|
|
vm_service:
|
|
dependency: transitive
|
|
description:
|
|
name: vm_service
|
|
sha256: "0016aef94fc66495ac78af5859181e3f3bf2026bd8eecc72b9565601e19ab360"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "15.2.0"
|
|
web:
|
|
dependency: transitive
|
|
description:
|
|
name: web
|
|
sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.1.1"
|
|
xdg_directories:
|
|
dependency: transitive
|
|
description:
|
|
name: xdg_directories
|
|
sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "1.1.0"
|
|
yaml:
|
|
dependency: transitive
|
|
description:
|
|
name: yaml
|
|
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
|
|
url: "https://pub.dev"
|
|
source: hosted
|
|
version: "3.1.3"
|
|
sdks:
|
|
dart: ">=3.11.0-200.1.beta <4.0.0"
|
|
flutter: ">=3.38.4"
|