@umituz/react-native-design-system 4.25.99 → 4.25.100
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.
- package/dist/atoms/AtomicAvatar.d.ts +44 -0
- package/dist/atoms/AtomicDatePicker.d.ts +42 -0
- package/dist/atoms/AtomicFab.d.ts +36 -0
- package/dist/atoms/AtomicInput.d.ts +4 -0
- package/dist/atoms/AtomicKeyboardAvoidingView.d.ts +17 -0
- package/dist/atoms/AtomicPicker.d.ts +9 -0
- package/dist/atoms/AtomicProgress.d.ts +42 -0
- package/dist/atoms/AtomicSpinner.d.ts +39 -0
- package/dist/atoms/AtomicSwitch.d.ts +18 -0
- package/dist/atoms/AtomicText.d.ts +31 -0
- package/dist/atoms/AtomicTextArea.d.ts +43 -0
- package/dist/atoms/AtomicTouchable.d.ts +29 -0
- package/dist/atoms/EmptyState.d.ts +22 -0
- package/dist/atoms/GlassView/GlassView.d.ts +17 -0
- package/dist/atoms/badge/AtomicBadge.d.ts +28 -0
- package/dist/atoms/button/AtomicButton.d.ts +8 -0
- package/dist/atoms/button/configs/buttonSizeConfig.d.ts +6 -0
- package/dist/atoms/button/styles/buttonStyles.d.ts +33 -0
- package/dist/atoms/button/styles/buttonVariantStyles.d.ts +6 -0
- package/dist/atoms/button/types/index.d.ts +38 -0
- package/dist/atoms/card/AtomicCard.d.ts +9 -0
- package/dist/atoms/card/configs/cardPaddingConfig.d.ts +6 -0
- package/dist/atoms/card/styles/cardStyles.d.ts +58 -0
- package/dist/atoms/card/types.d.ts +53 -0
- package/dist/atoms/chip/AtomicChip.d.ts +8 -0
- package/dist/atoms/chip/configs/chipColorConfig.d.ts +6 -0
- package/dist/atoms/chip/configs/chipSizeConfig.d.ts +6 -0
- package/dist/atoms/chip/styles/chipStyles.d.ts +16 -0
- package/dist/atoms/chip/types/index.d.ts +37 -0
- package/dist/atoms/datepicker/components/DatePickerButton.d.ts +17 -0
- package/dist/atoms/datepicker/components/DatePickerModal.d.ts +33 -0
- package/dist/atoms/datepicker/hooks/useDatePickerText.d.ts +16 -0
- package/dist/atoms/datepicker/styles/datePickerStyles.d.ts +22 -0
- package/dist/atoms/datepicker/types.d.ts +5 -0
- package/dist/atoms/fab/styles/fabStyles.d.ts +46 -0
- package/dist/atoms/fab/types.d.ts +75 -0
- package/dist/atoms/icon/AtomicIcon.d.ts +59 -0
- package/dist/atoms/icon/AtomicIcon.types.d.ts +32 -0
- package/dist/atoms/icon/components/iconRenderer.d.ts +43 -0
- package/dist/atoms/icon/iconStore.d.ts +73 -0
- package/dist/atoms/icon/index.d.ts +9 -0
- package/dist/atoms/icon/utils/iconUtils.d.ts +40 -0
- package/dist/atoms/image/AtomicImage.d.ts +11 -0
- package/dist/atoms/index.d.ts +31 -0
- package/dist/atoms/input/components/InputHelper.d.ts +12 -0
- package/dist/atoms/input/components/InputIcon.d.ts +11 -0
- package/dist/atoms/input/components/InputLabel.d.ts +8 -0
- package/dist/atoms/input/hooks/useInputState.d.ts +18 -0
- package/dist/atoms/input/styles/inputStyles.d.ts +15 -0
- package/dist/atoms/input/styles/inputStylesHelper.d.ts +48 -0
- package/dist/atoms/input/types.d.ts +71 -0
- package/dist/atoms/picker/components/PickerChips.d.ts +15 -0
- package/dist/atoms/picker/components/PickerIcons.d.ts +16 -0
- package/dist/atoms/picker/components/PickerModal.d.ts +24 -0
- package/dist/atoms/picker/hooks/usePickerState.d.ts +24 -0
- package/dist/atoms/picker/styles/pickerModalStyles.d.ts +9 -0
- package/dist/atoms/picker/styles/pickerOptionStyles.d.ts +8 -0
- package/dist/atoms/picker/styles/pickerSearchStyles.d.ts +7 -0
- package/dist/atoms/picker/styles/pickerStateStyles.d.ts +10 -0
- package/dist/atoms/picker/styles/pickerStyles.d.ts +35 -0
- package/dist/atoms/picker/types.d.ts +52 -0
- package/dist/atoms/skeleton/AtomicSkeleton.d.ts +39 -0
- package/dist/atoms/skeleton/AtomicSkeleton.types.d.ts +32 -0
- package/dist/atoms/status-bar/AtomicStatusBar.d.ts +11 -0
- package/dist/carousel/BannerCarousel.d.ts +13 -0
- package/dist/carousel/Carousel.d.ts +6 -0
- package/dist/carousel/CarouselDots.d.ts +3 -0
- package/dist/carousel/CarouselItem.d.ts +12 -0
- package/dist/carousel/CarouselScrollView.d.ts +13 -0
- package/dist/carousel/carouselCalculations.d.ts +3 -0
- package/dist/carousel/index.d.ts +9 -0
- package/dist/carousel/types.d.ts +27 -0
- package/dist/carousel/useCarouselScroll.d.ts +10 -0
- package/dist/device/detection/deviceDetection.d.ts +34 -0
- package/dist/device/detection/iPadBreakpoints.d.ts +51 -0
- package/dist/device/detection/iPadDetection.d.ts +24 -0
- package/dist/device/detection/iPadLayoutUtils.d.ts +38 -0
- package/dist/device/detection/iPadModalUtils.d.ts +27 -0
- package/dist/device/detection/index.d.ts +13 -0
- package/dist/device/domain/entities/Device.d.ts +79 -0
- package/dist/device/domain/entities/DeviceFeatureConfig.d.ts +21 -0
- package/dist/device/domain/entities/DeviceMemoryUtils.d.ts +30 -0
- package/dist/device/domain/entities/DeviceTypeUtils.d.ts +35 -0
- package/dist/device/domain/entities/DeviceUtils.d.ts +34 -0
- package/dist/device/domain/types/AnonymousUserTypes.d.ts +44 -0
- package/dist/device/index.d.ts +32 -0
- package/dist/device/infrastructure/repositories/SecureDeviceIdRepository.d.ts +18 -0
- package/dist/device/infrastructure/services/ApplicationInfoService.d.ts +21 -0
- package/dist/device/infrastructure/services/DeviceCapabilityService.d.ts +28 -0
- package/dist/device/infrastructure/services/DeviceExtrasCollector.d.ts +59 -0
- package/dist/device/infrastructure/services/DeviceFeatureService.d.ts +22 -0
- package/dist/device/infrastructure/services/DeviceIdService.d.ts +32 -0
- package/dist/device/infrastructure/services/DeviceInfoService.d.ts +11 -0
- package/dist/device/infrastructure/services/DeviceService.d.ts +66 -0
- package/dist/device/infrastructure/services/PersistentDeviceIdService.d.ts +36 -0
- package/dist/device/infrastructure/services/UserFriendlyIdService.d.ts +25 -0
- package/dist/device/infrastructure/utils/nativeModuleUtils.d.ts +27 -0
- package/dist/device/infrastructure/utils/stringUtils.d.ts +31 -0
- package/dist/device/presentation/hooks/useAnonymousUser.d.ts +34 -0
- package/dist/device/presentation/hooks/useDeviceFeatures.d.ts +16 -0
- package/dist/device/presentation/hooks/useDeviceInfo.d.ts +26 -0
- package/dist/exception/ErrorBoundary.d.ts +22 -0
- package/dist/exception/index.d.ts +6 -0
- package/dist/filesystem/domain/constants/FileConstants.d.ts +17 -0
- package/dist/filesystem/domain/entities/File.d.ts +8 -0
- package/dist/filesystem/domain/types/FileTypes.d.ts +38 -0
- package/dist/filesystem/domain/utils/FileUtils.d.ts +41 -0
- package/dist/filesystem/index.d.ts +14 -0
- package/dist/filesystem/infrastructure/services/FileSystemService.d.ts +34 -0
- package/dist/filesystem/infrastructure/services/cache.service.d.ts +12 -0
- package/dist/filesystem/infrastructure/services/directory.service.d.ts +25 -0
- package/dist/filesystem/infrastructure/services/download.constants.d.ts +5 -0
- package/dist/filesystem/infrastructure/services/download.service.d.ts +10 -0
- package/dist/filesystem/infrastructure/services/download.types.d.ts +5 -0
- package/dist/filesystem/infrastructure/services/encoding.service.d.ts +17 -0
- package/dist/filesystem/infrastructure/services/file-info.service.d.ts +17 -0
- package/dist/filesystem/infrastructure/services/file-manager.service.d.ts +17 -0
- package/dist/filesystem/infrastructure/services/file-path.service.d.ts +9 -0
- package/dist/filesystem/infrastructure/services/file-reader.service.d.ts +13 -0
- package/dist/filesystem/infrastructure/services/file-writer.service.d.ts +9 -0
- package/dist/filesystem/infrastructure/utils/blob.utils.d.ts +29 -0
- package/dist/gallery/gallery-download.service.d.ts +12 -0
- package/dist/gallery/gallery-save.service.d.ts +10 -0
- package/dist/gallery/index.d.ts +3 -0
- package/dist/gallery/types.d.ts +10 -0
- package/dist/haptics/domain/entities/Haptic.d.ts +45 -0
- package/dist/haptics/index.d.ts +156 -0
- package/dist/haptics/infrastructure/services/HapticService.d.ts +44 -0
- package/dist/haptics/presentation/hooks/useHaptics.d.ts +56 -0
- package/dist/image/domain/entities/ImageConstants.d.ts +21 -0
- package/dist/image/domain/entities/ImageFilterTypes.d.ts +69 -0
- package/dist/image/domain/entities/ImageTemplateTypes.d.ts +16 -0
- package/dist/image/domain/entities/ImageTypes.d.ts +73 -0
- package/dist/image/domain/entities/ValidationResult.d.ts +14 -0
- package/dist/image/domain/utils/ImageUtils.d.ts +16 -0
- package/dist/image/index.d.ts +43 -0
- package/dist/image/infrastructure/services/ImageBatchService.d.ts +32 -0
- package/dist/image/infrastructure/services/ImageConversionService.d.ts +11 -0
- package/dist/image/infrastructure/services/ImageEnhanceService.d.ts +27 -0
- package/dist/image/infrastructure/services/ImageMetadataService.d.ts +23 -0
- package/dist/image/infrastructure/services/ImageStorageService.d.ts +8 -0
- package/dist/image/infrastructure/services/ImageTemplateService.d.ts +20 -0
- package/dist/image/infrastructure/services/ImageTransformService.d.ts +15 -0
- package/dist/image/infrastructure/services/ImageViewerService.d.ts +19 -0
- package/dist/image/infrastructure/types/BatchTypes.d.ts +10 -0
- package/dist/image/infrastructure/utils/BatchProcessor.d.ts +15 -0
- package/dist/image/infrastructure/utils/FilterProcessor.d.ts +34 -0
- package/dist/image/infrastructure/utils/ImageErrorHandler.d.ts +22 -0
- package/dist/image/infrastructure/utils/ImageQualityPresets.d.ts +33 -0
- package/dist/image/infrastructure/utils/ImageTransformUtils.d.ts +11 -0
- package/dist/image/infrastructure/utils/ImageValidator.d.ts +14 -0
- package/dist/image/infrastructure/utils/MetadataExtractor.d.ts +30 -0
- package/dist/image/infrastructure/utils/filters/ColorAdjustmentFilters.d.ts +10 -0
- package/dist/image/infrastructure/utils/filters/FilterHelpers.d.ts +8 -0
- package/dist/image/infrastructure/utils/filters/StyleFilters.d.ts +9 -0
- package/dist/image/infrastructure/utils/validation/image-validator.d.ts +13 -0
- package/dist/image/infrastructure/utils/validation/mime-type-validator.d.ts +29 -0
- package/dist/image/infrastructure/utils/validation/mime-types.constants.d.ts +26 -0
- package/dist/image/presentation/components/GalleryHeader.d.ts +14 -0
- package/dist/image/presentation/components/ImageGallery.d.ts +18 -0
- package/dist/image/presentation/components/editor/FilterPickerSheet.d.ts +13 -0
- package/dist/image/presentation/components/editor/StickerPickerSheet.d.ts +13 -0
- package/dist/image/presentation/components/editor/TextEditorSheet.d.ts +26 -0
- package/dist/image/presentation/components/editor/text-editor/TextContentTab.d.ts +10 -0
- package/dist/image/presentation/components/editor/text-editor/TextEditorTabs.styles.d.ts +32 -0
- package/dist/image/presentation/components/editor/text-editor/TextStyleTab.d.ts +14 -0
- package/dist/image/presentation/components/editor/text-editor/TextTransformTab.d.ts +15 -0
- package/dist/image/presentation/components/editor/text-editor/components/TransformButtonRow.d.ts +27 -0
- package/dist/image/presentation/components/editor/text-editor/index.d.ts +10 -0
- package/dist/image/presentation/hooks/useImage.d.ts +49 -0
- package/dist/image/presentation/hooks/useImageBatch.d.ts +14 -0
- package/dist/image/presentation/hooks/useImageConversion.d.ts +9 -0
- package/dist/image/presentation/hooks/useImageEnhance.d.ts +12 -0
- package/dist/image/presentation/hooks/useImageGallery.d.ts +14 -0
- package/dist/image/presentation/hooks/useImageMetadata.d.ts +18 -0
- package/dist/image/presentation/hooks/useImageOperation.d.ts +10 -0
- package/dist/image/presentation/hooks/useImageTransform.d.ts +12 -0
- package/dist/index.d.ts +40 -0
- package/dist/infinite-scroll/domain/interfaces/infinite-scroll-list-props.d.ts +46 -0
- package/dist/infinite-scroll/domain/types/infinite-scroll-config.d.ts +92 -0
- package/dist/infinite-scroll/domain/types/infinite-scroll-return.d.ts +33 -0
- package/dist/infinite-scroll/domain/types/infinite-scroll-state.d.ts +48 -0
- package/dist/infinite-scroll/domain/utils/pagination-utils.d.ts +33 -0
- package/dist/infinite-scroll/domain/utils/type-guards.d.ts +30 -0
- package/dist/infinite-scroll/index.d.ts +27 -0
- package/dist/infinite-scroll/presentation/components/empty.d.ts +10 -0
- package/dist/infinite-scroll/presentation/components/error.d.ts +10 -0
- package/dist/infinite-scroll/presentation/components/infinite-scroll-list.d.ts +9 -0
- package/dist/infinite-scroll/presentation/components/loading-more.d.ts +10 -0
- package/dist/infinite-scroll/presentation/components/loading.d.ts +10 -0
- package/dist/infinite-scroll/presentation/components/types.d.ts +103 -0
- package/dist/infinite-scroll/presentation/hooks/pagination.helper.d.ts +20 -0
- package/dist/infinite-scroll/presentation/hooks/useInfiniteScroll.d.ts +8 -0
- package/dist/init/createAppInitializer.d.ts +27 -0
- package/dist/init/env/createEnvConfig.d.ts +28 -0
- package/dist/init/env/index.d.ts +5 -0
- package/dist/init/env/types.d.ts +79 -0
- package/dist/init/index.d.ts +12 -0
- package/dist/init/types.d.ts +58 -0
- package/dist/init/useAppInitialization.d.ts +19 -0
- package/dist/layouts/AppHeader/AppHeader.d.ts +32 -0
- package/dist/layouts/Container/Container.d.ts +33 -0
- package/dist/layouts/Container/index.d.ts +1 -0
- package/dist/layouts/FormLayout/FormLayout.d.ts +36 -0
- package/dist/layouts/FormLayout/index.d.ts +1 -0
- package/dist/layouts/Grid/Grid.d.ts +35 -0
- package/dist/layouts/Grid/index.d.ts +1 -0
- package/dist/layouts/ScreenHeader/ScreenHeader.d.ts +34 -0
- package/dist/layouts/ScreenLayout/ScreenLayout.d.ts +7 -0
- package/dist/layouts/ScreenLayout/index.d.ts +1 -0
- package/dist/layouts/ScreenLayout/styles/screenLayoutStyles.d.ts +31 -0
- package/dist/layouts/ScreenLayout/types/index.d.ts +27 -0
- package/dist/layouts/index.d.ts +4 -0
- package/dist/loading/domain/types/loading.types.d.ts +35 -0
- package/dist/loading/index.d.ts +9 -0
- package/dist/loading/infrastructure/store/LoadingStore.d.ts +6 -0
- package/dist/loading/presentation/components/LoadingOverlay.d.ts +7 -0
- package/dist/loading/presentation/hooks/useGlobalLoading.d.ts +13 -0
- package/dist/loading/presentation/providers/LoadingProvider.d.ts +7 -0
- package/dist/media/domain/entities/Media.d.ts +140 -0
- package/dist/media/domain/utils/FileValidator.d.ts +66 -0
- package/dist/media/domain/utils/MediaUtils.d.ts +28 -0
- package/dist/media/index.d.ts +25 -0
- package/dist/media/infrastructure/services/MediaPickerService.d.ts +19 -0
- package/dist/media/infrastructure/services/MediaSaveService.d.ts +38 -0
- package/dist/media/infrastructure/utils/PermissionManager.d.ts +43 -0
- package/dist/media/infrastructure/utils/file-media-utils.d.ts +42 -0
- package/dist/media/infrastructure/utils/media-collection-utils.d.ts +27 -0
- package/dist/media/infrastructure/utils/media-url-extractor.d.ts +7 -0
- package/dist/media/infrastructure/utils/mediaPickerMappers.d.ts +18 -0
- package/dist/media/infrastructure/utils/mime-type-detector.d.ts +5 -0
- package/dist/media/infrastructure/utils/url-media-detector.d.ts +5 -0
- package/dist/media/presentation/hooks/useMedia.d.ts +24 -0
- package/dist/molecules/BaseModal.d.ts +18 -0
- package/dist/molecules/ConfirmationModalContent.d.ts +22 -0
- package/dist/molecules/ConfirmationModalMain.d.ts +8 -0
- package/dist/molecules/Divider/Divider.d.ts +59 -0
- package/dist/molecules/Divider/types.d.ts +64 -0
- package/dist/molecules/FormField.d.ts +21 -0
- package/dist/molecules/IconContainer.d.ts +27 -0
- package/dist/molecules/List/List.d.ts +38 -0
- package/dist/molecules/List/index.d.ts +1 -0
- package/dist/molecules/ListItem.d.ts +4 -0
- package/dist/molecules/SearchBar/SearchBar.d.ts +3 -0
- package/dist/molecules/SearchBar/SearchHistory.d.ts +3 -0
- package/dist/molecules/SearchBar/SearchSuggestions.d.ts +8 -0
- package/dist/molecules/SearchBar/index.d.ts +4 -0
- package/dist/molecules/SearchBar/types.d.ts +41 -0
- package/dist/molecules/StepHeader/StepHeader.d.ts +27 -0
- package/dist/molecules/StepHeader/index.d.ts +2 -0
- package/dist/molecules/StepProgress/StepProgress.d.ts +8 -0
- package/dist/molecules/StepProgress/index.d.ts +1 -0
- package/dist/molecules/action-footer/ActionFooter.d.ts +3 -0
- package/dist/molecules/action-footer/types.d.ts +10 -0
- package/dist/molecules/alerts/AlertBanner.d.ts +14 -0
- package/dist/molecules/alerts/AlertContainer.d.ts +5 -0
- package/dist/molecules/alerts/AlertInline.d.ts +10 -0
- package/dist/molecules/alerts/AlertModal.d.ts +10 -0
- package/dist/molecules/alerts/AlertProvider.d.ts +7 -0
- package/dist/molecules/alerts/AlertService.d.ts +14 -0
- package/dist/molecules/alerts/AlertStore.d.ts +15 -0
- package/dist/molecules/alerts/AlertToast.d.ts +13 -0
- package/dist/molecules/alerts/AlertTypes.d.ts +52 -0
- package/dist/molecules/alerts/components/AlertContent.d.ts +20 -0
- package/dist/molecules/alerts/components/AlertIcon.d.ts +14 -0
- package/dist/molecules/alerts/components/index.d.ts +5 -0
- package/dist/molecules/alerts/hooks/index.d.ts +5 -0
- package/dist/molecules/alerts/hooks/useAlertAutoDismiss.d.ts +8 -0
- package/dist/molecules/alerts/hooks/useAlertDismissHandler.d.ts +8 -0
- package/dist/molecules/alerts/index.d.ts +24 -0
- package/dist/molecules/alerts/useAlert.d.ts +14 -0
- package/dist/molecules/alerts/utils/alertUtils.d.ts +61 -0
- package/dist/molecules/avatar/Avatar.constants.d.ts +43 -0
- package/dist/molecules/avatar/Avatar.d.ts +23 -0
- package/dist/molecules/avatar/Avatar.types.d.ts +58 -0
- package/dist/molecules/avatar/Avatar.utils.d.ts +58 -0
- package/dist/molecules/avatar/AvatarGroup.d.ts +35 -0
- package/dist/molecules/avatar/index.d.ts +5 -0
- package/dist/molecules/bottom-sheet/components/BottomSheet.d.ts +3 -0
- package/dist/molecules/bottom-sheet/components/BottomSheetModal.d.ts +3 -0
- package/dist/molecules/bottom-sheet/components/filter/FilterBottomSheet.d.ts +16 -0
- package/dist/molecules/bottom-sheet/components/filter/FilterSheet.d.ts +14 -0
- package/dist/molecules/bottom-sheet/components/filter/FilterSheetComponents/FilterSheetHeader.d.ts +9 -0
- package/dist/molecules/bottom-sheet/components/filter/FilterSheetComponents/FilterSheetOption.d.ts +11 -0
- package/dist/molecules/bottom-sheet/hooks/useBottomSheet.d.ts +2 -0
- package/dist/molecules/bottom-sheet/hooks/useBottomSheetModal.d.ts +2 -0
- package/dist/molecules/bottom-sheet/hooks/useListFilters.d.ts +26 -0
- package/dist/molecules/bottom-sheet/index.d.ts +9 -0
- package/dist/molecules/bottom-sheet/types/BottomSheet.d.ts +72 -0
- package/dist/molecules/bottom-sheet/types/Filter.d.ts +20 -0
- package/dist/molecules/calendar/domain/entities/CalendarDay.entity.d.ts +98 -0
- package/dist/molecules/calendar/domain/entities/CalendarEvent.entity.d.ts +140 -0
- package/dist/molecules/calendar/domain/repositories/ICalendarRepository.d.ts +101 -0
- package/dist/molecules/calendar/index.d.ts +39 -0
- package/dist/molecules/calendar/infrastructure/services/CalendarGeneration.d.ts +70 -0
- package/dist/molecules/calendar/infrastructure/services/CalendarService.d.ts +60 -0
- package/dist/molecules/calendar/infrastructure/storage/CalendarStore.d.ts +64 -0
- package/dist/molecules/calendar/infrastructure/stores/storageAdapter.d.ts +9 -0
- package/dist/molecules/calendar/infrastructure/stores/useCalendarEvents.d.ts +24 -0
- package/dist/molecules/calendar/infrastructure/stores/useCalendarNavigation.d.ts +17 -0
- package/dist/molecules/calendar/infrastructure/stores/useCalendarView.d.ts +14 -0
- package/dist/molecules/calendar/infrastructure/utils/DateUtilities.d.ts +68 -0
- package/dist/molecules/calendar/presentation/components/AtomicCalendar.d.ts +82 -0
- package/dist/molecules/calendar/presentation/components/CalendarDayCell.d.ts +18 -0
- package/dist/molecules/calendar/presentation/components/CalendarWeekdayHeader.d.ts +9 -0
- package/dist/molecules/calendar/presentation/components/calendarStyles.d.ts +53 -0
- package/dist/molecules/circular-menu/CircularMenu.d.ts +13 -0
- package/dist/molecules/circular-menu/CircularMenuBackground.d.ts +2 -0
- package/dist/molecules/circular-menu/CircularMenuCloseButton.d.ts +5 -0
- package/dist/molecules/circular-menu/CircularMenuItem.d.ts +7 -0
- package/dist/molecules/circular-menu/constants.d.ts +24 -0
- package/dist/molecules/circular-menu/index.d.ts +3 -0
- package/dist/molecules/confirmation-modal/components.d.ts +31 -0
- package/dist/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts +49 -0
- package/dist/molecules/confirmation-modal/types.d.ts +38 -0
- package/dist/molecules/confirmation-modal/useConfirmationModal.d.ts +18 -0
- package/dist/molecules/countdown/components/Countdown.d.ts +12 -0
- package/dist/molecules/countdown/components/CountdownHeader.d.ts +10 -0
- package/dist/molecules/countdown/components/TimeUnit.d.ts +7 -0
- package/dist/molecules/countdown/hooks/useCountdown.d.ts +17 -0
- package/dist/molecules/countdown/index.d.ts +10 -0
- package/dist/molecules/countdown/types/CountdownTypes.d.ts +32 -0
- package/dist/molecules/countdown/utils/TimeCalculator.d.ts +5 -0
- package/dist/molecules/emoji/domain/entities/Emoji.d.ts +107 -0
- package/dist/molecules/emoji/index.d.ts +163 -0
- package/dist/molecules/emoji/presentation/components/EmojiPicker.d.ts +62 -0
- package/dist/molecules/emoji/presentation/hooks/useEmojiPicker.d.ts +73 -0
- package/dist/molecules/filter-group/FilterGroup.d.ts +3 -0
- package/dist/molecules/filter-group/index.d.ts +2 -0
- package/dist/molecules/filter-group/types.d.ts +15 -0
- package/dist/molecules/hero-section/HeroSection.d.ts +3 -0
- package/dist/molecules/hero-section/types.d.ts +8 -0
- package/dist/molecules/icon-grid/IconGrid.d.ts +47 -0
- package/dist/molecules/icon-grid/index.d.ts +1 -0
- package/dist/molecules/index.d.ts +34 -0
- package/dist/molecules/info-grid/InfoGrid.d.ts +3 -0
- package/dist/molecules/info-grid/index.d.ts +2 -0
- package/dist/molecules/info-grid/types.d.ts +14 -0
- package/dist/molecules/listitem/styles/listItemStyles.d.ts +13 -0
- package/dist/molecules/listitem/types/index.d.ts +20 -0
- package/dist/molecules/long-press-menu/domain/entities/MenuAction.d.ts +30 -0
- package/dist/molecules/long-press-menu/index.d.ts +12 -0
- package/dist/molecules/navigation/StackNavigator.d.ts +13 -0
- package/dist/molecules/navigation/TabsNavigator.d.ts +13 -0
- package/dist/molecules/navigation/components/FabButton.d.ts +13 -0
- package/dist/molecules/navigation/components/NavigationContainer.d.ts +10 -0
- package/dist/molecules/navigation/components/NavigationHeader.d.ts +7 -0
- package/dist/molecules/navigation/components/TabLabel.d.ts +14 -0
- package/dist/molecules/navigation/hooks/useAppFocusEffect.d.ts +15 -0
- package/dist/molecules/navigation/hooks/useAppIsFocused.d.ts +7 -0
- package/dist/molecules/navigation/hooks/useAppNavigation.d.ts +25 -0
- package/dist/molecules/navigation/hooks/useAppRoute.d.ts +9 -0
- package/dist/molecules/navigation/hooks/useTabBarStyles.d.ts +44 -0
- package/dist/molecules/navigation/hooks/useTabConfig.d.ts +6 -0
- package/dist/molecules/navigation/index.d.ts +21 -0
- package/dist/molecules/navigation/types.d.ts +93 -0
- package/dist/molecules/navigation/utils/AppNavigation.d.ts +76 -0
- package/dist/molecules/navigation/utils/IconRenderer.d.ts +9 -0
- package/dist/molecules/navigation/utils/LabelProcessor.d.ts +10 -0
- package/dist/molecules/navigation/utils/NavigationCleanup.d.ts +37 -0
- package/dist/molecules/navigation/utils/NavigationValidator.d.ts +5 -0
- package/dist/molecules/navigation/utils/ScreenFactory.d.ts +9 -0
- package/dist/molecules/navigation/utils/createScreenOptions.d.ts +20 -0
- package/dist/molecules/splash/components/SplashScreen.d.ts +3 -0
- package/dist/molecules/splash/constants.d.ts +8 -0
- package/dist/molecules/splash/hooks/useSplashFlow.d.ts +22 -0
- package/dist/molecules/splash/index.d.ts +8 -0
- package/dist/molecules/splash/types.d.ts +86 -0
- package/dist/molecules/swipe-actions/domain/entities/SwipeAction.d.ts +55 -0
- package/dist/molecules/swipe-actions/domain/utils/swipeActionHelpers.d.ts +53 -0
- package/dist/molecules/swipe-actions/domain/utils/swipeActionValidator.d.ts +18 -0
- package/dist/molecules/swipe-actions/index.d.ts +5 -0
- package/dist/molecules/swipe-actions/presentation/components/SwipeActionButton.d.ts +47 -0
- package/dist/offline/index.d.ts +16 -0
- package/dist/offline/infrastructure/events/NetworkEvents.d.ts +24 -0
- package/dist/offline/infrastructure/storage/OfflineConfigStore.d.ts +18 -0
- package/dist/offline/infrastructure/storage/OfflineStore.d.ts +7 -0
- package/dist/offline/infrastructure/utils/healthCheck.d.ts +28 -0
- package/dist/offline/presentation/components/OfflineBanner.d.ts +43 -0
- package/dist/offline/presentation/hooks/useOffline.d.ts +22 -0
- package/dist/offline/presentation/hooks/useOfflineState.d.ts +7 -0
- package/dist/offline/presentation/hooks/useOfflineWithMutations.d.ts +16 -0
- package/dist/offline/presentation/providers/NetworkProvider.d.ts +23 -0
- package/dist/offline/types/index.d.ts +62 -0
- package/dist/onboarding/domain/entities/OnboardingOptions.d.ts +85 -0
- package/dist/onboarding/domain/entities/OnboardingQuestion.d.ts +135 -0
- package/dist/onboarding/domain/entities/OnboardingSlide.d.ts +49 -0
- package/dist/onboarding/domain/entities/OnboardingUserData.d.ts +38 -0
- package/dist/onboarding/domain/types/ImageSourceType.d.ts +11 -0
- package/dist/onboarding/hooks/useOnboardingFlow.d.ts +9 -0
- package/dist/onboarding/index.d.ts +60 -0
- package/dist/onboarding/infrastructure/hooks/useOnboardingAnswers.d.ts +20 -0
- package/dist/onboarding/infrastructure/hooks/useOnboardingNavigation.d.ts +23 -0
- package/dist/onboarding/infrastructure/services/SlideManager.d.ts +27 -0
- package/dist/onboarding/infrastructure/services/ValidationManager.d.ts +35 -0
- package/dist/onboarding/infrastructure/storage/OnboardingStore.d.ts +45 -0
- package/dist/onboarding/infrastructure/storage/OnboardingStoreActions.d.ts +15 -0
- package/dist/onboarding/infrastructure/storage/OnboardingStoreSelectors.d.ts +11 -0
- package/dist/onboarding/infrastructure/storage/OnboardingStoreState.d.ts +13 -0
- package/dist/onboarding/infrastructure/storage/actions/answerActions.d.ts +8 -0
- package/dist/onboarding/infrastructure/storage/actions/completeAction.d.ts +6 -0
- package/dist/onboarding/infrastructure/storage/actions/index.d.ts +10 -0
- package/dist/onboarding/infrastructure/storage/actions/initializeAction.d.ts +6 -0
- package/dist/onboarding/infrastructure/storage/actions/resetAction.d.ts +6 -0
- package/dist/onboarding/infrastructure/storage/actions/skipAction.d.ts +6 -0
- package/dist/onboarding/infrastructure/storage/actions/storageHelpers.d.ts +14 -0
- package/dist/onboarding/infrastructure/utils/arrayUtils.d.ts +16 -0
- package/dist/onboarding/infrastructure/utils/backgroundUtils.d.ts +16 -0
- package/dist/onboarding/infrastructure/utils/layouts/collageLayout.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/gridLayouts.d.ts +7 -0
- package/dist/onboarding/infrastructure/utils/layouts/honeycombLayout.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/index.d.ts +10 -0
- package/dist/onboarding/infrastructure/utils/layouts/layoutTypes.d.ts +31 -0
- package/dist/onboarding/infrastructure/utils/layouts/masonryLayout.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/scatteredLayout.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/screenDimensions.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/tilesLayout.d.ts +6 -0
- package/dist/onboarding/presentation/components/BackgroundImageCollage.d.ts +17 -0
- package/dist/onboarding/presentation/components/BackgroundVideo.d.ts +11 -0
- package/dist/onboarding/presentation/components/BaseSlide.d.ts +11 -0
- package/dist/onboarding/presentation/components/OnboardingBackground.d.ts +32 -0
- package/dist/onboarding/presentation/components/OnboardingFooter.d.ts +12 -0
- package/dist/onboarding/presentation/components/OnboardingHeader.d.ts +10 -0
- package/dist/onboarding/presentation/components/OnboardingResetSetting.d.ts +12 -0
- package/dist/onboarding/presentation/components/OnboardingScreenContent.d.ts +7 -0
- package/dist/onboarding/presentation/components/OnboardingSlide.d.ts +11 -0
- package/dist/onboarding/presentation/components/QuestionRenderer.d.ts +12 -0
- package/dist/onboarding/presentation/components/QuestionSlide.d.ts +11 -0
- package/dist/onboarding/presentation/components/QuestionSlideHeader.d.ts +6 -0
- package/dist/onboarding/presentation/components/questions/DateQuestion.d.ts +8 -0
- package/dist/onboarding/presentation/components/questions/MultipleChoiceQuestion.d.ts +12 -0
- package/dist/onboarding/presentation/components/questions/QuestionOptionItem.d.ts +14 -0
- package/dist/onboarding/presentation/components/questions/RatingQuestion.d.ts +8 -0
- package/dist/onboarding/presentation/components/questions/SingleChoiceQuestion.d.ts +8 -0
- package/dist/onboarding/presentation/components/questions/TextInputQuestion.d.ts +8 -0
- package/dist/onboarding/presentation/hooks/useOnboardingContainerStyle.d.ts +12 -0
- package/dist/onboarding/presentation/hooks/useOnboardingGestures.d.ts +12 -0
- package/dist/onboarding/presentation/hooks/useOnboardingScreenHandlers.d.ts +23 -0
- package/dist/onboarding/presentation/hooks/useOnboardingScreenState.d.ts +30 -0
- package/dist/onboarding/presentation/providers/OnboardingProvider.d.ts +26 -0
- package/dist/onboarding/presentation/screens/OnboardingScreen.d.ts +69 -0
- package/dist/onboarding/presentation/types/OnboardingProps.d.ts +51 -0
- package/dist/onboarding/presentation/types/OnboardingTheme.d.ts +25 -0
- package/dist/organisms/FormContainer.d.ts +81 -0
- package/dist/organisms/index.d.ts +18 -0
- package/dist/presentation/utils/variants/core.d.ts +13 -0
- package/dist/presentation/utils/variants/helpers.d.ts +4 -0
- package/dist/presentation/utils/variants/index.d.ts +5 -0
- package/dist/responsive/compute/computeDeviceInfo.d.ts +15 -0
- package/dist/responsive/compute/computeResponsivePositioning.d.ts +27 -0
- package/dist/responsive/compute/computeResponsiveSizes.d.ts +26 -0
- package/dist/responsive/config.d.ts +130 -0
- package/dist/responsive/gridUtils.d.ts +35 -0
- package/dist/responsive/index.d.ts +12 -0
- package/dist/responsive/padding/paddingUtils.d.ts +11 -0
- package/dist/responsive/platformConstants.d.ts +74 -0
- package/dist/responsive/positioning/positioningUtils.d.ts +13 -0
- package/dist/responsive/responsive.d.ts +9 -0
- package/dist/responsive/responsiveLayout.d.ts +9 -0
- package/dist/responsive/responsiveModal.d.ts +49 -0
- package/dist/responsive/responsiveSizing.d.ts +49 -0
- package/dist/responsive/screen/screenLayoutConfig.d.ts +15 -0
- package/dist/responsive/tabbar/tabBarConfig.d.ts +17 -0
- package/dist/responsive/types/responsiveTypes.d.ts +54 -0
- package/dist/responsive/useResponsive.d.ts +7 -0
- package/dist/responsive/useScreenDimensions.d.ts +25 -0
- package/dist/responsive/validation.d.ts +68 -0
- package/dist/safe-area/constants/index.d.ts +22 -0
- package/dist/safe-area/hooks/useSafeAreaInsets.d.ts +6 -0
- package/dist/safe-area/index.d.ts +10 -0
- package/dist/storage/__tests__/mocks/asyncStorage.mock.d.ts +19 -0
- package/dist/storage/__tests__/setup.d.ts +16 -0
- package/dist/storage/application/ports/IStorageRepository.d.ts +49 -0
- package/dist/storage/cache/__tests__/setup.d.ts +3 -0
- package/dist/storage/cache/domain/Cache.d.ts +22 -0
- package/dist/storage/cache/domain/CacheManager.d.ts +17 -0
- package/dist/storage/cache/domain/CacheStatsTracker.d.ts +14 -0
- package/dist/storage/cache/domain/ErrorHandler.d.ts +11 -0
- package/dist/storage/cache/domain/PatternMatcher.d.ts +8 -0
- package/dist/storage/cache/domain/strategies/EvictionStrategy.d.ts +7 -0
- package/dist/storage/cache/domain/strategies/FIFOStrategy.d.ts +8 -0
- package/dist/storage/cache/domain/strategies/LFUStrategy.d.ts +8 -0
- package/dist/storage/cache/domain/strategies/LRUStrategy.d.ts +8 -0
- package/dist/storage/cache/domain/strategies/TTLStrategy.d.ts +8 -0
- package/dist/storage/cache/domain/types/Cache.d.ts +24 -0
- package/dist/storage/cache/infrastructure/TTLCache.d.ts +22 -0
- package/dist/storage/cache/presentation/useCache.d.ts +13 -0
- package/dist/storage/cache/presentation/useCachedValue.d.ts +14 -0
- package/dist/storage/domain/constants/CacheDefaults.d.ts +56 -0
- package/dist/storage/domain/entities/CachedValue.d.ts +51 -0
- package/dist/storage/domain/entities/StorageResult.d.ts +50 -0
- package/dist/storage/domain/errors/StorageError.d.ts +48 -0
- package/dist/storage/domain/factories/StoreFactory.d.ts +10 -0
- package/dist/storage/domain/types/Store.d.ts +43 -0
- package/dist/storage/domain/utils/CacheKeyGenerator.d.ts +40 -0
- package/dist/storage/domain/utils/ValidationUtils.d.ts +19 -0
- package/dist/storage/domain/utils/devUtils.d.ts +7 -0
- package/dist/storage/domain/value-objects/StorageKey.d.ts +49 -0
- package/dist/storage/index.d.ts +55 -0
- package/dist/storage/infrastructure/adapters/StorageService.d.ts +12 -0
- package/dist/storage/infrastructure/repositories/AsyncStorageRepository.d.ts +59 -0
- package/dist/storage/infrastructure/repositories/BaseStorageOperations.d.ts +31 -0
- package/dist/storage/infrastructure/repositories/BatchStorageOperations.d.ts +19 -0
- package/dist/storage/infrastructure/repositories/StringStorageOperations.d.ts +19 -0
- package/dist/storage/presentation/hooks/CacheStorageOperations.d.ts +37 -0
- package/dist/storage/presentation/hooks/useCacheState.d.ts +20 -0
- package/dist/storage/presentation/hooks/usePersistentCache.d.ts +73 -0
- package/dist/storage/presentation/hooks/useStorage.d.ts +22 -0
- package/dist/storage/presentation/hooks/useStorageState.d.ts +18 -0
- package/dist/storage/presentation/hooks/useStore.d.ts +6 -0
- package/dist/tanstack/domain/config/QueryClientAccessor.d.ts +41 -0
- package/dist/tanstack/domain/constants/CacheDefaults.d.ts +58 -0
- package/dist/tanstack/domain/repositories/BaseRepository.d.ts +126 -0
- package/dist/tanstack/domain/repositories/IBaseRepository.d.ts +25 -0
- package/dist/tanstack/domain/repositories/RepositoryFactory.d.ts +73 -0
- package/dist/tanstack/domain/repositories/RepositoryTypes.d.ts +32 -0
- package/dist/tanstack/domain/repositories/helpers/repositoryHelpers.d.ts +30 -0
- package/dist/tanstack/domain/repositories/mixins/repositoryInvalidationMethods.d.ts +47 -0
- package/dist/tanstack/domain/repositories/mixins/repositoryQueryMethods.d.ts +36 -0
- package/dist/tanstack/domain/types/CacheStrategy.d.ts +95 -0
- package/dist/tanstack/domain/utils/ErrorHelpers.d.ts +52 -0
- package/dist/tanstack/domain/utils/MetricsCalculator.d.ts +40 -0
- package/dist/tanstack/domain/utils/QueryKeyFactory.d.ts +99 -0
- package/dist/tanstack/domain/utils/TypeUtilities.d.ts +129 -0
- package/dist/tanstack/index.d.ts +26 -0
- package/dist/tanstack/infrastructure/config/PersisterConfig.d.ts +68 -0
- package/dist/tanstack/infrastructure/config/QueryClientConfig.d.ts +63 -0
- package/dist/tanstack/infrastructure/config/QueryClientSingleton.d.ts +5 -0
- package/dist/tanstack/infrastructure/monitoring/DevMonitor.d.ts +69 -0
- package/dist/tanstack/infrastructure/monitoring/DevMonitor.types.d.ts +35 -0
- package/dist/tanstack/infrastructure/monitoring/DevMonitorLogger.d.ts +13 -0
- package/dist/tanstack/infrastructure/providers/TanstackProvider.d.ts +56 -0
- package/dist/tanstack/presentation/hooks/types/prefetchTypes.d.ts +28 -0
- package/dist/tanstack/presentation/hooks/useInvalidateQueries.d.ts +63 -0
- package/dist/tanstack/presentation/hooks/useOptimisticUpdate.d.ts +24 -0
- package/dist/tanstack/presentation/hooks/usePaginatedQuery.d.ts +523 -0
- package/dist/tanstack/presentation/hooks/usePrefetch.d.ts +18 -0
- package/dist/tanstack/presentation/utils/RetryHelpers.d.ts +45 -0
- package/dist/theme/core/BaseTokens.d.ts +17 -0
- package/dist/theme/core/ColorPalette.d.ts +17 -0
- package/dist/theme/core/CustomColors.d.ts +81 -0
- package/dist/theme/core/NavigationTheme.d.ts +38 -0
- package/dist/theme/core/TokenFactory.d.ts +15 -0
- package/dist/theme/core/colors/ColorUtils.d.ts +18 -0
- package/dist/theme/core/colors/DarkColors.d.ts +103 -0
- package/dist/theme/core/colors/LightColors.d.ts +103 -0
- package/dist/theme/core/constants/DesignConstants.d.ts +17 -0
- package/dist/theme/core/themes.d.ts +47 -0
- package/dist/theme/core/tokens/BaseTokens.d.ts +123 -0
- package/dist/theme/core/tokens/Borders.d.ts +7 -0
- package/dist/theme/core/tokens/Sizes.d.ts +10 -0
- package/dist/theme/core/tokens/Spacing.d.ts +7 -0
- package/dist/theme/core/tokens/Typography.d.ts +7 -0
- package/dist/theme/hooks/commonStyles/formStyles.d.ts +9 -0
- package/dist/theme/hooks/commonStyles/layoutStyles.d.ts +12 -0
- package/dist/theme/hooks/commonStyles/paddingStyles.d.ts +10 -0
- package/dist/theme/hooks/commonStyles/screenContainerStyles.d.ts +10 -0
- package/dist/theme/hooks/commonStyles/scrollContainerStyles.d.ts +11 -0
- package/dist/theme/hooks/commonStyles/sectionStyles.d.ts +9 -0
- package/dist/theme/hooks/commonStyles/textStyles.d.ts +12 -0
- package/dist/theme/hooks/useAppDesignTokens.d.ts +7 -0
- package/dist/theme/hooks/useCommonStyles.d.ts +46 -0
- package/dist/theme/hooks/useThemedStyles.d.ts +34 -0
- package/dist/theme/index.d.ts +23 -0
- package/dist/theme/infrastructure/globalThemeStore.d.ts +48 -0
- package/dist/theme/infrastructure/providers/DesignSystemProvider.d.ts +22 -0
- package/dist/theme/infrastructure/storage/ThemeStorage.d.ts +14 -0
- package/dist/theme/infrastructure/stores/themeStore.d.ts +32 -0
- package/dist/theme/types/ThemeTypes.d.ts +88 -0
- package/dist/timezone/domain/entities/Timezone.d.ts +9 -0
- package/dist/timezone/domain/entities/TimezoneCapabilities.d.ts +116 -0
- package/dist/timezone/domain/entities/TimezoneTypes.d.ts +36 -0
- package/dist/timezone/index.d.ts +12 -0
- package/dist/timezone/infrastructure/services/BusinessCalendarManager.d.ts +30 -0
- package/dist/timezone/infrastructure/services/CalendarManager.d.ts +29 -0
- package/dist/timezone/infrastructure/services/DateComparisonUtils.d.ts +25 -0
- package/dist/timezone/infrastructure/services/DateFormatter.d.ts +12 -0
- package/dist/timezone/infrastructure/services/DateRangeUtils.d.ts +21 -0
- package/dist/timezone/infrastructure/services/TimezoneProvider.d.ts +33 -0
- package/dist/timezone/infrastructure/services/TimezoneService.d.ts +61 -0
- package/dist/timezone/infrastructure/utils/SimpleCache.d.ts +25 -0
- package/dist/timezone/infrastructure/utils/TimezoneParsers.d.ts +18 -0
- package/dist/timezone/presentation/hooks/useTimezone.d.ts +45 -0
- package/dist/typography/domain/entities/TypographyTypes.d.ts +41 -0
- package/dist/typography/index.d.ts +19 -0
- package/dist/typography/presentation/utils/colorValidationUtils.d.ts +60 -0
- package/dist/typography/presentation/utils/textColorUtils.d.ts +9 -0
- package/dist/typography/presentation/utils/textStyleUtils.d.ts +67 -0
- package/dist/utilities/clipboard/ClipboardUtils.d.ts +37 -0
- package/dist/utilities/clipboard/index.d.ts +4 -0
- package/dist/utilities/index.d.ts +5 -0
- package/dist/utilities/sharing/domain/entities/Share.d.ts +77 -0
- package/dist/utilities/sharing/domain/entities/SharingUtils.d.ts +19 -0
- package/dist/utilities/sharing/index.d.ts +9 -0
- package/dist/utilities/sharing/infrastructure/services/SharingService.d.ts +66 -0
- package/dist/utilities/sharing/presentation/hooks/useSharing.d.ts +21 -0
- package/dist/utils/async/index.d.ts +5 -0
- package/dist/utils/async/retryWithBackoff.d.ts +74 -0
- package/dist/utils/errors/DesignSystemError.d.ts +99 -0
- package/dist/utils/errors/ErrorHandler.d.ts +54 -0
- package/dist/utils/errors/index.d.ts +8 -0
- package/dist/utils/errors/types/Result.d.ts +39 -0
- package/dist/utils/formatters/stringFormatter.d.ts +78 -0
- package/dist/utils/hooks/index.d.ts +5 -0
- package/dist/utils/hooks/types/AsyncOperationTypes.d.ts +52 -0
- package/dist/utils/hooks/useAsyncOperation.d.ts +36 -0
- package/dist/utils/logger.d.ts +70 -0
- package/dist/uuid/index.d.ts +8 -0
- package/dist/uuid/infrastructure/utils/UUIDUtils.d.ts +20 -0
- package/dist/uuid/types/UUID.d.ts +34 -0
- package/package.json +1 -1
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Question Entity
|
|
3
|
+
*
|
|
4
|
+
* Domain entity representing a personalization question in the onboarding flow
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Possible answer value types for onboarding questions
|
|
8
|
+
*/
|
|
9
|
+
export type OnboardingAnswerValue = string | string[] | number | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Question types for different input methods
|
|
12
|
+
*/
|
|
13
|
+
export type QuestionType = "single_choice" | "multiple_choice" | "text_input" | "rating" | "date" | "image_picker";
|
|
14
|
+
/**
|
|
15
|
+
* Option for single/multiple choice questions
|
|
16
|
+
*/
|
|
17
|
+
export interface QuestionOption {
|
|
18
|
+
/**
|
|
19
|
+
* Unique identifier for the option
|
|
20
|
+
*/
|
|
21
|
+
id: string;
|
|
22
|
+
/**
|
|
23
|
+
* Display label for the option
|
|
24
|
+
*/
|
|
25
|
+
label: string;
|
|
26
|
+
/**
|
|
27
|
+
* Optional icon (emoji or Ionicons name)
|
|
28
|
+
*/
|
|
29
|
+
icon?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Optional image URL
|
|
32
|
+
*/
|
|
33
|
+
image?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Optional value (if different from label)
|
|
36
|
+
*/
|
|
37
|
+
value?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Type of icon: 'emoji' or 'icon' (default: 'icon')
|
|
40
|
+
*/
|
|
41
|
+
iconType?: 'emoji' | 'icon';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Validation rules for questions
|
|
45
|
+
*/
|
|
46
|
+
export interface QuestionValidation {
|
|
47
|
+
/**
|
|
48
|
+
* Is this question required?
|
|
49
|
+
*/
|
|
50
|
+
required?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Minimum value (for rating)
|
|
53
|
+
*/
|
|
54
|
+
min?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Maximum value (for rating)
|
|
57
|
+
*/
|
|
58
|
+
max?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Minimum length (for text input)
|
|
61
|
+
*/
|
|
62
|
+
minLength?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Maximum length (for text input)
|
|
65
|
+
*/
|
|
66
|
+
maxLength?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Minimum selections (for multiple choice)
|
|
69
|
+
*/
|
|
70
|
+
minSelections?: number;
|
|
71
|
+
/**
|
|
72
|
+
* Maximum selections (for multiple choice)
|
|
73
|
+
*/
|
|
74
|
+
maxSelections?: number;
|
|
75
|
+
/**
|
|
76
|
+
* Custom validation function
|
|
77
|
+
*/
|
|
78
|
+
customValidator?: (value: OnboardingAnswerValue) => boolean | string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Onboarding Question
|
|
82
|
+
* Represents a personalization question in the onboarding flow
|
|
83
|
+
*/
|
|
84
|
+
export interface OnboardingQuestion {
|
|
85
|
+
/**
|
|
86
|
+
* Unique identifier for the question
|
|
87
|
+
*/
|
|
88
|
+
id: string;
|
|
89
|
+
/**
|
|
90
|
+
* Question type
|
|
91
|
+
*/
|
|
92
|
+
type: QuestionType;
|
|
93
|
+
/**
|
|
94
|
+
* Question text
|
|
95
|
+
*/
|
|
96
|
+
question: string;
|
|
97
|
+
/**
|
|
98
|
+
* Optional subtitle/description
|
|
99
|
+
*/
|
|
100
|
+
subtitle?: string;
|
|
101
|
+
/**
|
|
102
|
+
* Optional placeholder text (for text input)
|
|
103
|
+
*/
|
|
104
|
+
placeholder?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Options for single/multiple choice questions
|
|
107
|
+
*/
|
|
108
|
+
options?: QuestionOption[];
|
|
109
|
+
/**
|
|
110
|
+
* Validation rules
|
|
111
|
+
*/
|
|
112
|
+
validation?: QuestionValidation;
|
|
113
|
+
/**
|
|
114
|
+
* Default value
|
|
115
|
+
*/
|
|
116
|
+
defaultValue?: OnboardingAnswerValue;
|
|
117
|
+
/**
|
|
118
|
+
* Storage key for saving the answer
|
|
119
|
+
*/
|
|
120
|
+
storageKey: string;
|
|
121
|
+
/**
|
|
122
|
+
* Optional icon for the question
|
|
123
|
+
*/
|
|
124
|
+
icon?: string;
|
|
125
|
+
/**
|
|
126
|
+
* Type of icon: 'emoji' or 'icon' (default: 'icon')
|
|
127
|
+
*/
|
|
128
|
+
iconType?: 'emoji' | 'icon';
|
|
129
|
+
/**
|
|
130
|
+
* Skip this question if condition is met
|
|
131
|
+
* @param answers - Previous answers
|
|
132
|
+
* @returns true to skip, false to show
|
|
133
|
+
*/
|
|
134
|
+
skipIf?: (answers: Record<string, OnboardingAnswerValue>) => boolean;
|
|
135
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Slide Entity
|
|
3
|
+
*
|
|
4
|
+
* Domain entity representing a single onboarding slide
|
|
5
|
+
*/
|
|
6
|
+
type VideoSource = string | {
|
|
7
|
+
uri: string;
|
|
8
|
+
headers?: Record<string, string>;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
};
|
|
11
|
+
import type { ImageSourceType } from "../types/ImageSourceType";
|
|
12
|
+
import type { OnboardingQuestion, OnboardingAnswerValue } from "./OnboardingQuestion";
|
|
13
|
+
/**
|
|
14
|
+
* Slide type - determines the content and behavior
|
|
15
|
+
*/
|
|
16
|
+
export type SlideType = "info" | "question" | "welcome" | "completion";
|
|
17
|
+
/**
|
|
18
|
+
* Content position - determines where the text content is positioned
|
|
19
|
+
*/
|
|
20
|
+
export type ContentPosition = "center" | "bottom";
|
|
21
|
+
/**
|
|
22
|
+
* Onboarding Slide
|
|
23
|
+
* Each slide represents one step in the onboarding flow
|
|
24
|
+
*/
|
|
25
|
+
export interface OnboardingSlide {
|
|
26
|
+
id: string;
|
|
27
|
+
type?: SlideType;
|
|
28
|
+
title: string;
|
|
29
|
+
description: string;
|
|
30
|
+
icon?: string;
|
|
31
|
+
iconType?: 'emoji' | 'icon';
|
|
32
|
+
hideIcon?: boolean;
|
|
33
|
+
contentPosition?: ContentPosition;
|
|
34
|
+
backgroundColor?: string;
|
|
35
|
+
useCustomBackground?: boolean;
|
|
36
|
+
image?: ImageSourceType;
|
|
37
|
+
backgroundImage?: ImageSourceType;
|
|
38
|
+
backgroundImages?: ImageSourceType[];
|
|
39
|
+
backgroundImagesLayout?: 'grid' | 'dense' | 'masonry' | 'collage' | 'scattered' | 'tiles' | 'honeycomb';
|
|
40
|
+
backgroundImagesColumns?: number;
|
|
41
|
+
backgroundImagesGap?: number;
|
|
42
|
+
backgroundImagesBorderRadius?: number;
|
|
43
|
+
backgroundVideo?: VideoSource;
|
|
44
|
+
overlayOpacity?: number;
|
|
45
|
+
features?: string[];
|
|
46
|
+
question?: OnboardingQuestion;
|
|
47
|
+
skipIf?: (answers: Record<string, OnboardingAnswerValue>) => boolean;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding User Data Entity
|
|
3
|
+
*
|
|
4
|
+
* Domain entity representing collected user data from onboarding
|
|
5
|
+
*/
|
|
6
|
+
import type { OnboardingAnswerValue } from "./OnboardingQuestion";
|
|
7
|
+
/**
|
|
8
|
+
* User data collected during onboarding
|
|
9
|
+
*/
|
|
10
|
+
export interface OnboardingUserData {
|
|
11
|
+
/**
|
|
12
|
+
* User's answers to questions
|
|
13
|
+
* Key: question ID, Value: answer
|
|
14
|
+
*/
|
|
15
|
+
answers: Record<string, OnboardingAnswerValue>;
|
|
16
|
+
/**
|
|
17
|
+
* Timestamp when onboarding was completed
|
|
18
|
+
*/
|
|
19
|
+
completedAt?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Was onboarding skipped?
|
|
22
|
+
*/
|
|
23
|
+
skipped?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* User preferences derived from answers
|
|
26
|
+
*/
|
|
27
|
+
preferences?: Record<string, unknown>;
|
|
28
|
+
/**
|
|
29
|
+
* User profile data
|
|
30
|
+
*/
|
|
31
|
+
profile?: {
|
|
32
|
+
name?: string;
|
|
33
|
+
email?: string;
|
|
34
|
+
age?: number;
|
|
35
|
+
gender?: string;
|
|
36
|
+
[key: string]: string | number | undefined;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image Source Type
|
|
3
|
+
* Domain type for image sources used in onboarding slides.
|
|
4
|
+
* Compatible with expo-image ImageSource (optional peer dep).
|
|
5
|
+
*/
|
|
6
|
+
export type ImageSourceType = number | string | {
|
|
7
|
+
uri: string;
|
|
8
|
+
headers?: Record<string, string>;
|
|
9
|
+
cacheKey?: string;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Flow Hook
|
|
3
|
+
* Manages onboarding completion state with persistence
|
|
4
|
+
*/
|
|
5
|
+
export interface UseOnboardingFlowResult {
|
|
6
|
+
isOnboardingComplete: boolean;
|
|
7
|
+
completeOnboarding: () => Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare const useOnboardingFlow: () => UseOnboardingFlowResult;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React Native Onboarding - Public API
|
|
3
|
+
*
|
|
4
|
+
* Generic onboarding flow for React Native apps with custom backgrounds,
|
|
5
|
+
* animations, and customizable slides. Follows SOLID, DRY, KISS principles.
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* - Domain: Entities and interfaces (business logic)
|
|
9
|
+
* - Infrastructure: Storage and hooks (state management)
|
|
10
|
+
* - Presentation: Components and screens (UI)
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* import { OnboardingScreen, OnboardingSlide } from '@umituz/react-native-onboarding';
|
|
14
|
+
*
|
|
15
|
+
* <OnboardingScreen
|
|
16
|
+
* slides={[
|
|
17
|
+
* {
|
|
18
|
+
* id: '1',
|
|
19
|
+
* title: 'Welcome',
|
|
20
|
+
* description: 'Welcome to the app',
|
|
21
|
+
* icon: '🎉',
|
|
22
|
+
* backgroundColor: '#3B82F6',
|
|
23
|
+
* },
|
|
24
|
+
* ]}
|
|
25
|
+
* />
|
|
26
|
+
*/
|
|
27
|
+
export type { OnboardingSlide, SlideType } from "./domain/entities/OnboardingSlide";
|
|
28
|
+
export type { OnboardingOptions } from "./domain/entities/OnboardingOptions";
|
|
29
|
+
export type { OnboardingQuestion, QuestionType, QuestionOption, QuestionValidation, } from "./domain/entities/OnboardingQuestion";
|
|
30
|
+
export type { OnboardingUserData } from "./domain/entities/OnboardingUserData";
|
|
31
|
+
export { useOnboardingStore, useOnboarding, } from "./infrastructure/storage/OnboardingStore";
|
|
32
|
+
export type { OnboardingStoreState } from "./infrastructure/storage/OnboardingStoreState";
|
|
33
|
+
export type { OnboardingStoreActions } from "./infrastructure/storage/OnboardingStoreActions";
|
|
34
|
+
export type { OnboardingStoreSelectors } from "./infrastructure/storage/OnboardingStoreSelectors";
|
|
35
|
+
export { useOnboardingNavigation, type UseOnboardingNavigationReturn, } from "./infrastructure/hooks/useOnboardingNavigation";
|
|
36
|
+
export { useOnboardingContainerStyle, type UseOnboardingContainerStyleProps, type UseOnboardingContainerStyleReturn, } from "./presentation/hooks/useOnboardingContainerStyle";
|
|
37
|
+
export { OnboardingScreen, type OnboardingScreenProps } from "./presentation/screens/OnboardingScreen";
|
|
38
|
+
export { OnboardingHeader, type OnboardingHeaderProps } from "./presentation/components/OnboardingHeader";
|
|
39
|
+
export { OnboardingFooter, type OnboardingFooterProps } from "./presentation/components/OnboardingFooter";
|
|
40
|
+
export { OnboardingProvider, type OnboardingProviderProps, type OnboardingTranslations, useOnboardingProvider } from "./presentation/providers/OnboardingProvider";
|
|
41
|
+
export { BackgroundImageCollage, type CollageLayout, type BackgroundImageCollageProps } from "./presentation/components/BackgroundImageCollage";
|
|
42
|
+
export type { OnboardingTheme, OnboardingColors } from "./presentation/types/OnboardingTheme";
|
|
43
|
+
export { ensureArray, safeIncludes, safeFilter } from "./infrastructure/utils/arrayUtils";
|
|
44
|
+
export type { ImageLayoutItem, LayoutConfig } from "./infrastructure/utils/layouts";
|
|
45
|
+
import { OnboardingSlide as OnboardingSlideComponent } from "./presentation/components/OnboardingSlide";
|
|
46
|
+
export { OnboardingSlideComponent };
|
|
47
|
+
export type { OnboardingSlideProps } from "./presentation/components/OnboardingSlide";
|
|
48
|
+
export { QuestionSlide } from "./presentation/components/QuestionSlide";
|
|
49
|
+
export type { QuestionSlideProps } from "./presentation/components/QuestionSlide";
|
|
50
|
+
export { SingleChoiceQuestion } from "./presentation/components/questions/SingleChoiceQuestion";
|
|
51
|
+
export type { SingleChoiceQuestionProps } from "./presentation/components/questions/SingleChoiceQuestion";
|
|
52
|
+
export { MultipleChoiceQuestion } from "./presentation/components/questions/MultipleChoiceQuestion";
|
|
53
|
+
export type { MultipleChoiceQuestionProps } from "./presentation/components/questions/MultipleChoiceQuestion";
|
|
54
|
+
export { TextInputQuestion } from "./presentation/components/questions/TextInputQuestion";
|
|
55
|
+
export type { TextInputQuestionProps } from "./presentation/components/questions/TextInputQuestion";
|
|
56
|
+
export { RatingQuestion } from "./presentation/components/questions/RatingQuestion";
|
|
57
|
+
export type { RatingQuestionProps } from "./presentation/components/questions/RatingQuestion";
|
|
58
|
+
export { OnboardingResetSetting } from "./presentation/components/OnboardingResetSetting";
|
|
59
|
+
export type { OnboardingResetSettingProps } from "./presentation/components/OnboardingResetSetting";
|
|
60
|
+
export { useOnboardingFlow, type UseOnboardingFlowResult } from './hooks/useOnboardingFlow';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useOnboardingAnswers Hook
|
|
3
|
+
*
|
|
4
|
+
* Manages answer state and operations for onboarding questions
|
|
5
|
+
* Follows Single Responsibility Principle
|
|
6
|
+
*/
|
|
7
|
+
import type { OnboardingSlide } from "../../domain/entities/OnboardingSlide";
|
|
8
|
+
import type { OnboardingAnswerValue } from "../../domain/entities/OnboardingQuestion";
|
|
9
|
+
export interface UseOnboardingAnswersReturn {
|
|
10
|
+
currentAnswer: OnboardingAnswerValue;
|
|
11
|
+
setCurrentAnswer: (answer: OnboardingAnswerValue) => void;
|
|
12
|
+
loadAnswerForSlide: (slide: OnboardingSlide | undefined) => void;
|
|
13
|
+
saveCurrentAnswer: (slide: OnboardingSlide | undefined) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hook for managing onboarding question answers
|
|
17
|
+
* @param currentSlide - The current slide being displayed
|
|
18
|
+
* @returns Answer state and operations
|
|
19
|
+
*/
|
|
20
|
+
export declare function useOnboardingAnswers(currentSlide: OnboardingSlide | undefined): UseOnboardingAnswersReturn;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useOnboardingNavigation Hook
|
|
3
|
+
*
|
|
4
|
+
* Manages navigation state and callbacks for onboarding flow
|
|
5
|
+
*/
|
|
6
|
+
export interface UseOnboardingNavigationReturn {
|
|
7
|
+
currentIndex: number;
|
|
8
|
+
goToNext: () => void;
|
|
9
|
+
goToPrevious: () => void;
|
|
10
|
+
complete: () => Promise<void>;
|
|
11
|
+
skip: () => Promise<void>;
|
|
12
|
+
isLastSlide: boolean;
|
|
13
|
+
isFirstSlide: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hook for managing onboarding navigation
|
|
17
|
+
*
|
|
18
|
+
* @param totalSlides - Total number of slides
|
|
19
|
+
* @param onComplete - Callback when onboarding completes
|
|
20
|
+
* @param onSkip - Callback when onboarding is skipped
|
|
21
|
+
* @returns Navigation state and handlers
|
|
22
|
+
*/
|
|
23
|
+
export declare const useOnboardingNavigation: (totalSlides: number, onComplete?: () => void | Promise<void>, onSkip?: () => void | Promise<void>) => UseOnboardingNavigationReturn;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Slide Service
|
|
3
|
+
*
|
|
4
|
+
* Business logic for filtering and processing onboarding slides
|
|
5
|
+
* Follows Single Responsibility Principle
|
|
6
|
+
*/
|
|
7
|
+
import type { OnboardingSlide } from "../../domain/entities/OnboardingSlide";
|
|
8
|
+
import type { OnboardingUserData } from "../../domain/entities/OnboardingUserData";
|
|
9
|
+
/**
|
|
10
|
+
* SlideManager
|
|
11
|
+
*/
|
|
12
|
+
export declare class SlideManager {
|
|
13
|
+
/**
|
|
14
|
+
* Filter slides based on skipIf conditions
|
|
15
|
+
* @param slides - All available slides
|
|
16
|
+
* @param userData - User's onboarding data including answers
|
|
17
|
+
* @returns Filtered slides that should be shown
|
|
18
|
+
*/
|
|
19
|
+
static filterSlides(slides: OnboardingSlide[] | undefined, userData: OnboardingUserData): OnboardingSlide[];
|
|
20
|
+
/**
|
|
21
|
+
* Get slide at specific index
|
|
22
|
+
* @param slides - Filtered slides array
|
|
23
|
+
* @param index - Slide index
|
|
24
|
+
* @returns Slide at index or undefined
|
|
25
|
+
*/
|
|
26
|
+
static getSlideAtIndex(slides: OnboardingSlide[], index: number): OnboardingSlide | undefined;
|
|
27
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Validation Service
|
|
3
|
+
*
|
|
4
|
+
* Business logic for validating onboarding question answers
|
|
5
|
+
* Follows Single Responsibility Principle
|
|
6
|
+
*/
|
|
7
|
+
import type { OnboardingQuestion, OnboardingAnswerValue } from "../../domain/entities/OnboardingQuestion";
|
|
8
|
+
/**
|
|
9
|
+
* ValidationManager
|
|
10
|
+
*/
|
|
11
|
+
export declare class ValidationManager {
|
|
12
|
+
/**
|
|
13
|
+
* Validate answer against question validation rules
|
|
14
|
+
* @param question - The question to validate against
|
|
15
|
+
* @param answer - The answer to validate
|
|
16
|
+
* @returns true if valid, false otherwise
|
|
17
|
+
*/
|
|
18
|
+
static validateAnswer(question: OnboardingQuestion, answer: OnboardingAnswerValue): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Validate multiple choice answer
|
|
21
|
+
*/
|
|
22
|
+
private static validateMultipleChoice;
|
|
23
|
+
/**
|
|
24
|
+
* Validate text input answer
|
|
25
|
+
*/
|
|
26
|
+
private static validateTextInput;
|
|
27
|
+
/**
|
|
28
|
+
* Validate date answer (ISO string from date picker)
|
|
29
|
+
*/
|
|
30
|
+
private static validateDate;
|
|
31
|
+
/**
|
|
32
|
+
* Validate numeric answer (rating)
|
|
33
|
+
*/
|
|
34
|
+
private static validateNumeric;
|
|
35
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Store
|
|
3
|
+
*
|
|
4
|
+
* Zustand store for managing onboarding completion state
|
|
5
|
+
* Uses @storage for persistence
|
|
6
|
+
*/
|
|
7
|
+
import type { OnboardingStoreState } from "./OnboardingStoreState";
|
|
8
|
+
import type { OnboardingUserData } from "../../domain/entities/OnboardingUserData";
|
|
9
|
+
interface OnboardingActions {
|
|
10
|
+
setCurrentStep: (step: number) => void;
|
|
11
|
+
setLoading: (loading: boolean) => void;
|
|
12
|
+
setError: (error: string | null) => void;
|
|
13
|
+
setState: (state: Partial<OnboardingStoreState>) => void;
|
|
14
|
+
getState: () => OnboardingStoreState;
|
|
15
|
+
initialize: (storageKey?: string) => Promise<void>;
|
|
16
|
+
complete: (storageKey?: string) => Promise<void>;
|
|
17
|
+
skip: (storageKey?: string) => Promise<void>;
|
|
18
|
+
reset: (storageKey?: string) => Promise<void>;
|
|
19
|
+
saveAnswer: (questionId: string, answer: unknown) => Promise<void>;
|
|
20
|
+
setUserData: (data: OnboardingUserData) => Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export declare const useOnboardingStore: import("zustand").UseBoundStore<import("zustand").StoreApi<OnboardingStoreState & OnboardingActions>>;
|
|
23
|
+
/**
|
|
24
|
+
* Hook for accessing onboarding state
|
|
25
|
+
* Memoized to prevent unnecessary re-renders in consumer components
|
|
26
|
+
*/
|
|
27
|
+
export declare const useOnboarding: () => {
|
|
28
|
+
isOnboardingComplete: boolean;
|
|
29
|
+
currentStep: number;
|
|
30
|
+
loading: boolean;
|
|
31
|
+
error: string | null;
|
|
32
|
+
userData: OnboardingUserData;
|
|
33
|
+
initialize: (storageKey?: string) => Promise<void>;
|
|
34
|
+
complete: (storageKey?: string) => Promise<void>;
|
|
35
|
+
skip: (storageKey?: string) => Promise<void>;
|
|
36
|
+
setCurrentStep: (step: number) => void;
|
|
37
|
+
reset: (storageKey?: string) => Promise<void>;
|
|
38
|
+
setLoading: (loading: boolean) => void;
|
|
39
|
+
setError: (error: string | null) => void;
|
|
40
|
+
saveAnswer: (questionId: string, answer: unknown) => Promise<void>;
|
|
41
|
+
setUserData: (data: OnboardingUserData) => Promise<void>;
|
|
42
|
+
getAnswer: (questionId: string) => import("../../domain/entities/OnboardingQuestion").OnboardingAnswerValue;
|
|
43
|
+
getUserData: () => OnboardingStoreState["userData"];
|
|
44
|
+
};
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Store Actions
|
|
3
|
+
* Single Responsibility: Async store actions interface and factory
|
|
4
|
+
*/
|
|
5
|
+
import type { OnboardingUserData } from "../../domain/entities/OnboardingUserData";
|
|
6
|
+
import type { OnboardingStoreState } from "./OnboardingStoreState";
|
|
7
|
+
export interface OnboardingStoreActions {
|
|
8
|
+
initialize: (storageKey?: string) => Promise<void>;
|
|
9
|
+
complete: (storageKey?: string) => Promise<void>;
|
|
10
|
+
skip: (storageKey?: string) => Promise<void>;
|
|
11
|
+
reset: (storageKey?: string) => Promise<void>;
|
|
12
|
+
saveAnswer: (questionId: string, answer: unknown) => Promise<void>;
|
|
13
|
+
setUserData: (data: OnboardingUserData) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare function createOnboardingStoreActions(set: (state: Partial<OnboardingStoreState>) => void, get: () => OnboardingStoreState): OnboardingStoreActions;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Store Selectors
|
|
3
|
+
* Single Responsibility: Store state selectors
|
|
4
|
+
*/
|
|
5
|
+
import type { OnboardingAnswerValue } from "../../domain/entities/OnboardingQuestion";
|
|
6
|
+
import type { OnboardingStoreState } from "./OnboardingStoreState";
|
|
7
|
+
export interface OnboardingStoreSelectors {
|
|
8
|
+
getAnswer: (questionId: string) => OnboardingAnswerValue;
|
|
9
|
+
getUserData: () => OnboardingStoreState['userData'];
|
|
10
|
+
}
|
|
11
|
+
export declare function createOnboardingStoreSelectors(get: () => OnboardingStoreState): OnboardingStoreSelectors;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Store State
|
|
3
|
+
* Single Responsibility: Store state interface and initial state
|
|
4
|
+
*/
|
|
5
|
+
import type { OnboardingUserData } from "../../domain/entities/OnboardingUserData";
|
|
6
|
+
export interface OnboardingStoreState {
|
|
7
|
+
isOnboardingComplete: boolean;
|
|
8
|
+
currentStep: number;
|
|
9
|
+
loading: boolean;
|
|
10
|
+
error: string | null;
|
|
11
|
+
userData: OnboardingUserData;
|
|
12
|
+
}
|
|
13
|
+
export declare const initialOnboardingState: OnboardingStoreState;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Answer Actions
|
|
3
|
+
* Single Responsibility: Save and update user answers
|
|
4
|
+
*/
|
|
5
|
+
import type { OnboardingUserData } from "../../../domain/entities/OnboardingUserData";
|
|
6
|
+
import type { OnboardingStoreState } from "../OnboardingStoreState";
|
|
7
|
+
export declare function saveAnswerAction(set: (state: Partial<OnboardingStoreState>) => void, get: () => OnboardingStoreState, questionId: string, answer: unknown): Promise<void>;
|
|
8
|
+
export declare function setUserDataAction(set: (state: Partial<OnboardingStoreState>) => void, data: OnboardingUserData): Promise<void>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Complete Action
|
|
3
|
+
* Single Responsibility: Mark onboarding as completed
|
|
4
|
+
*/
|
|
5
|
+
import type { OnboardingStoreState } from "../OnboardingStoreState";
|
|
6
|
+
export declare function completeAction(set: (state: Partial<OnboardingStoreState>) => void, get: () => OnboardingStoreState, storageKey: string): Promise<void>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Actions Index
|
|
3
|
+
* Single Responsibility: Export all action functions
|
|
4
|
+
*/
|
|
5
|
+
export { loadCompletionStatus, loadUserData, saveCompletionStatus, saveUserData, removeStorageKeys, handleError, logSuccess, DEFAULT_STORAGE_KEY, USER_DATA_STORAGE_KEY, } from "./storageHelpers";
|
|
6
|
+
export { initializeAction } from "./initializeAction";
|
|
7
|
+
export { completeAction } from "./completeAction";
|
|
8
|
+
export { skipAction } from "./skipAction";
|
|
9
|
+
export { resetAction } from "./resetAction";
|
|
10
|
+
export { saveAnswerAction, setUserDataAction } from "./answerActions";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Initialize Action
|
|
3
|
+
* Single Responsibility: Load initial onboarding state from storage
|
|
4
|
+
*/
|
|
5
|
+
import type { OnboardingStoreState } from "../OnboardingStoreState";
|
|
6
|
+
export declare function initializeAction(set: (state: Partial<OnboardingStoreState>) => void, storageKey: string): Promise<void>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reset Action
|
|
3
|
+
* Single Responsibility: Reset onboarding state
|
|
4
|
+
*/
|
|
5
|
+
import type { OnboardingStoreState } from "../OnboardingStoreState";
|
|
6
|
+
export declare function resetAction(set: (state: Partial<OnboardingStoreState>) => void, storageKey: string): Promise<void>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skip Action
|
|
3
|
+
* Single Responsibility: Mark onboarding as skipped
|
|
4
|
+
*/
|
|
5
|
+
import type { OnboardingStoreState } from "../OnboardingStoreState";
|
|
6
|
+
export declare function skipAction(set: (state: Partial<OnboardingStoreState>) => void, get: () => OnboardingStoreState, storageKey: string): Promise<void>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Helpers
|
|
3
|
+
* Single Responsibility: Common storage operations and error handling
|
|
4
|
+
*/
|
|
5
|
+
import type { OnboardingUserData } from "../../../domain/entities/OnboardingUserData";
|
|
6
|
+
export declare const DEFAULT_STORAGE_KEY = "@onboarding:completed";
|
|
7
|
+
export declare const USER_DATA_STORAGE_KEY = "@onboarding:user_data";
|
|
8
|
+
export declare function loadCompletionStatus(storageKey: string): Promise<boolean>;
|
|
9
|
+
export declare function loadUserData(defaultData: OnboardingUserData): Promise<OnboardingUserData>;
|
|
10
|
+
export declare function saveCompletionStatus(storageKey: string): Promise<void>;
|
|
11
|
+
export declare function saveUserData(data: OnboardingUserData): Promise<void>;
|
|
12
|
+
export declare function removeStorageKeys(storageKey: string): Promise<void>;
|
|
13
|
+
export declare function handleError(error: unknown, context: string): string;
|
|
14
|
+
export declare function logSuccess(_message: string): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Array Utilities
|
|
3
|
+
* Safe array operations for onboarding components
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Ensures the value is a valid array, returns empty array if not
|
|
7
|
+
*/
|
|
8
|
+
export declare const ensureArray: <T>(value: T[] | undefined | null) => T[];
|
|
9
|
+
/**
|
|
10
|
+
* Safe includes check that handles undefined/null values
|
|
11
|
+
*/
|
|
12
|
+
export declare const safeIncludes: <T>(array: T[] | undefined | null, item: T) => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Safe filter that handles undefined/null values
|
|
15
|
+
*/
|
|
16
|
+
export declare const safeFilter: <T>(array: T[] | undefined | null, predicate: (item: T) => boolean) => T[];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background Utilities
|
|
3
|
+
*
|
|
4
|
+
* Utility functions for background-related operations
|
|
5
|
+
* Follows Single Responsibility Principle
|
|
6
|
+
*/
|
|
7
|
+
import type { OnboardingSlide } from "../../domain/entities/OnboardingSlide";
|
|
8
|
+
/**
|
|
9
|
+
* Check if slide should use custom background or overlay
|
|
10
|
+
* Indicates that we are not using the default theme background.
|
|
11
|
+
*
|
|
12
|
+
* @param slide - The slide to check
|
|
13
|
+
* @param globalUseCustomBackground - Global option from OnboardingOptions
|
|
14
|
+
* @returns true if custom background/media should be used, false otherwise
|
|
15
|
+
*/
|
|
16
|
+
export declare function shouldUseCustomBackground(slide: OnboardingSlide | undefined, globalUseCustomBackground?: boolean): boolean;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collage Layout Generator
|
|
3
|
+
* Random collage with varying sizes
|
|
4
|
+
*/
|
|
5
|
+
import type { ImageLayoutItem, LayoutConfig, ImageSourceType } from "./layoutTypes";
|
|
6
|
+
export declare const generateCollageLayout: (images: ImageSourceType[], config?: LayoutConfig) => ImageLayoutItem[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grid Layout Generators
|
|
3
|
+
* Standard and dense grid layouts with safe area support
|
|
4
|
+
*/
|
|
5
|
+
import type { ImageLayoutItem, LayoutConfig, ImageSourceType } from "./layoutTypes";
|
|
6
|
+
export declare const generateGridLayout: (images: ImageSourceType[], config?: LayoutConfig) => ImageLayoutItem[];
|
|
7
|
+
export declare const generateDenseGridLayout: (images: ImageSourceType[], config?: LayoutConfig) => ImageLayoutItem[];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Honeycomb Layout Generator
|
|
3
|
+
* Hexagonal pattern layout
|
|
4
|
+
*/
|
|
5
|
+
import type { ImageLayoutItem, LayoutConfig, ImageSourceType } from "./layoutTypes";
|
|
6
|
+
export declare const generateHoneycombLayout: (images: ImageSourceType[], config?: LayoutConfig) => ImageLayoutItem[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Generators - Barrel Export
|
|
3
|
+
*/
|
|
4
|
+
export type { ImageLayoutItem, ImageLayoutStyle, LayoutConfig, ImageSourceType } from "./layoutTypes";
|
|
5
|
+
export { generateGridLayout, generateDenseGridLayout } from "./gridLayouts";
|
|
6
|
+
export { generateMasonryLayout } from "./masonryLayout";
|
|
7
|
+
export { generateCollageLayout } from "./collageLayout";
|
|
8
|
+
export { generateScatteredLayout } from "./scatteredLayout";
|
|
9
|
+
export { generateTilesLayout } from "./tilesLayout";
|
|
10
|
+
export { generateHoneycombLayout } from "./honeycombLayout";
|