@umituz/react-native-design-system 4.28.5 → 4.28.7
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/package.json +4 -4
- package/src/atoms/AtomicInput.tsx +2 -2
- package/src/atoms/EmptyState.tsx +7 -4
- package/src/atoms/fab/styles/fabStyles.ts +34 -10
- package/src/atoms/skeleton/AtomicSkeleton.tsx +2 -1
- package/src/carousel/CarouselDots.tsx +2 -1
- package/src/constants/index.ts +221 -0
- package/src/index.ts +1 -1
- package/src/media/infrastructure/utils/mediaPickerMappers.ts +1 -1
- package/src/media/infrastructure/utils/url-media-detector.ts +1 -1
- package/src/molecules/Divider/Divider.tsx +2 -3
- package/src/molecules/Divider/types.ts +22 -5
- package/src/molecules/SearchBar/SearchBar.tsx +14 -10
- package/src/molecules/SearchBar/SearchHistory.tsx +40 -40
- package/src/molecules/SearchBar/SearchSuggestions.tsx +14 -14
- package/src/molecules/StepHeader/StepHeader.tsx +38 -24
- package/src/molecules/StepProgress/StepProgress.tsx +11 -7
- package/src/molecules/action-footer/ActionFooter.tsx +11 -8
- package/src/molecules/alerts/AlertModal.tsx +52 -49
- package/src/molecules/avatar/Avatar.tsx +28 -3
- package/src/molecules/avatar/Avatar.utils.ts +4 -11
- package/src/molecules/avatar/AvatarGroup.tsx +23 -3
- package/src/molecules/avatar/index.ts +0 -1
- package/src/molecules/bottom-sheet/components/BottomSheet.tsx +11 -7
- package/src/molecules/bottom-sheet/components/BottomSheetModal.tsx +11 -7
- package/src/molecules/bottom-sheet/components/filter/FilterSheet.tsx +34 -31
- package/src/molecules/circular-menu/CircularMenuItem.tsx +20 -18
- package/src/molecules/countdown/components/CountdownHeader.tsx +12 -4
- package/src/molecules/countdown/components/TimeUnit.tsx +37 -22
- package/src/molecules/hero-section/HeroSection.tsx +28 -25
- package/src/molecules/icon-grid/IconGrid.tsx +19 -12
- package/src/molecules/info-grid/InfoGrid.tsx +8 -5
- package/src/molecules/listitem/styles/listItemStyles.ts +2 -3
- package/src/molecules/navigation/TabsNavigator.tsx +3 -1
- package/src/molecules/navigation/components/NavigationHeader.tsx +7 -4
- package/src/molecules/navigation/hooks/useAppFocusEffect.ts +14 -11
- package/src/molecules/navigation/hooks/useAppIsFocused.ts +1 -2
- package/src/molecules/navigation/hooks/useAppNavigation.ts +88 -118
- package/src/molecules/navigation/hooks/useAppRoute.ts +26 -27
- package/src/onboarding/domain/entities/ChatMessage.ts +19 -0
- package/src/onboarding/domain/entities/ChatStep.ts +72 -0
- package/src/onboarding/index.ts +29 -0
- package/src/onboarding/infrastructure/hooks/useChatAnimations.ts +145 -0
- package/src/onboarding/presentation/components/chat/ChatMessage.tsx +166 -0
- package/src/onboarding/presentation/components/chat/ChatOptionButton.tsx +145 -0
- package/src/onboarding/presentation/components/chat/TypingIndicator.tsx +99 -0
- package/src/onboarding/presentation/components/chat/index.ts +12 -0
- package/src/onboarding/presentation/components/questions/MultipleChoiceQuestion.tsx +4 -14
- package/src/onboarding/presentation/components/questions/QuestionOptionItem.tsx +8 -36
- package/src/onboarding/presentation/components/questions/RatingQuestion.tsx +2 -1
- package/src/onboarding/presentation/components/questions/SingleChoiceQuestion.tsx +10 -50
- package/src/onboarding/presentation/components/questions/questionStyles.ts +59 -0
- package/src/onboarding/presentation/hooks/useChatOnboarding.ts +278 -0
- package/src/onboarding/presentation/screens/ChatOnboardingScreen.tsx +276 -0
- package/src/utils/arrayUtils.ts +46 -0
- package/src/utils/index.ts +20 -0
- package/src/utils/responsiveUtils.ts +110 -0
- package/dist/atoms/AtomicAvatar.d.ts +0 -44
- package/dist/atoms/AtomicDatePicker.d.ts +0 -42
- package/dist/atoms/AtomicFab.d.ts +0 -36
- package/dist/atoms/AtomicInput.d.ts +0 -4
- package/dist/atoms/AtomicKeyboardAvoidingView.d.ts +0 -17
- package/dist/atoms/AtomicPicker.d.ts +0 -9
- package/dist/atoms/AtomicProgress.d.ts +0 -42
- package/dist/atoms/AtomicSpinner.d.ts +0 -39
- package/dist/atoms/AtomicSwitch.d.ts +0 -18
- package/dist/atoms/AtomicText.d.ts +0 -31
- package/dist/atoms/AtomicTextArea.d.ts +0 -43
- package/dist/atoms/AtomicTouchable.d.ts +0 -29
- package/dist/atoms/EmptyState.d.ts +0 -22
- package/dist/atoms/GlassView/GlassView.d.ts +0 -17
- package/dist/atoms/badge/AtomicBadge.d.ts +0 -28
- package/dist/atoms/button/AtomicButton.d.ts +0 -8
- package/dist/atoms/button/configs/buttonSizeConfig.d.ts +0 -6
- package/dist/atoms/button/styles/buttonStyles.d.ts +0 -33
- package/dist/atoms/button/styles/buttonVariantStyles.d.ts +0 -6
- package/dist/atoms/button/types/index.d.ts +0 -38
- package/dist/atoms/card/AtomicCard.d.ts +0 -9
- package/dist/atoms/card/configs/cardPaddingConfig.d.ts +0 -6
- package/dist/atoms/card/styles/cardStyles.d.ts +0 -58
- package/dist/atoms/card/types.d.ts +0 -53
- package/dist/atoms/chip/AtomicChip.d.ts +0 -8
- package/dist/atoms/chip/configs/chipColorConfig.d.ts +0 -6
- package/dist/atoms/chip/configs/chipSizeConfig.d.ts +0 -6
- package/dist/atoms/chip/styles/chipStyles.d.ts +0 -16
- package/dist/atoms/chip/types/index.d.ts +0 -37
- package/dist/atoms/datepicker/components/DatePickerButton.d.ts +0 -17
- package/dist/atoms/datepicker/components/DatePickerModal.d.ts +0 -33
- package/dist/atoms/datepicker/hooks/useDatePickerText.d.ts +0 -16
- package/dist/atoms/datepicker/styles/datePickerStyles.d.ts +0 -22
- package/dist/atoms/datepicker/types.d.ts +0 -5
- package/dist/atoms/fab/styles/fabStyles.d.ts +0 -46
- package/dist/atoms/fab/types.d.ts +0 -75
- package/dist/atoms/icon/AtomicIcon.d.ts +0 -59
- package/dist/atoms/icon/AtomicIcon.types.d.ts +0 -32
- package/dist/atoms/icon/components/iconRenderer.d.ts +0 -43
- package/dist/atoms/icon/iconStore.d.ts +0 -73
- package/dist/atoms/icon/index.d.ts +0 -26
- package/dist/atoms/icon/utils/iconUtils.d.ts +0 -40
- package/dist/atoms/image/AtomicImage.d.ts +0 -15
- package/dist/atoms/index.d.ts +0 -31
- package/dist/atoms/input/components/InputHelper.d.ts +0 -12
- package/dist/atoms/input/components/InputIcon.d.ts +0 -11
- package/dist/atoms/input/components/InputLabel.d.ts +0 -8
- package/dist/atoms/input/hooks/useInputState.d.ts +0 -18
- package/dist/atoms/input/styles/inputStyles.d.ts +0 -15
- package/dist/atoms/input/styles/inputStylesHelper.d.ts +0 -48
- package/dist/atoms/input/types.d.ts +0 -71
- package/dist/atoms/picker/components/PickerChips.d.ts +0 -15
- package/dist/atoms/picker/components/PickerIcons.d.ts +0 -16
- package/dist/atoms/picker/components/PickerModal.d.ts +0 -24
- package/dist/atoms/picker/hooks/usePickerState.d.ts +0 -24
- package/dist/atoms/picker/styles/pickerModalStyles.d.ts +0 -9
- package/dist/atoms/picker/styles/pickerOptionStyles.d.ts +0 -8
- package/dist/atoms/picker/styles/pickerSearchStyles.d.ts +0 -7
- package/dist/atoms/picker/styles/pickerStateStyles.d.ts +0 -10
- package/dist/atoms/picker/styles/pickerStyles.d.ts +0 -35
- package/dist/atoms/picker/types.d.ts +0 -52
- package/dist/atoms/skeleton/AtomicSkeleton.d.ts +0 -39
- package/dist/atoms/skeleton/AtomicSkeleton.types.d.ts +0 -32
- package/dist/atoms/status-bar/AtomicStatusBar.d.ts +0 -11
- package/dist/carousel/BannerCarousel.d.ts +0 -13
- package/dist/carousel/Carousel.d.ts +0 -6
- package/dist/carousel/CarouselDots.d.ts +0 -3
- package/dist/carousel/CarouselItem.d.ts +0 -12
- package/dist/carousel/CarouselScrollView.d.ts +0 -13
- package/dist/carousel/carouselCalculations.d.ts +0 -3
- package/dist/carousel/index.d.ts +0 -9
- package/dist/carousel/types.d.ts +0 -27
- package/dist/carousel/useCarouselScroll.d.ts +0 -10
- package/dist/core/cache/domain/CleanupStrategy.d.ts +0 -62
- package/dist/core/cache/domain/UnifiedCache.d.ts +0 -82
- package/dist/core/cache/domain/types.d.ts +0 -15
- package/dist/core/cache/index.d.ts +0 -13
- package/dist/core/cache/infrastructure/CacheFactory.d.ts +0 -63
- package/dist/core/index.d.ts +0 -18
- package/dist/core/permissions/domain/PermissionHandler.d.ts +0 -82
- package/dist/core/permissions/domain/types.d.ts +0 -42
- package/dist/core/permissions/index.d.ts +0 -7
- package/dist/core/repositories/domain/RepositoryKeyFactory.d.ts +0 -25
- package/dist/core/repositories/domain/RepositoryUtils.d.ts +0 -39
- package/dist/core/repositories/domain/types.d.ts +0 -53
- package/dist/core/repositories/index.d.ts +0 -10
- package/dist/core/shared/AsyncService.d.ts +0 -20
- package/dist/core/shared/Result.d.ts +0 -20
- package/dist/core/shared/index.d.ts +0 -5
- package/dist/device/detection/deviceDetection.d.ts +0 -34
- package/dist/device/detection/iPadBreakpoints.d.ts +0 -51
- package/dist/device/detection/iPadDetection.d.ts +0 -24
- package/dist/device/detection/iPadLayoutUtils.d.ts +0 -40
- package/dist/device/detection/iPadModalUtils.d.ts +0 -27
- package/dist/device/detection/index.d.ts +0 -13
- package/dist/device/domain/entities/Device.d.ts +0 -79
- package/dist/device/domain/entities/DeviceFeatureConfig.d.ts +0 -21
- package/dist/device/domain/entities/DeviceMemoryUtils.d.ts +0 -30
- package/dist/device/domain/entities/DeviceTypeUtils.d.ts +0 -35
- package/dist/device/domain/entities/DeviceUtils.d.ts +0 -34
- package/dist/device/domain/types/AnonymousUserTypes.d.ts +0 -44
- package/dist/device/index.d.ts +0 -32
- package/dist/device/infrastructure/repositories/SecureDeviceIdRepository.d.ts +0 -18
- package/dist/device/infrastructure/services/ApplicationInfoService.d.ts +0 -21
- package/dist/device/infrastructure/services/DeviceCapabilityService.d.ts +0 -28
- package/dist/device/infrastructure/services/DeviceExtrasCollector.d.ts +0 -59
- package/dist/device/infrastructure/services/DeviceFeatureService.d.ts +0 -22
- package/dist/device/infrastructure/services/DeviceIdService.d.ts +0 -32
- package/dist/device/infrastructure/services/DeviceInfoService.d.ts +0 -11
- package/dist/device/infrastructure/services/DeviceService.d.ts +0 -66
- package/dist/device/infrastructure/services/PersistentDeviceIdService.d.ts +0 -36
- package/dist/device/infrastructure/services/UserFriendlyIdService.d.ts +0 -25
- package/dist/device/infrastructure/utils/nativeModuleUtils.d.ts +0 -27
- package/dist/device/infrastructure/utils/stringUtils.d.ts +0 -31
- package/dist/device/presentation/hooks/useAnonymousUser.d.ts +0 -34
- package/dist/device/presentation/hooks/useDeviceFeatures.d.ts +0 -16
- package/dist/device/presentation/hooks/useDeviceInfo.d.ts +0 -26
- package/dist/exception/ErrorBoundary.d.ts +0 -22
- package/dist/exception/index.d.ts +0 -6
- package/dist/filesystem/domain/constants/FileConstants.d.ts +0 -17
- package/dist/filesystem/domain/entities/File.d.ts +0 -8
- package/dist/filesystem/domain/types/FileTypes.d.ts +0 -38
- package/dist/filesystem/domain/utils/FileUtils.d.ts +0 -41
- package/dist/filesystem/index.d.ts +0 -14
- package/dist/filesystem/infrastructure/services/FileSystemService.d.ts +0 -34
- package/dist/filesystem/infrastructure/services/cache.service.d.ts +0 -12
- package/dist/filesystem/infrastructure/services/directory.service.d.ts +0 -25
- package/dist/filesystem/infrastructure/services/download.constants.d.ts +0 -5
- package/dist/filesystem/infrastructure/services/download.service.d.ts +0 -10
- package/dist/filesystem/infrastructure/services/download.types.d.ts +0 -5
- package/dist/filesystem/infrastructure/services/encoding.service.d.ts +0 -17
- package/dist/filesystem/infrastructure/services/file-info.service.d.ts +0 -17
- package/dist/filesystem/infrastructure/services/file-manager.service.d.ts +0 -17
- package/dist/filesystem/infrastructure/services/file-path.service.d.ts +0 -9
- package/dist/filesystem/infrastructure/services/file-reader.service.d.ts +0 -13
- package/dist/filesystem/infrastructure/services/file-writer.service.d.ts +0 -9
- package/dist/filesystem/infrastructure/utils/blob.utils.d.ts +0 -29
- package/dist/gallery/gallery-download.service.d.ts +0 -12
- package/dist/gallery/gallery-save.service.d.ts +0 -10
- package/dist/gallery/index.d.ts +0 -3
- package/dist/gallery/types.d.ts +0 -10
- package/dist/haptics/domain/entities/Haptic.d.ts +0 -45
- package/dist/haptics/index.d.ts +0 -156
- package/dist/haptics/infrastructure/services/HapticService.d.ts +0 -44
- package/dist/haptics/presentation/hooks/useHaptics.d.ts +0 -56
- package/dist/hooks/index.d.ts +0 -27
- package/dist/image/domain/entities/ImageConstants.d.ts +0 -21
- package/dist/image/domain/entities/ImageFilterTypes.d.ts +0 -69
- package/dist/image/domain/entities/ImageTemplateTypes.d.ts +0 -16
- package/dist/image/domain/entities/ImageTypes.d.ts +0 -73
- package/dist/image/domain/entities/ValidationResult.d.ts +0 -14
- package/dist/image/domain/utils/ImageUtils.d.ts +0 -16
- package/dist/image/index.d.ts +0 -43
- package/dist/image/infrastructure/services/ImageBatchService.d.ts +0 -32
- package/dist/image/infrastructure/services/ImageConversionService.d.ts +0 -12
- package/dist/image/infrastructure/services/ImageEnhanceService.d.ts +0 -27
- package/dist/image/infrastructure/services/ImageMetadataService.d.ts +0 -23
- package/dist/image/infrastructure/services/ImageStorageService.d.ts +0 -8
- package/dist/image/infrastructure/services/ImageTemplateService.d.ts +0 -20
- package/dist/image/infrastructure/services/ImageTransformService.d.ts +0 -15
- package/dist/image/infrastructure/services/ImageViewerService.d.ts +0 -19
- package/dist/image/infrastructure/types/BatchTypes.d.ts +0 -10
- package/dist/image/infrastructure/utils/BatchProcessor.d.ts +0 -15
- package/dist/image/infrastructure/utils/FilterProcessor.d.ts +0 -34
- package/dist/image/infrastructure/utils/ImageErrorHandler.d.ts +0 -22
- package/dist/image/infrastructure/utils/ImageQualityPresets.d.ts +0 -33
- package/dist/image/infrastructure/utils/ImageTransformUtils.d.ts +0 -11
- package/dist/image/infrastructure/utils/ImageValidator.d.ts +0 -14
- package/dist/image/infrastructure/utils/MetadataExtractor.d.ts +0 -30
- package/dist/image/infrastructure/utils/filters/ColorAdjustmentFilters.d.ts +0 -10
- package/dist/image/infrastructure/utils/filters/FilterHelpers.d.ts +0 -8
- package/dist/image/infrastructure/utils/filters/StyleFilters.d.ts +0 -9
- package/dist/image/infrastructure/utils/validation/image-validator.d.ts +0 -13
- package/dist/image/infrastructure/utils/validation/mime-type-validator.d.ts +0 -29
- package/dist/image/infrastructure/utils/validation/mime-types.constants.d.ts +0 -26
- package/dist/image/presentation/components/GalleryHeader.d.ts +0 -14
- package/dist/image/presentation/components/ImageGallery.d.ts +0 -18
- package/dist/image/presentation/components/editor/FilterPickerSheet.d.ts +0 -13
- package/dist/image/presentation/components/editor/StickerPickerSheet.d.ts +0 -13
- package/dist/image/presentation/components/editor/TextEditorSheet.d.ts +0 -26
- package/dist/image/presentation/components/editor/text-editor/TextContentTab.d.ts +0 -10
- package/dist/image/presentation/components/editor/text-editor/TextEditorTabs.styles.d.ts +0 -32
- package/dist/image/presentation/components/editor/text-editor/TextStyleTab.d.ts +0 -14
- package/dist/image/presentation/components/editor/text-editor/TextTransformTab.d.ts +0 -15
- package/dist/image/presentation/components/editor/text-editor/components/TransformButtonRow.d.ts +0 -27
- package/dist/image/presentation/components/editor/text-editor/index.d.ts +0 -10
- package/dist/image/presentation/hooks/useImage.d.ts +0 -49
- package/dist/image/presentation/hooks/useImageBatch.d.ts +0 -14
- package/dist/image/presentation/hooks/useImageConversion.d.ts +0 -9
- package/dist/image/presentation/hooks/useImageEnhance.d.ts +0 -12
- package/dist/image/presentation/hooks/useImageGallery.d.ts +0 -14
- package/dist/image/presentation/hooks/useImageMetadata.d.ts +0 -18
- package/dist/image/presentation/hooks/useImageOperation.d.ts +0 -10
- package/dist/image/presentation/hooks/useImageTransform.d.ts +0 -12
- package/dist/index.d.ts +0 -41
- package/dist/infinite-scroll/domain/interfaces/infinite-scroll-list-props.d.ts +0 -46
- package/dist/infinite-scroll/domain/types/infinite-scroll-config.d.ts +0 -92
- package/dist/infinite-scroll/domain/types/infinite-scroll-return.d.ts +0 -33
- package/dist/infinite-scroll/domain/types/infinite-scroll-state.d.ts +0 -48
- package/dist/infinite-scroll/domain/utils/pagination-utils.d.ts +0 -33
- package/dist/infinite-scroll/domain/utils/type-guards.d.ts +0 -30
- package/dist/infinite-scroll/index.d.ts +0 -27
- package/dist/infinite-scroll/presentation/components/empty.d.ts +0 -10
- package/dist/infinite-scroll/presentation/components/error.d.ts +0 -10
- package/dist/infinite-scroll/presentation/components/infinite-scroll-list.d.ts +0 -9
- package/dist/infinite-scroll/presentation/components/loading-more.d.ts +0 -10
- package/dist/infinite-scroll/presentation/components/loading.d.ts +0 -10
- package/dist/infinite-scroll/presentation/components/types.d.ts +0 -103
- package/dist/infinite-scroll/presentation/hooks/pagination.helper.d.ts +0 -20
- package/dist/infinite-scroll/presentation/hooks/useInfiniteScroll.d.ts +0 -8
- package/dist/init/createAppInitializer.d.ts +0 -27
- package/dist/init/env/createEnvConfig.d.ts +0 -28
- package/dist/init/env/index.d.ts +0 -5
- package/dist/init/env/types.d.ts +0 -79
- package/dist/init/index.d.ts +0 -10
- package/dist/init/types.d.ts +0 -58
- package/dist/init/useAppInitialization.d.ts +0 -19
- package/dist/layouts/AppHeader/AppHeader.d.ts +0 -32
- package/dist/layouts/AppHeader/index.d.ts +0 -4
- package/dist/layouts/Container/Container.d.ts +0 -33
- package/dist/layouts/Container/index.d.ts +0 -1
- package/dist/layouts/FormLayout/FormLayout.d.ts +0 -36
- package/dist/layouts/FormLayout/index.d.ts +0 -1
- package/dist/layouts/Grid/Grid.d.ts +0 -35
- package/dist/layouts/Grid/index.d.ts +0 -1
- package/dist/layouts/ScreenHeader/ScreenHeader.d.ts +0 -34
- package/dist/layouts/ScreenHeader/index.d.ts +0 -4
- package/dist/layouts/ScreenLayout/ScreenLayout.d.ts +0 -7
- package/dist/layouts/ScreenLayout/index.d.ts +0 -4
- package/dist/layouts/ScreenLayout/styles/screenLayoutStyles.d.ts +0 -31
- package/dist/layouts/ScreenLayout/types/index.d.ts +0 -27
- package/dist/layouts/index.d.ts +0 -12
- package/dist/loading/domain/types/loading.types.d.ts +0 -35
- package/dist/loading/index.d.ts +0 -9
- package/dist/loading/infrastructure/store/LoadingStore.d.ts +0 -6
- package/dist/loading/presentation/components/LoadingOverlay.d.ts +0 -7
- package/dist/loading/presentation/hooks/useGlobalLoading.d.ts +0 -13
- package/dist/loading/presentation/providers/LoadingProvider.d.ts +0 -7
- package/dist/media/domain/entities/Media.d.ts +0 -140
- package/dist/media/domain/strategies/CameraPickerStrategy.d.ts +0 -25
- package/dist/media/domain/strategies/LibraryPickerStrategy.d.ts +0 -18
- package/dist/media/domain/strategies/PickerStrategy.d.ts +0 -55
- package/dist/media/domain/strategies/index.d.ts +0 -10
- package/dist/media/domain/utils/FileValidator.d.ts +0 -66
- package/dist/media/domain/utils/MediaUtils.d.ts +0 -28
- package/dist/media/index.d.ts +0 -25
- package/dist/media/infrastructure/services/MediaPickerService.d.ts +0 -62
- package/dist/media/infrastructure/services/MediaSaveService.d.ts +0 -38
- package/dist/media/infrastructure/utils/PermissionManager.d.ts +0 -49
- package/dist/media/infrastructure/utils/file-media-utils.d.ts +0 -42
- package/dist/media/infrastructure/utils/media-collection-utils.d.ts +0 -27
- package/dist/media/infrastructure/utils/media-url-extractor.d.ts +0 -7
- package/dist/media/infrastructure/utils/mediaPickerMappers.d.ts +0 -32
- package/dist/media/infrastructure/utils/mime-type-detector.d.ts +0 -5
- package/dist/media/infrastructure/utils/url-media-detector.d.ts +0 -5
- package/dist/media/presentation/hooks/useMedia.d.ts +0 -24
- package/dist/molecules/BaseModal.d.ts +0 -18
- package/dist/molecules/ConfirmationModalContent.d.ts +0 -22
- package/dist/molecules/ConfirmationModalMain.d.ts +0 -8
- package/dist/molecules/Divider/Divider.d.ts +0 -59
- package/dist/molecules/Divider/index.d.ts +0 -6
- package/dist/molecules/Divider/types.d.ts +0 -64
- package/dist/molecules/FormField.d.ts +0 -21
- package/dist/molecules/IconContainer.d.ts +0 -27
- package/dist/molecules/List/List.d.ts +0 -38
- package/dist/molecules/List/index.d.ts +0 -1
- package/dist/molecules/ListItem.d.ts +0 -4
- package/dist/molecules/SearchBar/SearchBar.d.ts +0 -3
- package/dist/molecules/SearchBar/SearchHistory.d.ts +0 -3
- package/dist/molecules/SearchBar/SearchSuggestions.d.ts +0 -8
- package/dist/molecules/SearchBar/index.d.ts +0 -7
- package/dist/molecules/SearchBar/types.d.ts +0 -41
- package/dist/molecules/StepHeader/StepHeader.d.ts +0 -27
- package/dist/molecules/StepHeader/index.d.ts +0 -2
- package/dist/molecules/StepProgress/StepProgress.d.ts +0 -8
- package/dist/molecules/StepProgress/index.d.ts +0 -4
- package/dist/molecules/action-footer/ActionFooter.d.ts +0 -3
- package/dist/molecules/action-footer/index.d.ts +0 -5
- package/dist/molecules/action-footer/types.d.ts +0 -10
- package/dist/molecules/alerts/AlertBanner.d.ts +0 -14
- package/dist/molecules/alerts/AlertContainer.d.ts +0 -5
- package/dist/molecules/alerts/AlertInline.d.ts +0 -10
- package/dist/molecules/alerts/AlertModal.d.ts +0 -10
- package/dist/molecules/alerts/AlertProvider.d.ts +0 -7
- package/dist/molecules/alerts/AlertService.d.ts +0 -25
- package/dist/molecules/alerts/AlertStore.d.ts +0 -15
- package/dist/molecules/alerts/AlertToast.d.ts +0 -13
- package/dist/molecules/alerts/AlertTypes.d.ts +0 -52
- package/dist/molecules/alerts/components/AlertContent.d.ts +0 -20
- package/dist/molecules/alerts/components/AlertIcon.d.ts +0 -14
- package/dist/molecules/alerts/components/index.d.ts +0 -5
- package/dist/molecules/alerts/hooks/index.d.ts +0 -5
- package/dist/molecules/alerts/hooks/useAlertAutoDismiss.d.ts +0 -8
- package/dist/molecules/alerts/hooks/useAlertDismissHandler.d.ts +0 -8
- package/dist/molecules/alerts/index.d.ts +0 -19
- package/dist/molecules/alerts/useAlert.d.ts +0 -14
- package/dist/molecules/alerts/utils/alertUtils.d.ts +0 -61
- package/dist/molecules/avatar/Avatar.constants.d.ts +0 -43
- package/dist/molecules/avatar/Avatar.d.ts +0 -23
- package/dist/molecules/avatar/Avatar.types.d.ts +0 -58
- package/dist/molecules/avatar/Avatar.utils.d.ts +0 -58
- package/dist/molecules/avatar/AvatarGroup.d.ts +0 -35
- package/dist/molecules/avatar/index.d.ts +0 -5
- package/dist/molecules/bottom-sheet/components/BottomSheet.d.ts +0 -3
- package/dist/molecules/bottom-sheet/components/BottomSheetModal.d.ts +0 -3
- package/dist/molecules/bottom-sheet/components/filter/FilterBottomSheet.d.ts +0 -16
- package/dist/molecules/bottom-sheet/components/filter/FilterSheet.d.ts +0 -14
- package/dist/molecules/bottom-sheet/components/filter/FilterSheetComponents/FilterSheetHeader.d.ts +0 -9
- package/dist/molecules/bottom-sheet/components/filter/FilterSheetComponents/FilterSheetOption.d.ts +0 -11
- package/dist/molecules/bottom-sheet/components/filter/FilterSheetComponents/index.d.ts +0 -5
- package/dist/molecules/bottom-sheet/components/filter/index.d.ts +0 -6
- package/dist/molecules/bottom-sheet/components/index.d.ts +0 -6
- package/dist/molecules/bottom-sheet/hooks/index.d.ts +0 -6
- package/dist/molecules/bottom-sheet/hooks/useBottomSheet.d.ts +0 -2
- package/dist/molecules/bottom-sheet/hooks/useBottomSheetModal.d.ts +0 -2
- package/dist/molecules/bottom-sheet/hooks/useListFilters.d.ts +0 -26
- package/dist/molecules/bottom-sheet/index.d.ts +0 -6
- package/dist/molecules/bottom-sheet/types/BottomSheet.d.ts +0 -72
- package/dist/molecules/bottom-sheet/types/Filter.d.ts +0 -20
- package/dist/molecules/bottom-sheet/types/index.d.ts +0 -5
- package/dist/molecules/calendar/domain/entities/CalendarDay.entity.d.ts +0 -98
- package/dist/molecules/calendar/domain/entities/CalendarEvent.entity.d.ts +0 -140
- package/dist/molecules/calendar/domain/repositories/ICalendarRepository.d.ts +0 -101
- package/dist/molecules/calendar/index.d.ts +0 -39
- package/dist/molecules/calendar/infrastructure/services/CalendarGeneration.d.ts +0 -70
- package/dist/molecules/calendar/infrastructure/services/CalendarService.d.ts +0 -61
- package/dist/molecules/calendar/infrastructure/storage/CalendarStore.d.ts +0 -64
- package/dist/molecules/calendar/infrastructure/stores/storageAdapter.d.ts +0 -9
- package/dist/molecules/calendar/infrastructure/stores/useCalendarEvents.d.ts +0 -24
- package/dist/molecules/calendar/infrastructure/stores/useCalendarNavigation.d.ts +0 -17
- package/dist/molecules/calendar/infrastructure/stores/useCalendarView.d.ts +0 -14
- package/dist/molecules/calendar/infrastructure/utils/DateUtilities.d.ts +0 -68
- package/dist/molecules/calendar/presentation/components/AtomicCalendar.d.ts +0 -82
- package/dist/molecules/calendar/presentation/components/CalendarDayCell.d.ts +0 -18
- package/dist/molecules/calendar/presentation/components/CalendarWeekdayHeader.d.ts +0 -9
- package/dist/molecules/calendar/presentation/components/calendarStyles.d.ts +0 -53
- package/dist/molecules/circular-menu/CircularMenu.d.ts +0 -13
- package/dist/molecules/circular-menu/CircularMenuBackground.d.ts +0 -2
- package/dist/molecules/circular-menu/CircularMenuCloseButton.d.ts +0 -5
- package/dist/molecules/circular-menu/CircularMenuItem.d.ts +0 -7
- package/dist/molecules/circular-menu/constants.d.ts +0 -24
- package/dist/molecules/circular-menu/index.d.ts +0 -9
- package/dist/molecules/confirmation-modal/components.d.ts +0 -31
- package/dist/molecules/confirmation-modal/index.d.ts +0 -6
- package/dist/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts +0 -49
- package/dist/molecules/confirmation-modal/types.d.ts +0 -38
- package/dist/molecules/confirmation-modal/useConfirmationModal.d.ts +0 -18
- package/dist/molecules/countdown/components/Countdown.d.ts +0 -12
- package/dist/molecules/countdown/components/CountdownHeader.d.ts +0 -10
- package/dist/molecules/countdown/components/TimeUnit.d.ts +0 -7
- package/dist/molecules/countdown/hooks/useCountdown.d.ts +0 -17
- package/dist/molecules/countdown/index.d.ts +0 -10
- package/dist/molecules/countdown/types/CountdownTypes.d.ts +0 -32
- package/dist/molecules/countdown/utils/TimeCalculator.d.ts +0 -5
- package/dist/molecules/emoji/domain/entities/Emoji.d.ts +0 -107
- package/dist/molecules/emoji/index.d.ts +0 -163
- package/dist/molecules/emoji/presentation/components/EmojiPicker.d.ts +0 -62
- package/dist/molecules/emoji/presentation/hooks/useEmojiPicker.d.ts +0 -73
- package/dist/molecules/filter-group/FilterGroup.d.ts +0 -3
- package/dist/molecules/filter-group/index.d.ts +0 -5
- package/dist/molecules/filter-group/types.d.ts +0 -15
- package/dist/molecules/hero-section/HeroSection.d.ts +0 -3
- package/dist/molecules/hero-section/index.d.ts +0 -5
- package/dist/molecules/hero-section/types.d.ts +0 -8
- package/dist/molecules/icon-grid/IconGrid.d.ts +0 -47
- package/dist/molecules/icon-grid/index.d.ts +0 -1
- package/dist/molecules/index.d.ts +0 -33
- package/dist/molecules/info-grid/InfoGrid.d.ts +0 -3
- package/dist/molecules/info-grid/index.d.ts +0 -5
- package/dist/molecules/info-grid/types.d.ts +0 -14
- package/dist/molecules/listitem/styles/listItemStyles.d.ts +0 -13
- package/dist/molecules/listitem/types/index.d.ts +0 -20
- package/dist/molecules/long-press-menu/domain/entities/MenuAction.d.ts +0 -30
- package/dist/molecules/long-press-menu/index.d.ts +0 -12
- package/dist/molecules/navigation/StackNavigator.d.ts +0 -13
- package/dist/molecules/navigation/TabsNavigator.d.ts +0 -13
- package/dist/molecules/navigation/components/FabButton.d.ts +0 -13
- package/dist/molecules/navigation/components/NavigationContainer.d.ts +0 -10
- package/dist/molecules/navigation/components/NavigationHeader.d.ts +0 -8
- package/dist/molecules/navigation/components/TabLabel.d.ts +0 -14
- package/dist/molecules/navigation/hooks/useAppFocusEffect.d.ts +0 -21
- package/dist/molecules/navigation/hooks/useAppIsFocused.d.ts +0 -15
- package/dist/molecules/navigation/hooks/useAppNavigation.d.ts +0 -32
- package/dist/molecules/navigation/hooks/useAppRoute.d.ts +0 -17
- package/dist/molecules/navigation/hooks/useTabBarStyles.d.ts +0 -44
- package/dist/molecules/navigation/hooks/useTabConfig.d.ts +0 -6
- package/dist/molecules/navigation/index.d.ts +0 -99
- package/dist/molecules/navigation/types.d.ts +0 -99
- package/dist/molecules/navigation/utils/AppNavigation.d.ts +0 -76
- package/dist/molecules/navigation/utils/IconRenderer.d.ts +0 -9
- package/dist/molecules/navigation/utils/LabelProcessor.d.ts +0 -10
- package/dist/molecules/navigation/utils/NavigationCleanup.d.ts +0 -37
- package/dist/molecules/navigation/utils/NavigationValidator.d.ts +0 -5
- package/dist/molecules/navigation/utils/ScreenFactory.d.ts +0 -9
- package/dist/molecules/navigation/utils/createScreenOptions.d.ts +0 -20
- package/dist/molecules/splash/components/SplashScreen.d.ts +0 -3
- package/dist/molecules/splash/constants.d.ts +0 -8
- package/dist/molecules/splash/hooks/useSplashFlow.d.ts +0 -22
- package/dist/molecules/splash/index.d.ts +0 -8
- package/dist/molecules/splash/types.d.ts +0 -86
- package/dist/molecules/swipe-actions/domain/entities/SwipeAction.d.ts +0 -55
- package/dist/molecules/swipe-actions/domain/index.d.ts +0 -6
- package/dist/molecules/swipe-actions/domain/utils/swipeActionHelpers.d.ts +0 -53
- package/dist/molecules/swipe-actions/domain/utils/swipeActionValidator.d.ts +0 -18
- package/dist/molecules/swipe-actions/index.d.ts +0 -5
- package/dist/molecules/swipe-actions/presentation/components/SwipeActionButton.d.ts +0 -47
- package/dist/molecules/swipe-actions/presentation/index.d.ts +0 -4
- package/dist/offline/index.d.ts +0 -16
- package/dist/offline/infrastructure/events/NetworkEvents.d.ts +0 -24
- package/dist/offline/infrastructure/storage/OfflineConfigStore.d.ts +0 -18
- package/dist/offline/infrastructure/storage/OfflineStore.d.ts +0 -7
- package/dist/offline/infrastructure/utils/healthCheck.d.ts +0 -28
- package/dist/offline/presentation/components/OfflineBanner.d.ts +0 -43
- package/dist/offline/presentation/hooks/useOffline.d.ts +0 -17
- package/dist/offline/presentation/hooks/useOfflineState.d.ts +0 -7
- package/dist/offline/presentation/hooks/useOfflineWithMutations.d.ts +0 -16
- package/dist/offline/presentation/providers/NetworkProvider.d.ts +0 -23
- package/dist/offline/types/index.d.ts +0 -62
- package/dist/onboarding/domain/entities/OnboardingOptions.d.ts +0 -85
- package/dist/onboarding/domain/entities/OnboardingQuestion.d.ts +0 -135
- package/dist/onboarding/domain/entities/OnboardingSlide.d.ts +0 -49
- package/dist/onboarding/domain/entities/OnboardingUserData.d.ts +0 -38
- package/dist/onboarding/domain/types/ImageSourceType.d.ts +0 -11
- package/dist/onboarding/hooks/useOnboardingFlow.d.ts +0 -9
- package/dist/onboarding/index.d.ts +0 -60
- package/dist/onboarding/infrastructure/hooks/useOnboardingAnswers.d.ts +0 -20
- package/dist/onboarding/infrastructure/hooks/useOnboardingNavigation.d.ts +0 -23
- package/dist/onboarding/infrastructure/services/SlideManager.d.ts +0 -27
- package/dist/onboarding/infrastructure/services/ValidationManager.d.ts +0 -35
- package/dist/onboarding/infrastructure/storage/OnboardingStore.d.ts +0 -45
- package/dist/onboarding/infrastructure/storage/OnboardingStoreActions.d.ts +0 -15
- package/dist/onboarding/infrastructure/storage/OnboardingStoreSelectors.d.ts +0 -11
- package/dist/onboarding/infrastructure/storage/OnboardingStoreState.d.ts +0 -13
- package/dist/onboarding/infrastructure/storage/actions/answerActions.d.ts +0 -8
- package/dist/onboarding/infrastructure/storage/actions/completeAction.d.ts +0 -6
- package/dist/onboarding/infrastructure/storage/actions/index.d.ts +0 -10
- package/dist/onboarding/infrastructure/storage/actions/initializeAction.d.ts +0 -6
- package/dist/onboarding/infrastructure/storage/actions/resetAction.d.ts +0 -6
- package/dist/onboarding/infrastructure/storage/actions/skipAction.d.ts +0 -6
- package/dist/onboarding/infrastructure/storage/actions/storageHelpers.d.ts +0 -14
- package/dist/onboarding/infrastructure/utils/arrayUtils.d.ts +0 -16
- package/dist/onboarding/infrastructure/utils/backgroundUtils.d.ts +0 -16
- package/dist/onboarding/infrastructure/utils/layouts/collageLayout.d.ts +0 -6
- package/dist/onboarding/infrastructure/utils/layouts/gridLayouts.d.ts +0 -7
- package/dist/onboarding/infrastructure/utils/layouts/honeycombLayout.d.ts +0 -6
- package/dist/onboarding/infrastructure/utils/layouts/index.d.ts +0 -10
- package/dist/onboarding/infrastructure/utils/layouts/layoutTypes.d.ts +0 -31
- package/dist/onboarding/infrastructure/utils/layouts/masonryLayout.d.ts +0 -6
- package/dist/onboarding/infrastructure/utils/layouts/scatteredLayout.d.ts +0 -6
- package/dist/onboarding/infrastructure/utils/layouts/screenDimensions.d.ts +0 -6
- package/dist/onboarding/infrastructure/utils/layouts/tilesLayout.d.ts +0 -6
- package/dist/onboarding/presentation/components/BackgroundImageCollage.d.ts +0 -17
- package/dist/onboarding/presentation/components/BackgroundVideo.d.ts +0 -11
- package/dist/onboarding/presentation/components/BaseSlide.d.ts +0 -11
- package/dist/onboarding/presentation/components/OnboardingBackground.d.ts +0 -33
- package/dist/onboarding/presentation/components/OnboardingFooter.d.ts +0 -12
- package/dist/onboarding/presentation/components/OnboardingHeader.d.ts +0 -10
- package/dist/onboarding/presentation/components/OnboardingResetSetting.d.ts +0 -12
- package/dist/onboarding/presentation/components/OnboardingScreenContent.d.ts +0 -7
- package/dist/onboarding/presentation/components/OnboardingSlide.d.ts +0 -11
- package/dist/onboarding/presentation/components/QuestionRenderer.d.ts +0 -12
- package/dist/onboarding/presentation/components/QuestionSlide.d.ts +0 -11
- package/dist/onboarding/presentation/components/QuestionSlideHeader.d.ts +0 -6
- package/dist/onboarding/presentation/components/questions/DateQuestion.d.ts +0 -8
- package/dist/onboarding/presentation/components/questions/MultipleChoiceQuestion.d.ts +0 -12
- package/dist/onboarding/presentation/components/questions/QuestionOptionItem.d.ts +0 -14
- package/dist/onboarding/presentation/components/questions/RatingQuestion.d.ts +0 -8
- package/dist/onboarding/presentation/components/questions/SingleChoiceQuestion.d.ts +0 -8
- package/dist/onboarding/presentation/components/questions/TextInputQuestion.d.ts +0 -8
- package/dist/onboarding/presentation/hooks/useOnboardingContainerStyle.d.ts +0 -12
- package/dist/onboarding/presentation/hooks/useOnboardingGestures.d.ts +0 -12
- package/dist/onboarding/presentation/hooks/useOnboardingScreenHandlers.d.ts +0 -23
- package/dist/onboarding/presentation/hooks/useOnboardingScreenState.d.ts +0 -30
- package/dist/onboarding/presentation/providers/OnboardingProvider.d.ts +0 -27
- package/dist/onboarding/presentation/screens/OnboardingScreen.d.ts +0 -69
- package/dist/onboarding/presentation/types/OnboardingProps.d.ts +0 -51
- package/dist/onboarding/presentation/types/OnboardingTheme.d.ts +0 -26
- package/dist/organisms/FormContainer.d.ts +0 -81
- package/dist/organisms/index.d.ts +0 -18
- package/dist/presentation/utils/variants/core.d.ts +0 -13
- package/dist/presentation/utils/variants/helpers.d.ts +0 -4
- package/dist/presentation/utils/variants/index.d.ts +0 -5
- package/dist/responsive/compute/computeDeviceInfo.d.ts +0 -15
- package/dist/responsive/compute/computeResponsivePositioning.d.ts +0 -27
- package/dist/responsive/compute/computeResponsiveSizes.d.ts +0 -26
- package/dist/responsive/config.d.ts +0 -130
- package/dist/responsive/gridUtils.d.ts +0 -35
- package/dist/responsive/index.d.ts +0 -12
- package/dist/responsive/padding/paddingUtils.d.ts +0 -11
- package/dist/responsive/platformConstants.d.ts +0 -74
- package/dist/responsive/positioning/positioningUtils.d.ts +0 -13
- package/dist/responsive/responsive.d.ts +0 -9
- package/dist/responsive/responsiveLayout.d.ts +0 -9
- package/dist/responsive/responsiveModal.d.ts +0 -49
- package/dist/responsive/responsiveSizing.d.ts +0 -49
- package/dist/responsive/screen/screenLayoutConfig.d.ts +0 -15
- package/dist/responsive/tabbar/tabBarConfig.d.ts +0 -17
- package/dist/responsive/types/responsiveTypes.d.ts +0 -54
- package/dist/responsive/useResponsive.d.ts +0 -7
- package/dist/responsive/useScreenDimensions.d.ts +0 -25
- package/dist/responsive/validation.d.ts +0 -68
- package/dist/safe-area/constants/index.d.ts +0 -22
- package/dist/safe-area/hooks/useSafeAreaInsets.d.ts +0 -6
- package/dist/safe-area/index.d.ts +0 -10
- package/dist/storage/__tests__/mocks/asyncStorage.mock.d.ts +0 -19
- package/dist/storage/__tests__/setup.d.ts +0 -16
- package/dist/storage/application/ports/IStorageRepository.d.ts +0 -49
- package/dist/storage/cache/__tests__/setup.d.ts +0 -3
- package/dist/storage/cache/domain/Cache.d.ts +0 -22
- package/dist/storage/cache/domain/CacheManager.d.ts +0 -17
- package/dist/storage/cache/domain/CacheStatsTracker.d.ts +0 -14
- package/dist/storage/cache/domain/ErrorHandler.d.ts +0 -11
- package/dist/storage/cache/domain/PatternMatcher.d.ts +0 -8
- package/dist/storage/cache/domain/strategies/EvictionStrategy.d.ts +0 -7
- package/dist/storage/cache/domain/strategies/FIFOStrategy.d.ts +0 -8
- package/dist/storage/cache/domain/strategies/LFUStrategy.d.ts +0 -8
- package/dist/storage/cache/domain/strategies/LRUStrategy.d.ts +0 -8
- package/dist/storage/cache/domain/strategies/TTLStrategy.d.ts +0 -8
- package/dist/storage/cache/domain/types/Cache.d.ts +0 -24
- package/dist/storage/cache/infrastructure/TTLCache.d.ts +0 -22
- package/dist/storage/cache/presentation/useCache.d.ts +0 -13
- package/dist/storage/cache/presentation/useCachedValue.d.ts +0 -14
- package/dist/storage/domain/constants/CacheDefaults.d.ts +0 -56
- package/dist/storage/domain/entities/CachedValue.d.ts +0 -51
- package/dist/storage/domain/entities/StorageResult.d.ts +0 -50
- package/dist/storage/domain/errors/StorageError.d.ts +0 -48
- package/dist/storage/domain/factories/StoreFactory.d.ts +0 -14
- package/dist/storage/domain/types/Store.d.ts +0 -43
- package/dist/storage/domain/utils/CacheKeyGenerator.d.ts +0 -40
- package/dist/storage/domain/utils/ValidationUtils.d.ts +0 -19
- package/dist/storage/domain/utils/devUtils.d.ts +0 -7
- package/dist/storage/domain/value-objects/StorageKey.d.ts +0 -49
- package/dist/storage/index.d.ts +0 -71
- package/dist/storage/infrastructure/adapters/StorageService.d.ts +0 -12
- package/dist/storage/infrastructure/adapters/ZustandStorageAdapter.d.ts +0 -28
- package/dist/storage/infrastructure/repositories/AsyncStorageRepository.d.ts +0 -59
- package/dist/storage/infrastructure/repositories/BaseStorageOperations.d.ts +0 -31
- package/dist/storage/infrastructure/repositories/BatchStorageOperations.d.ts +0 -19
- package/dist/storage/infrastructure/repositories/StringStorageOperations.d.ts +0 -19
- package/dist/storage/presentation/hooks/CacheStorageOperations.d.ts +0 -37
- package/dist/storage/presentation/hooks/useCacheState.d.ts +0 -20
- package/dist/storage/presentation/hooks/usePersistentCache.d.ts +0 -73
- package/dist/storage/presentation/hooks/useStorage.d.ts +0 -22
- package/dist/storage/presentation/hooks/useStorageState.d.ts +0 -18
- package/dist/storage/presentation/hooks/useStore.d.ts +0 -6
- package/dist/tanstack/domain/config/QueryClientAccessor.d.ts +0 -41
- package/dist/tanstack/domain/constants/CacheDefaults.d.ts +0 -58
- package/dist/tanstack/domain/repositories/BaseRepository.d.ts +0 -130
- package/dist/tanstack/domain/repositories/IBaseRepository.d.ts +0 -25
- package/dist/tanstack/domain/repositories/RepositoryFactory.d.ts +0 -73
- package/dist/tanstack/domain/repositories/RepositoryTypes.d.ts +0 -32
- package/dist/tanstack/domain/repositories/helpers/repositoryHelpers.d.ts +0 -30
- package/dist/tanstack/domain/repositories/mixins/repositoryInvalidationMethods.d.ts +0 -47
- package/dist/tanstack/domain/repositories/mixins/repositoryQueryMethods.d.ts +0 -36
- package/dist/tanstack/domain/types/CacheStrategy.d.ts +0 -95
- package/dist/tanstack/domain/utils/ErrorHelpers.d.ts +0 -52
- package/dist/tanstack/domain/utils/MetricsCalculator.d.ts +0 -40
- package/dist/tanstack/domain/utils/QueryKeyFactory.d.ts +0 -99
- package/dist/tanstack/domain/utils/TypeUtilities.d.ts +0 -129
- package/dist/tanstack/index.d.ts +0 -26
- package/dist/tanstack/infrastructure/config/PersisterConfig.d.ts +0 -55
- package/dist/tanstack/infrastructure/config/QueryClientConfig.d.ts +0 -63
- package/dist/tanstack/infrastructure/config/QueryClientSingleton.d.ts +0 -5
- package/dist/tanstack/infrastructure/monitoring/DevMonitor.d.ts +0 -70
- package/dist/tanstack/infrastructure/monitoring/DevMonitor.types.d.ts +0 -35
- package/dist/tanstack/infrastructure/monitoring/DevMonitorLogger.d.ts +0 -13
- package/dist/tanstack/infrastructure/providers/TanstackProvider.d.ts +0 -29
- package/dist/tanstack/presentation/hooks/types/prefetchTypes.d.ts +0 -28
- package/dist/tanstack/presentation/hooks/useInvalidateQueries.d.ts +0 -63
- package/dist/tanstack/presentation/hooks/useOptimisticUpdate.d.ts +0 -24
- package/dist/tanstack/presentation/hooks/usePaginatedQuery.d.ts +0 -523
- package/dist/tanstack/presentation/hooks/usePrefetch.d.ts +0 -18
- package/dist/tanstack/presentation/utils/RetryHelpers.d.ts +0 -45
- package/dist/theme/core/BaseTokens.d.ts +0 -17
- package/dist/theme/core/ColorPalette.d.ts +0 -17
- package/dist/theme/core/CustomColors.d.ts +0 -81
- package/dist/theme/core/NavigationTheme.d.ts +0 -38
- package/dist/theme/core/TokenFactory.d.ts +0 -15
- package/dist/theme/core/colors/ColorUtils.d.ts +0 -18
- package/dist/theme/core/colors/DarkColors.d.ts +0 -103
- package/dist/theme/core/colors/LightColors.d.ts +0 -103
- package/dist/theme/core/constants/DesignConstants.d.ts +0 -17
- package/dist/theme/core/themes.d.ts +0 -47
- package/dist/theme/core/tokens/BaseTokens.d.ts +0 -123
- package/dist/theme/core/tokens/Borders.d.ts +0 -7
- package/dist/theme/core/tokens/Sizes.d.ts +0 -10
- package/dist/theme/core/tokens/Spacing.d.ts +0 -7
- package/dist/theme/core/tokens/Typography.d.ts +0 -7
- package/dist/theme/hooks/commonStyles/formStyles.d.ts +0 -9
- package/dist/theme/hooks/commonStyles/layoutStyles.d.ts +0 -12
- package/dist/theme/hooks/commonStyles/paddingStyles.d.ts +0 -10
- package/dist/theme/hooks/commonStyles/screenContainerStyles.d.ts +0 -10
- package/dist/theme/hooks/commonStyles/scrollContainerStyles.d.ts +0 -11
- package/dist/theme/hooks/commonStyles/sectionStyles.d.ts +0 -9
- package/dist/theme/hooks/commonStyles/textStyles.d.ts +0 -12
- package/dist/theme/hooks/useAppDesignTokens.d.ts +0 -7
- package/dist/theme/hooks/useCommonStyles.d.ts +0 -46
- package/dist/theme/hooks/useThemedStyles.d.ts +0 -34
- package/dist/theme/index.d.ts +0 -23
- package/dist/theme/infrastructure/globalThemeStore.d.ts +0 -48
- package/dist/theme/infrastructure/providers/DesignSystemProvider.d.ts +0 -17
- package/dist/theme/infrastructure/storage/ThemeStorage.d.ts +0 -14
- package/dist/theme/infrastructure/stores/themeStore.d.ts +0 -32
- package/dist/theme/types/ThemeTypes.d.ts +0 -88
- package/dist/timezone/domain/entities/Timezone.d.ts +0 -9
- package/dist/timezone/domain/entities/TimezoneCapabilities.d.ts +0 -129
- package/dist/timezone/domain/entities/TimezoneTypes.d.ts +0 -36
- package/dist/timezone/index.d.ts +0 -13
- package/dist/timezone/infrastructure/services/BusinessCalendarManager.d.ts +0 -30
- package/dist/timezone/infrastructure/services/CalendarManager.d.ts +0 -30
- package/dist/timezone/infrastructure/services/DateComparisonUtils.d.ts +0 -25
- package/dist/timezone/infrastructure/services/DateFormatter.d.ts +0 -43
- package/dist/timezone/infrastructure/services/DateRangeUtils.d.ts +0 -21
- package/dist/timezone/infrastructure/services/TimezoneProvider.d.ts +0 -33
- package/dist/timezone/infrastructure/services/TimezoneService.d.ts +0 -70
- package/dist/timezone/infrastructure/utils/SimpleCache.d.ts +0 -25
- package/dist/timezone/infrastructure/utils/TimeUtils.d.ts +0 -40
- package/dist/timezone/infrastructure/utils/TimezoneParsers.d.ts +0 -18
- package/dist/timezone/presentation/hooks/useTimezone.d.ts +0 -53
- package/dist/typography/domain/entities/TypographyTypes.d.ts +0 -41
- package/dist/typography/index.d.ts +0 -19
- package/dist/typography/presentation/utils/colorValidationUtils.d.ts +0 -60
- package/dist/typography/presentation/utils/textColorUtils.d.ts +0 -9
- package/dist/typography/presentation/utils/textStyleUtils.d.ts +0 -67
- package/dist/utilities/clipboard/ClipboardUtils.d.ts +0 -37
- package/dist/utilities/clipboard/index.d.ts +0 -4
- package/dist/utilities/index.d.ts +0 -6
- package/dist/utilities/sharing/domain/entities/Share.d.ts +0 -77
- package/dist/utilities/sharing/domain/entities/SharingUtils.d.ts +0 -19
- package/dist/utilities/sharing/index.d.ts +0 -9
- package/dist/utilities/sharing/infrastructure/services/SharingService.d.ts +0 -66
- package/dist/utilities/sharing/presentation/hooks/useSharing.d.ts +0 -21
- package/dist/utils/async/index.d.ts +0 -5
- package/dist/utils/async/retryWithBackoff.d.ts +0 -74
- package/dist/utils/constants/TimeConstants.d.ts +0 -27
- package/dist/utils/errors/DesignSystemError.d.ts +0 -99
- package/dist/utils/errors/ErrorHandler.d.ts +0 -54
- package/dist/utils/errors/index.d.ts +0 -8
- package/dist/utils/errors/types/Result.d.ts +0 -39
- package/dist/utils/formatters/stringFormatter.d.ts +0 -78
- package/dist/utils/hooks/index.d.ts +0 -5
- package/dist/utils/hooks/types/AsyncOperationTypes.d.ts +0 -52
- package/dist/utils/hooks/useAsyncOperation.d.ts +0 -36
- package/dist/utils/logger.d.ts +0 -70
- package/dist/utils/math/CalculationUtils.d.ts +0 -69
- package/dist/utils/math/OpacityUtils.d.ts +0 -31
- package/dist/utils/math/ProgressUtils.d.ts +0 -37
- package/dist/utils/math/index.d.ts +0 -6
- package/dist/uuid/index.d.ts +0 -8
- package/dist/uuid/infrastructure/utils/UUIDUtils.d.ts +0 -20
- package/dist/uuid/types/UUID.d.ts +0 -34
- package/src/molecules/avatar/Avatar.constants.ts +0 -103
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Styles for Question Components
|
|
3
|
+
* Eliminates code duplication across SingleChoice, MultipleChoice, etc.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { StyleSheet } from 'react-native';
|
|
7
|
+
|
|
8
|
+
export const questionStyles = StyleSheet.create({
|
|
9
|
+
option: {
|
|
10
|
+
flexDirection: 'row',
|
|
11
|
+
alignItems: 'center',
|
|
12
|
+
borderRadius: 20,
|
|
13
|
+
padding: 16,
|
|
14
|
+
marginBottom: 8,
|
|
15
|
+
width: '100%',
|
|
16
|
+
},
|
|
17
|
+
optionIcon: {
|
|
18
|
+
width: 40,
|
|
19
|
+
height: 40,
|
|
20
|
+
borderRadius: 20,
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
justifyContent: 'center',
|
|
23
|
+
marginRight: 16,
|
|
24
|
+
},
|
|
25
|
+
optionLabel: {
|
|
26
|
+
flex: 1,
|
|
27
|
+
fontSize: 16,
|
|
28
|
+
},
|
|
29
|
+
radioOuter: {
|
|
30
|
+
width: 24,
|
|
31
|
+
height: 24,
|
|
32
|
+
borderRadius: 12,
|
|
33
|
+
borderWidth: 2,
|
|
34
|
+
alignItems: 'center',
|
|
35
|
+
justifyContent: 'center',
|
|
36
|
+
},
|
|
37
|
+
radioInner: {
|
|
38
|
+
width: 12,
|
|
39
|
+
height: 12,
|
|
40
|
+
borderRadius: 6,
|
|
41
|
+
},
|
|
42
|
+
checkbox: {
|
|
43
|
+
width: 24,
|
|
44
|
+
height: 24,
|
|
45
|
+
borderRadius: 8,
|
|
46
|
+
alignItems: 'center',
|
|
47
|
+
justifyContent: 'center',
|
|
48
|
+
},
|
|
49
|
+
container: {
|
|
50
|
+
width: '100%',
|
|
51
|
+
},
|
|
52
|
+
hint: {
|
|
53
|
+
textAlign: 'center',
|
|
54
|
+
marginTop: 8,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
export const OPTION_ICON_SIZE = 20;
|
|
59
|
+
export const OPTION_EMOJI_SIZE = 24;
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Onboarding Hook
|
|
3
|
+
*
|
|
4
|
+
* Core state management for chat-based onboarding flows
|
|
5
|
+
* Generic and reusable across all apps
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { useState, useCallback, useRef, useEffect, useMemo } from "react";
|
|
9
|
+
|
|
10
|
+
import type { ChatStep, ChatOption } from "../../domain/entities/ChatStep";
|
|
11
|
+
import type { ChatMessage } from "../../domain/entities/ChatMessage";
|
|
12
|
+
|
|
13
|
+
export interface UseChatOnboardingOptions {
|
|
14
|
+
/** Chat onboarding flow configuration */
|
|
15
|
+
flow: Record<string, ChatStep>;
|
|
16
|
+
|
|
17
|
+
/** Initial step ID (default: first step in flow) */
|
|
18
|
+
initialStepId?: string;
|
|
19
|
+
|
|
20
|
+
/** Callback when onboarding completes */
|
|
21
|
+
onComplete?: () => void;
|
|
22
|
+
|
|
23
|
+
/** Callback when user skips onboarding */
|
|
24
|
+
onSkip?: () => void;
|
|
25
|
+
|
|
26
|
+
/** Delay between messages (ms) */
|
|
27
|
+
messageDelay?: number;
|
|
28
|
+
|
|
29
|
+
/** Store progress persistently */
|
|
30
|
+
storageKey?: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface UseChatOnboardingReturn {
|
|
34
|
+
/** Current chat step */
|
|
35
|
+
currentStep: ChatStep | null;
|
|
36
|
+
|
|
37
|
+
/** Current step ID */
|
|
38
|
+
currentStepId: string;
|
|
39
|
+
|
|
40
|
+
/** Array of chat messages */
|
|
41
|
+
messages: ChatMessage[];
|
|
42
|
+
|
|
43
|
+
/** Whether to show options */
|
|
44
|
+
showOptions: boolean;
|
|
45
|
+
|
|
46
|
+
/** Whether processing user input */
|
|
47
|
+
isProcessing: boolean;
|
|
48
|
+
|
|
49
|
+
/** Whether to show typing indicator */
|
|
50
|
+
showTypingIndicator: boolean;
|
|
51
|
+
|
|
52
|
+
/** Handle option selection */
|
|
53
|
+
handleOptionSelect: (option: ChatOption) => void;
|
|
54
|
+
|
|
55
|
+
/** Reset onboarding flow */
|
|
56
|
+
handleReset: () => void;
|
|
57
|
+
|
|
58
|
+
/** Navigate to specific step */
|
|
59
|
+
setCurrentStepId: (stepId: string) => void;
|
|
60
|
+
|
|
61
|
+
/** Submit name input */
|
|
62
|
+
handleSubmitName: (name: string) => void;
|
|
63
|
+
|
|
64
|
+
/** Skip current step */
|
|
65
|
+
handleSkip: () => void;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Hook for managing chat onboarding state
|
|
70
|
+
*/
|
|
71
|
+
export const useChatOnboarding = ({
|
|
72
|
+
flow,
|
|
73
|
+
initialStepId,
|
|
74
|
+
onComplete,
|
|
75
|
+
onSkip,
|
|
76
|
+
messageDelay = 500,
|
|
77
|
+
}: UseChatOnboardingOptions): UseChatOnboardingReturn => {
|
|
78
|
+
// Get initial step ID
|
|
79
|
+
const getInitialStepId = useCallback(() => {
|
|
80
|
+
if (initialStepId) return initialStepId;
|
|
81
|
+
const stepIds = Object.keys(flow);
|
|
82
|
+
return stepIds.length > 0 ? stepIds[0] : "";
|
|
83
|
+
}, [flow, initialStepId]);
|
|
84
|
+
|
|
85
|
+
// State
|
|
86
|
+
const [currentStepId, setCurrentStepId] = useState<string>(getInitialStepId);
|
|
87
|
+
const [messages, setMessages] = useState<ChatMessage[]>([]);
|
|
88
|
+
const [showOptions, setShowOptions] = useState<boolean>(false);
|
|
89
|
+
const [isProcessing, setIsProcessing] = useState<boolean>(false);
|
|
90
|
+
const [showTypingIndicator, setShowTypingIndicator] = useState<boolean>(false);
|
|
91
|
+
|
|
92
|
+
// Refs
|
|
93
|
+
const messageTimersRef = useRef<NodeJS.Timeout[]>([]);
|
|
94
|
+
const autoAdvanceTimerRef = useRef<NodeJS.Timeout | null>(null);
|
|
95
|
+
|
|
96
|
+
// Memoize current step
|
|
97
|
+
const currentStep = useMemo(() => {
|
|
98
|
+
return flow[currentStepId] || null;
|
|
99
|
+
}, [flow, currentStepId]);
|
|
100
|
+
|
|
101
|
+
// Clear all timers
|
|
102
|
+
const clearTimers = useCallback(() => {
|
|
103
|
+
messageTimersRef.current.forEach((timer) => {
|
|
104
|
+
clearTimeout(timer);
|
|
105
|
+
});
|
|
106
|
+
messageTimersRef.current = [];
|
|
107
|
+
|
|
108
|
+
if (autoAdvanceTimerRef.current) {
|
|
109
|
+
clearTimeout(autoAdvanceTimerRef.current);
|
|
110
|
+
autoAdvanceTimerRef.current = null;
|
|
111
|
+
}
|
|
112
|
+
}, []);
|
|
113
|
+
|
|
114
|
+
// Load messages for current step
|
|
115
|
+
useEffect(() => {
|
|
116
|
+
if (!currentStep) return;
|
|
117
|
+
|
|
118
|
+
clearTimers();
|
|
119
|
+
setMessages([]);
|
|
120
|
+
setShowOptions(false);
|
|
121
|
+
setShowTypingIndicator(true);
|
|
122
|
+
|
|
123
|
+
const timers: NodeJS.Timeout[] = [];
|
|
124
|
+
|
|
125
|
+
// Show typing indicator first
|
|
126
|
+
const hideTypingDelay = currentStep.messages.length > 0 ? 300 : 0;
|
|
127
|
+
timers.push(
|
|
128
|
+
setTimeout(() => {
|
|
129
|
+
setShowTypingIndicator(false);
|
|
130
|
+
}, hideTypingDelay)
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
// Add messages with staggered delays
|
|
134
|
+
let accumulatedDelay = hideTypingDelay;
|
|
135
|
+
currentStep.messages.forEach((msg, index) => {
|
|
136
|
+
const delay = accumulatedDelay + (index > 0 ? messageDelay : 0);
|
|
137
|
+
timers.push(
|
|
138
|
+
setTimeout(() => {
|
|
139
|
+
setMessages((prev) => [
|
|
140
|
+
...prev,
|
|
141
|
+
{
|
|
142
|
+
text: msg,
|
|
143
|
+
isUser: false,
|
|
144
|
+
},
|
|
145
|
+
]);
|
|
146
|
+
}, delay)
|
|
147
|
+
);
|
|
148
|
+
accumulatedDelay = delay + msg.length * 10; // Dynamic delay based on message length
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// Auto-advance if configured
|
|
152
|
+
if (currentStep.autoNext) {
|
|
153
|
+
const autoAdvanceDelay = accumulatedDelay + (currentStep.delay || 2000);
|
|
154
|
+
const timer = setTimeout(() => {
|
|
155
|
+
setCurrentStepId(currentStep.autoNext!);
|
|
156
|
+
}, autoAdvanceDelay);
|
|
157
|
+
autoAdvanceTimerRef.current = timer;
|
|
158
|
+
} else {
|
|
159
|
+
// Show options after messages
|
|
160
|
+
const optionsDelay = accumulatedDelay + 500;
|
|
161
|
+
timers.push(
|
|
162
|
+
setTimeout(() => {
|
|
163
|
+
if (currentStep.options && currentStep.options.length > 0) {
|
|
164
|
+
setShowOptions(true);
|
|
165
|
+
}
|
|
166
|
+
}, optionsDelay)
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
messageTimersRef.current = timers;
|
|
171
|
+
|
|
172
|
+
return () => {
|
|
173
|
+
clearTimers();
|
|
174
|
+
};
|
|
175
|
+
}, [currentStep, messageDelay, clearTimers]);
|
|
176
|
+
|
|
177
|
+
// Handle option selection
|
|
178
|
+
const handleOptionSelect = useCallback(
|
|
179
|
+
(option: ChatOption) => {
|
|
180
|
+
if (isProcessing) return;
|
|
181
|
+
|
|
182
|
+
setIsProcessing(true);
|
|
183
|
+
setShowOptions(false);
|
|
184
|
+
|
|
185
|
+
// Add user message
|
|
186
|
+
setMessages((prev) => [
|
|
187
|
+
...prev,
|
|
188
|
+
{
|
|
189
|
+
text: option.label,
|
|
190
|
+
isUser: true,
|
|
191
|
+
},
|
|
192
|
+
]);
|
|
193
|
+
|
|
194
|
+
// Navigate to next step
|
|
195
|
+
setTimeout(() => {
|
|
196
|
+
setCurrentStepId(option.next);
|
|
197
|
+
setIsProcessing(false);
|
|
198
|
+
}, 600);
|
|
199
|
+
},
|
|
200
|
+
[isProcessing]
|
|
201
|
+
);
|
|
202
|
+
|
|
203
|
+
// Handle name submission
|
|
204
|
+
const handleSubmitName = useCallback(
|
|
205
|
+
(name: string) => {
|
|
206
|
+
if (!currentStep || isProcessing) return;
|
|
207
|
+
|
|
208
|
+
setIsProcessing(true);
|
|
209
|
+
|
|
210
|
+
// Skip if empty and allowed
|
|
211
|
+
if (!name.trim() && currentStep.skipIfEmpty) {
|
|
212
|
+
setCurrentStepId(currentStep.next || "");
|
|
213
|
+
setIsProcessing(false);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Add user message
|
|
218
|
+
setMessages((prev) => [
|
|
219
|
+
...prev,
|
|
220
|
+
{
|
|
221
|
+
text: name.trim(),
|
|
222
|
+
isUser: true,
|
|
223
|
+
},
|
|
224
|
+
]);
|
|
225
|
+
|
|
226
|
+
// Navigate to next step
|
|
227
|
+
setTimeout(() => {
|
|
228
|
+
if (currentStep?.next) {
|
|
229
|
+
setCurrentStepId(currentStep.next);
|
|
230
|
+
}
|
|
231
|
+
setIsProcessing(false);
|
|
232
|
+
}, 600);
|
|
233
|
+
},
|
|
234
|
+
[currentStep, isProcessing]
|
|
235
|
+
);
|
|
236
|
+
|
|
237
|
+
// Handle skip
|
|
238
|
+
const handleSkip = useCallback(() => {
|
|
239
|
+
clearTimers();
|
|
240
|
+
onSkip?.();
|
|
241
|
+
}, [clearTimers, onSkip]);
|
|
242
|
+
|
|
243
|
+
// Handle reset
|
|
244
|
+
const handleReset = useCallback(() => {
|
|
245
|
+
clearTimers();
|
|
246
|
+
setCurrentStepId(getInitialStepId());
|
|
247
|
+
setMessages([]);
|
|
248
|
+
setShowOptions(false);
|
|
249
|
+
setIsProcessing(false);
|
|
250
|
+
setShowTypingIndicator(false);
|
|
251
|
+
}, [clearTimers, getInitialStepId]);
|
|
252
|
+
|
|
253
|
+
// Handle completion
|
|
254
|
+
useEffect(() => {
|
|
255
|
+
if (currentStep?.isComplete) {
|
|
256
|
+
const timer = setTimeout(() => {
|
|
257
|
+
onComplete?.();
|
|
258
|
+
}, currentStep.delay || 2000);
|
|
259
|
+
|
|
260
|
+
return () => clearTimeout(timer);
|
|
261
|
+
}
|
|
262
|
+
return undefined;
|
|
263
|
+
}, [currentStep, onComplete]);
|
|
264
|
+
|
|
265
|
+
return {
|
|
266
|
+
currentStep,
|
|
267
|
+
currentStepId,
|
|
268
|
+
messages,
|
|
269
|
+
showOptions,
|
|
270
|
+
isProcessing,
|
|
271
|
+
showTypingIndicator,
|
|
272
|
+
handleOptionSelect,
|
|
273
|
+
handleReset,
|
|
274
|
+
setCurrentStepId,
|
|
275
|
+
handleSubmitName,
|
|
276
|
+
handleSkip,
|
|
277
|
+
};
|
|
278
|
+
};
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Onboarding Screen
|
|
3
|
+
*
|
|
4
|
+
* Chat-based onboarding experience for user engagement
|
|
5
|
+
* Fully configurable flow, optional mascot, lazy-loaded animations
|
|
6
|
+
*
|
|
7
|
+
* Responsive Design:
|
|
8
|
+
* - Uses useSafeAreaInsets() from react-native-safe-area-context for proper device compatibility
|
|
9
|
+
* - Flexible flex-based layouts that adapt to all screen sizes
|
|
10
|
+
* - KeyboardAvoidingView for proper keyboard handling on iOS/Android
|
|
11
|
+
* - Percentage-based maxWidth in chat messages for responsive text layout
|
|
12
|
+
* - Proper insets integration with device and safe-area modules
|
|
13
|
+
*
|
|
14
|
+
* Compatible with:
|
|
15
|
+
* - @umituz/react-native-design-system/device (useDeviceInfo)
|
|
16
|
+
* - @umituz/react-native-design-system/safe-area (useSafeAreaInsets)
|
|
17
|
+
* - All screen sizes (iPhone, iPad, Android phones/tablets)
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import React, { memo } from "react";
|
|
21
|
+
import {
|
|
22
|
+
View,
|
|
23
|
+
StyleSheet,
|
|
24
|
+
ScrollView,
|
|
25
|
+
TextInput,
|
|
26
|
+
TouchableOpacity,
|
|
27
|
+
KeyboardAvoidingView,
|
|
28
|
+
Platform,
|
|
29
|
+
ViewStyle,
|
|
30
|
+
Text,
|
|
31
|
+
} from "react-native";
|
|
32
|
+
import { useResponsive } from "../../../responsive/useResponsive";
|
|
33
|
+
|
|
34
|
+
import type { ChatStep } from "../../domain/entities/ChatStep";
|
|
35
|
+
import { useChatOnboarding } from "../hooks/useChatOnboarding";
|
|
36
|
+
import { ChatMessageComponent, ChatOptionButton, TypingIndicator } from "../components/chat";
|
|
37
|
+
|
|
38
|
+
export interface ChatOnboardingScreenProps {
|
|
39
|
+
/** Chat onboarding flow configuration */
|
|
40
|
+
flow: Record<string, ChatStep>;
|
|
41
|
+
|
|
42
|
+
/** Initial step ID */
|
|
43
|
+
initialStepId?: string;
|
|
44
|
+
|
|
45
|
+
/** Completion callback */
|
|
46
|
+
onComplete?: () => void;
|
|
47
|
+
|
|
48
|
+
/** Skip callback */
|
|
49
|
+
onSkip?: () => void;
|
|
50
|
+
|
|
51
|
+
/** Show mascot (default: false) */
|
|
52
|
+
showMascot?: boolean;
|
|
53
|
+
|
|
54
|
+
/** Mascot component to render */
|
|
55
|
+
renderMascot?: (state: string) => React.ReactNode;
|
|
56
|
+
|
|
57
|
+
/** Theme colors */
|
|
58
|
+
theme?: {
|
|
59
|
+
/** Background color */
|
|
60
|
+
background?: string;
|
|
61
|
+
|
|
62
|
+
/** Message background color */
|
|
63
|
+
messageBackground?: string;
|
|
64
|
+
|
|
65
|
+
/** Message text color */
|
|
66
|
+
messageText?: string;
|
|
67
|
+
|
|
68
|
+
/** User message background color */
|
|
69
|
+
userMessageBackground?: string;
|
|
70
|
+
|
|
71
|
+
/** User message text color */
|
|
72
|
+
userMessageText?: string;
|
|
73
|
+
|
|
74
|
+
/** Button background color */
|
|
75
|
+
buttonBackground?: string;
|
|
76
|
+
|
|
77
|
+
/** Button text color */
|
|
78
|
+
buttonText?: string;
|
|
79
|
+
|
|
80
|
+
/** Button border color */
|
|
81
|
+
buttonBorder?: string;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
/** Custom styles */
|
|
85
|
+
style?: ViewStyle;
|
|
86
|
+
|
|
87
|
+
/** Delay between messages */
|
|
88
|
+
messageDelay?: number;
|
|
89
|
+
|
|
90
|
+
/** Render custom icon */
|
|
91
|
+
renderIcon?: (iconName: string) => React.ReactNode;
|
|
92
|
+
|
|
93
|
+
/** Storage key for progress persistence */
|
|
94
|
+
storageKey?: string;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Chat onboarding screen component
|
|
99
|
+
*/
|
|
100
|
+
export const ChatOnboardingScreen = memo(
|
|
101
|
+
({
|
|
102
|
+
flow,
|
|
103
|
+
initialStepId,
|
|
104
|
+
onComplete,
|
|
105
|
+
onSkip,
|
|
106
|
+
showMascot = false,
|
|
107
|
+
renderMascot,
|
|
108
|
+
theme = {},
|
|
109
|
+
style,
|
|
110
|
+
messageDelay = 500,
|
|
111
|
+
renderIcon,
|
|
112
|
+
}: ChatOnboardingScreenProps) => {
|
|
113
|
+
const responsive = useResponsive();
|
|
114
|
+
|
|
115
|
+
const {
|
|
116
|
+
currentStep,
|
|
117
|
+
messages,
|
|
118
|
+
showOptions,
|
|
119
|
+
isProcessing,
|
|
120
|
+
showTypingIndicator,
|
|
121
|
+
handleOptionSelect,
|
|
122
|
+
handleSubmitName,
|
|
123
|
+
} = useChatOnboarding({
|
|
124
|
+
flow,
|
|
125
|
+
initialStepId,
|
|
126
|
+
onComplete,
|
|
127
|
+
onSkip,
|
|
128
|
+
messageDelay,
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
const [nameInput, setNameInput] = React.useState("");
|
|
132
|
+
|
|
133
|
+
const handleNameSubmit = () => {
|
|
134
|
+
handleSubmitName(nameInput);
|
|
135
|
+
setNameInput("");
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const containerStyle = [
|
|
139
|
+
styles.container,
|
|
140
|
+
{
|
|
141
|
+
backgroundColor: theme.background || "#FFFFFF",
|
|
142
|
+
paddingBottom: responsive.insets.bottom + 20,
|
|
143
|
+
paddingTop: responsive.insets.top + 20,
|
|
144
|
+
},
|
|
145
|
+
style,
|
|
146
|
+
];
|
|
147
|
+
|
|
148
|
+
return (
|
|
149
|
+
<KeyboardAvoidingView
|
|
150
|
+
style={containerStyle}
|
|
151
|
+
behavior={Platform.OS === "ios" ? "padding" : "height"}
|
|
152
|
+
keyboardVerticalOffset={Platform.OS === "ios" ? 0 : 20}
|
|
153
|
+
>
|
|
154
|
+
{/* Mascot Section */}
|
|
155
|
+
{showMascot && renderMascot && currentStep?.mascotState && (
|
|
156
|
+
<View style={styles.mascotContainer}>{renderMascot(currentStep.mascotState)}</View>
|
|
157
|
+
)}
|
|
158
|
+
|
|
159
|
+
{/* Messages Section */}
|
|
160
|
+
<ScrollView
|
|
161
|
+
style={styles.messagesContainer}
|
|
162
|
+
contentContainerStyle={styles.messagesContent}
|
|
163
|
+
showsVerticalScrollIndicator={false}
|
|
164
|
+
>
|
|
165
|
+
{messages.map((msg, index) => (
|
|
166
|
+
<ChatMessageComponent
|
|
167
|
+
key={`${currentStep?.id}-${index}`}
|
|
168
|
+
message={msg}
|
|
169
|
+
backgroundColor={theme.messageBackground}
|
|
170
|
+
textColor={theme.messageText}
|
|
171
|
+
userBackgroundColor={theme.userMessageBackground}
|
|
172
|
+
userTextColor={theme.userMessageText}
|
|
173
|
+
/>
|
|
174
|
+
))}
|
|
175
|
+
|
|
176
|
+
{showTypingIndicator && (
|
|
177
|
+
<TypingIndicator
|
|
178
|
+
backgroundColor={theme.messageBackground}
|
|
179
|
+
dotColor={theme.messageText}
|
|
180
|
+
/>
|
|
181
|
+
)}
|
|
182
|
+
|
|
183
|
+
{/* Options Section */}
|
|
184
|
+
{showOptions && currentStep?.options && (
|
|
185
|
+
<View style={styles.optionsContainer}>
|
|
186
|
+
{currentStep.options.map((option, index) => (
|
|
187
|
+
<ChatOptionButton
|
|
188
|
+
key={`${option.value}-${index}`}
|
|
189
|
+
option={option}
|
|
190
|
+
onPress={handleOptionSelect}
|
|
191
|
+
backgroundColor={theme.buttonBackground}
|
|
192
|
+
textColor={theme.buttonText}
|
|
193
|
+
borderColor={theme.buttonBorder}
|
|
194
|
+
disabled={isProcessing}
|
|
195
|
+
renderIcon={renderIcon}
|
|
196
|
+
/>
|
|
197
|
+
))}
|
|
198
|
+
</View>
|
|
199
|
+
)}
|
|
200
|
+
|
|
201
|
+
{/* Name Input Section */}
|
|
202
|
+
{currentStep?.isNameInput && (
|
|
203
|
+
<View style={styles.inputContainer}>
|
|
204
|
+
<TextInput
|
|
205
|
+
style={[styles.nameInput, { borderColor: theme.buttonBorder }]}
|
|
206
|
+
placeholder="Enter your name..."
|
|
207
|
+
placeholderTextColor={theme.messageText}
|
|
208
|
+
value={nameInput}
|
|
209
|
+
onChangeText={setNameInput}
|
|
210
|
+
onSubmitEditing={handleNameSubmit}
|
|
211
|
+
returnKeyType="done"
|
|
212
|
+
autoCapitalize="words"
|
|
213
|
+
/>
|
|
214
|
+
<TouchableOpacity
|
|
215
|
+
style={[styles.submitButton, { backgroundColor: theme.buttonBackground }]}
|
|
216
|
+
onPress={handleNameSubmit}
|
|
217
|
+
disabled={isProcessing || !nameInput.trim()}
|
|
218
|
+
>
|
|
219
|
+
<Text style={[styles.submitButtonText, { color: theme.buttonText }]}>Send</Text>
|
|
220
|
+
</TouchableOpacity>
|
|
221
|
+
</View>
|
|
222
|
+
)}
|
|
223
|
+
</ScrollView>
|
|
224
|
+
</KeyboardAvoidingView>
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
);
|
|
228
|
+
|
|
229
|
+
ChatOnboardingScreen.displayName = "ChatOnboardingScreen";
|
|
230
|
+
|
|
231
|
+
const styles = StyleSheet.create({
|
|
232
|
+
container: {
|
|
233
|
+
flex: 1,
|
|
234
|
+
},
|
|
235
|
+
mascotContainer: {
|
|
236
|
+
alignItems: "center",
|
|
237
|
+
paddingVertical: 20,
|
|
238
|
+
},
|
|
239
|
+
messagesContainer: {
|
|
240
|
+
flex: 1,
|
|
241
|
+
paddingHorizontal: 16,
|
|
242
|
+
},
|
|
243
|
+
messagesContent: {
|
|
244
|
+
paddingTop: 10,
|
|
245
|
+
},
|
|
246
|
+
optionsContainer: {
|
|
247
|
+
marginTop: 16,
|
|
248
|
+
marginBottom: 16,
|
|
249
|
+
},
|
|
250
|
+
inputContainer: {
|
|
251
|
+
flexDirection: "row",
|
|
252
|
+
alignItems: "center",
|
|
253
|
+
marginTop: 12,
|
|
254
|
+
marginBottom: 16,
|
|
255
|
+
},
|
|
256
|
+
nameInput: {
|
|
257
|
+
flex: 1,
|
|
258
|
+
height: 48,
|
|
259
|
+
borderWidth: 1,
|
|
260
|
+
borderRadius: 12,
|
|
261
|
+
paddingHorizontal: 16,
|
|
262
|
+
fontSize: 16,
|
|
263
|
+
marginRight: 8,
|
|
264
|
+
},
|
|
265
|
+
submitButton: {
|
|
266
|
+
height: 48,
|
|
267
|
+
paddingHorizontal: 20,
|
|
268
|
+
borderRadius: 12,
|
|
269
|
+
justifyContent: "center",
|
|
270
|
+
alignItems: "center",
|
|
271
|
+
},
|
|
272
|
+
submitButtonText: {
|
|
273
|
+
fontSize: 16,
|
|
274
|
+
fontWeight: "600",
|
|
275
|
+
},
|
|
276
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Array Utilities
|
|
3
|
+
* Common array manipulation helpers
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Creates an array of specified length and maps over it
|
|
8
|
+
* Alternative to Array.from({ length }).map() which is more verbose
|
|
9
|
+
*
|
|
10
|
+
* @param length - Length of array to create
|
|
11
|
+
* @param mapFn - Map function (receives index)
|
|
12
|
+
* @returns Mapped array
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* createMappedArray(5, (i) => i * 2) // [0, 2, 4, 6, 8]
|
|
16
|
+
*/
|
|
17
|
+
export function createMappedArray<T>(
|
|
18
|
+
length: number,
|
|
19
|
+
mapFn: (index: number) => T
|
|
20
|
+
): T[] {
|
|
21
|
+
return Array.from({ length }, (_, index) => mapFn(index));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Safely slice array to specified length
|
|
26
|
+
* Returns empty array if input is null/undefined
|
|
27
|
+
*/
|
|
28
|
+
export function safeSlice<T>(array: T[] | undefined, start: number, end?: number): T[] {
|
|
29
|
+
if (!array) return [];
|
|
30
|
+
return array.slice(start, end);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Filter array by ID
|
|
35
|
+
* Returns new array with item matching ID removed
|
|
36
|
+
*/
|
|
37
|
+
export function filterById<T extends { id: string }>(array: T[], idToRemove: string): T[] {
|
|
38
|
+
return array.filter(item => item.id !== idToRemove);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Find item in array by ID
|
|
43
|
+
*/
|
|
44
|
+
export function findById<T extends { id: string }>(array: T[], id: string): T | undefined {
|
|
45
|
+
return array.find(item => item.id === id);
|
|
46
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utils Module
|
|
3
|
+
*
|
|
4
|
+
* Centralized utility functions for the design system.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
calculateResponsiveSize,
|
|
9
|
+
calculateResponsiveSizes,
|
|
10
|
+
calculateResponsiveSizeSubtle,
|
|
11
|
+
calculateLineHeight,
|
|
12
|
+
createResponsiveSizes,
|
|
13
|
+
} from './responsiveUtils';
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
createMappedArray,
|
|
17
|
+
safeSlice,
|
|
18
|
+
filterById,
|
|
19
|
+
findById,
|
|
20
|
+
} from './arrayUtils';
|