@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
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Slider=void 0;var cache,_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_valueText=require("./valueText.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var a,r,i=Object.defineProperty,n={__proto__:null,default:e};if(Object(e)!==e)return n;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,n)}for(r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((a=i&&Object.getOwnPropertyDescriptor(e,r))&&(a.get||a.set)?i(n,r,a):n[r]=e[r]);return n}const VARIANT_SIZE_MAP={inset:{sm:{trackHeight:14,thumbDiameter:10},md:{trackHeight:20,thumbDiameter:14},lg:{trackHeight:26,thumbDiameter:18}},minimal:{sm:{trackHeight:2,thumbDiameter:14},md:{trackHeight:3,thumbDiameter:18},lg:{trackHeight:4,thumbDiameter:22}},bar:{sm:{trackHeight:20,thumbDiameter:20},md:{trackHeight:28,thumbDiameter:28},lg:{trackHeight:36,thumbDiameter:36}}},INSET_RING_RATIO=.3,MIN_THUMB_TOUCH=44,TONE_TO_COLOR_KEY={primary:"primary",success:"success",warning:"warning",error:"error"},clamp=(e,t,a)=>Math.min(Math.max(e,t),a),snapToStep=(e,t,a,r)=>{if(r<=0)return clamp(e,t,a);const i=Math.round((e-t)/r)*r+t,n=String(r).split(".")[1]?.length??0,s=n>0?Number(i.toFixed(n)):i;return clamp(s,t,a)},BUBBLE_GAP=2,BUBBLE_CARET=8,BUBBLE_WRAP_WIDTH=160,NO_SHADOW={shadowOpacity:0,elevation:0},defaultFormatLabel=e=>String(e),Slider=exports.Slider=(0,_react.forwardRef)((e,t)=>{const{min:a=0,max:r=100,step:i=1,disabled:n=!1,tone:s="primary",size:o="md",variant:c="default",showLabel:l=!1,snapThumb:u=!1,formatLabel:d=defaultFormatLabel,renderLabel:m,accessibilityLabel:h,haptic:_,style:b,containerStyle:v,trackStyle:p,fillStyle:f,thumbStyle:g,labelStyle:R,thumbPressScale:y,labelShowDuration:x,labelOpacity:N,testID:w}=e,S=(0,_index2.useTheme)(),k=S.components.slider,j=(0,_react.useMemo)(()=>(0,_index2.resolveSliderSize)(S,o),[S,o]),C=(0,_react.useMemo)(()=>"default"===c?j:VARIANT_SIZE_MAP[c][o],[j,o,c]),O="inset"===c?C.trackHeight/2:0,M=k?.thumbPressAnimation??!1,H=y??k?.thumbPressScale??1.1,D=x??k?.labelShowDuration??S.motion.duration.fast,T=N??k?.labelOpacity??1,A=(0,_react.useMemo)(()=>buildStyles(S,C),[S,C]),E=(0,_react.useMemo)(()=>({damping:S.motion.spring.snappy.damping,stiffness:S.motion.spring.snappy.stiffness,mass:S.motion.spring.snappy.mass}),[S.motion.spring.snappy]),[V,W]=(0,_react.useState)(0),P=S.colors[TONE_TO_COLOR_KEY[s]],I=(0,_valueText.sliderToneInk)(S,s),L=!0===e.range,[q,X]=(0,_index.useControllableState)({value:e.value,defaultValue:e.defaultValue??(L?[a,r]:a),onChange:e.onChange}),B=(0,_reactNativeReanimated.useSharedValue)(0),G=(0,_reactNativeReanimated.useSharedValue)(0),F=(0,_reactNativeReanimated.useSharedValue)(L?q[0]:q),z=(0,_reactNativeReanimated.useSharedValue)(L?q[1]:q),J=(0,_reactNativeReanimated.useSharedValue)(0),U=(0,_reactNativeReanimated.useSharedValue)(0),K=(0,_reactNativeReanimated.useSharedValue)(1),Y=(0,_reactNativeReanimated.useSharedValue)(1),Z="always"===l,$=(0,_reactNativeReanimated.useSharedValue)(Z?1:0),Q=(0,_reactNativeReanimated.useSharedValue)(Z?1:0),ee=(0,_react.useMemo)(()=>10**(String(i).split(".")[1]?.length??0),[i]);(0,_react.useEffect)(()=>()=>{(0,_reactNativeReanimated.cancelAnimation)(B),(0,_reactNativeReanimated.cancelAnimation)(G),(0,_reactNativeReanimated.cancelAnimation)(K),(0,_reactNativeReanimated.cancelAnimation)(Y),(0,_reactNativeReanimated.cancelAnimation)($),(0,_reactNativeReanimated.cancelAnimation)(Q)},[B,G,K,Y,$,Q]);const te=(0,_react.useCallback)((e,t)=>{const i=t-2*O;return r===a||i<=0?O:O+(e-a)/(r-a)*i},[a,r,O]),ae=(0,_react.useCallback)((e,t)=>{const n=t-2*O;if(n<=0)return a;const s=clamp((e-O)/n,0,1);return snapToStep(a+s*(r-a),a,r,i)},[a,r,i,O]),re=(0,_react.useRef)(!1),ie=S.motion.duration.fast,ne=(0,_react.useRef)(q);ne.current=q;const se=(0,_react.useRef)(V);se.current=V;const oe=(0,_react.useCallback)((e=!1)=>{const t=se.current;if(t<=0)return;const place=t=>e?(0,_reactNativeReanimated.withTiming)(t,{duration:ie,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}):t,a=ne.current;if(L){const[e,r]=a,i=Math.min(e,r),n=Math.max(e,r);F.value=i,z.value=n,B.value=place(te(i,t)),G.value=place(te(n,t))}else{const e=a;F.value=e,z.value=e,B.value=place(te(e,t))}},[L,te,F,z,B,G,ie]),[ce,le]=(0,_react.useState)(0),ue=(0,_react.useRef)(!1),de=(0,_react.useCallback)(e=>{re.current=e,e||(ue.current=!0,le(e=>e+1))},[]);(0,_react.useEffect)(()=>{if(re.current)return;const e=ue.current;ue.current=!1,oe(e)},[JSON.stringify(q),V,ce,oe]);const me=(0,_react.useCallback)(e=>{const t=e.nativeEvent.layout.width;U.value=t,W(t)},[U]),he=(0,_react.useCallback)((e,t)=>{X(L?[e,t]:e)},[L,X]),be=(0,_react.useCallback)(()=>{const e=(0,_index3.resolveHaptic)(_,"selection");e&&(0,_index3.triggerHaptic)(e)},[_]),ve=(0,_react.useRef)(he);ve.current=he;const pe=(0,_react.useRef)(be);pe.current=be;const fe=(0,_react.useCallback)((e,t)=>ve.current(e,t),[]),ge=(0,_react.useCallback)(()=>pe.current(),[]),Re=Math.max(0,(44-C.thumbDiameter)/2),ye=Re>0?Re:void 0,xe=(0,_react.useCallback)(e=>{const t="low"===e?B:G,s="low"===e?F:z,o="low"===e?z:F,c="low"===e?K:Y,d="low"===e?$:Q,m="low"===e,h=a,_=r,b=i,v=ee,p=L,f=H,g=M,R=!0===l,y=u,x=T,N=D,w=E,S=O,follow=e=>{"worklet";const a=U.value-2*S;if(a<=0||!Number.isFinite(e))return;const r=Math.min(Math.max(J.value+e,S),U.value-S);let i=h+(r-S)/a*(_-h);b>0&&(i=Math.round((i-h)/b)*b+h,i=Math.round(i*v)/v),i=Math.min(Math.max(i,h),_),p&&(m&&i>o.value&&(i=o.value),!m&&i<o.value&&(i=o.value)),t.value=y||_===h?_===h?S:S+(i-h)/(_-h)*a:p?m?Math.min(r,G.value):Math.max(r,B.value):r,i!==s.value&&(s.value=i,i!==h&&i!==_||(0,_reactNativeReanimated.runOnJS)(ge)(),(0,_reactNativeReanimated.runOnJS)(fe)(F.value,z.value))},k=_reactNativeGestureHandler.Gesture.Pan().enabled(!n).minDistance(0);return(void 0===ye?k:k.hitSlop(ye)).onStart(()=>{"worklet";(0,_reactNativeReanimated.runOnJS)(de)(!0),J.value=t.value,g&&(c.value=(0,_reactNativeReanimated.withSpring)(f,w)),R&&(d.value=(0,_reactNativeReanimated.withTiming)(x,{duration:N,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)})),(0,_reactNativeReanimated.runOnJS)(ge)()}).onUpdate(e=>{"worklet";follow(e.translationX)}).onEnd(e=>{"worklet";follow(e.translationX),g&&(c.value=(0,_reactNativeReanimated.withSpring)(1,w)),R&&(d.value=(0,_reactNativeReanimated.withTiming)(0,{duration:N,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}))}).onFinalize(()=>{"worklet";(0,_reactNativeReanimated.runOnJS)(de)(!1)})},[n,a,r,i,ee,L,H,M,l,u,T,D,E,O,ye,fe,ge,de,B,G,F,z,K,Y,$,Q,J,U]),Ne=(0,_react.useMemo)(()=>xe("low"),[xe]),we=(0,_react.useMemo)(()=>xe("high"),[xe]),Se=(0,_react.useCallback)(e=>{if(n||L||V<=0)return;const t=clamp(e.nativeEvent.locationX,0,V),a=ae(t,V);a!==F.value&&(be(),F.value=a,B.value=(0,_reactNativeReanimated.withTiming)(te(a,V),{duration:S.motion.duration.fast,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}),he(a,a))},[n,L,V,ae,te,he,be,B,F,S.motion.duration.fast]),ke=(0,_react.useCallback)(e=>{if(n)return;const t="increment"===e.nativeEvent.actionName?i:-i,s=i>0?Math.round(t*ee)/ee:t;if(L){const e=Math.round((F.value+s)*ee)/ee,t=clamp(e,a,z.value);t!==F.value&&(F.value=t,B.value=te(t,V),be(),he(t,z.value))}else{const e=Math.round((F.value+s)*ee)/ee,t=clamp(e,a,r);t!==F.value&&(F.value=t,B.value=te(t,V),be(),he(t,t))}},[n,i,ee,L,a,r,te,V,B,F,z,he,be]),je=C.thumbDiameter/2,Ce=n?S.colors.surface.disabled:P,Oe="inset"===c?{backgroundColor:Ce,borderColor:S.colors.background.elevated,borderWidth:Math.max(2,Math.round(.3*C.thumbDiameter)),...NO_SHADOW}:"minimal"===c?{backgroundColor:Ce,borderWidth:0}:"bar"===c?{backgroundColor:"transparent",borderWidth:0,...NO_SHADOW}:{backgroundColor:S.colors.background.elevated,borderColor:Ce},Me=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{const e=U.value;if(e<=0)return{opacity:0,transform:[{translateX:0},{scaleX:1}]};const t=n?.55:1;if(L){const a=Math.max(0,G.value-B.value+2*O);return{opacity:t,transform:[{translateX:B.value-O},{scaleX:a/e}]}}return{opacity:t,transform:[{translateX:B.value+O-e},{scaleX:1}]}}),He=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:B.value-je},{scale:K.value}]})),De=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:G.value-je},{scale:Y.value}]})),Te=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:$.value})),Ae=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:Q.value})),clampDisplay=e=>clamp(e,a,r),Ee=clampDisplay(L?Math.min(...q):q),Ve=clampDisplay(L?Math.max(...q):q);return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:[A.container,v,b],testID:w,accessibilityRole:"adjustable",accessibilityLabel:h,accessibilityState:{disabled:n},"aria-disabled":n,accessibilityValue:L?{min:a,max:r,now:Ee,text:`${Ee} to ${Ve}`}:{min:a,max:r,now:Ee},accessibilityActions:[{name:"increment"},{name:"decrement"}],onAccessibilityAction:ke,children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:Se,disabled:n||L,style:A.trackTouch,accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:A.trackWrap,onLayout:me,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:A.trackClip,pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.track,{backgroundColor:n?S.colors.surface.disabled:S.colors.border.primary},p]}),(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[A.fill,{backgroundColor:n?S.colors.surface.disabled:P},f,Me]})]}),(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:Ne,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[A.thumb,{width:C.thumbDiameter,height:C.thumbDiameter,borderRadius:je,..._corners.smoothCorners,opacity:n?.55:1},Oe,g,He],accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:l?(0,_jsxRuntime.jsxs)(_reactNativeReanimated.default.View,{style:[A.bubbleWrap,Te],pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.bubble,{backgroundColor:P}],children:m?m(Ee):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[A.bubbleText,{color:I},R],numberOfLines:1,children:d(Ee)})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.bubbleCaret,{backgroundColor:P}]})]}):null})}),L?(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:we,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[A.thumb,{width:C.thumbDiameter,height:C.thumbDiameter,borderRadius:je,..._corners.smoothCorners,opacity:n?.55:1},Oe,g,De],accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:l?(0,_jsxRuntime.jsxs)(_reactNativeReanimated.default.View,{style:[A.bubbleWrap,Ae],pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.bubble,{backgroundColor:P}],children:m?m(Ve):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[A.bubbleText,{color:I},R],numberOfLines:1,children:d(Ve)})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.bubbleCaret,{backgroundColor:P}]})]}):null})}):null]})})})});Slider.displayName="Slider";const buildStyles=(e,t)=>{const a=e.shadows.md,r=Math.max(t.thumbDiameter,t.trackHeight),i=r/2+e.spacing.xs;return _reactNative.StyleSheet.create({container:{width:"100%",paddingVertical:i,justifyContent:"center"},trackTouch:{width:"100%",justifyContent:"center"},trackWrap:{width:"100%",height:r,justifyContent:"center"},trackClip:{position:"absolute",left:0,right:0,height:t.trackHeight,top:(r-t.trackHeight)/2,borderRadius:t.trackHeight/2,..._corners.smoothCorners,overflow:"hidden"},track:{position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:t.trackHeight/2,..._corners.smoothCorners},fill:{position:"absolute",top:0,left:0,width:"100%",height:t.trackHeight,borderRadius:t.trackHeight/2,..._corners.smoothCorners,transformOrigin:"left"},thumb:{position:"absolute",top:(r-t.thumbDiameter)/2,left:0,borderWidth:2,shadowColor:a.shadowColor,shadowOffset:a.shadowOffset,shadowOpacity:a.shadowOpacity,shadowRadius:a.shadowRadius,elevation:a.elevation,alignItems:"center",justifyContent:"center"},bubbleWrap:{position:"absolute",bottom:t.thumbDiameter+2,left:t.thumbDiameter/2-80,width:160,alignItems:"center"},bubbleCaret:{width:8,height:8,marginTop:-5,borderRadius:e.radius.none,..._corners.smoothCorners,transform:[{rotate:"45deg"}]},bubble:{paddingHorizontal:e.spacing.sm,paddingVertical:e.spacing.xxs,borderRadius:e.radius.md,..._corners.smoothCorners,minWidth:36,alignItems:"center",justifyContent:"center",..._reactNative.Platform.select({ios:{shadowColor:e.shadows.sm.shadowColor,shadowOffset:e.shadows.sm.shadowOffset,shadowOpacity:e.shadows.sm.shadowOpacity,shadowRadius:e.shadows.sm.shadowRadius},android:{elevation:e.shadows.sm.elevation},default:{}})},bubbleText:{color:e.colors.onPrimary,fontSize:e.typography.fontSize.xs,fontWeight:e.typography.fontWeight.semibold}})};var _default=exports.default=Slider;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Slider=void 0;var cache,_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_valueText=require("./valueText.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var a,r,i=Object.defineProperty,n={__proto__:null,default:e};if(Object(e)!==e)return n;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,n)}for(r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((a=i&&Object.getOwnPropertyDescriptor(e,r))&&(a.get||a.set)?i(n,r,a):n[r]=e[r]);return n}const VARIANT_SIZE_MAP={inset:{sm:{trackHeight:14,thumbDiameter:10},md:{trackHeight:20,thumbDiameter:14},lg:{trackHeight:26,thumbDiameter:18}},minimal:{sm:{trackHeight:2,thumbDiameter:14},md:{trackHeight:3,thumbDiameter:18},lg:{trackHeight:4,thumbDiameter:22}},bar:{sm:{trackHeight:20,thumbDiameter:20},md:{trackHeight:28,thumbDiameter:28},lg:{trackHeight:36,thumbDiameter:36}}},INSET_RING_RATIO=.3,MIN_THUMB_TOUCH=44,clamp=(e,t,a)=>Math.min(Math.max(e,t),a),snapToStep=(e,t,a,r)=>{if(r<=0)return clamp(e,t,a);const i=Math.round((e-t)/r)*r+t,n=String(r).split(".")[1]?.length??0,s=n>0?Number(i.toFixed(n)):i;return clamp(s,t,a)},BUBBLE_GAP=2,BUBBLE_CARET=8,BUBBLE_WRAP_WIDTH=160,NO_SHADOW={shadowOpacity:0,elevation:0},defaultFormatLabel=e=>String(e),Slider=exports.Slider=(0,_react.forwardRef)((e,t)=>{const{min:a=0,max:r=100,step:i=1,disabled:n=!1,tone:s="primary",size:c="md",variant:o="default",showLabel:l=!1,snapThumb:u=!1,formatLabel:d=defaultFormatLabel,renderLabel:m,accessibilityLabel:h,haptic:b,style:_,containerStyle:v,trackStyle:f,fillStyle:p,thumbStyle:g,labelStyle:R,thumbPressScale:x,labelShowDuration:y,labelOpacity:N,testID:w}=e,S=(0,_index2.useTheme)(),k=(0,_react.useMemo)(()=>{const e=(0,_index2.resolveSliderSize)(S,c);return{trackHeight:e["track-height"],thumbDiameter:e["thumb-diameter"]}},[S,c]),j=(0,_react.useMemo)(()=>"default"===o?k:VARIANT_SIZE_MAP[o][c],[k,c,o]),C="inset"===o?j.trackHeight/2:0,M=S.settings.components.slider?.thumbPressAnimation??!1,H=x??1.1,O=y??S.motion.duration.fast,D=N??1,A=(0,_react.useMemo)(()=>buildStyles(S,j),[S,j]),V=(0,_react.useMemo)(()=>({damping:S.motion.spring.snappy.damping,stiffness:S.motion.spring.snappy.stiffness,mass:S.motion.spring.snappy.mass}),[S.motion.spring.snappy]),[T,E]=(0,_react.useState)(0),W=S.colors[s],I=(0,_valueText.sliderToneInk)(S,s),P=!0===e.range,[L,q]=(0,_index.useControllableState)({value:e.value,defaultValue:e.defaultValue??(P?[a,r]:a),onChange:e.onChange}),X=(0,_reactNativeReanimated.useSharedValue)(0),B=(0,_reactNativeReanimated.useSharedValue)(0),G=(0,_reactNativeReanimated.useSharedValue)(P?L[0]:L),F=(0,_reactNativeReanimated.useSharedValue)(P?L[1]:L),z=(0,_reactNativeReanimated.useSharedValue)(0),J=(0,_reactNativeReanimated.useSharedValue)(0),U=(0,_reactNativeReanimated.useSharedValue)(1),Z=(0,_reactNativeReanimated.useSharedValue)(1),$="always"===l,K=(0,_reactNativeReanimated.useSharedValue)($?1:0),Q=(0,_reactNativeReanimated.useSharedValue)($?1:0),Y=(0,_react.useMemo)(()=>10**(String(i).split(".")[1]?.length??0),[i]);(0,_react.useEffect)(()=>()=>{(0,_reactNativeReanimated.cancelAnimation)(X),(0,_reactNativeReanimated.cancelAnimation)(B),(0,_reactNativeReanimated.cancelAnimation)(U),(0,_reactNativeReanimated.cancelAnimation)(Z),(0,_reactNativeReanimated.cancelAnimation)(K),(0,_reactNativeReanimated.cancelAnimation)(Q)},[X,B,U,Z,K,Q]);const ee=(0,_react.useCallback)((e,t)=>{const i=t-2*C;return r===a||i<=0?C:C+(e-a)/(r-a)*i},[a,r,C]),te=(0,_react.useCallback)((e,t)=>{const n=t-2*C;if(n<=0)return a;const s=clamp((e-C)/n,0,1);return snapToStep(a+s*(r-a),a,r,i)},[a,r,i,C]),ae=(0,_react.useRef)(!1),re=S.motion.duration.fast,ie=(0,_react.useRef)(L);ie.current=L;const ne=(0,_react.useRef)(T);ne.current=T;const se=(0,_react.useCallback)((e=!1)=>{const t=ne.current;if(t<=0)return;const place=t=>e?(0,_reactNativeReanimated.withTiming)(t,{duration:re,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}):t,a=ie.current;if(P){const[e,r]=a,i=Math.min(e,r),n=Math.max(e,r);G.value=i,F.value=n,X.value=place(ee(i,t)),B.value=place(ee(n,t))}else{const e=a;G.value=e,F.value=e,X.value=place(ee(e,t))}},[P,ee,G,F,X,B,re]),[ce,oe]=(0,_react.useState)(0),le=(0,_react.useRef)(!1),ue=(0,_react.useCallback)(e=>{ae.current=e,e||(le.current=!0,oe(e=>e+1))},[]);(0,_react.useEffect)(()=>{if(ae.current)return;const e=le.current;le.current=!1,se(e)},[JSON.stringify(L),T,ce,se]);const de=(0,_react.useCallback)(e=>{const t=e.nativeEvent.layout.width;J.value=t,E(t)},[J]),me=(0,_react.useCallback)((e,t)=>{q(P?[e,t]:e)},[P,q]),he=(0,_react.useCallback)(()=>{const e=(0,_index3.resolveHaptic)(b,"selection");e&&(0,_index3.triggerHaptic)(e)},[b]),be=(0,_react.useRef)(me);be.current=me;const ve=(0,_react.useRef)(he);ve.current=he;const fe=(0,_react.useCallback)((e,t)=>be.current(e,t),[]),pe=(0,_react.useCallback)(()=>ve.current(),[]),ge=Math.max(0,(44-j.thumbDiameter)/2),Re=ge>0?ge:void 0,xe=(0,_react.useCallback)(e=>{const t="low"===e?X:B,s="low"===e?G:F,c="low"===e?F:G,o="low"===e?U:Z,d="low"===e?K:Q,m="low"===e,h=a,b=r,_=i,v=Y,f=P,p=H,g=M,R=!0===l,x=u,y=D,N=O,w=V,S=C,follow=e=>{"worklet";const a=J.value-2*S;if(a<=0||!Number.isFinite(e))return;const r=Math.min(Math.max(z.value+e,S),J.value-S);let i=h+(r-S)/a*(b-h);_>0&&(i=Math.round((i-h)/_)*_+h,i=Math.round(i*v)/v),i=Math.min(Math.max(i,h),b),f&&(m&&i>c.value&&(i=c.value),!m&&i<c.value&&(i=c.value)),t.value=x||b===h?b===h?S:S+(i-h)/(b-h)*a:f?m?Math.min(r,B.value):Math.max(r,X.value):r,i!==s.value&&(s.value=i,i!==h&&i!==b||(0,_reactNativeReanimated.runOnJS)(pe)(),(0,_reactNativeReanimated.runOnJS)(fe)(G.value,F.value))},k=_reactNativeGestureHandler.Gesture.Pan().enabled(!n).minDistance(0);return(void 0===Re?k:k.hitSlop(Re)).onStart(()=>{"worklet";(0,_reactNativeReanimated.runOnJS)(ue)(!0),z.value=t.value,g&&(o.value=(0,_reactNativeReanimated.withSpring)(p,w)),R&&(d.value=(0,_reactNativeReanimated.withTiming)(y,{duration:N,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)})),(0,_reactNativeReanimated.runOnJS)(pe)()}).onUpdate(e=>{"worklet";follow(e.translationX)}).onEnd(e=>{"worklet";follow(e.translationX),g&&(o.value=(0,_reactNativeReanimated.withSpring)(1,w)),R&&(d.value=(0,_reactNativeReanimated.withTiming)(0,{duration:N,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}))}).onFinalize(()=>{"worklet";(0,_reactNativeReanimated.runOnJS)(ue)(!1)})},[n,a,r,i,Y,P,H,M,l,u,D,O,V,C,Re,fe,pe,ue,X,B,G,F,U,Z,K,Q,z,J]),ye=(0,_react.useMemo)(()=>xe("low"),[xe]),Ne=(0,_react.useMemo)(()=>xe("high"),[xe]),we=(0,_react.useCallback)(e=>{if(n||P||T<=0)return;const t=clamp(e.nativeEvent.locationX,0,T),a=te(t,T);a!==G.value&&(he(),G.value=a,X.value=(0,_reactNativeReanimated.withTiming)(ee(a,T),{duration:S.motion.duration.fast,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}),me(a,a))},[n,P,T,te,ee,me,he,X,G,S.motion.duration.fast]),Se=(0,_react.useCallback)(e=>{if(n)return;const t="increment"===e.nativeEvent.actionName?i:-i,s=i>0?Math.round(t*Y)/Y:t;if(P){const e=Math.round((G.value+s)*Y)/Y,t=clamp(e,a,F.value);t!==G.value&&(G.value=t,X.value=ee(t,T),he(),me(t,F.value))}else{const e=Math.round((G.value+s)*Y)/Y,t=clamp(e,a,r);t!==G.value&&(G.value=t,X.value=ee(t,T),he(),me(t,t))}},[n,i,Y,P,a,r,ee,T,X,G,F,me,he]),ke=j.thumbDiameter/2,je=n?S.colors["surface-disabled"]:W,Ce="inset"===o?{backgroundColor:je,borderColor:S.colors.surface,borderWidth:Math.max(2,Math.round(.3*j.thumbDiameter)),...NO_SHADOW}:"minimal"===o?{backgroundColor:je,borderWidth:0}:"bar"===o?{backgroundColor:"transparent",borderWidth:0,...NO_SHADOW}:{backgroundColor:S.colors.surface,borderColor:je},Me=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{const e=J.value;if(e<=0)return{opacity:0,transform:[{translateX:0},{scaleX:1}]};const t=n?.55:1;if(P){const a=Math.max(0,B.value-X.value+2*C);return{opacity:t,transform:[{translateX:X.value-C},{scaleX:a/e}]}}return{opacity:t,transform:[{translateX:X.value+C-e},{scaleX:1}]}}),He=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:X.value-ke},{scale:U.value}]})),Oe=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:B.value-ke},{scale:Z.value}]})),De=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:K.value})),Ae=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:Q.value})),clampDisplay=e=>clamp(e,a,r),Ve=clampDisplay(P?Math.min(...L):L),Te=clampDisplay(P?Math.max(...L):L);return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:[A.container,v,_],testID:w,accessibilityRole:"adjustable",accessibilityLabel:h,accessibilityState:{disabled:n},"aria-disabled":n,accessibilityValue:P?{min:a,max:r,now:Ve,text:`${Ve} to ${Te}`}:{min:a,max:r,now:Ve},accessibilityActions:[{name:"increment"},{name:"decrement"}],onAccessibilityAction:Se,children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:we,disabled:n||P,style:A.trackTouch,accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:A.trackWrap,onLayout:de,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:A.trackClip,pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.track,{backgroundColor:n?S.colors["surface-disabled"]:S.colors.border},f]}),(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[A.fill,{backgroundColor:n?S.colors["surface-disabled"]:W},p,Me]})]}),(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:ye,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[A.thumb,{width:j.thumbDiameter,height:j.thumbDiameter,borderRadius:ke,..._corners.smoothCorners,opacity:n?.55:1},Ce,g,He],accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:l?(0,_jsxRuntime.jsxs)(_reactNativeReanimated.default.View,{style:[A.bubbleWrap,De],pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.bubble,{backgroundColor:W}],children:m?m(Ve):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[A.bubbleText,{color:I},R],numberOfLines:1,children:d(Ve)})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.bubbleCaret,{backgroundColor:W}]})]}):null})}),P?(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:Ne,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[A.thumb,{width:j.thumbDiameter,height:j.thumbDiameter,borderRadius:ke,..._corners.smoothCorners,opacity:n?.55:1},Ce,g,Oe],accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:l?(0,_jsxRuntime.jsxs)(_reactNativeReanimated.default.View,{style:[A.bubbleWrap,Ae],pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.bubble,{backgroundColor:W}],children:m?m(Te):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[A.bubbleText,{color:I},R],numberOfLines:1,children:d(Te)})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.bubbleCaret,{backgroundColor:W}]})]}):null})}):null]})})})});Slider.displayName="Slider";const buildStyles=(e,t)=>{const a=e.shadow.elevated,r=Math.max(t.thumbDiameter,t.trackHeight),i=r/2+e.space.xs;return _reactNative.StyleSheet.create({container:{width:"100%",paddingVertical:i,justifyContent:"center"},trackTouch:{width:"100%",justifyContent:"center"},trackWrap:{width:"100%",height:r,justifyContent:"center"},trackClip:{position:"absolute",left:0,right:0,height:t.trackHeight,top:(r-t.trackHeight)/2,borderRadius:t.trackHeight/2,..._corners.smoothCorners,overflow:"hidden"},track:{position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:t.trackHeight/2,..._corners.smoothCorners},fill:{position:"absolute",top:0,left:0,width:"100%",height:t.trackHeight,borderRadius:t.trackHeight/2,..._corners.smoothCorners,transformOrigin:"left"},thumb:{position:"absolute",top:(r-t.thumbDiameter)/2,left:0,borderWidth:2,shadowColor:a.shadowColor,shadowOffset:a.shadowOffset,shadowOpacity:a.shadowOpacity,shadowRadius:a.shadowRadius,elevation:a.elevation,alignItems:"center",justifyContent:"center"},bubbleWrap:{position:"absolute",bottom:t.thumbDiameter+2,left:t.thumbDiameter/2-80,width:160,alignItems:"center"},bubbleCaret:{width:8,height:8,marginTop:-5,borderRadius:e.radius.none,..._corners.smoothCorners,transform:[{rotate:"45deg"}]},bubble:{paddingHorizontal:e.space.sm,paddingVertical:e.space.xxs,borderRadius:e.radius.md,..._corners.smoothCorners,minWidth:36,alignItems:"center",justifyContent:"center",..._reactNative.Platform.select({ios:{shadowColor:e.shadow.card.shadowColor,shadowOffset:e.shadow.card.shadowOffset,shadowOpacity:e.shadow.card.shadowOpacity,shadowRadius:e.shadow.card.shadowRadius},android:{elevation:e.shadow.card.elevation},default:{}})},bubbleText:{color:e.colors["on-primary"],fontSize:e.text.xs.size,fontWeight:e.weight.semibold}})};var _default=exports.default=Slider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useValueDraft=exports.snapValue=exports.sliderToneInk=exports.parseTyped=exports.clampValue=exports.RollingText=exports.CountingText=void 0;var _react=require("react"),_reactNative=require("react-native"),_jsxRuntime=require("react/jsx-runtime");const sliderToneInk=(e,t)=>{switch(t){case"success":return e.colors
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useValueDraft=exports.snapValue=exports.sliderToneInk=exports.parseTyped=exports.clampValue=exports.RollingText=exports.CountingText=void 0;var _react=require("react"),_reactNative=require("react-native"),_jsxRuntime=require("react/jsx-runtime");const sliderToneInk=(e,t)=>{switch(t){case"success":return e.colors["on-success"];case"warning":return e.colors["on-warning"];case"danger":return e.colors["on-danger"];default:return e.colors["on-primary"]}};exports.sliderToneInk=sliderToneInk;const clampValue=(e,t,n)=>Math.min(Math.max(e,t),n);exports.clampValue=clampValue;const snapValue=(e,t,n,r)=>{if(r<=0)return clampValue(e,t,n);const a=String(r).split(".")[1]?.length??0,s=Math.round((e-t)/r)*r+t;return clampValue(a>0?Number(s.toFixed(a)):s,t,n)};exports.snapValue=snapValue;const parseTyped=e=>{const t=e.replace(/[^\d.-]/g,"");if(""===t||"."===t||"-"===t)return null;const n=Number.parseFloat(t);return Number.isFinite(n)?n:null};exports.parseTyped=parseTyped;const easeOutCubic=e=>1-(1-e)**3,roundTo=(e,t)=>{const n=10**t;return Math.round(e*n)/n},CountingText=exports.CountingText=(0,_react.memo)(({value:e,format:t,decimals:n=2,duration:r,jumpKey:a="",style:s,testID:l})=>{const[o,u]=(0,_react.useState)(e),i=(0,_react.useRef)(e),c=(0,_react.useRef)(a);return(0,_react.useEffect)(()=>{const t=c.current!==a;c.current=a;const n=i.current;if(t||r<=0||n===e)return i.current=e,void u(e);const s=Date.now();let l=0;const tick=()=>{const t=Math.min(1,(Date.now()-s)/r),a=n+(e-n)*easeOutCubic(t);i.current=a,u(a),t<1&&(l=requestAnimationFrame(tick))};return l=requestAnimationFrame(tick),()=>cancelAnimationFrame(l)},[e,a,r]),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:s,testID:l,children:t(roundTo(o,n))})});CountingText.displayName="CountingText";const useValueDraft=({value:e,min:t,max:n,step:r,format:a,parse:s=parseTyped,onChange:l})=>{const[o,u]=(0,_react.useState)(null);return{text:o??a(e),editing:null!==o,onFocus:()=>u(a(e)),onChangeText:e=>{u(e);const r=s(e);null!==r&&l(clampValue(r,t,n))},onBlur:()=>{if(null===o)return;const a=s(o);u(null);const i=snapValue(a??t,t,n,r);i!==e&&l(i)}}};exports.useValueDraft=useValueDraft;const ROLL_TRAVEL_RATIO=1.2,RollingSlot=(0,_react.memo)(({text:e,direction:t,duration:n,style:r,testID:a})=>{const[s,l]=(0,_react.useState)(null),o=(0,_react.useRef)(e),u=(0,_react.useRef)(new _reactNative.Animated.Value(1)).current,i=1.2*(_reactNative.StyleSheet.flatten(r)?.fontSize??14);(0,_react.useEffect)(()=>{if(o.current===e)return;const t=o.current;if(o.current=e,n<=0)return void l(null);l(t),u.setValue(0);const r=_reactNative.Animated.timing(u,{toValue:1,duration:n,easing:_reactNative.Easing.out(_reactNative.Easing.cubic),useNativeDriver:!0});return r.start(({finished:e})=>{e&&l(null)}),()=>r.stop()},[e,n,u]);const c="up"===t?-1:1,p=null===s?null:{opacity:u,transform:[{translateY:u.interpolate({inputRange:[0,1],outputRange:[-c*i,0]})}]},x={opacity:u.interpolate({inputRange:[0,1],outputRange:[1,0]}),transform:[{translateY:u.interpolate({inputRange:[0,1],outputRange:[0,c*i]})}]};return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:rollStyles.slot,children:[(0,_jsxRuntime.jsx)(_reactNative.Animated.Text,{style:[r,p],testID:a,children:e}),null!==s?(0,_jsxRuntime.jsx)(_reactNative.Animated.Text,{style:[r,rollStyles.leaving,x],testID:a?`${a}-leaving`:void 0,children:s}):null]})});RollingSlot.displayName="RollingSlot";const RollingText=exports.RollingText=(0,_react.memo)(({text:e,direction:t="up",duration:n,perCharacter:r=!0,style:a,testID:s})=>{const l=(0,_react.useRef)(e),o=r?Math.max(e.length,l.current.length):1;return(0,_react.useEffect)(()=>{l.current=e},[e]),(0,_jsxRuntime.jsx)(_reactNative.View,{style:rollStyles.row,testID:s,children:r?Array.from({length:o},(r,l)=>(0,_jsxRuntime.jsx)(RollingSlot,{text:e[l]??"",direction:t,duration:n,style:a,testID:s?`${s}-char`:void 0},l)):(0,_jsxRuntime.jsx)(RollingSlot,{text:e,direction:t,duration:n,style:a,testID:s?`${s}-char`:void 0})})});RollingText.displayName="RollingText";const rollStyles=_reactNative.StyleSheet.create({row:{flexDirection:"row",alignItems:"baseline"},slot:{overflow:"hidden"},leaving:{position:"absolute",left:0,top:0}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SliderField=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../AppIcon/index.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_index4=require("../IconButton/index.js"),_index5=require("../Slider/index.js"),_valueText=require("../Slider/valueText.js"),_index6=require("../Tooltip/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_INPUT_WIDTH=72,defaultFormatValue=e=>String(e),stepDecimals=e=>String(e).split(".")[1]?.length??0,ValueBox=({draft:e,error:t,disabled:i,width:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SliderField=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../AppIcon/index.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_index4=require("../IconButton/index.js"),_index5=require("../Slider/index.js"),_valueText=require("../Slider/valueText.js"),_index6=require("../Tooltip/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_INPUT_WIDTH=72,defaultFormatValue=e=>String(e),stepDecimals=e=>String(e).split(".")[1]?.length??0,ValueBox=({draft:e,error:t,disabled:i,width:s,accessibilityLabel:l,styles:a,style:n,testID:r})=>{const o=(0,_index2.useTheme)(),d=(0,_index2.resolveFieldSize)(o,"sm"),u=(0,_FieldBase.resolveFieldTextStyle)(o,{disabled:i}),c=(0,_react.useRef)(null),x=(0,_react.useCallback)(()=>{i||c.current?.focus()},[i]);return(0,_jsxRuntime.jsx)(_FieldBase.FieldBase,{size:"sm",focused:e.editing,disabled:i,error:t,filled:!0,width:s,onPress:x,pressFeedback:!1,paddingHorizontal:o.space.sm,gap:o.space.xs,trailing:t?(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"info-circle",size:d.icon,color:o.colors["danger-text"]}):void 0,style:n,children:(0,_jsxRuntime.jsx)(_reactNative.TextInput,{ref:c,style:[a.boxInput,{color:u.color,fontSize:d.text,...u.weightStyle}],value:e.text,onChangeText:e.onChangeText,onFocus:e.onFocus,onBlur:e.onBlur,onSubmitEditing:e.onBlur,editable:!i,keyboardType:"decimal-pad",returnKeyType:"done",textAlign:"center",selectionColor:o.colors.primary,accessibilityLabel:l,accessibilityState:{disabled:i},"aria-disabled":i,testID:r})})},SliderField=exports.SliderField=(0,_react.forwardRef)((e,t)=>{const{label:i,unit:s,info:l,required:a=!1,helperText:n,error:r,min:o=0,max:d=100,step:u=1,disabled:c=!1,tone:x="primary",size:m,variant:_,haptic:b,showBubble:p=!0,showBounds:j=!0,showInput:h=!1,showStepper:v=!1,startIcon:y,endIcon:f,startLabel:g,endLabel:I,formatValue:S=defaultFormatValue,parseInput:T,animationDuration:R,inputWidth:w=DEFAULT_INPUT_WIDTH,accessibilityLabel:F,style:B,labelStyle:V,boundStyle:z,sliderStyle:D,inputStyle:L,testID:N}=e,q=(0,_index2.useTheme)(),C=(0,_react.useMemo)(()=>buildStyles(q),[q]),$=R??q.motion.duration.fast,A=!0===e.range,P=!0===r||(0,_FieldBase.hasFieldText)(r),W=stepDecimals(u),[M,k]=(0,_index.useControllableState)({value:e.value,defaultValue:e.defaultValue??(A?[o,d]:o),onChange:e.onChange}),[H,U]=A?M:[M,d],E=(0,_valueText.clampValue)(Math.min(H,U),o,d),K=(0,_valueText.clampValue)(Math.max(H,U),o,d),O=(0,_valueText.useValueDraft)({value:E,min:o,max:d,step:u,format:S,parse:T,onChange:e=>k(A?[Math.min(e,K),K]:e)}),G=(0,_valueText.useValueDraft)({value:K,min:o,max:d,step:u,format:S,parse:T,onChange:e=>k([E,Math.max(e,E)])}),stepBy=e=>{const t=(0,_valueText.snapValue)(E+e*u,o,d,u);t!==E&&k(t)},J={color:c?q.colors["text-disabled"]:q.colors["text-muted"],size:(0,_index2.resolveFieldSize)(q,"md").icon,disabled:c},Q=[C.bubbleText,{color:(0,_valueText.sliderToneInk)(q,x),fontWeight:q.weight.semibold}],boundText=e=>(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[C.bound,{color:c?q.colors["text-disabled"]:q.colors["text-muted"]},z],children:e}),X={min:o,max:d,step:u,disabled:c,tone:x,size:m,variant:_,haptic:b,showLabel:!!p&&"always",renderLabel:p?e=>(0,_jsxRuntime.jsx)(_valueText.CountingText,{value:e,format:S,decimals:W,duration:$,style:Q,testID:N&&!A?`${N}-bubble`:void 0}):void 0,accessibilityLabel:F??i,style:D,testID:N?`${N}-slider`:void 0};return(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,style:[C.container,B],testID:N,children:[i?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:C.labelRow,children:[(0,_jsxRuntime.jsx)(_FieldBase.FieldLabel,{required:a,style:V,children:i}),s?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[C.unit,{color:q.colors["text-subtle"]}],children:s}):null,l?(0,_jsxRuntime.jsx)(_index6.Tooltip,{content:l,trigger:"press",placement:"top",children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:`About ${i}`,hitSlop:8,style:C.infoButton,children:(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"info-circle",variant:"bold",size:16,color:q.colors["text-subtle"]})})}):null]}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[C.row,p?C.rowWithBubble:null],children:[y?(0,_jsxRuntime.jsx)(_reactNative.View,{children:(0,_index3.renderSlotIcon)(y,J)}):null,v&&!A?(0,_jsxRuntime.jsx)(_index4.IconButton,{icon:e=>(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"minus",size:e.size,color:e.color}),onPress:()=>stepBy(-1),accessibilityLabel:"Decrease",variant:"ghost",tone:"neutral",size:"sm",disabled:c||E<=o,haptic:b,testID:N?`${N}-minus`:void 0}):null,A&&h?(0,_jsxRuntime.jsx)(ValueBox,{draft:O,error:P,disabled:c,width:w,accessibilityLabel:`${i??"Value"} low`,styles:C,style:L,testID:N?`${N}-input-low`:void 0}):j?boundText(g??S(o)):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:C.sliderWrap,children:A?(0,_jsxRuntime.jsx)(_index5.Slider,{...X,range:!0,value:[E,K],onChange:k}):(0,_jsxRuntime.jsx)(_index5.Slider,{...X,value:E,onChange:k})}),A&&h?(0,_jsxRuntime.jsx)(ValueBox,{draft:G,error:P,disabled:c,width:w,accessibilityLabel:`${i??"Value"} high`,styles:C,style:L,testID:N?`${N}-input-high`:void 0}):j?boundText(I??S(d)):null,v&&!A?(0,_jsxRuntime.jsx)(_index4.IconButton,{icon:e=>(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"add",size:e.size,color:e.color}),onPress:()=>stepBy(1),accessibilityLabel:"Increase",variant:"ghost",tone:"neutral",size:"sm",disabled:c||E>=d,haptic:b,testID:N?`${N}-plus`:void 0}):null,f?(0,_jsxRuntime.jsx)(_reactNative.View,{children:(0,_index3.renderSlotIcon)(f,J)}):null,!A&&h?(0,_jsxRuntime.jsx)(ValueBox,{draft:O,error:P,disabled:c,width:w,accessibilityLabel:`${i??"Value"} value`,styles:C,style:L,testID:N?`${N}-input`:void 0}):null]}),(0,_jsxRuntime.jsx)(_FieldBase.FieldMessage,{text:P?r:n,error:P})]})});SliderField.displayName="SliderField";const buildStyles=e=>_reactNative.StyleSheet.create({container:{width:"100%"},labelRow:{flexDirection:"row",alignItems:"center",gap:e.space.xs},unit:{fontSize:e.text.xs.size},infoButton:{marginLeft:e.space.xxs},row:{flexDirection:"row",alignItems:"center",gap:e.space.sm},rowWithBubble:{marginTop:e.space.lg},sliderWrap:{flex:1,paddingHorizontal:e.space.sm},bound:{fontSize:e.text.sm.size,fontVariant:["tabular-nums"]},bubbleText:{fontSize:e.text.xs.size,fontVariant:["tabular-nums"]},boxInput:{flex:1,padding:e.space.none,margin:e.space.none,includeFontPadding:!1}});var _default=exports.default=SliderField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Sparkline=void 0;var cache,_mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_reactNativeSvg=_interopRequireWildcard(require("react-native-svg")),_index=require("../../theme/index.js"),_geometry=require("./geometry.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.default=exports.Sparkline=void 0;var cache,_mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_reactNativeSvg=_interopRequireWildcard(require("react-native-svg")),_index=require("../../theme/index.js"),_geometry=require("./geometry.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var r,i,a=Object.defineProperty,l={__proto__:null,default:e};if(Object(e)!==e)return l;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,l)}for(i in e)"default"!==i&&{}.hasOwnProperty.call(e,i)&&((r=a&&Object.getOwnPropertyDescriptor(e,i))&&(r.get||r.set)?a(l,i,r):l[i]=e[i]);return l}const DOT_RADIUS=3,lineColor=(e,t)=>"neutral"===t?e.colors["text-muted"]:e.colors[`${t}-text`],defaultFormat=e=>(0,_mobileCore.formatNumber)(e),Sparkline=exports.Sparkline=(0,_react.forwardRef)((e,t)=>{const{data:r,tone:i="primary",color:a,fill:l=!1,highlightLast:o=!0,height:n=32,width:s,strokeWidth:c=2,label:u,formatLabel:d=defaultFormat,accessibilityLabel:h,style:_,testID:f}=e,m=(0,_index.useTheme)(),[v,p]=(0,_react.useState)(0),x=s??v,y=(0,_react.useCallback)(e=>{if(void 0===s){const t=Math.round(e.nativeEvent.layout.width);p(e=>e===t?e:t)}},[s]),g=Math.max(3,c/2)+1,j=(0,_react.useMemo)(()=>(0,_geometry.sparklineGeometry)(r,x,n,g),[r,x,n,g]),b=a??lineColor(m,i),k=(0,_react.useMemo)(()=>{if(void 0!==h)return h;const e=(0,_geometry.finiteValues)(r),t=u?`${u}, `:"";if(0===e.length)return`${t}no data`;if(1===e.length)return`${t}${d(e[0])}`;return`${t}from ${d(e[0])} to ${d(e[e.length-1])}, low ${d(Math.min(...e))}, high ${d(Math.max(...e))}`},[h,r,d,u]);return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,accessible:!0,accessibilityRole:"image",accessibilityLabel:k,testID:f,onLayout:y,style:[styles.root,void 0===s?styles.stretch:{width:s},{height:n},_],children:""===j.line?null:(0,_jsxRuntime.jsxs)(_reactNativeSvg.default,{width:x,height:n,viewBox:`0 0 ${x} ${n}`,children:[l?(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{d:j.area,fill:b,fillOpacity:.14,stroke:"none"}):null,(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{d:j.line,fill:"none",stroke:b,strokeWidth:c,strokeLinecap:"round",strokeLinejoin:"round",testID:f?`${f}-line`:void 0}),o&&j.last?(0,_jsxRuntime.jsx)(_reactNativeSvg.Circle,{cx:j.last.x,cy:j.last.y,r:3,fill:b,testID:f?`${f}-dot`:void 0}):null]})})});Sparkline.displayName="Sparkline";const styles=_reactNative.StyleSheet.create({root:{overflow:"hidden"},stretch:{alignSelf:"stretch"}});var _default=exports.default=Sparkline;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Spinner=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_announce=require("../../utils/announce.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_squircle=require("../../utils/squircle.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_jsxRuntime=require("react/jsx-runtime");const sizeMap={sm:20,md:32,lg:48},CONTAINER_RATIO=1.5,DOT_COUNT=3,DOT_STAGGER_MS=150,DOT_CYCLE_MS=600,DOT_GROW_SCALE=1.4,DOT_PULSE_MIN_OPACITY=.4,Dot=({size:e,color:t,delay:i,duration:r,reduced:n})=>{const a=(0,_index.useTheme)(),s=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.delay(i),_reactNative.Animated.timing(s,{toValue:1,duration:r/2,easing:_reactNative.Easing.out(_reactNative.Easing.quad),useNativeDriver:!0}),_reactNative.Animated.timing(s,{toValue:0,duration:r/2,easing:_reactNative.Easing.in(_reactNative.Easing.quad),useNativeDriver:!0})]));return e.start(),()=>{e.stop()}},[s,i,r]);const o=(0,_react.useMemo)(()=>({grow:s.interpolate({inputRange:[0,1],outputRange:[1,1.4]}),fade:s.interpolate({inputRange:[0,1],outputRange:[.4,1]})}),[s]);return(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{width:e,height:e,borderRadius:a.radius.pill,..._corners.smoothCorners,backgroundColor:t,...n?{opacity:o.fade}:{transform:[{scale:o.grow}]}}})},Spinner=exports.Spinner=(0,_react.forwardRef)((e,t)=>{const{size:i="md",color:r,message:n,overlay:a=!1,backdropColor:s,variant:o="circular",accessibilityLabel:c,style:l,testID:u}=e,d="contained"===o,_=a&&!d,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Spinner=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_announce=require("../../utils/announce.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_squircle=require("../../utils/squircle.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_jsxRuntime=require("react/jsx-runtime");const sizeMap={sm:20,md:32,lg:48},CONTAINER_RATIO=1.5,DOT_COUNT=3,DOT_STAGGER_MS=150,DOT_CYCLE_MS=600,DOT_GROW_SCALE=1.4,DOT_PULSE_MIN_OPACITY=.4,Dot=({size:e,color:t,delay:i,duration:r,reduced:n})=>{const a=(0,_index.useTheme)(),s=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.delay(i),_reactNative.Animated.timing(s,{toValue:1,duration:r/2,easing:_reactNative.Easing.out(_reactNative.Easing.quad),useNativeDriver:!0}),_reactNative.Animated.timing(s,{toValue:0,duration:r/2,easing:_reactNative.Easing.in(_reactNative.Easing.quad),useNativeDriver:!0})]));return e.start(),()=>{e.stop()}},[s,i,r]);const o=(0,_react.useMemo)(()=>({grow:s.interpolate({inputRange:[0,1],outputRange:[1,1.4]}),fade:s.interpolate({inputRange:[0,1],outputRange:[.4,1]})}),[s]);return(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{width:e,height:e,borderRadius:a.radius.pill,..._corners.smoothCorners,backgroundColor:t,...n?{opacity:o.fade}:{transform:[{scale:o.grow}]}}})},Spinner=exports.Spinner=(0,_react.forwardRef)((e,t)=>{const{size:i="md",color:r,message:n,overlay:a=!1,backdropColor:s,variant:o="circular",accessibilityLabel:c,style:l,testID:u}=e,d="contained"===o,_=a&&!d,m=(0,_index.useTheme)(),g=(0,_usePresenceMotion.usePresenceMotion)(),y=g.duration("default"),h=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current;(0,_react.useEffect)(()=>{_reactNative.Animated.timing(h,{toValue:1,duration:y,easing:_reactNative.Easing.bezier(...m.motion.ease["in-out"]),useNativeDriver:!0}).start()},[h,m,y]);const p=(0,_react.useMemo)(()=>buildStyles(m),[m]),v=sizeMap[i],x=r??m.colors.primary,f=s??m.colors.scrim,j=(0,_react.useMemo)(()=>{if("contained"===o){const e=Math.round(1.5*v);return(0,_jsxRuntime.jsx)(_reactNative.View,{style:[p.container,{width:e,height:e,borderRadius:m.radius.pill,backgroundColor:(0,_color.blendOf)(x,.14,m.colors.surface,m.colors["bg-subtle"])}],children:(0,_jsxRuntime.jsx)(_reactNative.ActivityIndicator,{color:x,size:"sm"===i?"small":"large",style:{width:v,height:v}})})}if("dots"===o){const e=Math.max(6,Math.round(v/4));return(0,_jsxRuntime.jsx)(_reactNative.View,{style:[p.dotsRow,{gap:Math.round(e/2)}],children:Array.from({length:3}).map((t,i)=>(0,_jsxRuntime.jsx)(Dot,{size:e,color:x,delay:150*i,duration:600,reduced:g.reduced},i))})}return(0,_jsxRuntime.jsx)(_reactNative.ActivityIndicator,{color:x,size:"sm"===i?"small":"large",style:{width:v,height:v}})},[o,i,v,x,p.dotsRow,p.container,g.reduced,m.radius.pill,m.colors.surface,m.colors["bg-subtle"]]),R=c??n??"Loading",b=(0,_react.useRef)(R);b.current=R,(0,_react.useEffect)(()=>{d&&(0,_announce.announce)(b.current)},[d]);const N=(0,_SquircleFill.useSquircle)(_,m.radius.lg),C=N.active&&N.size?{borderRadius:(0,_squircle.squircleHostRadius)(N.size.width,N.size.height,m.radius.lg)}:null;let S=p.inlineContent;_?S=p.overlayContent:d&&(S=p.containedContent);const q=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{ref:t,accessible:!0,accessibilityRole:"progressbar",accessibilityLiveRegion:d?"none":"polite",accessibilityLabel:R,accessibilityState:{busy:!0},"aria-busy":!0,testID:u,onLayout:N.onLayout,style:[S,C,{opacity:h}],children:[N.active&&N.size?(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:N.size.width,height:N.size.height,radius:m.radius.lg,fill:m.colors.surface}):null,j,n?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[p.message,{color:m.colors["text-body"],fontSize:m.text.base.size,fontWeight:m.weight.medium,marginTop:m.space.md}],numberOfLines:2,children:n}):null]});return _?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"auto",style:[p.overlay,{backgroundColor:f},l],children:q}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[d?p.containedFill:p.inline,l],children:q})});Spinner.displayName="Spinner";const buildStyles=e=>_reactNative.StyleSheet.create({inline:{alignItems:"center",justifyContent:"center"},inlineContent:{alignItems:"center",justifyContent:"center"},containedFill:{flex:1,alignSelf:"stretch",alignItems:"center",justifyContent:"center",minHeight:Math.round(1.5*sizeMap.lg)+2*e.space.xl},containedContent:{alignItems:"center",justifyContent:"center",paddingHorizontal:e.space.lg},container:{alignItems:"center",justifyContent:"center"},overlay:{..._reactNative.StyleSheet.absoluteFill,alignItems:"center",justifyContent:"center",zIndex:1e3},overlayContent:{alignItems:"center",justifyContent:"center",backgroundColor:e.colors.surface,borderRadius:e.radius.lg,..._corners.smoothCorners,paddingHorizontal:e.space.xl,paddingVertical:e.space.xl,minWidth:140,...e.shadow.popover},dotsRow:{flexDirection:"row",alignItems:"center",justifyContent:"center"},message:{textAlign:"center"}});var _default=exports.default=Spinner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.StatTile=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("../Card/index.js"),_index4=require("../IconBadge/index.js"),_index5=require("../Skeleton/index.js"),_index6=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const isText=e=>"string"==typeof e||"number"==typeof e,TREND_ICON={up:"arrow-up",down:"arrow-down",flat:"minus"},TREND_WORD={up:"up",down:"down",flat:"no change"},TREND_SIGN={up:"+",down:"-",flat:""},percentText=e=>(0,_mobileCore.formatPercent)(Math.abs(e),{scale:"percent",maximumFractionDigits:1}),trendFigure=e=>"number"==typeof e.value?`${TREND_SIGN[e.direction]}${percentText(e.value)}`:e.value,trendSpoken=e=>{const t=[TREND_WORD[e.direction]];return"flat"!==e.direction&&t.push("number"==typeof e.value?percentText(e.value):e.value),e.period&&t.push(e.period),t.join(" ")},StatTile=exports.StatTile=(0,_react.forwardRef)((e,t)=>{const{label:i,value:n,icon:r,iconVariant:s,tone:a="primary",caption:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.StatTile=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("../Card/index.js"),_index4=require("../IconBadge/index.js"),_index5=require("../Skeleton/index.js"),_index6=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const isText=e=>"string"==typeof e||"number"==typeof e,TREND_ICON={up:"arrow-up",down:"arrow-down",flat:"minus"},TREND_WORD={up:"up",down:"down",flat:"no change"},TREND_SIGN={up:"+",down:"-",flat:""},percentText=e=>(0,_mobileCore.formatPercent)(Math.abs(e),{scale:"percent",maximumFractionDigits:1}),trendFigure=e=>"number"==typeof e.value?`${TREND_SIGN[e.direction]}${percentText(e.value)}`:e.value,trendSpoken=e=>{const t=[TREND_WORD[e.direction]];return"flat"!==e.direction&&t.push("number"==typeof e.value?percentText(e.value):e.value),e.period&&t.push(e.period),t.join(" ")},StatTile=exports.StatTile=(0,_react.forwardRef)((e,t)=>{const{label:i,value:n,icon:r,iconVariant:s,tone:a="primary",caption:l,trend:o,sparkline:x,onPress:d,loading:c=!1,accessibilityLabel:u,style:_,testID:p}=e,m=(0,_index.useTheme)(),j=o?`, ${trendSpoken(o)}`:"",h=u??(isText(n)?`${i}, ${n}${j}`:void 0),y=!!o&&o.direction===(o.goodWhen??"up"),v=o&&"flat"!==o.direction?y?"success":"danger":"secondary",R="secondary"===v?m.colors["text-muted"]:m.colors[`${v}-text`];return c?(0,_jsxRuntime.jsx)(_index3.Card,{ref:t,variant:"outlined",style:_,testID:p,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.row,{columnGap:m.space.md}],children:[void 0===r?null:(0,_jsxRuntime.jsx)(_index5.Skeleton,{shape:"circle",width:40,height:40}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.text,children:[(0,_jsxRuntime.jsx)(_index5.Skeleton,{shape:"text",width:"50%",height:12}),(0,_jsxRuntime.jsx)(_index5.Skeleton,{shape:"text",width:"35%",height:24,style:{marginTop:m.space.xs}})]})]})}):(0,_jsxRuntime.jsx)(_index3.Card,{ref:t,variant:"outlined",onPress:d,accessibilityLabel:h,style:_,testID:p,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.row,{columnGap:m.space.md}],children:[void 0===r?null:(0,_jsxRuntime.jsx)(_index4.IconBadge,{icon:r,iconVariant:s,tone:a}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.text,children:[(0,_jsxRuntime.jsx)(_index6.Text,{variant:"caption",color:"secondary",numberOfLines:1,children:i}),isText(n)?(0,_jsxRuntime.jsx)(_index6.Text,{variant:"h3",numberOfLines:1,children:n}):n,o?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.trend,{columnGap:m.space.xxs}],testID:p?`${p}-trend`:void 0,children:[(0,_jsxRuntime.jsx)(_index2.AppIcon,{name:TREND_ICON[o.direction],size:"xs",color:R}),(0,_jsxRuntime.jsxs)(_index6.Text,{variant:"caption",color:v,numberOfLines:2,style:styles.text,children:[trendFigure(o),o.period?(0,_jsxRuntime.jsx)(_index6.Text,{variant:"caption",color:"tertiary",children:` ${o.period}`}):null]})]}):null,null==l||""===l?null:isText(l)?(0,_jsxRuntime.jsx)(_index6.Text,{variant:"caption",color:"tertiary",numberOfLines:1,children:l}):l,null==x?null:(0,_jsxRuntime.jsx)(_reactNative.View,{style:{marginTop:m.space.sm},children:x})]})]})})});StatTile.displayName="StatTile";const styles=_reactNative.StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},text:{flex:1,minWidth:0},trend:{flexDirection:"row",alignItems:"center"}});var _default=exports.default=StatTile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.StatusBadge=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_toneInk=require("../../theme/toneInk.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const sizeMap={sm:{height:22,paddingX:"sm",text:"xs",dot:5,gap:"xs"},md:{height:24,paddingX:"md",text:"sm",dot:6,gap:"xs"}},sizeFor=(e,t)=>{const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.StatusBadge=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_toneInk=require("../../theme/toneInk.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const sizeMap={sm:{height:22,paddingX:"sm",text:"xs",dot:5,gap:"xs"},md:{height:24,paddingX:"md",text:"sm",dot:6,gap:"xs"}},sizeFor=(e,t)=>{const s=sizeMap[t];return{height:s.height,paddingH:e.space[s.paddingX],fontSize:e.text[s.text].size,dot:s.dot,gap:e.space[s.gap]}},SOFT_FILL_OPACITY=.14,SOFT_BORDER_OPACITY=.4,BORDER_WIDTH=1,toneFor=(e,t)=>{const{colors:s}=e;switch(t){case"success":return{base:s.success,on:s["on-success"],ink:s["success-text"]};case"warning":return{base:s.warning,on:s["on-warning"],ink:s["warning-text"]};case"danger":return{base:s.danger,on:s["on-danger"],ink:s["danger-text"]};case"info":return{base:s.info,on:s["on-info"],ink:s["info-text"]};case"primary":return{base:s.primary,on:s["on-primary"],ink:s["primary-text"]};default:return{base:s["text-muted"],on:s["on-neutral-strong"],ink:s["text-muted"]}}},isHex=e=>"string"==typeof e&&/^#[0-9a-f]{6}$/i.test(e),paletteFor=(e,t,s,r)=>{const n=isHex(r),{base:i,on:o,ink:a}=n?{base:r,on:e.colors["text-inverse"],ink:(0,_toneInk.deriveToneInk)(r,[e.colors.bg,e.colors["bg-subtle"],e.colors["bg-muted"]],e.mode)}:toneFor(e,t),l=!n&&"neutral"===t,d=l?e.colors["bg-muted"]:(0,_color.tintOf)(i,.14,e.colors["bg-subtle"]),u=l?e.colors.border:(0,_color.tintOf)(i,.4,i);switch(s){case"solid":return{fill:i,border:i,text:o,dot:o};case"outline":return{fill:"transparent",border:l?u:i,text:a,dot:i};default:return{fill:d,border:u,text:a,dot:i}}},StatusBadge=exports.StatusBadge=(0,_react.forwardRef)((e,t)=>{const{label:s,tone:r="neutral",variant:n="soft",size:i="md",dot:o=!1,color:a,loading:l=!1,accessibilityLabel:d,style:u,textStyle:c,testID:g}=e,x=(0,_index.useTheme)(),b=sizeFor(x,i),m=(0,_react.useMemo)(()=>paletteFor(x,r,n,a),[x,r,n,a]);return l?(0,_jsxRuntime.jsx)(StatusBadgeSkeleton,{...e}):(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,accessible:!0,accessibilityRole:"text",accessibilityLabel:d??s,testID:g,style:[styles.base,{minHeight:b.height,paddingHorizontal:b.paddingH,borderRadius:x.radius.pill,..._corners.smoothCorners,backgroundColor:m.fill,borderColor:m.border,borderWidth:1},u],children:[o?(0,_jsxRuntime.jsx)(_reactNative.View,{testID:"status-badge-dot",style:{width:b.dot,height:b.dot,borderRadius:b.dot/2,marginRight:b.gap,backgroundColor:m.dot}}):null,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.label,{color:m.text,fontSize:b.fontSize,...(0,_index.fontFor)(x,"semibold")},c],numberOfLines:1,maxFontSizeMultiplier:x.settings.maxFontSizeMultiplier,children:s})]})});StatusBadge.displayName="StatusBadge";const StatusBadgeSkeleton=({label:e,size:t="md",dot:s,style:r})=>{const n=(0,_index.useTheme)(),i=sizeFor(n,t),o=Math.max(32,Math.min(120,6.5*(e??"").length))+2*i.paddingH+(s?i.dot+i.gap:0);return(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:o,height:i.height,radius:i.height/2,style:[styles.skeleton,r]})};StatusBadgeSkeleton.displayName="StatusBadgeSkeleton",StatusBadge.Skeleton=StatusBadgeSkeleton;const styles=_reactNative.StyleSheet.create({base:{alignSelf:"flex-start",flexDirection:"row",alignItems:"center",justifyContent:"center"},label:{textAlign:"center",includeFontPadding:!1,textAlignVertical:"center"},skeleton:{alignSelf:"flex-start"}});var _default=exports.default=StatusBadge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Stepper=void 0;var _react=require("react"),_reactNative=require("react-native"),_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 CIRCLE_SIZE=24,SEGMENT_HEIGHT=4,PULSE_SIZE=32,PULSE_DURATION=1100,toneColorFor=(e,t)=>"success"===t?e.colors.success:e.colors.primary,toneOnColorFor=(e,t)=>"success"===t?e.colors.onSuccess:e.colors.onPrimary,StepCircle=({index:e,step:t,status:i,toneColor:s,upcomingColor:r,upcomingFillColor:n,textOnColor:o,upcomingTextColor:a,interactive:l,canPress:c,totalSteps:u,onPress:d,circleSize:p,pulseSize:m,pulseEnabled:x,pulseDuration:h,circleStyles:_,circleSlotStyle:y})=>{const g="active"===i,v=(0,_index.useTheme)(),j=(0,_react.useRef)((0,_index.createAnimatedValue)(1)).current,S=(0,_react.useRef)((0,_index.createAnimatedValue)(.5)).current;(0,_react.useEffect)(()=>{if(!g||!x)return j.setValue(1),void S.setValue(0);const e=_reactNative.Animated.loop(_reactNative.Animated.parallel([_reactNative.Animated.sequence([_reactNative.Animated.timing(j,{toValue:1.4,duration:h,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.timing(j,{toValue:1,duration:0,useNativeDriver:!0})]),_reactNative.Animated.sequence([_reactNative.Animated.timing(S,{toValue:0,duration:h,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.timing(S,{toValue:.5,duration:0,useNativeDriver:!0})])]));return e.start(),()=>e.stop()},[g,j,S,x,h]);const b="upcoming"===i?n:s,R="upcoming"===i?r:s,f="upcoming"===i?a:o,w="complete"===i,C=`Step ${e+1} of ${u}, ${t.label}, ${i}`,N=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_.relative,children:[g&&x?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[_.pulse,{width:m,height:m,borderRadius:v.radius.pill,..._corners.smoothCorners,backgroundColor:s,opacity:S,transform:[{scale:j}]}]}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[_.circle,{width:p,height:p,borderRadius:v.radius.pill,..._corners.smoothCorners,backgroundColor:b,borderColor:R},y],children:t.icon?t.icon:w?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[_.glyph,{color:f}],children:"✓"}):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[_.glyph,{color:f}],children:e+1})})]});return l?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>d(e),disabled:!c,accessibilityRole:"button",accessibilityLabel:C,accessibilityState:{selected:g,disabled:!c},"aria-selected":g,"aria-disabled":!c,hitSlop:8,children:N}):(0,_jsxRuntime.jsx)(_reactNative.View,{accessibilityRole:"text",accessibilityLabel:C,accessibilityState:{selected:g},"aria-selected":g,children:N})},buildCircleStyles=e=>_reactNative.StyleSheet.create({relative:{alignItems:"center",justifyContent:"center"},pulse:{position:"absolute"},circle:{borderWidth:2,alignItems:"center",justifyContent:"center"},glyph:{fontSize:e.typography.fontSize.sm,fontWeight:"600",includeFontPadding:!1}}),Stepper=exports.Stepper=(0,_react.forwardRef)((e,t)=>{const{steps:i,activeStep:s,defaultActiveStep:r=0,pressMode:n="none",onStepPress:o,onActiveStepChange:a,variant:l="horizontal",tone:c="primary",formatCaption:u,showCaption:d=!0,loading:p=!1,accessibilityLabel:m,style:x,containerStyle:h,circleStyle:_,labelStyle:y,connectorStyle:g,haptic:v,testID:j}=e,S=(0,_index.useTheme)(),b=S.components.stepper,R=b?.circleSize??24,f=b?.pulseSize??32,w=b?.pulseAnimation??!1,C=b?.pulseDuration??1100,N=(0,_hapticUtils.resolveHaptic)(v,"selection"),V=(0,_react.useMemo)(()=>buildStyles(S),[S]),k=(0,_react.useMemo)(()=>buildCircleStyles(S),[S]),I=toneColorFor(S,c),D=S.colors.border.primary,A=S.colors.background.primary,L=S.colors.text.secondary,T=toneOnColorFor(S,c),$=i.length,E="none"!==n,z=void 0!==s,[P,F]=(0,_react.useState)(r),O=z?s:P,B=null==O||O<0?null:O,q=i.map((e,t)=>(e=>null===B?"upcoming":e<B?"complete":e===B?"active":"upcoming")(t)),M=q.filter(e=>"upcoming"!==e).length,U=q.filter(e=>"complete"===e).length,canPressStatus=e=>"back"===n?"complete"===e:E,handleStepPress=e=>{if(!canPressStatus(q[e]))return;N&&(0,_hapticUtils.triggerHaptic)(N),o?.(e);const t="select"===n&&e===B?null:e;z||F(t),a?.(t)},H=(0,_react.useRef)((0,_index.createAnimatedValue)(M)).current,W=(0,_react.useRef)(M);(0,_react.useEffect)(()=>{const e=W.current;if(e===M)return;W.current=M;const t=_reactNative.Animated.timing(H,{toValue:M,duration:S.motion.duration.normal*Math.abs(M-e),easing:_reactNative.Easing.linear,useNativeDriver:!1});return t.start(),()=>t.stop()},[M,H,S.motion]);const sliceOf=e=>H.interpolate({inputRange:[e,e+1],outputRange:["0%","100%"],extrapolate:"clamp"}),G=$<=1?"0%":H.interpolate({inputRange:[1,$],outputRange:["0%","100%"],extrapolate:"clamp"}),Z=null!==B&&B<$?B:null,J=m??(null!==Z?`Progress: step ${Z+1} of ${$}`:`Progress: ${U} of ${$} steps done`),[K,Q]=(0,_react.useState)(0),X=$>0&&K>0?K/(2*$):0,Y=(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:[V.container,h,x],testID:j,accessibilityRole:"progressbar",accessibilityLabel:J,accessibilityValue:{min:0,max:$,now:M},children:"segmented"===l?(()=>{const e=null!==Z?i[Z]:void 0,t=d?u?u(Z,$,e):null!==Z?`Step ${Z+1} of ${$}${e?.label?` · ${e.label}`:""}`:`${U} of ${$} done`:"";return(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[d?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[V.sCaption,{color:S.colors.text.secondary,fontSize:S.typography.fontSize.sm,marginBottom:S.spacing.sm},y],numberOfLines:1,children:t}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:V.sRow,children:i.map((e,t)=>{const i=q[t],s=`Step ${t+1} of ${$}, ${e.label}, ${i}`,r=(0,_jsxRuntime.jsx)(_reactNative.View,{testID:j?`${j}-segment-${t}`:void 0,style:[V.sTrack,{backgroundColor:D},g],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[V.sFill,{backgroundColor:I,width:sliceOf(t)}]})});if(E){const n=canPressStatus(i);return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:V.sItem,onPress:()=>handleStepPress(t),disabled:!n,accessibilityRole:"button",accessibilityLabel:s,accessibilityState:{selected:"active"===i,disabled:!n},"aria-selected":"active"===i,"aria-disabled":!n,hitSlop:{top:12,bottom:12},children:r},e.key)}return(0,_jsxRuntime.jsx)(_reactNative.View,{style:V.sItem,accessibilityRole:"text",accessibilityLabel:s,accessibilityState:{selected:"active"===i},"aria-selected":"active"===i,children:r},e.key)})})]})})():"vertical"===l?(0,_jsxRuntime.jsx)(_reactNative.View,{style:V.vCol,children:i.map((e,t)=>{const i=q[t],s=t===$-1;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:V.vRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:V.vLeft,children:[(0,_jsxRuntime.jsx)(StepCircle,{index:t,step:e,status:i,toneColor:I,upcomingColor:D,upcomingFillColor:A,onPressColor:I,textOnColor:T,upcomingTextColor:L,interactive:E,canPress:canPressStatus(i),totalSteps:$,onPress:handleStepPress,circleSize:R,pulseSize:f,pulseEnabled:w,pulseDuration:C,circleStyles:k,circleSlotStyle:_}),s?null:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[V.vConnectorContainer,g],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[V.vConnectorTrack,{backgroundColor:D}]}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[V.vConnectorFill,{backgroundColor:I,height:sliceOf(t+1)}]})]})]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:V.vBody,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[V.vLabel,{color:"upcoming"===i?S.colors.text.tertiary:S.colors.text.primary,fontSize:S.typography.fontSize.base,fontWeight:S.typography.fontWeight.semibold},y],numberOfLines:1,children:e?.label??" "}),e.description?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[V.vDescription,{color:S.colors.text.secondary,fontSize:S.typography.fontSize.sm}],numberOfLines:3,children:e.description}):null]})]},e.key)})}):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:V.hRow,onLayout:e=>Q(e.nativeEvent.layout.width),children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{pointerEvents:"none",style:[V.hConnectorContainer,{left:X,right:X},g],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[V.hConnectorTrack,{backgroundColor:D}]}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[V.hConnectorFill,{backgroundColor:I,width:G}]})]}),i.map((e,t)=>{const i=q[t];return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:V.hStepItem,children:[(0,_jsxRuntime.jsx)(StepCircle,{index:t,step:e,status:i,toneColor:I,upcomingColor:D,upcomingFillColor:A,onPressColor:I,textOnColor:T,upcomingTextColor:L,interactive:E,canPress:canPressStatus(i),totalSteps:$,onPress:handleStepPress,circleSize:R,pulseSize:f,pulseEnabled:w,pulseDuration:C,circleStyles:k,circleSlotStyle:_}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[V.hLabel,{color:"upcoming"===i?S.colors.text.tertiary:S.colors.text.primary,fontSize:S.typography.fontSize.xs},y],numberOfLines:1,children:e?.label??" "})]},e.key)})]})});return p?(0,_jsxRuntime.jsx)(StepperSkeleton,{...e}):Y});Stepper.displayName="Stepper";const StepperSkeleton=({steps:e,variant:t="horizontal",showCaption:i=!0,containerStyle:s,style:r,testID:n})=>{const o=(0,_index.useTheme)(),a=o.components.stepper,l=a?.circleSize??24,c=(0,_react.useMemo)(()=>buildStyles(o),[o]),u=(0,_react.useMemo)(()=>buildSkeletonStyles(o),[o]),d=e.length||3;return"segmented"===t?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[c.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:[i?(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"45%",height:14,style:{marginBottom:o.spacing.sm}}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:c.sRow,children:Array.from({length:d}).map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:c.sItem,children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:4,radius:"pill"})},`sk-step-${t}`))})]}):"vertical"===t?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[c.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:u.vCol,children:Array.from({length:d}).map((e,t)=>{const i=t===d-1;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:u.vRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[u.vLeft,{width:l+8}],children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:l,height:l}),i?null:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:2,height:36})]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:u.vBody,children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"55%",height:16,style:{marginBottom:o.spacing.xs}}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"80%",height:12})]})]},`sk-step-${t}`)})})}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[c.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:c.hRow,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[c.hConnectorContainer,{left:50/d+"%",right:50/d+"%"}],children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:2,radius:"pill"})}),Array.from({length:d}).map((e,t)=>(0,_jsxRuntime.jsxs)(_reactNative.View,{style:c.hStepItem,children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:l,height:l}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"80%",height:12,style:{marginTop:o.spacing.xs}})]},`sk-step-${t}`))]})})};StepperSkeleton.displayName="StepperSkeleton",Stepper.Skeleton=StepperSkeleton;const buildSkeletonStyles=e=>_reactNative.StyleSheet.create({vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center"},vBody:{flex:1,paddingLeft:e.spacing.md,paddingBottom:e.spacing.lg}}),buildStyles=e=>_reactNative.StyleSheet.create({container:{width:"100%"},hRow:{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",position:"relative"},hConnectorContainer:{position:"absolute",top:11,height:2,flexDirection:"row",alignItems:"center"},hConnectorTrack:{position:"absolute",left:0,right:0,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hConnectorFill:{position:"absolute",left:0,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hStepItem:{alignItems:"center",flex:1},hLabel:{marginTop:e.spacing.xs,textAlign:"center"},vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center",alignSelf:"stretch",width:32},vConnectorContainer:{flex:1,width:2,minHeight:32,position:"relative",alignSelf:"center"},vConnectorTrack:{position:"absolute",top:0,bottom:0,width:2,borderRadius:e.radius.pill,..._corners.smoothCorners},vConnectorFill:{position:"absolute",top:0,width:2,borderRadius:e.radius.pill,..._corners.smoothCorners},vBody:{flex:1,paddingLeft:e.spacing.sm,paddingBottom:e.spacing.md},vLabel:{marginBottom:e.spacing.xxs},vDescription:{},sCaption:{includeFontPadding:!1},sRow:{flexDirection:"row",columnGap:e.spacing.xs},sItem:{flex:1},sTrack:{height:4,borderRadius:e.radius.pill,overflow:"hidden"},sFill:{height:4,borderRadius:e.radius.pill}});var _default=exports.default=Stepper;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Stepper=void 0;var _react=require("react"),_reactNative=require("react-native"),_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 CIRCLE_SIZE=24,SEGMENT_HEIGHT=4,PULSE_SIZE=32,PULSE_DURATION=1100,toneColorFor=(e,t)=>"success"===t?e.colors.success:e.colors.primary,toneOnColorFor=(e,t)=>"success"===t?e.colors["on-success"]:e.colors["on-primary"],StepCircle=({index:e,step:t,status:i,toneColor:s,upcomingColor:r,upcomingFillColor:n,textOnColor:o,upcomingTextColor:a,interactive:l,canPress:c,totalSteps:u,onPress:d,pulseEnabled:x,circleStyles:m,circleSlotStyle:p})=>{const _="active"===i,h=(0,_index.useTheme)(),v=(0,_react.useRef)((0,_index.createAnimatedValue)(1)).current,y=(0,_react.useRef)((0,_index.createAnimatedValue)(.5)).current;(0,_react.useEffect)(()=>{if(!_||!x)return v.setValue(1),void y.setValue(0);const e=_reactNative.Animated.loop(_reactNative.Animated.parallel([_reactNative.Animated.sequence([_reactNative.Animated.timing(v,{toValue:1.4,duration:1100,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.timing(v,{toValue:1,duration:0,useNativeDriver:!0})]),_reactNative.Animated.sequence([_reactNative.Animated.timing(y,{toValue:0,duration:1100,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.timing(y,{toValue:.5,duration:0,useNativeDriver:!0})])]));return e.start(),()=>e.stop()},[_,v,y,x]);const j="upcoming"===i?n:s,g="upcoming"===i?r:s,b="upcoming"===i?a:o,S="complete"===i,R=`Step ${e+1} of ${u}, ${t.label}, ${i}`,f=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:m.relative,children:[_&&x?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[m.pulse,{width:32,height:32,borderRadius:h.radius.pill,..._corners.smoothCorners,backgroundColor:s,opacity:y,transform:[{scale:v}]}]}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[m.circle,{width:24,height:24,borderRadius:h.radius.pill,..._corners.smoothCorners,backgroundColor:j,borderColor:g},p],children:t.icon?t.icon:S?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[m.glyph,{color:b}],children:"✓"}):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[m.glyph,{color:b}],children:e+1})})]});return l?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>d(e),disabled:!c,accessibilityRole:"button",accessibilityLabel:R,accessibilityState:{selected:_,disabled:!c},"aria-selected":_,"aria-disabled":!c,hitSlop:8,children:f}):(0,_jsxRuntime.jsx)(_reactNative.View,{accessibilityRole:"text",accessibilityLabel:R,accessibilityState:{selected:_},"aria-selected":_,children:f})},buildCircleStyles=e=>_reactNative.StyleSheet.create({relative:{alignItems:"center",justifyContent:"center"},pulse:{position:"absolute"},circle:{borderWidth:2,alignItems:"center",justifyContent:"center"},glyph:{fontSize:e.text.sm.size,fontWeight:"600",includeFontPadding:!1}}),Stepper=exports.Stepper=(0,_react.forwardRef)((e,t)=>{const{steps:i,activeStep:s,defaultActiveStep:r=0,pressMode:n="none",onStepPress:o,onActiveStepChange:a,variant:l="horizontal",tone:c="primary",formatCaption:u,showCaption:d=!0,loading:x=!1,accessibilityLabel:m,style:p,containerStyle:_,circleStyle:h,labelStyle:v,connectorStyle:y,haptic:j,testID:g}=e,b=(0,_index.useTheme)(),S=b.settings.components.stepper?.pulseAnimation??!1,R=(0,_hapticUtils.resolveHaptic)(j,"selection"),f=(0,_react.useMemo)(()=>buildStyles(b),[b]),w=(0,_react.useMemo)(()=>buildCircleStyles(b),[b]),C=toneColorFor(b,c),N=b.colors.border,V=b.colors.bg,k=b.colors["text-muted"],I=toneOnColorFor(b,c),A=i.length,L="none"!==n,T=void 0!==s,[$,D]=(0,_react.useState)(r),E=T?s:$,P=null==E||E<0?null:E,F=i.map((e,t)=>(e=>null===P?"upcoming":e<P?"complete":e===P?"active":"upcoming")(t)),z=F.filter(e=>"upcoming"!==e).length,O=F.filter(e=>"complete"===e).length,canPressStatus=e=>"back"===n?"complete"===e:L,handleStepPress=e=>{if(!canPressStatus(F[e]))return;R&&(0,_hapticUtils.triggerHaptic)(R),o?.(e);const t="select"===n&&e===P?null:e;T||D(t),a?.(t)},B=(0,_react.useRef)((0,_index.createAnimatedValue)(z)).current,q=(0,_react.useRef)(z);(0,_react.useEffect)(()=>{const e=q.current;if(e===z)return;q.current=z;const t=_reactNative.Animated.timing(B,{toValue:z,duration:b.motion.duration.default*Math.abs(z-e),easing:_reactNative.Easing.linear,useNativeDriver:!1});return t.start(),()=>t.stop()},[z,B,b.motion]);const sliceOf=e=>B.interpolate({inputRange:[e,e+1],outputRange:["0%","100%"],extrapolate:"clamp"}),M=A<=1?"0%":B.interpolate({inputRange:[1,A],outputRange:["0%","100%"],extrapolate:"clamp"}),U=null!==P&&P<A?P:null,H=m??(null!==U?`Progress: step ${U+1} of ${A}`:`Progress: ${O} of ${A} steps done`),[G,W]=(0,_react.useState)(0),Z=A>0&&G>0?G/(2*A):0,J=(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:[f.container,_,p],testID:g,accessibilityRole:"progressbar",accessibilityLabel:H,accessibilityValue:{min:0,max:A,now:z},children:"segmented"===l?(()=>{const e=null!==U?i[U]:void 0,t=d?u?u(U,A,e):null!==U?`Step ${U+1} of ${A}${e?.label?` · ${e.label}`:""}`:`${O} of ${A} done`:"";return(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[d?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.sCaption,{color:b.colors["text-muted"],fontSize:b.text.sm.size,marginBottom:b.space.sm},v],numberOfLines:1,children:t}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:f.sRow,children:i.map((e,t)=>{const i=F[t],s=`Step ${t+1} of ${A}, ${e.label}, ${i}`,r=(0,_jsxRuntime.jsx)(_reactNative.View,{testID:g?`${g}-segment-${t}`:void 0,style:[f.sTrack,{backgroundColor:N},y],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[f.sFill,{backgroundColor:C,width:sliceOf(t)}]})});if(L){const n=canPressStatus(i);return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:f.sItem,onPress:()=>handleStepPress(t),disabled:!n,accessibilityRole:"button",accessibilityLabel:s,accessibilityState:{selected:"active"===i,disabled:!n},"aria-selected":"active"===i,"aria-disabled":!n,hitSlop:{top:12,bottom:12},children:r},e.key)}return(0,_jsxRuntime.jsx)(_reactNative.View,{style:f.sItem,accessibilityRole:"text",accessibilityLabel:s,accessibilityState:{selected:"active"===i},"aria-selected":"active"===i,children:r},e.key)})})]})})():"vertical"===l?(0,_jsxRuntime.jsx)(_reactNative.View,{style:f.vCol,children:i.map((e,t)=>{const i=F[t],s=t===A-1;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.vRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.vLeft,children:[(0,_jsxRuntime.jsx)(StepCircle,{index:t,step:e,status:i,toneColor:C,upcomingColor:N,upcomingFillColor:V,onPressColor:C,textOnColor:I,upcomingTextColor:k,interactive:L,canPress:canPressStatus(i),totalSteps:A,onPress:handleStepPress,pulseEnabled:S,circleStyles:w,circleSlotStyle:h}),s?null:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[f.vConnectorContainer,y],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[f.vConnectorTrack,{backgroundColor:N}]}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[f.vConnectorFill,{backgroundColor:C,height:sliceOf(t+1)}]})]})]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.vBody,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.vLabel,{color:"upcoming"===i?b.colors["text-subtle"]:b.colors["text-body"],fontSize:b.text.base.size,fontWeight:b.weight.semibold},v],numberOfLines:1,children:e?.label??" "}),e.description?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.vDescription,{color:b.colors["text-muted"],fontSize:b.text.sm.size}],numberOfLines:3,children:e.description}):null]})]},e.key)})}):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.hRow,onLayout:e=>W(e.nativeEvent.layout.width),children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{pointerEvents:"none",style:[f.hConnectorContainer,{left:Z,right:Z},y],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[f.hConnectorTrack,{backgroundColor:N}]}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[f.hConnectorFill,{backgroundColor:C,width:M}]})]}),i.map((e,t)=>{const i=F[t];return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.hStepItem,children:[(0,_jsxRuntime.jsx)(StepCircle,{index:t,step:e,status:i,toneColor:C,upcomingColor:N,upcomingFillColor:V,onPressColor:C,textOnColor:I,upcomingTextColor:k,interactive:L,canPress:canPressStatus(i),totalSteps:A,onPress:handleStepPress,pulseEnabled:S,circleStyles:w,circleSlotStyle:h}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.hLabel,{color:"upcoming"===i?b.colors["text-subtle"]:b.colors["text-body"],fontSize:b.text.xs.size},v],numberOfLines:1,children:e?.label??" "})]},e.key)})]})});return x?(0,_jsxRuntime.jsx)(StepperSkeleton,{...e}):J});Stepper.displayName="Stepper";const StepperSkeleton=({steps:e,variant:t="horizontal",showCaption:i=!0,containerStyle:s,style:r,testID:n})=>{const o=(0,_index.useTheme)(),a=(0,_react.useMemo)(()=>buildStyles(o),[o]),l=(0,_react.useMemo)(()=>buildSkeletonStyles(o),[o]),c=e.length||3;return"segmented"===t?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[a.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:[i?(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"45%",height:14,style:{marginBottom:o.space.sm}}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.sRow,children:Array.from({length:c}).map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.sItem,children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:4,radius:"pill"})},`sk-step-${t}`))})]}):"vertical"===t?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:l.vCol,children:Array.from({length:c}).map((e,t)=>{const i=t===c-1;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:l.vRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[l.vLeft,{width:32}],children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:24,height:24}),i?null:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:2,height:36})]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:l.vBody,children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"55%",height:16,style:{marginBottom:o.space.xs}}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"80%",height:12})]})]},`sk-step-${t}`)})})}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.hRow,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[a.hConnectorContainer,{left:50/c+"%",right:50/c+"%"}],children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:2,radius:"pill"})}),Array.from({length:c}).map((e,t)=>(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.hStepItem,children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:24,height:24}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"80%",height:12,style:{marginTop:o.space.xs}})]},`sk-step-${t}`))]})})};StepperSkeleton.displayName="StepperSkeleton",Stepper.Skeleton=StepperSkeleton;const buildSkeletonStyles=e=>_reactNative.StyleSheet.create({vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center"},vBody:{flex:1,paddingLeft:e.space.md,paddingBottom:e.space.lg}}),buildStyles=e=>_reactNative.StyleSheet.create({container:{width:"100%"},hRow:{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",position:"relative"},hConnectorContainer:{position:"absolute",top:11,height:2,flexDirection:"row",alignItems:"center"},hConnectorTrack:{position:"absolute",left:0,right:0,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hConnectorFill:{position:"absolute",left:0,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hStepItem:{alignItems:"center",flex:1},hLabel:{marginTop:e.space.xs,textAlign:"center"},vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center",alignSelf:"stretch",width:32},vConnectorContainer:{flex:1,width:2,minHeight:32,position:"relative",alignSelf:"center"},vConnectorTrack:{position:"absolute",top:0,bottom:0,width:2,borderRadius:e.radius.pill,..._corners.smoothCorners},vConnectorFill:{position:"absolute",top:0,width:2,borderRadius:e.radius.pill,..._corners.smoothCorners},vBody:{flex:1,paddingLeft:e.space.sm,paddingBottom:e.space.md},vLabel:{marginBottom:e.space.xxs},vDescription:{},sCaption:{includeFontPadding:!1},sRow:{flexDirection:"row",columnGap:e.space.xs},sItem:{flex:1},sTrack:{height:4,borderRadius:e.radius.pill,overflow:"hidden"},sFill:{height:4,borderRadius:e.radius.pill}});var _default=exports.default=Stepper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Swipeable=void 0;var cache,_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var a,i,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(i in e)"default"!==i&&{}.hasOwnProperty.call(e,i)&&((a=n&&Object.getOwnPropertyDescriptor(e,i))&&(a.get||a.set)?n(r,i,a):r[i]=e[i]);return r}const SPRING_CONFIG={damping:22,stiffness:260,mass:1},DRAG_ACTIVATION_OFFSET=10,RUBBER_BAND_FACTOR=.35,FAIL_OFFSET_Y=15,toneToBg=(e,t)=>{switch(t){case"primary":return e.colors.primary;case"success":return e.colors.success;case"warning":return e.colors.warning;case"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Swipeable=void 0;var cache,_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var a,i,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(i in e)"default"!==i&&{}.hasOwnProperty.call(e,i)&&((a=n&&Object.getOwnPropertyDescriptor(e,i))&&(a.get||a.set)?n(r,i,a):r[i]=e[i]);return r}const SPRING_CONFIG={damping:22,stiffness:260,mass:1},DRAG_ACTIVATION_OFFSET=10,RUBBER_BAND_FACTOR=.35,FAIL_OFFSET_Y=15,toneToBg=(e,t)=>{switch(t){case"primary":return e.colors.primary;case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.neutral}},toneToOnColor=(e,t)=>{switch(t){case"primary":return e.colors["on-primary"];case"success":return e.colors["on-success"];case"warning":return e.colors["on-warning"];case"danger":return e.colors["on-danger"];default:return e.colors["on-neutral"]}},Swipeable=e=>{const{children:t,leftActions:a,rightActions:i,threshold:n,fullSwipeThreshold:r,onSwipeOpen:c,onSwipeClose:s,disabled:o=!1,haptic:l,containerStyle:u,contentStyle:d,actionStyle:_,accessibilityLabel:m,testID:h}=e,v=(0,_index.useTheme)(),p=n??80,R=r??200,N=(0,_react.useMemo)(()=>buildStyles(v),[v]),S=(0,_react.useMemo)(()=>buildActionStyles(v),[v]),b=!!a&&a.length>0,f=!!i&&i.length>0,w=_reactNative.Dimensions.get("window").width,x=b?p*(a?.length??0):0,g=f?p*(i?.length??0):0,y=(0,_reactNativeReanimated.useSharedValue)(0),j=(0,_reactNativeReanimated.useSharedValue)(0),O=(0,_react.useRef)(null);(0,_react.useEffect)(()=>()=>{(0,_reactNativeReanimated.cancelAnimation)(y),(0,_reactNativeReanimated.cancelAnimation)(j)},[y,j]);const I=(0,_react.useCallback)(e=>{O.current!==e&&(O.current=e,c?.(e))},[c]),C=(0,_react.useCallback)(()=>{null!==O.current&&(O.current=null,s?.())},[s]),G=(0,_react.useCallback)(e=>{const t="left"===e?a:i,n=t?.[0];n&&(!1!==l&&(0,_index2.triggerHaptic)("notificationSuccess"),n.onPress(),y.value=(0,_reactNativeReanimated.withSpring)(0,SPRING_CONFIG),O.current=null,s?.())},[a,i,y,s,l]),A=(0,_react.useCallback)(()=>{y.value=(0,_reactNativeReanimated.withSpring)(0,SPRING_CONFIG),C()},[y,C]),P=(0,_react.useCallback)(e=>{const t=(0,_index2.resolveHaptic)(l,"selection");t&&(0,_index2.triggerHaptic)(t),e.onPress(),A()},[A,l]),k=(0,_react.useMemo)(()=>{const e=x,t=g,a=R,i=-R,n=w,r=-w,c=p,s=b,l=f;return _reactNativeGestureHandler.Gesture.Pan().enabled(!o).withTestId(h?`${h}-gesture`:"swipeable-gesture").activeOffsetX([-10,10]).failOffsetY([-15,15]).onStart(()=>{"worklet";j.value=y.value}).onUpdate(a=>{"worklet";const i=j.value+a.translationX;y.value=i>0&&!s||i<0&&!l?0:i>e&&s?e+.35*(i-e):i<-t&&l?.35*(i+t)-t:i}).onEnd(()=>{"worklet";const o=y.value;return s&&o>=a?(y.value=(0,_reactNativeReanimated.withSpring)(n,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(G)("left")):l&&o<=i?(y.value=(0,_reactNativeReanimated.withSpring)(r,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(G)("right")):s&&o>=c?(y.value=(0,_reactNativeReanimated.withSpring)(e,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(I)("left")):l&&o<=-c?(y.value=(0,_reactNativeReanimated.withSpring)(-t,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(I)("right")):(y.value=(0,_reactNativeReanimated.withSpring)(0,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(C)())})},[o,j,G,R,b,f,x,C,I,g,w,p,y,h]),F=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:y.value}]})),T=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:x>0?Math.min(1,Math.max(0,y.value/x)):0})),M=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:g>0?Math.min(1,Math.max(0,-y.value/g)):0})),E=(0,_react.useMemo)(()=>{const e=[];return a?.forEach(t=>e.push({name:t.key,label:t.label})),i?.forEach(t=>e.push({name:t.key,label:t.label})),e},[a,i]),q=(0,_react.useCallback)(e=>{const t=e.nativeEvent.actionName,n=[...a??[],...i??[]].find(e=>e.key===t);n&&(!1!==l&&(0,_index2.triggerHaptic)("selection"),n.onPress())},[a,i,l]);return b||f?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[N.root,u],testID:h,accessibilityLabel:m,accessibilityActions:E,onAccessibilityAction:q,children:[b?(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[N.actionsRow,N.actionsLeft,{width:x},_,T],pointerEvents:"box-none",children:a?.map(e=>(0,_jsxRuntime.jsx)(ActionButton,{action:e,theme:v,actionStyles:S,width:p,onPress:P},e.key))}):null,f?(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[N.actionsRow,N.actionsRight,{width:g},_,M],pointerEvents:"box-none",children:i?.map(e=>(0,_jsxRuntime.jsx)(ActionButton,{action:e,theme:v,actionStyles:S,width:p,onPress:P},e.key))}):null,(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:k,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[N.content,d,F],children:t})})]}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:u,testID:h,children:t})};exports.Swipeable=Swipeable,Swipeable.displayName="Swipeable";const ActionButton=({action:e,theme:t,actionStyles:a,width:i,onPress:n})=>{const r=e.tone??"neutral",c=toneToBg(t,r);return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>n(e),accessibilityRole:"button",accessibilityLabel:e.label,style:[a.button,{width:i,backgroundColor:c,paddingHorizontal:t.space.sm}],children:[e.icon?(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.icon,children:e.icon}):null,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[a.label,{color:toneToOnColor(t,r),fontSize:t.text.sm.size,fontWeight:t.weight.semibold}],numberOfLines:1,children:e.label})]})},buildActionStyles=e=>_reactNative.StyleSheet.create({button:{flexGrow:0,flexShrink:0,alignItems:"center",justifyContent:"center"},icon:{marginBottom:e.space.xxs},label:{textAlign:"center"}}),buildStyles=e=>_reactNative.StyleSheet.create({root:{position:"relative",overflow:"hidden"},content:{backgroundColor:"transparent"},actionsRow:{position:"absolute",top:0,bottom:0,flexDirection:"row"},actionsLeft:{left:0},actionsRight:{right:0,justifyContent:"flex-end"}});var _default=exports.default=Swipeable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Switch=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_ChoiceText=require("../FieldBase/ChoiceText.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Switch=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_ChoiceText=require("../FieldBase/ChoiceText.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.primary}},Switch=exports.Switch=(0,_react.forwardRef)((e,t)=>{const{value:i,defaultValue:s,onChange:r,disabled:a=!1,size:n="md",tone:o="primary",label:c,description:l,error:d,labelLines:u,layout:h="inline",accessibilityLabel:p,haptic:_="selection",bounce:m=!1,style:b,containerStyle:x,trackStyle:f,thumbStyle:g,testID:y,...v}=e,[w,j]=(0,_index.useControllableState)({value:i,defaultValue:s??!1,onChange:r}),R=(0,_index2.useTheme)(),C=(0,_react.useMemo)(()=>(0,_index2.resolveSwitchSize)(R,n),[R,n]),S=R.colors.thumb,N=(0,_react.useMemo)(()=>buildStyles(R),[R]),T="dark"===R.mode?R.colors.neutral:R.colors["surface-disabled"],k=toneColor(R,o),V=(0,_react.useRef)((0,_index2.createAnimatedValue)(w?1:0)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.spring(V,{toValue:w?1:0,damping:R.motion.spring.snappy.damping,stiffness:R.motion.spring.snappy.stiffness,mass:R.motion.spring.snappy.mass,useNativeDriver:!0});return e.start(),()=>e.stop()},[w,V,R.motion.spring.snappy]);const A=(0,_react.useRef)((0,_index2.createAnimatedValue)(w?1:0)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.timing(A,{toValue:w?1:0,duration:R.motion.duration.fast,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!1});return e.start(),()=>e.stop()},[w,A,R.motion.duration.fast]);const F=C.padding,D=C["track-width"]-C["thumb-size"]-C.padding,q=V.interpolate({inputRange:[0,1],outputRange:[F,D]}),B=A.interpolate({inputRange:[0,1],outputRange:[T,k]}),L=(0,_react.useRef)((0,_index2.createAnimatedValue)(1)).current,z=(0,_react.useRef)(!0);(0,_react.useEffect)(()=>{if(!m)return;if(z.current)return void(z.current=!1);const e=_reactNative.Animated.sequence([_reactNative.Animated.spring(L,{toValue:1.15,damping:10,stiffness:220,mass:1,useNativeDriver:!0}),_reactNative.Animated.spring(L,{toValue:1,damping:14,stiffness:240,mass:1,useNativeDriver:!0})]);return e.start(),()=>e.stop()},[w,m,L]);const handlePress=e=>{a||(!1!==_&&(0,_hapticUtils.triggerHaptic)(_),j(!w),v.onPressOut?.(e))},E=p??(0,_FieldBase.fieldTextAsString)(c),H=(0,_FieldBase.hasFieldText)(c)||(0,_ChoiceText.hasChoiceDetail)(l,d),P=(!0===d||(0,_FieldBase.hasFieldText)(d))&&!w&&!a,I="row"===h&&H,M=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[N.track,{width:C["track-width"],height:C["track-height"],borderRadius:R.radius.pill,..._corners.smoothCorners,backgroundColor:B},f],children:[P?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[N.errorRing,{borderRadius:R.radius.pill,..._corners.smoothCorners,borderWidth:R.size.border,borderColor:R.colors["field-border-error"]}]}):null,(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[N.thumb,R.shadow.card,{backgroundColor:S,width:C["thumb-size"],height:C["thumb-size"],borderRadius:R.radius.pill,..._corners.smoothCorners,transform:[{translateX:q},{scale:L}]},g]})]});if(I)return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{ref:t,onPress:handlePress,disabled:a,accessibilityRole:"switch",accessibilityLabel:E,accessibilityHint:v.accessibilityHint??(0,_FieldBase.fieldTextAsString)(l),accessibilityState:{checked:w,disabled:a},"aria-checked":w,"aria-disabled":a,testID:y,...v,style:({pressed:e})=>[N.row,N.spreadRow,(0,_ChoiceText.hasChoiceDetail)(l,d)?N.rowTop:null,{opacity:a?.55:e?.9:1},x,b],children:[(0,_jsxRuntime.jsx)(_ChoiceText.ChoiceText,{label:c,description:l,error:d,disabled:a,labelLines:u||void 0,descriptionLines:u||void 0,style:N.spreadText}),M]});const U=(0,_jsxRuntime.jsx)(_reactNative.Pressable,{ref:t,onPress:handlePress,disabled:a,accessibilityRole:"switch",accessibilityLabel:E,accessibilityHint:v.accessibilityHint??(0,_FieldBase.fieldTextAsString)(l),accessibilityState:{checked:w,disabled:a},"aria-checked":w,"aria-disabled":a,testID:y,hitSlop:8,...v,style:({pressed:e})=>[{opacity:a?.55:e?.9:1},H?null:b],children:M});return H?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[N.row,(0,_ChoiceText.hasChoiceDetail)(l,d)?N.rowTop:null,x,b],children:[U,(0,_jsxRuntime.jsx)(_ChoiceText.ChoiceText,{label:c,description:l,error:d,disabled:a,labelLines:u||void 0,descriptionLines:u||void 0,style:N.text})]}):x?(0,_jsxRuntime.jsx)(_reactNative.View,{style:x,children:U}):U});Switch.displayName="Switch";const buildStyles=e=>_reactNative.StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},track:{justifyContent:"center"},thumb:{position:"absolute",top:2},errorRing:{..._reactNative.StyleSheet.absoluteFill},rowTop:{alignItems:"flex-start"},text:{marginLeft:e.space.sm},spreadRow:{minHeight:44,justifyContent:"space-between"},spreadText:{flex:1,marginRight:e.space.md}});var _default=exports.default=Switch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Tabs=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_jsxRuntime=require("react/jsx-runtime");const Tabs=exports.Tabs=(0,_react.forwardRef)((e,t)=>{const{tabs:i,activeKey:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Tabs=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_jsxRuntime=require("react/jsx-runtime");const Tabs=exports.Tabs=(0,_react.forwardRef)((e,t)=>{const{tabs:i,activeKey:r,onChange:a,variant:s="underline",radius:n,size:o="md",scrollable:l=!1,align:c="left",style:d,containerStyle:u,tabStyle:p,tabLabelStyle:m,tabIconStyle:b,tabBadgeStyle:x,dividerStyle:g,indicatorStyle:_,progress:h,haptic:y,accessibilityLabel:f,testID:v}=e,j=(0,_index.useTheme)(),S=(0,_react.useMemo)(()=>buildStyles(j),[j]),R=j.components.tabs,w=(0,_react.useMemo)(()=>(0,_index.resolveTabsSize)(j,o),[j,o]),C=l?w["scrollable-padding-x"]:w["padding-x"],N=w["padding-y"],k=w.text,z=j.space[R["icon-gap"]],q=w.icon,I=R["underline-height"],T=j.space[R["pill-inset"]],L=R["disabled-opacity"],F=j.space[R["badge-gap"]],V="segmented"===s,A=(0,_react.useMemo)(()=>(0,_index.resolveSegmentedControlSize)(j,o),[j,o]),M=j.space[R["track-padding"]],P="number"==typeof n?n:n?j.radius[n]:void 0,D=P??j.radius.md,H=void 0===P?j.radius.sm:Math.max(P-M,0),B=P??j.radius.pill,W=P??j.radius.none,E=j.colors["bg-muted"],O=(0,_SquircleFill.useSquircle)(V,D),[U,K]=(0,_react.useState)({}),X=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,G=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,J=U[r],Q=i.every(e=>void 0!==U[e.key]),Y=void 0!==h&&Q&&i.length>1,Z=(0,_react.useMemo)(()=>Y&&h?h.interpolate({inputRange:i.map((e,t)=>t),outputRange:i.map(e=>U[e.key].x),extrapolate:"clamp"}):null,[Y,h,i,U]),$=(0,_react.useMemo)(()=>Y&&h?h.interpolate({inputRange:i.map((e,t)=>t),outputRange:i.map(e=>U[e.key].width),extrapolate:"clamp"}):null,[Y,h,i,U]);(0,_react.useEffect)(()=>{if(!J)return;if(Y)return;const e=j.motion.spring.snappy,t=_reactNative.Animated.parallel([_reactNative.Animated.spring(X,{toValue:J.x,damping:e.damping,stiffness:e.stiffness,mass:e.mass,overshootClamping:!0,useNativeDriver:!1}),_reactNative.Animated.spring(G,{toValue:J.width,damping:e.damping,stiffness:e.stiffness,mass:e.mass,overshootClamping:!0,useNativeDriver:!1})]);return t.start(),()=>t.stop()},[J,r,X,G,j.motion.spring.snappy,Y]);const ee=(0,_react.useCallback)(e=>t=>{const{x:i,width:r}=t.nativeEvent.layout;K(t=>{const a=t[e];return a&&a.x===i&&a.width===r?t:{...t,[e]:{x:i,width:r}}})},[]),te=(0,_react.useCallback)(e=>{if(e.disabled)return;if(e.key===r)return;const t=(0,_index2.resolveHaptic)(y,"selection");t&&(0,_index2.triggerHaptic)(t),a(e.key)},[r,a,y]),ie="pills"===s,re=(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[V?S.indicatorThumb:ie?S.indicatorPill:S.indicatorUnderline,V?null:ie?{top:T,bottom:T}:{height:I},{width:$??G,transform:[{translateX:Z??X}],backgroundColor:V?j.colors.surface:ie?j.colors["primary-soft"]:j.colors.primary,borderRadius:V?H:ie?B:W,..._corners.smoothCorners},_]}),renderTabs=()=>i.map(e=>{const t=e.key===r,i=!0===e.disabled,a=t?j.colors.primary:j.colors["text-subtle"],s=(0,_slotIcon.renderSlotIcon)(e.icon,{color:a,size:q,focused:t,disabled:i});return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>te(e),onLayout:ee(e.key),disabled:i,accessibilityRole:"tab",accessibilityLabel:e.label,accessibilityState:{selected:t,disabled:i},"aria-selected":t,"aria-disabled":i,android_ripple:V?void 0:{color:j.colors["surface-pressed"],borderless:!1},style:({pressed:e})=>[S.tab,l?null:S.tabFlex,V?{paddingHorizontal:A["padding-x"],height:A.height-2*M}:{paddingHorizontal:C,paddingVertical:N},{opacity:i?L:e&&V&&!t?.7:1,backgroundColor:e&&!V?j.colors["surface-pressed"]:"transparent"},p],children:[s?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[S.tabIcon,{marginRight:z},b],children:s}):null,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[S.tabLabel,{color:a,fontSize:V?A.text:k,fontWeight:t?j.weight.semibold:j.weight.medium},m],numberOfLines:1,children:e.label}),void 0!==e.badge&&null!==e.badge?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[S.tabBadge,{marginLeft:F,backgroundColor:j.colors["primary-soft"],borderRadius:j.radius.pill,..._corners.smoothCorners,paddingHorizontal:j.space.xs},x],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:j.colors.primary,fontSize:j.text.xs.size,fontWeight:j.weight.semibold},numberOfLines:1,children:String(e.badge)})}):null]},e.key)}),ae={flexDirection:"row",alignItems:"stretch",justifyContent:l?"flex-start":"center"===c?"center":"flex-start",position:"relative",overflow:"hidden"},se=V?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[re,renderTabs()]}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[renderTabs(),re]});return(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,style:[S.container,{borderBottomColor:j.colors["border-subtle"],borderBottomWidth:"underline"===s?_reactNative.StyleSheet.hairlineWidth:0},"underline"===s?g:null,V?{padding:M,borderRadius:D,..._corners.smoothCorners,backgroundColor:O.active?"transparent":E}:null,d,u],onLayout:O.onLayout,accessibilityRole:"tablist",accessibilityLabel:f,testID:v,children:[O.active&&O.size?(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:O.size.width,height:O.size.height,radius:D,fill:E}):null,l?(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{horizontal:!0,showsHorizontalScrollIndicator:!1,contentContainerStyle:[ae],keyboardShouldPersistTaps:"handled",children:se}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:ae,children:se})]})});Tabs.displayName="Tabs";const buildStyles=e=>_reactNative.StyleSheet.create({container:{width:"100%",position:"relative"},tab:{flexDirection:"row",alignItems:"center",justifyContent:"center"},tabFlex:{flex:1},tabIcon:{},tabLabel:{includeFontPadding:!1,flexShrink:1},tabBadge:{minWidth:18,alignItems:"center",justifyContent:"center"},indicatorUnderline:{position:"absolute",left:0,bottom:0},indicatorPill:{position:"absolute",left:0,zIndex:-1},indicatorThumb:{position:"absolute",left:0,top:0,bottom:0}});var _default=exports.default=Tabs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TagInput=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_index4=require("../Chip/index.js"),_index5=require("../FieldBase/index.js"),_jsxRuntime=require("react/jsx-runtime");const TagInput=exports.TagInput=(0,_react.forwardRef)((e,t)=>{const{value:i,defaultValue:r,onChange:n,placeholder:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TagInput=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_index4=require("../Chip/index.js"),_index5=require("../FieldBase/index.js"),_jsxRuntime=require("react/jsx-runtime");const TagInput=exports.TagInput=(0,_react.forwardRef)((e,t)=>{const{value:i,defaultValue:r,onChange:n,placeholder:s,label:a,helperText:l,error:o,required:u,disabled:d=!1,size:c="md",variant:x,maxTags:_,unique:p=!0,transform:h,separators:m=[","],haptic:g,onFocus:f,style:b,testID:j}=e,v=(0,_index2.useTheme)(),y=(0,_react.useMemo)(()=>buildStyles(v),[v]),[C,R]=(0,_index.useControllableState)({value:i,defaultValue:r??[],onChange:n}),[T,q]=(0,_react.useState)(""),[w,S]=(0,_react.useState)(!1),I=(0,_react.useRef)(null),F=(0,_react.useMemo)(()=>(0,_index3.mergeRefs)(I,t),[t]),k=(0,_react.useCallback)(()=>{d||I.current?.focus()},[d]),z="number"==typeof _&&C.length>=_,B=!0===o||(0,_index5.hasFieldText)(o),N=u&&!a&&0===C.length&&0===T.length&&Boolean(s),V=(0,_react.useCallback)(e=>{const t=h?h(e.trim()):e.trim();if(!t)return;if(z)return;if(p&&C.some(e=>e.toLowerCase()===t.toLowerCase()))return void q("");R([...C,t]),q("");const i=(0,_index3.resolveHaptic)(g,"selection");i&&(0,_index3.triggerHaptic)(i)},[z,g,R,C,h,p]),D=(0,_react.useCallback)(e=>{const t=C.filter((t,i)=>i!==e);R(t);const i=(0,_index3.resolveHaptic)(g,"selection");i&&(0,_index3.triggerHaptic)(i)},[g,R,C]),H=(0,_react.useCallback)(e=>{const t=m.find(t=>t.length>0&&e.includes(t));if(t){const[i]=e.split(t);return void V(i)}q(e)},[V,m]),L=(0,_react.useCallback)(e=>{d||"Backspace"===e.nativeEvent.key&&""===T&&C.length>0&&D(C.length-1)},[d,T,D,C.length]),M=(0,_jsxRuntime.jsx)(_index5.FieldBase,{size:c,variant:x,focused:w,disabled:d,error:B,filled:C.length>0||T.length>0,onPress:k,pressFeedback:!1,style:b,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:y.wrap,children:[C.map((e,t)=>(0,_jsxRuntime.jsx)(_index4.Chip,{label:e,size:"sm",onClose:d?void 0:()=>D(t),haptic:g},`${e}-${t}`)),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:y.inputBox,children:[(0,_jsxRuntime.jsx)(_reactNative.TextInput,{ref:F,value:T,onChangeText:H,onKeyPress:L,onSubmitEditing:()=>V(T),onFocus:e=>{S(!0),f?.(e)},onBlur:()=>{S(!1),V(T)},editable:!d&&!z,placeholder:z||N?void 0:s,placeholderTextColor:v.colors["text-subtle"],blurOnSubmit:!1,returnKeyType:"done",accessibilityLabel:a??s,style:[y.input,{color:v.colors["text-body"],fontSize:v.text.base.size}],testID:j?`${j}-input`:void 0}),N?(0,_jsxRuntime.jsx)(_index5.RequiredPlaceholder,{text:s??"",color:v.colors["text-subtle"],fontSize:v.text.base.size,weightStyle:(0,_index2.fontFor)(v,"normal")}):null]})]})});return(0,_jsxRuntime.jsxs)(_reactNative.View,{testID:j,children:[a?(0,_jsxRuntime.jsx)(_index5.FieldLabel,{size:c,required:u,children:a}):null,M,(0,_jsxRuntime.jsx)(_index5.FieldMessage,{size:c,error:B,text:B?o:l})]})});TagInput.displayName="TagInput";const buildStyles=e=>_reactNative.StyleSheet.create({wrap:{flex:1,flexDirection:"row",flexWrap:"wrap",alignItems:"center",gap:e.space.xs,paddingVertical:e.space.xs},inputBox:{flexGrow:1,minWidth:80},input:{...(0,_index2.fontFor)(e,"normal"),padding:e.space.none}});var _default=exports.default=TagInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveColor=exports.default=exports.Text=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_jsxRuntime=require("react/jsx-runtime");const VARIANTS={display:{size:"4xl",weight:"bold",line:"tight",color:"primary",heading:!0,fontFamily:"display"},h1:{size:"3xl",weight:"bold",line:"tight",color:"primary",heading:!0,fontFamily:"display"},h2:{size:"2xl",weight:"semibold",line:"tight",color:"primary",heading:!0,fontFamily:"display"},h3:{size:"xl",weight:"semibold",line:"tight",color:"primary",heading:!0},title:{size:"lg",weight:"semibold",line:"normal",color:"primary",fontFamily:"display"},body:{size:"base",weight:"normal",line:"normal",color:"primary"},bodySmall:{size:"sm",weight:"normal",line:"normal",color:"secondary"},caption:{size:"xs",weight:"normal",line:"normal",color:"tertiary"},label:{size:"sm",weight:"medium",line:"normal",color:"secondary"},overline:{size:"xs",weight:"semibold",line:"normal",color:"secondary",uppercase:!0,letterSpacing:"wide"}},
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveColor=exports.default=exports.Text=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_jsxRuntime=require("react/jsx-runtime");const VARIANTS={display:{size:"4xl",weight:"bold",line:"tight",color:"primary",heading:!0,fontFamily:"display"},h1:{size:"3xl",weight:"bold",line:"tight",color:"primary",heading:!0,fontFamily:"display"},h2:{size:"2xl",weight:"semibold",line:"tight",color:"primary",heading:!0,fontFamily:"display"},h3:{size:"xl",weight:"semibold",line:"tight",color:"primary",heading:!0},title:{size:"lg",weight:"semibold",line:"normal",color:"primary",fontFamily:"display"},body:{size:"base",weight:"normal",line:"normal",color:"primary"},bodySmall:{size:"sm",weight:"normal",line:"normal",color:"secondary"},caption:{size:"xs",weight:"normal",line:"normal",color:"tertiary"},label:{size:"sm",weight:"medium",line:"normal",color:"secondary"},overline:{size:"xs",weight:"semibold",line:"normal",color:"secondary",uppercase:!0,letterSpacing:"wide"}},TEXT_ROLE_COLOR={textStrong:"text",primary:"text-body",secondary:"text-muted",tertiary:"text-subtle",inverse:"text-inverse",disabled:"text-disabled",link:"link"},SEMANTIC={success:!0,warning:!0,danger:!0,info:!0},resolveColor=(e,t)=>Object.hasOwn(TEXT_ROLE_COLOR,t)?e.colors[TEXT_ROLE_COLOR[t]]:Object.hasOwn(SEMANTIC,t)?e.colors[`${t}-text`]:t;exports.resolveColor=resolveColor;const Text=exports.Text=(0,_react.forwardRef)((e,t)=>{const{variant:i="body",color:r,weight:o,size:l,align:n,italic:a,underline:s,style:c,children:d,...x}=e,m=(0,_index.useTheme)(),p=Object.hasOwn(VARIANTS,i),g=m.settings.textVariants,y=!p&&g&&Object.hasOwn(g,i)?g[i]:void 0,h=(0,_react.useMemo)(()=>{if(y){const e="string"==typeof l?l:y.size;return{fontSize:"number"==typeof l?l:m.text[e].size,lineHeight:y.lineHeight??("number"==typeof l?void 0:m.text[e].lineHeight),color:void 0!==r?resolveColor(m,r):y.color?m.colors[y.color]:resolveColor(m,"primary"),textAlign:n,textTransform:y.uppercase?"uppercase":void 0,letterSpacing:y.letterSpacing?m["letter-spacing"][y.letterSpacing]:void 0,fontStyle:a||y.italic?"italic":void 0,fontVariant:y.fontVariant,textDecorationLine:s?"underline":void 0,...(0,_index.fontFor)(m,o??y.weight??"normal",y.fontFamily)}}const e=VARIANTS[p?i:"body"],t="number"==typeof l?l:m.text[l??e.size].size;return{fontSize:t,lineHeight:Math.round(t*m.leading[e.line]),color:resolveColor(m,r??e.color),textAlign:n,textTransform:e.uppercase?"uppercase":void 0,letterSpacing:e.letterSpacing?m["letter-spacing"][e.letterSpacing]:void 0,fontStyle:a?"italic":void 0,textDecorationLine:s?"underline":void 0,...(0,_index.fontFor)(m,o??e.weight,e.fontFamily)}},[m,y,p,i,r,o,l,n,a,s]),u=p?VARIANTS[i].heading:y?.heading;return(0,_jsxRuntime.jsx)(_reactNative.Text,{ref:t,style:[h,c],maxFontSizeMultiplier:m.settings.maxFontSizeMultiplier,accessibilityRole:u?"header":x.accessibilityRole,...x,children:d})});Text.displayName="Text";var _default=exports.default=Text;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TimePicker=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_useDragToDismiss=require("../../hooks/useDragToDismiss.js"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_Button=_interopRequireDefault(require("../Button/Button.js")),_ModalSafeArea=require("../ModalSafeArea/ModalSafeArea.js"),_PickerTrigger=require("../PickerTrigger/PickerTrigger.js"),_ToastProvider=require("../Toast/ToastProvider.js"),_index2=require("../WheelPicker/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const AnimatedGestureRoot=_reactNative.Animated.createAnimatedComponent(_reactNativeGestureHandler.GestureHandlerRootView),transparentOf=e=>{const t=e.match(/^rgba?\(([^)]+)\)$/);if(!t)return"transparent";const[a,i,r]=t[1].split(",").map(e=>e.trim());return`rgba(${a}, ${i}, ${r}, 0)`},range=(e,t,a=1)=>{const i=[];for(let r=e;r<=t;r+=a)i.push(r);return i},pad2=e=>e.toString().padStart(2,"0"),to24h=(e,t,a)=>"24h"===a?e:"AM"===t?12===e?0:e:12===e?12:e+12,from24h=(e,t)=>"24h"===t?{displayHour:e,period:"AM"}:0===e?{displayHour:12,period:"AM"}:12===e?{displayHour:12,period:"PM"}:e>12?{displayHour:e-12,period:"PM"}:{displayHour:e,period:"AM"},clampMinuteToStep=(e,t)=>{const a=Math.round(e/t)*t;return Math.min(59,Math.max(0,a))},TimePicker=e=>{const{visible:t,value:a,onChange:i,onClose:r,format:s="12h",minuteStep:n=1,title:o="Select Time",confirmLabel:l="Confirm",cancelLabel:u="Cancel",testID:c,style:d,containerStyle:m,headerLabelStyle:p,footerButtonStyle:_,label:g,placeholder:h,helperText:v,error:f,required:x,disabled:y,size:b,variant:j,clearable:M,onClear:N,formatValue:R,triggerStyle:k,haptic:A}=e,S=void 0!==e.visible,[P,T]=(0,_react.useState)(!1),D=S?t:P,w=S?c:c?`${c}-modal`:void 0,C=(0,_index.useTheme)(),H=(0,_usePresenceMotion.usePresenceMotion)(),[V,q]=(0,_ModalSafeArea.useModalInsets)(),$=(0,_react.useMemo)(()=>buildStyles(C),[C]),B=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,I=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,O=(0,_react.useRef)((0,_index.createAnimatedValue)(40)).current,L=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,z=(0,_react.useRef)(0),W=(0,_react.useCallback)(()=>{S?r?.():T(!1)},[S,r]),F=(0,_react.useCallback)(()=>{const e=_reactNative.Animated.timing(B,{toValue:0,duration:H.duration("fast"),easing:_reactNative.Easing.bezier(...C.motion.easing.accelerate),useNativeDriver:!0}),t=_reactNative.Animated.timing(I,{toValue:0,duration:H.duration("normal"),useNativeDriver:!1});(H.reduced?_reactNative.Animated.parallel([e,t]):_reactNative.Animated.parallel([e,t,_reactNative.Animated.timing(O,{toValue:40,duration:C.motion.duration.fast,easing:_reactNative.Easing.bezier(...C.motion.easing.accelerate),useNativeDriver:!0})])).start(()=>W())},[I,W,B,H,O,C.motion.duration.fast,C.motion.easing.accelerate]),{handleGesture:G,opacity:E}=(0,_useDragToDismiss.useDragToDismiss)({drag:L,travel:()=>z.current||320,onDismiss:F}),U=(0,_react.useMemo)(()=>_reactNative.Animated.multiply(B,E),[B,E]),Y=(0,_react.useMemo)(()=>I.interpolate({inputRange:[0,1],outputRange:[transparentOf(C.colors.background.overlay),C.colors.background.overlay]}),[I,C.colors.background.overlay]),J=(0,_react.useMemo)(()=>"24h"===s?range(0,23):range(1,12),[s]),K=(0,_react.useMemo)(()=>range(0,59,n),[n]),Q=(0,_react.useMemo)(()=>["AM","PM"],[]),X=(0,_react.useMemo)(()=>{const e=a&&Number.isFinite(a.hour)?a.hour:(new Date).getHours(),t=a&&Number.isFinite(a.minute)?a.minute:(new Date).getMinutes(),i=clampMinuteToStep(t,n),{displayHour:r,period:o}=from24h(e,s);return{displayHour:r,minute:i,period:o,hour24:e}},[a,s,n]),[Z,ee]=(0,_react.useState)(()=>{const e=J.indexOf(X.displayHour);return e>=0?e:0}),[te,ae]=(0,_react.useState)(()=>{const e=K.indexOf(X.minute);return e>=0?e:0}),[ie,re]=(0,_react.useState)(()=>"PM"===X.period?1:0);(0,_react.useEffect)(()=>{if(!D)return;const e=a&&Number.isFinite(a.hour)?a.hour:(new Date).getHours(),t=a&&Number.isFinite(a.minute)?a.minute:(new Date).getMinutes(),i=clampMinuteToStep(t,n),{displayHour:r,period:o}=from24h(e,s),l=J.indexOf(r);ee(l>=0?l:0);const u=K.indexOf(i);ae(u>=0?u:0),re("PM"===o?1:0)},[D,a,s,n,J,K]),(0,_react.useEffect)(()=>{let e;if(D){const t=_reactNative.Animated.timing(B,{toValue:1,duration:H.duration("normal"),easing:_reactNative.Easing.out(_reactNative.Easing.cubic),useNativeDriver:!0}),a=_reactNative.Animated.timing(I,{toValue:1,duration:H.duration("normal"),useNativeDriver:!1});H.reduced?((0,_index.setNativeValue)(O,0),e=_reactNative.Animated.parallel([t,a])):e=_reactNative.Animated.parallel([t,a,_reactNative.Animated.spring(O,{toValue:0,damping:C.motion.spring.snappy.damping,stiffness:C.motion.spring.snappy.stiffness,mass:C.motion.spring.snappy.mass,useNativeDriver:!0})]),e.start()}else B.setValue(0),I.setValue(0),(0,_index.setNativeValue)(O,40),(0,_index.setNativeValue)(L,0),(0,_index.setNativeValue)(E,1);return()=>e?.stop()},[D,B,I,H,O,L,E,C.motion]);const se=(0,_react.useCallback)((e,t)=>{"hour"===e?ee(Math.max(0,J.indexOf(Number(t)))):"minute"===e?ae(Math.max(0,K.indexOf(Number(t)))):re("PM"===t?1:0)},[J,K]),ne=(0,_react.useCallback)(()=>{!1!==A&&(0,_hapticUtils.triggerHaptic)("selection"),F()},[F,A]),oe=(0,_react.useCallback)(()=>{const e=J[Z]??0,t=Q[ie]??"AM",a=to24h(e,t,s),r=K[te]??0;!1!==A&&(0,_hapticUtils.triggerHaptic)("notificationSuccess"),i?.({hour:a,minute:r}),F()},[J,Z,Q,ie,K,te,s,i,F,A]),le=(0,_react.useMemo)(()=>{const e=J[Z]??0,t=K[te]??0;if("24h"===s)return`${pad2(e)}:${pad2(t)}`;const a=Q[ie]??"AM";return`${pad2(e)}:${pad2(t)} ${a}`},[J,Z,K,te,Q,ie,s]),ue=(0,_react.useMemo)(()=>J.map(e=>({value:e,label:pad2(e),accessibilityLabel:`Hour ${e}`})),[J]),ce=(0,_react.useMemo)(()=>K.map(e=>({value:e,label:pad2(e),accessibilityLabel:`${e} minutes`})),[K]),de=(0,_react.useMemo)(()=>Q.map(e=>({value:e,label:e})),[Q]),me=(0,_react.useMemo)(()=>{const e=[{key:"hour",label:"Hour",items:ue,value:J[Z]??0,separator:":",testID:"time-picker-hour"},{key:"minute",label:"Minute",items:ce,value:K[te]??0,gapAfter:"12h"===s?C.spacing.md:void 0,testID:"time-picker-minute"}];return"12h"===s&&e.push({key:"period",label:"Period",items:de,value:Q[ie]??"AM",testID:"time-picker-period"}),e},[ue,ce,de,J,Z,K,te,Q,ie,s,C.spacing.md]),pe=(0,_react.useCallback)(e=>{if("24h"===s)return`${pad2(e.hour)}:${pad2(e.minute)}`;const{displayHour:t,period:a}=from24h(e.hour,"12h");return`${t}:${pad2(e.minute)} ${a}`},[s]),ge=!S&&a&&Number.isFinite(a.hour)&&Number.isFinite(a.minute)?(R??pe)(a):void 0,he=(0,_jsxRuntime.jsx)(_reactNative.Modal,{visible:D,transparent:!0,statusBarTranslucent:!0,navigationBarTranslucent:!0,animationType:"none",onRequestClose:F,testID:w,children:(0,_jsxRuntime.jsx)(_ModalSafeArea.ModalSafeArea,{onInsets:q,children:(0,_jsxRuntime.jsxs)(AnimatedGestureRoot,{collapsable:!1,style:[$.backdrop,{backgroundColor:Y}],children:[(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:_reactNative.StyleSheet.absoluteFill,onPress:F,accessibilityLabel:"Close time picker",accessibilityRole:"button"}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:H.reduced?{opacity:U}:void 0,children:(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[$.sheet,{paddingBottom:Math.max(V.bottom,C.spacing.lg),transform:[{translateY:_reactNative.Animated.add(O,L)}]},d,m],onLayout:e=>{z.current=e.nativeEvent.layout.height},accessibilityViewIsModal:!0,accessible:!0,accessibilityRole:"none",accessibilityLabel:o,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:G,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:$.handle}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[$.title,p],accessibilityRole:"header",children:o})]})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:$.summaryWrap,accessibilityLiveRegion:"polite",accessibilityLabel:`Selected ${le}`,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:$.summary,children:le})}),(0,_jsxRuntime.jsx)(_index2.WheelPicker,{columns:me,onChange:se,haptic:A,style:$.wheels}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:$.footer,children:[(0,_jsxRuntime.jsx)(_Button.default,{title:u,haptic:!1,variant:"ghost",tone:"neutral",onPress:ne,style:[$.footerBtn,_],accessibilityHint:"Dismiss without changes",testID:"time-picker-cancel"}),(0,_jsxRuntime.jsx)(_Button.default,{title:l,variant:"solid",tone:"primary",haptic:!1,onPress:oe,style:[$.footerBtn,_],accessibilityHint:"Confirm selected time",testID:"time-picker-confirm"})]})]})}),(0,_jsxRuntime.jsx)(_ToastProvider.ToastHost,{})]})})});return S?he:(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_PickerTrigger.PickerTrigger,{label:g,placeholder:h,helperText:v,error:f,required:x,disabled:y,size:b,variant:j,clearable:M,onClear:N,value:ge,onPress:()=>T(!0),triggerStyle:k,testID:c}),he]})};exports.TimePicker=TimePicker;const buildStyles=e=>{const t=e.shadows.xl;return _reactNative.StyleSheet.create({backdrop:{flex:1,justifyContent:"flex-end"},sheet:{backgroundColor:e.colors.background.elevated,borderTopLeftRadius:e.radius.xl,borderTopRightRadius:e.radius.xl,..._corners.smoothCorners,paddingTop:e.spacing.sm,paddingHorizontal:e.spacing.lg,paddingBottom:e.spacing.xl,shadowColor:t.shadowColor,shadowOffset:t.shadowOffset,shadowOpacity:t.shadowOpacity,shadowRadius:t.shadowRadius,elevation:t.elevation},handle:{alignSelf:"center",width:e.components.timePicker?.handleWidth??36,height:e.components.timePicker?.handleHeight??4,borderRadius:e.radius.pill,..._corners.smoothCorners,backgroundColor:e.colors.border.secondary,marginBottom:e.spacing.sm},title:{textAlign:"center",fontSize:e.typography.fontSize.lg,fontWeight:e.typography.fontWeight.semibold,color:e.colors.text.primary,marginBottom:e.spacing.sm},summaryWrap:{alignItems:"center",marginBottom:e.spacing.md},summary:{fontSize:e.typography.fontSize["2xl"],fontWeight:e.typography.fontWeight.bold,color:e.colors.primary,letterSpacing:e.typography.letterSpacing.wide},wheels:{marginBottom:e.spacing.lg},footer:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",gap:e.spacing.sm},footerBtn:{paddingHorizontal:e.spacing.lg}})};var _default=exports.default=TimePicker;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TimePicker=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_useDragToDismiss=require("../../hooks/useDragToDismiss.js"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_Button=_interopRequireDefault(require("../Button/Button.js")),_ModalSafeArea=require("../ModalSafeArea/ModalSafeArea.js"),_PickerTrigger=require("../PickerTrigger/PickerTrigger.js"),_ToastProvider=require("../Toast/ToastProvider.js"),_index2=require("../WheelPicker/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const AnimatedGestureRoot=_reactNative.Animated.createAnimatedComponent(_reactNativeGestureHandler.GestureHandlerRootView),range=(e,t,i=1)=>{const a=[];for(let r=e;r<=t;r+=i)a.push(r);return a},pad2=e=>e.toString().padStart(2,"0"),to24h=(e,t,i)=>"24h"===i?e:"AM"===t?12===e?0:e:12===e?12:e+12,from24h=(e,t)=>"24h"===t?{displayHour:e,period:"AM"}:0===e?{displayHour:12,period:"AM"}:12===e?{displayHour:12,period:"PM"}:e>12?{displayHour:e-12,period:"PM"}:{displayHour:e,period:"AM"},clampMinuteToStep=(e,t)=>{const i=Math.round(e/t)*t;return Math.min(59,Math.max(0,i))},TimePicker=e=>{const{visible:t,value:i,onChange:a,onClose:r,format:s="12h",minuteStep:o=1,title:n="Select Time",confirmLabel:l="Confirm",cancelLabel:u="Cancel",testID:c,style:d,containerStyle:m,headerLabelStyle:p,footerButtonStyle:_,label:h,placeholder:g,helperText:x,error:v,required:f,disabled:b,size:y,variant:j,clearable:M,onClear:N,formatValue:R,triggerStyle:A,haptic:k}=e,S=void 0!==e.visible,[T,D]=(0,_react.useState)(!1),P=S?t:T,w=S?c:c?`${c}-modal`:void 0,C=(0,_index.useTheme)(),H=(0,_usePresenceMotion.usePresenceMotion)(),[V,q]=(0,_ModalSafeArea.useModalInsets)(),B=(0,_react.useMemo)(()=>buildStyles(C),[C]),$=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,I=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,O=(0,_react.useRef)((0,_index.createAnimatedValue)(40)).current,L=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,z=(0,_react.useRef)(0),F=(0,_react.useCallback)(()=>{S?r?.():D(!1)},[S,r]),G=(0,_react.useCallback)(()=>{const e=_reactNative.Animated.timing($,{toValue:0,duration:H.duration("fast"),easing:_reactNative.Easing.bezier(...C.motion.ease.accelerate),useNativeDriver:!0}),t=_reactNative.Animated.timing(I,{toValue:0,duration:H.duration("default"),useNativeDriver:!1});(H.reduced?_reactNative.Animated.parallel([e,t]):_reactNative.Animated.parallel([e,t,_reactNative.Animated.timing(O,{toValue:40,duration:C.motion.duration.fast,easing:_reactNative.Easing.bezier(...C.motion.ease.accelerate),useNativeDriver:!0})])).start(()=>F())},[I,F,$,H,O,C.motion.duration.fast,C.motion.ease.accelerate]),{handleGesture:E,opacity:W}=(0,_useDragToDismiss.useDragToDismiss)({drag:L,travel:()=>z.current||320,onDismiss:G}),U=(0,_react.useMemo)(()=>_reactNative.Animated.multiply($,W),[$,W]),Y=(0,_react.useMemo)(()=>I.interpolate({inputRange:[0,1],outputRange:[(0,_color.transparentOf)(C.colors.scrim),C.colors.scrim]}),[I,C.colors.scrim]),J=(0,_react.useMemo)(()=>"24h"===s?range(0,23):range(1,12),[s]),K=(0,_react.useMemo)(()=>range(0,59,o),[o]),Q=(0,_react.useMemo)(()=>["AM","PM"],[]),X=(0,_react.useMemo)(()=>{const e=i&&Number.isFinite(i.hour)?i.hour:(new Date).getHours(),t=i&&Number.isFinite(i.minute)?i.minute:(new Date).getMinutes(),a=clampMinuteToStep(t,o),{displayHour:r,period:n}=from24h(e,s);return{displayHour:r,minute:a,period:n,hour24:e}},[i,s,o]),[Z,ee]=(0,_react.useState)(()=>{const e=J.indexOf(X.displayHour);return e>=0?e:0}),[te,ie]=(0,_react.useState)(()=>{const e=K.indexOf(X.minute);return e>=0?e:0}),[ae,re]=(0,_react.useState)(()=>"PM"===X.period?1:0);(0,_react.useEffect)(()=>{if(!P)return;const e=i&&Number.isFinite(i.hour)?i.hour:(new Date).getHours(),t=i&&Number.isFinite(i.minute)?i.minute:(new Date).getMinutes(),a=clampMinuteToStep(t,o),{displayHour:r,period:n}=from24h(e,s),l=J.indexOf(r);ee(l>=0?l:0);const u=K.indexOf(a);ie(u>=0?u:0),re("PM"===n?1:0)},[P,i,s,o,J,K]),(0,_react.useEffect)(()=>{let e;if(P){const t=_reactNative.Animated.timing($,{toValue:1,duration:H.duration("default"),easing:_reactNative.Easing.out(_reactNative.Easing.cubic),useNativeDriver:!0}),i=_reactNative.Animated.timing(I,{toValue:1,duration:H.duration("default"),useNativeDriver:!1});H.reduced?((0,_index.setNativeValue)(O,0),e=_reactNative.Animated.parallel([t,i])):e=_reactNative.Animated.parallel([t,i,_reactNative.Animated.spring(O,{toValue:0,damping:C.motion.spring.snappy.damping,stiffness:C.motion.spring.snappy.stiffness,mass:C.motion.spring.snappy.mass,useNativeDriver:!0})]),e.start()}else $.setValue(0),I.setValue(0),(0,_index.setNativeValue)(O,40),(0,_index.setNativeValue)(L,0),(0,_index.setNativeValue)(W,1);return()=>e?.stop()},[P,$,I,H,O,L,W,C.motion]);const se=(0,_react.useCallback)((e,t)=>{"hour"===e?ee(Math.max(0,J.indexOf(Number(t)))):"minute"===e?ie(Math.max(0,K.indexOf(Number(t)))):re("PM"===t?1:0)},[J,K]),oe=(0,_react.useCallback)(()=>{!1!==k&&(0,_hapticUtils.triggerHaptic)("selection"),G()},[G,k]),ne=(0,_react.useCallback)(()=>{const e=J[Z]??0,t=Q[ae]??"AM",i=to24h(e,t,s),r=K[te]??0;!1!==k&&(0,_hapticUtils.triggerHaptic)("notificationSuccess"),a?.({hour:i,minute:r}),G()},[J,Z,Q,ae,K,te,s,a,G,k]),le=(0,_react.useMemo)(()=>{const e=J[Z]??0,t=K[te]??0;if("24h"===s)return`${pad2(e)}:${pad2(t)}`;const i=Q[ae]??"AM";return`${pad2(e)}:${pad2(t)} ${i}`},[J,Z,K,te,Q,ae,s]),ue=(0,_react.useMemo)(()=>J.map(e=>({value:e,label:pad2(e),accessibilityLabel:`Hour ${e}`})),[J]),ce=(0,_react.useMemo)(()=>K.map(e=>({value:e,label:pad2(e),accessibilityLabel:`${e} minutes`})),[K]),de=(0,_react.useMemo)(()=>Q.map(e=>({value:e,label:e})),[Q]),me=(0,_react.useMemo)(()=>{const e=[{key:"hour",label:"Hour",items:ue,value:J[Z]??0,separator:":",testID:"time-picker-hour"},{key:"minute",label:"Minute",items:ce,value:K[te]??0,gapAfter:"12h"===s?C.space.md:void 0,testID:"time-picker-minute"}];return"12h"===s&&e.push({key:"period",label:"Period",items:de,value:Q[ae]??"AM",testID:"time-picker-period"}),e},[ue,ce,de,J,Z,K,te,Q,ae,s,C.space.md]),pe=(0,_react.useCallback)(e=>{if("24h"===s)return`${pad2(e.hour)}:${pad2(e.minute)}`;const{displayHour:t,period:i}=from24h(e.hour,"12h");return`${t}:${pad2(e.minute)} ${i}`},[s]),he=!S&&i&&Number.isFinite(i.hour)&&Number.isFinite(i.minute)?(R??pe)(i):void 0,ge=(0,_jsxRuntime.jsx)(_reactNative.Modal,{visible:P,transparent:!0,statusBarTranslucent:!0,navigationBarTranslucent:!0,animationType:"none",onRequestClose:G,testID:w,children:(0,_jsxRuntime.jsx)(_ModalSafeArea.ModalSafeArea,{onInsets:q,children:(0,_jsxRuntime.jsxs)(AnimatedGestureRoot,{collapsable:!1,style:[B.backdrop,{backgroundColor:Y}],children:[(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:_reactNative.StyleSheet.absoluteFill,onPress:G,accessibilityLabel:"Close time picker",accessibilityRole:"button"}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:H.reduced?{opacity:U}:void 0,children:(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[B.sheet,{paddingBottom:Math.max(V.bottom,C.space.lg),transform:[{translateY:_reactNative.Animated.add(O,L)}]},d,m],onLayout:e=>{z.current=e.nativeEvent.layout.height},accessibilityViewIsModal:!0,accessible:!0,accessibilityRole:"none",accessibilityLabel:n,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:E,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:B.handle}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[B.title,p],accessibilityRole:"header",children:n})]})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:B.summaryWrap,accessibilityLiveRegion:"polite",accessibilityLabel:`Selected ${le}`,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:B.summary,children:le})}),(0,_jsxRuntime.jsx)(_index2.WheelPicker,{columns:me,onChange:se,haptic:k,style:B.wheels}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:B.footer,children:[(0,_jsxRuntime.jsx)(_Button.default,{title:u,haptic:!1,variant:"ghost",tone:"neutral",onPress:oe,style:[B.footerBtn,_],accessibilityHint:"Dismiss without changes",testID:"time-picker-cancel"}),(0,_jsxRuntime.jsx)(_Button.default,{title:l,variant:"solid",tone:"primary",haptic:!1,onPress:ne,style:[B.footerBtn,_],accessibilityHint:"Confirm selected time",testID:"time-picker-confirm"})]})]})}),(0,_jsxRuntime.jsx)(_ToastProvider.ToastHost,{})]})})});return S?ge:(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_PickerTrigger.PickerTrigger,{label:h,placeholder:g,helperText:x,error:v,required:f,disabled:b,size:y,variant:j,clearable:M,onClear:N,value:he,onPress:()=>D(!0),triggerStyle:A,testID:c}),ge]})};exports.TimePicker=TimePicker;const buildStyles=e=>{const t=e.shadow.modal;return _reactNative.StyleSheet.create({backdrop:{flex:1,justifyContent:"flex-end"},sheet:{backgroundColor:e.colors.surface,borderTopLeftRadius:e.radius.xl,borderTopRightRadius:e.radius.xl,..._corners.smoothCorners,paddingTop:e.space.sm,paddingHorizontal:e.space.lg,paddingBottom:e.space.xl,shadowColor:t.shadowColor,shadowOffset:t.shadowOffset,shadowOpacity:t.shadowOpacity,shadowRadius:t.shadowRadius,elevation:t.elevation},handle:{alignSelf:"center",width:36,height:4,borderRadius:e.radius.pill,..._corners.smoothCorners,backgroundColor:e.colors["border-subtle"],marginBottom:e.space.sm},title:{textAlign:"center",fontSize:e.text.lg.size,fontWeight:e.weight.semibold,color:e.colors["text-body"],marginBottom:e.space.sm},summaryWrap:{alignItems:"center",marginBottom:e.space.md},summary:{fontSize:e.text["2xl"].size,fontWeight:e.weight.bold,color:e.colors.primary,letterSpacing:e["letter-spacing"].wide},wheels:{marginBottom:e.space.lg},footer:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",gap:e.space.sm},footerBtn:{paddingHorizontal:e.space.lg}})};var _default=exports.default=TimePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Timeline=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_jsxRuntime=require("react/jsx-runtime");const DOT=12,HALO=6,RAIL=2,GUTTER=28,HALO_OPACITY=.16,Timeline=({items:e,variant:t="feed",orientation:r="vertical",style:i,testID:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Timeline=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_jsxRuntime=require("react/jsx-runtime");const DOT=12,HALO=6,RAIL=2,GUTTER=28,DISC=24,HALO_OPACITY=.16,Timeline=({items:e,variant:t="feed",orientation:r="vertical",style:i,testID:s})=>{const n=(0,_index.useTheme)(),o=n.space.xs,l=(0,_react.useMemo)(()=>buildStyles(n),[n]),a="horizontal"===r,c=n.colors.border,[d,u]=(0,_react.useState)(0),x=(0,_react.useCallback)(e=>{const{width:t}=e.nativeEvent.layout;u(e=>e===t?e:t)},[]),m=a&&d>0&&e.length>0?d/e.length:0,renderDisc=(e,t)=>e.icon?(0,_jsxRuntime.jsx)(_reactNative.View,{style:l.disc,children:e.icon}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[l.disc,{backgroundColor:(0,_color.tintOf)(t,.16,n.colors["bg-muted"])}],children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[l.dot,{backgroundColor:t}]})}),renderText=(e,t)=>(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[l.title,{fontSize:a?n.text.sm.size:n.text.base.size,color:"upcoming"===t?n.colors["text-muted"]:n.colors["text-body"]},a?l.centred:null],children:e.title}),e.meta?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[l.meta,{fontSize:n.text.xs.size,color:n.colors["text-subtle"]},a?l.centred:null],children:e.meta}):null,e.description?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[l.description,{fontSize:n.text.sm.size,color:n.colors["text-muted"]},a?l.centred:null],children:e.description}):null,e.children]}),_=e.map((r,i)=>{const s=r.status??("feed"===t?"done":"upcoming"),d=r.color??(e=>{switch(e){case"done":return n.colors.success;case"current":return n.colors.warning;case"onHold":return n.colors.info;case"rejected":return n.colors.danger;case"cancelled":case"skipped":return n.colors["text-subtle"];default:return n.colors["text-disabled"]}})(s),u=0===i,x=i===e.length-1,_=r.key??`${r.title}-${i}`;return a?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[l.hColumn,m>0?{width:m,flex:0}:null],children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:l.hDotRow,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[l.hSegment,{marginRight:o,backgroundColor:u?"transparent":c}]}),renderDisc(r,d),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[l.hSegment,{marginLeft:o,backgroundColor:x?"transparent":c}]})]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:l.hBody,children:renderText(r,s)})]},_):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:l.row,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:l.gutter,children:[renderDisc(r,d),x?null:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[l.rail,{backgroundColor:c}]})]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[l.body,{paddingBottom:x?0:n.space.lg}],children:renderText(r,s)})]},_)});return(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a?l.hRow:null,i],onLayout:a?x:void 0,testID:s,children:_})};exports.Timeline=Timeline;const buildStyles=e=>_reactNative.StyleSheet.create({row:{flexDirection:"row"},gutter:{width:Math.max(28,28),alignItems:"center"},disc:{width:24,height:24,borderRadius:e.radius.pill,..._corners.smoothCorners,alignItems:"center",justifyContent:"center"},dot:{width:12,height:12,borderRadius:e.radius.pill,..._corners.smoothCorners},rail:{width:2,flex:1,marginTop:e.space.xs,borderRadius:e.radius.pill,..._corners.smoothCorners},body:{flex:1,gap:e.space.xxs,paddingLeft:e.space.sm},hRow:{flexDirection:"row",alignItems:"flex-start"},hColumn:{flex:1,minWidth:0,alignItems:"center"},hDotRow:{alignSelf:"stretch",flexDirection:"row",alignItems:"center"},hSegment:{flex:1,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hBody:{alignSelf:"stretch",alignItems:"center",paddingHorizontal:e.space.xs,marginTop:e.space.sm,gap:e.space.xxs},centred:{textAlign:"center"},title:{...(0,_index.fontFor)(e,"semibold"),fontWeight:"600"},meta:{...(0,_index.fontFor)(e,"normal")},description:{...(0,_index.fontFor)(e,"normal")}});var _default=exports.default=Timeline;
|