@webority/mobile-ui 0.88.0 → 0.89.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/README.md +2 -0
- package/lib/commonjs/canvasKit/index.js +1 -1
- package/lib/commonjs/canvasKit/meta.js +1 -0
- package/lib/commonjs/components/Accordion/Accordion.js +1 -1
- package/lib/commonjs/components/AmountSlider/AmountSlider.js +1 -1
- package/lib/commonjs/components/AnimatePresence/AnimatePresence.js +1 -1
- package/lib/commonjs/components/AppBar/AppBar.js +1 -1
- package/lib/commonjs/components/AppIcon/AppIcon.js +1 -1
- package/lib/commonjs/components/AsyncBlock/AsyncBlock.js +1 -1
- package/lib/commonjs/components/AuthedImage/AuthedImage.js +1 -1
- package/lib/commonjs/components/Autocomplete/Autocomplete.js +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +1 -1
- package/lib/commonjs/components/Badge/Badge.js +1 -1
- package/lib/commonjs/components/Banner/Banner.js +1 -1
- package/lib/commonjs/components/BarChart/BarChart.js +1 -1
- package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -1
- package/lib/commonjs/components/BottomSheet/BottomSheet.js +1 -1
- package/lib/commonjs/components/Box/Box.js +1 -1
- package/lib/commonjs/components/Button/Button.js +1 -1
- package/lib/commonjs/components/Calendar/Calendar.js +1 -1
- package/lib/commonjs/components/Calendar/CalendarDay.js +1 -1
- package/lib/commonjs/components/Calendar/calendarStyles.js +1 -1
- package/lib/commonjs/components/Card/Card.js +1 -1
- package/lib/commonjs/components/Carousel/Carousel.js +1 -1
- package/lib/commonjs/components/Checkbox/Checkbox.js +1 -1
- package/lib/commonjs/components/Chip/Chip.js +1 -1
- package/lib/commonjs/components/ChoiceGroup/ChoiceGroup.js +1 -1
- package/lib/commonjs/components/Composer/Composer.js +1 -1
- package/lib/commonjs/components/Confetti/Confetti.js +1 -1
- package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1
- package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +1 -1
- package/lib/commonjs/components/DateSeparator/DateSeparator.js +1 -1
- package/lib/commonjs/components/Descriptions/Descriptions.js +1 -1
- package/lib/commonjs/components/Dialog/Dialog.js +1 -1
- package/lib/commonjs/components/Divider/Divider.js +1 -1
- package/lib/commonjs/components/Drawer/Drawer.js +1 -1
- package/lib/commonjs/components/EmptyState/EmptyState.js +1 -1
- package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js +1 -1
- package/lib/commonjs/components/FieldBase/Chevron.js +1 -1
- package/lib/commonjs/components/FieldBase/ChoiceText.js +1 -1
- package/lib/commonjs/components/FieldBase/FieldBase.js +1 -1
- package/lib/commonjs/components/FieldBase/useFloatingLabel.js +1 -1
- package/lib/commonjs/components/FilePicker/FilePicker.js +1 -1
- package/lib/commonjs/components/FileViewer/FileViewer.js +1 -1
- package/lib/commonjs/components/FilterChipRow/FilterChipRow.js +1 -1
- package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.js +1 -1
- package/lib/commonjs/components/FormField/FormField.js +1 -1
- package/lib/commonjs/components/IconBadge/IconBadge.js +1 -1
- package/lib/commonjs/components/IconButton/IconButton.js +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/commonjs/components/InlineSelect/InlineSelect.js +1 -1
- package/lib/commonjs/components/Input/Input.js +1 -1
- package/lib/commonjs/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -1
- package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
- package/lib/commonjs/components/ListItem/ListItem.js +1 -1
- package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.js +1 -1
- package/lib/commonjs/components/Markdown/Markdown.js +1 -1
- package/lib/commonjs/components/Menu/MenuSurface.js +1 -1
- package/lib/commonjs/components/MessageBubble/MessageBubble.js +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +1 -1
- package/lib/commonjs/components/Modal/Modal.js +1 -1
- package/lib/commonjs/components/Notation/Notation.js +1 -1
- package/lib/commonjs/components/NumberInput/NumberInput.js +1 -1
- package/lib/commonjs/components/OTPInput/OTPInput.js +1 -1
- package/lib/commonjs/components/OnboardingPager/OnboardingPager.js +1 -1
- package/lib/commonjs/components/OptionSheet/OptionSheet.js +1 -1
- package/lib/commonjs/components/PaymentResult/PaymentResult.js +1 -1
- package/lib/commonjs/components/PermissionPrompt/PermissionPrompt.js +1 -1
- package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
- package/lib/commonjs/components/PickerTrigger/PickerTrigger.js +1 -1
- package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.js +1 -1
- package/lib/commonjs/components/ProfilePicker/ProfilePicker.js +1 -1
- package/lib/commonjs/components/ProgressBar/ProgressBar.js +1 -1
- package/lib/commonjs/components/ProgressRing/ProgressRing.js +1 -1
- package/lib/commonjs/components/Radio/Radio.js +1 -1
- package/lib/commonjs/components/Radio/RadioDot.js +1 -1
- package/lib/commonjs/components/Rating/Rating.js +1 -1
- package/lib/commonjs/components/Repeater/Repeater.js +1 -1
- package/lib/commonjs/components/RichTextEditor/RichTextEditor.js +1 -1
- package/lib/commonjs/components/ScannerOverlay/ScannerOverlay.js +1 -1
- package/lib/commonjs/components/Screen/Screen.js +1 -1
- package/lib/commonjs/components/SearchBar/SearchBar.js +1 -1
- package/lib/commonjs/components/SearchBar/SearchPanel.js +1 -1
- package/lib/commonjs/components/SectionHeader/SectionHeader.js +1 -1
- package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +1 -1
- package/lib/commonjs/components/Select/Select.js +1 -1
- package/lib/commonjs/components/SignaturePad/SignaturePad.js +1 -1
- package/lib/commonjs/components/Skeleton/Skeleton.js +1 -1
- package/lib/commonjs/components/Skeleton/SkeletonContent.js +1 -1
- package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.js +1 -1
- package/lib/commonjs/components/Slider/Slider.js +1 -1
- package/lib/commonjs/components/Slider/valueText.js +1 -1
- package/lib/commonjs/components/SliderField/SliderField.js +1 -1
- package/lib/commonjs/components/Sparkline/Sparkline.js +1 -1
- package/lib/commonjs/components/Spinner/Spinner.js +1 -1
- package/lib/commonjs/components/StatTile/StatTile.js +1 -1
- package/lib/commonjs/components/StatusBadge/StatusBadge.js +1 -1
- package/lib/commonjs/components/Stepper/Stepper.js +1 -1
- package/lib/commonjs/components/Swipeable/Swipeable.js +1 -1
- package/lib/commonjs/components/Switch/Switch.js +1 -1
- package/lib/commonjs/components/Tabs/Tabs.js +1 -1
- package/lib/commonjs/components/TagInput/TagInput.js +1 -1
- package/lib/commonjs/components/Text/Text.js +1 -1
- package/lib/commonjs/components/TimePicker/TimePicker.js +1 -1
- package/lib/commonjs/components/Timeline/Timeline.js +1 -1
- package/lib/commonjs/components/Toast/Toast.js +1 -1
- package/lib/commonjs/components/Toast/ToastProvider.js +1 -1
- package/lib/commonjs/components/Tooltip/RichTooltipBody.js +1 -1
- package/lib/commonjs/components/Tooltip/Tooltip.js +1 -1
- package/lib/commonjs/components/Tour/Tour.js +1 -1
- package/lib/commonjs/components/TypingIndicator/TypingIndicator.js +1 -1
- package/lib/commonjs/components/WheelPicker/Wheel.js +1 -1
- package/lib/commonjs/components/WheelPicker/WheelPicker.js +1 -1
- package/lib/commonjs/hooks/useDragToDismiss.js +1 -1
- package/lib/commonjs/hooks/usePressAnimation.js +1 -1
- package/lib/commonjs/hooks/useRefreshControl.js +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/initUI.js +1 -1
- package/lib/commonjs/network/NetworkStatusBanner.js +1 -1
- package/lib/commonjs/theme/ThemeContext.js +1 -1
- package/lib/commonjs/theme/componentSizes.js +1 -1
- package/lib/commonjs/theme/index.js +1 -1
- package/lib/commonjs/theme/merge.js +1 -1
- package/lib/commonjs/theme/scale.js +1 -1
- package/lib/commonjs/theme/textStyle.js +1 -1
- package/lib/commonjs/theme/tokens.generated.js +1 -0
- package/lib/commonjs/theme/tokens.js +1 -1
- package/lib/commonjs/utils/color.js +1 -1
- package/lib/module/canvasKit/index.js +1 -1
- package/lib/module/canvasKit/meta.js +1 -0
- package/lib/module/components/Accordion/Accordion.js +1 -1
- package/lib/module/components/AmountSlider/AmountSlider.js +1 -1
- package/lib/module/components/AnimatePresence/AnimatePresence.js +1 -1
- package/lib/module/components/AppBar/AppBar.js +1 -1
- package/lib/module/components/AppIcon/AppIcon.js +1 -1
- package/lib/module/components/AsyncBlock/AsyncBlock.js +1 -1
- package/lib/module/components/AuthedImage/AuthedImage.js +1 -1
- package/lib/module/components/Autocomplete/Autocomplete.js +1 -1
- package/lib/module/components/Avatar/Avatar.js +1 -1
- package/lib/module/components/Badge/Badge.js +1 -1
- package/lib/module/components/Banner/Banner.js +1 -1
- package/lib/module/components/BarChart/BarChart.js +1 -1
- package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
- package/lib/module/components/BottomSheet/BottomSheet.js +1 -1
- package/lib/module/components/Box/Box.js +1 -1
- package/lib/module/components/Button/Button.js +1 -1
- package/lib/module/components/Calendar/Calendar.js +1 -1
- package/lib/module/components/Calendar/CalendarDay.js +1 -1
- package/lib/module/components/Calendar/calendarStyles.js +1 -1
- package/lib/module/components/Card/Card.js +1 -1
- package/lib/module/components/Carousel/Carousel.js +1 -1
- package/lib/module/components/Checkbox/Checkbox.js +1 -1
- package/lib/module/components/Chip/Chip.js +1 -1
- package/lib/module/components/ChoiceGroup/ChoiceGroup.js +1 -1
- package/lib/module/components/Composer/Composer.js +1 -1
- package/lib/module/components/Confetti/Confetti.js +1 -1
- package/lib/module/components/DatePicker/DatePicker.js +1 -1
- package/lib/module/components/DateRangePicker/DateRangePicker.js +1 -1
- package/lib/module/components/DateSeparator/DateSeparator.js +1 -1
- package/lib/module/components/Descriptions/Descriptions.js +1 -1
- package/lib/module/components/Dialog/Dialog.js +1 -1
- package/lib/module/components/Divider/Divider.js +1 -1
- package/lib/module/components/Drawer/Drawer.js +1 -1
- package/lib/module/components/EmptyState/EmptyState.js +1 -1
- package/lib/module/components/ErrorBoundary/ErrorBoundary.js +1 -1
- package/lib/module/components/FieldBase/Chevron.js +1 -1
- package/lib/module/components/FieldBase/ChoiceText.js +1 -1
- package/lib/module/components/FieldBase/FieldBase.js +1 -1
- package/lib/module/components/FieldBase/useFloatingLabel.js +1 -1
- package/lib/module/components/FilePicker/FilePicker.js +1 -1
- package/lib/module/components/FileViewer/FileViewer.js +1 -1
- package/lib/module/components/FilterChipRow/FilterChipRow.js +1 -1
- package/lib/module/components/FloatingActionButton/FloatingActionButton.js +1 -1
- package/lib/module/components/FormField/FormField.js +1 -1
- package/lib/module/components/IconBadge/IconBadge.js +1 -1
- package/lib/module/components/IconButton/IconButton.js +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/module/components/InlineSelect/InlineSelect.js +1 -1
- package/lib/module/components/Input/Input.js +1 -1
- package/lib/module/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -1
- package/lib/module/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
- package/lib/module/components/ListItem/ListItem.js +1 -1
- package/lib/module/components/LoaderOverlay/LoaderOverlay.js +1 -1
- package/lib/module/components/Markdown/Markdown.js +1 -1
- package/lib/module/components/Menu/MenuSurface.js +1 -1
- package/lib/module/components/MessageBubble/MessageBubble.js +1 -1
- package/lib/module/components/MessageList/MessageList.js +1 -1
- package/lib/module/components/Modal/Modal.js +1 -1
- package/lib/module/components/Notation/Notation.js +1 -1
- package/lib/module/components/NumberInput/NumberInput.js +1 -1
- package/lib/module/components/OTPInput/OTPInput.js +1 -1
- package/lib/module/components/OnboardingPager/OnboardingPager.js +1 -1
- package/lib/module/components/OptionSheet/OptionSheet.js +1 -1
- package/lib/module/components/PaymentResult/PaymentResult.js +1 -1
- package/lib/module/components/PermissionPrompt/PermissionPrompt.js +1 -1
- package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
- package/lib/module/components/PickerTrigger/PickerTrigger.js +1 -1
- package/lib/module/components/ProfileCompletion/ProfileCompletion.js +1 -1
- package/lib/module/components/ProfilePicker/ProfilePicker.js +1 -1
- package/lib/module/components/ProgressBar/ProgressBar.js +1 -1
- package/lib/module/components/ProgressRing/ProgressRing.js +1 -1
- package/lib/module/components/Radio/Radio.js +1 -1
- package/lib/module/components/Radio/RadioDot.js +1 -1
- package/lib/module/components/Rating/Rating.js +1 -1
- package/lib/module/components/Repeater/Repeater.js +1 -1
- package/lib/module/components/RichTextEditor/RichTextEditor.js +1 -1
- package/lib/module/components/ScannerOverlay/ScannerOverlay.js +1 -1
- package/lib/module/components/Screen/Screen.js +1 -1
- package/lib/module/components/SearchBar/SearchBar.js +1 -1
- package/lib/module/components/SearchBar/SearchPanel.js +1 -1
- package/lib/module/components/SectionHeader/SectionHeader.js +1 -1
- package/lib/module/components/SegmentedControl/SegmentedControl.js +1 -1
- package/lib/module/components/Select/Select.js +1 -1
- package/lib/module/components/SignaturePad/SignaturePad.js +1 -1
- package/lib/module/components/Skeleton/Skeleton.js +1 -1
- package/lib/module/components/Skeleton/SkeletonContent.js +1 -1
- package/lib/module/components/SlideToConfirm/SlideToConfirm.js +1 -1
- package/lib/module/components/Slider/Slider.js +1 -1
- package/lib/module/components/Slider/valueText.js +1 -1
- package/lib/module/components/SliderField/SliderField.js +1 -1
- package/lib/module/components/Sparkline/Sparkline.js +1 -1
- package/lib/module/components/Spinner/Spinner.js +1 -1
- package/lib/module/components/StatTile/StatTile.js +1 -1
- package/lib/module/components/StatusBadge/StatusBadge.js +1 -1
- package/lib/module/components/Stepper/Stepper.js +1 -1
- package/lib/module/components/Swipeable/Swipeable.js +1 -1
- package/lib/module/components/Switch/Switch.js +1 -1
- package/lib/module/components/Tabs/Tabs.js +1 -1
- package/lib/module/components/TagInput/TagInput.js +1 -1
- package/lib/module/components/Text/Text.js +1 -1
- package/lib/module/components/TimePicker/TimePicker.js +1 -1
- package/lib/module/components/Timeline/Timeline.js +1 -1
- package/lib/module/components/Toast/Toast.js +1 -1
- package/lib/module/components/Toast/ToastProvider.js +1 -1
- package/lib/module/components/Tooltip/RichTooltipBody.js +1 -1
- package/lib/module/components/Tooltip/Tooltip.js +1 -1
- package/lib/module/components/Tour/Tour.js +1 -1
- package/lib/module/components/TypingIndicator/TypingIndicator.js +1 -1
- package/lib/module/components/WheelPicker/Wheel.js +1 -1
- package/lib/module/components/WheelPicker/WheelPicker.js +1 -1
- package/lib/module/hooks/useDragToDismiss.js +1 -1
- package/lib/module/hooks/usePressAnimation.js +1 -1
- package/lib/module/hooks/useRefreshControl.js +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/initUI.js +1 -1
- package/lib/module/network/NetworkStatusBanner.js +1 -1
- package/lib/module/theme/ThemeContext.js +1 -1
- package/lib/module/theme/componentSizes.js +1 -1
- package/lib/module/theme/index.js +1 -1
- package/lib/module/theme/merge.js +1 -1
- package/lib/module/theme/scale.js +1 -1
- package/lib/module/theme/textStyle.js +1 -1
- package/lib/module/theme/tokens.generated.js +1 -0
- package/lib/module/theme/tokens.js +1 -1
- package/lib/module/utils/color.js +1 -1
- package/lib/typescript/commonjs/canvasKit/meta.d.ts +32 -0
- package/lib/typescript/commonjs/components/AmountSlider/AmountSlider.d.ts +1 -1
- package/lib/typescript/commonjs/components/AnimatePresence/AnimatePresence.d.ts +1 -1
- package/lib/typescript/commonjs/components/AppBar/AppBar.d.ts +4 -4
- package/lib/typescript/commonjs/components/AppIcon/AppIcon.d.ts +1 -1
- package/lib/typescript/commonjs/components/AppIcon/defaultIcons.d.ts +1 -1
- package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +4 -4
- package/lib/typescript/commonjs/components/Badge/Badge.d.ts +1 -1
- package/lib/typescript/commonjs/components/Banner/Banner.d.ts +1 -1
- package/lib/typescript/commonjs/components/BarChart/BarChart.d.ts +1 -1
- package/lib/typescript/commonjs/components/BottomNavigation/BottomNavigation.d.ts +8 -10
- package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +2 -2
- package/lib/typescript/commonjs/components/Box/Box.d.ts +21 -21
- package/lib/typescript/commonjs/components/Button/Button.d.ts +3 -3
- package/lib/typescript/commonjs/components/Calendar/Calendar.d.ts +1 -1
- package/lib/typescript/commonjs/components/Calendar/calendarStyles.d.ts +9 -9
- package/lib/typescript/commonjs/components/Card/Card.d.ts +7 -6
- package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +1 -1
- package/lib/typescript/commonjs/components/Chip/Chip.d.ts +1 -1
- package/lib/typescript/commonjs/components/ChoiceGroup/ChoiceGroup.d.ts +1 -1
- package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +2 -2
- package/lib/typescript/commonjs/components/FieldBase/Chevron.d.ts +1 -1
- package/lib/typescript/commonjs/components/FieldBase/FieldBase.d.ts +32 -33
- package/lib/typescript/commonjs/components/FieldBase/useFloatingLabel.d.ts +2 -3
- package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButton.d.ts +2 -2
- package/lib/typescript/commonjs/components/FormField/FormField.d.ts +2 -3
- package/lib/typescript/commonjs/components/IconBadge/IconBadge.d.ts +1 -1
- package/lib/typescript/commonjs/components/IconButton/IconButton.d.ts +2 -2
- package/lib/typescript/commonjs/components/InlineSelect/InlineSelect.d.ts +2 -3
- package/lib/typescript/commonjs/components/Input/Input.d.ts +2 -2
- package/lib/typescript/commonjs/components/Notation/Notation.d.ts +1 -1
- package/lib/typescript/commonjs/components/OptionSheet/OptionSheet.d.ts +2 -2
- package/lib/typescript/commonjs/components/PickerTrigger/PickerTrigger.d.ts +2 -3
- package/lib/typescript/commonjs/components/ProfileCompletion/ProfileCompletion.d.ts +3 -4
- package/lib/typescript/commonjs/components/ProfilePicker/ProfilePicker.d.ts +5 -6
- package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.d.ts +1 -1
- package/lib/typescript/commonjs/components/ProgressRing/ProgressRing.d.ts +6 -7
- package/lib/typescript/commonjs/components/Radio/Radio.d.ts +1 -1
- package/lib/typescript/commonjs/components/SearchBar/SearchBar.d.ts +1 -1
- package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.d.ts +3 -4
- package/lib/typescript/commonjs/components/Select/Select.d.ts +5 -5
- package/lib/typescript/commonjs/components/Skeleton/Skeleton.d.ts +2 -2
- package/lib/typescript/commonjs/components/SlideToConfirm/SlideToConfirm.d.ts +1 -1
- package/lib/typescript/commonjs/components/Slider/Slider.d.ts +6 -7
- package/lib/typescript/commonjs/components/Slider/valueText.d.ts +1 -1
- package/lib/typescript/commonjs/components/Sparkline/Sparkline.d.ts +1 -1
- package/lib/typescript/commonjs/components/StatusBadge/StatusBadge.d.ts +2 -3
- package/lib/typescript/commonjs/components/Swipeable/Swipeable.d.ts +2 -2
- package/lib/typescript/commonjs/components/Switch/Switch.d.ts +1 -1
- package/lib/typescript/commonjs/components/Tabs/Tabs.d.ts +6 -7
- package/lib/typescript/commonjs/components/Text/Text.d.ts +6 -7
- package/lib/typescript/commonjs/components/Timeline/Timeline.d.ts +1 -1
- package/lib/typescript/commonjs/components/Toast/Toast.d.ts +1 -1
- package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +2 -2
- package/lib/typescript/commonjs/components/Tour/Tour.d.ts +2 -2
- package/lib/typescript/commonjs/hooks/usePresenceMotion.d.ts +2 -2
- package/lib/typescript/commonjs/index.d.ts +2 -2
- package/lib/typescript/commonjs/initUI.d.ts +3 -3
- package/lib/typescript/commonjs/theme/ThemeContext.d.ts +5 -3
- package/lib/typescript/commonjs/theme/componentSizes.d.ts +40 -18
- package/lib/typescript/commonjs/theme/index.d.ts +15 -17
- package/lib/typescript/commonjs/theme/merge.d.ts +15 -2
- package/lib/typescript/commonjs/theme/scale.d.ts +6 -4
- package/lib/typescript/commonjs/theme/textStyle.d.ts +4 -17
- package/lib/typescript/commonjs/theme/tokens.generated.d.ts +362 -0
- package/lib/typescript/commonjs/theme/types.d.ts +104 -347
- package/lib/typescript/commonjs/utils/color.d.ts +6 -2
- package/lib/typescript/commonjs/utils/shadows.d.ts +2 -2
- package/lib/typescript/module/canvasKit/meta.d.ts +32 -0
- package/lib/typescript/module/components/AmountSlider/AmountSlider.d.ts +1 -1
- package/lib/typescript/module/components/AnimatePresence/AnimatePresence.d.ts +1 -1
- package/lib/typescript/module/components/AppBar/AppBar.d.ts +4 -4
- package/lib/typescript/module/components/AppIcon/AppIcon.d.ts +1 -1
- package/lib/typescript/module/components/AppIcon/defaultIcons.d.ts +1 -1
- package/lib/typescript/module/components/Avatar/Avatar.d.ts +4 -4
- package/lib/typescript/module/components/Badge/Badge.d.ts +1 -1
- package/lib/typescript/module/components/Banner/Banner.d.ts +1 -1
- package/lib/typescript/module/components/BarChart/BarChart.d.ts +1 -1
- package/lib/typescript/module/components/BottomNavigation/BottomNavigation.d.ts +8 -10
- package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +2 -2
- package/lib/typescript/module/components/Box/Box.d.ts +21 -21
- package/lib/typescript/module/components/Button/Button.d.ts +3 -3
- package/lib/typescript/module/components/Calendar/Calendar.d.ts +1 -1
- package/lib/typescript/module/components/Calendar/calendarStyles.d.ts +9 -9
- package/lib/typescript/module/components/Card/Card.d.ts +7 -6
- package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +1 -1
- package/lib/typescript/module/components/Chip/Chip.d.ts +1 -1
- package/lib/typescript/module/components/ChoiceGroup/ChoiceGroup.d.ts +1 -1
- package/lib/typescript/module/components/Dialog/Dialog.d.ts +2 -2
- package/lib/typescript/module/components/FieldBase/Chevron.d.ts +1 -1
- package/lib/typescript/module/components/FieldBase/FieldBase.d.ts +32 -33
- package/lib/typescript/module/components/FieldBase/useFloatingLabel.d.ts +2 -3
- package/lib/typescript/module/components/FloatingActionButton/FloatingActionButton.d.ts +2 -2
- package/lib/typescript/module/components/FormField/FormField.d.ts +2 -3
- package/lib/typescript/module/components/IconBadge/IconBadge.d.ts +1 -1
- package/lib/typescript/module/components/IconButton/IconButton.d.ts +2 -2
- package/lib/typescript/module/components/InlineSelect/InlineSelect.d.ts +2 -3
- package/lib/typescript/module/components/Input/Input.d.ts +2 -2
- package/lib/typescript/module/components/Notation/Notation.d.ts +1 -1
- package/lib/typescript/module/components/OptionSheet/OptionSheet.d.ts +2 -2
- package/lib/typescript/module/components/PickerTrigger/PickerTrigger.d.ts +2 -3
- package/lib/typescript/module/components/ProfileCompletion/ProfileCompletion.d.ts +3 -4
- package/lib/typescript/module/components/ProfilePicker/ProfilePicker.d.ts +5 -6
- package/lib/typescript/module/components/ProgressBar/ProgressBar.d.ts +1 -1
- package/lib/typescript/module/components/ProgressRing/ProgressRing.d.ts +6 -7
- package/lib/typescript/module/components/Radio/Radio.d.ts +1 -1
- package/lib/typescript/module/components/SearchBar/SearchBar.d.ts +1 -1
- package/lib/typescript/module/components/SegmentedControl/SegmentedControl.d.ts +3 -4
- package/lib/typescript/module/components/Select/Select.d.ts +5 -5
- package/lib/typescript/module/components/Skeleton/Skeleton.d.ts +2 -2
- package/lib/typescript/module/components/SlideToConfirm/SlideToConfirm.d.ts +1 -1
- package/lib/typescript/module/components/Slider/Slider.d.ts +6 -7
- package/lib/typescript/module/components/Slider/valueText.d.ts +1 -1
- package/lib/typescript/module/components/Sparkline/Sparkline.d.ts +1 -1
- package/lib/typescript/module/components/StatusBadge/StatusBadge.d.ts +2 -3
- package/lib/typescript/module/components/Swipeable/Swipeable.d.ts +2 -2
- package/lib/typescript/module/components/Switch/Switch.d.ts +1 -1
- package/lib/typescript/module/components/Tabs/Tabs.d.ts +6 -7
- package/lib/typescript/module/components/Text/Text.d.ts +6 -7
- package/lib/typescript/module/components/Timeline/Timeline.d.ts +1 -1
- package/lib/typescript/module/components/Toast/Toast.d.ts +1 -1
- package/lib/typescript/module/components/Toast/ToastProvider.d.ts +2 -2
- package/lib/typescript/module/components/Tour/Tour.d.ts +2 -2
- package/lib/typescript/module/hooks/usePresenceMotion.d.ts +2 -2
- package/lib/typescript/module/index.d.ts +2 -2
- package/lib/typescript/module/initUI.d.ts +3 -3
- package/lib/typescript/module/theme/ThemeContext.d.ts +5 -3
- package/lib/typescript/module/theme/componentSizes.d.ts +40 -18
- package/lib/typescript/module/theme/index.d.ts +15 -17
- package/lib/typescript/module/theme/merge.d.ts +15 -2
- package/lib/typescript/module/theme/scale.d.ts +6 -4
- package/lib/typescript/module/theme/textStyle.d.ts +4 -17
- package/lib/typescript/module/theme/tokens.generated.d.ts +362 -0
- package/lib/typescript/module/theme/types.d.ts +104 -347
- package/lib/typescript/module/utils/color.d.ts +6 -2
- package/lib/typescript/module/utils/shadows.d.ts +2 -2
- package/package.json +14 -15
- package/lib/commonjs/theme/componentTokens.js +0 -1
- package/lib/commonjs/theme/retiredThemeKeys.js +0 -1
- package/lib/module/theme/componentTokens.js +0 -1
- package/lib/module/theme/retiredThemeKeys.js +0 -1
- package/lib/typescript/commonjs/theme/componentTokens.d.ts +0 -762
- package/lib/typescript/commonjs/theme/retiredThemeKeys.d.ts +0 -22
- package/lib/typescript/module/theme/componentTokens.d.ts +0 -762
- package/lib/typescript/module/theme/retiredThemeKeys.d.ts +0 -22
package/README.md
CHANGED
|
@@ -8,6 +8,8 @@ and a dependency-free form engine. The platform layer (HTTP, auth, config, loggi
|
|
|
8
8
|
npm install @webority/mobile-ui
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
Theme: colours, radius and fonts come from the shared Webority tokens. An app passes its brand and settings to ThemeProvider (see docs/mobile/migration-to-0.89.md).
|
|
12
|
+
|
|
11
13
|
No external runtime dependencies beyond `@webority/mobile-core`. Requires
|
|
12
14
|
`react-native-gesture-handler`, `react-native-reanimated` and `react-native-safe-area-context` as
|
|
13
15
|
peers, and `expo-file-system`, where `AuthedImage` keeps its downloaded images; `react-native-haptic-feedback` is optional. Gradients use React Native's own
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.phoneChromeEntries=exports.StatusBar=exports.SafeArea=exports.NavigationBar=exports.KeyboardFrame=exports.HomeIndicator=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeKeyboardController=require("react-native-keyboard-controller"),_index=require("../theme/index.js");const STATUS_BAR_HEIGHT={Ios:54,Android:24},HOME_AREA_HEIGHT={Ios:34,Android:0},HOME_BAR_WIDTH=134,HOME_BAR_HEIGHT=5,NAV_BAR_HEIGHT=24,NAV_PILL_WIDTH=108,NAV_PILL_HEIGHT=4,KEYBOARD_HEIGHT_IOS=336,KEYBOARD_HEIGHT_ANDROID=300,MARKER={statusBar:"AppStatusBar",homeIndicator:"AppHomeIndicator",navigationBar:"AppNavigationBar",safeArea:"AppSafeArea",keyboardFrame:"AppKeyboardFrame"},wuiMarker=e=>({dataSet:{wui:e}}),paletteFor=e=>"dark"===e?_index.darkTheme:_index.lightTheme,styles=_reactNative.StyleSheet.create({overlayTop:{position:"absolute",top:0,left:0,right:0},overlayBottom:{position:"absolute",bottom:0,left:0,right:0,alignItems:"center",justifyContent:"flex-end"},fill:{flex:1},homeBar:{width:134,height:5},navPill:{width:108,height:4},keyboardPreview:{position:"absolute",bottom:0,left:0,right:0}}),StatusBar=({os:e,colorMode:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.phoneChromeEntries=exports.StatusBar=exports.SafeArea=exports.NavigationBar=exports.KeyboardFrame=exports.HomeIndicator=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeKeyboardController=require("react-native-keyboard-controller"),_index=require("../theme/index.js");const STATUS_BAR_HEIGHT={Ios:54,Android:24},HOME_AREA_HEIGHT={Ios:34,Android:0},HOME_BAR_WIDTH=134,HOME_BAR_HEIGHT=5,NAV_BAR_HEIGHT=24,NAV_PILL_WIDTH=108,NAV_PILL_HEIGHT=4,KEYBOARD_HEIGHT_IOS=336,KEYBOARD_HEIGHT_ANDROID=300,MARKER={statusBar:"AppStatusBar",homeIndicator:"AppHomeIndicator",navigationBar:"AppNavigationBar",safeArea:"AppSafeArea",keyboardFrame:"AppKeyboardFrame"},wuiMarker=e=>({dataSet:{wui:e}}),paletteFor=e=>"dark"===e?_index.darkTheme:_index.lightTheme,styles=_reactNative.StyleSheet.create({overlayTop:{position:"absolute",top:0,left:0,right:0},overlayBottom:{position:"absolute",bottom:0,left:0,right:0,alignItems:"center",justifyContent:"flex-end"},fill:{flex:1},homeBar:{width:134,height:5},navPill:{width:108,height:4},keyboardPreview:{position:"absolute",bottom:0,left:0,right:0}}),StatusBar=({os:e,colorMode:t="light"})=>{const r=paletteFor(t);return(0,_react.createElement)(_reactNative.View,{...wuiMarker(MARKER.statusBar),accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",pointerEvents:"none",style:[styles.overlayTop,{height:STATUS_BAR_HEIGHT[e],backgroundColor:r.colors.bg}]})};exports.StatusBar=StatusBar;const HomeIndicator=({os:e,colorMode:t="light"})=>{const r=paletteFor(t);return(0,_react.createElement)(_reactNative.View,{...wuiMarker(MARKER.homeIndicator),accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",pointerEvents:"none",style:[styles.overlayBottom,{height:HOME_AREA_HEIGHT[e]}]},"Ios"===e?(0,_react.createElement)(_reactNative.View,{style:[styles.homeBar,{backgroundColor:r.colors["text-body"],borderRadius:r.radius.pill,marginBottom:r.space.sm}]}):null)};exports.HomeIndicator=HomeIndicator;const NavigationBar=({os:e,colorMode:t="light"})=>{if("Android"!==e)return null;const r=paletteFor(t);return(0,_react.createElement)(_reactNative.View,{...wuiMarker(MARKER.navigationBar),accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",pointerEvents:"none",style:[styles.overlayBottom,{height:24,justifyContent:"center"}]},(0,_react.createElement)(_reactNative.View,{style:[styles.navPill,{backgroundColor:r.colors["text-body"],borderRadius:r.radius.pill}]}))};exports.NavigationBar=NavigationBar;const SafeArea=({os:e,children:t})=>(0,_react.createElement)(_reactNative.View,{...wuiMarker(MARKER.safeArea),style:[styles.fill,{paddingTop:STATUS_BAR_HEIGHT[e],paddingBottom:HOME_AREA_HEIGHT[e]}]},t);exports.SafeArea=SafeArea;const KEYBOARD_PREVIEW_HEIGHT={ios:336,android:300},KeyboardFrame=({colorMode:e="light",previewOs:t,children:r})=>{const o=paletteFor(e),a=(0,_reactNativeKeyboardController.useKeyboardState)(e=>Math.max(0,Math.round(e.height)));return(0,_react.createElement)(_reactNative.View,{...wuiMarker(MARKER.keyboardFrame),style:[styles.fill,{paddingBottom:a,backgroundColor:o.colors.bg}]},r,t?(0,_react.createElement)(_reactNative.View,{pointerEvents:"none",style:[styles.keyboardPreview,{height:KEYBOARD_PREVIEW_HEIGHT[t],backgroundColor:o.colors.bg}]}):null)};exports.KeyboardFrame=KeyboardFrame;const SOURCE="@webority/mobile-ui",osProp={name:"os",type:"enum",enum:["Ios","Android"],required:!0},colorModeProp={name:"colorMode",type:"enum",enum:["light","dark"],required:!1},phoneChromeEntries=exports.phoneChromeEntries=[{name:"StatusBar",marker:MARKER.statusBar,acceptsChildren:!1,props:[osProp,colorModeProp],itemsTakeAction:[],takesAction:[],source:SOURCE},{name:"HomeIndicator",marker:MARKER.homeIndicator,acceptsChildren:!1,props:[osProp,colorModeProp],itemsTakeAction:[],takesAction:[],source:SOURCE},{name:"NavigationBar",marker:MARKER.navigationBar,acceptsChildren:!1,props:[osProp,colorModeProp],itemsTakeAction:[],takesAction:[],source:SOURCE},{name:"SafeArea",marker:MARKER.safeArea,acceptsChildren:!0,props:[osProp],itemsTakeAction:[],takesAction:[],source:SOURCE},{name:"KeyboardFrame",marker:MARKER.keyboardFrame,acceptsChildren:!0,props:[colorModeProp],itemsTakeAction:[],takesAction:[],source:SOURCE}];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.definePhoneMeta=void 0;const definePhoneMeta=()=>e=>e;exports.definePhoneMeta=definePhoneMeta;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AccordionGroup=exports.Accordion=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_defaultIcons=require("../AppIcon/defaultIcons.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const AccordionGroupContext=(0,_react.createContext)(null),useAccordionGroup=()=>(0,_react.useContext)(AccordionGroupContext),AccordionGroup=({children:e,allowMultiple:t=!1,defaultExpandedKeys:i,expandedKeys:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AccordionGroup=exports.Accordion=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_defaultIcons=require("../AppIcon/defaultIcons.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const AccordionGroupContext=(0,_react.createContext)(null),useAccordionGroup=()=>(0,_react.useContext)(AccordionGroupContext),AccordionGroup=({children:e,allowMultiple:t=!1,defaultExpandedKeys:i,expandedKeys:r,onChange:n,style:a,testID:o})=>{const s=void 0!==r,[c,l]=(0,_react.useState)(i??[]),d=s?r:c,u=(0,_react.useCallback)(e=>{s||l(e),n?.(e)},[s,n]),p=(0,_react.useCallback)(e=>{let i;i=d.includes(e)?d.filter(t=>t!==e):t?[...d,e]:[e],u(i)},[d,t,u]),x=(0,_react.useCallback)(e=>d.includes(e),[d]),_=(0,_react.useMemo)(()=>({isExpanded:x,toggle:p,allowMultiple:t}),[x,p,t]);return(0,_jsxRuntime.jsx)(AccordionGroupContext.Provider,{value:_,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:a,testID:o,children:e})})};exports.AccordionGroup=AccordionGroup,AccordionGroup.displayName="AccordionGroup";const Chevron=({rotate:e,color:t})=>{const i=(0,_index.useTheme)();return(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[chevronStyles.icon,{transform:[{rotate:e}]}],accessible:!1,children:(i.settings.icons.chevronDown??_defaultIcons.defaultIcons.chevronDown)({size:16,color:t})})},chevronStyles=_reactNative.StyleSheet.create({icon:{width:16,height:16,alignItems:"center",justifyContent:"center"}}),Accordion=e=>{const{title:t,children:i,id:r,expanded:n,defaultExpanded:a=!1,onChange:o,icon:s,disabled:c=!1,variant:l="plain",accessibilityLabel:d,style:u,headerStyle:p,contentStyle:x,contentWrapperStyle:_,containerStyle:m,testID:h,loading:v=!1,haptic:y}=e,g=(0,_index.useTheme)(),j=(0,_usePresenceMotion.usePresenceMotion)(),f=j.duration("default"),b=(0,_react.useMemo)(()=>buildStyles(g),[g]),A=useAccordionGroup(),R=void 0!==n,[N,S]=(0,_react.useState)(a),w=A&&r?A.isExpanded(r):null,V=null!==w?w:R?!!n:N,[C,k]=(0,_react.useState)(null),I=(0,_react.useRef)((0,_index.createAnimatedValue)(V?1:0)).current,D=(0,_react.useRef)((0,_index.createAnimatedValue)(V?1:0)).current,G=(0,_react.useRef)((0,_index.createAnimatedValue)(V?1:0)).current,q=(0,_react.useRef)(V);(0,_react.useEffect)(()=>{if(q.current===V)return;q.current=V;const e=V?1:0,t=_reactNative.Easing.bezier(...g.motion.ease["in-out"]),i=_reactNative.Animated.timing(I,{toValue:e,duration:g.motion.duration.default,easing:t,useNativeDriver:!1}),r=_reactNative.Animated.timing(D,{toValue:e,duration:f,easing:t,useNativeDriver:!1}),n=_reactNative.Animated.timing(G,{toValue:e,duration:g.motion.duration.default,easing:t,useNativeDriver:!1}),a=j.reduced&&!V?_reactNative.Animated.sequence([r,_reactNative.Animated.parallel([i,n])]):_reactNative.Animated.parallel([i,r,n]);return a.start(),()=>a.stop()},[V,I,D,G,f,j.reduced,g.motion]);const L=(0,_react.useCallback)(e=>{const t=e.nativeEvent.layout.height;t>0&&t!==C&&k(t)},[C]),M=(0,_react.useCallback)(()=>{if(c)return;const e=(0,_hapticUtils.resolveHaptic)(y,"selection");if(e&&(0,_hapticUtils.triggerHaptic)(e),A&&r)return A.toggle(r),void o?.(!V);R||S(!V),o?.(!V)},[c,A,r,V,R,o,y]),E=G.interpolate({inputRange:[0,1],outputRange:["0deg","180deg"]}),P=null===C?void 0:I.interpolate({inputRange:[0,1],outputRange:[0,C]}),z="card"===l?[b.card,g.shadow.card,{backgroundColor:g.colors.surface,borderRadius:g.radius.md,..._corners.smoothCorners}]:null;return v?(0,_jsxRuntime.jsx)(AccordionSkeleton,{...e}):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[z,u,m],testID:h,children:[(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:M,disabled:c,accessibilityRole:"button",accessibilityLabel:d??t,accessibilityState:{expanded:V,disabled:c},"aria-expanded":V,"aria-disabled":c,style:({pressed:e})=>[b.header,p,{opacity:c?.55:e?.85:1}],children:[s?(0,_jsxRuntime.jsx)(_reactNative.View,{style:b.iconLeft,children:s}):null,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[b.title,{color:c?g.colors["text-disabled"]:g.colors["text-body"],fontSize:g.text.base.size,fontWeight:g.weight.semibold}],numberOfLines:2,children:t}),(0,_jsxRuntime.jsx)(Chevron,{rotate:E,color:c?g.colors["text-disabled"]:g.colors["text-muted"]})]}),null===C?(0,_jsxRuntime.jsx)(_reactNative.View,{style:b.measurer,pointerEvents:"none",onLayout:L,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[b.content,x],children:i})}):null,(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[b.contentWrapper,null===C?{height:0,opacity:0}:{height:P,opacity:D},_],children:(0,_jsxRuntime.jsx)(_reactNative.View,{onLayout:L,style:[b.content,x],children:i})})]})};exports.Accordion=Accordion,Accordion.displayName="Accordion";const AccordionSkeleton=({variant:e="plain",style:t})=>{const i=(0,_index.useTheme)(),r="card"===e;return(0,_jsxRuntime.jsx)(_reactNative.View,{style:[r?{paddingHorizontal:i.space.md,paddingVertical:i.space.sm,backgroundColor:i.colors.surface,borderRadius:i.radius.md,..._corners.smoothCorners}:{paddingVertical:i.space.sm},t],accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:{flexDirection:"row",alignItems:"center"},children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"60%",height:18,style:{flex:1}}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:16,height:16,radius:"sm",style:{marginLeft:i.space.sm}})]})})};AccordionSkeleton.displayName="AccordionSkeleton",Accordion.Skeleton=AccordionSkeleton,_reactNative.LayoutAnimation;const buildStyles=e=>_reactNative.StyleSheet.create({card:{paddingHorizontal:e.space.md,paddingVertical:e.space.xs,marginVertical:e.space.xs},header:{flexDirection:"row",alignItems:"center",paddingVertical:e.space.sm},iconLeft:{marginRight:e.space.sm},title:{flex:1},contentWrapper:{overflow:"hidden"},content:{paddingBottom:e.space.sm},measurer:{position:"absolute",opacity:0,left:0,right:0,top:0,zIndex:-1}});var _default=exports.default=Accordion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.scaleAmount=exports.default=exports.AmountSlider=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../Input/index.js"),_index4=require("../Slider/index.js"),_valueText=require("../Slider/valueText.js"),_jsxRuntime=require("react/jsx-runtime");const INDIAN_TIERS=[[1e7,"Crore"],[1e5,"Lakh"],[1e3,"Thousand"]],scaleAmount=(e,t)=>{if("indian"===t){const t=Math.abs(e);for(const[i,n]of INDIAN_TIERS)if(t>=i)return{amount:e/i,unit:n}}return{amount:e,unit:""}};exports.scaleAmount=scaleAmount;const formatAmount=(e,t)=>{const i=Math.round(100*e)/100;return t?String(i):(0,_mobileCore.formatCurrency)(Math.round(e),{currency:"INR",stripSymbol:!0,maximumFractionDigits:0})},defaultFormatInput=e=>(0,_mobileCore.formatCurrency)(e,{currency:"INR",maximumFractionDigits:0}),AmountSlider=exports.AmountSlider=(0,_react.forwardRef)((e,t)=>{const{min:i=0,max:n=100,step:r=1,disabled:a=!1,tone:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.scaleAmount=exports.default=exports.AmountSlider=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../Input/index.js"),_index4=require("../Slider/index.js"),_valueText=require("../Slider/valueText.js"),_jsxRuntime=require("react/jsx-runtime");const INDIAN_TIERS=[[1e7,"Crore"],[1e5,"Lakh"],[1e3,"Thousand"]],scaleAmount=(e,t)=>{if("indian"===t){const t=Math.abs(e);for(const[i,n]of INDIAN_TIERS)if(t>=i)return{amount:e/i,unit:n}}return{amount:e,unit:""}};exports.scaleAmount=scaleAmount;const formatAmount=(e,t)=>{const i=Math.round(100*e)/100;return t?String(i):(0,_mobileCore.formatCurrency)(Math.round(e),{currency:"INR",stripSymbol:!0,maximumFractionDigits:0})},defaultFormatInput=e=>(0,_mobileCore.formatCurrency)(e,{currency:"INR",maximumFractionDigits:0}),AmountSlider=exports.AmountSlider=(0,_react.forwardRef)((e,t)=>{const{min:i=0,max:n=100,step:r=1,disabled:a=!1,tone:u,size:o,variant:l="inset",prefix:s="₹",units:c="indian",formatInput:d=defaultFormatInput,animationDuration:m,haptic:x,accessibilityLabel:_,inputAccessibilityLabel:y="Amount",style:b,headerStyle:f,valueStyle:p,unitStyle:v,inputStyle:h,sliderStyle:S,testID:j}=e,I=(0,_index2.useTheme)(),R=(0,_react.useMemo)(()=>buildStyles(I),[I]),g=m??I.motion.duration.default,[A,T]=(0,_index.useControllableState)({value:e.value,defaultValue:e.defaultValue??i,onChange:e.onChange}),w=(0,_valueText.clampValue)(A,i,n),C=(0,_valueText.useValueDraft)({value:w,min:i,max:n,step:r,format:d,onChange:T}),D=scaleAmount(w,c),N=""!==D.unit,q=(0,_react.useRef)(w),$=(0,_react.useRef)("up");w!==q.current&&($.current=w>q.current?"up":"down",q.current=w);const V=$.current,z=`${s}${formatAmount(D.amount,N)}${N?` ${D.unit}`:""}`;return(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,style:[R.container,b],testID:j,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[R.header,f],children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:R.valueRow,accessible:!0,accessibilityRole:"text",accessibilityLabel:z,children:[s?(0,_jsxRuntime.jsxs)(_reactNative.Text,{style:[R.value,p],children:[s," "]}):null,(0,_jsxRuntime.jsx)(_valueText.RollingText,{text:formatAmount(D.amount,N),direction:V,duration:g,style:[R.value,p],testID:j?`${j}-value`:void 0}),N?(0,_jsxRuntime.jsx)(_valueText.RollingText,{text:` ${D.unit}`,direction:V,duration:g,perCharacter:!1,style:[R.unit,v],testID:j?`${j}-unit`:void 0}):null]}),(0,_jsxRuntime.jsx)(_index3.Input,{size:"sm",value:C.text,onChangeText:C.onChangeText,onFocus:C.onFocus,onBlur:C.onBlur,onSubmitEditing:C.onBlur,keyboardType:"number-pad",returnKeyType:"done",disabled:a,accessibilityLabel:y,style:[R.input,h],testID:j?`${j}-input`:void 0})]}),(0,_jsxRuntime.jsx)(_index4.Slider,{value:w,onChange:T,min:i,max:n,step:r,disabled:a,tone:u,size:o,variant:l,haptic:x,accessibilityLabel:_,style:S,testID:j?`${j}-slider`:void 0})]})});AmountSlider.displayName="AmountSlider";const buildStyles=e=>_reactNative.StyleSheet.create({container:{width:"100%"},header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:e.space.md},valueRow:{flexDirection:"row",alignItems:"baseline",flexShrink:1},value:{color:e.colors["text-body"],fontSize:e.text["3xl"].size,fontWeight:e.weight.bold,fontVariant:["tabular-nums"]},unit:{color:e.colors["text-body"],fontSize:e.text.lg.size,fontWeight:e.weight.semibold},input:{width:"45%",maxWidth:180}});var _default=exports.default=AmountSlider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AnimatePresence=void 0;var cache,_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var a,r,n=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,i)}for(r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((a=n&&Object.getOwnPropertyDescriptor(e,r))&&(a.get||a.set)?n(i,r,a):i[r]=e[r]);return i}const AnimatePresence=({children:e,preset:t="fade",duration:a,style:r,testID:n})=>{const i=(0,_usePresenceMotion.usePresenceMotion)();if(!(null!=e&&!1!==e))return null;const c=a??i.duration("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AnimatePresence=void 0;var cache,_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var a,r,n=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,i)}for(r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((a=n&&Object.getOwnPropertyDescriptor(e,r))&&(a.get||a.set)?n(i,r,a):i[r]=e[r]);return i}const AnimatePresence=({children:e,preset:t="fade",duration:a,style:r,testID:n})=>{const i=(0,_usePresenceMotion.usePresenceMotion)();if(!(null!=e&&!1!==e))return null;const c=a??i.duration("default");let d,o;if(i.reduced)d=_reactNativeReanimated.FadeIn.duration(c).reduceMotion(_usePresenceMotion.PRESENCE_REDUCE_MOTION),o=_reactNativeReanimated.FadeOut.duration(c).reduceMotion(_usePresenceMotion.PRESENCE_REDUCE_MOTION);else switch(t){case"scale":d=_reactNativeReanimated.ZoomIn.duration(c),o=_reactNativeReanimated.ZoomOut.duration(c);break;case"slide-up":d=_reactNativeReanimated.FadeInUp.duration(c),o=_reactNativeReanimated.FadeOutDown.duration(c);break;case"slide-down":d=_reactNativeReanimated.FadeInDown.duration(c),o=_reactNativeReanimated.FadeOutUp.duration(c);break;default:d=_reactNativeReanimated.FadeIn.duration(c),o=_reactNativeReanimated.FadeOut.duration(c)}return(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{entering:d,exiting:o,style:r,testID:n,children:e})};exports.AnimatePresence=AnimatePresence,AnimatePresence.displayName="AnimatePresence";var _default=exports.default=AnimatePresence;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AppBar=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_usePressAnimation=require("../../hooks/usePressAnimation.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_AppIcon=require("../AppIcon/AppIcon.js"),_Text=require("../Text/Text.js"),_jsxRuntime=require("react/jsx-runtime");const variantSize=(e,t)=>{switch(t){case"compact":return{height:44,titleSize:e.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AppBar=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_usePressAnimation=require("../../hooks/usePressAnimation.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_AppIcon=require("../AppIcon/AppIcon.js"),_Text=require("../Text/Text.js"),_jsxRuntime=require("react/jsx-runtime");const ACTION_BUTTON_SIZE=44,DOT_OFFSET=10,DOT_SIZE=8,BADGE_OFFSET=4,variantSize=(e,t)=>{switch(t){case"compact":return{height:44,titleSize:e.text.lg.size,titleWeight:"semibold",alignBottom:!1};case"large":return{height:96,titleSize:e.text["2xl"].size,titleWeight:"bold",alignBottom:!0};default:return{height:56,titleSize:e.text.lg.size,titleWeight:"semibold",alignBottom:!1}}},ActionButton=({action:e,side:t,badgeStyle:i,haptic:n,flush:r})=>{const a=(0,_index.useTheme)(),{style:l,pressIn:s,pressOut:o}=(0,_usePressAnimation.usePressAnimation)({enabled:!0}),c=(0,_react.useMemo)(()=>buildActionStyles(a),[a]),d=e.badge,u=void 0!==d&&0!==d,p=void 0!==e.text;return(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:l,children:(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>{const t=(0,_hapticUtils.resolveHaptic)(n,"selection");t&&(0,_hapticUtils.triggerHaptic)(t),e.onPress()},onPressIn:s,onPressOut:o,accessibilityRole:"button",accessibilityLabel:e.accessibilityLabel??e.text,testID:e.testID,android_ripple:{color:a.colors["surface-pressed"],borderless:!p},style:({pressed:e})=>[p?c.textButton:c.actionButton,r?null:"left"===t?c.actionLeft:c.actionRight,e&&!p?c.actionPressed:null,e&&p?c.textPressed:null],children:[p?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:c.actionText,numberOfLines:1,children:e.text}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:c.iconWrap,children:e.icon}),u?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[c.badge,i],pointerEvents:"none",children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:c.badgeText,numberOfLines:1,children:String(d)})}):null,e.dot?(0,_jsxRuntime.jsx)(_reactNative.View,{testID:e.testID?`${e.testID}-dot`:"appbar-action-dot",style:c.dot,pointerEvents:"none"}):null]})})},COLLAPSE_RANGE=60,LARGE_TITLE_SCALE_END=.71,AppBar=exports.AppBar=(0,_react.forwardRef)((e,t)=>{const{title:i,subtitle:n,titleAlignment:r="left",leftAction:a,rightActions:l,leading:s,trailing:o,onBack:c,gutter:d,titleVariant:u,titleOffset:p,height:x,divider:m,variant:g="default",transparent:h=!1,scrollY:_,style:b,containerStyle:f,titleStyle:j,subtitleStyle:y,badgeStyle:v,haptic:R,testID:S}=e,A=(0,_index.useTheme)(),N=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),B=(0,_react.useMemo)(()=>variantSize(A,g),[A,g]),w=(0,_react.useMemo)(()=>buildStyles(A),[A]),C="large"===g&&void 0!==_,I=a??(c?{icon:(0,_jsxRuntime.jsx)(_AppIcon.AppIcon,{name:"arrow-left",size:24,color:A.colors["text-body"]}),onPress:c,accessibilityLabel:"Back"}:void 0),T=o?void 0:l?.[l.length-1],opticalInset=e=>void 0===e?0:void 0!==e.text?A.space.sm:Math.max(10,0),z=void 0===d?null:{paddingLeft:Math.max(d-opticalInset(I),0),paddingRight:Math.max(d-opticalInset(T),0)},L=void 0!==p,O=Boolean(I)||Boolean(s),V=m??!h,P=_reactNative.StyleSheet.hairlineWidth,W=(0,_react.useMemo)(()=>{if(!_)return null;const e={inputRange:[0,60],extrapolate:"clamp"};return{titleScale:_.interpolate({...e,outputRange:[1,.71]}),titleTranslateY:_.interpolate({...e,outputRange:[0,-20]}),titleTranslateX:_.interpolate({...e,outputRange:"center"===r?[0,0]:[0,8]}),subtitleOpacity:_.interpolate({inputRange:[0,30],outputRange:[1,0],extrapolate:"clamp"}),barHeight:_.interpolate({...e,outputRange:[96,56]}),borderOpacity:_.interpolate({...e,outputRange:[0,1]})}},[_,r]),D=C&&W?{transform:[{translateX:W.titleTranslateX},{translateY:W.titleTranslateY},{scale:W.titleScale}]}:null,E=i?u?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:D,children:(0,_jsxRuntime.jsx)(_Text.Text,{variant:u,align:"center"===r?"center":"left",accessibilityRole:"header",numberOfLines:1,style:[w.titleVariant,j],children:i})}):(0,_jsxRuntime.jsx)(_reactNative.Animated.Text,{accessibilityRole:"header",style:[w.title,{fontSize:B.titleSize,fontWeight:A.weight[B.titleWeight],textAlign:"center"===r?"center":"left"},D,j],numberOfLines:1,children:i}):null,q=n?(0,_jsxRuntime.jsx)(_reactNative.Animated.Text,{style:[w.subtitle,{textAlign:"center"===r?"center":"left"},C&&W?{opacity:W.subtitleOpacity}:null,y],numberOfLines:1,children:n}):null,H=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[w.titleColumn,"center"===r?w.titleColumnCenter:null,B.alignBottom?w.titleColumnBottom:null],children:[E,q]}),k=C?_reactNative.Animated.View:_reactNative.View,M=C&&W?{height:_reactNative.Animated.add(W.barHeight,new _reactNative.Animated.Value(N.top))}:{height:(x??B.height)+N.top};return(0,_jsxRuntime.jsxs)(k,{ref:t,testID:S,style:[w.root,{paddingTop:N.top,backgroundColor:h?"transparent":A.colors.surface},M,!C&&V?{borderBottomWidth:P,borderBottomColor:A.colors.border}:null,b,f],children:[C&&W&&V?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[w.animatedBorder,{backgroundColor:A.colors.border,opacity:W.borderOpacity}]}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[w.row,B.alignBottom?w.rowAlignBottom:null,z,{flex:1}],children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[w.sideSlot,L?w.sideSlotCompact:null],children:[I?(0,_jsxRuntime.jsx)(ActionButton,{action:I,side:"left",haptic:R,flush:L}):null,null!=s&&!1!==s?(0,_jsxRuntime.jsx)(_reactNative.View,{style:w.slotNode,children:s}):null]}),(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[w.center,"center"===r?w.centerAligned:w.centerLeft,L?{paddingLeft:O?p:A.space.none,paddingRight:A.space.none}:null],children:H}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[w.sideSlot,w.sideSlotRight,L?w.sideSlotCompact:null],children:[l?.map((e,t)=>(0,_jsxRuntime.jsx)(ActionButton,{action:e,side:"right",badgeStyle:v,haptic:R,flush:L},`appbar-right-${t}`)),null!=o&&!1!==o?(0,_jsxRuntime.jsx)(_reactNative.View,{style:w.slotNode,children:o}):null]})]})]})});AppBar.displayName="AppBar";const buildStyles=e=>_reactNative.StyleSheet.create({root:{width:"100%"},row:{flexDirection:"row",alignItems:"center",paddingHorizontal:e.space.xs},rowAlignBottom:{alignItems:"flex-end",paddingBottom:e.space.sm},sideSlot:{flexDirection:"row",alignItems:"center",minWidth:48},sideSlotRight:{justifyContent:"flex-end"},sideSlotCompact:{minWidth:0},slotNode:{flexDirection:"row",alignItems:"center"},center:{flex:1,paddingHorizontal:e.space.xs},centerAligned:{alignItems:"center"},centerLeft:{alignItems:"flex-start"},titleColumn:{flexDirection:"column"},titleColumnCenter:{alignItems:"center"},titleColumnBottom:{justifyContent:"flex-end"},title:{color:e.colors["text-body"]},titleVariant:{includeFontPadding:!1,textAlignVertical:"center"},subtitle:{marginTop:e.space.xxs,color:e.colors["text-subtle"],fontSize:e.text.sm.size,fontWeight:e.weight.normal},animatedBorder:{position:"absolute",left:0,right:0,bottom:0,height:_reactNative.StyleSheet.hairlineWidth}}),buildActionStyles=e=>_reactNative.StyleSheet.create({actionButton:{width:44,height:44,borderRadius:e.radius.pill,..._corners.smoothCorners,alignItems:"center",justifyContent:"center"},actionLeft:{marginRight:e.space.xs},actionRight:{marginLeft:e.space.xs},actionPressed:{backgroundColor:e.colors["surface-pressed"]},textButton:{minWidth:44,minHeight:44,paddingHorizontal:e.space.sm,alignItems:"center",justifyContent:"center"},textPressed:{opacity:.6},actionText:{color:e.colors.link,fontSize:e.text.base.size,...(0,_index.fontFor)(e,"semibold")},dot:{position:"absolute",top:10,right:10,width:8,height:8,borderRadius:e.radius.pill,backgroundColor:e.colors.danger},iconWrap:{alignItems:"center",justifyContent:"center"},badge:{position:"absolute",top:4,right:4,minWidth:16,height:16,paddingHorizontal:e.space.xs,borderRadius:e.radius.pill,..._corners.smoothCorners,backgroundColor:e.colors.danger,alignItems:"center",justifyContent:"center"},badgeText:{color:e.colors["on-danger"],fontSize:e.text.xs.size,fontWeight:e.weight.semibold,lineHeight:13}});var _default=exports.default=AppBar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AppIcon=exports.APP_ICON_SIZES=void 0,Object.defineProperty(exports,"CURATED_ICON_NAMES",{enumerable:!0,get:function(){return _glyphsG.CURATED_ICON_NAMES}}),exports.ICONSAX_SUFFIX=void 0,Object.defineProperty(exports,"ICON_NAMES",{enumerable:!0,get:function(){return _catalogG.ICON_NAMES}}),exports.resolveGlyph=exports.default=exports.buildIconXml=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNativeSvg=require("react-native-svg"),_index=require("../../theme/index.js"),_catalogG=require("./catalog.g.js"),_glyphsG=require("./glyphs.g.js"),_jsxRuntime=require("react/jsx-runtime");const ICONSAX_SUFFIX=exports.ICONSAX_SUFFIX="-iconsax",APP_ICON_SIZES=exports.APP_ICON_SIZES={xs:14,sm:18,md:22,lg:28,xl:36},tryRequire=e=>{try{return e()}catch{return null}};let curatedVariants=null;const loadCuratedVariants=()=>(curatedVariants||(curatedVariants=tryRequire(()=>require("./variants.g").VARIANT_GLYPHS)??{}),curatedVariants),shardCache=new Map,loadShard=(e,r)=>{const t=r[0]?.toLowerCase()??"",n=`${e}:${t}`,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AppIcon=exports.APP_ICON_SIZES=void 0,Object.defineProperty(exports,"CURATED_ICON_NAMES",{enumerable:!0,get:function(){return _glyphsG.CURATED_ICON_NAMES}}),exports.ICONSAX_SUFFIX=void 0,Object.defineProperty(exports,"ICON_NAMES",{enumerable:!0,get:function(){return _catalogG.ICON_NAMES}}),exports.resolveGlyph=exports.default=exports.buildIconXml=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNativeSvg=require("react-native-svg"),_index=require("../../theme/index.js"),_catalogG=require("./catalog.g.js"),_glyphsG=require("./glyphs.g.js"),_jsxRuntime=require("react/jsx-runtime");const ICONSAX_SUFFIX=exports.ICONSAX_SUFFIX="-iconsax",APP_ICON_SIZES=exports.APP_ICON_SIZES={xs:14,sm:18,md:22,lg:28,xl:36},tryRequire=e=>{try{return e()}catch{return null}};let curatedVariants=null;const loadCuratedVariants=()=>(curatedVariants||(curatedVariants=tryRequire(()=>require("./variants.g").VARIANT_GLYPHS)??{}),curatedVariants),shardCache=new Map,loadShard=(e,r)=>{const t=r[0]?.toLowerCase()??"",n=`${e}:${t}`,o=shardCache.get(n);if(void 0!==o)return o;const a=_catalogG.CATALOG_LOADERS[e]?.[t],l=a?tryRequire(a):null;return shardCache.set(n,l),l},warned=new Set,resolveCatalogue=(e,r)=>{const t=loadShard(r,e)?.[e];return t||("linear"===r?null:loadShard("linear",e)?.[e]??null)},resolveGlyph=(e,r="linear")=>{if(e.endsWith(ICONSAX_SUFFIX)){const t=e.slice(0,-ICONSAX_SUFFIX.length);return t in _glyphsG.GLYPHS?resolveCatalogue(t,r):null}const t=_glyphsG.GLYPHS[e];return t?"linear"===r?t:loadCuratedVariants()[r]?.[e]??t:resolveCatalogue(e,r)};exports.resolveGlyph=resolveGlyph;const buildIconXml=(e,r,t)=>`<svg xmlns="http://www.w3.org/2000/svg" width="${r}" height="${r}" viewBox="0 0 24 24" fill="none">${e.replace(/currentColor/g,t)}</svg>`;exports.buildIconXml=buildIconXml;const iconXmlCache=new Map,AppIcon=({name:e,size:r="md",color:t,variant:n="linear",style:o,accessibilityLabel:a,testID:l})=>{const s=(0,_index.useTheme)(),i="number"==typeof r?r:APP_ICON_SIZES[r],c=t??s.colors["text-body"],u=resolveGlyph(e,n),d=(0,_react.useMemo)(()=>{if(!u)return null;const r=`${e}|${n}|${i}|${c}`,t=iconXmlCache.get(r);if(void 0!==t)return t;iconXmlCache.size>=500&&iconXmlCache.clear();const o=buildIconXml(u,i,c);return iconXmlCache.set(r,o),o},[e,n,u,i,c]);return d?(0,_jsxRuntime.jsx)(_reactNativeSvg.SvgXml,{xml:d,width:i,height:i,style:o,accessible:null!=a,accessibilityLabel:a,accessibilityRole:null!=a?"image":void 0,testID:l}):(__DEV__&&!warned.has(e)&&(warned.add(e),_mobileCore.Logger.warn(`[AppIcon] Unknown icon "${e}". Names come from webority-ui's icon map and the Iconsax catalogue; run scripts/sync-icons.mjs after adding one there.`)),null)};exports.AppIcon=AppIcon,AppIcon.displayName="AppIcon";var _default=exports.default=AppIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AsyncBlock=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../AppIcon/index.js"),_index3=require("../EmptyState/index.js"),_index4=require("../Spinner/index.js"),_jsxRuntime=require("react/jsx-runtime");const OFFLINE_HINT="Check your connection, then try again.",isNode=e=>(0,_react.isValidElement)(e)||Array.isArray(e),AsyncBlock=({loading:e=!1,error:t,errorVariant:i,empty:r=!1,onRetry:n,skeleton:s,emptyTitle:o="Nothing here yet",emptyDescription:l,emptyIcon:c,errorTitle:a="That didn't load",offlineTitle:d="You're offline",retryLabel:x="Try again",children:u,style:_,testID:m})=>{const y=(0,_index.useTheme)();if(e)return(0,_jsxRuntime.jsx)(_reactNative.View,{style:_,testID:m,children:s??(0,_jsxRuntime.jsx)(_reactNative.View,{style:{paddingVertical:y.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AsyncBlock=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../AppIcon/index.js"),_index3=require("../EmptyState/index.js"),_index4=require("../Spinner/index.js"),_jsxRuntime=require("react/jsx-runtime");const OFFLINE_HINT="Check your connection, then try again.",isNode=e=>(0,_react.isValidElement)(e)||Array.isArray(e),AsyncBlock=({loading:e=!1,error:t,errorVariant:i,empty:r=!1,onRetry:n,skeleton:s,emptyTitle:o="Nothing here yet",emptyDescription:l,emptyIcon:c,errorTitle:a="That didn't load",offlineTitle:d="You're offline",retryLabel:x="Try again",children:u,style:_,testID:m})=>{const y=(0,_index.useTheme)();if(e)return(0,_jsxRuntime.jsx)(_reactNative.View,{style:_,testID:m,children:s??(0,_jsxRuntime.jsx)(_reactNative.View,{style:{paddingVertical:y.space["2xl"],alignItems:"center"},children:(0,_jsxRuntime.jsx)(_index4.Spinner,{})})});if(t){const e="string"==typeof t?t:null,r=null!==e||isNode(t)?null:(0,_mobileCore.extractApiError)(t),s="offline"===(i??(r?.code===_mobileCore.OFFLINE_CODE?"offline":"default")),o=e??r?.message??(s?OFFLINE_HINT:void 0);return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_,testID:m,children:[(0,_jsxRuntime.jsx)(_index3.EmptyState,{icon:s?(0,_jsxRuntime.jsx)(_index2.AppIcon,{name:"cloud-cross",size:"xl",color:y.colors["text-subtle"],testID:"async-block-offline-icon"}):void 0,title:s?d:a,description:o,action:n?{label:x,onPress:n}:void 0}),isNode(t)?t:null]})}return r?(0,_jsxRuntime.jsx)(_reactNative.View,{style:_,testID:m,children:(0,_jsxRuntime.jsx)(_index3.EmptyState,{icon:c,title:o,description:l})}):(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:u})};exports.AsyncBlock=AsyncBlock;var _default=exports.default=AsyncBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AuthedImage=void 0;var _expoImage=require("expo-image"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_index2=require("../Spinner/index.js"),_authedImageCache=require("./authedImageCache.js"),_jsxRuntime=require("react/jsx-runtime");const CONTENT_FIT={cover:"cover",contain:"contain",stretch:"fill",center:"scale-down",repeat:"cover"},toError=e=>e instanceof Error?e:new Error(String(e)),AuthedImage=e=>{const{uri:t,headers:r,client:a,authenticated:i=!0,ttlMs:s=_authedImageCache.DEFAULT_TTL_MS,placeholder:n,fallback:o,onLoadStart:c,onLoadEnd:l,onError:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.AuthedImage=void 0;var _expoImage=require("expo-image"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_index2=require("../Spinner/index.js"),_authedImageCache=require("./authedImageCache.js"),_jsxRuntime=require("react/jsx-runtime");const CONTENT_FIT={cover:"cover",contain:"contain",stretch:"fill",center:"scale-down",repeat:"cover"},toError=e=>e instanceof Error?e:new Error(String(e)),AuthedImage=e=>{const{uri:t,headers:r,client:a,authenticated:i=!0,ttlMs:s=_authedImageCache.DEFAULT_TTL_MS,placeholder:n,fallback:o,onLoadStart:c,onLoadEnd:l,onError:u,cacheKey:d,testID:h,accessibilityLabel:m,style:_,resizeMode:g,fadeDuration:y,contentFit:b,transition:x,cachePolicy:f="memory",...I}=e,v=(0,_index.useTheme)(),j=(0,_react.useMemo)(()=>buildStyles(v),[v]),[p,E]=(0,_react.useState)({status:"loading"}),C=(0,_react.useRef)({onLoadStart:c,onLoadEnd:l,onError:u});C.current={onLoadStart:c,onLoadEnd:l,onError:u};const L=JSON.stringify(r??{});return(0,_react.useEffect)(()=>{let e=!1,r=null;const finish=t=>{e||(E(t),C.current.onLoadEnd?.())};return(async()=>{if(!t){const t=new Error("[@webority/mobile-ui] AuthedImage was given an empty `uri`. Pass the image URL, or render nothing while the URL is still unknown.");return void(e||(E({status:"error"}),C.current.onError?.(t)))}E({status:"loading"}),C.current.onLoadStart?.();const n=(0,_authedImageCache.deriveCacheKey)(t,d),o=await(0,_authedImageCache.readEntry)(n);if(e)return;if(o&&(0,_authedImageCache.isFresh)(o.meta,s))return(0,_authedImageCache.touchEntry)(n),void finish({status:"ready",fileUri:o.fileUri});const c=(0,_authedImageCache.acquireFetch)(n,{uri:t,headers:JSON.parse(L),authenticated:i,client:a});r={key:n,entry:c};try{const e=await c.promise;finish({status:"ready",fileUri:e.fileUri})}catch(t){if(e)return;if(o&&!(0,_authedImageCache.isPermanentRefusal)(t))return void finish({status:"ready",fileUri:o.fileUri});if(o&&(await(0,_authedImageCache.removeEntry)(n),e))return;E({status:"error"}),C.current.onError?.(toError(t)),C.current.onLoadEnd?.()}})(),()=>{e=!0,r&&(0,_authedImageCache.releaseFetch)(r.key,r.entry)}},[t,d,s,i,a,L]),"loading"===p.status?void 0!==n?(0,_jsxRuntime.jsx)(_reactNative.View,{style:_,testID:h,children:n}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[j.placeholder,_],testID:h,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:j.stateFill,testID:h?`${h}-placeholder`:void 0,pointerEvents:"none",children:(0,_jsxRuntime.jsx)(_index2.Spinner,{size:"sm",accessibilityLabel:m??"Loading image"})})}):"error"===p.status?void 0!==o?(0,_jsxRuntime.jsx)(_reactNative.View,{style:_,testID:h,children:o}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[j.fallback,_],testID:h,children:(0,_jsxRuntime.jsx)(_reactNative.View,{accessible:!0,accessibilityRole:"image",accessibilityLabel:m?`${m}, image unavailable`:"Image unavailable",testID:h?`${h}-fallback`:void 0,style:j.stateFill,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:j.fallbackText,children:"!"})})}):(0,_jsxRuntime.jsx)(_expoImage.Image,{...I,accessible:!0,accessibilityRole:"image",accessibilityLabel:m,testID:h,style:_,contentFit:b??(g?CONTENT_FIT[g]:void 0),transition:x??y,cachePolicy:f,source:{uri:p.fileUri}})};exports.AuthedImage=AuthedImage,AuthedImage.displayName="AuthedImage";const buildStyles=e=>_reactNative.StyleSheet.create({placeholder:{alignItems:"center",justifyContent:"center",backgroundColor:e.colors["bg-subtle"],borderRadius:e.radius.md,..._corners.smoothCorners},fallback:{alignItems:"center",justifyContent:"center",backgroundColor:e.colors["bg-subtle"],borderRadius:e.radius.md,..._corners.smoothCorners,borderWidth:e.size.border,borderColor:e.colors["border-subtle"],padding:e.space.sm},stateFill:{alignItems:"center",flex:1,justifyContent:"center"},fallbackText:{color:e.colors["text-subtle"],fontSize:e.text.lg.size,fontWeight:e.weight.bold}});var _default=exports.default=AuthedImage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Autocomplete=Autocomplete,exports.default=void 0;var cache,_react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_index4=require("../Input/index.js"),_index5=require("../Spinner/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var r,i,a=Object.defineProperty,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Autocomplete=Autocomplete,exports.default=void 0;var cache,_react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_index4=require("../Input/index.js"),_index5=require("../Spinner/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var r,i,a=Object.defineProperty,o={__proto__:null,default:e};if(Object(e)!==e)return o;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,o)}for(i in e)"default"!==i&&{}.hasOwnProperty.call(e,i)&&((r=a&&Object.getOwnPropertyDescriptor(e,i))&&(r.get||r.set)?a(o,i,r):o[i]=e[i]);return o}const defaultGetLabel=e=>"string"==typeof e?e:String(e);function Autocomplete(e){const{options:t,value:r,defaultValue:i,onChangeText:a,onSelect:o,getOptionLabel:n,getOptionKey:s,filter:l,minChars:c=1,maxResults:d=8,emptyText:u="No matches",loading:x=!1,filterMode:p="client",loadingText:_="Searching…",placeholder:m,label:h,error:f,helperText:b,disabled:g=!1,size:y="md",variant:j,haptic:v,style:S,listStyle:R,optionTextStyle:T,testID:w}=e,C=(0,_index2.useTheme)(),N=(0,_react.useMemo)(()=>buildStyles(C),[C]),[z,q]=(0,_index.useControllableState)({value:r,defaultValue:i??"",onChange:a}),[P,k]=(0,_react.useState)(!1),[O,L]=(0,_react.useState)(0),V=(0,_react.useRef)(null),A=(0,_react.useCallback)(e=>n?n(e):defaultGetLabel(e),[n]),I=(0,_react.useMemo)(()=>{if("none"===p)return t.slice(0,d);const e=z.trim();if(e.length<c)return[];const r=e.toLowerCase(),i=l?t=>l(t,e):e=>A(e).toLowerCase().includes(r);return t.filter(i).slice(0,d)},[t,z,c,d,l,A,p]),M=P&&(x||z.trim().length>=c),W=(0,_react.useCallback)(e=>{const t=(0,_index3.resolveHaptic)(v,"selection");t&&(0,_index3.triggerHaptic)(t),V.current&&clearTimeout(V.current),q(A(e)),k(!1),_reactNative.Keyboard.dismiss(),o(e)},[v,q,A,o]);_react.default.useEffect(()=>()=>{V.current&&clearTimeout(V.current)},[]);const H=(0,_react.useCallback)(e=>{L(e.nativeEvent.layout.height)},[]);return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[N.container,S],testID:w,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{onLayout:H,children:(0,_jsxRuntime.jsx)(_index4.Input,{value:z,onChangeText:q,onFocus:()=>{V.current&&clearTimeout(V.current),k(!0)},onBlur:()=>{V.current=setTimeout(()=>k(!1),120)},placeholder:m,label:h,error:f,helperText:b,editable:!g,accessibilityState:{disabled:g},"aria-disabled":g,size:y,variant:j,autoCorrect:!1,autoCapitalize:"none"})}),M?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[N.list,{top:O,backgroundColor:C.colors.surface,borderColor:C.colors.border,borderRadius:C.radius.md,..._corners.smoothCorners,...C.shadow.popover},R],children:x?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:N.loadingRow,children:[(0,_jsxRuntime.jsx)(_index5.Spinner,{size:"sm"}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[N.loadingText,{color:C.colors["text-muted"],fontSize:C.text.sm.size}],children:_})]}):0===I.length?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[N.empty,{color:C.colors["text-subtle"],fontSize:C.text.sm.size}],children:u}):(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{keyboardShouldPersistTaps:"handled",style:N.scroll,children:I.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>W(e),android_ripple:{color:C.colors["surface-pressed"]},style:({pressed:e})=>[N.option,{paddingHorizontal:C.space.md,paddingVertical:C.space.sm,backgroundColor:e?C.colors["surface-pressed"]:"transparent"}],accessibilityRole:"button",accessibilityLabel:A(e),accessibilityState:{selected:A(e)===z},"aria-selected":A(e)===z,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[N.optionText,{color:C.colors["text-body"],fontSize:C.text.base.size},T],numberOfLines:1,children:A(e)})},s?s(e):`${A(e)}-${t}`))})}):null]})}Autocomplete.displayName="Autocomplete";const buildStyles=e=>_reactNative.StyleSheet.create({container:{width:"100%",position:"relative",zIndex:10},list:{position:"absolute",left:0,right:0,borderWidth:_reactNative.StyleSheet.hairlineWidth,overflow:"hidden",zIndex:20,maxHeight:240},scroll:{maxHeight:240},option:{width:"100%"},optionText:{includeFontPadding:!1},empty:{padding:e.space.md,textAlign:"center",includeFontPadding:!1},loadingRow:{flexDirection:"row",alignItems:"center",gap:e.space.sm,padding:e.space.md},loadingText:{includeFontPadding:!1}});var _default=exports.default=Autocomplete;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.avatarToneColors=exports.AvatarGroup=exports.Avatar=void 0;var _expoImage=require("expo-image"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_index2=require("../AppIcon/index.js"),_index3=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const SOFT_FILL_OPACITY=.14,MIN_TOUCH_TARGET=44,PRESSED_OPACITY=.7,INITIALS_MAX_FONT_SCALE=1.2,avatarToneColors=(e,t)=>{const soft=(e,t)=>(0,_color.tintOf)(e,.14,t);switch(t){case"primary":return{background:soft(e.colors.primary,e.colors
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.avatarToneColors=exports.AvatarGroup=exports.Avatar=exports.AVATAR_COLORS=void 0;var _expoImage=require("expo-image"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_index2=require("../AppIcon/index.js"),_index3=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const SOFT_FILL_OPACITY=.14,MIN_TOUCH_TARGET=44,PRESSED_OPACITY=.7,INITIALS_MAX_FONT_SCALE=1.2,AVATAR_COLORS=exports.AVATAR_COLORS=["avatar-1","avatar-2","avatar-3","avatar-4","avatar-5","avatar-6","avatar-7","avatar-8"],avatarToneColors=(e,t)=>{const soft=(e,t)=>(0,_color.tintOf)(e,.14,t);switch(t){case"primary":return{background:soft(e.colors.primary,e.colors["primary-soft"]),color:e.colors["primary-text"]};case"secondary":return{background:e.colors.neutral,color:e.colors["on-neutral"]};case"success":return{background:soft(e.colors.success,e.colors["bg-subtle"]),color:e.colors["success-text"]};case"warning":return{background:soft(e.colors.warning,e.colors["bg-subtle"]),color:e.colors["warning-text"]};case"danger":return{background:soft(e.colors.danger,e.colors["bg-subtle"]),color:e.colors["danger-text"]};case"info":return{background:soft(e.colors.info,e.colors["bg-subtle"]),color:e.colors["info-text"]};default:return{background:e.colors["bg-muted"],color:e.colors["text-body"]}}};exports.avatarToneColors=avatarToneColors;const sizeMap={xs:24,sm:32,md:48,lg:64,xl:80},resolveSize=e=>"number"==typeof e?e:sizeMap[e],resolveRadius=(e,t,r)=>{switch(t){case"circle":return r/2;case"rounded":return Math.max(e.radius.sm,Math.round(.22*r));default:return 0}},initialsFromName=e=>{if(!e)return"";const t=e.trim().split(/\s+/u).filter(Boolean);return 0===t.length?"":1===t.length?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[1].charAt(0)).toUpperCase()},hashColor=(e,t)=>{if(!e)return t[0];let r=0;for(let t=0;t<e.length;t+=1)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t[Math.abs(r)%t.length]},RING_WIDTH=1.5,isRingStatus=e=>"verified"===e||"pending"===e,statusColor=(e,t)=>{switch(t){case"online":case"verified":return e.colors.success;case"busy":return e.colors.danger;case"away":case"pending":return e.colors.warning;default:return e.colors["text-subtle"]}},Avatar=exports.Avatar=(0,_react.forwardRef)((e,t)=>{const{source:r,ImageComponent:o,name:s,size:a="md",shape:i="circle",status:n=null,statusPosition:l="bottomRight",tone:c,backgroundColor:u,color:d,fontSize:h,loading:m=!1,accessibilityLabel:g,onPress:p,onLongPress:v,haptic:_,hitSlop:b,style:x,textStyle:y,testID:R}=e,f=(0,_index.useTheme)(),[A,C]=(0,_react.useState)(!1),j=(0,_react.useMemo)(()=>resolveSize(a),[a]),S=(0,_react.useMemo)(()=>resolveRadius(f,i,j),[f,i,j]),I=f.colors.border,w=f.colors.surface,M=(0,_react.useMemo)(()=>initialsFromName(s),[s]),T=(0,_react.useMemo)(()=>c?avatarToneColors(f,c):null,[f,c]),N=(0,_react.useMemo)(()=>u||(T?.background??f.colors[hashColor(s??"",AVATAR_COLORS)]),[u,T,s,f]),k=d??T?.color??f.colors["on-primary"],L=!!r&&!A,O=h??Math.max(f.text.xs.size,Math.round(.4*j)),z=Math.max(8,Math.round(.25*j)),E=isRingStatus(n),G=j-2*(E?3:0),V=E?resolveRadius(f,i,G):S,F=E?statusColor(f,n):"transparent",W=Math.max(12,Math.round(.32*j)),P=Math.max(10,W-4),D=L?f.colors["bg-muted"]:N,$=R??"avatar",q=s?`${s}'s avatar`:"Avatar",U="verified"===n?", verified":"pending"===n?", pending verification":"",H=g??`${q}${U}`,B="function"==typeof p||"function"==typeof v,Y=g??`${s||q}${U}`,X=Math.max(0,Math.ceil((44-j)/2)),J=[styles.root,{width:j,height:j,borderRadius:S,..._corners.smoothCorners,borderWidth:0,borderColor:I,backgroundColor:E?"transparent":D},x],K=(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[E?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.ring,{borderRadius:S,..._corners.smoothCorners,borderWidth:1.5,borderColor:F}],accessible:!1,pointerEvents:"none",testID:`${$}-ring`}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.picture,{width:G,height:G,borderRadius:V,..._corners.smoothCorners,borderWidth:0,borderColor:I,backgroundColor:E?D:"transparent"}],children:L?(()=>{const e={width:G,height:G,borderRadius:V,..._corners.smoothCorners},onError=()=>C(!0);return o?(0,_jsxRuntime.jsx)(o,{source:r,onError:onError,style:e,contentFit:"cover",resizeMode:"cover",accessibilityIgnoresInvertColors:!0}):(0,_jsxRuntime.jsx)(_expoImage.Image,{source:r,onError:onError,style:e,contentFit:"cover",accessibilityIgnoresInvertColors:!0})})():(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.initials,{color:k,fontSize:O,fontWeight:f.weight.semibold},y],numberOfLines:1,maxFontSizeMultiplier:1.2,children:M??" "})}),"verified"===n?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.status,"topRight"===l?styles.badgeTopRight:styles.badgeBottomRight,{width:W,height:W,borderRadius:W/2,..._corners.smoothCorners,backgroundColor:w}],accessible:!1,pointerEvents:"none",testID:`${$}-badge`,children:(0,_jsxRuntime.jsx)(_index2.AppIcon,{name:"verify",variant:"bold",size:P,color:F})}):null,n&&!E?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.status,"topRight"===l?styles.statusTopRight:styles.statusBottomRight,{width:z,height:z,borderRadius:z/2,..._corners.smoothCorners,backgroundColor:statusColor(f,n),borderWidth:2,borderColor:w}],accessible:!1,pointerEvents:"none"}):null]}),Q=B?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{ref:t,onPress:p?e=>{const t=(0,_hapticUtils.resolveHaptic)(_,"selection");t&&(0,_hapticUtils.triggerHaptic)(t),p?.(e)}:void 0,onLongPress:v?e=>{const t=(0,_hapticUtils.resolveHaptic)(_,"longPress");t&&(0,_hapticUtils.triggerHaptic)(t),v?.(e)}:void 0,hitSlop:b??X,accessibilityRole:"button",accessibilityLabel:Y,testID:R,style:({pressed:e})=>[J,e?styles.pressed:null],children:K}):(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:J,accessible:!0,accessibilityRole:"image",accessibilityLabel:H,testID:R,children:K});return m?(0,_jsxRuntime.jsx)(AvatarSkeleton,{...e}):Q});Avatar.displayName="Avatar";const AvatarSkeleton=({size:e="md",shape:t="circle",style:r})=>{const o=resolveSize(e),s="circle"===t?"circle":"rounded"===t?"rounded":"rect";return(0,_jsxRuntime.jsx)(_index3.Skeleton,{shape:s,width:o,height:o,style:r})};AvatarSkeleton.displayName="AvatarSkeleton",Avatar.Skeleton=AvatarSkeleton;const styles=_reactNative.StyleSheet.create({root:{alignItems:"center",justifyContent:"center",overflow:"visible",position:"relative"},pressed:{opacity:.7},initials:{textAlign:"center"},ring:{position:"absolute",top:0,right:0,bottom:0,left:0},picture:{alignItems:"center",justifyContent:"center",overflow:"hidden"},status:{position:"absolute"},badgeTopRight:{top:-2,right:-2,alignItems:"center",justifyContent:"center"},badgeBottomRight:{bottom:-2,right:-2,alignItems:"center",justifyContent:"center"},statusTopRight:{top:0,right:0},statusBottomRight:{bottom:0,right:0}}),SPACING_OFFSET={tight:"lg",normal:"md",loose:"sm"},STAGGER_MS=50,ENTRANCE_DURATION_MS=220,AvatarGroupItem=({delay:e,marginLeft:t,borderColor:r,borderWidth:o,children:s})=>{const a=(0,_index.useTheme)(),i=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current;return(0,_react.useEffect)(()=>{const t=_reactNative.Animated.timing(i,{toValue:1,duration:220,delay:e,easing:_reactNative.Easing.out(_reactNative.Easing.cubic),useNativeDriver:!0});return t.start(),()=>t.stop()},[e,i]),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[groupStyles.item,{marginLeft:t,borderRadius:a.radius.pill,borderColor:r,borderWidth:o,opacity:i}],children:s})},AvatarGroup=e=>{const{children:t,max:r=4,size:o="md",spacing:s="normal",overflowVariant:a="count",accessibilityLabel:i,style:n,testID:l}=e,c=(0,_index.useTheme)(),u=(0,_react.useMemo)(()=>_react.Children.toArray(t).filter(e=>(0,_react.isValidElement)(e)),[t]),d=u.length,h=u.slice(0,r),m=Math.max(0,d-r),g=m>0,p=-c.space[SPACING_OFFSET[s]],v=c.colors.surface,_=i??`Group of ${d} ${1===d?"person":"people"}`,b=(0,_react.useMemo)(()=>resolveSize(o),[o]),x=Math.max(c.text.xs.size,Math.round(.34*b));return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[groupStyles.row,n],accessible:!0,accessibilityLabel:_,accessibilityRole:"summary",testID:l,children:[h.map((e,t)=>{const r=e.key??`avatar-${t}`,s=(0,_react.cloneElement)(e,{size:o});return(0,_jsxRuntime.jsx)(AvatarGroupItem,{delay:50*t,marginLeft:0===t?0:p,borderColor:v,borderWidth:1.5,children:s},r)}),g?(0,_jsxRuntime.jsx)(AvatarGroupItem,{delay:50*h.length,marginLeft:0===h.length?0:p,borderColor:v,borderWidth:1.5,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[groupStyles.overflow,{width:b,height:b,borderRadius:b/2,..._corners.smoothCorners,backgroundColor:c.colors["surface-disabled"]}],accessible:!0,accessibilityRole:"text",accessibilityLabel:"count"===a?`${m} more`:"More avatars",children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:c.colors["text-muted"],fontSize:x,fontWeight:c.weight.semibold},numberOfLines:1,maxFontSizeMultiplier:1.2,children:"count"===a?`+${m}`:"+"})})},"avatar-overflow"):null]})};exports.AvatarGroup=AvatarGroup;const groupStyles=_reactNative.StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},item:{..._corners.smoothCorners},overflow:{alignItems:"center",justifyContent:"center"}}),AvatarWithGroup=Avatar;AvatarWithGroup.Group=AvatarGroup;var _default=exports.default=AvatarWithGroup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Badge=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const toneFor=(e,t)=>{switch(t){case"primary":return{background:e.colors.primary,text:e.colors
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Badge=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const toneFor=(e,t)=>{switch(t){case"primary":return{background:e.colors.primary,text:e.colors["on-primary"]};case"success":return{background:e.colors.success,text:e.colors["on-success"]};case"warning":return{background:e.colors.warning,text:e.colors["on-warning"]};case"info":return{background:e.colors.info,text:e.colors["on-info"]};case"neutral":return{background:e.colors["bg-muted"],text:e.colors["text-body"]};default:return{background:e.colors.danger,text:e.colors["on-danger"]}}},anchorPosition=(e,t)=>{const i=-t;switch(e){case"topLeft":return{top:i,left:i};case"bottomRight":return{bottom:i,right:i};case"bottomLeft":return{bottom:i,left:i};default:return{top:i,right:i}}},formatValue=(e,t)=>{if(null==e)return null;if("number"==typeof e)return e<=0?null:e>t?`${t}+`:String(e);const i=String(e);return 0===i.length?null:i},Badge=exports.Badge=(0,_react.forwardRef)((e,t)=>{const{value:i,max:r=99,variant:n="standard",tone:o="danger",size:a="sm",invisible:s=!1,loading:l=!1,children:d,anchor:c="topRight",pulse:u=!1,accessibilityLabel:g,style:h,badgeStyle:x,textStyle:m,testID:_}=e,b=(0,_index.useTheme)(),f=(0,_react.useMemo)(()=>toneFor(b,o),[b,o]),p=(0,_index.resolveBadgeSize)(b,a),v=b.components.badge["border-width"],y=b.components.badge["anchor-offset"],j="dot"===n?null:formatValue(i,r),w=!s&&("dot"===n||null!==j),S=(0,_react.useRef)((0,_index.createAnimatedValue)(1)).current;(0,_react.useEffect)(()=>{if(!u||!w)return void(0,_index.setNativeValue)(S,1);const e=_reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.timing(S,{toValue:1.15,duration:b.motion.duration.slow,easing:_reactNative.Easing.bezier(...b.motion.ease["in-out"]),useNativeDriver:!0}),_reactNative.Animated.timing(S,{toValue:1,duration:b.motion.duration.slow,easing:_reactNative.Easing.bezier(...b.motion.ease["in-out"]),useNativeDriver:!0})]));return e.start(),()=>{e.stop()}},[u,w,S,b]);const N="dot"===n,R=N?"image":"text",k=g??(N?"Notification indicator":j?`${j} unread`:void 0),z=w?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[styles.badge,N?{width:p["dot-size"],height:p["dot-size"],borderRadius:p["dot-size"]/2,..._corners.smoothCorners,paddingHorizontal:0}:{minWidth:p["min-width"],minHeight:p.height,borderRadius:b.radius.pill,..._corners.smoothCorners,paddingHorizontal:p["padding-x"]},{backgroundColor:f.background,transform:[{scale:S}]},d?{position:"absolute",borderWidth:v,borderColor:b.colors.surface,...anchorPosition(c,y)}:null,x],accessible:!0,accessibilityRole:R,accessibilityLabel:k,children:N||null===j?null:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.text,{color:f.text,fontSize:p.text,...(0,_index.fontFor)(b,"bold")},m],numberOfLines:1,maxFontSizeMultiplier:b.settings.maxFontSizeMultiplier,children:j??" "})}):null,B=d?(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,style:[styles.wrapper,h],testID:_,children:[d,z]}):(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:h,testID:_,children:z});return l?(0,_jsxRuntime.jsx)(BadgeSkeleton,{...e}):B});Badge.displayName="Badge";const BadgeSkeleton=({variant:e="standard",size:t="md",children:i,anchor:r,style:n,badgeStyle:o})=>{const a=(0,_index.useTheme)(),s=(0,_index.resolveBadgeSize)(a,t);if("dot"===e)return(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:s["dot-size"],height:s["dot-size"],style:[o,n]});const l=s.height/2;if(void 0!==i){const e="topLeft"===r?{top:-s.height/2,left:-s.height/2}:"bottomRight"===r?{bottom:-s.height/2,right:-s.height/2}:"bottomLeft"===r?{bottom:-s.height/2,left:-s.height/2}:{top:-s.height/2,right:-s.height/2};return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.wrapper,n],children:[i,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{position:"absolute"},e],children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:s["min-width"]+s["padding-x"],height:s.height,radius:l,style:o})})]})}return(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:s["min-width"]+s["padding-x"],height:s.height,radius:l,style:[o,n]})};BadgeSkeleton.displayName="BadgeSkeleton",Badge.Skeleton=BadgeSkeleton;const styles=_reactNative.StyleSheet.create({wrapper:{position:"relative",alignSelf:"flex-start"},badge:{alignItems:"center",justifyContent:"center",flexDirection:"row"},text:{textAlign:"center",includeFontPadding:!1}});var _default=exports.default=Badge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Banner=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const Banner=exports.Banner=(0,_react.forwardRef)((e,t)=>{const{title:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Banner=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const Banner=exports.Banner=(0,_react.forwardRef)((e,t)=>{const{title:r,message:i,variant:n="info",icon:s,actions:o,dismissible:a=!1,onDismiss:l,haptic:c,visible:d=!0,animateMount:u=!0,loading:x=!1,accessibilityRole:m="alert",accessibilityLabel:p,style:g,containerStyle:h,iconCircleStyle:_,tintBarStyle:y,closeButtonStyle:b,actionButtonStyle:j,testID:f}=e,v=(0,_index.useTheme)(),R=(0,_usePresenceMotion.usePresenceMotion)(),w=(0,_react.useMemo)(()=>buildStyles(v),[v]),N=(0,_react.useMemo)(()=>tintFor(v,n),[v,n]),[S,k]=R.range(-20,0),B=(0,_react.useRef)((0,_index.createAnimatedValue)(u&&d?S:0)).current,C=(0,_react.useRef)((0,_index.createAnimatedValue)(u&&d?0:d?1:0)).current,[V,z]=(0,_react.useState)(d),D=(0,_react.useRef)(!0);if((0,_react.useEffect)(()=>{if(D.current&&(D.current=!1,!u))return;let e;return d?(z(!0),e=_reactNative.Animated.parallel([_reactNative.Animated.timing(B,{toValue:k,duration:v.motion.duration.default,useNativeDriver:!0}),_reactNative.Animated.timing(C,{toValue:1,duration:R.duration("default"),useNativeDriver:!0})]),e.start()):V&&(e=_reactNative.Animated.parallel([_reactNative.Animated.timing(B,{toValue:S,duration:v.motion.duration.fast,useNativeDriver:!0}),_reactNative.Animated.timing(C,{toValue:0,duration:R.duration("fast"),useNativeDriver:!0})]),e.start(()=>{z(!1)})),()=>e?.stop()},[d]),!V)return null;const T=r??" ",H="string"==typeof i?i??" ":"",A="alert"===m?"danger"===n?"assertive":"polite":"none",M=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{ref:t,accessibilityRole:m,accessibilityLiveRegion:A,accessibilityLabel:p,testID:f,style:[w.container,{backgroundColor:v.colors["bg-subtle"],borderRadius:v.radius.md,..._corners.smoothCorners,padding:v.space.md,opacity:C,transform:[{translateY:B}]},g,h],children:[v.components.banner["tint-bar-width"]>0?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[w.tintBar,{backgroundColor:N.bar},y]}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:w.row,children:[!1===s?null:s?(0,_jsxRuntime.jsx)(_reactNative.View,{style:w.iconWrap,children:s}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[w.iconCircle,{backgroundColor:N.bar+"22"},_],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[w.iconGlyph,{color:N.ink}],accessible:!1,children:N.glyph})}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:w.textBlock,children:[r||x?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:v.colors["text-body"],fontSize:v.text.base.size,...(0,_index.fontFor)(v,"semibold"),lineHeight:20},numberOfLines:2,children:T}):null,"string"==typeof i||x?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:v.colors["text-muted"],fontSize:v.text.sm.size,...(0,_index.fontFor)(v,"normal"),lineHeight:18,marginTop:r?v.space.xxs:0},children:H||" "}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:{marginTop:r?v.space.xxs:0},children:i})]}),a?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:"Dismiss banner",onPress:()=>{const e=(0,_hapticUtils.resolveHaptic)(c,"selection");e&&(0,_hapticUtils.triggerHaptic)(e),l?.()},hitSlop:8,style:({pressed:e})=>[w.closeBtn,{backgroundColor:e?v.colors["surface-pressed"]:"transparent"},b],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:v.colors["text-muted"],fontSize:v.text.lg.size,fontWeight:v.weight.bold,lineHeight:17},accessible:!1,children:"×"})}):null]}),o&&o.length>0?(0,_jsxRuntime.jsx)(_reactNative.View,{style:w.actionsRow,children:o.map((e,t)=>{const r=e.tone??"primary",i=e.variant??"ghost",n="danger"===r?v.colors.danger:"neutral"===r?v.colors["text-muted"]:N.glyphColor,s="danger"===r?v.colors["danger-text"]:"neutral"===r?v.colors["text-muted"]:N.ink,o="danger"===r?v.colors["on-danger"]:"neutral"===r?v.colors["on-neutral-strong"]:N.on,a="solid"===i;return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:e.label,onPress:()=>{const t=(0,_hapticUtils.resolveHaptic)(c,"selection");t&&(0,_hapticUtils.triggerHaptic)(t),e.onPress()},style:({pressed:t})=>[w.actionBtn,"md"===e.size&&w.actionBtnMd,"outline"===i&&{borderWidth:1,borderColor:s},{backgroundColor:a?n:t?v.colors["surface-pressed"]:"transparent",opacity:a&&t?.85:1},j],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:a?o:s,fontSize:v.text.sm.size,textAlign:"center",...(0,_index.fontFor)(v,"semibold")},children:e.label})},`${e.label}-${t}`)})}):null]});return x?(0,_jsxRuntime.jsx)(BannerSkeleton,{...e}):M});Banner.displayName="Banner";const BannerSkeleton=({title:e,actions:t,icon:r,containerStyle:i,style:n})=>{const s=(0,_index.useTheme)(),o=!1!==r;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[{flexDirection:"row",alignItems:"flex-start",backgroundColor:s.colors.surface,borderRadius:s.radius.md,..._corners.smoothCorners,padding:s.space.md,borderWidth:1,borderColor:s.colors.border},i,n],accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:[o?(0,_jsxRuntime.jsx)(_reactNative.View,{style:{marginRight:s.space.sm},children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:32,height:32})}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:{flex:1},children:[void 0!==e?(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"55%",height:16,style:{marginBottom:s.space.xs}}):null,(0,_jsxRuntime.jsx)(_index2.SkeletonText,{lines:2,fontSize:s.text.sm.size,lastLineWidth:"70%"}),t&&t.length>0?(0,_jsxRuntime.jsx)(_reactNative.View,{style:{flexDirection:"row",marginTop:s.space.sm},children:t.map((e,t)=>(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:72,height:28,shape:"rounded",style:{marginRight:s.space.sm}},`sk-banner-action-${t}`))}):null]})]})};BannerSkeleton.displayName="BannerSkeleton",Banner.Skeleton=BannerSkeleton;const tintFor=(e,t)=>{switch(t){case"success":return{bar:e.colors.success,glyphColor:e.colors.success,ink:e.colors["success-text"],on:e.colors["on-success"],glyph:"✓"};case"warning":return{bar:e.colors.warning,glyphColor:e.colors.warning,ink:e.colors["warning-text"],on:e.colors["on-warning"],glyph:"⚠"};case"danger":return{bar:e.colors.danger,glyphColor:e.colors.danger,ink:e.colors["danger-text"],on:e.colors["on-danger"],glyph:"✗"};case"neutral":return{bar:e.colors["text-subtle"],glyphColor:e.colors["text-muted"],ink:e.colors["text-muted"],on:e.colors["on-neutral-strong"],glyph:"i"};default:return{bar:e.colors.primary,glyphColor:e.colors.primary,ink:e.colors["primary-text"],on:e.colors["on-primary"],glyph:"i"}}},buildStyles=e=>{const t=e.components.banner,r=e.space.sm;return _reactNative.StyleSheet.create({container:{overflow:"hidden",paddingLeft:e.space.md},tintBar:{position:"absolute",left:0,top:0,bottom:0,width:t["tint-bar-width"]},row:{flexDirection:"row",alignItems:"flex-start"},iconWrap:{marginRight:r},iconCircle:{width:28,height:28,borderRadius:e.radius.pill,..._corners.smoothCorners,alignItems:"center",justifyContent:"center",marginRight:r},iconGlyph:{fontSize:e.text.base.size,fontWeight:"700",lineHeight:17},textBlock:{flex:1,paddingRight:e.space.xs},closeBtn:{width:28,height:28,borderRadius:e.radius.pill,..._corners.smoothCorners,alignItems:"center",justifyContent:"center",marginLeft:e.space.xxs},actionsRow:{flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",marginTop:e.space.xs,columnGap:e.space.xs,rowGap:e.space.xs},actionBtn:{paddingHorizontal:e.space.sm,paddingVertical:e.space.xs,borderRadius:e.radius.sm,..._corners.smoothCorners,maxWidth:"100%",alignItems:"center",justifyContent:"center"},actionBtnMd:{minHeight:44,paddingHorizontal:e.space.md}})};var _default=exports.default=Banner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.BarChart=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_index4=require("../Text/index.js"),_scale=require("./scale.js"),_jsxRuntime=require("react/jsx-runtime");const AUTO_VALUES_MAX_BARS=7,MAX_BAR_WIDTH=40,BAR_SHARE=.6,MIN_BAR_HEIGHT=2,VALUE_LABEL_ROOM=20,PLOT_PAD=6,HEADER_MIN_HEIGHT=48,AXIS_LABEL_MIN_WIDTH=44,CHAR_WIDTH=7,FONT_SCALE_CAP=1.2,toneColor=(e,t)=>"neutral"===t?e.colors
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.BarChart=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_index4=require("../Text/index.js"),_scale=require("./scale.js"),_jsxRuntime=require("react/jsx-runtime");const AUTO_VALUES_MAX_BARS=7,MAX_BAR_WIDTH=40,BAR_SHARE=.6,MIN_BAR_HEIGHT=2,VALUE_LABEL_ROOM=20,PLOT_PAD=6,HEADER_MIN_HEIGHT=48,AXIS_LABEL_MIN_WIDTH=44,CHAR_WIDTH=7,FONT_SCALE_CAP=1.2,toneColor=(e,t)=>"neutral"===t?e.colors["text-muted"]:e.colors[`${t}-text`],safe=e=>Number.isFinite(e)?e:0,defaultFormatValue=e=>(0,_mobileCore.formatNumber)(e),defaultFormatTick=e=>(0,_mobileCore.formatCompactNumber)(e),BarChart=exports.BarChart=(0,_react.forwardRef)((e,t)=>{const{data:r,tone:i="primary",color:a,height:s=160,label:n,summary:l,formatValue:o=defaultFormatValue,formatTick:c=defaultFormatTick,showValues:u,selection:x,defaultSelection:d=null,onSelect:m,haptic:_,style:h,testID:b}=e,y=(0,_index2.useTheme)(),f=r.length,[j,p]=(0,_react.useState)(0),[v,R]=(0,_index.useControllableState)({value:x,defaultValue:d,onChange:m}),g=null!==v&&v>=0&&v<f?v:null,N=(0,_react.useRef)(g);N.current=g;const M=(0,_react.useRef)(-1),S=(0,_index3.resolveHaptic)(_,"tick"),w=(0,_react.useCallback)(()=>{S&&(0,_index3.triggerHaptic)(S)},[S]),C=u??(f>0&&f<=7),T=(0,_react.useMemo)(()=>r.map(e=>safe(e.value)),[r]),A=(0,_react.useMemo)(()=>(0,_scale.barScale)(T),[T]),V=C?20:6,L=C&&A.min<0?20:6,H=Math.max(1,s-V-L),I=(0,_react.useCallback)(e=>V+(A.max-e)/(A.max-A.min)*H,[V,A.max,A.min,H]),k=I(0),B=(0,_react.useMemo)(()=>A.ticks.map(e=>c(e)),[A.ticks,c]),D=Math.ceil(7*Math.max(...B.map(e=>e.length),1)*1.2),E=f>0?j/f:0,O=Math.max(1,Math.ceil(44/Math.max(1,E||44))),$=(0,_react.useCallback)(e=>{const t=r[e];return t.accessibilityLabel??`${t.label}, ${o(T[e])}`},[r,o,T]),q=(0,_react.useMemo)(()=>{let e=-1;return T.forEach((t,r)=>{(-1===e||t>T[e])&&(e=r)}),e},[T]),F=l??(q>=0?`Highest: ${r[q].label}, ${o(T[q])}`:""),G=(0,_react.useRef)({fire:w,setSelected:R,count:f,plotWidth:j});G.current={fire:w,setSelected:R,count:f,plotWidth:j};const W=(0,_react.useMemo)(()=>{const indexAt=e=>{const{count:t,plotWidth:r}=G.current;return 0===t||r<=0||!Number.isFinite(e)?-1:Math.min(t-1,Math.max(0,Math.floor(e/r*t)))},scrubTo=e=>{const t=indexAt(e);t<0||t===M.current||(M.current=t,G.current.fire(),G.current.setSelected(t))},e=_reactNativeGestureHandler.Gesture.Pan().runOnJS(!0).activeOffsetX([-8,8]).failOffsetY([-12,12]).onStart(e=>{M.current=N.current??-1,scrubTo(e.x)}).onUpdate(e=>scrubTo(e.x)).withTestId(b?`${b}-pan`:"bar-chart-pan"),t=_reactNativeGestureHandler.Gesture.Tap().runOnJS(!0).onEnd((e,t)=>{if(!t)return;const r=indexAt(e.x);r<0||(G.current.fire(),M.current=r,G.current.setSelected(r===N.current?null:r))}).withTestId(b?`${b}-tap`:"bar-chart-tap");return _reactNativeGestureHandler.Gesture.Race(e,t)},[b]),P=(0,_react.useCallback)(e=>{if(0===f)return;const t=N.current,r="increment"===e.nativeEvent.actionName?null===t?0:Math.min(f-1,t+1):null===t?f-1:Math.max(0,t-1);r!==t&&(w(),R(r))},[f,w,R]),U=(0,_react.useCallback)(e=>{const t=Math.round(e.nativeEvent.layout.width);p(e=>e===t?e:t)},[]),X=a??toneColor(y,i),z=y.radius.sm,J=n??"Bar chart",Y=0===f?`${J}, no data`:F?`${J}, ${F}`:J,K=null===g?F:$(g),Q=T.map((e,t)=>{const r=Math.min(40,Math.max(4,.6*E)),i=I(e),a=e>=0?i:k,n=0===e?0:Math.max(2,Math.abs(i-k)),l=null!==g&&g!==t;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.slot,{height:s}],children:[j>0&&n>0?(0,_jsxRuntime.jsx)(_reactNative.View,{testID:b?`${b}-bar-${t}`:void 0,style:{position:"absolute",left:(E-r)/2,top:a,width:r,height:n,backgroundColor:X,opacity:l?.4:1,..._corners.smoothCorners,...e>=0?{borderTopLeftRadius:z,borderTopRightRadius:z}:{borderBottomLeftRadius:z,borderBottomRightRadius:z}}}):null,C&&j>0?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"secondary",align:"center",numberOfLines:1,maxFontSizeMultiplier:1.2,style:{position:"absolute",left:0,right:0,top:e>=0?i-20+2:i+2},children:c(e)}):null]},t)});return 0===f?(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,accessible:!0,accessibilityRole:"image",accessibilityLabel:Y,testID:b,style:[styles.root,h],children:(0,_jsxRuntime.jsx)(_index4.Text,{variant:"bodySmall",color:"secondary",children:"No data"})}):(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,accessible:!0,accessibilityRole:"adjustable",accessibilityLabel:Y,accessibilityValue:{min:0,max:f-1,now:g??0,text:K},accessibilityActions:[{name:"increment"},{name:"decrement"}],onAccessibilityAction:P,testID:b,style:[styles.root,h],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.header,{minHeight:48,marginBottom:y.space.sm}],children:null===g?F?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"bodySmall",color:"secondary",children:F}):null:(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"secondary",numberOfLines:1,children:r[g].label}),(0,_jsxRuntime.jsx)(_index4.Text,{variant:"h3",numberOfLines:1,testID:b?`${b}-callout`:void 0,children:o(T[g])})]})}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.body,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:{width:D,height:s},children:A.ticks.map((e,t)=>(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"tertiary",align:"right",numberOfLines:1,maxFontSizeMultiplier:1.2,style:{position:"absolute",right:y.space.xs,left:0,top:I(e)-8},children:B[t]},e))}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.plotColumn,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:W,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:{height:s},onLayout:U,testID:b?`${b}-plot`:void 0,children:[A.ticks.map(e=>(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:{position:"absolute",left:0,right:0,top:I(e)-(0===e?.75:_reactNative.StyleSheet.hairlineWidth),height:0===e?1.5:2*_reactNative.StyleSheet.hairlineWidth,backgroundColor:0===e?y.colors["text-subtle"]:y.colors["border-subtle"]}},e)),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.slots,{height:s}],children:Q})]})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.axis,children:r.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.axisSlot,children:t%O===0?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:g===t?"primary":"tertiary",weight:g===t?"semibold":void 0,align:"center",numberOfLines:1,maxFontSizeMultiplier:1.2,style:E>0?{width:E*O}:void 0,children:e.axisLabel??e.label}):null},t))})]})]})]})});BarChart.displayName="BarChart";const styles=_reactNative.StyleSheet.create({root:{alignSelf:"stretch"},header:{justifyContent:"center"},body:{flexDirection:"row"},plotColumn:{flex:1},slots:{flexDirection:"row"},slot:{flex:1},axis:{flexDirection:"row"},axisSlot:{flex:1,alignItems:"center",overflow:"visible"}});var _default=exports.default=BarChart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.BottomNavigation=void 0;var cache,_react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_useReducedMotion=require("../../hooks/useReducedMotion.js"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_shadows=require("../../utils/shadows.js"),_index3=require("../AppIcon/index.js"),_useScreenReaderEnabled=require("./useScreenReaderEnabled.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var i,n,a=Object.defineProperty,r={__proto__:null,default:e};if(Object(e)!==e)return r;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,r)}for(n in e)"default"!==n&&{}.hasOwnProperty.call(e,n)&&((i=a&&Object.getOwnPropertyDescriptor(e,n))&&(i.get||i.set)?a(r,n,i):r[n]=e[n]);return r}const DEFAULT_ICON_SIZE=18,DEFAULT_LABEL_MAX_FONT_SCALE=1.2,ICON_WRAP_AIR=4,PILL_AIR=8,DEFAULT_PILL_MAX_WIDTH=64,TILE_MAX_WIDTH=96,DEFAULT_UNDERLINE_HEIGHT=3,DEFAULT_BUBBLE_SIZE=48,DEFAULT_BUBBLE_LIFT=14,DEFAULT_CENTER_SIZE=48,DEFAULT_CENTER_ICON_SIZE=24,CENTER_KEY="__webority_center_action__",EXPANDED_FLEX=1.5,SOLID_INACTIVE_OPACITY=.7,TILE_INSET=2,formatBadge=e=>null==e||!1===e?null:!0===e||"·"===e?{text:"",isDot:!0}:"number"==typeof e?e<=0?null:{text:e>99?"99+":String(e),isDot:!1}:"string"==typeof e?0===e.length?null:{text:e,isDot:!1}:null,badgeAccessibilitySuffix=e=>null==e||!1===e?"":"number"==typeof e?e>0?`, ${e} unread`:"":!0===e||"·"===e?", new updates":"string"==typeof e&&e.length>0?`, ${e}`:"",BottomNavigation=exports.BottomNavigation=(0,_react.forwardRef)((e,t)=>{const{tabs:i,centerAction:n,activeTab:a,onChange:r,haptic:o="selection",showLabels:s=!0,variant:l="pill",indicatorPosition:c="bottom",radius:d,indicatorRadius:u="auto",elevation:p,iconSize:g,marginHorizontal:h,marginVertical:m,paddingHorizontal:_,paddingVertical:b,border:x,minimizeOnScroll:f=!1,scrollDirection:y="idle",accessory:v,style:R,indicatorStyle:N,labelStyle:j,labelMaxFontScale:S,testID:w}=e,E=(0,_index.useTheme)(),I=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),A=(0,_react.useMemo)(()=>buildStyles(E),[E]),C=E.components.bottomNavigation,M=g??C?.iconSize??18,L=C?.pillHeight??M+4+8,T=C?.pillMaxWidth??64,k=(0,_index.spaceOf)(E,C?.pillInset??"lg","components.bottomNavigation.pillInset"),D=(0,_index.spaceOf)(E,C?.floatingMargin??"lg","components.bottomNavigation.floatingMargin"),V=(0,_index.radiusOf)(E,C?.floatingRadius??"xl","components.bottomNavigation.floatingRadius"),z=C?.bubbleSize??48,B=C?.bubbleLift??14,P=(0,_useReducedMotion.useReducedMotion)(),H=(0,_useScreenReaderEnabled.useScreenReaderEnabled)(f),[W,O]=_react.default.useState(null);(0,_react.useEffect)(()=>{null!==W&&W!==y&&O(null)},[W,y]);const F=f&&!H&&"down"===y&&null===W,[q,U]=_react.default.useState(F);(0,_react.useEffect)(()=>{q!==F&&(P||"web"===_reactNative.Platform.OS||_reactNative.LayoutAnimation.configureNext(_reactNative.LayoutAnimation.Presets.easeInEaseOut),U(F))},[q,F,P]);const $="function"==typeof v?v({minimized:q}):v,X=null!=$&&!1!==$,Z=q&&X,[Y,K]=_react.default.useState(0),G=X&&!Z?Y+E.spacing.xs:0,J="tile"===l,Q="floating"===l||J,ee="bubble"===l,te="expand"===l,ie="solid"===l,ne="pill"===l||Q||ie,ae=Math.max(0,i.findIndex(e=>e.key===a)),[re,oe]=_react.default.useState(0),[se,le]=_react.default.useState(0),ce=n?Math.ceil(i.length/2):i.length,de=i.length+(n?1:0),[ue,pe]=_react.default.useState({width:0,height:0}),ge=n?.size??48,he=void 0!==n?.gap,me=Math.max(0,n?.gap??0),be=he?(ue.width||ge)+2*me:0,xe=he?i.length>0?Math.max(0,re-be)/i.length:0:de>0?re/de:0,fe=he?be:xe,ye=(0,_react.useRef)((0,_index.createAnimatedValue)(ae)).current,ve=(0,_react.useRef)({}),Re=(0,_react.useRef)({});i.forEach(e=>{ve.current[e.key]||(ve.current[e.key]=new _reactNative.Animated.Value(1)),Re.current[e.key]||(Re.current[e.key]=(0,_index.createAnimatedValue)(e.key===a?1:0))});const Ne=xe>0?J?Math.min(xe-4,96):Math.min(xe-k,T):0,je=xe>0?(xe-Ne)/2:0,Se=xe>0?(xe-z)/2:0,hasLabel=e=>s&&!q&&!1!==e.showLabel&&e.label.trim().length>0,we=i[ae],Ee=we&&!hasLabel(we)&&se>0?se/2:E.spacing.xs+(M+4)/2,Ie=Ee-B-z/2,Ae=Math.max(0,se-4),Ce=J?2:Ee-L/2,Me=(0,_react.useRef)(ae);(0,_react.useEffect)(()=>{if(Me.current===ae)return;Me.current=ae;const e=_reactNative.Animated.spring(ye,{toValue:ae,tension:120,friction:14,useNativeDriver:!0});return e.start(),()=>e.stop()},[ae,ye]);const Le=Math.max(1,i.length-1),Te=(0,_react.useMemo)(()=>{const e=[],t=[];for(let i=0;i<=Le;i++)e.push(i),t.push(i<ce?i*xe:i*xe+fe);return ye.interpolate({inputRange:e,outputRange:t})},[ye,Le,ce,xe,fe]),ke=i.map(e=>e.key).join(" "),De=ee||te;(0,_react.useEffect)(()=>{const e=ke.split(" ").flatMap(e=>{const t=e===a?1:0,i=Re.current[e];return i?De?[_reactNative.Animated.spring(i,{toValue:t,tension:140,friction:13,useNativeDriver:!1})]:(i.setValue(t),[]):[]});if(0===e.length)return;const t=_reactNative.Animated.parallel(e);return t.start(),()=>t.stop()},[a,ke,De]);const popIcon=e=>{_reactNative.Animated.sequence([_reactNative.Animated.timing(e,{toValue:1.15,duration:120,useNativeDriver:!0}),_reactNative.Animated.spring(e,{toValue:1,tension:200,friction:8,useNativeDriver:!0})]).start()},Ve=(0,_react.useRef)(new _reactNative.Animated.Value(1)).current,{colors:ze}=E,Be=ie?ze.primary:ze.background.elevated,Pe=ie?ze.onPrimary:ze.primary,He=ie?ze.onPrimary:J?ze.text.primary:ze.text.tertiary,We=ie?ze.onPrimary:ze.primaryMuted,Oe=ie?ze.primary:ee?ze.onPrimary:Pe,Fe=h??D,qe=m??(Q?D:0),Ue=qe>0,$e=b??E.spacing.sm,Xe=_??(Q?E.spacing.sm:E.spacing.xs),Ze=Ue?$e:Math.max($e,I.bottom),Ye=Ue?Math.max(qe,I.bottom>0?I.bottom+E.spacing.sm:0):0,Ke="pill"===d,Ge=Q?se+G+2*$e+2*_reactNative.StyleSheet.hairlineWidth:se+G+$e+Ze,Je=void 0===C?.radius?void 0:(0,_index.radiusOf)(E,C.radius,"components.bottomNavigation.radius"),Qe=Ke?se>0?Ge/2:E.radius.pill:d??Je??(J?E.radius.pill:Q?V:E.radius.none),et=void 0!==d||void 0!==C?.radius,activeBgRadius=(e,t)=>"number"==typeof u?Math.max(0,Math.min(u,e/2)):"auto"===u&&et?Math.min(Qe,e/2):t,tt="underline"===l?Math.max(Xe,Ke&&0===se?0:Qe):Xe,it=p??"none",nt=E.shadows[it],at="none"===it?null:(0,_shadows.supportsBoxShadow)()?{boxShadow:(0,_shadows.toBoxShadow)(nt)}:nt,rt=x?_reactNative.StyleSheet.hairlineWidth:0,ot=ie?ze.primary:ze.border.primary,st=n?.lift??0,lt=$e+rt+G,ct=n&&se>0?Math.max(0,(ue.height||ge)/2+st-se/2-lt):0,dt=n?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.centerCell,he?{flex:0,marginHorizontal:me}:null],pointerEvents:"box-none",children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>{if(!n)return;const e=n.haptic??o;!1!==e&&(0,_index2.triggerHaptic)(e),popIcon(Ve),n.onPress()},onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;pe(e=>e.width===t&&e.height===i?e:{width:t,height:i})},accessibilityRole:"button",accessibilityLabel:n.label,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[{top:-st},e?{opacity:.85}:null],testID:n.testID??(w?`${w}-center`:void 0),children:n.content?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:Ve}]},children:n.content}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.centerCircle,{width:ge,height:ge,borderRadius:E.radius.pill,..._corners.smoothCorners,backgroundColor:n.color??ze.primary}],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:Ve}]},children:(0,_index3.renderSlotIcon)(n.icon??"add",{color:n.iconColor??ze.onPrimary,size:n.iconSize??24,disabled:!1})})})})},CENTER_KEY):null,ut=X?(0,_jsxRuntime.jsx)(_reactNative.View,{style:Z?A.accessoryInline:A.accessoryStacked,onLayout:e=>K(e.nativeEvent.layout.height),testID:w?`${w}-accessory`:void 0,children:$}):null,pt=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:Z?[A.tabRow,A.tabRowInline]:A.tabRow,onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;oe(t),le(i)},children:[ne&&Ne>0&&(!J||Ae>0)?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[A.pill,{width:Ne,height:J?Ae:L,left:je,top:Ce,backgroundColor:We,borderRadius:J?activeBgRadius(Ae,Ae/2):activeBgRadius(L,E.radius.pill),..._corners.smoothCorners,transform:[{translateX:Te}]},N]}):null,ee&&xe>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[A.bubble,E.shadows.md,{width:z,height:z,borderRadius:E.radius.pill,..._corners.smoothCorners,left:Se,top:Ie,backgroundColor:ze.primary,borderColor:ze.background.elevated,transform:[{translateX:Te}]},N]}):null,(gt=i.map(e=>{const t=e.key===a,i=t?Pe:He,n=t?Oe:He,s="string"==typeof e.icon?{name:e.icon,variant:"bold"}:e.icon,l=t?e.activeIcon??s:e.icon,c=ve.current[e.key],d=Re.current[e.key],u=formatBadge(e.badge??null),p=badgeAccessibilitySuffix(e.badge??null),g=ie&&!t?.7:1,h=ee&&t||ie?ze.primary:ze.background.elevated,m=hasLabel(e),_=m&&(!te||t),b=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[A.iconWrap,{width:M+4,height:M+4,opacity:g,transform:[{scale:c}]}],children:[(0,_index3.renderSlotIcon)(l,{color:n,size:M,focused:t,disabled:!1}),u?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.isDot?A.badgeDot:A.badgePill,{backgroundColor:ze.error,borderColor:h}],children:u.isDot?null:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[A.badgeText,{color:ze.onError}],numberOfLines:1,children:u.text})}):null]}),x=ee?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{top:d.interpolate({inputRange:[0,1],outputRange:[0,-B]})},children:b}):b,f=_?(0,_jsxRuntime.jsx)(_reactNative.Animated.Text,{numberOfLines:1,maxFontSizeMultiplier:S??E.maxFontSizeMultiplier??1.2,style:[A.label,te?A.labelInline:null,{color:i,opacity:te?d:g,fontWeight:t?E.typography.fontWeight.semibold:E.typography.fontWeight.normal},j],children:e.label}):null,v=(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>(e=>{q&&O(y),e.key!==a&&!1!==o&&(0,_index2.triggerHaptic)(o);const t=ve.current[e.key];t&&popIcon(t),r(e.key)})(e),accessibilityRole:"tab",accessibilityState:{selected:t},"aria-selected":t,accessibilityLabel:`${e.label}${p}`,accessibilityHint:`Switches to ${e.label}`,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[A.tab,J?A.tabTile:null,e?{opacity:.85}:null],testID:w?`${w}-tab-${e.key}`:void 0,children:te?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[A.expandPill,{height:L,paddingHorizontal:t&&m?E.spacing.md:Math.max(0,(L-(M+4))/2)}],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[A.expandFill,{borderRadius:activeBgRadius(L,L/2),..._corners.smoothCorners,backgroundColor:t?ze.primaryMuted:"transparent"},t?N:null]}),x,f]}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[x,f]})},e.key);return te?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{flex:d.interpolate({inputRange:[0,1],outputRange:[1,m?1.5:1]})},children:v},e.key):v}),dt?[...gt.slice(0,ce),dt,...gt.slice(ce)]:gt),"underline"===l&&xe>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[A.underline,"top"===c?A.underlineTop:A.underlineBottom,"top"===c?{top:-$e-G}:{bottom:-$e},{width:xe,height:C?.underlineHeight??3,backgroundColor:ze.primary,transform:[{translateX:Te}]},N]}):null]});var gt;return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,testID:w,accessibilityRole:"tablist",style:[A.outer,{paddingHorizontal:Fe,paddingTop:Math.max(qe,ct),paddingBottom:Ye},R],children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[Q?A.floatingBar:A.dockedBar,Z?A.barInline:null,at,{backgroundColor:Be,borderColor:ot,borderRadius:Qe,..._corners.smoothCorners},Q?{borderWidth:rt,paddingHorizontal:Xe,paddingVertical:$e}:{borderTopWidth:rt,borderBottomWidth:rt,borderLeftWidth:rt,borderRightWidth:rt,paddingHorizontal:tt,paddingTop:$e,paddingBottom:Ze}],children:[ut,pt]})})});BottomNavigation.displayName="BottomNavigation";const buildStyles=e=>_reactNative.StyleSheet.create({outer:{backgroundColor:"transparent"},dockedBar:{paddingHorizontal:e.spacing.xs},floatingBar:{paddingVertical:e.spacing.sm,paddingHorizontal:e.spacing.sm},tabRow:{flexDirection:"row",alignItems:"stretch",position:"relative"},tabRowInline:{flex:1},barInline:{flexDirection:"row",alignItems:"center"},accessoryStacked:{marginBottom:e.spacing.xs},accessoryInline:{flexShrink:0,marginRight:e.spacing.xs},tab:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center",paddingVertical:e.spacing.xs,gap:e.spacing.xs},tabTile:{paddingVertical:e.spacing.sm,gap:e.spacing.xxs},centerCell:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center"},centerCircle:{alignItems:"center",justifyContent:"center"},iconWrap:{alignItems:"center",justifyContent:"center",position:"relative"},label:{fontSize:e.typography.fontSize.xs,lineHeight:e.typography.fontSize.xs*e.typography.lineHeight.tight,textAlign:"center",includeFontPadding:!1},labelInline:{fontSize:e.typography.fontSize.sm,lineHeight:e.typography.fontSize.sm*e.typography.lineHeight.tight,flexShrink:1,includeFontPadding:!1},expandPill:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:e.spacing.xs},expandFill:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden"},pill:{position:"absolute",left:0},bubble:{position:"absolute",left:0,borderWidth:3},underline:{position:"absolute",left:0,height:3},underlineBottom:{borderTopLeftRadius:e.radius.none,borderTopRightRadius:e.radius.none,..._corners.smoothCorners},underlineTop:{borderBottomLeftRadius:e.radius.none,borderBottomRightRadius:e.radius.none,..._corners.smoothCorners},badgePill:{position:"absolute",top:-4,right:-8,minWidth:18,height:18,borderRadius:e.radius.pill,..._corners.smoothCorners,paddingHorizontal:e.spacing.xs,paddingVertical:e.spacing.xxs,alignItems:"center",justifyContent:"center",borderWidth:1.5},badgeDot:{position:"absolute",top:-2,right:-2,width:10,height:10,borderRadius:e.radius.pill,..._corners.smoothCorners,borderWidth:1.5},badgeText:{fontSize:e.typography.fontSize.xs,fontWeight:"700",lineHeight:13,textAlign:"center",includeFontPadding:!1}});var _default=exports.default=BottomNavigation;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.BottomNavigation=void 0;var cache,_react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_useReducedMotion=require("../../hooks/useReducedMotion.js"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_shadows=require("../../utils/shadows.js"),_index3=require("../AppIcon/index.js"),_useScreenReaderEnabled=require("./useScreenReaderEnabled.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var i,a,n=Object.defineProperty,r={__proto__:null,default:e};if(Object(e)!==e)return r;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,r)}for(a in e)"default"!==a&&{}.hasOwnProperty.call(e,a)&&((i=n&&Object.getOwnPropertyDescriptor(e,a))&&(i.get||i.set)?n(r,a,i):r[a]=e[a]);return r}const DEFAULT_ICON_SIZE=18,DEFAULT_LABEL_MAX_FONT_SCALE=1.2,ICON_WRAP_AIR=4,PILL_AIR=8,DEFAULT_PILL_MAX_WIDTH=64,TILE_MAX_WIDTH=96,DEFAULT_UNDERLINE_HEIGHT=3,DEFAULT_BUBBLE_SIZE=48,DEFAULT_BUBBLE_LIFT=14,DEFAULT_CENTER_SIZE=48,DEFAULT_CENTER_ICON_SIZE=24,CENTER_KEY="__webority_center_action__",EXPANDED_FLEX=1.5,SOLID_INACTIVE_OPACITY=.7,TILE_INSET=2,formatBadge=e=>null==e||!1===e?null:!0===e||"·"===e?{text:"",isDot:!0}:"number"==typeof e?e<=0?null:{text:e>99?"99+":String(e),isDot:!1}:"string"==typeof e?0===e.length?null:{text:e,isDot:!1}:null,badgeAccessibilitySuffix=e=>null==e||!1===e?"":"number"==typeof e?e>0?`, ${e} unread`:"":!0===e||"·"===e?", new updates":"string"==typeof e&&e.length>0?`, ${e}`:"",BottomNavigation=exports.BottomNavigation=(0,_react.forwardRef)((e,t)=>{const{tabs:i,centerAction:a,activeTab:n,onChange:r,haptic:o="selection",showLabels:s=!0,variant:l="pill",indicatorPosition:c="bottom",radius:d,indicatorRadius:u="auto",elevation:p,iconSize:h,marginHorizontal:m,marginVertical:_,paddingHorizontal:g,paddingVertical:x,border:b,minimizeOnScroll:f=!1,scrollDirection:y="idle",accessory:v,style:R,indicatorStyle:j,labelStyle:N,labelMaxFontScale:w,testID:S}=e,E=(0,_index.useTheme)(),I=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),A=(0,_react.useMemo)(()=>buildStyles(E),[E]),C=h??18,L=C+4+8,T=E.space.lg,D=E.space.lg,M=E.radius.xl,V=(0,_useReducedMotion.useReducedMotion)(),k=(0,_useScreenReaderEnabled.useScreenReaderEnabled)(f),[B,z]=_react.default.useState(null);(0,_react.useEffect)(()=>{null!==B&&B!==y&&z(null)},[B,y]);const P=f&&!k&&"down"===y&&null===B,[H,W]=_react.default.useState(P);(0,_react.useEffect)(()=>{H!==P&&(V||"web"===_reactNative.Platform.OS||_reactNative.LayoutAnimation.configureNext(_reactNative.LayoutAnimation.Presets.easeInEaseOut),W(P))},[H,P,V]);const F="function"==typeof v?v({minimized:H}):v,O=null!=F&&!1!==F,q=H&&O,[U,$]=_react.default.useState(0),X=O&&!q?U+E.space.xs:0,Z="tile"===l,Y="floating"===l||Z,K="bubble"===l,G="expand"===l,J="solid"===l,Q="pill"===l||Y||J,ee=Math.max(0,i.findIndex(e=>e.key===n)),[te,ie]=_react.default.useState(0),[ae,ne]=_react.default.useState(0),re=a?Math.ceil(i.length/2):i.length,oe=i.length+(a?1:0),[se,le]=_react.default.useState({width:0,height:0}),ce=a?.size??48,de=void 0!==a?.gap,ue=Math.max(0,a?.gap??0),pe=de?(se.width||ce)+2*ue:0,he=de?i.length>0?Math.max(0,te-pe)/i.length:0:oe>0?te/oe:0,me=de?pe:he,ge=(0,_react.useRef)((0,_index.createAnimatedValue)(ee)).current,xe=(0,_react.useRef)({}),be=(0,_react.useRef)({});i.forEach(e=>{xe.current[e.key]||(xe.current[e.key]=new _reactNative.Animated.Value(1)),be.current[e.key]||(be.current[e.key]=(0,_index.createAnimatedValue)(e.key===n?1:0))});const fe=he>0?Z?Math.min(he-4,96):Math.min(he-T,64):0,ye=he>0?(he-fe)/2:0,ve=he>0?(he-48)/2:0,hasLabel=e=>s&&!H&&!1!==e.showLabel&&e.label.trim().length>0,Re=i[ee],je=Re&&!hasLabel(Re)&&ae>0?ae/2:E.space.xs+(C+4)/2,Ne=je-14-24,we=Math.max(0,ae-4),Se=Z?2:je-L/2,Ee=(0,_react.useRef)(ee);(0,_react.useEffect)(()=>{if(Ee.current===ee)return;Ee.current=ee;const e=_reactNative.Animated.spring(ge,{toValue:ee,tension:120,friction:14,useNativeDriver:!0});return e.start(),()=>e.stop()},[ee,ge]);const Ie=Math.max(1,i.length-1),Ae=(0,_react.useMemo)(()=>{const e=[],t=[];for(let i=0;i<=Ie;i++)e.push(i),t.push(i<re?i*he:i*he+me);return ge.interpolate({inputRange:e,outputRange:t})},[ge,Ie,re,he,me]),Ce=i.map(e=>e.key).join(" "),Le=K||G;(0,_react.useEffect)(()=>{const e=Ce.split(" ").flatMap(e=>{const t=e===n?1:0,i=be.current[e];return i?Le?[_reactNative.Animated.spring(i,{toValue:t,tension:140,friction:13,useNativeDriver:!1})]:(i.setValue(t),[]):[]});if(0===e.length)return;const t=_reactNative.Animated.parallel(e);return t.start(),()=>t.stop()},[n,Ce,Le]);const popIcon=e=>{_reactNative.Animated.sequence([_reactNative.Animated.timing(e,{toValue:1.15,duration:120,useNativeDriver:!0}),_reactNative.Animated.spring(e,{toValue:1,tension:200,friction:8,useNativeDriver:!0})]).start()},Te=(0,_react.useRef)(new _reactNative.Animated.Value(1)).current,{colors:De}=E,Me=J?De.primary:De.surface,Ve=J?De["on-primary"]:De.primary,ke=J?De["on-primary"]:Z?De["text-body"]:De["text-subtle"],Be=J?De["on-primary"]:De["primary-soft"],ze=J?De.primary:K?De["on-primary"]:Ve,Pe=m??D,He=_??(Y?D:0),We=He>0,Fe=x??E.space.sm,Oe=g??(Y?E.space.sm:E.space.xs),qe=We?Fe:Math.max(Fe,I.bottom),Ue=We?Math.max(He,I.bottom>0?I.bottom+E.space.sm:0):0,$e="pill"===d,Xe=Y?ae+X+2*Fe+2*_reactNative.StyleSheet.hairlineWidth:ae+X+Fe+qe,Ze=$e?ae>0?Xe/2:E.radius.pill:d??(Z?E.radius.pill:Y?M:E.radius.none),Ye=void 0!==d,activeBgRadius=(e,t)=>"number"==typeof u?Math.max(0,Math.min(u,e/2)):"auto"===u&&Ye?Math.min(Ze,e/2):t,Ke="underline"===l?Math.max(Oe,$e&&0===ae?0:Ze):Oe,Ge=p??"none",Je="none"===Ge?void 0:E.shadow[Ge],Qe=void 0===Je?null:(0,_shadows.supportsBoxShadow)()?{boxShadow:(0,_shadows.toBoxShadow)(Je)}:Je,et=b?_reactNative.StyleSheet.hairlineWidth:0,tt=J?De.primary:De.border,it=a?.lift??0,at=Fe+et+X,nt=a&&ae>0?Math.max(0,(se.height||ce)/2+it-ae/2-at):0,rt=a?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.centerCell,de?{flex:0,marginHorizontal:ue}:null],pointerEvents:"box-none",children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>{if(!a)return;const e=a.haptic??o;!1!==e&&(0,_index2.triggerHaptic)(e),popIcon(Te),a.onPress()},onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;le(e=>e.width===t&&e.height===i?e:{width:t,height:i})},accessibilityRole:"button",accessibilityLabel:a.label,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[{top:-it},e?{opacity:.85}:null],testID:a.testID??(S?`${S}-center`:void 0),children:a.content?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:Te}]},children:a.content}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.centerCircle,{width:ce,height:ce,borderRadius:E.radius.pill,..._corners.smoothCorners,backgroundColor:a.color??De.primary}],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:Te}]},children:(0,_index3.renderSlotIcon)(a.icon??"add",{color:a.iconColor??De["on-primary"],size:a.iconSize??24,disabled:!1})})})})},CENTER_KEY):null,ot=O?(0,_jsxRuntime.jsx)(_reactNative.View,{style:q?A.accessoryInline:A.accessoryStacked,onLayout:e=>$(e.nativeEvent.layout.height),testID:S?`${S}-accessory`:void 0,children:F}):null,st=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:q?[A.tabRow,A.tabRowInline]:A.tabRow,onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;ie(t),ne(i)},children:[Q&&fe>0&&(!Z||we>0)?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[A.pill,{width:fe,height:Z?we:L,left:ye,top:Se,backgroundColor:Be,borderRadius:Z?activeBgRadius(we,we/2):activeBgRadius(L,E.radius.pill),..._corners.smoothCorners,transform:[{translateX:Ae}]},j]}):null,K&&he>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[A.bubble,E.shadow.elevated,{width:48,height:48,borderRadius:E.radius.pill,..._corners.smoothCorners,left:ve,top:Ne,backgroundColor:De.primary,borderColor:De.surface,transform:[{translateX:Ae}]},j]}):null,(lt=i.map(e=>{const t=e.key===n,i=t?Ve:ke,a=t?ze:ke,s="string"==typeof e.icon?{name:e.icon,variant:"bold"}:e.icon,l=t?e.activeIcon??s:e.icon,c=xe.current[e.key],d=be.current[e.key],u=formatBadge(e.badge??null),p=badgeAccessibilitySuffix(e.badge??null),h=J&&!t?.7:1,m=K&&t||J?De.primary:De.surface,_=hasLabel(e),g=_&&(!G||t),x=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[A.iconWrap,{width:C+4,height:C+4,opacity:h,transform:[{scale:c}]}],children:[(0,_index3.renderSlotIcon)(l,{color:a,size:C,focused:t,disabled:!1}),u?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.isDot?A.badgeDot:A.badgePill,{backgroundColor:De.danger,borderColor:m}],children:u.isDot?null:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[A.badgeText,{color:De["on-danger"]}],numberOfLines:1,children:u.text})}):null]}),b=K?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{top:d.interpolate({inputRange:[0,1],outputRange:[0,-14]})},children:x}):x,f=g?(0,_jsxRuntime.jsx)(_reactNative.Animated.Text,{numberOfLines:1,maxFontSizeMultiplier:w??E.settings.maxFontSizeMultiplier??1.2,style:[A.label,G?A.labelInline:null,{color:i,opacity:G?d:h,fontWeight:t?E.weight.semibold:E.weight.normal},N],children:e.label}):null,v=(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>(e=>{H&&z(y),e.key!==n&&!1!==o&&(0,_index2.triggerHaptic)(o);const t=xe.current[e.key];t&&popIcon(t),r(e.key)})(e),accessibilityRole:"tab",accessibilityState:{selected:t},"aria-selected":t,accessibilityLabel:`${e.label}${p}`,accessibilityHint:`Switches to ${e.label}`,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[A.tab,Z?A.tabTile:null,e?{opacity:.85}:null],testID:S?`${S}-tab-${e.key}`:void 0,children:G?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[A.expandPill,{height:L,paddingHorizontal:t&&_?E.space.md:Math.max(0,(L-(C+4))/2)}],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[A.expandFill,{borderRadius:activeBgRadius(L,L/2),..._corners.smoothCorners,backgroundColor:t?De["primary-soft"]:"transparent"},t?j:null]}),b,f]}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[b,f]})},e.key);return G?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{flex:d.interpolate({inputRange:[0,1],outputRange:[1,_?1.5:1]})},children:v},e.key):v}),rt?[...lt.slice(0,re),rt,...lt.slice(re)]:lt),"underline"===l&&he>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[A.underline,"top"===c?A.underlineTop:A.underlineBottom,"top"===c?{top:-Fe-X}:{bottom:-Fe},{width:he,height:3,backgroundColor:De.primary,transform:[{translateX:Ae}]},j]}):null]});var lt;return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,testID:S,accessibilityRole:"tablist",style:[A.outer,{paddingHorizontal:Pe,paddingTop:Math.max(He,nt),paddingBottom:Ue},R],children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[Y?A.floatingBar:A.dockedBar,q?A.barInline:null,Qe,{backgroundColor:Me,borderColor:tt,borderRadius:Ze,..._corners.smoothCorners},Y?{borderWidth:et,paddingHorizontal:Oe,paddingVertical:Fe}:{borderTopWidth:et,borderBottomWidth:et,borderLeftWidth:et,borderRightWidth:et,paddingHorizontal:Ke,paddingTop:Fe,paddingBottom:qe}],children:[ot,st]})})});BottomNavigation.displayName="BottomNavigation";const buildStyles=e=>_reactNative.StyleSheet.create({outer:{backgroundColor:"transparent"},dockedBar:{paddingHorizontal:e.space.xs},floatingBar:{paddingVertical:e.space.sm,paddingHorizontal:e.space.sm},tabRow:{flexDirection:"row",alignItems:"stretch",position:"relative"},tabRowInline:{flex:1},barInline:{flexDirection:"row",alignItems:"center"},accessoryStacked:{marginBottom:e.space.xs},accessoryInline:{flexShrink:0,marginRight:e.space.xs},tab:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center",paddingVertical:e.space.xs,gap:e.space.xs},tabTile:{paddingVertical:e.space.sm,gap:e.space.xxs},centerCell:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center"},centerCircle:{alignItems:"center",justifyContent:"center"},iconWrap:{alignItems:"center",justifyContent:"center",position:"relative"},label:{fontSize:e.text.xs.size,lineHeight:e.text.xs.size*e.leading.tight,textAlign:"center",includeFontPadding:!1},labelInline:{fontSize:e.text.sm.size,lineHeight:e.text.sm.size*e.leading.tight,flexShrink:1,includeFontPadding:!1},expandPill:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:e.space.xs},expandFill:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden"},pill:{position:"absolute",left:0},bubble:{position:"absolute",left:0,borderWidth:3},underline:{position:"absolute",left:0,height:3},underlineBottom:{borderTopLeftRadius:e.radius.none,borderTopRightRadius:e.radius.none,..._corners.smoothCorners},underlineTop:{borderBottomLeftRadius:e.radius.none,borderBottomRightRadius:e.radius.none,..._corners.smoothCorners},badgePill:{position:"absolute",top:-4,right:-8,minWidth:18,height:18,borderRadius:e.radius.pill,..._corners.smoothCorners,paddingHorizontal:e.space.xs,paddingVertical:e.space.xxs,alignItems:"center",justifyContent:"center",borderWidth:1.5},badgeDot:{position:"absolute",top:-2,right:-2,width:10,height:10,borderRadius:e.radius.pill,..._corners.smoothCorners,borderWidth:1.5},badgeText:{fontSize:e.text.xs.size,fontWeight:"700",lineHeight:13,textAlign:"center",includeFontPadding:!1}});var _default=exports.default=BottomNavigation;
|