// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'gifts_provider.dart';

// **************************************************************************
// RiverpodGenerator
// **************************************************************************

// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
/// Gift catalog provider
///
/// Provides the complete list of available gifts.
/// Currently returns mock data matching the HTML design.

@ProviderFor(Gifts)
const giftsProvider = GiftsProvider._();

/// Gift catalog provider
///
/// Provides the complete list of available gifts.
/// Currently returns mock data matching the HTML design.
final class GiftsProvider extends $NotifierProvider<Gifts, List<GiftCatalog>> {
  /// Gift catalog provider
  ///
  /// Provides the complete list of available gifts.
  /// Currently returns mock data matching the HTML design.
  const GiftsProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'giftsProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$giftsHash();

  @$internal
  @override
  Gifts create() => Gifts();

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(List<GiftCatalog> value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<List<GiftCatalog>>(value),
    );
  }
}

String _$giftsHash() => r'b931265843ea3f87f93513d579a4ccda8a327bdc';

/// Gift catalog provider
///
/// Provides the complete list of available gifts.
/// Currently returns mock data matching the HTML design.

abstract class _$Gifts extends $Notifier<List<GiftCatalog>> {
  List<GiftCatalog> build();
  @$mustCallSuper
  @override
  void runBuild() {
    final created = build();
    final ref = this.ref as $Ref<List<GiftCatalog>, List<GiftCatalog>>;
    final element =
        ref.element
            as $ClassProviderElement<
              AnyNotifier<List<GiftCatalog>, List<GiftCatalog>>,
              List<GiftCatalog>,
              Object?,
              Object?
            >;
    element.handleValue(ref, created);
  }
}

/// Selected gift category state provider

@ProviderFor(SelectedGiftCategory)
const selectedGiftCategoryProvider = SelectedGiftCategoryProvider._();

/// Selected gift category state provider
final class SelectedGiftCategoryProvider
    extends $NotifierProvider<SelectedGiftCategory, GiftCategory?> {
  /// Selected gift category state provider
  const SelectedGiftCategoryProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'selectedGiftCategoryProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$selectedGiftCategoryHash();

  @$internal
  @override
  SelectedGiftCategory create() => SelectedGiftCategory();

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(GiftCategory? value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<GiftCategory?>(value),
    );
  }
}

String _$selectedGiftCategoryHash() =>
    r'c34e985518a6c7fbd22376b78db02e39d1f55279';

/// Selected gift category state provider

abstract class _$SelectedGiftCategory extends $Notifier<GiftCategory?> {
  GiftCategory? build();
  @$mustCallSuper
  @override
  void runBuild() {
    final created = build();
    final ref = this.ref as $Ref<GiftCategory?, GiftCategory?>;
    final element =
        ref.element
            as $ClassProviderElement<
              AnyNotifier<GiftCategory?, GiftCategory?>,
              GiftCategory?,
              Object?,
              Object?
            >;
    element.handleValue(ref, created);
  }
}

/// Filtered gifts provider
///
/// Filters gifts based on selected category.

@ProviderFor(filteredGifts)
const filteredGiftsProvider = FilteredGiftsProvider._();

/// Filtered gifts provider
///
/// Filters gifts based on selected category.

final class FilteredGiftsProvider
    extends
        $FunctionalProvider<
          List<GiftCatalog>,
          List<GiftCatalog>,
          List<GiftCatalog>
        >
    with $Provider<List<GiftCatalog>> {
  /// Filtered gifts provider
  ///
  /// Filters gifts based on selected category.
  const FilteredGiftsProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'filteredGiftsProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$filteredGiftsHash();

  @$internal
  @override
  $ProviderElement<List<GiftCatalog>> $createElement(
    $ProviderPointer pointer,
  ) => $ProviderElement(pointer);

  @override
  List<GiftCatalog> create(Ref ref) {
    return filteredGifts(ref);
  }

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(List<GiftCatalog> value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<List<GiftCatalog>>(value),
    );
  }
}

String _$filteredGiftsHash() => r'361ef8e7727e5577adf408a9ca4c577af3490328';
