diff --git a/packages/stac/lib/src/parsers/theme/stac_badge_theme_data/stac_badge_theme_data.dart b/packages/stac/lib/src/parsers/theme/stac_badge_theme_data/stac_badge_theme_data.dart index 20634184..0c25f3f5 100644 --- a/packages/stac/lib/src/parsers/theme/stac_badge_theme_data/stac_badge_theme_data.dart +++ b/packages/stac/lib/src/parsers/theme/stac_badge_theme_data/stac_badge_theme_data.dart @@ -3,7 +3,6 @@ import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:stac/src/parsers/painting/stac_edge_insets_parser.dart'; import 'package:stac/src/parsers/painting/stac_text_style_parser.dart'; import 'package:stac/src/parsers/types/type_parser.dart'; -import 'package:stac/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.dart'; import 'package:stac/src/utils/color_utils.dart'; import 'package:stac_core/stac_core.dart'; diff --git a/packages/stac/lib/src/parsers/theme/stac_badge_theme_data/stac_badge_theme_data.freezed.dart b/packages/stac/lib/src/parsers/theme/stac_badge_theme_data/stac_badge_theme_data.freezed.dart index 5a8a02e7..d6c089fc 100644 --- a/packages/stac/lib/src/parsers/theme/stac_badge_theme_data/stac_badge_theme_data.freezed.dart +++ b/packages/stac/lib/src/parsers/theme/stac_badge_theme_data/stac_badge_theme_data.freezed.dart @@ -81,8 +81,6 @@ abstract mixin class $StacBadgeThemeDataCopyWith<$Res> { StacEdgeInsets? padding, StacAlignmentGeometry? alignment, StacOffset? offset}); - - $StacAlignmentGeometryCopyWith<$Res>? get alignment; } /// @nodoc @@ -142,20 +140,6 @@ class _$StacBadgeThemeDataCopyWithImpl<$Res> as StacOffset?, )); } - - /// Create a copy of StacBadgeThemeData - /// with the given fields replaced by the non-null parameter values. - @override - @pragma('vm:prefer-inline') - $StacAlignmentGeometryCopyWith<$Res>? get alignment { - if (_self.alignment == null) { - return null; - } - - return $StacAlignmentGeometryCopyWith<$Res>(_self.alignment!, (value) { - return _then(_self.copyWith(alignment: value)); - }); - } } /// Adds pattern-matching-related methods to [StacBadgeThemeData]. @@ -462,9 +446,6 @@ abstract mixin class _$StacBadgeThemeDataCopyWith<$Res> StacEdgeInsets? padding, StacAlignmentGeometry? alignment, StacOffset? offset}); - - @override - $StacAlignmentGeometryCopyWith<$Res>? get alignment; } /// @nodoc @@ -524,20 +505,6 @@ class __$StacBadgeThemeDataCopyWithImpl<$Res> as StacOffset?, )); } - - /// Create a copy of StacBadgeThemeData - /// with the given fields replaced by the non-null parameter values. - @override - @pragma('vm:prefer-inline') - $StacAlignmentGeometryCopyWith<$Res>? get alignment { - if (_self.alignment == null) { - return null; - } - - return $StacAlignmentGeometryCopyWith<$Res>(_self.alignment!, (value) { - return _then(_self.copyWith(alignment: value)); - }); - } } // dart format on diff --git a/packages/stac/lib/src/parsers/theme/stac_dialog_theme/stac_dialog_theme.dart b/packages/stac/lib/src/parsers/theme/stac_dialog_theme/stac_dialog_theme.dart index 97ebcaaf..7485c97c 100644 --- a/packages/stac/lib/src/parsers/theme/stac_dialog_theme/stac_dialog_theme.dart +++ b/packages/stac/lib/src/parsers/theme/stac_dialog_theme/stac_dialog_theme.dart @@ -3,7 +3,6 @@ import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:stac/src/parsers/painting/stac_edge_insets_parser.dart'; import 'package:stac/src/parsers/painting/stac_text_style_parser.dart'; import 'package:stac/src/parsers/types/type_parser.dart'; -import 'package:stac/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.dart'; import 'package:stac/src/utils/color_utils.dart'; import 'package:stac_core/stac_core.dart'; diff --git a/packages/stac/lib/src/parsers/theme/stac_dialog_theme/stac_dialog_theme.freezed.dart b/packages/stac/lib/src/parsers/theme/stac_dialog_theme/stac_dialog_theme.freezed.dart index 85d5e182..b86cb41f 100644 --- a/packages/stac/lib/src/parsers/theme/stac_dialog_theme/stac_dialog_theme.freezed.dart +++ b/packages/stac/lib/src/parsers/theme/stac_dialog_theme/stac_dialog_theme.freezed.dart @@ -100,8 +100,6 @@ abstract mixin class $StacDialogThemeCopyWith<$Res> { StacTextStyle? contentTextStyle, StacEdgeInsets? actionsPadding, String? iconColor}); - - $StacAlignmentGeometryCopyWith<$Res>? get alignment; } /// @nodoc @@ -171,20 +169,6 @@ class _$StacDialogThemeCopyWithImpl<$Res> as String?, )); } - - /// Create a copy of StacDialogTheme - /// with the given fields replaced by the non-null parameter values. - @override - @pragma('vm:prefer-inline') - $StacAlignmentGeometryCopyWith<$Res>? get alignment { - if (_self.alignment == null) { - return null; - } - - return $StacAlignmentGeometryCopyWith<$Res>(_self.alignment!, (value) { - return _then(_self.copyWith(alignment: value)); - }); - } } /// Adds pattern-matching-related methods to [StacDialogTheme]. @@ -526,9 +510,6 @@ abstract mixin class _$StacDialogThemeCopyWith<$Res> StacTextStyle? contentTextStyle, StacEdgeInsets? actionsPadding, String? iconColor}); - - @override - $StacAlignmentGeometryCopyWith<$Res>? get alignment; } /// @nodoc @@ -598,20 +579,6 @@ class __$StacDialogThemeCopyWithImpl<$Res> as String?, )); } - - /// Create a copy of StacDialogTheme - /// with the given fields replaced by the non-null parameter values. - @override - @pragma('vm:prefer-inline') - $StacAlignmentGeometryCopyWith<$Res>? get alignment { - if (_self.alignment == null) { - return null; - } - - return $StacAlignmentGeometryCopyWith<$Res>(_self.alignment!, (value) { - return _then(_self.copyWith(alignment: value)); - }); - } } // dart format on diff --git a/packages/stac/lib/src/parsers/types/type_parser.dart b/packages/stac/lib/src/parsers/types/type_parser.dart index 423880ae..cff2edf3 100644 --- a/packages/stac/lib/src/parsers/types/type_parser.dart +++ b/packages/stac/lib/src/parsers/types/type_parser.dart @@ -350,6 +350,12 @@ extension StacAlignmentParser on StacAlignment { } } +extension StacAlignmentGeometryParser on StacAlignmentGeometry { + Alignment get parse { + return Alignment(dx, dy); + } +} + extension StacClipParser on StacClip { Clip get parse { switch (this) { diff --git a/packages/stac/lib/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.dart b/packages/stac/lib/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.dart deleted file mode 100644 index f885cb7d..00000000 --- a/packages/stac/lib/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:freezed_annotation/freezed_annotation.dart'; -import 'package:stac/src/parsers/widgets/stac_double/stac_double.dart'; - -part 'stac_alignment_geometry.freezed.dart'; -part 'stac_alignment_geometry.g.dart'; - -@freezed -abstract class StacAlignmentGeometry with _$StacAlignmentGeometry { - const factory StacAlignmentGeometry({ - required StacDouble dx, - required StacDouble dy, - }) = _StacAlignmentGeometry; - - factory StacAlignmentGeometry.fromJson(Map json) => - _$StacAlignmentGeometryFromJson(json); -} - -extension StacOffsetParser on StacAlignmentGeometry { - Alignment get parse { - return Alignment(dx.parse, dy.parse); - } -} diff --git a/packages/stac/lib/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.freezed.dart b/packages/stac/lib/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.freezed.dart deleted file mode 100644 index fcc659cb..00000000 --- a/packages/stac/lib/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.freezed.dart +++ /dev/null @@ -1,332 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND -// coverage:ignore-file -// ignore_for_file: type=lint -// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark - -part of 'stac_alignment_geometry.dart'; - -// ************************************************************************** -// FreezedGenerator -// ************************************************************************** - -// dart format off -T _$identity(T value) => value; - -/// @nodoc -mixin _$StacAlignmentGeometry { - StacDouble get dx; - StacDouble get dy; - - /// Create a copy of StacAlignmentGeometry - /// with the given fields replaced by the non-null parameter values. - @JsonKey(includeFromJson: false, includeToJson: false) - @pragma('vm:prefer-inline') - $StacAlignmentGeometryCopyWith get copyWith => - _$StacAlignmentGeometryCopyWithImpl( - this as StacAlignmentGeometry, _$identity); - - /// Serializes this StacAlignmentGeometry to a JSON map. - Map toJson(); - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other.runtimeType == runtimeType && - other is StacAlignmentGeometry && - (identical(other.dx, dx) || other.dx == dx) && - (identical(other.dy, dy) || other.dy == dy)); - } - - @JsonKey(includeFromJson: false, includeToJson: false) - @override - int get hashCode => Object.hash(runtimeType, dx, dy); - - @override - String toString() { - return 'StacAlignmentGeometry(dx: $dx, dy: $dy)'; - } -} - -/// @nodoc -abstract mixin class $StacAlignmentGeometryCopyWith<$Res> { - factory $StacAlignmentGeometryCopyWith(StacAlignmentGeometry value, - $Res Function(StacAlignmentGeometry) _then) = - _$StacAlignmentGeometryCopyWithImpl; - @useResult - $Res call({StacDouble dx, StacDouble dy}); -} - -/// @nodoc -class _$StacAlignmentGeometryCopyWithImpl<$Res> - implements $StacAlignmentGeometryCopyWith<$Res> { - _$StacAlignmentGeometryCopyWithImpl(this._self, this._then); - - final StacAlignmentGeometry _self; - final $Res Function(StacAlignmentGeometry) _then; - - /// Create a copy of StacAlignmentGeometry - /// with the given fields replaced by the non-null parameter values. - @pragma('vm:prefer-inline') - @override - $Res call({ - Object? dx = null, - Object? dy = null, - }) { - return _then(_self.copyWith( - dx: null == dx - ? _self.dx - : dx // ignore: cast_nullable_to_non_nullable - as StacDouble, - dy: null == dy - ? _self.dy - : dy // ignore: cast_nullable_to_non_nullable - as StacDouble, - )); - } -} - -/// Adds pattern-matching-related methods to [StacAlignmentGeometry]. -extension StacAlignmentGeometryPatterns on StacAlignmentGeometry { - /// A variant of `map` that fallback to returning `orElse`. - /// - /// It is equivalent to doing: - /// ```dart - /// switch (sealedClass) { - /// case final Subclass value: - /// return ...; - /// case _: - /// return orElse(); - /// } - /// ``` - - @optionalTypeArgs - TResult maybeMap( - TResult Function(_StacAlignmentGeometry value)? $default, { - required TResult orElse(), - }) { - final _that = this; - switch (_that) { - case _StacAlignmentGeometry() when $default != null: - return $default(_that); - case _: - return orElse(); - } - } - - /// A `switch`-like method, using callbacks. - /// - /// Callbacks receives the raw object, upcasted. - /// It is equivalent to doing: - /// ```dart - /// switch (sealedClass) { - /// case final Subclass value: - /// return ...; - /// case final Subclass2 value: - /// return ...; - /// } - /// ``` - - @optionalTypeArgs - TResult map( - TResult Function(_StacAlignmentGeometry value) $default, - ) { - final _that = this; - switch (_that) { - case _StacAlignmentGeometry(): - return $default(_that); - case _: - throw StateError('Unexpected subclass'); - } - } - - /// A variant of `map` that fallback to returning `null`. - /// - /// It is equivalent to doing: - /// ```dart - /// switch (sealedClass) { - /// case final Subclass value: - /// return ...; - /// case _: - /// return null; - /// } - /// ``` - - @optionalTypeArgs - TResult? mapOrNull( - TResult? Function(_StacAlignmentGeometry value)? $default, - ) { - final _that = this; - switch (_that) { - case _StacAlignmentGeometry() when $default != null: - return $default(_that); - case _: - return null; - } - } - - /// A variant of `when` that fallback to an `orElse` callback. - /// - /// It is equivalent to doing: - /// ```dart - /// switch (sealedClass) { - /// case Subclass(:final field): - /// return ...; - /// case _: - /// return orElse(); - /// } - /// ``` - - @optionalTypeArgs - TResult maybeWhen( - TResult Function(StacDouble dx, StacDouble dy)? $default, { - required TResult orElse(), - }) { - final _that = this; - switch (_that) { - case _StacAlignmentGeometry() when $default != null: - return $default(_that.dx, _that.dy); - case _: - return orElse(); - } - } - - /// A `switch`-like method, using callbacks. - /// - /// As opposed to `map`, this offers destructuring. - /// It is equivalent to doing: - /// ```dart - /// switch (sealedClass) { - /// case Subclass(:final field): - /// return ...; - /// case Subclass2(:final field2): - /// return ...; - /// } - /// ``` - - @optionalTypeArgs - TResult when( - TResult Function(StacDouble dx, StacDouble dy) $default, - ) { - final _that = this; - switch (_that) { - case _StacAlignmentGeometry(): - return $default(_that.dx, _that.dy); - case _: - throw StateError('Unexpected subclass'); - } - } - - /// A variant of `when` that fallback to returning `null` - /// - /// It is equivalent to doing: - /// ```dart - /// switch (sealedClass) { - /// case Subclass(:final field): - /// return ...; - /// case _: - /// return null; - /// } - /// ``` - - @optionalTypeArgs - TResult? whenOrNull( - TResult? Function(StacDouble dx, StacDouble dy)? $default, - ) { - final _that = this; - switch (_that) { - case _StacAlignmentGeometry() when $default != null: - return $default(_that.dx, _that.dy); - case _: - return null; - } - } -} - -/// @nodoc -@JsonSerializable() -class _StacAlignmentGeometry implements StacAlignmentGeometry { - const _StacAlignmentGeometry({required this.dx, required this.dy}); - factory _StacAlignmentGeometry.fromJson(Map json) => - _$StacAlignmentGeometryFromJson(json); - - @override - final StacDouble dx; - @override - final StacDouble dy; - - /// Create a copy of StacAlignmentGeometry - /// with the given fields replaced by the non-null parameter values. - @override - @JsonKey(includeFromJson: false, includeToJson: false) - @pragma('vm:prefer-inline') - _$StacAlignmentGeometryCopyWith<_StacAlignmentGeometry> get copyWith => - __$StacAlignmentGeometryCopyWithImpl<_StacAlignmentGeometry>( - this, _$identity); - - @override - Map toJson() { - return _$StacAlignmentGeometryToJson( - this, - ); - } - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other.runtimeType == runtimeType && - other is _StacAlignmentGeometry && - (identical(other.dx, dx) || other.dx == dx) && - (identical(other.dy, dy) || other.dy == dy)); - } - - @JsonKey(includeFromJson: false, includeToJson: false) - @override - int get hashCode => Object.hash(runtimeType, dx, dy); - - @override - String toString() { - return 'StacAlignmentGeometry(dx: $dx, dy: $dy)'; - } -} - -/// @nodoc -abstract mixin class _$StacAlignmentGeometryCopyWith<$Res> - implements $StacAlignmentGeometryCopyWith<$Res> { - factory _$StacAlignmentGeometryCopyWith(_StacAlignmentGeometry value, - $Res Function(_StacAlignmentGeometry) _then) = - __$StacAlignmentGeometryCopyWithImpl; - @override - @useResult - $Res call({StacDouble dx, StacDouble dy}); -} - -/// @nodoc -class __$StacAlignmentGeometryCopyWithImpl<$Res> - implements _$StacAlignmentGeometryCopyWith<$Res> { - __$StacAlignmentGeometryCopyWithImpl(this._self, this._then); - - final _StacAlignmentGeometry _self; - final $Res Function(_StacAlignmentGeometry) _then; - - /// Create a copy of StacAlignmentGeometry - /// with the given fields replaced by the non-null parameter values. - @override - @pragma('vm:prefer-inline') - $Res call({ - Object? dx = null, - Object? dy = null, - }) { - return _then(_StacAlignmentGeometry( - dx: null == dx - ? _self.dx - : dx // ignore: cast_nullable_to_non_nullable - as StacDouble, - dy: null == dy - ? _self.dy - : dy // ignore: cast_nullable_to_non_nullable - as StacDouble, - )); - } -} - -// dart format on diff --git a/packages/stac/lib/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.g.dart b/packages/stac/lib/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.g.dart deleted file mode 100644 index a3a9abc0..00000000 --- a/packages/stac/lib/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.g.dart +++ /dev/null @@ -1,21 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'stac_alignment_geometry.dart'; - -// ************************************************************************** -// JsonSerializableGenerator -// ************************************************************************** - -_StacAlignmentGeometry _$StacAlignmentGeometryFromJson( - Map json) => - _StacAlignmentGeometry( - dx: StacDouble.fromJson(json['dx']), - dy: StacDouble.fromJson(json['dy']), - ); - -Map _$StacAlignmentGeometryToJson( - _StacAlignmentGeometry instance) => - { - 'dx': instance.dx, - 'dy': instance.dy, - }; diff --git a/packages/stac/lib/src/parsers/widgets/stac_set_value/stac_set_value.freezed.dart b/packages/stac/lib/src/parsers/widgets/stac_set_value/stac_set_value.freezed.dart index 5fb5ade9..0640ceca 100644 --- a/packages/stac/lib/src/parsers/widgets/stac_set_value/stac_set_value.freezed.dart +++ b/packages/stac/lib/src/parsers/widgets/stac_set_value/stac_set_value.freezed.dart @@ -1,6 +1,5 @@ -// dart format width=80 -// coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND +// coverage:ignore-file // ignore_for_file: type=lint // ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark @@ -88,6 +87,169 @@ class _$StacSetValueCopyWithImpl<$Res> implements $StacSetValueCopyWith<$Res> { } } +/// Adds pattern-matching-related methods to [StacSetValue]. +extension StacSetValuePatterns on StacSetValue { + /// A variant of `map` that fallback to returning `orElse`. + /// + /// It is equivalent to doing: + /// ```dart + /// switch (sealedClass) { + /// case final Subclass value: + /// return ...; + /// case _: + /// return orElse(); + /// } + /// ``` + + @optionalTypeArgs + TResult maybeMap( + TResult Function(_StacSetValue value)? $default, { + required TResult orElse(), + }) { + final _that = this; + switch (_that) { + case _StacSetValue() when $default != null: + return $default(_that); + case _: + return orElse(); + } + } + + /// A `switch`-like method, using callbacks. + /// + /// Callbacks receives the raw object, upcasted. + /// It is equivalent to doing: + /// ```dart + /// switch (sealedClass) { + /// case final Subclass value: + /// return ...; + /// case final Subclass2 value: + /// return ...; + /// } + /// ``` + + @optionalTypeArgs + TResult map( + TResult Function(_StacSetValue value) $default, + ) { + final _that = this; + switch (_that) { + case _StacSetValue(): + return $default(_that); + case _: + throw StateError('Unexpected subclass'); + } + } + + /// A variant of `map` that fallback to returning `null`. + /// + /// It is equivalent to doing: + /// ```dart + /// switch (sealedClass) { + /// case final Subclass value: + /// return ...; + /// case _: + /// return null; + /// } + /// ``` + + @optionalTypeArgs + TResult? mapOrNull( + TResult? Function(_StacSetValue value)? $default, + ) { + final _that = this; + switch (_that) { + case _StacSetValue() when $default != null: + return $default(_that); + case _: + return null; + } + } + + /// A variant of `when` that fallback to an `orElse` callback. + /// + /// It is equivalent to doing: + /// ```dart + /// switch (sealedClass) { + /// case Subclass(:final field): + /// return ...; + /// case _: + /// return orElse(); + /// } + /// ``` + + @optionalTypeArgs + TResult maybeWhen( + TResult Function( + List> values, Map? child)? + $default, { + required TResult orElse(), + }) { + final _that = this; + switch (_that) { + case _StacSetValue() when $default != null: + return $default(_that.values, _that.child); + case _: + return orElse(); + } + } + + /// A `switch`-like method, using callbacks. + /// + /// As opposed to `map`, this offers destructuring. + /// It is equivalent to doing: + /// ```dart + /// switch (sealedClass) { + /// case Subclass(:final field): + /// return ...; + /// case Subclass2(:final field2): + /// return ...; + /// } + /// ``` + + @optionalTypeArgs + TResult when( + TResult Function( + List> values, Map? child) + $default, + ) { + final _that = this; + switch (_that) { + case _StacSetValue(): + return $default(_that.values, _that.child); + case _: + throw StateError('Unexpected subclass'); + } + } + + /// A variant of `when` that fallback to returning `null` + /// + /// It is equivalent to doing: + /// ```dart + /// switch (sealedClass) { + /// case Subclass(:final field): + /// return ...; + /// case _: + /// return null; + /// } + /// ``` + + @optionalTypeArgs + TResult? whenOrNull( + TResult? Function( + List> values, Map? child)? + $default, + ) { + final _that = this; + switch (_that) { + case _StacSetValue() when $default != null: + return $default(_that.values, _that.child); + case _: + return null; + } + } +} + /// @nodoc @JsonSerializable() class _StacSetValue implements StacSetValue { diff --git a/packages/stac/lib/src/parsers/widgets/widgets.dart b/packages/stac/lib/src/parsers/widgets/widgets.dart index 418e31aa..ad6c1994 100644 --- a/packages/stac/lib/src/parsers/widgets/widgets.dart +++ b/packages/stac/lib/src/parsers/widgets/widgets.dart @@ -4,7 +4,6 @@ export 'package:stac/src/parsers/widgets/stac_alert_dialog/stac_alert_dialog_par export 'package:stac/src/parsers/widgets/stac_align/stac_align.dart'; export 'package:stac/src/parsers/widgets/stac_alignment/stac_alignment.dart'; export 'package:stac/src/parsers/widgets/stac_alignment_directional/stac_alignment_directional.dart'; -export 'package:stac/src/parsers/widgets/stac_alignment_geometry/stac_alignment_geometry.dart'; export 'package:stac/src/parsers/widgets/stac_aspect_ratio/stac_aspect_ratio_parser.dart'; export 'package:stac/src/parsers/widgets/stac_auto_complete/stac_auto_complete_parser.dart'; export 'package:stac/src/parsers/widgets/stac_backdrop_filter/stac_backdrop_filter_parser.dart'; diff --git a/packages/stac_cli/pubspec.lock b/packages/stac_cli/pubspec.lock new file mode 100644 index 00000000..15d2d79e --- /dev/null +++ b/packages/stac_cli/pubspec.lock @@ -0,0 +1,428 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: f0bb5d1648339c8308cc0b9838d8456b3cfe5c91f9dc1a735b4d003269e5da9a + url: "https://pub.dev" + source: hosted + version: "88.0.0" + analyzer: + dependency: "direct main" + description: + name: analyzer + sha256: "0b7b9c329d2879f8f05d6c05b32ee9ec025f39b077864bdb5ac9a7b63418a98f" + url: "https://pub.dev" + source: hosted + version: "8.1.1" + args: + dependency: "direct main" + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" + async: + dependency: transitive + description: + name: async + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + url: "https://pub.dev" + source: hosted + version: "2.13.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + cli_config: + dependency: transitive + description: + name: cli_config + sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec + url: "https://pub.dev" + source: hosted + version: "0.2.0" + collection: + dependency: transitive + description: + name: collection + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" + source: hosted + version: "1.19.1" + convert: + dependency: transitive + description: + name: convert + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + coverage: + dependency: transitive + description: + name: coverage + sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d" + url: "https://pub.dev" + source: hosted + version: "1.15.0" + crypto: + dependency: transitive + description: + name: crypto + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" + url: "https://pub.dev" + source: hosted + version: "3.0.6" + dart_style: + dependency: "direct main" + description: + name: dart_style + sha256: c87dfe3d56f183ffe9106a18aebc6db431fc7c98c31a54b952a77f3d54a85697 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + file: + dependency: transitive + description: + name: file + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" + source: hosted + version: "7.0.1" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + glob: + dependency: transitive + description: + name: glob + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" + source: hosted + version: "2.1.3" + http: + dependency: "direct main" + description: + name: http + sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007 + url: "https://pub.dev" + source: hosted + version: "1.5.0" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + url: "https://pub.dev" + source: hosted + version: "3.2.2" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + io: + dependency: "direct main" + description: + name: io + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b + url: "https://pub.dev" + source: hosted + version: "1.0.5" + js: + dependency: transitive + description: + name: js + sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" + url: "https://pub.dev" + source: hosted + version: "0.7.2" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" + lints: + dependency: "direct dev" + description: + name: lints + sha256: a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0 + url: "https://pub.dev" + source: hosted + version: "6.0.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: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + url: "https://pub.dev" + source: hosted + version: "0.12.17" + meta: + dependency: transitive + description: + name: meta + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + url: "https://pub.dev" + source: hosted + version: "1.17.0" + mime: + dependency: transitive + description: + name: mime + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + node_preamble: + dependency: transitive + description: + name: node_preamble + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + package_config: + dependency: transitive + description: + name: package_config + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" + source: hosted + version: "2.2.0" + path: + dependency: "direct main" + description: + name: path + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + shelf: + dependency: transitive + description: + name: shelf + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" + source: hosted + version: "1.4.2" + shelf_packages_handler: + dependency: transitive + description: + name: shelf_packages_handler + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + shelf_static: + dependency: transitive + description: + name: shelf_static + sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 + url: "https://pub.dev" + source: hosted + version: "1.1.3" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b + url: "https://pub.dev" + source: hosted + version: "2.1.2" + source_maps: + dependency: transitive + description: + name: source_maps + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" + url: "https://pub.dev" + source: hosted + version: "0.10.13" + source_span: + dependency: transitive + description: + name: source_span + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + url: "https://pub.dev" + source: hosted + version: "1.10.1" + stac_core: + dependency: "direct main" + description: + path: "../stac_core" + relative: true + source: path + version: "0.0.1" + 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: + dependency: "direct dev" + description: + name: test + sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7" + url: "https://pub.dev" + source: hosted + version: "1.26.3" + test_api: + dependency: transitive + description: + name: test_api + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + url: "https://pub.dev" + source: hosted + version: "0.7.7" + test_core: + dependency: transitive + description: + name: test_core + sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0" + url: "https://pub.dev" + source: hosted + version: "0.6.12" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" + url: "https://pub.dev" + source: hosted + version: "15.0.2" + watcher: + dependency: transitive + description: + name: watcher + sha256: "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a" + url: "https://pub.dev" + source: hosted + version: "1.1.2" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 + url: "https://pub.dev" + source: hosted + version: "3.0.3" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + yaml: + dependency: transitive + description: + name: yaml + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" + source: hosted + version: "3.1.3" +sdks: + dart: ">=3.8.1 <4.0.0" diff --git a/packages/stac_core/lib/foundation/alignment/stac_alignment_geometry/stac_alignment_geometry.dart b/packages/stac_core/lib/foundation/alignment/stac_alignment_geometry/stac_alignment_geometry.dart new file mode 100644 index 00000000..aa5376d0 --- /dev/null +++ b/packages/stac_core/lib/foundation/alignment/stac_alignment_geometry/stac_alignment_geometry.dart @@ -0,0 +1,56 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:stac_core/core/converters/double_converter.dart'; +import 'package:stac_core/core/stac_widget.dart'; + +part 'stac_alignment_geometry.g.dart'; + +/// A Stac representation of Flutter's [AlignmentGeometry] class. +/// +/// This class represents an alignment that can be used to position widgets +/// within their parent. It supports both horizontal (dx) and vertical (dy) +/// alignment values, where -1.0 represents the start/top, 0.0 represents +/// the center, and 1.0 represents the end/bottom. +/// +/// {@tool snippet} +/// Dart Example: +/// ```dart +/// const StacAlignmentGeometry(dx: 0.0, dy: -1.0) // Top center +/// ``` +/// {@end-tool} +/// +/// {@tool snippet} +/// JSON Example: +/// ```json +/// { +/// "dx": 0.0, +/// "dy": -1.0 +/// } +/// ``` +/// {@end-tool} +@JsonSerializable() +class StacAlignmentGeometry extends StacElement { + /// Creates an alignment geometry with the specified horizontal and vertical values. + const StacAlignmentGeometry({required this.dx, required this.dy}); + + /// The horizontal alignment value. + /// -1.0 represents the start (left in LTR, right in RTL) + /// 0.0 represents the center + /// 1.0 represents the end (right in LTR, left in RTL) + @DoubleConverter() + final double dx; + + /// The vertical alignment value. + /// -1.0 represents the top + /// 0.0 represents the center + /// 1.0 represents the bottom + @DoubleConverter() + final double dy; + + /// Creates a [StacAlignmentGeometry] from a JSON map. + factory StacAlignmentGeometry.fromJson(Map json) => + _$StacAlignmentGeometryFromJson(json); + + /// Converts this [StacAlignmentGeometry] instance to a JSON map. + @override + Map toJson() => _$StacAlignmentGeometryToJson(this); +} diff --git a/packages/stac_core/lib/foundation/alignment/stac_alignment_geometry/stac_alignment_geometry.g.dart b/packages/stac_core/lib/foundation/alignment/stac_alignment_geometry/stac_alignment_geometry.g.dart new file mode 100644 index 00000000..e85dc71f --- /dev/null +++ b/packages/stac_core/lib/foundation/alignment/stac_alignment_geometry/stac_alignment_geometry.g.dart @@ -0,0 +1,18 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'stac_alignment_geometry.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +StacAlignmentGeometry _$StacAlignmentGeometryFromJson( + Map json, +) => StacAlignmentGeometry( + dx: (json['dx'] as num).toDouble(), + dy: (json['dy'] as num).toDouble(), +); + +Map _$StacAlignmentGeometryToJson( + StacAlignmentGeometry instance, +) => {'dx': instance.dx, 'dy': instance.dy}; diff --git a/packages/stac_core/lib/foundation/foundation.dart b/packages/stac_core/lib/foundation/foundation.dart index a2f01ee0..a4bb4f84 100644 --- a/packages/stac_core/lib/foundation/foundation.dart +++ b/packages/stac_core/lib/foundation/foundation.dart @@ -3,6 +3,7 @@ library; // Alignment and positioning export 'alignment/stac_alignment.dart'; export 'alignment/stac_alignment_directional.dart'; +export 'alignment/stac_alignment_geometry/stac_alignment_geometry.dart'; export 'alignment/stac_cross_axis_alignment.dart'; export 'alignment/stac_main_axis_alignment.dart'; export 'alignment/stac_main_axis_size.dart';