ux: bulk WIP — UxPlugin→XPlugin rename + new anim/core/navi/reactive packages

Catch-all commit for outstanding pre-existing local changes. Mixes
several themes that would normally be split:

- Rename: UxPlugin → XPlugin across iOS, macOS, Android registrants.
- New top-level packages under lib/src/: anim/ (animated values,
  panes, sheets, dock, measured), core/ (Emitter, ReactiveBuilder
  scaffolding, presenter/widget/value/dispose primitives), navi/
  (Screen/ScreenStack/Router/hero/transitions), reactive/.
- Edits across existing plugins (clipboard, crash, file, gallery,
  keyboard, scanner, sensor, url) to align with the new core.
- Test updates and CHANGELOG/README touches accompanying the above.
This commit is contained in:
agra
2026-05-21 08:58:07 +03:00
parent a508aca2bb
commit d68a2978eb
83 changed files with 5006 additions and 275 deletions

View File

@@ -12,8 +12,8 @@ import 'package:flutter/widgets.dart';
enum BarcodeFormat { qr }
/// Static helpers exposed by the platform-side scanner plugin.
class UxScannerPermission {
UxScannerPermission._();
class XScannerPermission {
XScannerPermission._();
static const _channel = MethodChannel('ux/scanner');
@@ -41,8 +41,8 @@ class UxScannerPermission {
/// Camera permission must be granted by the host app before mounting.
/// On platforms other than iOS / Android the widget renders an empty
/// box.
class UxScanner extends StatefulWidget {
const UxScanner({
class XScanner extends StatefulWidget {
const XScanner({
super.key,
required this.onCode,
this.formats = const [BarcodeFormat.qr],
@@ -52,10 +52,10 @@ class UxScanner extends StatefulWidget {
final List<BarcodeFormat> formats;
@override
State<UxScanner> createState() => _UxScannerState();
State<XScanner> createState() => _XScannerState();
}
class _UxScannerState extends State<UxScanner> {
class _XScannerState extends State<XScanner> {
static const _events = EventChannel('ux/scanner/events');
StreamSubscription<dynamic>? _sub;