kasy-cli 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/bin/kasy.js +15 -2
  2. package/lib/commands/add.js +7 -7
  3. package/lib/commands/configure.js +548 -0
  4. package/lib/commands/deploy.js +4 -4
  5. package/lib/commands/doctor.js +17 -0
  6. package/lib/commands/favicon.js +4 -4
  7. package/lib/commands/icon.js +5 -5
  8. package/lib/commands/new.js +403 -238
  9. package/lib/commands/run.js +1 -1
  10. package/lib/commands/splash.js +5 -5
  11. package/lib/commands/update.js +9 -9
  12. package/lib/scaffold/CHANGELOG.json +14 -0
  13. package/lib/scaffold/backends/firebase/enable-auth-via-cli.js +108 -0
  14. package/lib/scaffold/backends/firebase/setup-from-scratch.js +44 -5
  15. package/lib/scaffold/generate.js +24 -8
  16. package/lib/scaffold/shared/post-build.js +8 -0
  17. package/lib/utils/brand.js +16 -12
  18. package/lib/utils/flutter-run.js +139 -11
  19. package/lib/utils/i18n/messages-en.js +58 -5
  20. package/lib/utils/i18n/messages-es.js +58 -5
  21. package/lib/utils/i18n/messages-pt.js +59 -6
  22. package/lib/utils/ui.js +79 -4
  23. package/package.json +1 -1
  24. package/templates/firebase/README.en.md +1 -1
  25. package/templates/firebase/README.es.md +1 -1
  26. package/templates/firebase/README.md +1 -1
  27. package/templates/firebase/android/app/src/main/kotlin/com/aicrus/firebase/kit/MainActivity.kt +0 -15
  28. package/templates/firebase/android/app/src/main/kotlin/com/aicrus/firebase/kit/MyWidget.kt +65 -26
  29. package/templates/firebase/android/app/src/main/res/drawable/widget_add_button.xml +2 -2
  30. package/templates/firebase/android/app/src/main/res/drawable/widget_gradient_bg.xml +7 -2
  31. package/templates/firebase/android/app/src/main/res/drawable/widget_gradient_inner.xml +6 -6
  32. package/templates/firebase/android/app/src/main/res/drawable/widget_plan_pill_bg.xml +1 -1
  33. package/templates/firebase/android/app/src/main/res/drawable/widget_preview_image.xml +2 -2
  34. package/templates/firebase/android/app/src/main/res/drawable/widget_pro_pill_bg.xml +1 -1
  35. package/templates/firebase/android/app/src/main/res/drawable-hdpi/android12splash.png +0 -0
  36. package/templates/firebase/android/app/src/main/res/drawable-hdpi/splash.png +0 -0
  37. package/templates/firebase/android/app/src/main/res/drawable-mdpi/android12splash.png +0 -0
  38. package/templates/firebase/android/app/src/main/res/drawable-mdpi/splash.png +0 -0
  39. package/templates/firebase/android/app/src/main/res/drawable-night-hdpi/android12splash.png +0 -0
  40. package/templates/firebase/android/app/src/main/res/drawable-night-hdpi/splash.png +0 -0
  41. package/templates/firebase/android/app/src/main/res/drawable-night-mdpi/android12splash.png +0 -0
  42. package/templates/firebase/android/app/src/main/res/drawable-night-mdpi/splash.png +0 -0
  43. package/templates/firebase/android/app/src/main/res/drawable-night-xhdpi/android12splash.png +0 -0
  44. package/templates/firebase/android/app/src/main/res/drawable-night-xhdpi/splash.png +0 -0
  45. package/templates/firebase/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png +0 -0
  46. package/templates/firebase/android/app/src/main/res/drawable-night-xxhdpi/splash.png +0 -0
  47. package/templates/firebase/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png +0 -0
  48. package/templates/firebase/android/app/src/main/res/drawable-night-xxxhdpi/splash.png +0 -0
  49. package/templates/firebase/android/app/src/main/res/drawable-xhdpi/android12splash.png +0 -0
  50. package/templates/firebase/android/app/src/main/res/drawable-xhdpi/splash.png +0 -0
  51. package/templates/firebase/android/app/src/main/res/drawable-xxhdpi/android12splash.png +0 -0
  52. package/templates/firebase/android/app/src/main/res/drawable-xxhdpi/splash.png +0 -0
  53. package/templates/firebase/android/app/src/main/res/drawable-xxxhdpi/android12splash.png +0 -0
  54. package/templates/firebase/android/app/src/main/res/drawable-xxxhdpi/splash.png +0 -0
  55. package/templates/firebase/android/app/src/main/res/layout/widget_preview.xml +3 -3
  56. package/templates/firebase/android/app/src/main/res/values/colors.xml +32 -0
  57. package/templates/firebase/assets/images/splash_logo_dark.png +0 -0
  58. package/templates/firebase/assets/images/splash_logo_dark_android12.png +0 -0
  59. package/templates/firebase/assets/images/splash_logo_light.png +0 -0
  60. package/templates/firebase/assets/images/splash_logo_light_android12.png +0 -0
  61. package/templates/firebase/ios/HomeWidgetExtension/MyWidget.swift +75 -29
  62. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png +0 -0
  63. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png +0 -0
  64. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png +0 -0
  65. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png +0 -0
  66. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@2x.png +0 -0
  67. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@3x.png +0 -0
  68. package/templates/firebase/ios/Runner/Base.lproj/LaunchScreen.storyboard +1 -1
  69. package/templates/firebase/lib/components/components.dart +1 -0
  70. package/templates/firebase/lib/components/kasy_avatar.dart +65 -17
  71. package/templates/firebase/lib/components/kasy_avatar_presets.dart +121 -97
  72. package/templates/firebase/lib/components/kasy_button.dart +8 -8
  73. package/templates/firebase/lib/components/kasy_date_picker.dart +834 -0
  74. package/templates/firebase/lib/components/kasy_tabs.dart +145 -61
  75. package/templates/firebase/lib/core/home_widgets/home_widget_mywidget_service.dart +12 -18
  76. package/templates/firebase/lib/features/home/home_components_preview_registry.dart +565 -77
  77. package/templates/firebase/lib/features/settings/ui/components/language_switcher.dart +10 -5
  78. package/templates/firebase/lib/i18n/en.i18n.json +2 -1
  79. package/templates/firebase/lib/i18n/es.i18n.json +2 -1
  80. package/templates/firebase/lib/i18n/pt.i18n.json +2 -1
  81. package/templates/firebase/pubspec.yaml +1 -1
  82. package/templates/firebase/web/index.html +9 -0
  83. package/templates/firebase/web/splash/img/dark-1x.png +0 -0
  84. package/templates/firebase/web/splash/img/dark-2x.png +0 -0
  85. package/templates/firebase/web/splash/img/dark-3x.png +0 -0
  86. package/templates/firebase/web/splash/img/dark-4x.png +0 -0
  87. package/templates/firebase/web/splash/img/light-1x.png +0 -0
  88. package/templates/firebase/web/splash/img/light-2x.png +0 -0
  89. package/templates/firebase/web/splash/img/light-3x.png +0 -0
  90. package/templates/firebase/web/splash/img/light-4x.png +0 -0
@@ -495,8 +495,8 @@ class _KasyButtonShell extends StatelessWidget {
495
495
  semanticLabel ?? (label.isEmpty ? 'Button' : label);
496
496
 
497
497
  Widget _wrapFocus(Widget child, BorderRadius borderRadius) {
498
- if (!kIsWeb || !enabled || onPressed == null) return child;
499
- return _WebKeyboardFocus(
498
+ if (!enabled || onPressed == null) return child;
499
+ return _KeyboardFocus(
500
500
  onActivate: onPressed!,
501
501
  borderRadius: borderRadius,
502
502
  child: child,
@@ -858,24 +858,24 @@ class _KasyButtonMetrics {
858
858
  });
859
859
  }
860
860
 
861
- /// Web-only wrapper that makes a button keyboard-navigable (Tab) and
862
- /// activates it on Enter/Space key press. Shows a focus ring when focused.
863
- class _WebKeyboardFocus extends StatefulWidget {
861
+ /// Makes a button keyboard-navigable (Tab) and activates it on Enter/Space.
862
+ /// Shows a focus ring when focused. Inert on touch-only platforms.
863
+ class _KeyboardFocus extends StatefulWidget {
864
864
  final VoidCallback onActivate;
865
865
  final Widget child;
866
866
  final BorderRadius borderRadius;
867
867
 
868
- const _WebKeyboardFocus({
868
+ const _KeyboardFocus({
869
869
  required this.onActivate,
870
870
  required this.child,
871
871
  required this.borderRadius,
872
872
  });
873
873
 
874
874
  @override
875
- State<_WebKeyboardFocus> createState() => _WebKeyboardFocusState();
875
+ State<_KeyboardFocus> createState() => _KeyboardFocusState();
876
876
  }
877
877
 
878
- class _WebKeyboardFocusState extends State<_WebKeyboardFocus> {
878
+ class _KeyboardFocusState extends State<_KeyboardFocus> {
879
879
  late final FocusNode _node;
880
880
  bool _focused = false;
881
881