wrapped static method

Widget wrapped({
  1. required int pageIndex,
  2. required int pageLength,
  3. required ValueChanged<int> animateToPage,
  4. required int storyLength,
  5. required int initialStoryIndex,
  6. required bool isCurrentPage,
  7. required bool isPaging,
  8. required VoidCallback? onPageLimitReached,
  9. required StoryItemBuilder itemBuilder,
  10. StoryItemBuilder? gestureItemBuilder,
  11. required Duration indicatorDuration,
  12. required EdgeInsetsGeometry indicatorPadding,
  13. required ValueNotifier<IndicatorAnimationCommand>? indicatorAnimationController,
  14. required dynamic onStoryPaused()?,
  15. required dynamic onStoryUnpaused()?,
  16. required dynamic onStoryIndexChanged(
    1. int newStoryIndex
    )?,
})

Implementation

static Widget wrapped({
  required int pageIndex,
  required int pageLength,
  required ValueChanged<int> animateToPage,
  required int storyLength,
  required int initialStoryIndex,
  required bool isCurrentPage,
  required bool isPaging,
  required VoidCallback? onPageLimitReached,
  required StoryItemBuilder itemBuilder,
  StoryItemBuilder? gestureItemBuilder,
  required Duration indicatorDuration,
  required EdgeInsetsGeometry indicatorPadding,
  required ValueNotifier<IndicatorAnimationCommand>?
      indicatorAnimationController,
  required Function()? onStoryPaused,
  required Function()? onStoryUnpaused,
  required Function(int newStoryIndex)? onStoryIndexChanged,
}) {
  return MultiProvider(
    providers: [
      ChangeNotifierProvider(
        create: (context) => StoryLimitController(),
      ),
      ChangeNotifierProvider(
        create: (context) => StoryStackController(
          onStoryIndexChanged: onStoryIndexChanged,
          storyLength: storyLength,
          onPageBack: () {
            if (pageIndex != 0) {
              animateToPage(pageIndex - 1);
            }
          },
          onPageForward: () {
            if (pageIndex == pageLength - 1) {
              context
                  .read<StoryLimitController>()
                  .onPageLimitReached(onPageLimitReached);
            } else {
              animateToPage(pageIndex + 1);
            }
          },
          initialStoryIndex: initialStoryIndex,
        ),
      ),
    ],
    child: StoryPageFrame._(
      storyLength: storyLength,
      initialStoryIndex: initialStoryIndex,
      pageIndex: pageIndex,
      isCurrentPage: isCurrentPage,
      isPaging: isPaging,
      itemBuilder: itemBuilder,
      gestureItemBuilder: gestureItemBuilder,
      indicatorDuration: indicatorDuration,
      indicatorPadding: indicatorPadding,
      indicatorAnimationController: indicatorAnimationController,
      onStoryPaused: onStoryPaused,
      onStoryUnpaused: onStoryUnpaused,
    ),
  );
}