@webority/mobile-ui 0.0.39 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Accordion/Accordion.js +1 -343
- package/lib/commonjs/components/Accordion/index.js +1 -26
- package/lib/commonjs/components/AmountSlider/AmountSlider.js +1 -209
- package/lib/commonjs/components/AmountSlider/index.js +1 -20
- package/lib/commonjs/components/AnimatePresence/AnimatePresence.js +1 -71
- package/lib/commonjs/components/AnimatePresence/index.js +1 -13
- package/lib/commonjs/components/AppBar/AppBar.js +1 -358
- package/lib/commonjs/components/AppBar/index.js +1 -20
- package/lib/commonjs/components/AppIcon/AppIcon.js +1 -155
- package/lib/commonjs/components/AppIcon/catalog/bold/a.g.js +1 -84
- package/lib/commonjs/components/AppIcon/catalog/bold/b.g.js +1 -89
- package/lib/commonjs/components/AppIcon/catalog/bold/c.g.js +1 -118
- package/lib/commonjs/components/AppIcon/catalog/bold/d.g.js +1 -68
- package/lib/commonjs/components/AppIcon/catalog/bold/e.g.js +1 -46
- package/lib/commonjs/components/AppIcon/catalog/bold/f.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/bold/g.g.js +1 -54
- package/lib/commonjs/components/AppIcon/catalog/bold/h.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/bold/i.g.js +1 -31
- package/lib/commonjs/components/AppIcon/catalog/bold/j.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/bold/k.g.js +1 -20
- package/lib/commonjs/components/AppIcon/catalog/bold/l.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/bold/m.g.js +1 -105
- package/lib/commonjs/components/AppIcon/catalog/bold/n.g.js +1 -34
- package/lib/commonjs/components/AppIcon/catalog/bold/o.g.js +1 -21
- package/lib/commonjs/components/AppIcon/catalog/bold/p.g.js +1 -60
- package/lib/commonjs/components/AppIcon/catalog/bold/q.g.js +1 -22
- package/lib/commonjs/components/AppIcon/catalog/bold/r.g.js +1 -59
- package/lib/commonjs/components/AppIcon/catalog/bold/s.g.js +1 -113
- package/lib/commonjs/components/AppIcon/catalog/bold/t.g.js +1 -74
- package/lib/commonjs/components/AppIcon/catalog/bold/u.g.js +1 -28
- package/lib/commonjs/components/AppIcon/catalog/bold/v.g.js +1 -40
- package/lib/commonjs/components/AppIcon/catalog/bold/w.g.js +1 -41
- package/lib/commonjs/components/AppIcon/catalog/bold/x.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/bold/y.g.js +1 -16
- package/lib/commonjs/components/AppIcon/catalog/bold/z.g.js +1 -17
- package/lib/commonjs/components/AppIcon/catalog/broken/a.g.js +1 -84
- package/lib/commonjs/components/AppIcon/catalog/broken/b.g.js +1 -89
- package/lib/commonjs/components/AppIcon/catalog/broken/c.g.js +1 -118
- package/lib/commonjs/components/AppIcon/catalog/broken/d.g.js +1 -68
- package/lib/commonjs/components/AppIcon/catalog/broken/e.g.js +1 -46
- package/lib/commonjs/components/AppIcon/catalog/broken/f.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/broken/g.g.js +1 -54
- package/lib/commonjs/components/AppIcon/catalog/broken/h.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/broken/i.g.js +1 -31
- package/lib/commonjs/components/AppIcon/catalog/broken/j.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/broken/k.g.js +1 -20
- package/lib/commonjs/components/AppIcon/catalog/broken/l.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/broken/m.g.js +1 -105
- package/lib/commonjs/components/AppIcon/catalog/broken/n.g.js +1 -34
- package/lib/commonjs/components/AppIcon/catalog/broken/o.g.js +1 -21
- package/lib/commonjs/components/AppIcon/catalog/broken/p.g.js +1 -60
- package/lib/commonjs/components/AppIcon/catalog/broken/q.g.js +1 -22
- package/lib/commonjs/components/AppIcon/catalog/broken/r.g.js +1 -59
- package/lib/commonjs/components/AppIcon/catalog/broken/s.g.js +1 -113
- package/lib/commonjs/components/AppIcon/catalog/broken/t.g.js +1 -74
- package/lib/commonjs/components/AppIcon/catalog/broken/u.g.js +1 -28
- package/lib/commonjs/components/AppIcon/catalog/broken/v.g.js +1 -40
- package/lib/commonjs/components/AppIcon/catalog/broken/w.g.js +1 -41
- package/lib/commonjs/components/AppIcon/catalog/broken/x.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/broken/y.g.js +1 -16
- package/lib/commonjs/components/AppIcon/catalog/broken/z.g.js +1 -17
- package/lib/commonjs/components/AppIcon/catalog/bulk/a.g.js +1 -84
- package/lib/commonjs/components/AppIcon/catalog/bulk/b.g.js +1 -89
- package/lib/commonjs/components/AppIcon/catalog/bulk/c.g.js +1 -118
- package/lib/commonjs/components/AppIcon/catalog/bulk/d.g.js +1 -68
- package/lib/commonjs/components/AppIcon/catalog/bulk/e.g.js +1 -46
- package/lib/commonjs/components/AppIcon/catalog/bulk/f.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/bulk/g.g.js +1 -54
- package/lib/commonjs/components/AppIcon/catalog/bulk/h.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/bulk/i.g.js +1 -31
- package/lib/commonjs/components/AppIcon/catalog/bulk/j.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/bulk/k.g.js +1 -20
- package/lib/commonjs/components/AppIcon/catalog/bulk/l.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/bulk/m.g.js +1 -105
- package/lib/commonjs/components/AppIcon/catalog/bulk/n.g.js +1 -34
- package/lib/commonjs/components/AppIcon/catalog/bulk/o.g.js +1 -21
- package/lib/commonjs/components/AppIcon/catalog/bulk/p.g.js +1 -60
- package/lib/commonjs/components/AppIcon/catalog/bulk/q.g.js +1 -22
- package/lib/commonjs/components/AppIcon/catalog/bulk/r.g.js +1 -59
- package/lib/commonjs/components/AppIcon/catalog/bulk/s.g.js +1 -113
- package/lib/commonjs/components/AppIcon/catalog/bulk/t.g.js +1 -74
- package/lib/commonjs/components/AppIcon/catalog/bulk/u.g.js +1 -28
- package/lib/commonjs/components/AppIcon/catalog/bulk/v.g.js +1 -40
- package/lib/commonjs/components/AppIcon/catalog/bulk/w.g.js +1 -41
- package/lib/commonjs/components/AppIcon/catalog/bulk/x.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/bulk/y.g.js +1 -16
- package/lib/commonjs/components/AppIcon/catalog/bulk/z.g.js +1 -17
- package/lib/commonjs/components/AppIcon/catalog/linear/a.g.js +1 -84
- package/lib/commonjs/components/AppIcon/catalog/linear/b.g.js +1 -89
- package/lib/commonjs/components/AppIcon/catalog/linear/c.g.js +1 -118
- package/lib/commonjs/components/AppIcon/catalog/linear/d.g.js +1 -68
- package/lib/commonjs/components/AppIcon/catalog/linear/e.g.js +1 -46
- package/lib/commonjs/components/AppIcon/catalog/linear/f.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/linear/g.g.js +1 -54
- package/lib/commonjs/components/AppIcon/catalog/linear/h.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/linear/i.g.js +1 -31
- package/lib/commonjs/components/AppIcon/catalog/linear/j.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/linear/k.g.js +1 -20
- package/lib/commonjs/components/AppIcon/catalog/linear/l.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/linear/m.g.js +1 -105
- package/lib/commonjs/components/AppIcon/catalog/linear/n.g.js +1 -34
- package/lib/commonjs/components/AppIcon/catalog/linear/o.g.js +1 -21
- package/lib/commonjs/components/AppIcon/catalog/linear/p.g.js +1 -60
- package/lib/commonjs/components/AppIcon/catalog/linear/q.g.js +1 -22
- package/lib/commonjs/components/AppIcon/catalog/linear/r.g.js +1 -59
- package/lib/commonjs/components/AppIcon/catalog/linear/s.g.js +1 -113
- package/lib/commonjs/components/AppIcon/catalog/linear/t.g.js +1 -74
- package/lib/commonjs/components/AppIcon/catalog/linear/u.g.js +1 -28
- package/lib/commonjs/components/AppIcon/catalog/linear/v.g.js +1 -40
- package/lib/commonjs/components/AppIcon/catalog/linear/w.g.js +1 -41
- package/lib/commonjs/components/AppIcon/catalog/linear/x.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/linear/y.g.js +1 -16
- package/lib/commonjs/components/AppIcon/catalog/linear/z.g.js +1 -17
- package/lib/commonjs/components/AppIcon/catalog/outline/a.g.js +1 -84
- package/lib/commonjs/components/AppIcon/catalog/outline/b.g.js +1 -89
- package/lib/commonjs/components/AppIcon/catalog/outline/c.g.js +1 -118
- package/lib/commonjs/components/AppIcon/catalog/outline/d.g.js +1 -68
- package/lib/commonjs/components/AppIcon/catalog/outline/e.g.js +1 -46
- package/lib/commonjs/components/AppIcon/catalog/outline/f.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/outline/g.g.js +1 -54
- package/lib/commonjs/components/AppIcon/catalog/outline/h.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/outline/i.g.js +1 -31
- package/lib/commonjs/components/AppIcon/catalog/outline/j.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/outline/k.g.js +1 -20
- package/lib/commonjs/components/AppIcon/catalog/outline/l.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/outline/m.g.js +1 -105
- package/lib/commonjs/components/AppIcon/catalog/outline/n.g.js +1 -34
- package/lib/commonjs/components/AppIcon/catalog/outline/o.g.js +1 -21
- package/lib/commonjs/components/AppIcon/catalog/outline/p.g.js +1 -60
- package/lib/commonjs/components/AppIcon/catalog/outline/q.g.js +1 -22
- package/lib/commonjs/components/AppIcon/catalog/outline/r.g.js +1 -59
- package/lib/commonjs/components/AppIcon/catalog/outline/s.g.js +1 -113
- package/lib/commonjs/components/AppIcon/catalog/outline/t.g.js +1 -74
- package/lib/commonjs/components/AppIcon/catalog/outline/u.g.js +1 -28
- package/lib/commonjs/components/AppIcon/catalog/outline/v.g.js +1 -40
- package/lib/commonjs/components/AppIcon/catalog/outline/w.g.js +1 -41
- package/lib/commonjs/components/AppIcon/catalog/outline/x.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/outline/y.g.js +1 -16
- package/lib/commonjs/components/AppIcon/catalog/outline/z.g.js +1 -17
- package/lib/commonjs/components/AppIcon/catalog/twotone/a.g.js +1 -84
- package/lib/commonjs/components/AppIcon/catalog/twotone/b.g.js +1 -89
- package/lib/commonjs/components/AppIcon/catalog/twotone/c.g.js +1 -118
- package/lib/commonjs/components/AppIcon/catalog/twotone/d.g.js +1 -68
- package/lib/commonjs/components/AppIcon/catalog/twotone/e.g.js +1 -46
- package/lib/commonjs/components/AppIcon/catalog/twotone/f.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/twotone/g.g.js +1 -54
- package/lib/commonjs/components/AppIcon/catalog/twotone/h.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/twotone/i.g.js +1 -31
- package/lib/commonjs/components/AppIcon/catalog/twotone/j.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/twotone/k.g.js +1 -20
- package/lib/commonjs/components/AppIcon/catalog/twotone/l.g.js +1 -52
- package/lib/commonjs/components/AppIcon/catalog/twotone/m.g.js +1 -105
- package/lib/commonjs/components/AppIcon/catalog/twotone/n.g.js +1 -34
- package/lib/commonjs/components/AppIcon/catalog/twotone/o.g.js +1 -21
- package/lib/commonjs/components/AppIcon/catalog/twotone/p.g.js +1 -60
- package/lib/commonjs/components/AppIcon/catalog/twotone/q.g.js +1 -22
- package/lib/commonjs/components/AppIcon/catalog/twotone/r.g.js +1 -59
- package/lib/commonjs/components/AppIcon/catalog/twotone/s.g.js +1 -113
- package/lib/commonjs/components/AppIcon/catalog/twotone/t.g.js +1 -74
- package/lib/commonjs/components/AppIcon/catalog/twotone/u.g.js +1 -28
- package/lib/commonjs/components/AppIcon/catalog/twotone/v.g.js +1 -40
- package/lib/commonjs/components/AppIcon/catalog/twotone/w.g.js +1 -41
- package/lib/commonjs/components/AppIcon/catalog/twotone/x.g.js +1 -18
- package/lib/commonjs/components/AppIcon/catalog/twotone/y.g.js +1 -16
- package/lib/commonjs/components/AppIcon/catalog/twotone/z.g.js +1 -17
- package/lib/commonjs/components/AppIcon/catalog.g.js +1 -187
- package/lib/commonjs/components/AppIcon/defaultIcons.js +1 -83
- package/lib/commonjs/components/AppIcon/glyphs.g.js +1 -160
- package/lib/commonjs/components/AppIcon/index.js +1 -64
- package/lib/commonjs/components/AppIcon/slotIcon.js +1 -67
- package/lib/commonjs/components/AppIcon/variants.g.js +1 -741
- package/lib/commonjs/components/AsyncBlock/AsyncBlock.js +1 -87
- package/lib/commonjs/components/AsyncBlock/index.js +1 -20
- package/lib/commonjs/components/AuthedImage/AuthedImage.js +1 -230
- package/lib/commonjs/components/AuthedImage/authedImageCache.js +1 -351
- package/lib/commonjs/components/AuthedImage/index.js +1 -45
- package/lib/commonjs/components/Autocomplete/Autocomplete.js +1 -227
- package/lib/commonjs/components/Autocomplete/index.js +1 -13
- package/lib/commonjs/components/Avatar/Avatar.js +1 -502
- package/lib/commonjs/components/Avatar/index.js +1 -32
- package/lib/commonjs/components/Badge/Badge.js +1 -298
- package/lib/commonjs/components/Badge/index.js +1 -20
- package/lib/commonjs/components/Banner/Banner.js +1 -401
- package/lib/commonjs/components/Banner/index.js +1 -20
- package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -893
- package/lib/commonjs/components/BottomNavigation/index.js +1 -20
- package/lib/commonjs/components/BottomSheet/BottomSheet.js +1 -732
- package/lib/commonjs/components/BottomSheet/index.js +1 -26
- package/lib/commonjs/components/Box/Box.js +1 -226
- package/lib/commonjs/components/Box/index.js +1 -37
- package/lib/commonjs/components/Button/Button.js +1 -561
- package/lib/commonjs/components/Button/index.js +1 -20
- package/lib/commonjs/components/Card/Card.js +1 -407
- package/lib/commonjs/components/Card/index.js +1 -20
- package/lib/commonjs/components/Carousel/Carousel.js +1 -587
- package/lib/commonjs/components/Carousel/index.js +1 -20
- package/lib/commonjs/components/Checkbox/Checkbox.js +1 -187
- package/lib/commonjs/components/Checkbox/index.js +1 -20
- package/lib/commonjs/components/Chip/Chip.js +1 -358
- package/lib/commonjs/components/Chip/index.js +1 -20
- package/lib/commonjs/components/ChoiceGroup/ChoiceGroup.js +1 -336
- package/lib/commonjs/components/ChoiceGroup/index.js +1 -20
- package/lib/commonjs/components/Confetti/Confetti.js +1 -382
- package/lib/commonjs/components/Confetti/index.js +1 -13
- package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1054
- package/lib/commonjs/components/DatePicker/index.js +1 -20
- package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +1 -794
- package/lib/commonjs/components/DateRangePicker/index.js +1 -20
- package/lib/commonjs/components/DecimalInput/DecimalInput.js +1 -0
- package/lib/commonjs/components/DecimalInput/index.js +1 -0
- package/lib/commonjs/components/Descriptions/Descriptions.js +1 -107
- package/lib/commonjs/components/Descriptions/index.js +1 -20
- package/lib/commonjs/components/Dialog/Dialog.js +1 -248
- package/lib/commonjs/components/Dialog/index.js +1 -20
- package/lib/commonjs/components/Divider/Divider.js +1 -117
- package/lib/commonjs/components/Divider/index.js +1 -20
- package/lib/commonjs/components/Drawer/Drawer.js +1 -382
- package/lib/commonjs/components/Drawer/index.js +1 -20
- package/lib/commonjs/components/EmptyState/EmptyState.js +1 -236
- package/lib/commonjs/components/EmptyState/index.js +1 -20
- package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js +1 -136
- package/lib/commonjs/components/ErrorBoundary/index.js +1 -27
- package/lib/commonjs/components/ErrorBoundary/useErrorHandler.js +1 -24
- package/lib/commonjs/components/ErrorBoundary/withErrorBoundary.js +1 -28
- package/lib/commonjs/components/FieldBase/Chevron.js +1 -75
- package/lib/commonjs/components/FieldBase/ChoiceText.js +1 -0
- package/lib/commonjs/components/FieldBase/FieldBase.js +1 -804
- package/lib/commonjs/components/FieldBase/index.js +1 -75
- package/lib/commonjs/components/FieldBase/useFloatingLabel.js +1 -181
- package/lib/commonjs/components/FilePicker/FilePicker.js +1 -797
- package/lib/commonjs/components/FilePicker/index.js +1 -26
- package/lib/commonjs/components/FileViewer/FileViewer.js +1 -259
- package/lib/commonjs/components/FileViewer/index.js +1 -13
- package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.js +1 -696
- package/lib/commonjs/components/FloatingActionButton/index.js +1 -26
- package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -90
- package/lib/commonjs/components/ForceUpdateDialog/index.js +1 -20
- package/lib/commonjs/components/FormField/FormField.js +1 -170
- package/lib/commonjs/components/FormField/index.js +1 -20
- package/lib/commonjs/components/IconBadge/IconBadge.js +1 -0
- package/lib/commonjs/components/IconBadge/index.js +1 -0
- package/lib/commonjs/components/IconButton/IconButton.js +1 -198
- package/lib/commonjs/components/IconButton/index.js +1 -13
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -594
- package/lib/commonjs/components/ImageGallery/index.js +1 -20
- package/lib/commonjs/components/InlineSelect/InlineSelect.js +1 -190
- package/lib/commonjs/components/InlineSelect/index.js +1 -20
- package/lib/commonjs/components/Input/Input.js +1 -591
- package/lib/commonjs/components/Input/index.js +1 -20
- package/lib/commonjs/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -168
- package/lib/commonjs/components/KeyboardAwareScrollView/index.js +1 -13
- package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.js +1 -135
- package/lib/commonjs/components/KeyboardToolbar/index.js +1 -13
- package/lib/commonjs/components/ListItem/ListItem.js +1 -344
- package/lib/commonjs/components/ListItem/index.js +1 -20
- package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.js +1 -203
- package/lib/commonjs/components/LoaderOverlay/index.js +1 -25
- package/lib/commonjs/components/Markdown/Markdown.js +1 -276
- package/lib/commonjs/components/Markdown/index.js +1 -13
- package/lib/commonjs/components/Markdown/parse.js +1 -229
- package/lib/commonjs/components/Modal/Modal.js +1 -376
- package/lib/commonjs/components/Modal/index.js +1 -26
- package/lib/commonjs/components/Notation/Notation.js +1 -0
- package/lib/commonjs/components/Notation/index.js +1 -0
- package/lib/commonjs/components/NumberInput/NumberInput.js +1 -386
- package/lib/commonjs/components/NumberInput/index.js +1 -20
- package/lib/commonjs/components/OTPInput/OTPInput.js +1 -448
- package/lib/commonjs/components/OTPInput/index.js +1 -20
- package/lib/commonjs/components/OptionSheet/OptionSheet.js +1 -718
- package/lib/commonjs/components/OptionSheet/index.js +1 -0
- package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.js +1 -574
- package/lib/commonjs/components/PhoneNumberInput/index.js +1 -32
- package/lib/commonjs/components/PickerTrigger/PickerTrigger.js +1 -150
- package/lib/commonjs/components/PickerTrigger/index.js +1 -20
- package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.js +1 -214
- package/lib/commonjs/components/ProfileCompletion/index.js +1 -20
- package/lib/commonjs/components/ProfilePicker/ProfilePicker.js +1 -531
- package/lib/commonjs/components/ProfilePicker/index.js +1 -20
- package/lib/commonjs/components/ProgressBar/ProgressBar.js +1 -202
- package/lib/commonjs/components/ProgressBar/index.js +1 -20
- package/lib/commonjs/components/ProgressRing/ProgressRing.js +1 -191
- package/lib/commonjs/components/ProgressRing/index.js +1 -20
- package/lib/commonjs/components/Radio/Radio.js +1 -127
- package/lib/commonjs/components/Radio/RadioDot.js +1 -108
- package/lib/commonjs/components/Radio/RadioGroup.js +1 -50
- package/lib/commonjs/components/Radio/index.js +1 -46
- package/lib/commonjs/components/Rating/Rating.js +1 -338
- package/lib/commonjs/components/Rating/index.js +1 -20
- package/lib/commonjs/components/Repeater/Repeater.js +1 -166
- package/lib/commonjs/components/Repeater/index.js +1 -20
- package/lib/commonjs/components/RichTextEditor/RichTextEditor.js +1 -314
- package/lib/commonjs/components/RichTextEditor/index.js +1 -20
- package/lib/commonjs/components/RichTextEditor/markdownActions.js +1 -213
- package/lib/commonjs/components/SearchBar/SearchBar.js +1 -244
- package/lib/commonjs/components/SearchBar/index.js +1 -20
- package/lib/commonjs/components/SectionHeader/SectionHeader.js +1 -0
- package/lib/commonjs/components/SectionHeader/index.js +1 -0
- package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +1 -320
- package/lib/commonjs/components/SegmentedControl/index.js +1 -20
- package/lib/commonjs/components/Select/Select.js +1 -277
- package/lib/commonjs/components/Select/index.js +1 -20
- package/lib/commonjs/components/Skeleton/Skeleton.js +1 -285
- package/lib/commonjs/components/Skeleton/SkeletonClock.js +1 -118
- package/lib/commonjs/components/Skeleton/SkeletonContent.js +1 -309
- package/lib/commonjs/components/Skeleton/SkeletonList.js +1 -92
- package/lib/commonjs/components/Skeleton/SkeletonProvider.js +1 -114
- package/lib/commonjs/components/Skeleton/SkeletonSkip.js +1 -37
- package/lib/commonjs/components/Skeleton/index.js +1 -85
- package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.js +1 -262
- package/lib/commonjs/components/SlideToConfirm/index.js +1 -13
- package/lib/commonjs/components/Slider/Slider.js +1 -809
- package/lib/commonjs/components/Slider/index.js +1 -20
- package/lib/commonjs/components/Slider/valueText.js +1 -266
- package/lib/commonjs/components/SliderField/SliderField.js +1 -360
- package/lib/commonjs/components/SliderField/index.js +1 -20
- package/lib/commonjs/components/Spinner/Spinner.js +1 -203
- package/lib/commonjs/components/Spinner/index.js +1 -20
- package/lib/commonjs/components/SquircleFill/SquircleFill.js +1 -116
- package/lib/commonjs/components/StatTile/StatTile.js +1 -0
- package/lib/commonjs/components/StatTile/index.js +1 -0
- package/lib/commonjs/components/StatusBadge/StatusBadge.js +1 -233
- package/lib/commonjs/components/StatusBadge/index.js +1 -20
- package/lib/commonjs/components/Stepper/Stepper.js +1 -779
- package/lib/commonjs/components/Stepper/index.js +1 -20
- package/lib/commonjs/components/Swipeable/Swipeable.js +1 -383
- package/lib/commonjs/components/Swipeable/index.js +1 -20
- package/lib/commonjs/components/Switch/Switch.js +1 -233
- package/lib/commonjs/components/Switch/index.js +1 -20
- package/lib/commonjs/components/Tabs/Tabs.js +1 -428
- package/lib/commonjs/components/Tabs/index.js +1 -20
- package/lib/commonjs/components/TagInput/TagInput.js +1 -185
- package/lib/commonjs/components/TagInput/index.js +1 -20
- package/lib/commonjs/components/Text/Text.js +1 -146
- package/lib/commonjs/components/Text/index.js +1 -13
- package/lib/commonjs/components/TimePicker/TimePicker.js +1 -732
- package/lib/commonjs/components/TimePicker/index.js +1 -20
- package/lib/commonjs/components/Timeline/Timeline.js +1 -263
- package/lib/commonjs/components/Timeline/index.js +1 -20
- package/lib/commonjs/components/Toast/Toast.js +1 -326
- package/lib/commonjs/components/Toast/ToastProvider.js +1 -200
- package/lib/commonjs/components/Toast/index.js +1 -39
- package/lib/commonjs/components/Tooltip/Tooltip.js +1 -412
- package/lib/commonjs/components/Tooltip/index.js +1 -20
- package/lib/commonjs/components/Tour/Tour.js +1 -342
- package/lib/commonjs/components/Tour/index.js +1 -20
- package/lib/commonjs/components/ZoomableImage/ZoomableImage.js +1 -204
- package/lib/commonjs/components/ZoomableImage/index.js +1 -13
- package/lib/commonjs/components/index.js +1 -748
- package/lib/commonjs/form/FormContext.js +1 -52
- package/lib/commonjs/form/HookFormField.js +1 -0
- package/lib/commonjs/form/equal.js +1 -56
- package/lib/commonjs/form/index.js +1 -81
- package/lib/commonjs/form/path.js +1 -91
- package/lib/commonjs/form/rules.js +1 -73
- package/lib/commonjs/form/types.js +1 -2
- package/lib/commonjs/form/useField.js +1 -66
- package/lib/commonjs/form/useForm.js +1 -379
- package/lib/commonjs/form/useFormCompletion.js +1 -73
- package/lib/commonjs/form/useHookFormField.js +1 -0
- package/lib/commonjs/hooks/index.js +1 -85
- package/lib/commonjs/hooks/useControllableState.js +1 -32
- package/lib/commonjs/hooks/useDebounce.js +1 -17
- package/lib/commonjs/hooks/useDragToDismiss.js +1 -142
- package/lib/commonjs/hooks/useFlickGuard.js +1 -60
- package/lib/commonjs/hooks/usePressAnimation.js +1 -130
- package/lib/commonjs/hooks/useReducedMotion.js +1 -33
- package/lib/commonjs/hooks/useToggle.js +1 -22
- package/lib/commonjs/index.js +1 -468
- package/lib/commonjs/initUI.js +1 -24
- package/lib/commonjs/network/NetworkStatusBanner.js +1 -89
- package/lib/commonjs/network/index.js +1 -13
- package/lib/commonjs/specs/NativePdfRasterizer.js +1 -9
- package/lib/commonjs/theme/Gradient.js +1 -59
- package/lib/commonjs/theme/ThemeContext.js +1 -101
- package/lib/commonjs/theme/animatedValue.js +1 -69
- package/lib/commonjs/theme/index.js +1 -149
- package/lib/commonjs/theme/merge.js +1 -30
- package/lib/commonjs/theme/textStyle.js +1 -39
- package/lib/commonjs/theme/tokens.js +1 -706
- package/lib/commonjs/theme/types.js +1 -6
- package/lib/commonjs/utils/color.js +1 -58
- package/lib/commonjs/utils/corners.js +1 -22
- package/lib/commonjs/utils/dimensions.js +1 -37
- package/lib/commonjs/utils/feedback.js +1 -76
- package/lib/commonjs/utils/hapticUtils.js +1 -94
- package/lib/commonjs/utils/hashString.js +1 -22
- package/lib/commonjs/utils/index.js +1 -178
- package/lib/commonjs/utils/mergeRefs.js +1 -24
- package/lib/commonjs/utils/responsive.js +1 -104
- package/lib/commonjs/utils/shadows.js +1 -61
- package/lib/commonjs/utils/spacing.js +1 -86
- package/lib/commonjs/utils/squircle.js +1 -158
- package/lib/commonjs/utils/warnUnknownProps.js +1 -46
- package/lib/module/components/Accordion/Accordion.js +1 -337
- package/lib/module/components/Accordion/index.js +1 -4
- package/lib/module/components/AmountSlider/AmountSlider.js +1 -205
- package/lib/module/components/AmountSlider/index.js +1 -4
- package/lib/module/components/AnimatePresence/AnimatePresence.js +1 -65
- package/lib/module/components/AnimatePresence/index.js +1 -4
- package/lib/module/components/AppBar/AppBar.js +1 -354
- package/lib/module/components/AppBar/index.js +1 -4
- package/lib/module/components/AppIcon/AppIcon.js +1 -136
- package/lib/module/components/AppIcon/catalog/bold/a.g.js +1 -80
- package/lib/module/components/AppIcon/catalog/bold/b.g.js +1 -85
- package/lib/module/components/AppIcon/catalog/bold/c.g.js +1 -114
- package/lib/module/components/AppIcon/catalog/bold/d.g.js +1 -64
- package/lib/module/components/AppIcon/catalog/bold/e.g.js +1 -42
- package/lib/module/components/AppIcon/catalog/bold/f.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/bold/g.g.js +1 -50
- package/lib/module/components/AppIcon/catalog/bold/h.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/bold/i.g.js +1 -27
- package/lib/module/components/AppIcon/catalog/bold/j.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/bold/k.g.js +1 -16
- package/lib/module/components/AppIcon/catalog/bold/l.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/bold/m.g.js +1 -101
- package/lib/module/components/AppIcon/catalog/bold/n.g.js +1 -30
- package/lib/module/components/AppIcon/catalog/bold/o.g.js +1 -17
- package/lib/module/components/AppIcon/catalog/bold/p.g.js +1 -56
- package/lib/module/components/AppIcon/catalog/bold/q.g.js +1 -18
- package/lib/module/components/AppIcon/catalog/bold/r.g.js +1 -55
- package/lib/module/components/AppIcon/catalog/bold/s.g.js +1 -109
- package/lib/module/components/AppIcon/catalog/bold/t.g.js +1 -70
- package/lib/module/components/AppIcon/catalog/bold/u.g.js +1 -24
- package/lib/module/components/AppIcon/catalog/bold/v.g.js +1 -36
- package/lib/module/components/AppIcon/catalog/bold/w.g.js +1 -37
- package/lib/module/components/AppIcon/catalog/bold/x.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/bold/y.g.js +1 -12
- package/lib/module/components/AppIcon/catalog/bold/z.g.js +1 -13
- package/lib/module/components/AppIcon/catalog/broken/a.g.js +1 -80
- package/lib/module/components/AppIcon/catalog/broken/b.g.js +1 -85
- package/lib/module/components/AppIcon/catalog/broken/c.g.js +1 -114
- package/lib/module/components/AppIcon/catalog/broken/d.g.js +1 -64
- package/lib/module/components/AppIcon/catalog/broken/e.g.js +1 -42
- package/lib/module/components/AppIcon/catalog/broken/f.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/broken/g.g.js +1 -50
- package/lib/module/components/AppIcon/catalog/broken/h.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/broken/i.g.js +1 -27
- package/lib/module/components/AppIcon/catalog/broken/j.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/broken/k.g.js +1 -16
- package/lib/module/components/AppIcon/catalog/broken/l.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/broken/m.g.js +1 -101
- package/lib/module/components/AppIcon/catalog/broken/n.g.js +1 -30
- package/lib/module/components/AppIcon/catalog/broken/o.g.js +1 -17
- package/lib/module/components/AppIcon/catalog/broken/p.g.js +1 -56
- package/lib/module/components/AppIcon/catalog/broken/q.g.js +1 -18
- package/lib/module/components/AppIcon/catalog/broken/r.g.js +1 -55
- package/lib/module/components/AppIcon/catalog/broken/s.g.js +1 -109
- package/lib/module/components/AppIcon/catalog/broken/t.g.js +1 -70
- package/lib/module/components/AppIcon/catalog/broken/u.g.js +1 -24
- package/lib/module/components/AppIcon/catalog/broken/v.g.js +1 -36
- package/lib/module/components/AppIcon/catalog/broken/w.g.js +1 -37
- package/lib/module/components/AppIcon/catalog/broken/x.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/broken/y.g.js +1 -12
- package/lib/module/components/AppIcon/catalog/broken/z.g.js +1 -13
- package/lib/module/components/AppIcon/catalog/bulk/a.g.js +1 -80
- package/lib/module/components/AppIcon/catalog/bulk/b.g.js +1 -85
- package/lib/module/components/AppIcon/catalog/bulk/c.g.js +1 -114
- package/lib/module/components/AppIcon/catalog/bulk/d.g.js +1 -64
- package/lib/module/components/AppIcon/catalog/bulk/e.g.js +1 -42
- package/lib/module/components/AppIcon/catalog/bulk/f.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/bulk/g.g.js +1 -50
- package/lib/module/components/AppIcon/catalog/bulk/h.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/bulk/i.g.js +1 -27
- package/lib/module/components/AppIcon/catalog/bulk/j.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/bulk/k.g.js +1 -16
- package/lib/module/components/AppIcon/catalog/bulk/l.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/bulk/m.g.js +1 -101
- package/lib/module/components/AppIcon/catalog/bulk/n.g.js +1 -30
- package/lib/module/components/AppIcon/catalog/bulk/o.g.js +1 -17
- package/lib/module/components/AppIcon/catalog/bulk/p.g.js +1 -56
- package/lib/module/components/AppIcon/catalog/bulk/q.g.js +1 -18
- package/lib/module/components/AppIcon/catalog/bulk/r.g.js +1 -55
- package/lib/module/components/AppIcon/catalog/bulk/s.g.js +1 -109
- package/lib/module/components/AppIcon/catalog/bulk/t.g.js +1 -70
- package/lib/module/components/AppIcon/catalog/bulk/u.g.js +1 -24
- package/lib/module/components/AppIcon/catalog/bulk/v.g.js +1 -36
- package/lib/module/components/AppIcon/catalog/bulk/w.g.js +1 -37
- package/lib/module/components/AppIcon/catalog/bulk/x.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/bulk/y.g.js +1 -12
- package/lib/module/components/AppIcon/catalog/bulk/z.g.js +1 -13
- package/lib/module/components/AppIcon/catalog/linear/a.g.js +1 -80
- package/lib/module/components/AppIcon/catalog/linear/b.g.js +1 -85
- package/lib/module/components/AppIcon/catalog/linear/c.g.js +1 -114
- package/lib/module/components/AppIcon/catalog/linear/d.g.js +1 -64
- package/lib/module/components/AppIcon/catalog/linear/e.g.js +1 -42
- package/lib/module/components/AppIcon/catalog/linear/f.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/linear/g.g.js +1 -50
- package/lib/module/components/AppIcon/catalog/linear/h.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/linear/i.g.js +1 -27
- package/lib/module/components/AppIcon/catalog/linear/j.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/linear/k.g.js +1 -16
- package/lib/module/components/AppIcon/catalog/linear/l.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/linear/m.g.js +1 -101
- package/lib/module/components/AppIcon/catalog/linear/n.g.js +1 -30
- package/lib/module/components/AppIcon/catalog/linear/o.g.js +1 -17
- package/lib/module/components/AppIcon/catalog/linear/p.g.js +1 -56
- package/lib/module/components/AppIcon/catalog/linear/q.g.js +1 -18
- package/lib/module/components/AppIcon/catalog/linear/r.g.js +1 -55
- package/lib/module/components/AppIcon/catalog/linear/s.g.js +1 -109
- package/lib/module/components/AppIcon/catalog/linear/t.g.js +1 -70
- package/lib/module/components/AppIcon/catalog/linear/u.g.js +1 -24
- package/lib/module/components/AppIcon/catalog/linear/v.g.js +1 -36
- package/lib/module/components/AppIcon/catalog/linear/w.g.js +1 -37
- package/lib/module/components/AppIcon/catalog/linear/x.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/linear/y.g.js +1 -12
- package/lib/module/components/AppIcon/catalog/linear/z.g.js +1 -13
- package/lib/module/components/AppIcon/catalog/outline/a.g.js +1 -80
- package/lib/module/components/AppIcon/catalog/outline/b.g.js +1 -85
- package/lib/module/components/AppIcon/catalog/outline/c.g.js +1 -114
- package/lib/module/components/AppIcon/catalog/outline/d.g.js +1 -64
- package/lib/module/components/AppIcon/catalog/outline/e.g.js +1 -42
- package/lib/module/components/AppIcon/catalog/outline/f.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/outline/g.g.js +1 -50
- package/lib/module/components/AppIcon/catalog/outline/h.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/outline/i.g.js +1 -27
- package/lib/module/components/AppIcon/catalog/outline/j.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/outline/k.g.js +1 -16
- package/lib/module/components/AppIcon/catalog/outline/l.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/outline/m.g.js +1 -101
- package/lib/module/components/AppIcon/catalog/outline/n.g.js +1 -30
- package/lib/module/components/AppIcon/catalog/outline/o.g.js +1 -17
- package/lib/module/components/AppIcon/catalog/outline/p.g.js +1 -56
- package/lib/module/components/AppIcon/catalog/outline/q.g.js +1 -18
- package/lib/module/components/AppIcon/catalog/outline/r.g.js +1 -55
- package/lib/module/components/AppIcon/catalog/outline/s.g.js +1 -109
- package/lib/module/components/AppIcon/catalog/outline/t.g.js +1 -70
- package/lib/module/components/AppIcon/catalog/outline/u.g.js +1 -24
- package/lib/module/components/AppIcon/catalog/outline/v.g.js +1 -36
- package/lib/module/components/AppIcon/catalog/outline/w.g.js +1 -37
- package/lib/module/components/AppIcon/catalog/outline/x.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/outline/y.g.js +1 -12
- package/lib/module/components/AppIcon/catalog/outline/z.g.js +1 -13
- package/lib/module/components/AppIcon/catalog/twotone/a.g.js +1 -80
- package/lib/module/components/AppIcon/catalog/twotone/b.g.js +1 -85
- package/lib/module/components/AppIcon/catalog/twotone/c.g.js +1 -114
- package/lib/module/components/AppIcon/catalog/twotone/d.g.js +1 -64
- package/lib/module/components/AppIcon/catalog/twotone/e.g.js +1 -42
- package/lib/module/components/AppIcon/catalog/twotone/f.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/twotone/g.g.js +1 -50
- package/lib/module/components/AppIcon/catalog/twotone/h.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/twotone/i.g.js +1 -27
- package/lib/module/components/AppIcon/catalog/twotone/j.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/twotone/k.g.js +1 -16
- package/lib/module/components/AppIcon/catalog/twotone/l.g.js +1 -48
- package/lib/module/components/AppIcon/catalog/twotone/m.g.js +1 -101
- package/lib/module/components/AppIcon/catalog/twotone/n.g.js +1 -30
- package/lib/module/components/AppIcon/catalog/twotone/o.g.js +1 -17
- package/lib/module/components/AppIcon/catalog/twotone/p.g.js +1 -56
- package/lib/module/components/AppIcon/catalog/twotone/q.g.js +1 -18
- package/lib/module/components/AppIcon/catalog/twotone/r.g.js +1 -55
- package/lib/module/components/AppIcon/catalog/twotone/s.g.js +1 -109
- package/lib/module/components/AppIcon/catalog/twotone/t.g.js +1 -70
- package/lib/module/components/AppIcon/catalog/twotone/u.g.js +1 -24
- package/lib/module/components/AppIcon/catalog/twotone/v.g.js +1 -36
- package/lib/module/components/AppIcon/catalog/twotone/w.g.js +1 -37
- package/lib/module/components/AppIcon/catalog/twotone/x.g.js +1 -14
- package/lib/module/components/AppIcon/catalog/twotone/y.g.js +1 -12
- package/lib/module/components/AppIcon/catalog/twotone/z.g.js +1 -13
- package/lib/module/components/AppIcon/catalog.g.js +1 -183
- package/lib/module/components/AppIcon/defaultIcons.js +1 -79
- package/lib/module/components/AppIcon/glyphs.g.js +1 -156
- package/lib/module/components/AppIcon/index.js +1 -6
- package/lib/module/components/AppIcon/slotIcon.js +1 -62
- package/lib/module/components/AppIcon/variants.g.js +1 -737
- package/lib/module/components/AsyncBlock/AsyncBlock.js +1 -81
- package/lib/module/components/AsyncBlock/index.js +1 -4
- package/lib/module/components/AuthedImage/AuthedImage.js +1 -226
- package/lib/module/components/AuthedImage/authedImageCache.js +1 -337
- package/lib/module/components/AuthedImage/index.js +1 -5
- package/lib/module/components/Autocomplete/Autocomplete.js +1 -222
- package/lib/module/components/Autocomplete/index.js +1 -4
- package/lib/module/components/Avatar/Avatar.js +1 -496
- package/lib/module/components/Avatar/index.js +1 -4
- package/lib/module/components/Badge/Badge.js +1 -294
- package/lib/module/components/Badge/index.js +1 -4
- package/lib/module/components/Banner/Banner.js +1 -397
- package/lib/module/components/Banner/index.js +1 -4
- package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -889
- package/lib/module/components/BottomNavigation/index.js +1 -4
- package/lib/module/components/BottomSheet/BottomSheet.js +1 -727
- package/lib/module/components/BottomSheet/index.js +1 -4
- package/lib/module/components/Box/Box.js +1 -220
- package/lib/module/components/Box/index.js +1 -4
- package/lib/module/components/Button/Button.js +1 -557
- package/lib/module/components/Button/index.js +1 -4
- package/lib/module/components/Card/Card.js +1 -403
- package/lib/module/components/Card/index.js +1 -4
- package/lib/module/components/Carousel/Carousel.js +1 -583
- package/lib/module/components/Carousel/index.js +1 -4
- package/lib/module/components/Checkbox/Checkbox.js +1 -184
- package/lib/module/components/Checkbox/index.js +1 -4
- package/lib/module/components/Chip/Chip.js +1 -354
- package/lib/module/components/Chip/index.js +1 -4
- package/lib/module/components/ChoiceGroup/ChoiceGroup.js +1 -332
- package/lib/module/components/ChoiceGroup/index.js +1 -4
- package/lib/module/components/Confetti/Confetti.js +1 -377
- package/lib/module/components/Confetti/index.js +1 -4
- package/lib/module/components/DatePicker/DatePicker.js +1 -1049
- package/lib/module/components/DatePicker/index.js +1 -4
- package/lib/module/components/DateRangePicker/DateRangePicker.js +1 -791
- package/lib/module/components/DateRangePicker/index.js +1 -4
- package/lib/module/components/DecimalInput/DecimalInput.js +1 -0
- package/lib/module/components/DecimalInput/index.js +1 -0
- package/lib/module/components/Descriptions/Descriptions.js +1 -101
- package/lib/module/components/Descriptions/index.js +1 -4
- package/lib/module/components/Dialog/Dialog.js +1 -243
- package/lib/module/components/Dialog/index.js +1 -4
- package/lib/module/components/Divider/Divider.js +1 -114
- package/lib/module/components/Divider/index.js +1 -4
- package/lib/module/components/Drawer/Drawer.js +1 -378
- package/lib/module/components/Drawer/index.js +1 -4
- package/lib/module/components/EmptyState/EmptyState.js +1 -232
- package/lib/module/components/EmptyState/index.js +1 -4
- package/lib/module/components/ErrorBoundary/ErrorBoundary.js +1 -130
- package/lib/module/components/ErrorBoundary/index.js +1 -6
- package/lib/module/components/ErrorBoundary/useErrorHandler.js +1 -20
- package/lib/module/components/ErrorBoundary/withErrorBoundary.js +1 -23
- package/lib/module/components/FieldBase/Chevron.js +1 -69
- package/lib/module/components/FieldBase/ChoiceText.js +1 -0
- package/lib/module/components/FieldBase/FieldBase.js +1 -790
- package/lib/module/components/FieldBase/index.js +1 -5
- package/lib/module/components/FieldBase/useFloatingLabel.js +1 -177
- package/lib/module/components/FilePicker/FilePicker.js +1 -791
- package/lib/module/components/FilePicker/index.js +1 -4
- package/lib/module/components/FileViewer/FileViewer.js +1 -253
- package/lib/module/components/FileViewer/index.js +1 -4
- package/lib/module/components/FloatingActionButton/FloatingActionButton.js +1 -691
- package/lib/module/components/FloatingActionButton/index.js +1 -4
- package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -84
- package/lib/module/components/ForceUpdateDialog/index.js +1 -4
- package/lib/module/components/FormField/FormField.js +1 -166
- package/lib/module/components/FormField/index.js +1 -4
- package/lib/module/components/IconBadge/IconBadge.js +1 -0
- package/lib/module/components/IconBadge/index.js +1 -0
- package/lib/module/components/IconButton/IconButton.js +1 -194
- package/lib/module/components/IconButton/index.js +1 -4
- package/lib/module/components/ImageGallery/ImageGallery.js +1 -589
- package/lib/module/components/ImageGallery/index.js +1 -4
- package/lib/module/components/InlineSelect/InlineSelect.js +1 -186
- package/lib/module/components/InlineSelect/index.js +1 -4
- package/lib/module/components/Input/Input.js +1 -587
- package/lib/module/components/Input/index.js +1 -4
- package/lib/module/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -164
- package/lib/module/components/KeyboardAwareScrollView/index.js +1 -4
- package/lib/module/components/KeyboardToolbar/KeyboardToolbar.js +1 -130
- package/lib/module/components/KeyboardToolbar/index.js +1 -4
- package/lib/module/components/ListItem/ListItem.js +1 -340
- package/lib/module/components/ListItem/index.js +1 -4
- package/lib/module/components/LoaderOverlay/LoaderOverlay.js +1 -196
- package/lib/module/components/LoaderOverlay/index.js +1 -4
- package/lib/module/components/Markdown/Markdown.js +1 -270
- package/lib/module/components/Markdown/index.js +1 -4
- package/lib/module/components/Markdown/parse.js +1 -223
- package/lib/module/components/Modal/Modal.js +1 -372
- package/lib/module/components/Modal/index.js +1 -4
- package/lib/module/components/Notation/Notation.js +1 -0
- package/lib/module/components/Notation/index.js +1 -0
- package/lib/module/components/NumberInput/NumberInput.js +1 -382
- package/lib/module/components/NumberInput/index.js +1 -4
- package/lib/module/components/OTPInput/OTPInput.js +1 -445
- package/lib/module/components/OTPInput/index.js +1 -4
- package/lib/module/components/OptionSheet/OptionSheet.js +1 -714
- package/lib/module/components/OptionSheet/index.js +1 -0
- package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -569
- package/lib/module/components/PhoneNumberInput/index.js +1 -4
- package/lib/module/components/PickerTrigger/PickerTrigger.js +1 -146
- package/lib/module/components/PickerTrigger/index.js +1 -4
- package/lib/module/components/ProfileCompletion/ProfileCompletion.js +1 -211
- package/lib/module/components/ProfileCompletion/index.js +1 -4
- package/lib/module/components/ProfilePicker/ProfilePicker.js +1 -526
- package/lib/module/components/ProfilePicker/index.js +1 -4
- package/lib/module/components/ProgressBar/ProgressBar.js +1 -199
- package/lib/module/components/ProgressBar/index.js +1 -4
- package/lib/module/components/ProgressRing/ProgressRing.js +1 -187
- package/lib/module/components/ProgressRing/index.js +1 -4
- package/lib/module/components/Radio/Radio.js +1 -123
- package/lib/module/components/Radio/RadioDot.js +1 -102
- package/lib/module/components/Radio/RadioGroup.js +1 -45
- package/lib/module/components/Radio/index.js +1 -6
- package/lib/module/components/Rating/Rating.js +1 -334
- package/lib/module/components/Rating/index.js +1 -4
- package/lib/module/components/Repeater/Repeater.js +1 -162
- package/lib/module/components/Repeater/index.js +1 -4
- package/lib/module/components/RichTextEditor/RichTextEditor.js +1 -309
- package/lib/module/components/RichTextEditor/index.js +1 -5
- package/lib/module/components/RichTextEditor/markdownActions.js +1 -207
- package/lib/module/components/SearchBar/SearchBar.js +1 -241
- package/lib/module/components/SearchBar/index.js +1 -4
- package/lib/module/components/SectionHeader/SectionHeader.js +1 -0
- package/lib/module/components/SectionHeader/index.js +1 -0
- package/lib/module/components/SegmentedControl/SegmentedControl.js +1 -317
- package/lib/module/components/SegmentedControl/index.js +1 -4
- package/lib/module/components/Select/Select.js +1 -273
- package/lib/module/components/Select/index.js +1 -4
- package/lib/module/components/Skeleton/Skeleton.js +1 -278
- package/lib/module/components/Skeleton/SkeletonClock.js +1 -111
- package/lib/module/components/Skeleton/SkeletonContent.js +1 -304
- package/lib/module/components/Skeleton/SkeletonList.js +1 -87
- package/lib/module/components/Skeleton/SkeletonProvider.js +1 -106
- package/lib/module/components/Skeleton/SkeletonSkip.js +1 -31
- package/lib/module/components/Skeleton/index.js +1 -9
- package/lib/module/components/SlideToConfirm/SlideToConfirm.js +1 -258
- package/lib/module/components/SlideToConfirm/index.js +1 -4
- package/lib/module/components/Slider/Slider.js +1 -805
- package/lib/module/components/Slider/index.js +1 -4
- package/lib/module/components/Slider/valueText.js +1 -258
- package/lib/module/components/SliderField/SliderField.js +1 -357
- package/lib/module/components/SliderField/index.js +1 -4
- package/lib/module/components/Spinner/Spinner.js +1 -199
- package/lib/module/components/Spinner/index.js +1 -4
- package/lib/module/components/SquircleFill/SquircleFill.js +1 -110
- package/lib/module/components/StatTile/StatTile.js +1 -0
- package/lib/module/components/StatTile/index.js +1 -0
- package/lib/module/components/StatusBadge/StatusBadge.js +1 -229
- package/lib/module/components/StatusBadge/index.js +1 -4
- package/lib/module/components/Stepper/Stepper.js +1 -775
- package/lib/module/components/Stepper/index.js +1 -4
- package/lib/module/components/Swipeable/Swipeable.js +1 -378
- package/lib/module/components/Swipeable/index.js +1 -4
- package/lib/module/components/Switch/Switch.js +1 -230
- package/lib/module/components/Switch/index.js +1 -4
- package/lib/module/components/Tabs/Tabs.js +1 -425
- package/lib/module/components/Tabs/index.js +1 -4
- package/lib/module/components/TagInput/TagInput.js +1 -181
- package/lib/module/components/TagInput/index.js +1 -4
- package/lib/module/components/Text/Text.js +1 -142
- package/lib/module/components/Text/index.js +1 -4
- package/lib/module/components/TimePicker/TimePicker.js +1 -726
- package/lib/module/components/TimePicker/index.js +1 -4
- package/lib/module/components/Timeline/Timeline.js +1 -257
- package/lib/module/components/Timeline/index.js +1 -4
- package/lib/module/components/Toast/Toast.js +1 -321
- package/lib/module/components/Toast/ToastProvider.js +1 -192
- package/lib/module/components/Toast/index.js +1 -5
- package/lib/module/components/Tooltip/Tooltip.js +1 -407
- package/lib/module/components/Tooltip/index.js +1 -4
- package/lib/module/components/Tour/Tour.js +1 -338
- package/lib/module/components/Tour/index.js +1 -4
- package/lib/module/components/ZoomableImage/ZoomableImage.js +1 -198
- package/lib/module/components/ZoomableImage/index.js +1 -4
- package/lib/module/components/index.js +1 -79
- package/lib/module/form/FormContext.js +1 -44
- package/lib/module/form/HookFormField.js +1 -0
- package/lib/module/form/equal.js +1 -51
- package/lib/module/form/index.js +1 -17
- package/lib/module/form/path.js +1 -84
- package/lib/module/form/rules.js +1 -59
- package/lib/module/form/types.js +0 -2
- package/lib/module/form/useField.js +1 -61
- package/lib/module/form/useForm.js +1 -375
- package/lib/module/form/useFormCompletion.js +1 -67
- package/lib/module/form/useHookFormField.js +1 -0
- package/lib/module/hooks/index.js +1 -10
- package/lib/module/hooks/useControllableState.js +1 -28
- package/lib/module/hooks/useDebounce.js +1 -12
- package/lib/module/hooks/useDragToDismiss.js +1 -137
- package/lib/module/hooks/useFlickGuard.js +1 -55
- package/lib/module/hooks/usePressAnimation.js +1 -126
- package/lib/module/hooks/useReducedMotion.js +1 -29
- package/lib/module/hooks/useToggle.js +1 -17
- package/lib/module/index.js +1 -18
- package/lib/module/initUI.js +1 -19
- package/lib/module/network/NetworkStatusBanner.js +1 -83
- package/lib/module/network/index.js +1 -4
- package/lib/module/specs/NativePdfRasterizer.js +1 -5
- package/lib/module/theme/Gradient.js +1 -52
- package/lib/module/theme/ThemeContext.js +1 -93
- package/lib/module/theme/animatedValue.js +1 -64
- package/lib/module/theme/index.js +1 -67
- package/lib/module/theme/merge.js +1 -25
- package/lib/module/theme/textStyle.js +1 -34
- package/lib/module/theme/tokens.js +1 -702
- package/lib/module/theme/types.js +1 -4
- package/lib/module/utils/color.js +1 -52
- package/lib/module/utils/corners.js +1 -18
- package/lib/module/utils/dimensions.js +1 -4
- package/lib/module/utils/feedback.js +1 -70
- package/lib/module/utils/hapticUtils.js +1 -86
- package/lib/module/utils/hashString.js +1 -17
- package/lib/module/utils/index.js +1 -13
- package/lib/module/utils/mergeRefs.js +1 -19
- package/lib/module/utils/responsive.js +1 -97
- package/lib/module/utils/shadows.js +1 -54
- package/lib/module/utils/spacing.js +1 -82
- package/lib/module/utils/squircle.js +1 -151
- package/lib/module/utils/warnUnknownProps.js +1 -42
- package/lib/typescript/commonjs/components/AppBar/AppBar.d.ts +42 -1
- package/lib/typescript/commonjs/components/AppIcon/AppIcon.d.ts +15 -2
- package/lib/typescript/commonjs/components/AppIcon/catalog.g.d.ts +1 -1
- package/lib/typescript/commonjs/components/AppIcon/glyphs.g.d.ts +62 -0
- package/lib/typescript/commonjs/components/AppIcon/index.d.ts +2 -2
- package/lib/typescript/commonjs/components/AppIcon/slotIcon.d.ts +9 -5
- package/lib/typescript/commonjs/components/AsyncBlock/AsyncBlock.d.ts +17 -1
- package/lib/typescript/commonjs/components/AsyncBlock/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/AuthedImage/AuthedImage.d.ts +17 -2
- package/lib/typescript/commonjs/components/AuthedImage/authedImageCache.d.ts +12 -0
- package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +8 -5
- package/lib/typescript/commonjs/components/Banner/Banner.d.ts +28 -1
- package/lib/typescript/commonjs/components/Banner/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +44 -2
- package/lib/typescript/commonjs/components/BottomSheet/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/Button/Button.d.ts +6 -0
- package/lib/typescript/commonjs/components/Card/Card.d.ts +31 -1
- package/lib/typescript/commonjs/components/Card/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +22 -4
- package/lib/typescript/commonjs/components/Chip/Chip.d.ts +19 -1
- package/lib/typescript/commonjs/components/Chip/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/ChoiceGroup/ChoiceGroup.d.ts +31 -7
- package/lib/typescript/commonjs/components/ChoiceGroup/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/DecimalInput/DecimalInput.d.ts +56 -0
- package/lib/typescript/commonjs/components/DecimalInput/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/Descriptions/Descriptions.d.ts +15 -2
- package/lib/typescript/commonjs/components/Descriptions/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +6 -2
- package/lib/typescript/commonjs/components/EmptyState/EmptyState.d.ts +6 -0
- package/lib/typescript/commonjs/components/FieldBase/ChoiceText.d.ts +24 -0
- package/lib/typescript/commonjs/components/FieldBase/FieldBase.d.ts +24 -4
- package/lib/typescript/commonjs/components/FieldBase/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/FieldBase/useFloatingLabel.d.ts +3 -1
- package/lib/typescript/commonjs/components/FormField/FormField.d.ts +15 -5
- package/lib/typescript/commonjs/components/IconBadge/IconBadge.d.ts +30 -0
- package/lib/typescript/commonjs/components/IconBadge/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/IconButton/IconButton.d.ts +15 -8
- package/lib/typescript/commonjs/components/Input/Input.d.ts +33 -3
- package/lib/typescript/commonjs/components/KeyboardAwareScrollView/KeyboardAwareScrollView.d.ts +19 -22
- package/lib/typescript/commonjs/components/KeyboardAwareScrollView/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/KeyboardToolbar/KeyboardToolbar.d.ts +15 -10
- package/lib/typescript/commonjs/components/ListItem/ListItem.d.ts +39 -2
- package/lib/typescript/commonjs/components/ListItem/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/Notation/Notation.d.ts +27 -0
- package/lib/typescript/commonjs/components/Notation/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/NumberInput/NumberInput.d.ts +11 -3
- package/lib/typescript/commonjs/components/OTPInput/OTPInput.d.ts +6 -0
- package/lib/typescript/commonjs/components/OptionSheet/OptionSheet.d.ts +11 -1
- package/lib/typescript/commonjs/components/OptionSheet/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/PhoneNumberInput/PhoneNumberInput.d.ts +43 -7
- package/lib/typescript/commonjs/components/PhoneNumberInput/index.d.ts +2 -2
- package/lib/typescript/commonjs/components/PickerTrigger/PickerTrigger.d.ts +8 -6
- package/lib/typescript/commonjs/components/ProfilePicker/ProfilePicker.d.ts +3 -3
- package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.d.ts +5 -0
- package/lib/typescript/commonjs/components/Radio/Radio.d.ts +4 -0
- package/lib/typescript/commonjs/components/Repeater/Repeater.d.ts +15 -1
- package/lib/typescript/commonjs/components/SearchBar/SearchBar.d.ts +2 -0
- package/lib/typescript/commonjs/components/SectionHeader/SectionHeader.d.ts +18 -0
- package/lib/typescript/commonjs/components/SectionHeader/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.d.ts +7 -0
- package/lib/typescript/commonjs/components/Select/Select.d.ts +32 -2
- package/lib/typescript/commonjs/components/Slider/valueText.d.ts +3 -0
- package/lib/typescript/commonjs/components/StatTile/StatTile.d.ts +31 -0
- package/lib/typescript/commonjs/components/StatTile/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/Stepper/Stepper.d.ts +7 -0
- package/lib/typescript/commonjs/components/Switch/Switch.d.ts +19 -0
- package/lib/typescript/commonjs/components/Switch/index.d.ts +1 -1
- package/lib/typescript/commonjs/components/Text/Text.d.ts +8 -3
- package/lib/typescript/commonjs/components/Toast/Toast.d.ts +6 -0
- package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +24 -1
- package/lib/typescript/commonjs/components/Toast/index.d.ts +2 -2
- package/lib/typescript/commonjs/components/index.d.ts +26 -14
- package/lib/typescript/commonjs/form/FormContext.d.ts +10 -1
- package/lib/typescript/commonjs/form/HookFormField.d.ts +44 -0
- package/lib/typescript/commonjs/form/index.d.ts +4 -0
- package/lib/typescript/commonjs/form/useField.d.ts +6 -0
- package/lib/typescript/commonjs/form/useForm.d.ts +4 -0
- package/lib/typescript/commonjs/form/useHookFormField.d.ts +32 -0
- package/lib/typescript/commonjs/index.d.ts +5 -5
- package/lib/typescript/commonjs/network/NetworkStatusBanner.d.ts +6 -0
- package/lib/typescript/commonjs/theme/ThemeContext.d.ts +8 -0
- package/lib/typescript/commonjs/theme/index.d.ts +1 -1
- package/lib/typescript/commonjs/theme/types.d.ts +40 -1
- package/lib/typescript/module/components/AppBar/AppBar.d.ts +42 -1
- package/lib/typescript/module/components/AppIcon/AppIcon.d.ts +15 -2
- package/lib/typescript/module/components/AppIcon/catalog.g.d.ts +1 -1
- package/lib/typescript/module/components/AppIcon/glyphs.g.d.ts +62 -0
- package/lib/typescript/module/components/AppIcon/index.d.ts +2 -2
- package/lib/typescript/module/components/AppIcon/slotIcon.d.ts +9 -5
- package/lib/typescript/module/components/AsyncBlock/AsyncBlock.d.ts +17 -1
- package/lib/typescript/module/components/AsyncBlock/index.d.ts +1 -1
- package/lib/typescript/module/components/AuthedImage/AuthedImage.d.ts +17 -2
- package/lib/typescript/module/components/AuthedImage/authedImageCache.d.ts +12 -0
- package/lib/typescript/module/components/Avatar/Avatar.d.ts +8 -5
- package/lib/typescript/module/components/Banner/Banner.d.ts +28 -1
- package/lib/typescript/module/components/Banner/index.d.ts +1 -1
- package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +44 -2
- package/lib/typescript/module/components/BottomSheet/index.d.ts +1 -1
- package/lib/typescript/module/components/Button/Button.d.ts +6 -0
- package/lib/typescript/module/components/Card/Card.d.ts +31 -1
- package/lib/typescript/module/components/Card/index.d.ts +1 -1
- package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +22 -4
- package/lib/typescript/module/components/Chip/Chip.d.ts +19 -1
- package/lib/typescript/module/components/Chip/index.d.ts +1 -1
- package/lib/typescript/module/components/ChoiceGroup/ChoiceGroup.d.ts +31 -7
- package/lib/typescript/module/components/ChoiceGroup/index.d.ts +1 -1
- package/lib/typescript/module/components/DecimalInput/DecimalInput.d.ts +56 -0
- package/lib/typescript/module/components/DecimalInput/index.d.ts +3 -0
- package/lib/typescript/module/components/Descriptions/Descriptions.d.ts +15 -2
- package/lib/typescript/module/components/Descriptions/index.d.ts +1 -1
- package/lib/typescript/module/components/Dialog/Dialog.d.ts +6 -2
- package/lib/typescript/module/components/EmptyState/EmptyState.d.ts +6 -0
- package/lib/typescript/module/components/FieldBase/ChoiceText.d.ts +24 -0
- package/lib/typescript/module/components/FieldBase/FieldBase.d.ts +24 -4
- package/lib/typescript/module/components/FieldBase/index.d.ts +1 -1
- package/lib/typescript/module/components/FieldBase/useFloatingLabel.d.ts +3 -1
- package/lib/typescript/module/components/FormField/FormField.d.ts +15 -5
- package/lib/typescript/module/components/IconBadge/IconBadge.d.ts +30 -0
- package/lib/typescript/module/components/IconBadge/index.d.ts +3 -0
- package/lib/typescript/module/components/IconButton/IconButton.d.ts +15 -8
- package/lib/typescript/module/components/Input/Input.d.ts +33 -3
- package/lib/typescript/module/components/KeyboardAwareScrollView/KeyboardAwareScrollView.d.ts +19 -22
- package/lib/typescript/module/components/KeyboardAwareScrollView/index.d.ts +1 -1
- package/lib/typescript/module/components/KeyboardToolbar/KeyboardToolbar.d.ts +15 -10
- package/lib/typescript/module/components/ListItem/ListItem.d.ts +39 -2
- package/lib/typescript/module/components/ListItem/index.d.ts +1 -1
- package/lib/typescript/module/components/Notation/Notation.d.ts +27 -0
- package/lib/typescript/module/components/Notation/index.d.ts +3 -0
- package/lib/typescript/module/components/NumberInput/NumberInput.d.ts +11 -3
- package/lib/typescript/module/components/OTPInput/OTPInput.d.ts +6 -0
- package/lib/typescript/module/components/OptionSheet/OptionSheet.d.ts +11 -1
- package/lib/typescript/module/components/OptionSheet/index.d.ts +3 -0
- package/lib/typescript/module/components/PhoneNumberInput/PhoneNumberInput.d.ts +43 -7
- package/lib/typescript/module/components/PhoneNumberInput/index.d.ts +2 -2
- package/lib/typescript/module/components/PickerTrigger/PickerTrigger.d.ts +8 -6
- package/lib/typescript/module/components/ProfilePicker/ProfilePicker.d.ts +3 -3
- package/lib/typescript/module/components/ProgressBar/ProgressBar.d.ts +5 -0
- package/lib/typescript/module/components/Radio/Radio.d.ts +4 -0
- package/lib/typescript/module/components/Repeater/Repeater.d.ts +15 -1
- package/lib/typescript/module/components/SearchBar/SearchBar.d.ts +2 -0
- package/lib/typescript/module/components/SectionHeader/SectionHeader.d.ts +18 -0
- package/lib/typescript/module/components/SectionHeader/index.d.ts +3 -0
- package/lib/typescript/module/components/SegmentedControl/SegmentedControl.d.ts +7 -0
- package/lib/typescript/module/components/Select/Select.d.ts +32 -2
- package/lib/typescript/module/components/Slider/valueText.d.ts +3 -0
- package/lib/typescript/module/components/StatTile/StatTile.d.ts +31 -0
- package/lib/typescript/module/components/StatTile/index.d.ts +3 -0
- package/lib/typescript/module/components/Stepper/Stepper.d.ts +7 -0
- package/lib/typescript/module/components/Switch/Switch.d.ts +19 -0
- package/lib/typescript/module/components/Switch/index.d.ts +1 -1
- package/lib/typescript/module/components/Text/Text.d.ts +8 -3
- package/lib/typescript/module/components/Toast/Toast.d.ts +6 -0
- package/lib/typescript/module/components/Toast/ToastProvider.d.ts +24 -1
- package/lib/typescript/module/components/Toast/index.d.ts +2 -2
- package/lib/typescript/module/components/index.d.ts +26 -14
- package/lib/typescript/module/form/FormContext.d.ts +10 -1
- package/lib/typescript/module/form/HookFormField.d.ts +44 -0
- package/lib/typescript/module/form/index.d.ts +4 -0
- package/lib/typescript/module/form/useField.d.ts +6 -0
- package/lib/typescript/module/form/useForm.d.ts +4 -0
- package/lib/typescript/module/form/useHookFormField.d.ts +32 -0
- package/lib/typescript/module/index.d.ts +5 -5
- package/lib/typescript/module/network/NetworkStatusBanner.d.ts +6 -0
- package/lib/typescript/module/theme/ThemeContext.d.ts +8 -0
- package/lib/typescript/module/theme/index.d.ts +1 -1
- package/lib/typescript/module/theme/types.d.ts +40 -1
- package/package.json +14 -5
|
@@ -1,732 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.TimePicker = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
10
|
-
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
11
|
-
var _useDragToDismiss = require("../../hooks/useDragToDismiss.js");
|
|
12
|
-
var _index = require("../../theme/index.js");
|
|
13
|
-
var _corners = require("../../utils/corners.js");
|
|
14
|
-
var _hapticUtils = require("../../utils/hapticUtils.js");
|
|
15
|
-
var _Button = _interopRequireDefault(require("../Button/Button.js"));
|
|
16
|
-
var _PickerTrigger = require("../PickerTrigger/PickerTrigger.js");
|
|
17
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
20
|
-
/**
|
|
21
|
-
* TimePicker supports two modes:
|
|
22
|
-
*
|
|
23
|
-
* 1. Controlled-modal mode — pass `visible`, `onChange`, `onClose`. The
|
|
24
|
-
* component renders only the modal sheet and the caller owns open/close
|
|
25
|
-
* state plus its own trigger UI.
|
|
26
|
-
* 2. Trigger mode — omit `visible`. The component renders a PickerTrigger
|
|
27
|
-
* field (label / value / placeholder / chevron / clear / helper / error)
|
|
28
|
-
* and manages its own modal open state. `onChange` is still called on
|
|
29
|
-
* confirm.
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
|
-
const ITEM_HEIGHT = 40;
|
|
33
|
-
const VISIBLE_ITEMS = 5;
|
|
34
|
-
const PICKER_HEIGHT = ITEM_HEIGHT * VISIBLE_ITEMS;
|
|
35
|
-
const CENTER_OFFSET = Math.floor(VISIBLE_ITEMS / 2);
|
|
36
|
-
const HAPTIC_DEBOUNCE_MS = 35;
|
|
37
|
-
const range = (start, endInclusive, step = 1) => {
|
|
38
|
-
const out = [];
|
|
39
|
-
for (let v = start; v <= endInclusive; v += step) {
|
|
40
|
-
out.push(v);
|
|
41
|
-
}
|
|
42
|
-
return out;
|
|
43
|
-
};
|
|
44
|
-
const pad2 = n => n.toString().padStart(2, '0');
|
|
45
|
-
const to24h = (hour, period, format) => {
|
|
46
|
-
if (format === '24h') {
|
|
47
|
-
return hour;
|
|
48
|
-
}
|
|
49
|
-
if (period === 'AM') {
|
|
50
|
-
return hour === 12 ? 0 : hour;
|
|
51
|
-
}
|
|
52
|
-
return hour === 12 ? 12 : hour + 12;
|
|
53
|
-
};
|
|
54
|
-
const from24h = (hour, format) => {
|
|
55
|
-
if (format === '24h') {
|
|
56
|
-
return {
|
|
57
|
-
displayHour: hour,
|
|
58
|
-
period: 'AM'
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
if (hour === 0) {
|
|
62
|
-
return {
|
|
63
|
-
displayHour: 12,
|
|
64
|
-
period: 'AM'
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
if (hour === 12) {
|
|
68
|
-
return {
|
|
69
|
-
displayHour: 12,
|
|
70
|
-
period: 'PM'
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
if (hour > 12) {
|
|
74
|
-
return {
|
|
75
|
-
displayHour: hour - 12,
|
|
76
|
-
period: 'PM'
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
displayHour: hour,
|
|
81
|
-
period: 'AM'
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
const clampMinuteToStep = (minute, step) => {
|
|
85
|
-
const rounded = Math.round(minute / step) * step;
|
|
86
|
-
return Math.min(59, Math.max(0, rounded));
|
|
87
|
-
};
|
|
88
|
-
const Wheel = ({
|
|
89
|
-
kind,
|
|
90
|
-
label,
|
|
91
|
-
data,
|
|
92
|
-
selectedIndex,
|
|
93
|
-
onIndexChange,
|
|
94
|
-
formatItem,
|
|
95
|
-
theme,
|
|
96
|
-
haptic,
|
|
97
|
-
testID
|
|
98
|
-
}) => {
|
|
99
|
-
const listRef = (0, _react.useRef)(null);
|
|
100
|
-
const scrollY = (0, _react.useRef)((0, _index.createAnimatedValue)(selectedIndex * ITEM_HEIGHT)).current;
|
|
101
|
-
const lastIndexRef = (0, _react.useRef)(selectedIndex);
|
|
102
|
-
const lastHapticAtRef = (0, _react.useRef)(0);
|
|
103
|
-
|
|
104
|
-
// Keep list aligned when selectedIndex changes externally (e.g. value prop, format flip).
|
|
105
|
-
(0, _react.useEffect)(() => {
|
|
106
|
-
if (lastIndexRef.current !== selectedIndex) {
|
|
107
|
-
lastIndexRef.current = selectedIndex;
|
|
108
|
-
const offset = selectedIndex * ITEM_HEIGHT;
|
|
109
|
-
(0, _index.setNativeValue)(scrollY, offset);
|
|
110
|
-
// Defer to next frame so FlatList has measured.
|
|
111
|
-
requestAnimationFrame(() => {
|
|
112
|
-
listRef.current?.scrollToOffset({
|
|
113
|
-
offset,
|
|
114
|
-
animated: false
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}, [selectedIndex, scrollY]);
|
|
119
|
-
const hapticDebounceMs = theme.components.timePicker?.hapticDebounceMs ?? HAPTIC_DEBOUNCE_MS;
|
|
120
|
-
const onScroll = (0, _react.useMemo)(() => _reactNative.Animated.event([{
|
|
121
|
-
nativeEvent: {
|
|
122
|
-
contentOffset: {
|
|
123
|
-
y: scrollY
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}], {
|
|
127
|
-
useNativeDriver: true,
|
|
128
|
-
listener: event => {
|
|
129
|
-
const y = event.nativeEvent.contentOffset.y;
|
|
130
|
-
const idx = Math.round(y / ITEM_HEIGHT);
|
|
131
|
-
if (idx !== lastIndexRef.current && idx >= 0 && idx < data.length) {
|
|
132
|
-
const now = Date.now();
|
|
133
|
-
if (now - lastHapticAtRef.current >= hapticDebounceMs) {
|
|
134
|
-
const h = (0, _hapticUtils.resolveHaptic)(haptic, 'selection');
|
|
135
|
-
if (h) {
|
|
136
|
-
(0, _hapticUtils.triggerHaptic)(h);
|
|
137
|
-
}
|
|
138
|
-
lastHapticAtRef.current = now;
|
|
139
|
-
}
|
|
140
|
-
lastIndexRef.current = idx;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}), [scrollY, data.length, haptic, hapticDebounceMs]);
|
|
144
|
-
const onMomentumScrollEnd = (0, _react.useCallback)(event => {
|
|
145
|
-
const y = event.nativeEvent.contentOffset.y;
|
|
146
|
-
const idx = Math.max(0, Math.min(data.length - 1, Math.round(y / ITEM_HEIGHT)));
|
|
147
|
-
if (idx !== selectedIndex) {
|
|
148
|
-
onIndexChange(idx);
|
|
149
|
-
}
|
|
150
|
-
}, [data.length, onIndexChange, selectedIndex]);
|
|
151
|
-
const handleA11yAction = (0, _react.useCallback)(event => {
|
|
152
|
-
const action = event.nativeEvent.actionName;
|
|
153
|
-
if (action === 'increment') {
|
|
154
|
-
const next = Math.min(data.length - 1, selectedIndex + 1);
|
|
155
|
-
if (next !== selectedIndex) {
|
|
156
|
-
onIndexChange(next);
|
|
157
|
-
}
|
|
158
|
-
} else if (action === 'decrement') {
|
|
159
|
-
const next = Math.max(0, selectedIndex - 1);
|
|
160
|
-
if (next !== selectedIndex) {
|
|
161
|
-
onIndexChange(next);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}, [data.length, onIndexChange, selectedIndex]);
|
|
165
|
-
const renderItem = (0, _react.useCallback)(({
|
|
166
|
-
item,
|
|
167
|
-
index
|
|
168
|
-
}) => {
|
|
169
|
-
const distance = _reactNative.Animated.subtract(_reactNative.Animated.divide(scrollY, ITEM_HEIGHT), index);
|
|
170
|
-
const opacity = distance.interpolate({
|
|
171
|
-
inputRange: [-2, -1, 0, 1, 2],
|
|
172
|
-
outputRange: [0.3, 0.6, 1, 0.6, 0.3],
|
|
173
|
-
extrapolate: 'clamp'
|
|
174
|
-
});
|
|
175
|
-
const scale = distance.interpolate({
|
|
176
|
-
inputRange: [-2, -1, 0, 1, 2],
|
|
177
|
-
outputRange: [0.85, 0.95, 1.05, 0.95, 0.85],
|
|
178
|
-
extrapolate: 'clamp'
|
|
179
|
-
});
|
|
180
|
-
const isSelected = index === selectedIndex;
|
|
181
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
182
|
-
style: [styles.wheelItem, {
|
|
183
|
-
opacity,
|
|
184
|
-
transform: [{
|
|
185
|
-
scale
|
|
186
|
-
}]
|
|
187
|
-
}],
|
|
188
|
-
accessible: false,
|
|
189
|
-
importantForAccessibility: "no",
|
|
190
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
191
|
-
style: [{
|
|
192
|
-
fontSize: theme.typography.fontSize.xl,
|
|
193
|
-
color: isSelected ? theme.colors.text.primary : theme.colors.text.secondary,
|
|
194
|
-
fontWeight: isSelected ? theme.typography.fontWeight.semibold : theme.typography.fontWeight.medium,
|
|
195
|
-
letterSpacing: theme.typography.letterSpacing.normal
|
|
196
|
-
}],
|
|
197
|
-
children: formatItem(item)
|
|
198
|
-
})
|
|
199
|
-
});
|
|
200
|
-
}, [scrollY, selectedIndex, theme, formatItem]);
|
|
201
|
-
const keyExtractor = (0, _react.useCallback)((item, index) => `${kind}-${String(item)}-${index}`, [kind]);
|
|
202
|
-
const getItemLayout = (0, _react.useCallback)((_data, index) => ({
|
|
203
|
-
length: ITEM_HEIGHT,
|
|
204
|
-
offset: ITEM_HEIGHT * index,
|
|
205
|
-
index
|
|
206
|
-
}), []);
|
|
207
|
-
const currentValueText = formatItem(data[selectedIndex] ?? '');
|
|
208
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
209
|
-
style: styles.wheelColumn,
|
|
210
|
-
testID: testID,
|
|
211
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
212
|
-
pointerEvents: "none",
|
|
213
|
-
style: styles.wheelA11yLayer,
|
|
214
|
-
accessible: true,
|
|
215
|
-
accessibilityRole: "adjustable",
|
|
216
|
-
accessibilityLabel: label,
|
|
217
|
-
accessibilityValue: {
|
|
218
|
-
text: currentValueText
|
|
219
|
-
},
|
|
220
|
-
accessibilityActions: [{
|
|
221
|
-
name: 'increment'
|
|
222
|
-
}, {
|
|
223
|
-
name: 'decrement'
|
|
224
|
-
}],
|
|
225
|
-
onAccessibilityAction: handleA11yAction
|
|
226
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.FlatList, {
|
|
227
|
-
ref: listRef,
|
|
228
|
-
data: data,
|
|
229
|
-
keyExtractor: keyExtractor,
|
|
230
|
-
renderItem: renderItem,
|
|
231
|
-
getItemLayout: getItemLayout,
|
|
232
|
-
showsVerticalScrollIndicator: false,
|
|
233
|
-
snapToInterval: ITEM_HEIGHT,
|
|
234
|
-
snapToAlignment: "start",
|
|
235
|
-
decelerationRate: "fast",
|
|
236
|
-
bounces: false,
|
|
237
|
-
scrollEventThrottle: 16,
|
|
238
|
-
onScroll: onScroll,
|
|
239
|
-
onMomentumScrollEnd: onMomentumScrollEnd,
|
|
240
|
-
contentContainerStyle: {
|
|
241
|
-
paddingVertical: ITEM_HEIGHT * CENTER_OFFSET
|
|
242
|
-
},
|
|
243
|
-
initialScrollIndex: selectedIndex,
|
|
244
|
-
style: styles.wheelList,
|
|
245
|
-
importantForAccessibility: "no-hide-descendants"
|
|
246
|
-
})]
|
|
247
|
-
});
|
|
248
|
-
};
|
|
249
|
-
const TimePicker = props => {
|
|
250
|
-
const {
|
|
251
|
-
visible,
|
|
252
|
-
value,
|
|
253
|
-
onChange,
|
|
254
|
-
onClose,
|
|
255
|
-
format = '12h',
|
|
256
|
-
minuteStep = 1,
|
|
257
|
-
title = 'Select Time',
|
|
258
|
-
confirmLabel = 'Confirm',
|
|
259
|
-
cancelLabel = 'Cancel',
|
|
260
|
-
testID,
|
|
261
|
-
style,
|
|
262
|
-
containerStyle,
|
|
263
|
-
headerLabelStyle,
|
|
264
|
-
footerButtonStyle,
|
|
265
|
-
label,
|
|
266
|
-
placeholder,
|
|
267
|
-
helperText,
|
|
268
|
-
error,
|
|
269
|
-
required,
|
|
270
|
-
disabled,
|
|
271
|
-
size,
|
|
272
|
-
variant,
|
|
273
|
-
clearable,
|
|
274
|
-
onClear,
|
|
275
|
-
formatValue,
|
|
276
|
-
triggerStyle,
|
|
277
|
-
haptic
|
|
278
|
-
} = props;
|
|
279
|
-
const isControlled = props.visible !== undefined;
|
|
280
|
-
const [internalOpen, setInternalOpen] = (0, _react.useState)(false);
|
|
281
|
-
const open = isControlled ? visible : internalOpen;
|
|
282
|
-
|
|
283
|
-
// In trigger mode the trigger field is what's on screen by default, so it
|
|
284
|
-
// carries the bare testID; the modal sheet (rendered alongside it, just
|
|
285
|
-
// closed) gets a derived id to avoid two nodes sharing the same testID.
|
|
286
|
-
const modalTestID = isControlled ? testID : testID ? `${testID}-modal` : undefined;
|
|
287
|
-
const theme = (0, _index.useTheme)();
|
|
288
|
-
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
289
|
-
const styles = (0, _react.useMemo)(() => buildStyles(theme), [theme]);
|
|
290
|
-
const opacity = (0, _react.useRef)((0, _index.createAnimatedValue)(0)).current;
|
|
291
|
-
const translateY = (0, _react.useRef)((0, _index.createAnimatedValue)(40)).current;
|
|
292
|
-
// Live drag offset for drag-to-dismiss; the sheet's measured height is how far it travels.
|
|
293
|
-
const drag = (0, _react.useRef)((0, _index.createAnimatedValue)(0)).current;
|
|
294
|
-
const sheetHeight = (0, _react.useRef)(0);
|
|
295
|
-
const finalizeClose = (0, _react.useCallback)(() => {
|
|
296
|
-
if (isControlled) {
|
|
297
|
-
onClose?.();
|
|
298
|
-
} else {
|
|
299
|
-
setInternalOpen(false);
|
|
300
|
-
}
|
|
301
|
-
}, [isControlled, onClose]);
|
|
302
|
-
|
|
303
|
-
// Animate out before finalizing, matching DatePicker/DateRangePicker — this
|
|
304
|
-
// sheet used to spring in and then vanish on close.
|
|
305
|
-
const handleCloseModal = (0, _react.useCallback)(() => {
|
|
306
|
-
_reactNative.Animated.parallel([_reactNative.Animated.timing(opacity, {
|
|
307
|
-
toValue: 0,
|
|
308
|
-
duration: theme.motion.duration.fast,
|
|
309
|
-
easing: _reactNative.Easing.bezier(...theme.motion.easing.accelerate),
|
|
310
|
-
useNativeDriver: false
|
|
311
|
-
}), _reactNative.Animated.timing(translateY, {
|
|
312
|
-
toValue: 40,
|
|
313
|
-
duration: theme.motion.duration.fast,
|
|
314
|
-
easing: _reactNative.Easing.bezier(...theme.motion.easing.accelerate),
|
|
315
|
-
useNativeDriver: true
|
|
316
|
-
})]).start(() => finalizeClose());
|
|
317
|
-
}, [finalizeClose, opacity, translateY, theme.motion.duration.fast, theme.motion.easing.accelerate]);
|
|
318
|
-
const {
|
|
319
|
-
handleGesture
|
|
320
|
-
} = (0, _useDragToDismiss.useDragToDismiss)({
|
|
321
|
-
drag,
|
|
322
|
-
travel: () => sheetHeight.current || 320,
|
|
323
|
-
onDismiss: handleCloseModal
|
|
324
|
-
});
|
|
325
|
-
const hours = (0, _react.useMemo)(() => format === '24h' ? range(0, 23) : range(1, 12), [format]);
|
|
326
|
-
const minutes = (0, _react.useMemo)(() => range(0, 59, minuteStep), [minuteStep]);
|
|
327
|
-
const periods = (0, _react.useMemo)(() => ['AM', 'PM'], []);
|
|
328
|
-
const initial = (0, _react.useMemo)(() => {
|
|
329
|
-
const h24 = value && Number.isFinite(value.hour) ? value.hour : new Date().getHours();
|
|
330
|
-
const m = value && Number.isFinite(value.minute) ? value.minute : new Date().getMinutes();
|
|
331
|
-
const minute = clampMinuteToStep(m, minuteStep);
|
|
332
|
-
const {
|
|
333
|
-
displayHour,
|
|
334
|
-
period
|
|
335
|
-
} = from24h(h24, format);
|
|
336
|
-
return {
|
|
337
|
-
displayHour,
|
|
338
|
-
minute,
|
|
339
|
-
period,
|
|
340
|
-
hour24: h24
|
|
341
|
-
};
|
|
342
|
-
}, [value, format, minuteStep]);
|
|
343
|
-
const [hourIndex, setHourIndex] = (0, _react.useState)(() => {
|
|
344
|
-
const idx = hours.indexOf(initial.displayHour);
|
|
345
|
-
return idx >= 0 ? idx : 0;
|
|
346
|
-
});
|
|
347
|
-
const [minuteIndex, setMinuteIndex] = (0, _react.useState)(() => {
|
|
348
|
-
const idx = minutes.indexOf(initial.minute);
|
|
349
|
-
return idx >= 0 ? idx : 0;
|
|
350
|
-
});
|
|
351
|
-
const [periodIndex, setPeriodIndex] = (0, _react.useState)(() => initial.period === 'PM' ? 1 : 0);
|
|
352
|
-
|
|
353
|
-
// Re-sync on open toggle / value change / format / step.
|
|
354
|
-
//
|
|
355
|
-
// The `!open` guard is a RENDER OPTIMISATION, not a correctness guard, and it
|
|
356
|
-
// is worth knowing which. `open` is itself a dependency, so the effect re-runs
|
|
357
|
-
// when the picker opens and reads a fresh `new Date()` either way — the state
|
|
358
|
-
// a user actually sees is identical with or without it. What it saves is three
|
|
359
|
-
// setState calls (and the extra commit they schedule) on every prop change
|
|
360
|
-
// while the picker is closed. Correctness while closed is handled by RN's
|
|
361
|
-
// Modal, which renders nothing at visible={false}.
|
|
362
|
-
//
|
|
363
|
-
// That is why its test counts render passes through React.Profiler rather than
|
|
364
|
-
// asserting on the tree: no DOM assertion can distinguish the two paths.
|
|
365
|
-
(0, _react.useEffect)(() => {
|
|
366
|
-
if (!open) {
|
|
367
|
-
return;
|
|
368
|
-
}
|
|
369
|
-
const h24 = value && Number.isFinite(value.hour) ? value.hour : new Date().getHours();
|
|
370
|
-
const m = value && Number.isFinite(value.minute) ? value.minute : new Date().getMinutes();
|
|
371
|
-
const stepped = clampMinuteToStep(m, minuteStep);
|
|
372
|
-
const {
|
|
373
|
-
displayHour,
|
|
374
|
-
period
|
|
375
|
-
} = from24h(h24, format);
|
|
376
|
-
const hIdx = hours.indexOf(displayHour);
|
|
377
|
-
setHourIndex(hIdx >= 0 ? hIdx : 0);
|
|
378
|
-
const mIdx = minutes.indexOf(stepped);
|
|
379
|
-
setMinuteIndex(mIdx >= 0 ? mIdx : 0);
|
|
380
|
-
setPeriodIndex(period === 'PM' ? 1 : 0);
|
|
381
|
-
}, [open, value, format, minuteStep, hours, minutes]);
|
|
382
|
-
|
|
383
|
-
// Sheet animations.
|
|
384
|
-
|
|
385
|
-
(0, _react.useEffect)(() => {
|
|
386
|
-
let anim;
|
|
387
|
-
if (open) {
|
|
388
|
-
anim = _reactNative.Animated.parallel([
|
|
389
|
-
// Backdrop opacity uses JS driver — see Modal.tsx for the Fabric reason.
|
|
390
|
-
_reactNative.Animated.timing(opacity, {
|
|
391
|
-
toValue: 1,
|
|
392
|
-
duration: theme.motion.duration.normal,
|
|
393
|
-
easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
|
|
394
|
-
useNativeDriver: false
|
|
395
|
-
}), _reactNative.Animated.spring(translateY, {
|
|
396
|
-
toValue: 0,
|
|
397
|
-
damping: theme.motion.spring.snappy.damping,
|
|
398
|
-
stiffness: theme.motion.spring.snappy.stiffness,
|
|
399
|
-
mass: theme.motion.spring.snappy.mass,
|
|
400
|
-
useNativeDriver: true
|
|
401
|
-
})]);
|
|
402
|
-
anim.start();
|
|
403
|
-
} else {
|
|
404
|
-
opacity.setValue(0);
|
|
405
|
-
(0, _index.setNativeValue)(translateY, 40);
|
|
406
|
-
(0, _index.setNativeValue)(drag, 0);
|
|
407
|
-
}
|
|
408
|
-
return () => anim?.stop();
|
|
409
|
-
}, [open, opacity, translateY, drag, theme.motion]);
|
|
410
|
-
const announce = (0, _react.useCallback)(msg => {
|
|
411
|
-
if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'android') {
|
|
412
|
-
_reactNative.AccessibilityInfo.announceForAccessibility(msg);
|
|
413
|
-
}
|
|
414
|
-
}, []);
|
|
415
|
-
const handleHourIndex = (0, _react.useCallback)(idx => {
|
|
416
|
-
setHourIndex(idx);
|
|
417
|
-
announce(`Hour ${hours[idx]}`);
|
|
418
|
-
}, [hours, announce]);
|
|
419
|
-
const handleMinuteIndex = (0, _react.useCallback)(idx => {
|
|
420
|
-
setMinuteIndex(idx);
|
|
421
|
-
announce(`${minutes[idx]} minutes`);
|
|
422
|
-
}, [minutes, announce]);
|
|
423
|
-
const handlePeriodIndex = (0, _react.useCallback)(idx => {
|
|
424
|
-
setPeriodIndex(idx);
|
|
425
|
-
announce(periods[idx] ?? '');
|
|
426
|
-
}, [periods, announce]);
|
|
427
|
-
const handleCancel = (0, _react.useCallback)(() => {
|
|
428
|
-
if (haptic !== false) {
|
|
429
|
-
(0, _hapticUtils.triggerHaptic)('selection');
|
|
430
|
-
}
|
|
431
|
-
handleCloseModal();
|
|
432
|
-
}, [handleCloseModal, haptic]);
|
|
433
|
-
const handleConfirm = (0, _react.useCallback)(() => {
|
|
434
|
-
const displayHour = hours[hourIndex] ?? 0;
|
|
435
|
-
const period = periods[periodIndex] ?? 'AM';
|
|
436
|
-
const hour24 = to24h(displayHour, period, format);
|
|
437
|
-
const minute = minutes[minuteIndex] ?? 0;
|
|
438
|
-
if (haptic !== false) {
|
|
439
|
-
(0, _hapticUtils.triggerHaptic)('notificationSuccess');
|
|
440
|
-
}
|
|
441
|
-
onChange?.({
|
|
442
|
-
hour: hour24,
|
|
443
|
-
minute
|
|
444
|
-
});
|
|
445
|
-
handleCloseModal();
|
|
446
|
-
}, [hours, hourIndex, periods, periodIndex, minutes, minuteIndex, format, onChange, handleCloseModal, haptic]);
|
|
447
|
-
const summary = (0, _react.useMemo)(() => {
|
|
448
|
-
const displayHour = hours[hourIndex] ?? 0;
|
|
449
|
-
const minute = minutes[minuteIndex] ?? 0;
|
|
450
|
-
if (format === '24h') {
|
|
451
|
-
return `${pad2(displayHour)}:${pad2(minute)}`;
|
|
452
|
-
}
|
|
453
|
-
const period = periods[periodIndex] ?? 'AM';
|
|
454
|
-
return `${pad2(displayHour)}:${pad2(minute)} ${period}`;
|
|
455
|
-
}, [hours, hourIndex, minutes, minuteIndex, periods, periodIndex, format]);
|
|
456
|
-
const formatHourItem = (0, _react.useCallback)(item => pad2(Number(item)), []);
|
|
457
|
-
const formatMinuteItem = (0, _react.useCallback)(item => pad2(Number(item)), []);
|
|
458
|
-
const formatPeriodItem = (0, _react.useCallback)(item => String(item), []);
|
|
459
|
-
const defaultFormatValue = (0, _react.useCallback)(t => {
|
|
460
|
-
if (format === '24h') {
|
|
461
|
-
return `${pad2(t.hour)}:${pad2(t.minute)}`;
|
|
462
|
-
}
|
|
463
|
-
const {
|
|
464
|
-
displayHour,
|
|
465
|
-
period
|
|
466
|
-
} = from24h(t.hour, '12h');
|
|
467
|
-
return `${displayHour}:${pad2(t.minute)} ${period}`;
|
|
468
|
-
}, [format]);
|
|
469
|
-
const triggerValue = !isControlled && value && Number.isFinite(value.hour) && Number.isFinite(value.minute) ? (formatValue ?? defaultFormatValue)(value) : undefined;
|
|
470
|
-
const modal = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
|
|
471
|
-
visible: open,
|
|
472
|
-
transparent: true,
|
|
473
|
-
statusBarTranslucent: true,
|
|
474
|
-
navigationBarTranslucent: true,
|
|
475
|
-
animationType: "none",
|
|
476
|
-
onRequestClose: handleCloseModal,
|
|
477
|
-
testID: modalTestID,
|
|
478
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeGestureHandler.GestureHandlerRootView
|
|
479
|
-
// Plain View + collapsable={false} — see Modal.tsx backdrop comment.
|
|
480
|
-
// Gesture handler needs its own root inside a native Modal, so the
|
|
481
|
-
// backdrop doubles as that root.
|
|
482
|
-
, {
|
|
483
|
-
collapsable: false,
|
|
484
|
-
style: styles.backdrop,
|
|
485
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
486
|
-
style: _reactNative.StyleSheet.absoluteFill,
|
|
487
|
-
onPress: handleCloseModal,
|
|
488
|
-
accessibilityLabel: "Close time picker",
|
|
489
|
-
accessibilityRole: "button"
|
|
490
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
|
|
491
|
-
style: [styles.sheet, {
|
|
492
|
-
paddingBottom: Math.max(insets.bottom, theme.spacing.lg),
|
|
493
|
-
transform: [{
|
|
494
|
-
translateY: _reactNative.Animated.add(translateY, drag)
|
|
495
|
-
}]
|
|
496
|
-
}, style, containerStyle],
|
|
497
|
-
onLayout: e => {
|
|
498
|
-
sheetHeight.current = e.nativeEvent.layout.height;
|
|
499
|
-
},
|
|
500
|
-
accessibilityViewIsModal: true,
|
|
501
|
-
accessible: true,
|
|
502
|
-
accessibilityRole: "none",
|
|
503
|
-
accessibilityLabel: title,
|
|
504
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
505
|
-
gesture: handleGesture,
|
|
506
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
507
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
508
|
-
style: styles.handle
|
|
509
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
510
|
-
style: [styles.title, headerLabelStyle],
|
|
511
|
-
accessibilityRole: "header",
|
|
512
|
-
children: title
|
|
513
|
-
})]
|
|
514
|
-
})
|
|
515
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
516
|
-
style: styles.summaryWrap,
|
|
517
|
-
accessibilityLiveRegion: "polite",
|
|
518
|
-
accessibilityLabel: `Selected ${summary}`,
|
|
519
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
520
|
-
style: styles.summary,
|
|
521
|
-
children: summary
|
|
522
|
-
})
|
|
523
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
524
|
-
style: styles.wheelsRow,
|
|
525
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
526
|
-
pointerEvents: "none",
|
|
527
|
-
style: styles.selectionBand,
|
|
528
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
529
|
-
style: styles.bandLine
|
|
530
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
531
|
-
style: [styles.bandLine, styles.bandLineBottom]
|
|
532
|
-
})]
|
|
533
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Wheel, {
|
|
534
|
-
kind: "hour",
|
|
535
|
-
label: "Hour",
|
|
536
|
-
data: hours,
|
|
537
|
-
selectedIndex: hourIndex,
|
|
538
|
-
onIndexChange: handleHourIndex,
|
|
539
|
-
formatItem: formatHourItem,
|
|
540
|
-
theme: theme,
|
|
541
|
-
haptic: haptic,
|
|
542
|
-
testID: "time-picker-hour"
|
|
543
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
544
|
-
style: styles.separator,
|
|
545
|
-
children: ":"
|
|
546
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Wheel, {
|
|
547
|
-
kind: "minute",
|
|
548
|
-
label: "Minute",
|
|
549
|
-
data: minutes,
|
|
550
|
-
selectedIndex: minuteIndex,
|
|
551
|
-
onIndexChange: handleMinuteIndex,
|
|
552
|
-
formatItem: formatMinuteItem,
|
|
553
|
-
theme: theme,
|
|
554
|
-
haptic: haptic,
|
|
555
|
-
testID: "time-picker-minute"
|
|
556
|
-
}), format === '12h' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
557
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
558
|
-
style: styles.spacer
|
|
559
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Wheel, {
|
|
560
|
-
kind: "period",
|
|
561
|
-
label: "Period",
|
|
562
|
-
data: periods,
|
|
563
|
-
selectedIndex: periodIndex,
|
|
564
|
-
onIndexChange: handlePeriodIndex,
|
|
565
|
-
formatItem: formatPeriodItem,
|
|
566
|
-
theme: theme,
|
|
567
|
-
haptic: haptic,
|
|
568
|
-
testID: "time-picker-period"
|
|
569
|
-
})]
|
|
570
|
-
}) : null]
|
|
571
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
572
|
-
style: styles.footer,
|
|
573
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
574
|
-
title: cancelLabel,
|
|
575
|
-
haptic: false,
|
|
576
|
-
variant: "ghost",
|
|
577
|
-
tone: "neutral",
|
|
578
|
-
onPress: handleCancel,
|
|
579
|
-
style: [styles.footerBtn, footerButtonStyle],
|
|
580
|
-
accessibilityHint: "Dismiss without changes",
|
|
581
|
-
testID: "time-picker-cancel"
|
|
582
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
583
|
-
title: confirmLabel,
|
|
584
|
-
variant: "solid",
|
|
585
|
-
tone: "primary",
|
|
586
|
-
haptic: false,
|
|
587
|
-
onPress: handleConfirm,
|
|
588
|
-
style: [styles.footerBtn, footerButtonStyle],
|
|
589
|
-
accessibilityHint: "Confirm selected time",
|
|
590
|
-
testID: "time-picker-confirm"
|
|
591
|
-
})]
|
|
592
|
-
})]
|
|
593
|
-
})]
|
|
594
|
-
})
|
|
595
|
-
});
|
|
596
|
-
if (isControlled) {
|
|
597
|
-
return modal;
|
|
598
|
-
}
|
|
599
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
600
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerTrigger.PickerTrigger, {
|
|
601
|
-
label: label,
|
|
602
|
-
placeholder: placeholder,
|
|
603
|
-
helperText: helperText,
|
|
604
|
-
error: error,
|
|
605
|
-
required: required,
|
|
606
|
-
disabled: disabled,
|
|
607
|
-
size: size,
|
|
608
|
-
variant: variant,
|
|
609
|
-
clearable: clearable,
|
|
610
|
-
onClear: onClear,
|
|
611
|
-
value: triggerValue,
|
|
612
|
-
onPress: () => setInternalOpen(true),
|
|
613
|
-
triggerStyle: triggerStyle,
|
|
614
|
-
testID: testID
|
|
615
|
-
}), modal]
|
|
616
|
-
});
|
|
617
|
-
};
|
|
618
|
-
exports.TimePicker = TimePicker;
|
|
619
|
-
const styles = _reactNative.StyleSheet.create({
|
|
620
|
-
wheelColumn: {
|
|
621
|
-
width: 64,
|
|
622
|
-
height: PICKER_HEIGHT,
|
|
623
|
-
overflow: 'hidden'
|
|
624
|
-
},
|
|
625
|
-
wheelList: {
|
|
626
|
-
flexGrow: 0,
|
|
627
|
-
height: PICKER_HEIGHT
|
|
628
|
-
},
|
|
629
|
-
wheelItem: {
|
|
630
|
-
height: ITEM_HEIGHT,
|
|
631
|
-
alignItems: 'center',
|
|
632
|
-
justifyContent: 'center'
|
|
633
|
-
},
|
|
634
|
-
wheelA11yLayer: {
|
|
635
|
-
..._reactNative.StyleSheet.absoluteFill,
|
|
636
|
-
zIndex: 2
|
|
637
|
-
}
|
|
638
|
-
});
|
|
639
|
-
const buildStyles = theme => {
|
|
640
|
-
const sheetShadow = theme.shadows.xl;
|
|
641
|
-
return _reactNative.StyleSheet.create({
|
|
642
|
-
backdrop: {
|
|
643
|
-
flex: 1,
|
|
644
|
-
backgroundColor: theme.colors.background.overlay,
|
|
645
|
-
justifyContent: 'flex-end'
|
|
646
|
-
},
|
|
647
|
-
sheet: {
|
|
648
|
-
backgroundColor: theme.colors.background.elevated,
|
|
649
|
-
borderTopLeftRadius: theme.radius.xl,
|
|
650
|
-
borderTopRightRadius: theme.radius.xl,
|
|
651
|
-
..._corners.smoothCorners,
|
|
652
|
-
paddingTop: theme.spacing.sm,
|
|
653
|
-
paddingHorizontal: theme.spacing.lg,
|
|
654
|
-
paddingBottom: theme.spacing.xl,
|
|
655
|
-
shadowColor: sheetShadow.shadowColor,
|
|
656
|
-
shadowOffset: sheetShadow.shadowOffset,
|
|
657
|
-
shadowOpacity: sheetShadow.shadowOpacity,
|
|
658
|
-
shadowRadius: sheetShadow.shadowRadius,
|
|
659
|
-
elevation: sheetShadow.elevation
|
|
660
|
-
},
|
|
661
|
-
handle: {
|
|
662
|
-
alignSelf: 'center',
|
|
663
|
-
width: theme.components.timePicker?.handleWidth ?? 36,
|
|
664
|
-
height: theme.components.timePicker?.handleHeight ?? 4,
|
|
665
|
-
borderRadius: theme.radius.full,
|
|
666
|
-
..._corners.smoothCorners,
|
|
667
|
-
backgroundColor: theme.colors.border.secondary,
|
|
668
|
-
marginBottom: theme.spacing.sm
|
|
669
|
-
},
|
|
670
|
-
title: {
|
|
671
|
-
textAlign: 'center',
|
|
672
|
-
fontSize: theme.typography.fontSize.lg,
|
|
673
|
-
fontWeight: theme.typography.fontWeight.semibold,
|
|
674
|
-
color: theme.colors.text.primary,
|
|
675
|
-
marginBottom: theme.spacing.sm
|
|
676
|
-
},
|
|
677
|
-
summaryWrap: {
|
|
678
|
-
alignItems: 'center',
|
|
679
|
-
marginBottom: theme.spacing.md
|
|
680
|
-
},
|
|
681
|
-
summary: {
|
|
682
|
-
fontSize: theme.typography.fontSize['2xl'],
|
|
683
|
-
fontWeight: theme.typography.fontWeight.bold,
|
|
684
|
-
color: theme.colors.primary,
|
|
685
|
-
letterSpacing: theme.typography.letterSpacing.wide
|
|
686
|
-
},
|
|
687
|
-
wheelsRow: {
|
|
688
|
-
flexDirection: 'row',
|
|
689
|
-
alignItems: 'center',
|
|
690
|
-
justifyContent: 'center',
|
|
691
|
-
height: PICKER_HEIGHT,
|
|
692
|
-
position: 'relative',
|
|
693
|
-
marginBottom: theme.spacing.lg
|
|
694
|
-
},
|
|
695
|
-
selectionBand: {
|
|
696
|
-
position: 'absolute',
|
|
697
|
-
left: 0,
|
|
698
|
-
right: 0,
|
|
699
|
-
top: ITEM_HEIGHT * CENTER_OFFSET,
|
|
700
|
-
height: ITEM_HEIGHT,
|
|
701
|
-
justifyContent: 'space-between'
|
|
702
|
-
},
|
|
703
|
-
bandLine: {
|
|
704
|
-
height: _reactNative.StyleSheet.hairlineWidth * 2,
|
|
705
|
-
backgroundColor: theme.colors.primary,
|
|
706
|
-
opacity: 0.85
|
|
707
|
-
},
|
|
708
|
-
bandLineBottom: {
|
|
709
|
-
// visual rhythm only — same color as top
|
|
710
|
-
},
|
|
711
|
-
separator: {
|
|
712
|
-
fontSize: theme.typography.fontSize['2xl'],
|
|
713
|
-
fontWeight: theme.typography.fontWeight.bold,
|
|
714
|
-
color: theme.colors.text.primary,
|
|
715
|
-
paddingHorizontal: theme.spacing.xs
|
|
716
|
-
},
|
|
717
|
-
spacer: {
|
|
718
|
-
width: theme.spacing.md
|
|
719
|
-
},
|
|
720
|
-
footer: {
|
|
721
|
-
flexDirection: 'row',
|
|
722
|
-
justifyContent: 'flex-end',
|
|
723
|
-
alignItems: 'center',
|
|
724
|
-
gap: theme.spacing.sm
|
|
725
|
-
},
|
|
726
|
-
footerBtn: {
|
|
727
|
-
paddingHorizontal: theme.spacing.lg
|
|
728
|
-
}
|
|
729
|
-
});
|
|
730
|
-
};
|
|
731
|
-
var _default = exports.default = TimePicker;
|
|
732
|
-
//# sourceMappingURL=TimePicker.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TimePicker=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_useDragToDismiss=require("../../hooks/useDragToDismiss.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_Button=_interopRequireDefault(require("../Button/Button.js")),_PickerTrigger=require("../PickerTrigger/PickerTrigger.js"),_ToastProvider=require("../Toast/ToastProvider.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var i=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var r,n,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(r=t?a:i){if(r.has(e))return r.get(e);r.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?r(s,t,n):s[t]=e[t]);return s})(e,t)}const ITEM_HEIGHT=40,VISIBLE_ITEMS=5,PICKER_HEIGHT=200,CENTER_OFFSET=Math.floor(2.5),HAPTIC_DEBOUNCE_MS=35,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))},Wheel=({kind:e,label:t,data:i,selectedIndex:a,onIndexChange:r,formatItem:n,theme:s,haptic:o,testID:c})=>{const l=(0,_react.useRef)(null),u=(0,_react.useRef)((0,_index.createAnimatedValue)(40*a)).current,d=(0,_react.useRef)(a),m=(0,_react.useRef)(0);(0,_react.useEffect)(()=>{if(d.current!==a){d.current=a;const e=40*a;(0,_index.setNativeValue)(u,e),requestAnimationFrame(()=>{l.current?.scrollToOffset({offset:e,animated:!1})})}},[a,u]);const p=s.components.timePicker?.hapticDebounceMs??35,h=(0,_react.useMemo)(()=>_reactNative.Animated.event([{nativeEvent:{contentOffset:{y:u}}}],{useNativeDriver:!0,listener:e=>{const t=e.nativeEvent.contentOffset.y,a=Math.round(t/40);if(a!==d.current&&a>=0&&a<i.length){const e=Date.now();if(e-m.current>=p){const t=(0,_hapticUtils.resolveHaptic)(o,"selection");t&&(0,_hapticUtils.triggerHaptic)(t),m.current=e}d.current=a}}}),[u,i.length,o,p]),_=(0,_react.useCallback)(e=>{const t=e.nativeEvent.contentOffset.y,n=Math.max(0,Math.min(i.length-1,Math.round(t/40)));n!==a&&r(n)},[i.length,r,a]),g=(0,_react.useCallback)(e=>{const t=e.nativeEvent.actionName;if("increment"===t){const e=Math.min(i.length-1,a+1);e!==a&&r(e)}else if("decrement"===t){const e=Math.max(0,a-1);e!==a&&r(e)}},[i.length,r,a]),f=(0,_react.useCallback)(({item:e,index:t})=>{const i=_reactNative.Animated.subtract(_reactNative.Animated.divide(u,40),t),r=i.interpolate({inputRange:[-2,-1,0,1,2],outputRange:[.3,.6,1,.6,.3],extrapolate:"clamp"}),o=i.interpolate({inputRange:[-2,-1,0,1,2],outputRange:[.85,.95,1.05,.95,.85],extrapolate:"clamp"}),c=t===a;return(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[styles.wheelItem,{opacity:r,transform:[{scale:o}]}],accessible:!1,importantForAccessibility:"no",children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[{fontSize:s.typography.fontSize.xl,color:c?s.colors.text.primary:s.colors.text.secondary,fontWeight:c?s.typography.fontWeight.semibold:s.typography.fontWeight.medium,letterSpacing:s.typography.letterSpacing.normal}],children:n(e)})})},[u,a,s,n]),y=(0,_react.useCallback)((t,i)=>`${e}-${String(t)}-${i}`,[e]),x=(0,_react.useCallback)((e,t)=>({length:40,offset:40*t,index:t}),[]),v=n(i[a]??"");return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.wheelColumn,testID:c,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:styles.wheelA11yLayer,accessible:!0,accessibilityRole:"adjustable",accessibilityLabel:t,accessibilityValue:{text:v},accessibilityActions:[{name:"increment"},{name:"decrement"}],onAccessibilityAction:g}),(0,_jsxRuntime.jsx)(_reactNative.Animated.FlatList,{ref:l,data:i,keyExtractor:y,renderItem:f,getItemLayout:x,showsVerticalScrollIndicator:!1,snapToInterval:40,snapToAlignment:"start",decelerationRate:"fast",bounces:!1,scrollEventThrottle:16,onScroll:h,onMomentumScrollEnd:_,contentContainerStyle:{paddingVertical:40*CENTER_OFFSET},initialScrollIndex:a,style:styles.wheelList,importantForAccessibility:"no-hide-descendants"})]})},TimePicker=e=>{const{visible:t,value:i,onChange:a,onClose:r,format:n="12h",minuteStep:s=1,title:o="Select Time",confirmLabel:c="Confirm",cancelLabel:l="Cancel",testID:u,style:d,containerStyle:m,headerLabelStyle:p,footerButtonStyle:h,label:_,placeholder:g,helperText:f,error:y,required:x,disabled:v,size:b,variant:j,clearable:R,onClear:N,formatValue:S,triggerStyle:w,haptic:C}=e,k=void 0!==e.visible,[T,M]=(0,_react.useState)(!1),I=k?t:T,A=k?u:u?`${u}-modal`:void 0,D=(0,_index.useTheme)(),P=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),E=(0,_react.useMemo)(()=>buildStyles(D),[D]),H=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,V=(0,_react.useRef)((0,_index.createAnimatedValue)(40)).current,B=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,O=(0,_react.useRef)(0),W=(0,_react.useCallback)(()=>{k?r?.():M(!1)},[k,r]),L=(0,_react.useCallback)(()=>{_reactNative.Animated.parallel([_reactNative.Animated.timing(H,{toValue:0,duration:D.motion.duration.fast,easing:_reactNative.Easing.bezier(...D.motion.easing.accelerate),useNativeDriver:!1}),_reactNative.Animated.timing(V,{toValue:40,duration:D.motion.duration.fast,easing:_reactNative.Easing.bezier(...D.motion.easing.accelerate),useNativeDriver:!0})]).start(()=>W())},[W,H,V,D.motion.duration.fast,D.motion.easing.accelerate]),{handleGesture:q}=(0,_useDragToDismiss.useDragToDismiss)({drag:B,travel:()=>O.current||320,onDismiss:L}),F=(0,_react.useMemo)(()=>"24h"===n?range(0,23):range(1,12),[n]),$=(0,_react.useMemo)(()=>range(0,59,s),[s]),z=(0,_react.useMemo)(()=>["AM","PM"],[]),G=(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,s),{displayHour:r,period:o}=from24h(e,n);return{displayHour:r,minute:a,period:o,hour24:e}},[i,n,s]),[U,K]=(0,_react.useState)(()=>{const e=F.indexOf(G.displayHour);return e>=0?e:0}),[Y,J]=(0,_react.useState)(()=>{const e=$.indexOf(G.minute);return e>=0?e:0}),[Q,X]=(0,_react.useState)(()=>"PM"===G.period?1:0);(0,_react.useEffect)(()=>{if(!I)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,s),{displayHour:r,period:o}=from24h(e,n),c=F.indexOf(r);K(c>=0?c:0);const l=$.indexOf(a);J(l>=0?l:0),X("PM"===o?1:0)},[I,i,n,s,F,$]),(0,_react.useEffect)(()=>{let e;return I?(e=_reactNative.Animated.parallel([_reactNative.Animated.timing(H,{toValue:1,duration:D.motion.duration.normal,easing:_reactNative.Easing.out(_reactNative.Easing.cubic),useNativeDriver:!1}),_reactNative.Animated.spring(V,{toValue:0,damping:D.motion.spring.snappy.damping,stiffness:D.motion.spring.snappy.stiffness,mass:D.motion.spring.snappy.mass,useNativeDriver:!0})]),e.start()):(H.setValue(0),(0,_index.setNativeValue)(V,40),(0,_index.setNativeValue)(B,0)),()=>e?.stop()},[I,H,V,B,D.motion]);const Z=(0,_react.useCallback)(e=>{"ios"!==_reactNative.Platform.OS&&"android"!==_reactNative.Platform.OS||_reactNative.AccessibilityInfo.announceForAccessibility(e)},[]),ee=(0,_react.useCallback)(e=>{K(e),Z(`Hour ${F[e]}`)},[F,Z]),te=(0,_react.useCallback)(e=>{J(e),Z(`${$[e]} minutes`)},[$,Z]),ie=(0,_react.useCallback)(e=>{X(e),Z(z[e]??"")},[z,Z]),ae=(0,_react.useCallback)(()=>{!1!==C&&(0,_hapticUtils.triggerHaptic)("selection"),L()},[L,C]),re=(0,_react.useCallback)(()=>{const e=F[U]??0,t=z[Q]??"AM",i=to24h(e,t,n),r=$[Y]??0;!1!==C&&(0,_hapticUtils.triggerHaptic)("notificationSuccess"),a?.({hour:i,minute:r}),L()},[F,U,z,Q,$,Y,n,a,L,C]),ne=(0,_react.useMemo)(()=>{const e=F[U]??0,t=$[Y]??0;if("24h"===n)return`${pad2(e)}:${pad2(t)}`;const i=z[Q]??"AM";return`${pad2(e)}:${pad2(t)} ${i}`},[F,U,$,Y,z,Q,n]),se=(0,_react.useCallback)(e=>pad2(Number(e)),[]),oe=(0,_react.useCallback)(e=>pad2(Number(e)),[]),ce=(0,_react.useCallback)(e=>String(e),[]),le=(0,_react.useCallback)(e=>{if("24h"===n)return`${pad2(e.hour)}:${pad2(e.minute)}`;const{displayHour:t,period:i}=from24h(e.hour,"12h");return`${t}:${pad2(e.minute)} ${i}`},[n]),ue=!k&&i&&Number.isFinite(i.hour)&&Number.isFinite(i.minute)?(S??le)(i):void 0,de=(0,_jsxRuntime.jsx)(_reactNative.Modal,{visible:I,transparent:!0,statusBarTranslucent:!0,navigationBarTranslucent:!0,animationType:"none",onRequestClose:L,testID:A,children:(0,_jsxRuntime.jsxs)(_reactNativeGestureHandler.GestureHandlerRootView,{collapsable:!1,style:E.backdrop,children:[(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:_reactNative.StyleSheet.absoluteFill,onPress:L,accessibilityLabel:"Close time picker",accessibilityRole:"button"}),(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[E.sheet,{paddingBottom:Math.max(P.bottom,D.spacing.lg),transform:[{translateY:_reactNative.Animated.add(V,B)}]},d,m],onLayout:e=>{O.current=e.nativeEvent.layout.height},accessibilityViewIsModal:!0,accessible:!0,accessibilityRole:"none",accessibilityLabel:o,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:q,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:E.handle}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[E.title,p],accessibilityRole:"header",children:o})]})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:E.summaryWrap,accessibilityLiveRegion:"polite",accessibilityLabel:`Selected ${ne}`,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:E.summary,children:ne})}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:E.wheelsRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{pointerEvents:"none",style:E.selectionBand,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:E.bandLine}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.bandLine,E.bandLineBottom]})]}),(0,_jsxRuntime.jsx)(Wheel,{kind:"hour",label:"Hour",data:F,selectedIndex:U,onIndexChange:ee,formatItem:se,theme:D,haptic:C,testID:"time-picker-hour"}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:E.separator,children:":"}),(0,_jsxRuntime.jsx)(Wheel,{kind:"minute",label:"Minute",data:$,selectedIndex:Y,onIndexChange:te,formatItem:oe,theme:D,haptic:C,testID:"time-picker-minute"}),"12h"===n?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:E.spacer}),(0,_jsxRuntime.jsx)(Wheel,{kind:"period",label:"Period",data:z,selectedIndex:Q,onIndexChange:ie,formatItem:ce,theme:D,haptic:C,testID:"time-picker-period"})]}):null]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:E.footer,children:[(0,_jsxRuntime.jsx)(_Button.default,{title:l,haptic:!1,variant:"ghost",tone:"neutral",onPress:ae,style:[E.footerBtn,h],accessibilityHint:"Dismiss without changes",testID:"time-picker-cancel"}),(0,_jsxRuntime.jsx)(_Button.default,{title:c,variant:"solid",tone:"primary",haptic:!1,onPress:re,style:[E.footerBtn,h],accessibilityHint:"Confirm selected time",testID:"time-picker-confirm"})]})]}),(0,_jsxRuntime.jsx)(_ToastProvider.ToastHost,{})]})});return k?de:(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_PickerTrigger.PickerTrigger,{label:_,placeholder:g,helperText:f,error:y,required:x,disabled:v,size:b,variant:j,clearable:R,onClear:N,value:ue,onPress:()=>M(!0),triggerStyle:w,testID:u}),de]})};exports.TimePicker=TimePicker;const styles=_reactNative.StyleSheet.create({wheelColumn:{width:64,height:200,overflow:"hidden"},wheelList:{flexGrow:0,height:200},wheelItem:{height:40,alignItems:"center",justifyContent:"center"},wheelA11yLayer:{..._reactNative.StyleSheet.absoluteFill,zIndex:2}}),buildStyles=e=>{const t=e.shadows.xl;return _reactNative.StyleSheet.create({backdrop:{flex:1,backgroundColor:e.colors.background.overlay,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.full,..._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},wheelsRow:{flexDirection:"row",alignItems:"center",justifyContent:"center",height:200,position:"relative",marginBottom:e.spacing.lg},selectionBand:{position:"absolute",left:0,right:0,top:40*CENTER_OFFSET,height:40,justifyContent:"space-between"},bandLine:{height:2*_reactNative.StyleSheet.hairlineWidth,backgroundColor:e.colors.primary,opacity:.85},bandLineBottom:{},separator:{fontSize:e.typography.fontSize["2xl"],fontWeight:e.typography.fontWeight.bold,color:e.colors.text.primary,paddingHorizontal:e.spacing.xs},spacer:{width:e.spacing.md},footer:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",gap:e.spacing.sm},footerBtn:{paddingHorizontal:e.spacing.lg}})};var _default=exports.default=TimePicker;
|