everkit-ui 0.1.0
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/LICENSE +21 -0
- package/README.md +99 -0
- package/dist/commonjs/components/ActionSheet.js +67 -0
- package/dist/commonjs/components/ActionSheet.js.map +1 -0
- package/dist/commonjs/components/AnimatedEllipsis.js +92 -0
- package/dist/commonjs/components/AnimatedEllipsis.js.map +1 -0
- package/dist/commonjs/components/AnimatedPressable.js +63 -0
- package/dist/commonjs/components/AnimatedPressable.js.map +1 -0
- package/dist/commonjs/components/AppErrorBoundary.js +94 -0
- package/dist/commonjs/components/AppErrorBoundary.js.map +1 -0
- package/dist/commonjs/components/AppImage.js +83 -0
- package/dist/commonjs/components/AppImage.js.map +1 -0
- package/dist/commonjs/components/AuthFormScreen.js +96 -0
- package/dist/commonjs/components/AuthFormScreen.js.map +1 -0
- package/dist/commonjs/components/Avatar.js +155 -0
- package/dist/commonjs/components/Avatar.js.map +1 -0
- package/dist/commonjs/components/BotChatBubble.js +129 -0
- package/dist/commonjs/components/BotChatBubble.js.map +1 -0
- package/dist/commonjs/components/BottomActionSheet.js +90 -0
- package/dist/commonjs/components/BottomActionSheet.js.map +1 -0
- package/dist/commonjs/components/Button.js +163 -0
- package/dist/commonjs/components/Button.js.map +1 -0
- package/dist/commonjs/components/Card.js +104 -0
- package/dist/commonjs/components/Card.js.map +1 -0
- package/dist/commonjs/components/Carousel.js +59 -0
- package/dist/commonjs/components/Carousel.js.map +1 -0
- package/dist/commonjs/components/ChatInputBar.js +105 -0
- package/dist/commonjs/components/ChatInputBar.js.map +1 -0
- package/dist/commonjs/components/ChatScreen.js +203 -0
- package/dist/commonjs/components/ChatScreen.js.map +1 -0
- package/dist/commonjs/components/Chip.js +68 -0
- package/dist/commonjs/components/Chip.js.map +1 -0
- package/dist/commonjs/components/ChipSelector.js +126 -0
- package/dist/commonjs/components/ChipSelector.js.map +1 -0
- package/dist/commonjs/components/CircularProgress.js +128 -0
- package/dist/commonjs/components/CircularProgress.js.map +1 -0
- package/dist/commonjs/components/ConfirmDialog.js +139 -0
- package/dist/commonjs/components/ConfirmDialog.js.map +1 -0
- package/dist/commonjs/components/DateField.js +144 -0
- package/dist/commonjs/components/DateField.js.map +1 -0
- package/dist/commonjs/components/DetailHeader.js +32 -0
- package/dist/commonjs/components/DetailHeader.js.map +1 -0
- package/dist/commonjs/components/DetailScreen.js +88 -0
- package/dist/commonjs/components/DetailScreen.js.map +1 -0
- package/dist/commonjs/components/EmptyState.js +128 -0
- package/dist/commonjs/components/EmptyState.js.map +1 -0
- package/dist/commonjs/components/ErrorBoundary.js +87 -0
- package/dist/commonjs/components/ErrorBoundary.js.map +1 -0
- package/dist/commonjs/components/ErrorState.js +77 -0
- package/dist/commonjs/components/ErrorState.js.map +1 -0
- package/dist/commonjs/components/Fab.js +73 -0
- package/dist/commonjs/components/Fab.js.map +1 -0
- package/dist/commonjs/components/FabMenu.js +199 -0
- package/dist/commonjs/components/FabMenu.js.map +1 -0
- package/dist/commonjs/components/FavoriteButton.js +47 -0
- package/dist/commonjs/components/FavoriteButton.js.map +1 -0
- package/dist/commonjs/components/FollowStatsRow.js +84 -0
- package/dist/commonjs/components/FollowStatsRow.js.map +1 -0
- package/dist/commonjs/components/FormScreen.js +102 -0
- package/dist/commonjs/components/FormScreen.js.map +1 -0
- package/dist/commonjs/components/FormattedText.js +58 -0
- package/dist/commonjs/components/FormattedText.js.map +1 -0
- package/dist/commonjs/components/GoogleGlyph.js +44 -0
- package/dist/commonjs/components/GoogleGlyph.js.map +1 -0
- package/dist/commonjs/components/Gradient.js +59 -0
- package/dist/commonjs/components/Gradient.js.map +1 -0
- package/dist/commonjs/components/HeroStatsRow.js +46 -0
- package/dist/commonjs/components/HeroStatsRow.js.map +1 -0
- package/dist/commonjs/components/Input.js +163 -0
- package/dist/commonjs/components/Input.js.map +1 -0
- package/dist/commonjs/components/KeyboardAware.js +41 -0
- package/dist/commonjs/components/KeyboardAware.js.map +1 -0
- package/dist/commonjs/components/KeyboardScrollView.js +150 -0
- package/dist/commonjs/components/KeyboardScrollView.js.map +1 -0
- package/dist/commonjs/components/LegalBulletList.js +55 -0
- package/dist/commonjs/components/LegalBulletList.js.map +1 -0
- package/dist/commonjs/components/LegalSection.js +87 -0
- package/dist/commonjs/components/LegalSection.js.map +1 -0
- package/dist/commonjs/components/LikeButton.js +103 -0
- package/dist/commonjs/components/LikeButton.js.map +1 -0
- package/dist/commonjs/components/LoadingScreen.js +38 -0
- package/dist/commonjs/components/LoadingScreen.js.map +1 -0
- package/dist/commonjs/components/NotesCard.js +48 -0
- package/dist/commonjs/components/NotesCard.js.map +1 -0
- package/dist/commonjs/components/OnboardingSlide.js +73 -0
- package/dist/commonjs/components/OnboardingSlide.js.map +1 -0
- package/dist/commonjs/components/PhotoPicker.js +133 -0
- package/dist/commonjs/components/PhotoPicker.js.map +1 -0
- package/dist/commonjs/components/PhotoStrip.js +66 -0
- package/dist/commonjs/components/PhotoStrip.js.map +1 -0
- package/dist/commonjs/components/PhotoViewer.js +124 -0
- package/dist/commonjs/components/PhotoViewer.js.map +1 -0
- package/dist/commonjs/components/ProgressBar.js +108 -0
- package/dist/commonjs/components/ProgressBar.js.map +1 -0
- package/dist/commonjs/components/ScreenGradient.js +68 -0
- package/dist/commonjs/components/ScreenGradient.js.map +1 -0
- package/dist/commonjs/components/ScreenHeader.js +98 -0
- package/dist/commonjs/components/ScreenHeader.js.map +1 -0
- package/dist/commonjs/components/SearchInput.js +122 -0
- package/dist/commonjs/components/SearchInput.js.map +1 -0
- package/dist/commonjs/components/SelectionSheet.js +243 -0
- package/dist/commonjs/components/SelectionSheet.js.map +1 -0
- package/dist/commonjs/components/SettingsRow.js +125 -0
- package/dist/commonjs/components/SettingsRow.js.map +1 -0
- package/dist/commonjs/components/SettingsSection.js +45 -0
- package/dist/commonjs/components/SettingsSection.js.map +1 -0
- package/dist/commonjs/components/Skeleton.js +131 -0
- package/dist/commonjs/components/Skeleton.js.map +1 -0
- package/dist/commonjs/components/Spinner.js +41 -0
- package/dist/commonjs/components/Spinner.js.map +1 -0
- package/dist/commonjs/components/StarRating.js +87 -0
- package/dist/commonjs/components/StarRating.js.map +1 -0
- package/dist/commonjs/components/StatTile.js +63 -0
- package/dist/commonjs/components/StatTile.js.map +1 -0
- package/dist/commonjs/components/StepDots.js +121 -0
- package/dist/commonjs/components/StepDots.js.map +1 -0
- package/dist/commonjs/components/StickyBottomBar.js +44 -0
- package/dist/commonjs/components/StickyBottomBar.js.map +1 -0
- package/dist/commonjs/components/TabPillGroup.js +88 -0
- package/dist/commonjs/components/TabPillGroup.js.map +1 -0
- package/dist/commonjs/components/Text.js +175 -0
- package/dist/commonjs/components/Text.js.map +1 -0
- package/dist/commonjs/components/Toast.js +162 -0
- package/dist/commonjs/components/Toast.js.map +1 -0
- package/dist/commonjs/components/ToggleRow.js +121 -0
- package/dist/commonjs/components/ToggleRow.js.map +1 -0
- package/dist/commonjs/components/TypingIndicator.js +96 -0
- package/dist/commonjs/components/TypingIndicator.js.map +1 -0
- package/dist/commonjs/components/UserChatBubble.js +68 -0
- package/dist/commonjs/components/UserChatBubble.js.map +1 -0
- package/dist/commonjs/index.js +506 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/internal/appImageProps.js +44 -0
- package/dist/commonjs/internal/appImageProps.js.map +1 -0
- package/dist/commonjs/internal/avatarFallback.js +103 -0
- package/dist/commonjs/internal/avatarFallback.js.map +1 -0
- package/dist/commonjs/internal/chipStyle.js +89 -0
- package/dist/commonjs/internal/chipStyle.js.map +1 -0
- package/dist/commonjs/internal/detailScreenState.js +31 -0
- package/dist/commonjs/internal/detailScreenState.js.map +1 -0
- package/dist/commonjs/internal/haptics.js +50 -0
- package/dist/commonjs/internal/haptics.js.map +1 -0
- package/dist/commonjs/internal/hexToRgba.js +28 -0
- package/dist/commonjs/internal/hexToRgba.js.map +1 -0
- package/dist/commonjs/internal/inputStyle.js +52 -0
- package/dist/commonjs/internal/inputStyle.js.map +1 -0
- package/dist/commonjs/internal/keyboardAwareProps.js +38 -0
- package/dist/commonjs/internal/keyboardAwareProps.js.map +1 -0
- package/dist/commonjs/internal/keyboardScrollViewProps.js +66 -0
- package/dist/commonjs/internal/keyboardScrollViewProps.js.map +1 -0
- package/dist/commonjs/internal/overlay.js +36 -0
- package/dist/commonjs/internal/overlay.js.map +1 -0
- package/dist/commonjs/internal/parseInlineMarkdown.js +118 -0
- package/dist/commonjs/internal/parseInlineMarkdown.js.map +1 -0
- package/dist/commonjs/internal/refCounter.js +33 -0
- package/dist/commonjs/internal/refCounter.js.map +1 -0
- package/dist/commonjs/internal/resolveGradient.js +86 -0
- package/dist/commonjs/internal/resolveGradient.js.map +1 -0
- package/dist/commonjs/internal/spinnerProps.js +41 -0
- package/dist/commonjs/internal/spinnerProps.js.map +1 -0
- package/dist/commonjs/internal/springs.js +44 -0
- package/dist/commonjs/internal/springs.js.map +1 -0
- package/dist/commonjs/internal/stickyBottomBarStyle.js +51 -0
- package/dist/commonjs/internal/stickyBottomBarStyle.js.map +1 -0
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/preset.js +44 -0
- package/dist/commonjs/preset.js.map +1 -0
- package/dist/commonjs/theme/ThemeProvider.js +59 -0
- package/dist/commonjs/theme/ThemeProvider.js.map +1 -0
- package/dist/commonjs/theme/geometry.js +95 -0
- package/dist/commonjs/theme/geometry.js.map +1 -0
- package/dist/commonjs/theme/index.js +44 -0
- package/dist/commonjs/theme/index.js.map +1 -0
- package/dist/commonjs/theme/scale.js +45 -0
- package/dist/commonjs/theme/scale.js.map +1 -0
- package/dist/commonjs/theme/types.js +6 -0
- package/dist/commonjs/theme/types.js.map +1 -0
- package/dist/module/components/ActionSheet.js +63 -0
- package/dist/module/components/ActionSheet.js.map +1 -0
- package/dist/module/components/AnimatedEllipsis.js +87 -0
- package/dist/module/components/AnimatedEllipsis.js.map +1 -0
- package/dist/module/components/AnimatedPressable.js +58 -0
- package/dist/module/components/AnimatedPressable.js.map +1 -0
- package/dist/module/components/AppErrorBoundary.js +88 -0
- package/dist/module/components/AppErrorBoundary.js.map +1 -0
- package/dist/module/components/AppImage.js +80 -0
- package/dist/module/components/AppImage.js.map +1 -0
- package/dist/module/components/AuthFormScreen.js +92 -0
- package/dist/module/components/AuthFormScreen.js.map +1 -0
- package/dist/module/components/Avatar.js +151 -0
- package/dist/module/components/Avatar.js.map +1 -0
- package/dist/module/components/BotChatBubble.js +124 -0
- package/dist/module/components/BotChatBubble.js.map +1 -0
- package/dist/module/components/BottomActionSheet.js +86 -0
- package/dist/module/components/BottomActionSheet.js.map +1 -0
- package/dist/module/components/Button.js +158 -0
- package/dist/module/components/Button.js.map +1 -0
- package/dist/module/components/Card.js +98 -0
- package/dist/module/components/Card.js.map +1 -0
- package/dist/module/components/Carousel.js +55 -0
- package/dist/module/components/Carousel.js.map +1 -0
- package/dist/module/components/ChatInputBar.js +101 -0
- package/dist/module/components/ChatInputBar.js.map +1 -0
- package/dist/module/components/ChatScreen.js +198 -0
- package/dist/module/components/ChatScreen.js.map +1 -0
- package/dist/module/components/Chip.js +63 -0
- package/dist/module/components/Chip.js.map +1 -0
- package/dist/module/components/ChipSelector.js +122 -0
- package/dist/module/components/ChipSelector.js.map +1 -0
- package/dist/module/components/CircularProgress.js +123 -0
- package/dist/module/components/CircularProgress.js.map +1 -0
- package/dist/module/components/ConfirmDialog.js +135 -0
- package/dist/module/components/ConfirmDialog.js.map +1 -0
- package/dist/module/components/DateField.js +141 -0
- package/dist/module/components/DateField.js.map +1 -0
- package/dist/module/components/DetailHeader.js +28 -0
- package/dist/module/components/DetailHeader.js.map +1 -0
- package/dist/module/components/DetailScreen.js +84 -0
- package/dist/module/components/DetailScreen.js.map +1 -0
- package/dist/module/components/EmptyState.js +125 -0
- package/dist/module/components/EmptyState.js.map +1 -0
- package/dist/module/components/ErrorBoundary.js +81 -0
- package/dist/module/components/ErrorBoundary.js.map +1 -0
- package/dist/module/components/ErrorState.js +73 -0
- package/dist/module/components/ErrorState.js.map +1 -0
- package/dist/module/components/Fab.js +68 -0
- package/dist/module/components/Fab.js.map +1 -0
- package/dist/module/components/FabMenu.js +194 -0
- package/dist/module/components/FabMenu.js.map +1 -0
- package/dist/module/components/FavoriteButton.js +42 -0
- package/dist/module/components/FavoriteButton.js.map +1 -0
- package/dist/module/components/FollowStatsRow.js +80 -0
- package/dist/module/components/FollowStatsRow.js.map +1 -0
- package/dist/module/components/FormScreen.js +98 -0
- package/dist/module/components/FormScreen.js.map +1 -0
- package/dist/module/components/FormattedText.js +54 -0
- package/dist/module/components/FormattedText.js.map +1 -0
- package/dist/module/components/GoogleGlyph.js +39 -0
- package/dist/module/components/GoogleGlyph.js.map +1 -0
- package/dist/module/components/Gradient.js +55 -0
- package/dist/module/components/Gradient.js.map +1 -0
- package/dist/module/components/HeroStatsRow.js +42 -0
- package/dist/module/components/HeroStatsRow.js.map +1 -0
- package/dist/module/components/Input.js +159 -0
- package/dist/module/components/Input.js.map +1 -0
- package/dist/module/components/KeyboardAware.js +37 -0
- package/dist/module/components/KeyboardAware.js.map +1 -0
- package/dist/module/components/KeyboardScrollView.js +146 -0
- package/dist/module/components/KeyboardScrollView.js.map +1 -0
- package/dist/module/components/LegalBulletList.js +51 -0
- package/dist/module/components/LegalBulletList.js.map +1 -0
- package/dist/module/components/LegalSection.js +83 -0
- package/dist/module/components/LegalSection.js.map +1 -0
- package/dist/module/components/LikeButton.js +100 -0
- package/dist/module/components/LikeButton.js.map +1 -0
- package/dist/module/components/LoadingScreen.js +34 -0
- package/dist/module/components/LoadingScreen.js.map +1 -0
- package/dist/module/components/NotesCard.js +44 -0
- package/dist/module/components/NotesCard.js.map +1 -0
- package/dist/module/components/OnboardingSlide.js +69 -0
- package/dist/module/components/OnboardingSlide.js.map +1 -0
- package/dist/module/components/PhotoPicker.js +129 -0
- package/dist/module/components/PhotoPicker.js.map +1 -0
- package/dist/module/components/PhotoStrip.js +62 -0
- package/dist/module/components/PhotoStrip.js.map +1 -0
- package/dist/module/components/PhotoViewer.js +121 -0
- package/dist/module/components/PhotoViewer.js.map +1 -0
- package/dist/module/components/ProgressBar.js +103 -0
- package/dist/module/components/ProgressBar.js.map +1 -0
- package/dist/module/components/ScreenGradient.js +64 -0
- package/dist/module/components/ScreenGradient.js.map +1 -0
- package/dist/module/components/ScreenHeader.js +94 -0
- package/dist/module/components/ScreenHeader.js.map +1 -0
- package/dist/module/components/SearchInput.js +118 -0
- package/dist/module/components/SearchInput.js.map +1 -0
- package/dist/module/components/SelectionSheet.js +239 -0
- package/dist/module/components/SelectionSheet.js.map +1 -0
- package/dist/module/components/SettingsRow.js +121 -0
- package/dist/module/components/SettingsRow.js.map +1 -0
- package/dist/module/components/SettingsSection.js +41 -0
- package/dist/module/components/SettingsSection.js.map +1 -0
- package/dist/module/components/Skeleton.js +126 -0
- package/dist/module/components/Skeleton.js.map +1 -0
- package/dist/module/components/Spinner.js +37 -0
- package/dist/module/components/Spinner.js.map +1 -0
- package/dist/module/components/StarRating.js +83 -0
- package/dist/module/components/StarRating.js.map +1 -0
- package/dist/module/components/StatTile.js +59 -0
- package/dist/module/components/StatTile.js.map +1 -0
- package/dist/module/components/StepDots.js +117 -0
- package/dist/module/components/StepDots.js.map +1 -0
- package/dist/module/components/StickyBottomBar.js +40 -0
- package/dist/module/components/StickyBottomBar.js.map +1 -0
- package/dist/module/components/TabPillGroup.js +84 -0
- package/dist/module/components/TabPillGroup.js.map +1 -0
- package/dist/module/components/Text.js +171 -0
- package/dist/module/components/Text.js.map +1 -0
- package/dist/module/components/Toast.js +157 -0
- package/dist/module/components/Toast.js.map +1 -0
- package/dist/module/components/ToggleRow.js +117 -0
- package/dist/module/components/ToggleRow.js.map +1 -0
- package/dist/module/components/TypingIndicator.js +91 -0
- package/dist/module/components/TypingIndicator.js.map +1 -0
- package/dist/module/components/UserChatBubble.js +63 -0
- package/dist/module/components/UserChatBubble.js.map +1 -0
- package/dist/module/index.js +112 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/internal/appImageProps.js +40 -0
- package/dist/module/internal/appImageProps.js.map +1 -0
- package/dist/module/internal/avatarFallback.js +97 -0
- package/dist/module/internal/avatarFallback.js.map +1 -0
- package/dist/module/internal/chipStyle.js +84 -0
- package/dist/module/internal/chipStyle.js.map +1 -0
- package/dist/module/internal/detailScreenState.js +27 -0
- package/dist/module/internal/detailScreenState.js.map +1 -0
- package/dist/module/internal/haptics.js +46 -0
- package/dist/module/internal/haptics.js.map +1 -0
- package/dist/module/internal/hexToRgba.js +24 -0
- package/dist/module/internal/hexToRgba.js.map +1 -0
- package/dist/module/internal/inputStyle.js +48 -0
- package/dist/module/internal/inputStyle.js.map +1 -0
- package/dist/module/internal/keyboardAwareProps.js +34 -0
- package/dist/module/internal/keyboardAwareProps.js.map +1 -0
- package/dist/module/internal/keyboardScrollViewProps.js +60 -0
- package/dist/module/internal/keyboardScrollViewProps.js.map +1 -0
- package/dist/module/internal/overlay.js +32 -0
- package/dist/module/internal/overlay.js.map +1 -0
- package/dist/module/internal/parseInlineMarkdown.js +114 -0
- package/dist/module/internal/parseInlineMarkdown.js.map +1 -0
- package/dist/module/internal/refCounter.js +29 -0
- package/dist/module/internal/refCounter.js.map +1 -0
- package/dist/module/internal/resolveGradient.js +82 -0
- package/dist/module/internal/resolveGradient.js.map +1 -0
- package/dist/module/internal/spinnerProps.js +37 -0
- package/dist/module/internal/spinnerProps.js.map +1 -0
- package/dist/module/internal/springs.js +40 -0
- package/dist/module/internal/springs.js.map +1 -0
- package/dist/module/internal/stickyBottomBarStyle.js +47 -0
- package/dist/module/internal/stickyBottomBarStyle.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/preset.js +44 -0
- package/dist/module/preset.js.map +1 -0
- package/dist/module/theme/ThemeProvider.js +51 -0
- package/dist/module/theme/ThemeProvider.js.map +1 -0
- package/dist/module/theme/geometry.js +91 -0
- package/dist/module/theme/geometry.js.map +1 -0
- package/dist/module/theme/index.js +5 -0
- package/dist/module/theme/index.js.map +1 -0
- package/dist/module/theme/scale.js +41 -0
- package/dist/module/theme/scale.js.map +1 -0
- package/dist/module/theme/types.js +4 -0
- package/dist/module/theme/types.js.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/commonjs/src/components/ActionSheet.d.ts +29 -0
- package/dist/typescript/commonjs/src/components/ActionSheet.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/AnimatedEllipsis.d.ts +22 -0
- package/dist/typescript/commonjs/src/components/AnimatedEllipsis.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/AnimatedPressable.d.ts +34 -0
- package/dist/typescript/commonjs/src/components/AnimatedPressable.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/AppErrorBoundary.d.ts +42 -0
- package/dist/typescript/commonjs/src/components/AppErrorBoundary.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/AppImage.d.ts +38 -0
- package/dist/typescript/commonjs/src/components/AppImage.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/AuthFormScreen.d.ts +46 -0
- package/dist/typescript/commonjs/src/components/AuthFormScreen.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Avatar.d.ts +64 -0
- package/dist/typescript/commonjs/src/components/Avatar.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/BotChatBubble.d.ts +42 -0
- package/dist/typescript/commonjs/src/components/BotChatBubble.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/BottomActionSheet.d.ts +45 -0
- package/dist/typescript/commonjs/src/components/BottomActionSheet.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Button.d.ts +31 -0
- package/dist/typescript/commonjs/src/components/Button.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Card.d.ts +49 -0
- package/dist/typescript/commonjs/src/components/Card.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Carousel.d.ts +45 -0
- package/dist/typescript/commonjs/src/components/Carousel.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ChatInputBar.d.ts +28 -0
- package/dist/typescript/commonjs/src/components/ChatInputBar.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ChatScreen.d.ts +79 -0
- package/dist/typescript/commonjs/src/components/ChatScreen.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Chip.d.ts +36 -0
- package/dist/typescript/commonjs/src/components/Chip.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ChipSelector.d.ts +51 -0
- package/dist/typescript/commonjs/src/components/ChipSelector.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/CircularProgress.d.ts +47 -0
- package/dist/typescript/commonjs/src/components/CircularProgress.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ConfirmDialog.d.ts +50 -0
- package/dist/typescript/commonjs/src/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/DateField.d.ts +26 -0
- package/dist/typescript/commonjs/src/components/DateField.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/DetailHeader.d.ts +28 -0
- package/dist/typescript/commonjs/src/components/DetailHeader.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/DetailScreen.d.ts +55 -0
- package/dist/typescript/commonjs/src/components/DetailScreen.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/EmptyState.d.ts +33 -0
- package/dist/typescript/commonjs/src/components/EmptyState.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ErrorBoundary.d.ts +36 -0
- package/dist/typescript/commonjs/src/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ErrorState.d.ts +23 -0
- package/dist/typescript/commonjs/src/components/ErrorState.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Fab.d.ts +32 -0
- package/dist/typescript/commonjs/src/components/Fab.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/FabMenu.d.ts +48 -0
- package/dist/typescript/commonjs/src/components/FabMenu.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/FavoriteButton.d.ts +27 -0
- package/dist/typescript/commonjs/src/components/FavoriteButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/FollowStatsRow.d.ts +30 -0
- package/dist/typescript/commonjs/src/components/FollowStatsRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/FormScreen.d.ts +53 -0
- package/dist/typescript/commonjs/src/components/FormScreen.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/FormattedText.d.ts +30 -0
- package/dist/typescript/commonjs/src/components/FormattedText.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/GoogleGlyph.d.ts +18 -0
- package/dist/typescript/commonjs/src/components/GoogleGlyph.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Gradient.d.ts +36 -0
- package/dist/typescript/commonjs/src/components/Gradient.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/HeroStatsRow.d.ts +23 -0
- package/dist/typescript/commonjs/src/components/HeroStatsRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Input.d.ts +50 -0
- package/dist/typescript/commonjs/src/components/Input.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/KeyboardAware.d.ts +27 -0
- package/dist/typescript/commonjs/src/components/KeyboardAware.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/KeyboardScrollView.d.ts +61 -0
- package/dist/typescript/commonjs/src/components/KeyboardScrollView.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/LegalBulletList.d.ts +24 -0
- package/dist/typescript/commonjs/src/components/LegalBulletList.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/LegalSection.d.ts +34 -0
- package/dist/typescript/commonjs/src/components/LegalSection.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/LikeButton.d.ts +37 -0
- package/dist/typescript/commonjs/src/components/LikeButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/LoadingScreen.d.ts +17 -0
- package/dist/typescript/commonjs/src/components/LoadingScreen.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/NotesCard.d.ts +17 -0
- package/dist/typescript/commonjs/src/components/NotesCard.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/OnboardingSlide.d.ts +31 -0
- package/dist/typescript/commonjs/src/components/OnboardingSlide.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/PhotoPicker.d.ts +37 -0
- package/dist/typescript/commonjs/src/components/PhotoPicker.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/PhotoStrip.d.ts +32 -0
- package/dist/typescript/commonjs/src/components/PhotoStrip.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/PhotoViewer.d.ts +35 -0
- package/dist/typescript/commonjs/src/components/PhotoViewer.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ProgressBar.d.ts +43 -0
- package/dist/typescript/commonjs/src/components/ProgressBar.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ScreenGradient.d.ts +25 -0
- package/dist/typescript/commonjs/src/components/ScreenGradient.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ScreenHeader.d.ts +48 -0
- package/dist/typescript/commonjs/src/components/ScreenHeader.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/SearchInput.d.ts +30 -0
- package/dist/typescript/commonjs/src/components/SearchInput.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/SelectionSheet.d.ts +54 -0
- package/dist/typescript/commonjs/src/components/SelectionSheet.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/SettingsRow.d.ts +52 -0
- package/dist/typescript/commonjs/src/components/SettingsRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/SettingsSection.d.ts +24 -0
- package/dist/typescript/commonjs/src/components/SettingsSection.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Skeleton.d.ts +31 -0
- package/dist/typescript/commonjs/src/components/Skeleton.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Spinner.d.ts +23 -0
- package/dist/typescript/commonjs/src/components/Spinner.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/StarRating.d.ts +30 -0
- package/dist/typescript/commonjs/src/components/StarRating.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/StatTile.d.ts +33 -0
- package/dist/typescript/commonjs/src/components/StatTile.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/StepDots.d.ts +61 -0
- package/dist/typescript/commonjs/src/components/StepDots.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/StickyBottomBar.d.ts +28 -0
- package/dist/typescript/commonjs/src/components/StickyBottomBar.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/TabPillGroup.d.ts +33 -0
- package/dist/typescript/commonjs/src/components/TabPillGroup.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Text.d.ts +34 -0
- package/dist/typescript/commonjs/src/components/Text.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/Toast.d.ts +33 -0
- package/dist/typescript/commonjs/src/components/Toast.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/ToggleRow.d.ts +37 -0
- package/dist/typescript/commonjs/src/components/ToggleRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/TypingIndicator.d.ts +22 -0
- package/dist/typescript/commonjs/src/components/TypingIndicator.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/UserChatBubble.d.ts +34 -0
- package/dist/typescript/commonjs/src/components/UserChatBubble.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/index.d.ts +69 -0
- package/dist/typescript/commonjs/src/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/appImageProps.d.ts +39 -0
- package/dist/typescript/commonjs/src/internal/appImageProps.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/avatarFallback.d.ts +45 -0
- package/dist/typescript/commonjs/src/internal/avatarFallback.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/chipStyle.d.ts +53 -0
- package/dist/typescript/commonjs/src/internal/chipStyle.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/detailScreenState.d.ts +25 -0
- package/dist/typescript/commonjs/src/internal/detailScreenState.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/haptics.d.ts +19 -0
- package/dist/typescript/commonjs/src/internal/haptics.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/hexToRgba.d.ts +17 -0
- package/dist/typescript/commonjs/src/internal/hexToRgba.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/inputStyle.d.ts +30 -0
- package/dist/typescript/commonjs/src/internal/inputStyle.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/keyboardAwareProps.d.ts +37 -0
- package/dist/typescript/commonjs/src/internal/keyboardAwareProps.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/keyboardScrollViewProps.d.ts +67 -0
- package/dist/typescript/commonjs/src/internal/keyboardScrollViewProps.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/overlay.d.ts +24 -0
- package/dist/typescript/commonjs/src/internal/overlay.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/parseInlineMarkdown.d.ts +28 -0
- package/dist/typescript/commonjs/src/internal/parseInlineMarkdown.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/refCounter.d.ts +17 -0
- package/dist/typescript/commonjs/src/internal/refCounter.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/resolveGradient.d.ts +57 -0
- package/dist/typescript/commonjs/src/internal/resolveGradient.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/spinnerProps.d.ts +27 -0
- package/dist/typescript/commonjs/src/internal/spinnerProps.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/springs.d.ts +37 -0
- package/dist/typescript/commonjs/src/internal/springs.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/internal/stickyBottomBarStyle.d.ts +36 -0
- package/dist/typescript/commonjs/src/internal/stickyBottomBarStyle.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/preset.d.ts +3 -0
- package/dist/typescript/commonjs/src/preset.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/theme/ThemeProvider.d.ts +17 -0
- package/dist/typescript/commonjs/src/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/theme/geometry.d.ts +18 -0
- package/dist/typescript/commonjs/src/theme/geometry.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/theme/index.d.ts +4 -0
- package/dist/typescript/commonjs/src/theme/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/theme/scale.d.ts +41 -0
- package/dist/typescript/commonjs/src/theme/scale.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/theme/types.d.ts +67 -0
- package/dist/typescript/commonjs/src/theme/types.d.ts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/dist/typescript/module/src/components/ActionSheet.d.ts +29 -0
- package/dist/typescript/module/src/components/ActionSheet.d.ts.map +1 -0
- package/dist/typescript/module/src/components/AnimatedEllipsis.d.ts +22 -0
- package/dist/typescript/module/src/components/AnimatedEllipsis.d.ts.map +1 -0
- package/dist/typescript/module/src/components/AnimatedPressable.d.ts +34 -0
- package/dist/typescript/module/src/components/AnimatedPressable.d.ts.map +1 -0
- package/dist/typescript/module/src/components/AppErrorBoundary.d.ts +42 -0
- package/dist/typescript/module/src/components/AppErrorBoundary.d.ts.map +1 -0
- package/dist/typescript/module/src/components/AppImage.d.ts +38 -0
- package/dist/typescript/module/src/components/AppImage.d.ts.map +1 -0
- package/dist/typescript/module/src/components/AuthFormScreen.d.ts +46 -0
- package/dist/typescript/module/src/components/AuthFormScreen.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Avatar.d.ts +64 -0
- package/dist/typescript/module/src/components/Avatar.d.ts.map +1 -0
- package/dist/typescript/module/src/components/BotChatBubble.d.ts +42 -0
- package/dist/typescript/module/src/components/BotChatBubble.d.ts.map +1 -0
- package/dist/typescript/module/src/components/BottomActionSheet.d.ts +45 -0
- package/dist/typescript/module/src/components/BottomActionSheet.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Button.d.ts +31 -0
- package/dist/typescript/module/src/components/Button.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Card.d.ts +49 -0
- package/dist/typescript/module/src/components/Card.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Carousel.d.ts +45 -0
- package/dist/typescript/module/src/components/Carousel.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ChatInputBar.d.ts +28 -0
- package/dist/typescript/module/src/components/ChatInputBar.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ChatScreen.d.ts +79 -0
- package/dist/typescript/module/src/components/ChatScreen.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Chip.d.ts +36 -0
- package/dist/typescript/module/src/components/Chip.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ChipSelector.d.ts +51 -0
- package/dist/typescript/module/src/components/ChipSelector.d.ts.map +1 -0
- package/dist/typescript/module/src/components/CircularProgress.d.ts +47 -0
- package/dist/typescript/module/src/components/CircularProgress.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ConfirmDialog.d.ts +50 -0
- package/dist/typescript/module/src/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/typescript/module/src/components/DateField.d.ts +26 -0
- package/dist/typescript/module/src/components/DateField.d.ts.map +1 -0
- package/dist/typescript/module/src/components/DetailHeader.d.ts +28 -0
- package/dist/typescript/module/src/components/DetailHeader.d.ts.map +1 -0
- package/dist/typescript/module/src/components/DetailScreen.d.ts +55 -0
- package/dist/typescript/module/src/components/DetailScreen.d.ts.map +1 -0
- package/dist/typescript/module/src/components/EmptyState.d.ts +33 -0
- package/dist/typescript/module/src/components/EmptyState.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ErrorBoundary.d.ts +36 -0
- package/dist/typescript/module/src/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ErrorState.d.ts +23 -0
- package/dist/typescript/module/src/components/ErrorState.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Fab.d.ts +32 -0
- package/dist/typescript/module/src/components/Fab.d.ts.map +1 -0
- package/dist/typescript/module/src/components/FabMenu.d.ts +48 -0
- package/dist/typescript/module/src/components/FabMenu.d.ts.map +1 -0
- package/dist/typescript/module/src/components/FavoriteButton.d.ts +27 -0
- package/dist/typescript/module/src/components/FavoriteButton.d.ts.map +1 -0
- package/dist/typescript/module/src/components/FollowStatsRow.d.ts +30 -0
- package/dist/typescript/module/src/components/FollowStatsRow.d.ts.map +1 -0
- package/dist/typescript/module/src/components/FormScreen.d.ts +53 -0
- package/dist/typescript/module/src/components/FormScreen.d.ts.map +1 -0
- package/dist/typescript/module/src/components/FormattedText.d.ts +30 -0
- package/dist/typescript/module/src/components/FormattedText.d.ts.map +1 -0
- package/dist/typescript/module/src/components/GoogleGlyph.d.ts +18 -0
- package/dist/typescript/module/src/components/GoogleGlyph.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Gradient.d.ts +36 -0
- package/dist/typescript/module/src/components/Gradient.d.ts.map +1 -0
- package/dist/typescript/module/src/components/HeroStatsRow.d.ts +23 -0
- package/dist/typescript/module/src/components/HeroStatsRow.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Input.d.ts +50 -0
- package/dist/typescript/module/src/components/Input.d.ts.map +1 -0
- package/dist/typescript/module/src/components/KeyboardAware.d.ts +27 -0
- package/dist/typescript/module/src/components/KeyboardAware.d.ts.map +1 -0
- package/dist/typescript/module/src/components/KeyboardScrollView.d.ts +61 -0
- package/dist/typescript/module/src/components/KeyboardScrollView.d.ts.map +1 -0
- package/dist/typescript/module/src/components/LegalBulletList.d.ts +24 -0
- package/dist/typescript/module/src/components/LegalBulletList.d.ts.map +1 -0
- package/dist/typescript/module/src/components/LegalSection.d.ts +34 -0
- package/dist/typescript/module/src/components/LegalSection.d.ts.map +1 -0
- package/dist/typescript/module/src/components/LikeButton.d.ts +37 -0
- package/dist/typescript/module/src/components/LikeButton.d.ts.map +1 -0
- package/dist/typescript/module/src/components/LoadingScreen.d.ts +17 -0
- package/dist/typescript/module/src/components/LoadingScreen.d.ts.map +1 -0
- package/dist/typescript/module/src/components/NotesCard.d.ts +17 -0
- package/dist/typescript/module/src/components/NotesCard.d.ts.map +1 -0
- package/dist/typescript/module/src/components/OnboardingSlide.d.ts +31 -0
- package/dist/typescript/module/src/components/OnboardingSlide.d.ts.map +1 -0
- package/dist/typescript/module/src/components/PhotoPicker.d.ts +37 -0
- package/dist/typescript/module/src/components/PhotoPicker.d.ts.map +1 -0
- package/dist/typescript/module/src/components/PhotoStrip.d.ts +32 -0
- package/dist/typescript/module/src/components/PhotoStrip.d.ts.map +1 -0
- package/dist/typescript/module/src/components/PhotoViewer.d.ts +35 -0
- package/dist/typescript/module/src/components/PhotoViewer.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ProgressBar.d.ts +43 -0
- package/dist/typescript/module/src/components/ProgressBar.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ScreenGradient.d.ts +25 -0
- package/dist/typescript/module/src/components/ScreenGradient.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ScreenHeader.d.ts +48 -0
- package/dist/typescript/module/src/components/ScreenHeader.d.ts.map +1 -0
- package/dist/typescript/module/src/components/SearchInput.d.ts +30 -0
- package/dist/typescript/module/src/components/SearchInput.d.ts.map +1 -0
- package/dist/typescript/module/src/components/SelectionSheet.d.ts +54 -0
- package/dist/typescript/module/src/components/SelectionSheet.d.ts.map +1 -0
- package/dist/typescript/module/src/components/SettingsRow.d.ts +52 -0
- package/dist/typescript/module/src/components/SettingsRow.d.ts.map +1 -0
- package/dist/typescript/module/src/components/SettingsSection.d.ts +24 -0
- package/dist/typescript/module/src/components/SettingsSection.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Skeleton.d.ts +31 -0
- package/dist/typescript/module/src/components/Skeleton.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Spinner.d.ts +23 -0
- package/dist/typescript/module/src/components/Spinner.d.ts.map +1 -0
- package/dist/typescript/module/src/components/StarRating.d.ts +30 -0
- package/dist/typescript/module/src/components/StarRating.d.ts.map +1 -0
- package/dist/typescript/module/src/components/StatTile.d.ts +33 -0
- package/dist/typescript/module/src/components/StatTile.d.ts.map +1 -0
- package/dist/typescript/module/src/components/StepDots.d.ts +61 -0
- package/dist/typescript/module/src/components/StepDots.d.ts.map +1 -0
- package/dist/typescript/module/src/components/StickyBottomBar.d.ts +28 -0
- package/dist/typescript/module/src/components/StickyBottomBar.d.ts.map +1 -0
- package/dist/typescript/module/src/components/TabPillGroup.d.ts +33 -0
- package/dist/typescript/module/src/components/TabPillGroup.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Text.d.ts +34 -0
- package/dist/typescript/module/src/components/Text.d.ts.map +1 -0
- package/dist/typescript/module/src/components/Toast.d.ts +33 -0
- package/dist/typescript/module/src/components/Toast.d.ts.map +1 -0
- package/dist/typescript/module/src/components/ToggleRow.d.ts +37 -0
- package/dist/typescript/module/src/components/ToggleRow.d.ts.map +1 -0
- package/dist/typescript/module/src/components/TypingIndicator.d.ts +22 -0
- package/dist/typescript/module/src/components/TypingIndicator.d.ts.map +1 -0
- package/dist/typescript/module/src/components/UserChatBubble.d.ts +34 -0
- package/dist/typescript/module/src/components/UserChatBubble.d.ts.map +1 -0
- package/dist/typescript/module/src/index.d.ts +69 -0
- package/dist/typescript/module/src/index.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/appImageProps.d.ts +39 -0
- package/dist/typescript/module/src/internal/appImageProps.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/avatarFallback.d.ts +45 -0
- package/dist/typescript/module/src/internal/avatarFallback.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/chipStyle.d.ts +53 -0
- package/dist/typescript/module/src/internal/chipStyle.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/detailScreenState.d.ts +25 -0
- package/dist/typescript/module/src/internal/detailScreenState.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/haptics.d.ts +19 -0
- package/dist/typescript/module/src/internal/haptics.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/hexToRgba.d.ts +17 -0
- package/dist/typescript/module/src/internal/hexToRgba.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/inputStyle.d.ts +30 -0
- package/dist/typescript/module/src/internal/inputStyle.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/keyboardAwareProps.d.ts +37 -0
- package/dist/typescript/module/src/internal/keyboardAwareProps.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/keyboardScrollViewProps.d.ts +67 -0
- package/dist/typescript/module/src/internal/keyboardScrollViewProps.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/overlay.d.ts +24 -0
- package/dist/typescript/module/src/internal/overlay.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/parseInlineMarkdown.d.ts +28 -0
- package/dist/typescript/module/src/internal/parseInlineMarkdown.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/refCounter.d.ts +17 -0
- package/dist/typescript/module/src/internal/refCounter.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/resolveGradient.d.ts +57 -0
- package/dist/typescript/module/src/internal/resolveGradient.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/spinnerProps.d.ts +27 -0
- package/dist/typescript/module/src/internal/spinnerProps.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/springs.d.ts +37 -0
- package/dist/typescript/module/src/internal/springs.d.ts.map +1 -0
- package/dist/typescript/module/src/internal/stickyBottomBarStyle.d.ts +36 -0
- package/dist/typescript/module/src/internal/stickyBottomBarStyle.d.ts.map +1 -0
- package/dist/typescript/module/src/preset.d.ts +3 -0
- package/dist/typescript/module/src/preset.d.ts.map +1 -0
- package/dist/typescript/module/src/theme/ThemeProvider.d.ts +17 -0
- package/dist/typescript/module/src/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/typescript/module/src/theme/geometry.d.ts +18 -0
- package/dist/typescript/module/src/theme/geometry.d.ts.map +1 -0
- package/dist/typescript/module/src/theme/index.d.ts +4 -0
- package/dist/typescript/module/src/theme/index.d.ts.map +1 -0
- package/dist/typescript/module/src/theme/scale.d.ts +41 -0
- package/dist/typescript/module/src/theme/scale.d.ts.map +1 -0
- package/dist/typescript/module/src/theme/types.d.ts +67 -0
- package/dist/typescript/module/src/theme/types.d.ts.map +1 -0
- package/package.json +180 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
4
|
+
import { FlatList, Pressable, View, useWindowDimensions } from 'react-native';
|
|
5
|
+
import { Check, X } from 'lucide-react-native';
|
|
6
|
+
import { Text } from "./Text.js";
|
|
7
|
+
import { AppImage } from "./AppImage.js";
|
|
8
|
+
import { SearchInput } from "./SearchInput.js";
|
|
9
|
+
import { BottomActionSheet } from "./BottomActionSheet.js";
|
|
10
|
+
import { useColors } from "../theme/ThemeProvider.js";
|
|
11
|
+
import { SPACE } from "../theme/scale.js";
|
|
12
|
+
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Public types
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// Constants
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
|
|
21
|
+
const THUMB_SIZE = 44;
|
|
22
|
+
const ROW_MIN_HEIGHT = 64;
|
|
23
|
+
/** Sheet body as a fraction of the window — a tall picker, like a snap point. */
|
|
24
|
+
const SHEET_HEIGHT_RATIO = 0.82;
|
|
25
|
+
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// Component
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Theme-agnostic selection sheet — a searchable, single-select picker on top of
|
|
32
|
+
* the library's {@link BottomActionSheet}. Each row is a leading thumbnail (or a
|
|
33
|
+
* fallback {@link SelectionSheetItem.icon} disc), a label + optional subtitle,
|
|
34
|
+
* and a check on the selected row.
|
|
35
|
+
*
|
|
36
|
+
* Generic over the item payload `T`: `items` carry the raw entity in `data`,
|
|
37
|
+
* which is handed straight back through `onSelect`, so the same sheet picks a
|
|
38
|
+
* tea, a contact, a workspace — anything one-line. Domain-free: no app store,
|
|
39
|
+
* router, or icon namespace; the caller supplies the (pre-sorted) items.
|
|
40
|
+
*
|
|
41
|
+
* Built on {@link BottomActionSheet} (a `Modal`, not `@gorhom/bottom-sheet`) so
|
|
42
|
+
* it needs no gesture/animation peer, with {@link SearchInput} for the filter
|
|
43
|
+
* (label + subtitle, case-insensitive) and a `FlatList` body. The query resets
|
|
44
|
+
* each time the sheet closes. Colour comes INLINE from {@link useColors};
|
|
45
|
+
* spacing from the {@link SPACE} scale.
|
|
46
|
+
*/
|
|
47
|
+
export function SelectionSheet({
|
|
48
|
+
visible,
|
|
49
|
+
onClose,
|
|
50
|
+
title,
|
|
51
|
+
items,
|
|
52
|
+
selectedId,
|
|
53
|
+
onSelect,
|
|
54
|
+
searchable = true,
|
|
55
|
+
searchPlaceholder = 'Search…',
|
|
56
|
+
emptyState
|
|
57
|
+
}) {
|
|
58
|
+
const colors = useColors();
|
|
59
|
+
const {
|
|
60
|
+
height
|
|
61
|
+
} = useWindowDimensions();
|
|
62
|
+
const [query, setQuery] = useState('');
|
|
63
|
+
|
|
64
|
+
// Reset the query whenever the sheet closes so the next open starts clean.
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
if (!visible) setQuery('');
|
|
67
|
+
}, [visible]);
|
|
68
|
+
|
|
69
|
+
// Case-insensitive filter across label AND subtitle.
|
|
70
|
+
const filteredItems = useMemo(() => {
|
|
71
|
+
const needle = query.trim().toLowerCase();
|
|
72
|
+
if (!needle) return items;
|
|
73
|
+
return items.filter(it => {
|
|
74
|
+
const inLabel = it.label.toLowerCase().includes(needle);
|
|
75
|
+
const inSubtitle = it.subtitle?.toLowerCase().includes(needle) ?? false;
|
|
76
|
+
return inLabel || inSubtitle;
|
|
77
|
+
});
|
|
78
|
+
}, [items, query]);
|
|
79
|
+
const handleSelect = useCallback(item => {
|
|
80
|
+
onSelect(item);
|
|
81
|
+
onClose();
|
|
82
|
+
}, [onSelect, onClose]);
|
|
83
|
+
const keyExtractor = useCallback(item => item.id, []);
|
|
84
|
+
const renderItem = useCallback(({
|
|
85
|
+
item
|
|
86
|
+
}) => {
|
|
87
|
+
const isSelected = item.id === selectedId;
|
|
88
|
+
const Icon = item.icon;
|
|
89
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
90
|
+
onPress: () => handleSelect(item),
|
|
91
|
+
accessibilityRole: "button",
|
|
92
|
+
accessibilityLabel: item.label,
|
|
93
|
+
accessibilityState: {
|
|
94
|
+
selected: isSelected
|
|
95
|
+
},
|
|
96
|
+
style: ({
|
|
97
|
+
pressed
|
|
98
|
+
}) => ({
|
|
99
|
+
flexDirection: 'row',
|
|
100
|
+
alignItems: 'center',
|
|
101
|
+
paddingHorizontal: SPACE['4'],
|
|
102
|
+
paddingVertical: SPACE['2.5'],
|
|
103
|
+
minHeight: ROW_MIN_HEIGHT,
|
|
104
|
+
backgroundColor: isSelected ? colors.bg.tertiary : pressed ? colors.bg.secondary : 'transparent'
|
|
105
|
+
}),
|
|
106
|
+
children: [item.imageUri ? /*#__PURE__*/_jsx(AppImage, {
|
|
107
|
+
source: {
|
|
108
|
+
uri: item.imageUri
|
|
109
|
+
},
|
|
110
|
+
style: {
|
|
111
|
+
width: THUMB_SIZE,
|
|
112
|
+
height: THUMB_SIZE,
|
|
113
|
+
borderRadius: THUMB_SIZE / 2,
|
|
114
|
+
backgroundColor: colors.bg.secondary
|
|
115
|
+
},
|
|
116
|
+
contentFit: "cover",
|
|
117
|
+
transition: 120,
|
|
118
|
+
recyclingKey: item.id
|
|
119
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
120
|
+
style: {
|
|
121
|
+
width: THUMB_SIZE,
|
|
122
|
+
height: THUMB_SIZE,
|
|
123
|
+
borderRadius: THUMB_SIZE / 2,
|
|
124
|
+
backgroundColor: colors.bg.secondary,
|
|
125
|
+
alignItems: 'center',
|
|
126
|
+
justifyContent: 'center'
|
|
127
|
+
},
|
|
128
|
+
children: Icon ? /*#__PURE__*/_jsx(Icon, {
|
|
129
|
+
size: 20,
|
|
130
|
+
color: colors.text.tertiary
|
|
131
|
+
}) : null
|
|
132
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
133
|
+
style: {
|
|
134
|
+
flex: 1,
|
|
135
|
+
marginLeft: SPACE['3']
|
|
136
|
+
},
|
|
137
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
138
|
+
variant: "body-lg",
|
|
139
|
+
numberOfLines: 1,
|
|
140
|
+
children: item.label
|
|
141
|
+
}), item.subtitle ? /*#__PURE__*/_jsx(Text, {
|
|
142
|
+
variant: "caption",
|
|
143
|
+
numberOfLines: 1,
|
|
144
|
+
style: {
|
|
145
|
+
color: colors.text.tertiary,
|
|
146
|
+
marginTop: 2
|
|
147
|
+
},
|
|
148
|
+
children: item.subtitle
|
|
149
|
+
}) : null]
|
|
150
|
+
}), isSelected ? /*#__PURE__*/_jsx(Check, {
|
|
151
|
+
size: 20,
|
|
152
|
+
color: colors.brand.primary
|
|
153
|
+
}) : null]
|
|
154
|
+
});
|
|
155
|
+
}, [colors, handleSelect, selectedId]);
|
|
156
|
+
const showEmpty = filteredItems.length === 0;
|
|
157
|
+
const defaultEmpty = /*#__PURE__*/_jsx(View, {
|
|
158
|
+
style: {
|
|
159
|
+
paddingTop: SPACE['12'],
|
|
160
|
+
alignItems: 'center'
|
|
161
|
+
},
|
|
162
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
163
|
+
variant: "body-md",
|
|
164
|
+
style: {
|
|
165
|
+
color: colors.text.tertiary
|
|
166
|
+
},
|
|
167
|
+
children: "Nothing here"
|
|
168
|
+
})
|
|
169
|
+
});
|
|
170
|
+
return /*#__PURE__*/_jsx(BottomActionSheet, {
|
|
171
|
+
visible: visible,
|
|
172
|
+
onClose: onClose,
|
|
173
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
174
|
+
style: {
|
|
175
|
+
height: Math.round(height * SHEET_HEIGHT_RATIO)
|
|
176
|
+
},
|
|
177
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
178
|
+
style: {
|
|
179
|
+
flexDirection: 'row',
|
|
180
|
+
alignItems: 'center',
|
|
181
|
+
justifyContent: 'space-between',
|
|
182
|
+
paddingHorizontal: SPACE['4'],
|
|
183
|
+
marginBottom: SPACE['3']
|
|
184
|
+
},
|
|
185
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
186
|
+
variant: "heading-lg",
|
|
187
|
+
children: title
|
|
188
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
189
|
+
onPress: onClose,
|
|
190
|
+
accessibilityRole: "button",
|
|
191
|
+
accessibilityLabel: "Close",
|
|
192
|
+
hitSlop: 12,
|
|
193
|
+
style: {
|
|
194
|
+
width: 32,
|
|
195
|
+
height: 32,
|
|
196
|
+
borderRadius: 16,
|
|
197
|
+
alignItems: 'center',
|
|
198
|
+
justifyContent: 'center',
|
|
199
|
+
backgroundColor: colors.bg.secondary
|
|
200
|
+
},
|
|
201
|
+
children: /*#__PURE__*/_jsx(X, {
|
|
202
|
+
size: 18,
|
|
203
|
+
color: colors.text.secondary
|
|
204
|
+
})
|
|
205
|
+
})]
|
|
206
|
+
}), searchable ? /*#__PURE__*/_jsx(SearchInput, {
|
|
207
|
+
value: query,
|
|
208
|
+
onChangeText: setQuery,
|
|
209
|
+
placeholder: searchPlaceholder,
|
|
210
|
+
debounceMs: 0,
|
|
211
|
+
style: {
|
|
212
|
+
marginHorizontal: SPACE['4'],
|
|
213
|
+
marginBottom: SPACE['3']
|
|
214
|
+
}
|
|
215
|
+
}) : null, showEmpty ? /*#__PURE__*/_jsx(View, {
|
|
216
|
+
style: {
|
|
217
|
+
flex: 1
|
|
218
|
+
},
|
|
219
|
+
children: emptyState ?? defaultEmpty
|
|
220
|
+
}) : /*#__PURE__*/_jsx(FlatList, {
|
|
221
|
+
data: filteredItems,
|
|
222
|
+
keyExtractor: keyExtractor,
|
|
223
|
+
renderItem: renderItem,
|
|
224
|
+
style: {
|
|
225
|
+
flex: 1
|
|
226
|
+
}
|
|
227
|
+
// `"always"` lets a row own the first tap while the search field
|
|
228
|
+
// holds focus (the New-Architecture keyboard-persist contract).
|
|
229
|
+
,
|
|
230
|
+
keyboardShouldPersistTaps: "always",
|
|
231
|
+
keyboardDismissMode: "on-drag",
|
|
232
|
+
contentContainerStyle: {
|
|
233
|
+
paddingBottom: SPACE['2']
|
|
234
|
+
}
|
|
235
|
+
})]
|
|
236
|
+
})
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=SelectionSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","FlatList","Pressable","View","useWindowDimensions","Check","X","Text","AppImage","SearchInput","BottomActionSheet","useColors","SPACE","jsx","_jsx","jsxs","_jsxs","THUMB_SIZE","ROW_MIN_HEIGHT","SHEET_HEIGHT_RATIO","SelectionSheet","visible","onClose","title","items","selectedId","onSelect","searchable","searchPlaceholder","emptyState","colors","height","query","setQuery","filteredItems","needle","trim","toLowerCase","filter","it","inLabel","label","includes","inSubtitle","subtitle","handleSelect","item","keyExtractor","id","renderItem","isSelected","Icon","icon","onPress","accessibilityRole","accessibilityLabel","accessibilityState","selected","style","pressed","flexDirection","alignItems","paddingHorizontal","paddingVertical","minHeight","backgroundColor","bg","tertiary","secondary","children","imageUri","source","uri","width","borderRadius","contentFit","transition","recyclingKey","justifyContent","size","color","text","flex","marginLeft","variant","numberOfLines","marginTop","brand","primary","showEmpty","length","defaultEmpty","paddingTop","Math","round","marginBottom","hitSlop","value","onChangeText","placeholder","debounceMs","marginHorizontal","data","keyboardShouldPersistTaps","keyboardDismissMode","contentContainerStyle","paddingBottom"],"sourceRoot":"../../../src","sources":["components/SelectionSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Pressable, View } from 'react-native';
|
|
4
|
+
import { ChevronRight } from 'lucide-react-native';
|
|
5
|
+
import { Text } from "./Text.js";
|
|
6
|
+
import { ToggleRow } from "./ToggleRow.js";
|
|
7
|
+
import { useColors } from "../theme/ThemeProvider.js";
|
|
8
|
+
import { SPACE, RADIUS } from "../theme/scale.js";
|
|
9
|
+
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Types — a discriminated union on `type`
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
/** Tappable navigation / action row — shows an optional value + chevron. */
|
|
15
|
+
|
|
16
|
+
/** Toggle row — delegates layout to {@link ToggleRow}. */
|
|
17
|
+
|
|
18
|
+
/** Static info row — a label + read-only value (string or a custom cell). */
|
|
19
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Component
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Theme-agnostic settings row in three shapes, discriminated on `type`:
|
|
26
|
+
* - `'pressable'` — a tappable navigation/action row (trailing value + chevron),
|
|
27
|
+
* - `'toggle'` — a label + `Switch` (delegates to {@link ToggleRow}),
|
|
28
|
+
* - `'info'` — a static label + read-only value.
|
|
29
|
+
*
|
|
30
|
+
* Color comes INLINE from {@link useColors}: the leading icon disc fills with
|
|
31
|
+
* `bg.secondary`, the label defaults to `text.primary` (via {@link Text}, or
|
|
32
|
+
* `semantic.error` when a pressable row is `destructive`), and the description +
|
|
33
|
+
* trailing value + chevron use the tertiary tokens. `className` is intentionally
|
|
34
|
+
* not exposed — rows are designed to sit flush inside a {@link SettingsSection}
|
|
35
|
+
* card, so their padding/alignment is fixed for consistency.
|
|
36
|
+
*/
|
|
37
|
+
export function SettingsRow(props) {
|
|
38
|
+
const colors = useColors();
|
|
39
|
+
const {
|
|
40
|
+
icon,
|
|
41
|
+
label,
|
|
42
|
+
description
|
|
43
|
+
} = props;
|
|
44
|
+
|
|
45
|
+
// Toggle rows delegate to <ToggleRow> — that component owns the row layout,
|
|
46
|
+
// icon disc, and Switch. Forwarding the pre-rendered icon element keeps the
|
|
47
|
+
// `icon: React.ReactNode` contract for SettingsRow callers.
|
|
48
|
+
if (props.type === 'toggle') {
|
|
49
|
+
return /*#__PURE__*/_jsx(ToggleRow, {
|
|
50
|
+
label: label,
|
|
51
|
+
helperText: description,
|
|
52
|
+
value: props.value,
|
|
53
|
+
onValueChange: props.onValueChange,
|
|
54
|
+
icon: icon
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
const labelColor = props.type === 'pressable' && props.destructive ? {
|
|
58
|
+
color: colors.semantic.error
|
|
59
|
+
} : undefined;
|
|
60
|
+
const inner = /*#__PURE__*/_jsxs(View, {
|
|
61
|
+
style: {
|
|
62
|
+
flexDirection: 'row',
|
|
63
|
+
alignItems: 'center',
|
|
64
|
+
gap: SPACE['3'],
|
|
65
|
+
paddingVertical: 4
|
|
66
|
+
},
|
|
67
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
68
|
+
style: {
|
|
69
|
+
width: 36,
|
|
70
|
+
height: 36,
|
|
71
|
+
borderRadius: RADIUS.full,
|
|
72
|
+
alignItems: 'center',
|
|
73
|
+
justifyContent: 'center',
|
|
74
|
+
backgroundColor: colors.bg.secondary
|
|
75
|
+
},
|
|
76
|
+
children: icon
|
|
77
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
78
|
+
style: {
|
|
79
|
+
flex: 1
|
|
80
|
+
},
|
|
81
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
82
|
+
variant: "body-md",
|
|
83
|
+
style: labelColor,
|
|
84
|
+
children: label
|
|
85
|
+
}), description ? /*#__PURE__*/_jsx(Text, {
|
|
86
|
+
variant: "caption",
|
|
87
|
+
style: {
|
|
88
|
+
marginTop: SPACE['0.5'],
|
|
89
|
+
color: colors.text.tertiary
|
|
90
|
+
},
|
|
91
|
+
children: description
|
|
92
|
+
}) : null]
|
|
93
|
+
}), props.type === 'pressable' && /*#__PURE__*/_jsxs(_Fragment, {
|
|
94
|
+
children: [props.value ? /*#__PURE__*/_jsx(Text, {
|
|
95
|
+
variant: "body-sm",
|
|
96
|
+
style: {
|
|
97
|
+
color: colors.text.tertiary
|
|
98
|
+
},
|
|
99
|
+
children: props.value
|
|
100
|
+
}) : null, props.showChevron !== false && /*#__PURE__*/_jsx(ChevronRight, {
|
|
101
|
+
size: 16,
|
|
102
|
+
color: colors.text.tertiary
|
|
103
|
+
})]
|
|
104
|
+
}), props.type === 'info' && (typeof props.value === 'string' ? /*#__PURE__*/_jsx(Text, {
|
|
105
|
+
variant: "body-sm",
|
|
106
|
+
style: {
|
|
107
|
+
color: colors.text.tertiary
|
|
108
|
+
},
|
|
109
|
+
children: props.value
|
|
110
|
+
}) : props.value)]
|
|
111
|
+
});
|
|
112
|
+
if (props.type === 'pressable') {
|
|
113
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
114
|
+
onPress: props.onPress,
|
|
115
|
+
hitSlop: 4,
|
|
116
|
+
children: inner
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return inner;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=SettingsRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Pressable","View","ChevronRight","Text","ToggleRow","useColors","SPACE","RADIUS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SettingsRow","props","colors","icon","label","description","type","helperText","value","onValueChange","labelColor","destructive","color","semantic","error","undefined","inner","style","flexDirection","alignItems","gap","paddingVertical","children","width","height","borderRadius","full","justifyContent","backgroundColor","bg","secondary","flex","variant","marginTop","text","tertiary","showChevron","size","onPress","hitSlop"],"sourceRoot":"../../../src","sources":["components/SettingsRow.tsx"],"mappings":";;AACA,SAASA,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAC9C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,SAAS,QAAQ,2BAAwB;AAClD,SAASC,KAAK,EAAEC,MAAM,QAAQ,mBAAgB;;AAE9C;AACA;AACA;;AAUA;;AAYA;;AAOA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAgBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,KAAuB,EAAE;EACnD,MAAMC,MAAM,GAAGX,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAEY,IAAI;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAGJ,KAAK;;EAE1C;EACA;EACA;EACA,IAAIA,KAAK,CAACK,IAAI,KAAK,QAAQ,EAAE;IAC3B,oBACEX,IAAA,CAACL,SAAS;MACRc,KAAK,EAAEA,KAAM;MACbG,UAAU,EAAEF,WAAY;MACxBG,KAAK,EAAEP,KAAK,CAACO,KAAM;MACnBC,aAAa,EAAER,KAAK,CAACQ,aAAc;MACnCN,IAAI,EAAEA;IAA2B,CAClC,CAAC;EAEN;EAEA,MAAMO,UAAU,GACdT,KAAK,CAACK,IAAI,KAAK,WAAW,IAAIL,KAAK,CAACU,WAAW,GAAG;IAAEC,KAAK,EAAEV,MAAM,CAACW,QAAQ,CAACC;EAAM,CAAC,GAAGC,SAAS;EAEhG,MAAMC,KAAK,gBACTnB,KAAA,CAACV,IAAI;IAAC8B,KAAK,EAAE;MAAEC,aAAa,EAAE,KAAK;MAAEC,UAAU,EAAE,QAAQ;MAAEC,GAAG,EAAE5B,KAAK,CAAC,GAAG,CAAC;MAAE6B,eAAe,EAAE;IAAE,CAAE;IAAAC,QAAA,gBAC/F3B,IAAA,CAACR,IAAI;MACH8B,KAAK,EAAE;QACLM,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVC,YAAY,EAAEhC,MAAM,CAACiC,IAAI;QACzBP,UAAU,EAAE,QAAQ;QACpBQ,cAAc,EAAE,QAAQ;QACxBC,eAAe,EAAE1B,MAAM,CAAC2B,EAAE,CAACC;MAC7B,CAAE;MAAAR,QAAA,EAEDnB;IAAI,CACD,CAAC,eACPN,KAAA,CAACV,IAAI;MAAC8B,KAAK,EAAE;QAAEc,IAAI,EAAE;MAAE,CAAE;MAAAT,QAAA,gBACvB3B,IAAA,CAACN,IAAI;QAAC2C,OAAO,EAAC,SAAS;QAACf,KAAK,EAAEP,UAAW;QAAAY,QAAA,EACvClB;MAAK,CACF,CAAC,EACNC,WAAW,gBACVV,IAAA,CAACN,IAAI;QACH2C,OAAO,EAAC,SAAS;QACjBf,KAAK,EAAE;UAAEgB,SAAS,EAAEzC,KAAK,CAAC,KAAK,CAAC;UAAEoB,KAAK,EAAEV,MAAM,CAACgC,IAAI,CAACC;QAAS,CAAE;QAAAb,QAAA,EAE/DjB;MAAW,CACR,CAAC,GACL,IAAI;IAAA,CACJ,CAAC,EACNJ,KAAK,CAACK,IAAI,KAAK,WAAW,iBACzBT,KAAA,CAAAE,SAAA;MAAAuB,QAAA,GACGrB,KAAK,CAACO,KAAK,gBACVb,IAAA,CAACN,IAAI;QAAC2C,OAAO,EAAC,SAAS;QAACf,KAAK,EAAE;UAAEL,KAAK,EAAEV,MAAM,CAACgC,IAAI,CAACC;QAAS,CAAE;QAAAb,QAAA,EAC5DrB,KAAK,CAACO;MAAK,CACR,CAAC,GACL,IAAI,EACPP,KAAK,CAACmC,WAAW,KAAK,KAAK,iBAAIzC,IAAA,CAACP,YAAY;QAACiD,IAAI,EAAE,EAAG;QAACzB,KAAK,EAAEV,MAAM,CAACgC,IAAI,CAACC;MAAS,CAAE,CAAC;IAAA,CACvF,CACH,EACAlC,KAAK,CAACK,IAAI,KAAK,MAAM,KACnB,OAAOL,KAAK,CAACO,KAAK,KAAK,QAAQ,gBAC9Bb,IAAA,CAACN,IAAI;MAAC2C,OAAO,EAAC,SAAS;MAACf,KAAK,EAAE;QAAEL,KAAK,EAAEV,MAAM,CAACgC,IAAI,CAACC;MAAS,CAAE;MAAAb,QAAA,EAC5DrB,KAAK,CAACO;IAAK,CACR,CAAC,GAEPP,KAAK,CAACO,KACP,CAAC;EAAA,CACA,CACP;EAED,IAAIP,KAAK,CAACK,IAAI,KAAK,WAAW,EAAE;IAC9B,oBACEX,IAAA,CAACT,SAAS;MAACoD,OAAO,EAAErC,KAAK,CAACqC,OAAQ;MAACC,OAAO,EAAE,CAAE;MAAAjB,QAAA,EAC3CN;IAAK,CACG,CAAC;EAEhB;EAEA,OAAOA,KAAK;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { View } from 'react-native';
|
|
4
|
+
import { Text } from "./Text.js";
|
|
5
|
+
import { Card } from "./Card.js";
|
|
6
|
+
import { SPACE } from "../theme/scale.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
/**
|
|
9
|
+
* Theme-agnostic settings section: a horizontally-inset heading followed by a
|
|
10
|
+
* {@link Card}-wrapped body. Groups related rows on a settings screen
|
|
11
|
+
* (Appearance, Notifications, Privacy, About).
|
|
12
|
+
*
|
|
13
|
+
* It carries NO color of its own — the heading uses {@link Text}'s default
|
|
14
|
+
* `text.primary` and the surface is the library's themed {@link Card}. Layout
|
|
15
|
+
* (the standard horizontal inset + bottom gap so stacked sections space evenly)
|
|
16
|
+
* is applied INLINE from the library-owned {@link SPACE} scale, so the section
|
|
17
|
+
* renders with no NativeWind setup in the consumer; `style` is an inline
|
|
18
|
+
* override merged last.
|
|
19
|
+
*/
|
|
20
|
+
export function SettingsSection({
|
|
21
|
+
heading,
|
|
22
|
+
children,
|
|
23
|
+
style
|
|
24
|
+
}) {
|
|
25
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
26
|
+
style: [{
|
|
27
|
+
paddingHorizontal: SPACE['5'],
|
|
28
|
+
marginBottom: SPACE['6']
|
|
29
|
+
}, style],
|
|
30
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
31
|
+
variant: "heading-lg",
|
|
32
|
+
style: {
|
|
33
|
+
marginBottom: SPACE['3']
|
|
34
|
+
},
|
|
35
|
+
children: heading
|
|
36
|
+
}), /*#__PURE__*/_jsx(Card, {
|
|
37
|
+
children: children
|
|
38
|
+
})]
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=SettingsSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","Text","Card","SPACE","jsx","_jsx","jsxs","_jsxs","SettingsSection","heading","children","style","paddingHorizontal","marginBottom","variant"],"sourceRoot":"../../../src","sources":["components/SettingsSection.tsx"],"mappings":";;AACA,SAASA,IAAI,QAAwC,cAAc;AACnE,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,KAAK,QAAQ,mBAAgB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAWtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAA4B,CAAC,EAAE;EAClF,oBACEJ,KAAA,CAACP,IAAI;IAACW,KAAK,EAAE,CAAC;MAAEC,iBAAiB,EAAET,KAAK,CAAC,GAAG,CAAC;MAAEU,YAAY,EAAEV,KAAK,CAAC,GAAG;IAAE,CAAC,EAAEQ,KAAK,CAAE;IAAAD,QAAA,gBAChFL,IAAA,CAACJ,IAAI;MAACa,OAAO,EAAC,YAAY;MAACH,KAAK,EAAE;QAAEE,YAAY,EAAEV,KAAK,CAAC,GAAG;MAAE,CAAE;MAAAO,QAAA,EAC5DD;IAAO,CACJ,CAAC,eACPJ,IAAA,CAACH,IAAI;MAAAQ,QAAA,EAAEA;IAAQ,CAAO,CAAC;EAAA,CACnB,CAAC;AAEX","ignoreList":[]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { InteractionManager, View } from 'react-native';
|
|
5
|
+
import { LinearGradient } from 'expo-linear-gradient';
|
|
6
|
+
import Animated, { makeMutable, useSharedValue, useAnimatedStyle, withRepeat, withTiming, Easing, interpolate, useReducedMotion, cancelAnimation } from 'react-native-reanimated';
|
|
7
|
+
import { useColors } from "../theme/ThemeProvider.js";
|
|
8
|
+
import { hexToRgba } from "../internal/hexToRgba.js";
|
|
9
|
+
import { createRefCounter } from "../internal/refCounter.js";
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const SHIMMER_DURATION_MS = 1400;
|
|
12
|
+
// `rgba(…,0)` endpoints (alpha 0, NOT plain 'transparent') avoid iOS's black
|
|
13
|
+
// fringe in gradients.
|
|
14
|
+
const SHIMMER_OFF = 'rgba(255,255,255,0)';
|
|
15
|
+
const AnimatedGradient = Animated.createAnimatedComponent(LinearGradient);
|
|
16
|
+
|
|
17
|
+
// ONE module-level loop drives every sweep on screen, refcounted so it runs only
|
|
18
|
+
// while at least one sweep is mounted. A per-instance `withRepeat` would start
|
|
19
|
+
// one UI-thread loop per block (a screen full of skeletons spun up dozens and
|
|
20
|
+
// froze the tab transition in the pilot consumer).
|
|
21
|
+
const shimmerProgress = makeMutable(0);
|
|
22
|
+
const shimmerLoop = createRefCounter(() => {
|
|
23
|
+
shimmerProgress.value = 0;
|
|
24
|
+
shimmerProgress.value = withRepeat(withTiming(1, {
|
|
25
|
+
duration: SHIMMER_DURATION_MS,
|
|
26
|
+
easing: Easing.linear
|
|
27
|
+
}), -1, false);
|
|
28
|
+
}, () => cancelAnimation(shimmerProgress));
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* False on the first frames, true once pending interactions (the navigation
|
|
32
|
+
* transition that mounted the skeleton) have settled — so a screen full of
|
|
33
|
+
* placeholder blocks paints instantly as plain Views and mounts the animated
|
|
34
|
+
* sweep afterward.
|
|
35
|
+
*/
|
|
36
|
+
function useAfterInteractions() {
|
|
37
|
+
const [done, setDone] = useState(false);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
const task = InteractionManager.runAfterInteractions(() => setDone(true));
|
|
40
|
+
return () => task.cancel();
|
|
41
|
+
}, []);
|
|
42
|
+
return done;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The animated highlight band. Self-measures its width into a shared value (no
|
|
47
|
+
* setState, no worklet rebuild, no re-render) and reads the module-level loop —
|
|
48
|
+
* mounting N sweeps adds N mappers but zero extra animations or renders.
|
|
49
|
+
*/
|
|
50
|
+
function ShimmerSweep({
|
|
51
|
+
highlight
|
|
52
|
+
}) {
|
|
53
|
+
const bandWidth = useSharedValue(0);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
shimmerLoop.retain();
|
|
56
|
+
return () => shimmerLoop.release();
|
|
57
|
+
}, []);
|
|
58
|
+
const sweepStyle = useAnimatedStyle(() => ({
|
|
59
|
+
opacity: bandWidth.value === 0 ? 0 : 1,
|
|
60
|
+
transform: [{
|
|
61
|
+
translateX: interpolate(shimmerProgress.value, [0, 1], [-bandWidth.value, bandWidth.value])
|
|
62
|
+
}]
|
|
63
|
+
}));
|
|
64
|
+
return /*#__PURE__*/_jsx(AnimatedGradient, {
|
|
65
|
+
onLayout: e => {
|
|
66
|
+
bandWidth.value = Math.round(e.nativeEvent.layout.width);
|
|
67
|
+
},
|
|
68
|
+
colors: [SHIMMER_OFF, highlight, SHIMMER_OFF],
|
|
69
|
+
start: {
|
|
70
|
+
x: 0,
|
|
71
|
+
y: 0.3
|
|
72
|
+
},
|
|
73
|
+
end: {
|
|
74
|
+
x: 1,
|
|
75
|
+
y: 0.7
|
|
76
|
+
},
|
|
77
|
+
style: [{
|
|
78
|
+
position: 'absolute',
|
|
79
|
+
top: 0,
|
|
80
|
+
bottom: 0,
|
|
81
|
+
left: 0,
|
|
82
|
+
right: 0
|
|
83
|
+
}, sweepStyle]
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Theme-agnostic shimmer placeholder — the generic loading-block primitive.
|
|
88
|
+
* Compose several to build a screen's skeleton (the domain skeletons —
|
|
89
|
+
* inventory / detail / chat layouts — stay per app).
|
|
90
|
+
*
|
|
91
|
+
* Colour comes INLINE from {@link useColors}: the base fills with `bg.tertiary`
|
|
92
|
+
* and the moving highlight is a translucent wash DERIVED from `bg.card` via
|
|
93
|
+
* {@link hexToRgba} (overridable via `highlightColor`) — no hardcoded brand
|
|
94
|
+
* colour. The pilot consumer keyed the highlight off `useTheme().isDark`, which
|
|
95
|
+
* is not part of everkit's theme contract, so the brightest-surface wash is used
|
|
96
|
+
* instead. Honors Reduce-Motion (renders a static block) and defers the animated
|
|
97
|
+
* sweep until navigation interactions settle.
|
|
98
|
+
*/
|
|
99
|
+
export function Skeleton({
|
|
100
|
+
width = '100%',
|
|
101
|
+
height = 16,
|
|
102
|
+
borderRadius = 8,
|
|
103
|
+
highlightColor,
|
|
104
|
+
style
|
|
105
|
+
}) {
|
|
106
|
+
const colors = useColors();
|
|
107
|
+
const reducedMotion = useReducedMotion();
|
|
108
|
+
// The first frame is a plain View — all Reanimated machinery mounts only after
|
|
109
|
+
// the navigation transition settles, so a screen full of skeletons paints
|
|
110
|
+
// immediately.
|
|
111
|
+
const interactionsDone = useAfterInteractions();
|
|
112
|
+
const highlight = highlightColor ?? hexToRgba(colors.bg.card, 0.6);
|
|
113
|
+
return /*#__PURE__*/_jsx(View, {
|
|
114
|
+
style: [{
|
|
115
|
+
width: width,
|
|
116
|
+
height,
|
|
117
|
+
borderRadius,
|
|
118
|
+
backgroundColor: colors.bg.tertiary,
|
|
119
|
+
overflow: 'hidden'
|
|
120
|
+
}, style],
|
|
121
|
+
children: !reducedMotion && interactionsDone && /*#__PURE__*/_jsx(ShimmerSweep, {
|
|
122
|
+
highlight: highlight
|
|
123
|
+
})
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useState","InteractionManager","View","LinearGradient","Animated","makeMutable","useSharedValue","useAnimatedStyle","withRepeat","withTiming","Easing","interpolate","useReducedMotion","cancelAnimation","useColors","hexToRgba","createRefCounter","jsx","_jsx","SHIMMER_DURATION_MS","SHIMMER_OFF","AnimatedGradient","createAnimatedComponent","shimmerProgress","shimmerLoop","value","duration","easing","linear","useAfterInteractions","done","setDone","task","runAfterInteractions","cancel","ShimmerSweep","highlight","bandWidth","retain","release","sweepStyle","opacity","transform","translateX","onLayout","e","Math","round","nativeEvent","layout","width","colors","start","x","y","end","style","position","top","bottom","left","right","Skeleton","height","borderRadius","highlightColor","reducedMotion","interactionsDone","bg","card","backgroundColor","tertiary","overflow","children"],"sourceRoot":"../../../src","sources":["components/Skeleton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { ActivityIndicator } from 'react-native';
|
|
4
|
+
import { useColors } from "../theme/ThemeProvider.js";
|
|
5
|
+
import { resolveSpinnerProps } from "../internal/spinnerProps.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
/**
|
|
8
|
+
* Theme-agnostic inline loading spinner — for spinners inside buttons, list
|
|
9
|
+
* footers, small badges, content-area placeholders, and overlay cards.
|
|
10
|
+
*
|
|
11
|
+
* Color comes INLINE from {@link useColors}: it defaults to `brand.primary` so
|
|
12
|
+
* callers can usually omit it (pass `color` to override — e.g. anything on a
|
|
13
|
+
* brand background uses `text.inverse`). The size → `ActivityIndicator`
|
|
14
|
+
* size/transform mapping is kept pure in the lifted {@link resolveSpinnerProps}
|
|
15
|
+
* helper. There is no `className` — a spinner carries no layout of its own.
|
|
16
|
+
*/
|
|
17
|
+
export function Spinner({
|
|
18
|
+
size = 'md',
|
|
19
|
+
color,
|
|
20
|
+
style
|
|
21
|
+
}) {
|
|
22
|
+
const colors = useColors();
|
|
23
|
+
const resolved = resolveSpinnerProps(size);
|
|
24
|
+
|
|
25
|
+
// Compose `transform` (if any) with the caller's `style` so callers can still
|
|
26
|
+
// pass margins / padding without clobbering the `md` upscale.
|
|
27
|
+
const composedStyle = resolved.transform ? {
|
|
28
|
+
...(style ?? {}),
|
|
29
|
+
transform: resolved.transform
|
|
30
|
+
} : style;
|
|
31
|
+
return /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
32
|
+
size: resolved.size,
|
|
33
|
+
color: color ?? colors.brand.primary,
|
|
34
|
+
style: composedStyle
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=Spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ActivityIndicator","useColors","resolveSpinnerProps","jsx","_jsx","Spinner","size","color","style","colors","resolved","composedStyle","transform","brand","primary"],"sourceRoot":"../../../src","sources":["components/Spinner.tsx"],"mappings":";;AAAA,SAASA,iBAAiB,QAAwB,cAAc;AAChE,SAASC,SAAS,QAAQ,2BAAwB;AAClD,SAASC,mBAAmB,QAA0B,6BAA0B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAahF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,OAAOA,CAAC;EAAEC,IAAI,GAAG,IAAI;EAAEC,KAAK;EAAEC;AAAoB,CAAC,EAAE;EACnE,MAAMC,MAAM,GAAGR,SAAS,CAAC,CAAC;EAC1B,MAAMS,QAAQ,GAAGR,mBAAmB,CAACI,IAAI,CAAC;;EAE1C;EACA;EACA,MAAMK,aAAoC,GAAGD,QAAQ,CAACE,SAAS,GAC3D;IAAE,IAAIJ,KAAK,IAAI,CAAC,CAAC,CAAC;IAAEI,SAAS,EAAEF,QAAQ,CAACE;EAAU,CAAC,GACnDJ,KAAK;EAET,oBACEJ,IAAA,CAACJ,iBAAiB;IAChBM,IAAI,EAAEI,QAAQ,CAACJ,IAAK;IACpBC,KAAK,EAAEA,KAAK,IAAIE,MAAM,CAACI,KAAK,CAACC,OAAQ;IACrCN,KAAK,EAAEG;EAAc,CACtB,CAAC;AAEN","ignoreList":[]}
|