@webority/mobile-ui 0.0.39 → 0.2.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 +1 -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 +11 -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 +11 -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,775 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import React, { forwardRef, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
-
import { Animated, Easing, Pressable, StyleSheet, Text, View } from 'react-native';
|
|
5
|
-
import { createAnimatedValue, useTheme } from "../../theme/index.js";
|
|
6
|
-
import { smoothCorners } from "../../utils/corners.js";
|
|
7
|
-
import { resolveHaptic, triggerHaptic } from "../../utils/hapticUtils.js";
|
|
8
|
-
import { Skeleton } from "../Skeleton/index.js";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* `horizontal`: numbered circles in a row, joined by a line. `vertical`: the
|
|
12
|
-
* same circles in a column, with a description beside each. `segmented`: a
|
|
13
|
-
* "Step 1 of 3 · Label" caption over one bar per step, filled up to and
|
|
14
|
-
* including the active step.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* What a tap on a step does. Steps always run in order: every step before
|
|
19
|
-
* the active one is done, so a tap never leaves a gap. `none`: nothing, the
|
|
20
|
-
* stepper only shows progress. `back`: a done step becomes the active one.
|
|
21
|
-
* `select`: any step becomes the active one, and tapping the active step
|
|
22
|
-
* again leaves none active.
|
|
23
|
-
*/
|
|
24
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
25
|
-
const CIRCLE_SIZE = 24;
|
|
26
|
-
const SEGMENT_HEIGHT = 4;
|
|
27
|
-
const SEGMENT_GAP = 6;
|
|
28
|
-
const PULSE_SIZE = 32;
|
|
29
|
-
const PULSE_DURATION = 1100;
|
|
30
|
-
const toneColorFor = (theme, tone) => {
|
|
31
|
-
switch (tone) {
|
|
32
|
-
case 'success':
|
|
33
|
-
return theme.colors.success;
|
|
34
|
-
case 'primary':
|
|
35
|
-
default:
|
|
36
|
-
return theme.colors.primary;
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
const StepCircle = ({
|
|
40
|
-
index,
|
|
41
|
-
step,
|
|
42
|
-
status,
|
|
43
|
-
toneColor,
|
|
44
|
-
upcomingColor,
|
|
45
|
-
upcomingFillColor,
|
|
46
|
-
textOnColor,
|
|
47
|
-
upcomingTextColor,
|
|
48
|
-
interactive,
|
|
49
|
-
canPress,
|
|
50
|
-
totalSteps,
|
|
51
|
-
onPress,
|
|
52
|
-
circleSize,
|
|
53
|
-
pulseSize,
|
|
54
|
-
pulseEnabled,
|
|
55
|
-
pulseDuration,
|
|
56
|
-
circleSlotStyle
|
|
57
|
-
}) => {
|
|
58
|
-
const isActive = status === 'active';
|
|
59
|
-
const pulseScale = useRef(createAnimatedValue(1)).current;
|
|
60
|
-
const pulseOpacity = useRef(createAnimatedValue(0.5)).current;
|
|
61
|
-
useEffect(() => {
|
|
62
|
-
if (!isActive || !pulseEnabled) {
|
|
63
|
-
pulseScale.setValue(1);
|
|
64
|
-
pulseOpacity.setValue(0);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
// Native driver: this is a LOOP on `opacity` + `transform.scale`, and the
|
|
68
|
-
// view's other props are static, so there is no driver mixing. A looping
|
|
69
|
-
// animation is the one case where the JS thread cost is not negligible —
|
|
70
|
-
// it runs for as long as the step is active.
|
|
71
|
-
const loop = Animated.loop(Animated.parallel([Animated.sequence([Animated.timing(pulseScale, {
|
|
72
|
-
toValue: 1.4,
|
|
73
|
-
duration: pulseDuration,
|
|
74
|
-
easing: Easing.out(Easing.ease),
|
|
75
|
-
useNativeDriver: true
|
|
76
|
-
}), Animated.timing(pulseScale, {
|
|
77
|
-
toValue: 1,
|
|
78
|
-
duration: 0,
|
|
79
|
-
useNativeDriver: true
|
|
80
|
-
})]), Animated.sequence([Animated.timing(pulseOpacity, {
|
|
81
|
-
toValue: 0,
|
|
82
|
-
duration: pulseDuration,
|
|
83
|
-
easing: Easing.out(Easing.ease),
|
|
84
|
-
useNativeDriver: true
|
|
85
|
-
}), Animated.timing(pulseOpacity, {
|
|
86
|
-
toValue: 0.5,
|
|
87
|
-
duration: 0,
|
|
88
|
-
useNativeDriver: true
|
|
89
|
-
})])]));
|
|
90
|
-
loop.start();
|
|
91
|
-
return () => loop.stop();
|
|
92
|
-
}, [isActive, pulseScale, pulseOpacity, pulseEnabled, pulseDuration]);
|
|
93
|
-
const bgColor = status === 'upcoming' ? upcomingFillColor : toneColor;
|
|
94
|
-
const borderColor = status === 'upcoming' ? upcomingColor : toneColor;
|
|
95
|
-
const textColor = status === 'upcoming' ? upcomingTextColor : textOnColor;
|
|
96
|
-
const isComplete = status === 'complete';
|
|
97
|
-
const labelText = `Step ${index + 1} of ${totalSteps}, ${step.label}, ${status}`;
|
|
98
|
-
const inner = /*#__PURE__*/_jsxs(View, {
|
|
99
|
-
style: circleStyles.relative,
|
|
100
|
-
children: [isActive && pulseEnabled ? /*#__PURE__*/_jsx(Animated.View, {
|
|
101
|
-
pointerEvents: "none",
|
|
102
|
-
style: [circleStyles.pulse, {
|
|
103
|
-
width: pulseSize,
|
|
104
|
-
height: pulseSize,
|
|
105
|
-
borderRadius: pulseSize / 2,
|
|
106
|
-
...smoothCorners,
|
|
107
|
-
backgroundColor: toneColor,
|
|
108
|
-
opacity: pulseOpacity,
|
|
109
|
-
transform: [{
|
|
110
|
-
scale: pulseScale
|
|
111
|
-
}]
|
|
112
|
-
}]
|
|
113
|
-
}) : null, /*#__PURE__*/_jsx(View, {
|
|
114
|
-
style: [circleStyles.circle, {
|
|
115
|
-
width: circleSize,
|
|
116
|
-
height: circleSize,
|
|
117
|
-
borderRadius: circleSize / 2,
|
|
118
|
-
...smoothCorners,
|
|
119
|
-
backgroundColor: bgColor,
|
|
120
|
-
borderColor
|
|
121
|
-
}, circleSlotStyle],
|
|
122
|
-
children: step.icon ? step.icon : isComplete ? /*#__PURE__*/_jsx(Text, {
|
|
123
|
-
style: [circleStyles.glyph, {
|
|
124
|
-
color: textColor
|
|
125
|
-
}],
|
|
126
|
-
children: '✓'
|
|
127
|
-
}) : /*#__PURE__*/_jsx(Text, {
|
|
128
|
-
style: [circleStyles.glyph, {
|
|
129
|
-
color: textColor
|
|
130
|
-
}],
|
|
131
|
-
children: index + 1
|
|
132
|
-
})
|
|
133
|
-
})]
|
|
134
|
-
});
|
|
135
|
-
if (interactive) {
|
|
136
|
-
return /*#__PURE__*/_jsx(Pressable, {
|
|
137
|
-
onPress: () => onPress(index),
|
|
138
|
-
disabled: !canPress,
|
|
139
|
-
accessibilityRole: "button",
|
|
140
|
-
accessibilityLabel: labelText,
|
|
141
|
-
accessibilityState: {
|
|
142
|
-
selected: isActive,
|
|
143
|
-
disabled: !canPress
|
|
144
|
-
},
|
|
145
|
-
hitSlop: 8,
|
|
146
|
-
children: inner
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
return /*#__PURE__*/_jsx(View, {
|
|
150
|
-
accessibilityRole: "text",
|
|
151
|
-
accessibilityLabel: labelText,
|
|
152
|
-
accessibilityState: {
|
|
153
|
-
selected: isActive
|
|
154
|
-
},
|
|
155
|
-
children: inner
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
|
-
const circleStyles = StyleSheet.create({
|
|
159
|
-
relative: {
|
|
160
|
-
alignItems: 'center',
|
|
161
|
-
justifyContent: 'center'
|
|
162
|
-
},
|
|
163
|
-
pulse: {
|
|
164
|
-
position: 'absolute'
|
|
165
|
-
},
|
|
166
|
-
circle: {
|
|
167
|
-
borderWidth: 2,
|
|
168
|
-
alignItems: 'center',
|
|
169
|
-
justifyContent: 'center'
|
|
170
|
-
},
|
|
171
|
-
glyph: {
|
|
172
|
-
fontSize: 12,
|
|
173
|
-
fontWeight: '600',
|
|
174
|
-
includeFontPadding: false
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
const Stepper = /*#__PURE__*/forwardRef((props, ref) => {
|
|
178
|
-
const {
|
|
179
|
-
steps,
|
|
180
|
-
activeStep: activeStepProp,
|
|
181
|
-
defaultActiveStep = 0,
|
|
182
|
-
pressMode = 'none',
|
|
183
|
-
onStepPress,
|
|
184
|
-
onActiveStepChange,
|
|
185
|
-
variant = 'horizontal',
|
|
186
|
-
tone = 'primary',
|
|
187
|
-
formatCaption,
|
|
188
|
-
loading = false,
|
|
189
|
-
accessibilityLabel,
|
|
190
|
-
style,
|
|
191
|
-
containerStyle,
|
|
192
|
-
circleStyle,
|
|
193
|
-
labelStyle,
|
|
194
|
-
connectorStyle,
|
|
195
|
-
haptic,
|
|
196
|
-
testID
|
|
197
|
-
} = props;
|
|
198
|
-
const theme = useTheme();
|
|
199
|
-
const stepperTheme = theme.components.stepper;
|
|
200
|
-
const circleSize = stepperTheme?.circleSize ?? CIRCLE_SIZE;
|
|
201
|
-
const pulseSize = stepperTheme?.pulseSize ?? PULSE_SIZE;
|
|
202
|
-
const pulseEnabled = stepperTheme?.pulseAnimation ?? false;
|
|
203
|
-
const pulseDuration = stepperTheme?.pulseDuration ?? PULSE_DURATION;
|
|
204
|
-
const pressHaptic = resolveHaptic(haptic, 'selection');
|
|
205
|
-
const styles = useMemo(() => buildStyles(theme), [theme]);
|
|
206
|
-
const toneColor = toneColorFor(theme, tone);
|
|
207
|
-
const upcomingColor = theme.colors.border.primary;
|
|
208
|
-
const upcomingFillColor = theme.colors.background.primary;
|
|
209
|
-
const upcomingTextColor = theme.colors.text.secondary;
|
|
210
|
-
const textOnColor = theme.colors.text.inverse;
|
|
211
|
-
const total = steps.length;
|
|
212
|
-
const interactive = pressMode !== 'none';
|
|
213
|
-
|
|
214
|
-
// Controlled when the prop is passed (even as null) and kept here
|
|
215
|
-
// otherwise, the Accordion / Carousel convention.
|
|
216
|
-
const activeControlled = activeStepProp !== undefined;
|
|
217
|
-
const [innerActive, setInnerActive] = useState(defaultActiveStep);
|
|
218
|
-
const rawActive = activeControlled ? activeStepProp : innerActive;
|
|
219
|
-
const active = rawActive === null || rawActive === undefined || rawActive < 0 ? null : rawActive;
|
|
220
|
-
|
|
221
|
-
// The one status rule every variant draws from: steps run in order, so
|
|
222
|
-
// everything before the active step is done and nothing after it is.
|
|
223
|
-
const statusOf = i => {
|
|
224
|
-
if (active === null) {
|
|
225
|
-
return 'upcoming';
|
|
226
|
-
}
|
|
227
|
-
return i < active ? 'complete' : i === active ? 'active' : 'upcoming';
|
|
228
|
-
};
|
|
229
|
-
const statuses = steps.map((_, i) => statusOf(i));
|
|
230
|
-
const reachedCount = statuses.filter(st => st !== 'upcoming').length;
|
|
231
|
-
const doneCount = statuses.filter(st => st === 'complete').length;
|
|
232
|
-
const canPressStatus = status => pressMode === 'back' ? status === 'complete' : interactive;
|
|
233
|
-
const handleStepPress = i => {
|
|
234
|
-
if (!canPressStatus(statuses[i])) {
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
if (pressHaptic) {
|
|
238
|
-
triggerHaptic(pressHaptic);
|
|
239
|
-
}
|
|
240
|
-
onStepPress?.(i);
|
|
241
|
-
const next = pressMode === 'select' && i === active ? null : i;
|
|
242
|
-
if (!activeControlled) {
|
|
243
|
-
setInnerActive(next);
|
|
244
|
-
}
|
|
245
|
-
onActiveStepChange?.(next);
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
// One animated value drives every line and bar: how many steps are
|
|
249
|
-
// reached, from 0 to the step count. Each segment reads only its own
|
|
250
|
-
// one-step slice of it, so a jump from step 1 to step 4 fills the
|
|
251
|
-
// segments in between one after another, like a single line drawing,
|
|
252
|
-
// rather than all at once. The run takes one motion step per step
|
|
253
|
-
// crossed, so every segment moves at the same pace however far the jump.
|
|
254
|
-
const reached = useRef(createAnimatedValue(reachedCount)).current;
|
|
255
|
-
const lastReachedRef = useRef(reachedCount);
|
|
256
|
-
useEffect(() => {
|
|
257
|
-
const from = lastReachedRef.current;
|
|
258
|
-
if (from === reachedCount) {
|
|
259
|
-
return;
|
|
260
|
-
}
|
|
261
|
-
lastReachedRef.current = reachedCount;
|
|
262
|
-
const animation = Animated.timing(reached, {
|
|
263
|
-
toValue: reachedCount,
|
|
264
|
-
duration: theme.motion.duration.normal * Math.abs(reachedCount - from),
|
|
265
|
-
easing: Easing.linear,
|
|
266
|
-
useNativeDriver: false
|
|
267
|
-
});
|
|
268
|
-
animation.start();
|
|
269
|
-
return () => animation.stop();
|
|
270
|
-
}, [reachedCount, reached, theme.motion]);
|
|
271
|
-
|
|
272
|
-
// The share of a segment that is filled while `reached` passes [from, to].
|
|
273
|
-
const sliceOf = from => reached.interpolate({
|
|
274
|
-
inputRange: [from, from + 1],
|
|
275
|
-
outputRange: ['0%', '100%'],
|
|
276
|
-
extrapolate: 'clamp'
|
|
277
|
-
});
|
|
278
|
-
// Horizontal: one track from the first circle's centre to the last's. It
|
|
279
|
-
// is full when the last step is reached, so it spans reached counts 1 to
|
|
280
|
-
// the step count.
|
|
281
|
-
const widthInterp = total <= 1 ? '0%' : reached.interpolate({
|
|
282
|
-
inputRange: [1, total],
|
|
283
|
-
outputRange: ['0%', '100%'],
|
|
284
|
-
extrapolate: 'clamp'
|
|
285
|
-
});
|
|
286
|
-
const activeInRange = active !== null && active < total ? active : null;
|
|
287
|
-
const a11yLabel = accessibilityLabel ?? (activeInRange !== null ? `Progress: step ${activeInRange + 1} of ${total}` : `Progress: ${doneCount} of ${total} steps done`);
|
|
288
|
-
|
|
289
|
-
// Measure row width and inset the connector in pixels so it lines up
|
|
290
|
-
// with the flex-computed circle centres. Percentage insets (50/total%)
|
|
291
|
-
// round independently from flex layout on fractional-density screens
|
|
292
|
-
// and can leave the line poking past the first/last node by a pixel.
|
|
293
|
-
const [hRowWidth, setHRowWidth] = useState(0);
|
|
294
|
-
const connectorInset = total > 0 && hRowWidth > 0 ? hRowWidth / (2 * total) : 0;
|
|
295
|
-
const renderHorizontal = () => /*#__PURE__*/_jsxs(View, {
|
|
296
|
-
style: styles.hRow,
|
|
297
|
-
onLayout: e => setHRowWidth(e.nativeEvent.layout.width),
|
|
298
|
-
children: [/*#__PURE__*/_jsxs(View, {
|
|
299
|
-
pointerEvents: "none",
|
|
300
|
-
style: [styles.hConnectorContainer, {
|
|
301
|
-
left: connectorInset,
|
|
302
|
-
right: connectorInset
|
|
303
|
-
}, connectorStyle],
|
|
304
|
-
children: [/*#__PURE__*/_jsx(View, {
|
|
305
|
-
style: [styles.hConnectorTrack, {
|
|
306
|
-
backgroundColor: upcomingColor
|
|
307
|
-
}]
|
|
308
|
-
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
309
|
-
style: [styles.hConnectorFill, {
|
|
310
|
-
backgroundColor: toneColor,
|
|
311
|
-
width: widthInterp
|
|
312
|
-
}]
|
|
313
|
-
})]
|
|
314
|
-
}), steps.map((step, i) => {
|
|
315
|
-
const status = statuses[i];
|
|
316
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
317
|
-
style: styles.hStepItem,
|
|
318
|
-
children: [/*#__PURE__*/_jsx(StepCircle, {
|
|
319
|
-
index: i,
|
|
320
|
-
step: step,
|
|
321
|
-
status: status,
|
|
322
|
-
toneColor: toneColor,
|
|
323
|
-
upcomingColor: upcomingColor,
|
|
324
|
-
upcomingFillColor: upcomingFillColor,
|
|
325
|
-
onPressColor: toneColor,
|
|
326
|
-
textOnColor: textOnColor,
|
|
327
|
-
upcomingTextColor: upcomingTextColor,
|
|
328
|
-
interactive: interactive,
|
|
329
|
-
canPress: canPressStatus(status),
|
|
330
|
-
totalSteps: total,
|
|
331
|
-
onPress: handleStepPress,
|
|
332
|
-
circleSize: circleSize,
|
|
333
|
-
pulseSize: pulseSize,
|
|
334
|
-
pulseEnabled: pulseEnabled,
|
|
335
|
-
pulseDuration: pulseDuration,
|
|
336
|
-
circleSlotStyle: circleStyle
|
|
337
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
338
|
-
style: [styles.hLabel, {
|
|
339
|
-
color: status === 'upcoming' ? theme.colors.text.tertiary : theme.colors.text.primary,
|
|
340
|
-
fontSize: theme.typography.fontSize.xs
|
|
341
|
-
}, labelStyle],
|
|
342
|
-
numberOfLines: 1,
|
|
343
|
-
children: step?.label ?? ' '
|
|
344
|
-
})]
|
|
345
|
-
}, step.key);
|
|
346
|
-
})]
|
|
347
|
-
});
|
|
348
|
-
const renderVertical = () => /*#__PURE__*/_jsx(View, {
|
|
349
|
-
style: styles.vCol,
|
|
350
|
-
children: steps.map((step, i) => {
|
|
351
|
-
const status = statuses[i];
|
|
352
|
-
const isLast = i === total - 1;
|
|
353
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
354
|
-
style: styles.vRow,
|
|
355
|
-
children: [/*#__PURE__*/_jsxs(View, {
|
|
356
|
-
style: styles.vLeft,
|
|
357
|
-
children: [/*#__PURE__*/_jsx(StepCircle, {
|
|
358
|
-
index: i,
|
|
359
|
-
step: step,
|
|
360
|
-
status: status,
|
|
361
|
-
toneColor: toneColor,
|
|
362
|
-
upcomingColor: upcomingColor,
|
|
363
|
-
upcomingFillColor: upcomingFillColor,
|
|
364
|
-
onPressColor: toneColor,
|
|
365
|
-
textOnColor: textOnColor,
|
|
366
|
-
upcomingTextColor: upcomingTextColor,
|
|
367
|
-
interactive: interactive,
|
|
368
|
-
canPress: canPressStatus(status),
|
|
369
|
-
totalSteps: total,
|
|
370
|
-
onPress: handleStepPress,
|
|
371
|
-
circleSize: circleSize,
|
|
372
|
-
pulseSize: pulseSize,
|
|
373
|
-
pulseEnabled: pulseEnabled,
|
|
374
|
-
pulseDuration: pulseDuration,
|
|
375
|
-
circleSlotStyle: circleStyle
|
|
376
|
-
}), !isLast ? /*#__PURE__*/_jsxs(View, {
|
|
377
|
-
style: [styles.vConnectorContainer, connectorStyle],
|
|
378
|
-
children: [/*#__PURE__*/_jsx(View, {
|
|
379
|
-
style: [styles.vConnectorTrack, {
|
|
380
|
-
backgroundColor: upcomingColor
|
|
381
|
-
}]
|
|
382
|
-
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
383
|
-
style: [styles.vConnectorFill, {
|
|
384
|
-
backgroundColor: toneColor,
|
|
385
|
-
// Full once the step below is reached, empty otherwise, and
|
|
386
|
-
// swept in its turn as the reached count passes it.
|
|
387
|
-
// Step i + 1 is reached once the count passes i + 2.
|
|
388
|
-
height: sliceOf(i + 1)
|
|
389
|
-
}]
|
|
390
|
-
})]
|
|
391
|
-
}) : null]
|
|
392
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
393
|
-
style: styles.vBody,
|
|
394
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
395
|
-
style: [styles.vLabel, {
|
|
396
|
-
color: status === 'upcoming' ? theme.colors.text.tertiary : theme.colors.text.primary,
|
|
397
|
-
fontSize: theme.typography.fontSize.base,
|
|
398
|
-
fontWeight: theme.typography.fontWeight.semibold
|
|
399
|
-
}, labelStyle],
|
|
400
|
-
numberOfLines: 1,
|
|
401
|
-
children: step?.label ?? ' '
|
|
402
|
-
}), step.description ? /*#__PURE__*/_jsx(Text, {
|
|
403
|
-
style: [styles.vDescription, {
|
|
404
|
-
color: theme.colors.text.secondary,
|
|
405
|
-
fontSize: theme.typography.fontSize.sm
|
|
406
|
-
}],
|
|
407
|
-
numberOfLines: 3,
|
|
408
|
-
children: step.description
|
|
409
|
-
}) : null]
|
|
410
|
-
})]
|
|
411
|
-
}, step.key);
|
|
412
|
-
})
|
|
413
|
-
});
|
|
414
|
-
const renderSegmented = () => {
|
|
415
|
-
const shownStep = activeInRange !== null ? steps[activeInRange] : undefined;
|
|
416
|
-
const caption = formatCaption ? formatCaption(activeInRange, total, shownStep) : activeInRange !== null ? `Step ${activeInRange + 1} of ${total}${shownStep?.label ? ` · ${shownStep.label}` : ''}` : `${doneCount} of ${total} done`;
|
|
417
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
418
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
419
|
-
style: [styles.sCaption, {
|
|
420
|
-
color: theme.colors.text.secondary,
|
|
421
|
-
fontSize: theme.typography.fontSize.sm,
|
|
422
|
-
marginBottom: theme.spacing.sm
|
|
423
|
-
}, labelStyle],
|
|
424
|
-
numberOfLines: 1,
|
|
425
|
-
children: caption
|
|
426
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
427
|
-
style: styles.sRow,
|
|
428
|
-
children: steps.map((step, i) => {
|
|
429
|
-
const status = statuses[i];
|
|
430
|
-
const labelText = `Step ${i + 1} of ${total}, ${step.label}, ${status}`;
|
|
431
|
-
const bar = /*#__PURE__*/_jsx(View, {
|
|
432
|
-
testID: testID ? `${testID}-segment-${i}` : undefined,
|
|
433
|
-
style: [styles.sTrack, {
|
|
434
|
-
backgroundColor: upcomingColor
|
|
435
|
-
}, connectorStyle],
|
|
436
|
-
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
437
|
-
style: [styles.sFill, {
|
|
438
|
-
backgroundColor: toneColor,
|
|
439
|
-
width: sliceOf(i)
|
|
440
|
-
}]
|
|
441
|
-
})
|
|
442
|
-
});
|
|
443
|
-
if (interactive) {
|
|
444
|
-
const canPress = canPressStatus(status);
|
|
445
|
-
return /*#__PURE__*/_jsx(Pressable, {
|
|
446
|
-
style: styles.sItem,
|
|
447
|
-
onPress: () => handleStepPress(i),
|
|
448
|
-
disabled: !canPress,
|
|
449
|
-
accessibilityRole: "button",
|
|
450
|
-
accessibilityLabel: labelText,
|
|
451
|
-
accessibilityState: {
|
|
452
|
-
selected: status === 'active',
|
|
453
|
-
disabled: !canPress
|
|
454
|
-
}
|
|
455
|
-
// A 4 pt bar is too thin to hit; the slop makes a 28 pt target.
|
|
456
|
-
,
|
|
457
|
-
hitSlop: {
|
|
458
|
-
top: 12,
|
|
459
|
-
bottom: 12
|
|
460
|
-
},
|
|
461
|
-
children: bar
|
|
462
|
-
}, step.key);
|
|
463
|
-
}
|
|
464
|
-
return /*#__PURE__*/_jsx(View, {
|
|
465
|
-
style: styles.sItem,
|
|
466
|
-
accessibilityRole: "text",
|
|
467
|
-
accessibilityLabel: labelText,
|
|
468
|
-
accessibilityState: {
|
|
469
|
-
selected: status === 'active'
|
|
470
|
-
},
|
|
471
|
-
children: bar
|
|
472
|
-
}, step.key);
|
|
473
|
-
})
|
|
474
|
-
})]
|
|
475
|
-
});
|
|
476
|
-
};
|
|
477
|
-
const rendered = /*#__PURE__*/_jsx(View, {
|
|
478
|
-
ref: ref,
|
|
479
|
-
style: [styles.container, containerStyle, style],
|
|
480
|
-
testID: testID,
|
|
481
|
-
accessibilityRole: "progressbar",
|
|
482
|
-
accessibilityLabel: a11yLabel,
|
|
483
|
-
accessibilityValue: {
|
|
484
|
-
min: 0,
|
|
485
|
-
max: total,
|
|
486
|
-
now: reachedCount
|
|
487
|
-
},
|
|
488
|
-
children: variant === 'segmented' ? renderSegmented() : variant === 'vertical' ? renderVertical() : renderHorizontal()
|
|
489
|
-
});
|
|
490
|
-
if (loading) {
|
|
491
|
-
return /*#__PURE__*/_jsx(StepperSkeleton, {
|
|
492
|
-
...props
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
return rendered;
|
|
496
|
-
});
|
|
497
|
-
Stepper.displayName = 'Stepper';
|
|
498
|
-
|
|
499
|
-
/**
|
|
500
|
-
* Authored placeholder shape for `<Stepper>`. Mirrors the real horizontal
|
|
501
|
-
* layout — a row of circles spaced evenly with a flat connector bar passing
|
|
502
|
-
* through their centers — so the on-screen footprint doesn't reflow when
|
|
503
|
-
* data loads. Vertical variant gets a stacked column with the same circle +
|
|
504
|
-
* label + description pattern.
|
|
505
|
-
*
|
|
506
|
-
* Attached as the `Skeleton` static so `<SkeletonContent>` and any consumer
|
|
507
|
-
* of the auto-walker substitutes this shape automatically. Also rendered
|
|
508
|
-
* directly when `loading` is true on the live `<Stepper>`.
|
|
509
|
-
*/
|
|
510
|
-
const StepperSkeleton = ({
|
|
511
|
-
steps,
|
|
512
|
-
variant = 'horizontal',
|
|
513
|
-
containerStyle,
|
|
514
|
-
style,
|
|
515
|
-
testID
|
|
516
|
-
}) => {
|
|
517
|
-
const theme = useTheme();
|
|
518
|
-
const stepperTheme = theme.components.stepper;
|
|
519
|
-
const circleSize = stepperTheme?.circleSize ?? CIRCLE_SIZE;
|
|
520
|
-
const styles = useMemo(() => buildStyles(theme), [theme]);
|
|
521
|
-
const total = steps.length || 3;
|
|
522
|
-
if (variant === 'segmented') {
|
|
523
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
524
|
-
style: [styles.container, containerStyle, style],
|
|
525
|
-
testID: testID,
|
|
526
|
-
accessibilityRole: "progressbar",
|
|
527
|
-
accessibilityState: {
|
|
528
|
-
busy: true
|
|
529
|
-
},
|
|
530
|
-
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
531
|
-
shape: "text",
|
|
532
|
-
width: "45%",
|
|
533
|
-
height: 14,
|
|
534
|
-
style: {
|
|
535
|
-
marginBottom: theme.spacing.sm
|
|
536
|
-
}
|
|
537
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
538
|
-
style: styles.sRow,
|
|
539
|
-
children: Array.from({
|
|
540
|
-
length: total
|
|
541
|
-
}).map((_, i) => /*#__PURE__*/_jsx(View, {
|
|
542
|
-
style: styles.sItem,
|
|
543
|
-
children: /*#__PURE__*/_jsx(Skeleton, {
|
|
544
|
-
width: "100%",
|
|
545
|
-
height: SEGMENT_HEIGHT,
|
|
546
|
-
radius: SEGMENT_HEIGHT / 2
|
|
547
|
-
})
|
|
548
|
-
}, `sk-step-${i}`))
|
|
549
|
-
})]
|
|
550
|
-
});
|
|
551
|
-
}
|
|
552
|
-
if (variant === 'vertical') {
|
|
553
|
-
return /*#__PURE__*/_jsx(View, {
|
|
554
|
-
style: [styles.container, containerStyle, style],
|
|
555
|
-
testID: testID,
|
|
556
|
-
accessibilityRole: "progressbar",
|
|
557
|
-
accessibilityState: {
|
|
558
|
-
busy: true
|
|
559
|
-
},
|
|
560
|
-
children: /*#__PURE__*/_jsx(View, {
|
|
561
|
-
style: skeletonStyles.vCol,
|
|
562
|
-
children: Array.from({
|
|
563
|
-
length: total
|
|
564
|
-
}).map((_, i) => {
|
|
565
|
-
const isLast = i === total - 1;
|
|
566
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
567
|
-
style: skeletonStyles.vRow,
|
|
568
|
-
children: [/*#__PURE__*/_jsxs(View, {
|
|
569
|
-
style: [skeletonStyles.vLeft, {
|
|
570
|
-
width: circleSize + 8
|
|
571
|
-
}],
|
|
572
|
-
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
573
|
-
shape: "circle",
|
|
574
|
-
width: circleSize,
|
|
575
|
-
height: circleSize
|
|
576
|
-
}), !isLast ? /*#__PURE__*/_jsx(Skeleton, {
|
|
577
|
-
width: 2,
|
|
578
|
-
height: 36
|
|
579
|
-
}) : null]
|
|
580
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
581
|
-
style: skeletonStyles.vBody,
|
|
582
|
-
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
583
|
-
shape: "text",
|
|
584
|
-
width: "55%",
|
|
585
|
-
height: 16,
|
|
586
|
-
style: {
|
|
587
|
-
marginBottom: 4
|
|
588
|
-
}
|
|
589
|
-
}), /*#__PURE__*/_jsx(Skeleton, {
|
|
590
|
-
shape: "text",
|
|
591
|
-
width: "80%",
|
|
592
|
-
height: 12
|
|
593
|
-
})]
|
|
594
|
-
})]
|
|
595
|
-
}, `sk-step-${i}`);
|
|
596
|
-
})
|
|
597
|
-
})
|
|
598
|
-
});
|
|
599
|
-
}
|
|
600
|
-
return /*#__PURE__*/_jsx(View, {
|
|
601
|
-
style: [styles.container, containerStyle, style],
|
|
602
|
-
testID: testID,
|
|
603
|
-
accessibilityRole: "progressbar",
|
|
604
|
-
accessibilityState: {
|
|
605
|
-
busy: true
|
|
606
|
-
},
|
|
607
|
-
children: /*#__PURE__*/_jsxs(View, {
|
|
608
|
-
style: styles.hRow,
|
|
609
|
-
children: [/*#__PURE__*/_jsx(View, {
|
|
610
|
-
pointerEvents: "none",
|
|
611
|
-
style: [styles.hConnectorContainer, {
|
|
612
|
-
left: `${50 / total}%`,
|
|
613
|
-
right: `${50 / total}%`
|
|
614
|
-
}],
|
|
615
|
-
children: /*#__PURE__*/_jsx(Skeleton, {
|
|
616
|
-
width: "100%",
|
|
617
|
-
height: 2,
|
|
618
|
-
radius: 1
|
|
619
|
-
})
|
|
620
|
-
}), Array.from({
|
|
621
|
-
length: total
|
|
622
|
-
}).map((_, i) => /*#__PURE__*/_jsxs(View, {
|
|
623
|
-
style: styles.hStepItem,
|
|
624
|
-
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
625
|
-
shape: "circle",
|
|
626
|
-
width: circleSize,
|
|
627
|
-
height: circleSize
|
|
628
|
-
}), /*#__PURE__*/_jsx(Skeleton, {
|
|
629
|
-
shape: "text",
|
|
630
|
-
width: "80%",
|
|
631
|
-
height: 12,
|
|
632
|
-
style: {
|
|
633
|
-
marginTop: theme.spacing.xs
|
|
634
|
-
}
|
|
635
|
-
})]
|
|
636
|
-
}, `sk-step-${i}`))]
|
|
637
|
-
})
|
|
638
|
-
});
|
|
639
|
-
};
|
|
640
|
-
StepperSkeleton.displayName = 'StepperSkeleton';
|
|
641
|
-
Stepper.Skeleton = StepperSkeleton;
|
|
642
|
-
const skeletonStyles = StyleSheet.create({
|
|
643
|
-
vCol: {
|
|
644
|
-
flexDirection: 'column'
|
|
645
|
-
},
|
|
646
|
-
vRow: {
|
|
647
|
-
flexDirection: 'row',
|
|
648
|
-
alignItems: 'flex-start'
|
|
649
|
-
},
|
|
650
|
-
vLeft: {
|
|
651
|
-
alignItems: 'center'
|
|
652
|
-
},
|
|
653
|
-
vBody: {
|
|
654
|
-
flex: 1,
|
|
655
|
-
paddingLeft: 12,
|
|
656
|
-
paddingBottom: 16
|
|
657
|
-
}
|
|
658
|
-
});
|
|
659
|
-
const buildStyles = theme => StyleSheet.create({
|
|
660
|
-
container: {
|
|
661
|
-
width: '100%'
|
|
662
|
-
},
|
|
663
|
-
// Horizontal
|
|
664
|
-
hRow: {
|
|
665
|
-
flexDirection: 'row',
|
|
666
|
-
alignItems: 'flex-start',
|
|
667
|
-
justifyContent: 'space-between',
|
|
668
|
-
position: 'relative'
|
|
669
|
-
},
|
|
670
|
-
hConnectorContainer: {
|
|
671
|
-
position: 'absolute',
|
|
672
|
-
top: CIRCLE_SIZE / 2 - 1,
|
|
673
|
-
height: 2,
|
|
674
|
-
flexDirection: 'row',
|
|
675
|
-
alignItems: 'center'
|
|
676
|
-
},
|
|
677
|
-
hConnectorTrack: {
|
|
678
|
-
position: 'absolute',
|
|
679
|
-
left: 0,
|
|
680
|
-
right: 0,
|
|
681
|
-
height: 2,
|
|
682
|
-
borderRadius: 1,
|
|
683
|
-
...smoothCorners
|
|
684
|
-
},
|
|
685
|
-
hConnectorFill: {
|
|
686
|
-
position: 'absolute',
|
|
687
|
-
left: 0,
|
|
688
|
-
height: 2,
|
|
689
|
-
borderRadius: 1,
|
|
690
|
-
...smoothCorners
|
|
691
|
-
},
|
|
692
|
-
hStepItem: {
|
|
693
|
-
alignItems: 'center',
|
|
694
|
-
flex: 1
|
|
695
|
-
},
|
|
696
|
-
hLabel: {
|
|
697
|
-
marginTop: theme.spacing.xs,
|
|
698
|
-
textAlign: 'center'
|
|
699
|
-
},
|
|
700
|
-
// Vertical
|
|
701
|
-
vCol: {
|
|
702
|
-
flexDirection: 'column'
|
|
703
|
-
},
|
|
704
|
-
vRow: {
|
|
705
|
-
flexDirection: 'row',
|
|
706
|
-
alignItems: 'flex-start'
|
|
707
|
-
},
|
|
708
|
-
// Stretches to the row's height so the connector below the circle,
|
|
709
|
-
// which takes the rest of the column, reaches the next circle however
|
|
710
|
-
// many lines the description runs to.
|
|
711
|
-
vLeft: {
|
|
712
|
-
alignItems: 'center',
|
|
713
|
-
alignSelf: 'stretch',
|
|
714
|
-
width: CIRCLE_SIZE + 8
|
|
715
|
-
},
|
|
716
|
-
// Runs from one circle's edge to the next with no gap, as the horizontal
|
|
717
|
-
// line does. The minimum is the old 24 plus the two 4 pt gaps it used to
|
|
718
|
-
// leave, so the spacing between steps is unchanged.
|
|
719
|
-
vConnectorContainer: {
|
|
720
|
-
flex: 1,
|
|
721
|
-
width: 2,
|
|
722
|
-
minHeight: 32,
|
|
723
|
-
position: 'relative',
|
|
724
|
-
alignSelf: 'center'
|
|
725
|
-
},
|
|
726
|
-
vConnectorTrack: {
|
|
727
|
-
position: 'absolute',
|
|
728
|
-
top: 0,
|
|
729
|
-
bottom: 0,
|
|
730
|
-
width: 2,
|
|
731
|
-
borderRadius: 1,
|
|
732
|
-
...smoothCorners
|
|
733
|
-
},
|
|
734
|
-
vConnectorFill: {
|
|
735
|
-
position: 'absolute',
|
|
736
|
-
top: 0,
|
|
737
|
-
width: 2,
|
|
738
|
-
borderRadius: 1,
|
|
739
|
-
...smoothCorners
|
|
740
|
-
},
|
|
741
|
-
vBody: {
|
|
742
|
-
flex: 1,
|
|
743
|
-
paddingLeft: theme.spacing.sm,
|
|
744
|
-
paddingBottom: theme.spacing.md
|
|
745
|
-
},
|
|
746
|
-
vLabel: {
|
|
747
|
-
marginBottom: 2
|
|
748
|
-
},
|
|
749
|
-
vDescription: {},
|
|
750
|
-
// Segmented
|
|
751
|
-
sCaption: {
|
|
752
|
-
includeFontPadding: false
|
|
753
|
-
},
|
|
754
|
-
sRow: {
|
|
755
|
-
flexDirection: 'row',
|
|
756
|
-
columnGap: SEGMENT_GAP
|
|
757
|
-
},
|
|
758
|
-
sItem: {
|
|
759
|
-
flex: 1
|
|
760
|
-
},
|
|
761
|
-
// No smooth corners on a 4 pt bar, and the fill rounds itself rather
|
|
762
|
-
// than relying on the track's clip.
|
|
763
|
-
sTrack: {
|
|
764
|
-
height: SEGMENT_HEIGHT,
|
|
765
|
-
borderRadius: SEGMENT_HEIGHT / 2,
|
|
766
|
-
overflow: 'hidden'
|
|
767
|
-
},
|
|
768
|
-
sFill: {
|
|
769
|
-
height: SEGMENT_HEIGHT,
|
|
770
|
-
borderRadius: SEGMENT_HEIGHT / 2
|
|
771
|
-
}
|
|
772
|
-
});
|
|
773
|
-
export { Stepper };
|
|
774
|
-
export default Stepper;
|
|
775
|
-
//# sourceMappingURL=Stepper.js.map
|
|
1
|
+
"use strict";import React,{forwardRef,useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,StyleSheet,Text,View}from"react-native";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{Skeleton}from"../Skeleton/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const CIRCLE_SIZE=24,SEGMENT_HEIGHT=4,SEGMENT_GAP=6,PULSE_SIZE=32,PULSE_DURATION=1100,toneColorFor=(e,t)=>"success"===t?e.colors.success:e.colors.primary,toneOnColorFor=(e,t)=>"success"===t?e.colors.onSuccess:e.colors.onPrimary,StepCircle=({index:e,step:t,status:i,toneColor:o,upcomingColor:s,upcomingFillColor:l,textOnColor:n,upcomingTextColor:r,interactive:a,canPress:c,totalSteps:p,onPress:u,circleSize:d,pulseSize:h,pulseEnabled:m,pulseDuration:y,circleSlotStyle:g})=>{const S="active"===i,x=useRef(createAnimatedValue(1)).current,b=useRef(createAnimatedValue(.5)).current;useEffect(()=>{if(!S||!m)return x.setValue(1),void b.setValue(0);const e=Animated.loop(Animated.parallel([Animated.sequence([Animated.timing(x,{toValue:1.4,duration:y,easing:Easing.out(Easing.ease),useNativeDriver:!0}),Animated.timing(x,{toValue:1,duration:0,useNativeDriver:!0})]),Animated.sequence([Animated.timing(b,{toValue:0,duration:y,easing:Easing.out(Easing.ease),useNativeDriver:!0}),Animated.timing(b,{toValue:.5,duration:0,useNativeDriver:!0})])]));return e.start(),()=>e.stop()},[S,x,b,m,y]);const f="upcoming"===i?l:o,w="upcoming"===i?s:o,C="upcoming"===i?r:n,v="complete"===i,j=`Step ${e+1} of ${p}, ${t.label}, ${i}`,_=_jsxs(View,{style:circleStyles.relative,children:[S&&m?_jsx(Animated.View,{pointerEvents:"none",style:[circleStyles.pulse,{width:h,height:h,borderRadius:h/2,...smoothCorners,backgroundColor:o,opacity:b,transform:[{scale:x}]}]}):null,_jsx(View,{style:[circleStyles.circle,{width:d,height:d,borderRadius:d/2,...smoothCorners,backgroundColor:f,borderColor:w},g],children:t.icon?t.icon:_jsx(Text,v?{style:[circleStyles.glyph,{color:C}],children:"✓"}:{style:[circleStyles.glyph,{color:C}],children:e+1})})]});return a?_jsx(Pressable,{onPress:()=>u(e),disabled:!c,accessibilityRole:"button",accessibilityLabel:j,accessibilityState:{selected:S,disabled:!c},hitSlop:8,children:_}):_jsx(View,{accessibilityRole:"text",accessibilityLabel:j,accessibilityState:{selected:S},children:_})},circleStyles=StyleSheet.create({relative:{alignItems:"center",justifyContent:"center"},pulse:{position:"absolute"},circle:{borderWidth:2,alignItems:"center",justifyContent:"center"},glyph:{fontSize:12,fontWeight:"600",includeFontPadding:!1}}),Stepper=forwardRef((e,t)=>{const{steps:i,activeStep:o,defaultActiveStep:s=0,pressMode:l="none",onStepPress:n,onActiveStepChange:r,variant:a="horizontal",tone:c="primary",formatCaption:p,showCaption:u=!0,loading:d=!1,accessibilityLabel:h,style:m,containerStyle:y,circleStyle:g,labelStyle:S,connectorStyle:x,haptic:b,testID:f}=e,w=useTheme(),C=w.components.stepper,v=C?.circleSize??24,j=C?.pulseSize??32,_=C?.pulseAnimation??!1,V=C?.pulseDuration??1100,k=resolveHaptic(b,"selection"),R=useMemo(()=>buildStyles(w),[w]),I=toneColorFor(w,c),A=w.colors.border.primary,D=w.colors.background.primary,E=w.colors.text.secondary,L=toneOnColorFor(w,c),T=i.length,$="none"!==l,P=void 0!==o,[z,F]=useState(s),B=P?o:z,N=null==B||B<0?null:B,O=i.map((e,t)=>(e=>null===N?"upcoming":e<N?"complete":e===N?"active":"upcoming")(t)),H=O.filter(e=>"upcoming"!==e).length,M=O.filter(e=>"complete"===e).length,canPressStatus=e=>"back"===l?"complete"===e:$,handleStepPress=e=>{if(!canPressStatus(O[e]))return;k&&triggerHaptic(k),n?.(e);const t="select"===l&&e===N?null:e;P||F(t),r?.(t)},G=useRef(createAnimatedValue(H)).current,U=useRef(H);useEffect(()=>{const e=U.current;if(e===H)return;U.current=H;const t=Animated.timing(G,{toValue:H,duration:w.motion.duration.normal*Math.abs(H-e),easing:Easing.linear,useNativeDriver:!1});return t.start(),()=>t.stop()},[H,G,w.motion]);const sliceOf=e=>G.interpolate({inputRange:[e,e+1],outputRange:["0%","100%"],extrapolate:"clamp"}),W=T<=1?"0%":G.interpolate({inputRange:[1,T],outputRange:["0%","100%"],extrapolate:"clamp"}),q=null!==N&&N<T?N:null,Z=h??(null!==q?`Progress: step ${q+1} of ${T}`:`Progress: ${M} of ${T} steps done`),[J,K]=useState(0),Q=T>0&&J>0?J/(2*T):0,X=_jsx(View,{ref:t,style:[R.container,y,m],testID:f,accessibilityRole:"progressbar",accessibilityLabel:Z,accessibilityValue:{min:0,max:T,now:H},children:"segmented"===a?(()=>{const e=null!==q?i[q]:void 0,t=u?p?p(q,T,e):null!==q?`Step ${q+1} of ${T}${e?.label?` · ${e.label}`:""}`:`${M} of ${T} done`:"";return _jsxs(View,{children:[u?_jsx(Text,{style:[R.sCaption,{color:w.colors.text.secondary,fontSize:w.typography.fontSize.sm,marginBottom:w.spacing.sm},S],numberOfLines:1,children:t}):null,_jsx(View,{style:R.sRow,children:i.map((e,t)=>{const i=O[t],o=`Step ${t+1} of ${T}, ${e.label}, ${i}`,s=_jsx(View,{testID:f?`${f}-segment-${t}`:void 0,style:[R.sTrack,{backgroundColor:A},x],children:_jsx(Animated.View,{style:[R.sFill,{backgroundColor:I,width:sliceOf(t)}]})});if($){const l=canPressStatus(i);return _jsx(Pressable,{style:R.sItem,onPress:()=>handleStepPress(t),disabled:!l,accessibilityRole:"button",accessibilityLabel:o,accessibilityState:{selected:"active"===i,disabled:!l},hitSlop:{top:12,bottom:12},children:s},e.key)}return _jsx(View,{style:R.sItem,accessibilityRole:"text",accessibilityLabel:o,accessibilityState:{selected:"active"===i},children:s},e.key)})})]})})():"vertical"===a?_jsx(View,{style:R.vCol,children:i.map((e,t)=>{const i=O[t],o=t===T-1;return _jsxs(View,{style:R.vRow,children:[_jsxs(View,{style:R.vLeft,children:[_jsx(StepCircle,{index:t,step:e,status:i,toneColor:I,upcomingColor:A,upcomingFillColor:D,onPressColor:I,textOnColor:L,upcomingTextColor:E,interactive:$,canPress:canPressStatus(i),totalSteps:T,onPress:handleStepPress,circleSize:v,pulseSize:j,pulseEnabled:_,pulseDuration:V,circleSlotStyle:g}),o?null:_jsxs(View,{style:[R.vConnectorContainer,x],children:[_jsx(View,{style:[R.vConnectorTrack,{backgroundColor:A}]}),_jsx(Animated.View,{style:[R.vConnectorFill,{backgroundColor:I,height:sliceOf(t+1)}]})]})]}),_jsxs(View,{style:R.vBody,children:[_jsx(Text,{style:[R.vLabel,{color:"upcoming"===i?w.colors.text.tertiary:w.colors.text.primary,fontSize:w.typography.fontSize.base,fontWeight:w.typography.fontWeight.semibold},S],numberOfLines:1,children:e?.label??" "}),e.description?_jsx(Text,{style:[R.vDescription,{color:w.colors.text.secondary,fontSize:w.typography.fontSize.sm}],numberOfLines:3,children:e.description}):null]})]},e.key)})}):_jsxs(View,{style:R.hRow,onLayout:e=>K(e.nativeEvent.layout.width),children:[_jsxs(View,{pointerEvents:"none",style:[R.hConnectorContainer,{left:Q,right:Q},x],children:[_jsx(View,{style:[R.hConnectorTrack,{backgroundColor:A}]}),_jsx(Animated.View,{style:[R.hConnectorFill,{backgroundColor:I,width:W}]})]}),i.map((e,t)=>{const i=O[t];return _jsxs(View,{style:R.hStepItem,children:[_jsx(StepCircle,{index:t,step:e,status:i,toneColor:I,upcomingColor:A,upcomingFillColor:D,onPressColor:I,textOnColor:L,upcomingTextColor:E,interactive:$,canPress:canPressStatus(i),totalSteps:T,onPress:handleStepPress,circleSize:v,pulseSize:j,pulseEnabled:_,pulseDuration:V,circleSlotStyle:g}),_jsx(Text,{style:[R.hLabel,{color:"upcoming"===i?w.colors.text.tertiary:w.colors.text.primary,fontSize:w.typography.fontSize.xs},S],numberOfLines:1,children:e?.label??" "})]},e.key)})]})});return d?_jsx(StepperSkeleton,{...e}):X});Stepper.displayName="Stepper";const StepperSkeleton=({steps:e,variant:t="horizontal",showCaption:i=!0,containerStyle:o,style:s,testID:l})=>{const n=useTheme(),r=n.components.stepper,a=r?.circleSize??24,c=useMemo(()=>buildStyles(n),[n]),p=e.length||3;return"segmented"===t?_jsxs(View,{style:[c.container,o,s],testID:l,accessibilityRole:"progressbar",accessibilityState:{busy:!0},children:[i?_jsx(Skeleton,{shape:"text",width:"45%",height:14,style:{marginBottom:n.spacing.sm}}):null,_jsx(View,{style:c.sRow,children:Array.from({length:p}).map((e,t)=>_jsx(View,{style:c.sItem,children:_jsx(Skeleton,{width:"100%",height:4,radius:2})},`sk-step-${t}`))})]}):_jsx(View,"vertical"===t?{style:[c.container,o,s],testID:l,accessibilityRole:"progressbar",accessibilityState:{busy:!0},children:_jsx(View,{style:skeletonStyles.vCol,children:Array.from({length:p}).map((e,t)=>{const i=t===p-1;return _jsxs(View,{style:skeletonStyles.vRow,children:[_jsxs(View,{style:[skeletonStyles.vLeft,{width:a+8}],children:[_jsx(Skeleton,{shape:"circle",width:a,height:a}),i?null:_jsx(Skeleton,{width:2,height:36})]}),_jsxs(View,{style:skeletonStyles.vBody,children:[_jsx(Skeleton,{shape:"text",width:"55%",height:16,style:{marginBottom:4}}),_jsx(Skeleton,{shape:"text",width:"80%",height:12})]})]},`sk-step-${t}`)})})}:{style:[c.container,o,s],testID:l,accessibilityRole:"progressbar",accessibilityState:{busy:!0},children:_jsxs(View,{style:c.hRow,children:[_jsx(View,{pointerEvents:"none",style:[c.hConnectorContainer,{left:50/p+"%",right:50/p+"%"}],children:_jsx(Skeleton,{width:"100%",height:2,radius:1})}),Array.from({length:p}).map((e,t)=>_jsxs(View,{style:c.hStepItem,children:[_jsx(Skeleton,{shape:"circle",width:a,height:a}),_jsx(Skeleton,{shape:"text",width:"80%",height:12,style:{marginTop:n.spacing.xs}})]},`sk-step-${t}`))]})})};StepperSkeleton.displayName="StepperSkeleton",Stepper.Skeleton=StepperSkeleton;const skeletonStyles=StyleSheet.create({vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center"},vBody:{flex:1,paddingLeft:12,paddingBottom:16}}),buildStyles=e=>StyleSheet.create({container:{width:"100%"},hRow:{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",position:"relative"},hConnectorContainer:{position:"absolute",top:11,height:2,flexDirection:"row",alignItems:"center"},hConnectorTrack:{position:"absolute",left:0,right:0,height:2,borderRadius:1,...smoothCorners},hConnectorFill:{position:"absolute",left:0,height:2,borderRadius:1,...smoothCorners},hStepItem:{alignItems:"center",flex:1},hLabel:{marginTop:e.spacing.xs,textAlign:"center"},vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center",alignSelf:"stretch",width:32},vConnectorContainer:{flex:1,width:2,minHeight:32,position:"relative",alignSelf:"center"},vConnectorTrack:{position:"absolute",top:0,bottom:0,width:2,borderRadius:1,...smoothCorners},vConnectorFill:{position:"absolute",top:0,width:2,borderRadius:1,...smoothCorners},vBody:{flex:1,paddingLeft:e.spacing.sm,paddingBottom:e.spacing.md},vLabel:{marginBottom:2},vDescription:{},sCaption:{includeFontPadding:!1},sRow:{flexDirection:"row",columnGap:6},sItem:{flex:1},sTrack:{height:4,borderRadius:2,overflow:"hidden"},sFill:{height:4,borderRadius:2}});export{Stepper};export default Stepper;
|