Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
8625e61
Drop Dart 2 support: raise sdk floor to >=3.9.0, remove Dart-2-only f…
greglittlefield-wf Aug 6, 2026
601a3a2
Lower SDK bound (and language version) to 3.0.0 for now
greglittlefield-wf Aug 6, 2026
dce6bdd
Fix mixins in builder
greglittlefield-wf Aug 6, 2026
25a2fb2
Convert classes to mixins to fix Dart 3 errors
greglittlefield-wf Aug 6, 2026
3bd0d6e
Deprecate mixins that never should have been exported
greglittlefield-wf Aug 6, 2026
f13894d
Update changelog
greglittlefield-wf Aug 6, 2026
054af3d
Migrate to new analysis option
greglittlefield-wf Aug 6, 2026
d5b6337
Remove old script
greglittlefield-wf Aug 6, 2026
3acff39
Update changelog
greglittlefield-wf Aug 6, 2026
d5865b8
Reinstate link step
greglittlefield-wf Aug 6, 2026
ad61d41
Fix unreachable default warnings
greglittlefield-wf Aug 6, 2026
f33349a
Update gha-dart-oss to v0.1.14 and use Dart 3 (stable)
greglittlefield-wf Aug 6, 2026
9229f01
Remove analyzer_plugin Dart 2 CI run
greglittlefield-wf Aug 6, 2026
cff4747
Make $ConnectPropsMixin to fix build errors
greglittlefield-wf Aug 6, 2026
51c99db
Disable format check
greglittlefield-wf Aug 6, 2026
f8187a1
Remove non-null safe tests not valid under Dart 3
greglittlefield-wf Aug 6, 2026
c7b9724
Bump SDK in analyzer plugin as well
greglittlefield-wf Sep 21, 2026
b4b720d
Upgrade gha-dart-oss to pull in fix for dart-analyzer.json failure
greglittlefield-wf Sep 21, 2026
a0e488f
Add regression test for special-case props mixins
greglittlefield-wf Sep 21, 2026
c242833
Remove cases for props that are always mixed in
greglittlefield-wf Sep 21, 2026
35d57cb
Update generated file
greglittlefield-wf Sep 21, 2026
db54132
Migrate generated stubs to mixins, fixing errors
greglittlefield-wf Sep 21, 2026
5799e3b
Update remaining generated mixin stub classes to mixins
greglittlefield-wf Sep 21, 2026
6382462
Update changelog
greglittlefield-wf Sep 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 12 additions & 46 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,16 @@ jobs:
# Run as a separate job outside the Dart SDK matrix below,
# since we can only emit a single SBOM.
build:
uses: Workiva/gha-dart-oss/.github/workflows/build.yaml@v0.1.11
uses: Workiva/gha-dart-oss/.github/workflows/build.yaml@v0.1.15
with:
sdk: stable

checks:
uses: Workiva/gha-dart-oss/.github/workflows/checks.yaml@v0.1.11
uses: Workiva/gha-dart-oss/.github/workflows/checks.yaml@v0.1.15
with:
sdk: stable
# TODO re-enable this with updated formatting after this PR merges
format-check: false
additional-checks: |
no_entrypoint_imports

Expand All @@ -33,7 +38,7 @@ jobs:
strategy:
fail-fast: false
matrix:
sdk: [ 2.19.6, stable ]
sdk: [ 3.9.0, stable ]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is kind of arbitrary; I just picked an older-but-not-too-old version of Dart 3

steps:
- uses: actions/checkout@v4
- id: setup-dart
Expand All @@ -48,15 +53,6 @@ jobs:
name: Install dependencies
run: dart pub get

- name: Delete Dart-2-only files and update tests when running on Dart 3
run: |
DART_VERSION="${{ steps.setup-dart.outputs.dart-version }}"
if [[ "$DART_VERSION" =~ ^3 ]]; then
./tool/delete_dart_2_only_files.sh
# Stage these changes so they don't show up in the generated file `git diff` check below
git add .
fi

# Analyze before generated files are created to verify that component boilerplate analysis is "clean" without the need for building
- name: Analyze example source (pre-build)
run: |
Expand Down Expand Up @@ -86,13 +82,7 @@ jobs:
- name: Run tests (VM)
# Can't use build_runner (which dart_dev uses if you depend on it) to run VM tests, since we get the error:
# Unable to spawn isolate: /…/build_runner_testRU6M77/.packages: Error: Problem in packages configuration file: Unexpected character
run: |
DART_VERSION="${{ steps.setup-dart.outputs.dart-version }}"
TEST_ARGS=""
if [[ "$DART_VERSION" =~ ^3 ]]; then
TEST_ARGS="--preset=no-dart-2"
fi
dart test --preset vm $TEST_ARGS
run: dart test --preset vm
if: always() && steps.install.outcome == 'success' && steps.build.outcome == 'success'

- name: Run tests (DDC)
Expand All @@ -112,15 +102,12 @@ jobs:
matrix:
sdk: [ stable ]
analyzer:
- ^5.13.0 # This should match the lower bound
- ^6.0.0
- ^7.0.0
- ^8.0.0
- ^9.0.0
- ^10.0.0
# Analyzer 6+ does not resolve in Dart 2.
include:
- sdk: 2.19.6
analyzer: ^5.13.0 # This should match the lower bound

steps:
- uses: actions/checkout@v4
Expand All @@ -140,27 +127,14 @@ jobs:
git diff pubspec.yaml
dart pub get

- name: Delete Dart-2-only files and update tests when running on Dart 3
run: |
DART_VERSION="${{ steps.setup-dart.outputs.dart-version }}"
if [[ "$DART_VERSION" =~ ^3 ]]; then
./tool/delete_dart_2_only_files.sh
fi

- name: Analyze package source
run: dart analyze .

- name: Verify builder runs without errors
run: dart run build_runner build --build-filter='**.dart' --delete-conflicting-outputs

- name: Run builder tests
run: |
DART_VERSION="${{ steps.setup-dart.outputs.dart-version }}"
TEST_ARGS=""
if [[ "$DART_VERSION" =~ ^3 ]]; then
TEST_ARGS="--preset=no-dart-2"
fi
dart test --preset vm $TEST_ARGS -- test/vm_tests/builder
run: dart test --preset vm -- test/vm_tests/builder

analyzer_plugin:
runs-on: ubuntu-latest
Expand All @@ -170,7 +144,7 @@ jobs:
strategy:
fail-fast: false
matrix:
sdk: [ 2.19.6, stable ]
sdk: [ stable ]
steps:
- uses: actions/checkout@v4
- id: setup-dart
Expand All @@ -188,14 +162,6 @@ jobs:
- id: install
name: Install dependencies
run: dart pub get
if: always() && steps.link.outcome == 'success'

- name: Delete Dart-2-only files and update tests when running on Dart 3
run: |
DART_VERSION="${{ steps.setup-dart.outputs.dart-version }}"
if [[ "$DART_VERSION" =~ ^3 ]]; then
(cd ../.. && ./tool/delete_dart_2_only_files.sh)
fi

- name: Validate dependencies
run: dart run dependency_validator
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ permissions:

jobs:
publish:
uses: Workiva/gha-dart-oss/.github/workflows/publish.yaml@v0.1.11
uses: Workiva/gha-dart-oss/.github/workflows/publish.yaml@v0.1.14
with:
sdk: stable
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# OverReact Changelog

## Unreleased
- Drop Dart 2 support; minimum SDK is now 3.0.0
- Fix Dart language level 3.0 errors and downstream compile errors by switching internal classes to `mixin` declarations
- `GeneratedClass` - switched to `mixin`
- `PropsMapViewMixin`, `StateMapViewMixin`, `MapViewMixin` - switched to `mixin`, also moved `implements` to `on`
- Hand-authored mixin "generated" classes:
- Core: `$AriaPropsMixin`, `$ConnectFluxPropsMixin`, `$CssClassPropsMixin`, `$DomPropsMixin`, `$ReactPropsMixin`, `$SvgPropsMixin`, `$UbiquitousDomPropsMixin`
- Components: `$ErrorBoundaryPropsMixin`, `$ErrorBoundaryStateMixin`, `$ResizeSensorPropsMixin`, `$TransitionPropsMixin`
- While some of these are technically a breaking changes, there's very little chance of them impacting consumers, so we're releasing it as a minor.

These classes have no known usages outside of over_react or its generated code, and are for internal use only.

Additionally, the `*MapViewMixin` ones never should have been exported in the first place, and have been deprecated accordingly.

## 5.7.0
- Remove `dart:mirrors` usage in builder to fix AOT compilation used in newer build_runner versions
- Remove `dart_style` and `pub_semver` dependencies, remove generated code formatter step
Expand Down
4 changes: 2 additions & 2 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
include: package:workiva_analysis_options/v2.recommended.yaml

analyzer:
strong-mode:
implicit-casts: false
language:
strict-casts: true
exclude:
- _site/**
- test_fixtures/**
Expand Down
7 changes: 0 additions & 7 deletions dart_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,10 @@ presets:
paths:
- test/vm_tests/

no-dart-2:
exclude_tags: dart-2-only

dartdevc:
exclude_tags: no-ddc
paths:
- test/over_react_component_declaration_test.dart
- test/over_react_component_declaration_non_null_safe_test.dart
- test/over_react_component_test.dart
- test/over_react_dom_test.dart
- test/over_react_prod_test.dart
Expand All @@ -31,7 +27,6 @@ presets:
exclude_tags: ddc
paths:
- test/over_react_component_declaration_test.dart
- test/over_react_component_declaration_non_null_safe_test.dart
- test/over_react_component_test.dart
- test/over_react_dom_test.dart
- test/over_react_prod_test.dart
Expand All @@ -52,5 +47,3 @@ tags:
# Tests that represent a case of undesirable JS interop behavior that's
# either unavoidable or exists as a tradeoff for improved behavior in other cases.
js-interop-tradeoff: {}
# Tests for behavior that's only valid in Dart 2, and does not apply to Dart 3.
dart-2-only: {}
15 changes: 14 additions & 1 deletion lib/component_base.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,17 @@

library over_react.component_base;

export 'src/component_declaration/component_base.dart';
import 'src/component_declaration/component_base.dart' as cb;

export 'src/component_declaration/component_base.dart' hide PropsMapViewMixin, StateMapViewMixin, MapViewMixin;

// Typedefs instead of deprecating the export to work around message not showing: https://github.com/dart-lang/sdk/issues/52163

@Deprecated('Not for public use. Will be removed in a future major release.')
typedef PropsMapViewMixin = cb.PropsMapViewMixin;

@Deprecated('Not for public use. Will be removed in a future major release.')
typedef StateMapViewMixin = cb.StateMapViewMixin;

@Deprecated('Not for public use. Will be removed in a future major release.')
typedef MapViewMixin = cb.MapViewMixin;
2 changes: 0 additions & 2 deletions lib/src/builder/codegen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@ class ImplGenerator {
case DeclarationType.stateMixinDeclaration:
_generateStateMixin(declaration as StateMixinDeclaration);
break;
default:
throw ArgumentError('Unhandled declaration type: $declaration');
}
}

Expand Down
8 changes: 4 additions & 4 deletions lib/src/builder/parsing/members/props_and_state_util.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ extension on String {

/// A mixin containing getters that can be used to facilitate runtime [String] checks
/// for a props and state class.
abstract class PropsStateStringHelpers {
mixin PropsStateStringHelpers {
bool get isProps;
String get propsOrStateString => isProps ? 'props' : 'state';
String get propsOrStateStringCapitalized => propsOrStateString.capitalize();
Expand All @@ -39,15 +39,15 @@ abstract class PropsStateStringHelpers {
RegExp get propsOrStateMixinNamePattern =>
isProps ? propsMixinNamePattern : stateMixinNamePattern;

factory PropsStateStringHelpers.props() => _PropsStateStringHelpersImpl(isProps: true);
factory PropsStateStringHelpers.state() => _PropsStateStringHelpersImpl(isProps: false);
static PropsStateStringHelpers props() => const _PropsStateStringHelpersImpl(isProps: true);
static PropsStateStringHelpers state() => const _PropsStateStringHelpersImpl(isProps: false);
}

class _PropsStateStringHelpersImpl extends Object with PropsStateStringHelpers {
@override
final bool isProps;

_PropsStateStringHelpersImpl({required this.isProps});
const _PropsStateStringHelpersImpl({required this.isProps});
}

/// Uses [InstantiatedMeta] to analyze [node] and determine the proper annotation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ part 'abstract_transition_props.over_react.g.dart';
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
@Deprecated('Use the `AbstractTransitionProps` mixin exported from `package:over_react/components.dart` instead. Will be removed in the 4.0.0 release.')
abstract class $TransitionPropsMixin {
mixin $TransitionPropsMixin {
static const PropsMeta meta = _$metaForTransitionPropsMixin;
}

Expand Down
4 changes: 2 additions & 2 deletions lib/src/component/_deprecated/error_boundary_mixins.dart
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ mixin LegacyErrorBoundaryApi<T extends ErrorBoundaryPropsMixin, S extends ErrorB
/// 1. to allow for consumers which have used the --backwards-compat flag with over_react_codemod to statically analyze:
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
abstract class $ErrorBoundaryPropsMixin {
mixin $ErrorBoundaryPropsMixin {
static const PropsMeta meta = _$metaForErrorBoundaryPropsMixin;
}

Expand Down Expand Up @@ -152,7 +152,7 @@ abstract class _$ErrorBoundaryPropsMixin implements UiProps {
/// 1. to allow for consumers which have used the --backwards-compat flag with over_react_codemod to statically analyze:
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
abstract class $ErrorBoundaryStateMixin {
mixin $ErrorBoundaryStateMixin {
static const StateMeta meta = _$metaForErrorBoundaryStateMixin;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/src/component/_deprecated/resize_sensor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ UiFactory<ResizeSensorProps> ResizeSensor = _$ResizeSensor;
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
@Deprecated('Use the `ResizeSensorProps` mixin exported from `package:over_react/components.dart` instead. Will be removed in the 4.0.0 release of over_react.')
abstract class $ResizeSensorPropsMixin {
mixin $ResizeSensorPropsMixin {
static const PropsMeta meta = _$metaForResizeSensorPropsMixin;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/src/component/aria_mixin.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ part 'aria_mixin.over_react.g.dart';
/// 1. to allow for consumers which have used the --backwards-compat flag with over_react_codemod to statically analyze:
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
abstract class $AriaPropsMixin {
mixin $AriaPropsMixin {
@Deprecated('This API is for use only within generated code.'
' Do not reference it in your code, as it may change at any time.')
static const PropsMeta meta = _$metaForAriaPropsMixin;
Expand Down
8 changes: 4 additions & 4 deletions lib/src/component/prop_mixins.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ part 'prop_mixins.over_react.g.dart';
/// 1. to allow for consumers which have used the --backwards-compat flag with over_react_codemod to statically analyze:
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
abstract class $ReactPropsMixin {
mixin $ReactPropsMixin {
@Deprecated('This API is for use only within generated code.'
' Do not reference it in your code, as it may change at any time.')
static const PropsMeta meta = _$metaForReactPropsMixin;
Expand Down Expand Up @@ -98,7 +98,7 @@ abstract class _$ReactPropsMixin {
/// 1. to allow for consumers which have used the --backwards-compat flag with over_react_codemod to statically analyze:
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
abstract class $DomPropsMixin {
mixin $DomPropsMixin {
@Deprecated('This API is for use only within generated code.'
' Do not reference it in your code, as it may change at any time.')
static const PropsMeta meta = _$metaForDomPropsMixin;
Expand Down Expand Up @@ -209,7 +209,7 @@ abstract class _$DomPropsMixin {
/// 1. to allow for consumers which have used the --backwards-compat flag with over_react_codemod to statically analyze:
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
abstract class $SvgPropsMixin {
mixin $SvgPropsMixin {
@Deprecated('This API is for use only within generated code.'
' Do not reference it in your code, as it may change at any time.')
static const PropsMeta meta = _$metaForSvgPropsMixin;
Expand Down Expand Up @@ -256,7 +256,7 @@ abstract class _$SvgPropsMixin {
/// 1. to allow for consumers which have used the --backwards-compat flag with over_react_codemod to statically analyze:
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
abstract class $UbiquitousDomPropsMixin {
mixin $UbiquitousDomPropsMixin {
@Deprecated('This API is for use only within generated code.'
' Do not reference it in your code, as it may change at any time.')
static const PropsMeta meta = _$metaForUbiquitousDomPropsMixin;
Expand Down
2 changes: 1 addition & 1 deletion lib/src/component/resize_sensor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ class ResizeSensorEvent {
}

/// A mixin that makes it easier to manage animation frames within a React component lifecycle.
class SafeAnimationFrameMixin {
mixin SafeAnimationFrameMixin {
/// The ids of the pending animation frames.
final _animationFrameIds = <int>[];

Expand Down
2 changes: 1 addition & 1 deletion lib/src/component_declaration/builder_helpers.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export './ui_props_self_typed_extension.dart';
// to-be-generated members.
// ----------------------------------------------------------------------

class GeneratedClass {
mixin GeneratedClass {
/// Whether this class has been generated.
///
/// Used to allow certain behavior (e.g., instantiation) on generated implementation classes,
Expand Down
6 changes: 3 additions & 3 deletions lib/src/component_declaration/component_base.dart
Original file line number Diff line number Diff line change
Expand Up @@ -723,7 +723,7 @@ abstract class _OverReactMapViewBase<K, V> {
/// functionality to [UiProps] subclasses.
///
/// > Related: [StateMapViewMixin]
abstract class PropsMapViewMixin implements _OverReactMapViewBase {
mixin PropsMapViewMixin on _OverReactMapViewBase {
/// The props maintained by this builder and used passed into the component when built.
/// In this case, it's the current MapView object.
Map get props;
Expand All @@ -739,7 +739,7 @@ abstract class PropsMapViewMixin implements _OverReactMapViewBase {
/// functionality to [UiState] subclasses.
///
/// > Related: [PropsMapViewMixin]
abstract class StateMapViewMixin implements _OverReactMapViewBase {
mixin StateMapViewMixin on _OverReactMapViewBase {
Map get state;

@override
Expand All @@ -756,7 +756,7 @@ abstract class StateMapViewMixin implements _OverReactMapViewBase {
///
/// For use by concrete [UiProps] and [UiState] implementations (either generated or manual),
/// and thus must remain public.
abstract class MapViewMixin<K, V> implements _OverReactMapViewBase<K, V>, Map<K, V> {
mixin MapViewMixin<K, V> implements _OverReactMapViewBase<K, V>, Map<K, V> {
@override Map<K2, V2> map<K2, V2>(MapEntry<K2, V2> Function(K key, V value) f) => _map.map<K2, V2>(f);
@override Iterable<MapEntry<K, V>> get entries => _map.entries;
@override void addEntries(Iterable<MapEntry<K, V>> newEntries) => _map.addEntries(newEntries);
Expand Down
2 changes: 1 addition & 1 deletion lib/src/over_react_redux/over_react_flux.dart
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ part 'over_react_flux.over_react.g.dart';
/// 1. to allow for consumers which have used the --backwards-compat flag with over_react_codemod to statically analyze:
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
abstract class $ConnectFluxPropsMixin {
mixin $ConnectFluxPropsMixin {
@Deprecated('This API is for use only within generated code.'
' Do not reference it in your code, as it may change at any time.')
static const PropsMeta meta = _$metaForConnectFluxPropsMixin;
Expand Down
2 changes: 1 addition & 1 deletion lib/src/over_react_redux/over_react_redux.dart
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ part 'over_react_redux.over_react.g.dart';
/// 1. to allow for consumers which have used the --backwards-compat flag with over_react_codemod to statically analyze:
/// <https://github.com/Workiva/over_react_codemod/blob/71e5713ec6c256ddaf7c616ff9d6d26d77bb8f25/README.md#dart-1-to-dart-2-codemod>
/// 2. to provide forwards-compatibility and allow this to be mixed into mixin-based component props
abstract class $ConnectPropsMixin {
mixin $ConnectPropsMixin {
@Deprecated('This API is for use only within generated code.'
' Do not reference it in your code, as it may change at any time.')
static const PropsMeta meta = _$metaForConnectPropsMixin;
Expand Down
Loading
Loading