@webority/mobile-ui 0.1.0 → 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/BottomSheet/BottomSheet.js +1 -1
- package/lib/commonjs/components/Button/Button.js +1 -1
- package/lib/commonjs/components/Confetti/Confetti.js +1 -1
- package/lib/commonjs/components/Drawer/Drawer.js +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.js +1 -1
- package/lib/commonjs/components/Slider/Slider.js +1 -1
- package/lib/commonjs/components/Swipeable/Swipeable.js +1 -1
- package/lib/commonjs/components/ZoomableImage/ZoomableImage.js +1 -1
- package/lib/module/components/Accordion/Accordion.js +1 -1
- package/lib/module/components/Accordion/index.js +1 -1
- package/lib/module/components/AmountSlider/AmountSlider.js +1 -1
- package/lib/module/components/AmountSlider/index.js +1 -1
- package/lib/module/components/AnimatePresence/AnimatePresence.js +1 -1
- package/lib/module/components/AnimatePresence/index.js +1 -1
- package/lib/module/components/AppBar/AppBar.js +1 -1
- package/lib/module/components/AppBar/index.js +1 -1
- package/lib/module/components/AppIcon/AppIcon.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/a.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/b.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/c.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/d.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/e.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/f.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/g.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/h.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/i.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/j.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/k.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/l.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/m.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/n.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/o.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/p.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/q.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/r.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/s.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/t.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/u.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/v.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/w.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/x.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/y.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bold/z.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/a.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/b.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/c.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/d.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/e.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/f.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/g.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/h.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/i.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/j.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/k.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/l.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/m.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/n.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/o.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/p.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/q.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/r.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/s.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/t.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/u.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/v.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/w.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/x.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/y.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/broken/z.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/a.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/b.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/c.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/d.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/e.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/f.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/g.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/h.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/i.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/j.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/k.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/l.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/m.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/n.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/o.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/p.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/q.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/r.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/s.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/t.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/u.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/v.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/w.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/x.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/y.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/bulk/z.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/a.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/b.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/c.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/d.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/e.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/f.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/g.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/h.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/i.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/j.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/k.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/l.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/m.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/n.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/o.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/p.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/q.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/r.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/s.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/t.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/u.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/v.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/w.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/x.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/y.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/linear/z.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/a.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/b.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/c.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/d.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/e.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/f.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/g.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/h.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/i.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/j.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/k.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/l.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/m.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/n.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/o.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/p.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/q.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/r.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/s.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/t.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/u.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/v.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/w.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/x.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/y.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/outline/z.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/a.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/b.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/c.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/d.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/e.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/f.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/g.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/h.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/i.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/j.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/k.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/l.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/m.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/n.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/o.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/p.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/q.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/r.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/s.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/t.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/u.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/v.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/w.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/x.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/y.g.js +1 -1
- package/lib/module/components/AppIcon/catalog/twotone/z.g.js +1 -1
- package/lib/module/components/AppIcon/catalog.g.js +1 -1
- package/lib/module/components/AppIcon/defaultIcons.js +1 -1
- package/lib/module/components/AppIcon/glyphs.g.js +1 -1
- package/lib/module/components/AppIcon/index.js +1 -1
- package/lib/module/components/AppIcon/slotIcon.js +1 -1
- package/lib/module/components/AppIcon/variants.g.js +1 -1
- package/lib/module/components/AsyncBlock/AsyncBlock.js +1 -1
- package/lib/module/components/AsyncBlock/index.js +1 -1
- package/lib/module/components/AuthedImage/AuthedImage.js +1 -1
- package/lib/module/components/AuthedImage/authedImageCache.js +1 -1
- package/lib/module/components/AuthedImage/index.js +1 -1
- package/lib/module/components/Autocomplete/Autocomplete.js +1 -1
- package/lib/module/components/Autocomplete/index.js +1 -1
- package/lib/module/components/Avatar/Avatar.js +1 -1
- package/lib/module/components/Avatar/index.js +1 -1
- package/lib/module/components/Badge/Badge.js +1 -1
- package/lib/module/components/Badge/index.js +1 -1
- package/lib/module/components/Banner/Banner.js +1 -1
- package/lib/module/components/Banner/index.js +1 -1
- package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
- package/lib/module/components/BottomNavigation/index.js +1 -1
- package/lib/module/components/BottomSheet/BottomSheet.js +1 -1
- package/lib/module/components/BottomSheet/index.js +1 -1
- package/lib/module/components/Box/Box.js +1 -1
- package/lib/module/components/Box/index.js +1 -1
- package/lib/module/components/Button/Button.js +1 -1
- package/lib/module/components/Button/index.js +1 -1
- package/lib/module/components/Card/Card.js +1 -1
- package/lib/module/components/Card/index.js +1 -1
- package/lib/module/components/Carousel/Carousel.js +1 -1
- package/lib/module/components/Carousel/index.js +1 -1
- package/lib/module/components/Checkbox/Checkbox.js +1 -1
- package/lib/module/components/Checkbox/index.js +1 -1
- package/lib/module/components/Chip/Chip.js +1 -1
- package/lib/module/components/Chip/index.js +1 -1
- package/lib/module/components/ChoiceGroup/ChoiceGroup.js +1 -1
- package/lib/module/components/ChoiceGroup/index.js +1 -1
- package/lib/module/components/Confetti/Confetti.js +1 -1
- package/lib/module/components/Confetti/index.js +1 -1
- package/lib/module/components/DatePicker/DatePicker.js +1 -1
- package/lib/module/components/DatePicker/index.js +1 -1
- package/lib/module/components/DateRangePicker/DateRangePicker.js +1 -1
- package/lib/module/components/DateRangePicker/index.js +1 -1
- package/lib/module/components/DecimalInput/DecimalInput.js +1 -1
- package/lib/module/components/DecimalInput/index.js +1 -1
- package/lib/module/components/Descriptions/Descriptions.js +1 -1
- package/lib/module/components/Descriptions/index.js +1 -1
- package/lib/module/components/Dialog/Dialog.js +1 -1
- package/lib/module/components/Dialog/index.js +1 -1
- package/lib/module/components/Divider/Divider.js +1 -1
- package/lib/module/components/Divider/index.js +1 -1
- package/lib/module/components/Drawer/Drawer.js +1 -1
- package/lib/module/components/Drawer/index.js +1 -1
- package/lib/module/components/EmptyState/EmptyState.js +1 -1
- package/lib/module/components/EmptyState/index.js +1 -1
- package/lib/module/components/ErrorBoundary/ErrorBoundary.js +1 -1
- package/lib/module/components/ErrorBoundary/index.js +1 -1
- package/lib/module/components/ErrorBoundary/useErrorHandler.js +1 -1
- package/lib/module/components/ErrorBoundary/withErrorBoundary.js +1 -1
- package/lib/module/components/FieldBase/Chevron.js +1 -1
- package/lib/module/components/FieldBase/ChoiceText.js +1 -1
- package/lib/module/components/FieldBase/FieldBase.js +1 -1
- package/lib/module/components/FieldBase/index.js +1 -1
- package/lib/module/components/FieldBase/useFloatingLabel.js +1 -1
- package/lib/module/components/FilePicker/FilePicker.js +1 -1
- package/lib/module/components/FilePicker/index.js +1 -1
- package/lib/module/components/FileViewer/FileViewer.js +1 -1
- package/lib/module/components/FileViewer/index.js +1 -1
- package/lib/module/components/FloatingActionButton/FloatingActionButton.js +1 -1
- package/lib/module/components/FloatingActionButton/index.js +1 -1
- package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -1
- package/lib/module/components/ForceUpdateDialog/index.js +1 -1
- package/lib/module/components/FormField/FormField.js +1 -1
- package/lib/module/components/FormField/index.js +1 -1
- package/lib/module/components/IconBadge/IconBadge.js +1 -1
- package/lib/module/components/IconBadge/index.js +1 -1
- package/lib/module/components/IconButton/IconButton.js +1 -1
- package/lib/module/components/IconButton/index.js +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/module/components/ImageGallery/index.js +1 -1
- package/lib/module/components/InlineSelect/InlineSelect.js +1 -1
- package/lib/module/components/InlineSelect/index.js +1 -1
- package/lib/module/components/Input/Input.js +1 -1
- package/lib/module/components/Input/index.js +1 -1
- package/lib/module/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -1
- package/lib/module/components/KeyboardAwareScrollView/index.js +1 -1
- package/lib/module/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
- package/lib/module/components/KeyboardToolbar/index.js +1 -1
- package/lib/module/components/ListItem/ListItem.js +1 -1
- package/lib/module/components/ListItem/index.js +1 -1
- package/lib/module/components/LoaderOverlay/LoaderOverlay.js +1 -1
- package/lib/module/components/LoaderOverlay/index.js +1 -1
- package/lib/module/components/Markdown/Markdown.js +1 -1
- package/lib/module/components/Markdown/index.js +1 -1
- package/lib/module/components/Markdown/parse.js +1 -1
- package/lib/module/components/Modal/Modal.js +1 -1
- package/lib/module/components/Modal/index.js +1 -1
- package/lib/module/components/Notation/Notation.js +1 -1
- package/lib/module/components/Notation/index.js +1 -1
- package/lib/module/components/NumberInput/NumberInput.js +1 -1
- package/lib/module/components/NumberInput/index.js +1 -1
- package/lib/module/components/OTPInput/OTPInput.js +1 -1
- package/lib/module/components/OTPInput/index.js +1 -1
- package/lib/module/components/OptionSheet/OptionSheet.js +1 -1
- package/lib/module/components/OptionSheet/index.js +1 -1
- package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
- package/lib/module/components/PhoneNumberInput/index.js +1 -1
- package/lib/module/components/PickerTrigger/PickerTrigger.js +1 -1
- package/lib/module/components/PickerTrigger/index.js +1 -1
- package/lib/module/components/ProfileCompletion/ProfileCompletion.js +1 -1
- package/lib/module/components/ProfileCompletion/index.js +1 -1
- package/lib/module/components/ProfilePicker/ProfilePicker.js +1 -1
- package/lib/module/components/ProfilePicker/index.js +1 -1
- package/lib/module/components/ProgressBar/ProgressBar.js +1 -1
- package/lib/module/components/ProgressBar/index.js +1 -1
- package/lib/module/components/ProgressRing/ProgressRing.js +1 -1
- package/lib/module/components/ProgressRing/index.js +1 -1
- package/lib/module/components/Radio/Radio.js +1 -1
- package/lib/module/components/Radio/RadioDot.js +1 -1
- package/lib/module/components/Radio/RadioGroup.js +1 -1
- package/lib/module/components/Radio/index.js +1 -1
- package/lib/module/components/Rating/Rating.js +1 -1
- package/lib/module/components/Rating/index.js +1 -1
- package/lib/module/components/Repeater/Repeater.js +1 -1
- package/lib/module/components/Repeater/index.js +1 -1
- package/lib/module/components/RichTextEditor/RichTextEditor.js +1 -1
- package/lib/module/components/RichTextEditor/index.js +1 -1
- package/lib/module/components/RichTextEditor/markdownActions.js +1 -1
- package/lib/module/components/SearchBar/SearchBar.js +1 -1
- package/lib/module/components/SearchBar/index.js +1 -1
- package/lib/module/components/SectionHeader/SectionHeader.js +1 -1
- package/lib/module/components/SectionHeader/index.js +1 -1
- package/lib/module/components/SegmentedControl/SegmentedControl.js +1 -1
- package/lib/module/components/SegmentedControl/index.js +1 -1
- package/lib/module/components/Select/Select.js +1 -1
- package/lib/module/components/Select/index.js +1 -1
- package/lib/module/components/Skeleton/Skeleton.js +1 -1
- package/lib/module/components/Skeleton/SkeletonClock.js +1 -1
- package/lib/module/components/Skeleton/SkeletonContent.js +1 -1
- package/lib/module/components/Skeleton/SkeletonList.js +1 -1
- package/lib/module/components/Skeleton/SkeletonProvider.js +1 -1
- package/lib/module/components/Skeleton/SkeletonSkip.js +1 -1
- package/lib/module/components/Skeleton/index.js +1 -1
- package/lib/module/components/SlideToConfirm/SlideToConfirm.js +1 -1
- package/lib/module/components/SlideToConfirm/index.js +1 -1
- package/lib/module/components/Slider/Slider.js +1 -1
- package/lib/module/components/Slider/index.js +1 -1
- package/lib/module/components/Slider/valueText.js +1 -1
- package/lib/module/components/SliderField/SliderField.js +1 -1
- package/lib/module/components/SliderField/index.js +1 -1
- package/lib/module/components/Spinner/Spinner.js +1 -1
- package/lib/module/components/Spinner/index.js +1 -1
- package/lib/module/components/SquircleFill/SquircleFill.js +1 -1
- package/lib/module/components/StatTile/StatTile.js +1 -1
- package/lib/module/components/StatTile/index.js +1 -1
- package/lib/module/components/StatusBadge/StatusBadge.js +1 -1
- package/lib/module/components/StatusBadge/index.js +1 -1
- package/lib/module/components/Stepper/Stepper.js +1 -1
- package/lib/module/components/Stepper/index.js +1 -1
- package/lib/module/components/Swipeable/Swipeable.js +1 -1
- package/lib/module/components/Swipeable/index.js +1 -1
- package/lib/module/components/Switch/Switch.js +1 -1
- package/lib/module/components/Switch/index.js +1 -1
- package/lib/module/components/Tabs/Tabs.js +1 -1
- package/lib/module/components/Tabs/index.js +1 -1
- package/lib/module/components/TagInput/TagInput.js +1 -1
- package/lib/module/components/TagInput/index.js +1 -1
- package/lib/module/components/Text/Text.js +1 -1
- package/lib/module/components/Text/index.js +1 -1
- package/lib/module/components/TimePicker/TimePicker.js +1 -1
- package/lib/module/components/TimePicker/index.js +1 -1
- package/lib/module/components/Timeline/Timeline.js +1 -1
- package/lib/module/components/Timeline/index.js +1 -1
- package/lib/module/components/Toast/Toast.js +1 -1
- package/lib/module/components/Toast/ToastProvider.js +1 -1
- package/lib/module/components/Toast/index.js +1 -1
- package/lib/module/components/Tooltip/Tooltip.js +1 -1
- package/lib/module/components/Tooltip/index.js +1 -1
- package/lib/module/components/Tour/Tour.js +1 -1
- package/lib/module/components/Tour/index.js +1 -1
- package/lib/module/components/ZoomableImage/ZoomableImage.js +1 -1
- package/lib/module/components/ZoomableImage/index.js +1 -1
- package/lib/module/components/index.js +1 -1
- package/lib/module/form/FormContext.js +1 -1
- package/lib/module/form/HookFormField.js +1 -1
- package/lib/module/form/equal.js +1 -1
- package/lib/module/form/index.js +1 -1
- package/lib/module/form/path.js +1 -1
- package/lib/module/form/rules.js +1 -1
- package/lib/module/form/types.js +1 -0
- package/lib/module/form/useField.js +1 -1
- package/lib/module/form/useForm.js +1 -1
- package/lib/module/form/useFormCompletion.js +1 -1
- package/lib/module/form/useHookFormField.js +1 -1
- package/lib/module/hooks/index.js +1 -1
- package/lib/module/hooks/useControllableState.js +1 -1
- package/lib/module/hooks/useDebounce.js +1 -1
- package/lib/module/hooks/useDragToDismiss.js +1 -1
- package/lib/module/hooks/useFlickGuard.js +1 -1
- package/lib/module/hooks/usePressAnimation.js +1 -1
- package/lib/module/hooks/useReducedMotion.js +1 -1
- package/lib/module/hooks/useToggle.js +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/initUI.js +1 -1
- package/lib/module/network/NetworkStatusBanner.js +1 -1
- package/lib/module/network/index.js +1 -1
- package/lib/module/specs/NativePdfRasterizer.js +1 -1
- package/lib/module/theme/Gradient.js +1 -1
- package/lib/module/theme/ThemeContext.js +1 -1
- package/lib/module/theme/animatedValue.js +1 -1
- package/lib/module/theme/index.js +1 -1
- package/lib/module/theme/merge.js +1 -1
- package/lib/module/theme/textStyle.js +1 -1
- package/lib/module/theme/tokens.js +1 -1
- package/lib/module/theme/types.js +1 -1
- package/lib/module/utils/color.js +1 -1
- package/lib/module/utils/corners.js +1 -1
- package/lib/module/utils/dimensions.js +1 -1
- package/lib/module/utils/feedback.js +1 -1
- package/lib/module/utils/hapticUtils.js +1 -1
- package/lib/module/utils/hashString.js +1 -1
- package/lib/module/utils/index.js +1 -1
- package/lib/module/utils/mergeRefs.js +1 -1
- package/lib/module/utils/responsive.js +1 -1
- package/lib/module/utils/shadows.js +1 -1
- package/lib/module/utils/spacing.js +1 -1
- package/lib/module/utils/squircle.js +1 -1
- package/lib/module/utils/warnUnknownProps.js +1 -1
- package/lib/typescript/commonjs/components/Button/Button.d.ts +5 -0
- package/lib/typescript/module/components/Button/Button.d.ts +5 -0
- package/package.json +2 -2
package/lib/module/form/equal.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const isPlainObject=
|
|
1
|
+
"use strict";const isPlainObject=t=>{if(null===t||"object"!=typeof t)return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e};export const valuesEqual=(t,e)=>{if(Object.is(t,e))return!0;if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(Array.isArray(t)||Array.isArray(e)){if(!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length)return!1;for(let r=0;r<t.length;r+=1)if(!valuesEqual(t[r],e[r]))return!1;return!0}if(!isPlainObject(t)||!isPlainObject(e))return!1;const r=Object.keys(t).filter(e=>void 0!==t[e]),n=Object.keys(e).filter(t=>void 0!==e[t]);if(r.length!==n.length)return!1;for(const n of r)if(!valuesEqual(t[n],e[n]))return!1;return!0};
|
package/lib/module/form/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{Form,useFormContext,useOptionalFormContext}from"./FormContext.js";export{HookFormField}from"./HookFormField.js";export{deletePath,getPath,setPath}from"./path.js";import*as
|
|
1
|
+
"use strict";export{Form,useFormContext,useOptionalFormContext}from"./FormContext.js";export{HookFormField}from"./HookFormField.js";export{deletePath,getPath,setPath}from"./path.js";import*as rules from"./rules.js";export{useField,useFieldArray}from"./useField.js";export{useForm}from"./useForm.js";export{isFieldFilled,useFormCompletion}from"./useFormCompletion.js";export{useHookFormField}from"./useHookFormField.js";export{rules};
|
package/lib/module/form/path.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const tokenize=t=>{const e=[],r=/[^.[\]]+/g;let n;for(;null!==(n=r.exec(t));){const t=n[0];e.push(/^\d+$/.test(t)?Number(t):t)}return e};export const getPath=(t,e)=>{const r=tokenize(e);let n=t;for(const t of r){if(null==n||"object"!=typeof n)return;n=n[t]}return n};export const setPath=(t,e,r)=>{const n=tokenize(e);if(0===n.length)return t;const o=Array.isArray(t)?[...t]:{...t};let s=o;for(let t=0;t<n.length-1;t++){const e=n[t],r=n[t+1],o=s[e],l=null!=o&&"object"==typeof o?Array.isArray(o)?[...o]:{...o}:"number"==typeof r?[]:{};s[e]=l,s=l}return s[n[n.length-1]]=r,o};export const deletePath=(t,e)=>{const r=tokenize(e);if(0===r.length)return t;const n=Array.isArray(t)?[...t]:{...t};let o=n;for(let t=0;t<r.length-1;t++){const e=r[t],s=o[e];if(null==s||"object"!=typeof s)return n;const l=Array.isArray(s)?[...s]:{...s};o[e]=l,o=l}const s=r[r.length-1];return Array.isArray(o)&&"number"==typeof s?o.splice(s,1):delete o[s],n};
|
|
1
|
+
"use strict";const tokenize=t=>{const e=[],r=/[^.[\]]+/g;let n;for(;null!==(n=r.exec(t));){const t=n[0];e.push(/^\d+$/.test(t)?Number(t):t)}return e};export const getPath=(t,e)=>{const r=tokenize(e);let n=t;for(const t of r){if(null==n||"object"!=typeof n)return;n=n[t]}return n};export const setPath=(t,e,r)=>{const n=tokenize(e);if(0===n.length)return t;const o=Array.isArray(t)?[...t]:{...t};let s=o;for(let t=0;t<n.length-1;t++){const e=n[t],r=n[t+1],o=s[e],l=null!=o&&"object"==typeof o?Array.isArray(o)?[...o]:{...o}:"number"==typeof r?[]:{};s[e]=l,s=l}return s[n[n.length-1]]=r,o};export const deletePath=(t,e)=>{const r=tokenize(e);if(0===r.length)return t;const n=Array.isArray(t)?[...t]:{...t};let o=n;for(let t=0;t<r.length-1;t++){const e=r[t],s=o[e];if(null==s||"object"!=typeof s)return n;const l=Array.isArray(s)?[...s]:{...s};o[e]=l,o=l}const s=r[r.length-1];return Array.isArray(o)&&"number"==typeof s?o.splice(s,1):delete o[s],n};
|
package/lib/module/form/rules.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isAadhaar
|
|
1
|
+
"use strict";import{isAadhaar,isAlphanumeric,isEmail,isGstin,isIfsc,isIndianMobile,isIndianPincode,isInteger,isNumeric,isPan,isPhone,isStrongPassword,isUrl}from"@webority/mobile-core";import{getPath}from"./path.js";const isEmptyValue=e=>null==e||""===e||Array.isArray(e)&&0===e.length,fromPredicate=(e,t)=>i=>r=>isEmptyValue(r)||e(r)?void 0:i??t;export const required=(e="This field is required")=>t=>"boolean"==typeof t?t?void 0:e:isEmptyValue(t)?e:void 0;export const email=fromPredicate(isEmail,"Enter a valid email");export const mobile=fromPredicate(isIndianMobile,"Enter a valid mobile number");export const phone=fromPredicate(isPhone,"Enter a valid phone number");export const url=fromPredicate(isUrl,"Enter a valid URL");export const numeric=fromPredicate(isNumeric,"Enter a valid number");export const integer=fromPredicate(isInteger,"Enter a whole number");export const alphanumeric=fromPredicate(isAlphanumeric,"Use letters and numbers only");export const pincode=fromPredicate(isIndianPincode,"Enter a valid 6-digit PIN code");export const pan=fromPredicate(isPan,"Enter a valid PAN");export const gstin=fromPredicate(isGstin,"Enter a valid GSTIN");export const aadhaar=fromPredicate(isAadhaar,"Enter a valid Aadhaar number");export const ifsc=fromPredicate(isIfsc,"Enter a valid IFSC code");export const minLength=(e,t)=>i=>isEmptyValue(i)||String(i).length>=e?void 0:t??`Must be at least ${e} characters`;export const maxLength=(e,t)=>i=>null==i||String(i).length<=e?void 0:t??`Must be at most ${e} characters`;export const min=(e,t)=>i=>isEmptyValue(i)||Number(i)>=e?void 0:t??`Must be at least ${e}`;export const max=(e,t)=>i=>isEmptyValue(i)||Number(i)<=e?void 0:t??`Must be at most ${e}`;export const pattern=(e,t="Invalid format")=>i=>isEmptyValue(i)||e.test(String(i))?void 0:t;export const oneOf=(e,t="Invalid selection")=>i=>isEmptyValue(i)||e.includes(i)?void 0:t;export const matches=(e,t="Values do not match")=>(i,r)=>i===getPath(r,e)?void 0:t;export const strongPassword=(e,t="Password is too weak")=>i=>isEmptyValue(i)||isStrongPassword(i,e)?void 0:t;export const custom=(e,t="Invalid value")=>async(i,r)=>{const o=await e(i,r);if(!0!==o)return!1===o?t:o};
|
package/lib/module/form/types.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useFormContext
|
|
1
|
+
"use strict";import{useFormContext}from"./FormContext.js";import{getPath}from"./path.js";export function useField(e){return useFormContext().getFieldProps(e)}export function useFieldArray(e){const t=useFormContext(),r=getPath(t.values,e)??[],set=r=>t.setFieldValue(e,r);return{fields:r,length:r.length,push:e=>set([...r,e]),remove:e=>set(r.filter((t,r)=>r!==e)),insert:(e,t)=>{const n=[...r];n.splice(e,0,t),set(n)},move:(e,t)=>{if(e<0||e>=r.length)return;const n=[...r],[o]=n.splice(e,1);n.splice(Math.max(0,Math.min(t,n.length)),0,o),set(n)},replace:(e,t)=>{if(e<0||e>=r.length)return;const n=[...r];n[e]=t,set(n)}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback
|
|
1
|
+
"use strict";import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{valuesEqual}from"./equal.js";import{getPath,setPath}from"./path.js";const rulesFor=(e,r)=>{if(!e||"function"==typeof e)return[];const t=e[r];return t?Array.isArray(t)?t:[t]:[]};export function useForm(e){const r=useRef(e);r.current=e;const t=useRef(e.initialValues),[u,n]=useState(e.initialValues),[s,c]=useState({}),[a,o]=useState({}),[l,i]=useState(!1),[f,d]=useState(!1),[v,b]=useState(0),h=useRef({values:u,errors:s,touched:a,submitCount:v});h.current={values:u,errors:s,touched:a,submitCount:v};const C=useRef(new Map),m=useRef([]),k=useRef(null),y=useRef({values:e.initialValues,version:0});valuesEqual(e.initialValues,y.current.values)||(y.current={values:e.initialValues,version:y.current.version+1});const g=y.current.version;useEffect(()=>{if(!r.current.enableReinitialize)return;const e=r.current.initialValues;t.current=e,h.current.values=e,h.current.errors={},h.current.touched={},n(e),c({}),o({})},[g]);const p=useCallback(async e=>{const t=r.current.validate,u=h.current.values;if("function"==typeof t){return(await t(u)??{})[e]||void 0}const n=getPath(u,e);for(const r of rulesFor(t,e)){const e=await r(n,u);if(e)return e}},[]),F=useCallback(async e=>{const t=r.current.validate;if(!t)return{};if("function"==typeof t)return await t(e)??{};const u={};return await Promise.all(Object.keys(t).map(async r=>{const n=getPath(e,r);for(const s of rulesFor(t,r)){const t=await s(n,e);if(t){u[r]=t;break}}})),u},[]),w=useCallback(async e=>{const r=await p(e);c(t=>{if(t[e]===r)return t;const u={...t};return r?u[e]=r:delete u[e],h.current.errors=u,u})},[p]),E=useCallback(async()=>{d(!0);const e=await F(h.current.values);return d(!1),h.current.errors=e,c(e),e},[F]),P=useCallback((e,t,u)=>{const s=setPath(h.current.values,e,t);h.current.values=s,n(s);const c=r.current,a=Boolean(h.current.errors[e])&&"blur"===c.revalidateOn;(u??(!a&&(h.current.touched[e]||h.current.submitCount>0||"change"===c.validateOn)))&&w(e)},[w]),S=useCallback(e=>{o(r=>{if(r[e])return r;const t={...r,[e]:!0};return h.current.touched=t,t}),w(e)},[w]),V=useCallback((e,r=!0,t)=>{const u={...h.current.touched,[e]:r};h.current.touched=u,o(u),(t??r)&&w(e)},[w]),O=useCallback((e,r)=>{c(t=>{const u={...t};return r?u[e]=r:delete u[e],h.current.errors=u,u})},[]),R=useCallback(e=>{h.current.errors=e,c(e)},[]),j=useCallback((e,r)=>{const t="function"==typeof e?e(h.current.values):{...h.current.values,...e};h.current.values=t,n(t),r&&E()},[E]),M=useCallback(e=>{const r=e?{...t.current,...e}:t.current;t.current=r,h.current.values=r,h.current.errors={},h.current.touched={},h.current.submitCount=0,n(r),c({}),o({}),b(0)},[]),q=useCallback((e,r)=>{r?(C.current.set(e,r),m.current.includes(e)||m.current.push(e)):(C.current.delete(e),m.current=m.current.filter(r=>r!==e))},[]),x=useCallback(e=>{k.current=e},[]),B=useCallback(e=>{const r=m.current,t=k.current,u=t?r.indexOf(t):-1,n=r[u+e];n&&(k.current=n,C.current.get(n)?.focus?.())},[]),A=useCallback(()=>B(1),[B]),T=useCallback(()=>B(-1),[B]),z=useMemo(()=>({setErrors:R,setFieldError:O,reset:M,setSubmitting:i}),[R,O,M]),N=useCallback(()=>{(async()=>{const e=r.current,t=h.current.values;h.current.submitCount+=1,b(e=>e+1),d(!0);const u=await F(t);d(!1);const n=new Set([...m.current,...Object.keys(u)]),s={...h.current.touched};n.forEach(e=>{s[e]=!0}),h.current.touched=s,h.current.errors=u,o(s),c(u);const a=m.current.find(e=>u[e])??Object.keys(u).find(e=>u[e]);if(a)C.current.get(a)?.focus?.();else{i(!0);try{await e.onSubmit(t,z)}finally{i(!1)}}})()},[F,z]),D=useMemo(()=>{const e={};for(const r of Object.keys(s))s[r]&&(a[r]||v>0)&&(e[r]=s[r]);return e},[s,a,v]),G=useMemo(()=>{const e=r.current.validate;if(!e)return!0;if("function"==typeof e)return Object.values(s).every(e=>!e);for(const r of Object.keys(e)){const t=getPath(u,r);for(const n of rulesFor(e,r)){const e=n(t,u);if("string"==typeof e&&e)return!1}}return!0},[u,s]),H=useMemo(()=>!valuesEqual(u,t.current),[u]);return{values:u,errors:D,rawErrors:s,touched:a,dirty:H,isValid:G,isSubmitting:l,isValidating:f,submitCount:v,setFieldValue:P,setFieldTouched:V,setFieldError:O,setValues:j,setErrors:R,reset:M,validate:E,validateField:p,submit:N,handleBlur:S,focusNext:A,focusPrev:T,registerField:q,getFieldState:e=>{const r=getPath(u,e),n=s[e],c=!!a[e];return{value:r,error:c||v>0?n:void 0,rawError:n,touched:c,dirty:!valuesEqual(r,getPath(t.current,e))}},getFieldProps:e=>({name:e,value:getPath(u,e),error:a[e]||v>0?s[e]:void 0,touched:!!a[e],onChange:r=>P(e,r),onChangeText:r=>P(e,r),onBlur:()=>S(e),onFocus:()=>x(e),setValue:(r,t)=>P(e,r,t)})}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo
|
|
1
|
+
"use strict";import{useMemo}from"react";import{getPath}from"./path.js";export const isFieldFilled=t=>null!=t&&!1!==t&&("number"==typeof t?!Number.isNaN(t):"string"==typeof t?t.trim().length>0:!Array.isArray(t)||t.length>0);export const useFormCompletion=(t,e,r={})=>{const{isFilled:i}=r,s=e.join("\0");return useMemo(()=>{const e=0===s.length?[]:s.split("\0"),r=e.filter(e=>{const r=getPath(t,e);return!(i?i(r,e):isFieldFilled(r))}),l=e.length,o=l-r.length,n=0===l?0:o/l;return{progress:n,percent:100*n,filled:o,total:l,missing:r}},[t,s,i])};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useController
|
|
1
|
+
"use strict";import{useController}from"react-hook-form";export function useHookFormField(e){const{field:o,fieldState:r}=useController(e);return{name:o.name,value:o.value,error:r.error?.message||void 0,touched:r.isTouched,dirty:r.isDirty,onChange:e=>{o.onChange(e)},onChangeText:e=>{o.onChange(e)},onBlur:()=>{o.onBlur()},ref:o.ref}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{useControllableState}from"./useControllableState.js";export{useDebounce}from"./useDebounce.js";export{createDragToDismissController,DRAG_DISMISS_DISTANCE,DRAG_DISMISS_VELOCITY,useDragToDismiss}from"./useDragToDismiss.js";export{FLICK_TOLERANCE,useFlickGuard}from"./useFlickGuard.js";export{PRESS_ANIMATION_PRESETS,usePressAnimation}from"./usePressAnimation.js";export{useReducedMotion}from"./useReducedMotion.js";export{useToggle}from"./useToggle.js";
|
|
1
|
+
"use strict";export{useControllableState}from"./useControllableState.js";export{useDebounce}from"./useDebounce.js";export{createDragToDismissController,DRAG_DISMISS_DISTANCE,DRAG_DISMISS_VELOCITY,useDragToDismiss}from"./useDragToDismiss.js";export{FLICK_TOLERANCE,useFlickGuard}from"./useFlickGuard.js";export{PRESS_ANIMATION_PRESETS,usePressAnimation}from"./usePressAnimation.js";export{useReducedMotion}from"./useReducedMotion.js";export{useToggle}from"./useToggle.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback
|
|
1
|
+
"use strict";import{useCallback,useRef,useState}from"react";export function useControllableState({value:e,defaultValue:t,onChange:u}){const a=useRef(void 0!==e).current,[l,r]=useState(t);return[a?e:l,useCallback(e=>{a||r(e),u?.(e)},[a,u])]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useEffect
|
|
1
|
+
"use strict";import{useEffect,useState}from"react";export const useDebounce=(e,t=300)=>{const[s,u]=useState(e);return useEffect(()=>{const s=setTimeout(()=>u(e),t);return()=>clearTimeout(s)},[e,t]),s};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo
|
|
1
|
+
"use strict";import{useMemo}from"react";import{Animated,Easing}from"react-native";import{Gesture}from"react-native-gesture-handler";import{setNativeValue,useTheme}from"../theme/index.js";export const DRAG_DISMISS_DISTANCE=100;export const DRAG_DISMISS_VELOCITY=.5;export const createDragToDismissController=({drag:e,travel:t,onDismiss:s},n)=>{const{snappy:a}=n.spring,springBack=()=>Animated.spring(e,{toValue:0,damping:a.damping,stiffness:a.stiffness,mass:a.mass,useNativeDriver:!0}).start();return{move:t=>{setNativeValue(e,Math.max(0,t))},release:(a,r)=>{a>100||r>.5?Animated.timing(e,{toValue:"function"==typeof t?t():t,duration:n.duration.fast,easing:Easing.bezier(...n.easing.accelerate),useNativeDriver:!0}).start(()=>s()):springBack()},cancel:springBack}};export const useDragToDismiss=e=>{const{drag:t,travel:s,onDismiss:n,contentAtTop:a,scrollGesture:r}=e,{motion:i}=useTheme();return useMemo(()=>{const e=createDragToDismissController({drag:t,travel:s,onDismiss:n},i),o=Gesture.Pan().runOnJS(!0).activeOffsetY(6).failOffsetX([-12,12]).onUpdate(t=>e.move(t.translationY)).onEnd(t=>e.release(t.translationY,t.velocityY/1e3)).onFinalize((t,s)=>{s||e.cancel()});let l=0,m=!1;const u=Gesture.Pan().runOnJS(!0).activeOffsetY(8).failOffsetX([-12,12]).onBegin(()=>{l=0,m=!1}).onUpdate(t=>{if(!m){if(a&&!a())return;m=!0,l=t.translationY}e.move(t.translationY-l)}).onEnd(t=>{m&&e.release(t.translationY-l,t.velocityY/1e3)}).onFinalize((t,s)=>{!s&&m&&e.cancel()});return r&&u.simultaneousWithExternalGesture(r),{handleGesture:o,sheetGesture:u}},[t,s,n,a,r,i])};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback
|
|
1
|
+
"use strict";import{useCallback,useRef}from"react";export const FLICK_TOLERANCE=10;export const useFlickGuard=()=>{const e=useRef(null);return{onPressIn:useCallback(t=>{const{pageX:n,pageY:r}=t.nativeEvent;e.current="number"==typeof n&&"number"==typeof r?{x:n,y:r}:null},[]),isFlick:useCallback(t=>{const n=e.current;if(e.current=null,!n)return!1;const{pageX:r,pageY:u}=t.nativeEvent;return"number"==typeof r&&"number"==typeof u&&Math.hypot(r-n.x,u-n.y)>10},[])}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback
|
|
1
|
+
"use strict";import{useCallback,useMemo,useRef}from"react";import{Easing,Animated as RNAnimated}from"react-native";import{useTheme}from"../theme/index.js";import{createAnimatedValue}from"../theme/animatedValue.js";export const PRESS_ANIMATION_PRESETS=["scale","bounce","fade","sink","pulse"];const FADE_TO=.6,SINK_BY=2,PULSE_TO=1.05,DEFAULT_SCALE_TO={scale:.97,bounce:.92,fade:1,sink:1,pulse:1};export const usePressAnimation=({preset:e="scale",scaleTo:a,pressDuration:s,enabled:t=!0}={})=>{const n=useTheme(),i=useRef(createAnimatedValue(1)).current,r=useRef(createAnimatedValue(1)).current,o=useRef(createAnimatedValue(0)).current,c=a??DEFAULT_SCALE_TO[e],u=useCallback((e,a,t)=>RNAnimated.timing(e,{toValue:a,duration:s??n.motion.duration.fast,easing:Easing.bezier(...t),useNativeDriver:!0}),[s,n]),m=useCallback((e,a,s)=>RNAnimated.spring(e,{toValue:a,damping:n.motion.spring[s].damping,stiffness:n.motion.spring[s].stiffness,mass:n.motion.spring[s].mass,useNativeDriver:!0}),[n]),l=useCallback(()=>{if(t)switch(e){case"scale":case"bounce":u(i,c,n.motion.easing.standard).start();break;case"fade":u(r,.6,n.motion.easing.standard).start();break;case"sink":u(o,2,n.motion.easing.standard).start()}},[t,e,c,i,r,o,n,u]),d=useCallback(()=>{if(t)switch(e){case"scale":m(i,1,"snappy").start();break;case"bounce":m(i,1,"bouncy").start();break;case"fade":u(r,1,n.motion.easing.decelerate).start();break;case"sink":m(o,0,"snappy").start()}},[t,e,i,r,o,n,u,m]),p=useCallback(()=>{t&&"pulse"===e&&RNAnimated.sequence([RNAnimated.timing(i,{toValue:1.05,duration:n.motion.duration.instant,easing:Easing.bezier(...n.motion.easing.accelerate),useNativeDriver:!0}),m(i,1,"snappy")]).start()},[t,e,i,n,m]),f=useMemo(()=>({transform:[{scale:i},{translateY:o}],opacity:r}),[i,o,r]);return{scale:i,opacity:r,translateY:o,style:f,pressIn:l,pressOut:d,press:p}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useEffect
|
|
1
|
+
"use strict";import{useEffect,useState}from"react";import{AccessibilityInfo}from"react-native";export const useReducedMotion=()=>{const[e,t]=useState(!1);return useEffect(()=>{let e=!0;AccessibilityInfo.isReduceMotionEnabled().then(i=>{e&&t(i)});const i=AccessibilityInfo.addEventListener("reduceMotionChanged",e=>t(e));return()=>{e=!1,i.remove()}},[]),e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback
|
|
1
|
+
"use strict";import{useCallback,useState}from"react";export const useToggle=(e=!1)=>{const[t,s]=useState(e);return{value:t,toggle:useCallback(()=>s(e=>!e),[]),setOn:useCallback(()=>s(!0),[]),setOff:useCallback(()=>s(!1),[]),setValue:s}};
|
package/lib/module/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"./components/index.js";export{APP_ICON_SIZES,AppIcon,CURATED_ICON_NAMES,defaultIcons,ICON_NAMES,ICONSAX_SUFFIX,renderSlotIcon}from"./components/AppIcon/index.js";export{deletePath,Form,getPath,HookFormField,isFieldFilled,rules,setPath,useField,useFieldArray,useForm,useFormCompletion,useFormContext,useHookFormField,useOptionalFormContext}from"./form/index.js";export{FLICK_TOLERANCE,PRESS_ANIMATION_PRESETS,useControllableState,useDebounce,useFlickGuard,usePressAnimation,useReducedMotion,useToggle}from"./hooks/index.js";export{initUI}from"./initUI.js";export{NetworkStatusBanner}from"./network/index.js";export{darkTheme,getColorMode,getTheme,lightTheme,mergeTheme,resetTheme,setColorMode,setTheme,subscribeTheme,ThemeProvider,useTheme,useThemeMode}from"./theme/index.js";export{Breakpoints,configureFeedback,feedback,hapticForIntent,isFeedbackEnabled,isScreenSize,isTablet,Margin,Padding,Responsive,ScreenDimensions,Spacing,SQUIRCLE_MIN_RADIUS,SQUIRCLE_SMOOTHING,setHapticImplementation,shadowStyle,smoothCorners,squircleApplies,squircleHostRadius,squirclePath,triggerHaptic,useScreenDimensions,warnUnknownProps}from"./utils/index.js";
|
|
1
|
+
"use strict";export*from"./components/index.js";export{APP_ICON_SIZES,AppIcon,CURATED_ICON_NAMES,defaultIcons,ICON_NAMES,ICONSAX_SUFFIX,renderSlotIcon}from"./components/AppIcon/index.js";export{deletePath,Form,getPath,HookFormField,isFieldFilled,rules,setPath,useField,useFieldArray,useForm,useFormCompletion,useFormContext,useHookFormField,useOptionalFormContext}from"./form/index.js";export{FLICK_TOLERANCE,PRESS_ANIMATION_PRESETS,useControllableState,useDebounce,useFlickGuard,usePressAnimation,useReducedMotion,useToggle}from"./hooks/index.js";export{initUI}from"./initUI.js";export{NetworkStatusBanner}from"./network/index.js";export{darkTheme,getColorMode,getTheme,lightTheme,mergeTheme,resetTheme,setColorMode,setTheme,subscribeTheme,ThemeProvider,useTheme,useThemeMode}from"./theme/index.js";export{Breakpoints,configureFeedback,feedback,hapticForIntent,isFeedbackEnabled,isScreenSize,isTablet,Margin,Padding,Responsive,ScreenDimensions,Spacing,SQUIRCLE_MIN_RADIUS,SQUIRCLE_SMOOTHING,setHapticImplementation,shadowStyle,smoothCorners,squircleApplies,squircleHostRadius,squirclePath,triggerHaptic,useScreenDimensions,warnUnknownProps}from"./utils/index.js";
|
package/lib/module/initUI.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{setColorMode
|
|
1
|
+
"use strict";import{setColorMode,setTheme}from"./theme/index.js";export const initUI=(e={})=>{e.defaultMode&&setColorMode(e.defaultMode),e.light&&setTheme(e.light,"light"),e.dark&&setTheme(e.dark,"dark")};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useNetworkStatus
|
|
1
|
+
"use strict";import{useNetworkStatus}from"@webority/mobile-core";import React,{useEffect,useMemo,useRef,useState}from"react";import{Animated,StyleSheet,Text}from"react-native";import{useSafeAreaInsets}from"react-native-safe-area-context";import{fontFor,useTheme}from"../theme/index.js";import{jsx as _jsx}from"react/jsx-runtime";export const NetworkStatusBanner=({message:e="You are offline. Some features may be unavailable.",position:t="top",style:o,disabled:a=!1,safeArea:n=!0})=>{const r=useTheme(),i=useSafeAreaInsets(),s=n?"top"===t?i.top:i.bottom:0,[u,l]=useState(0),m=u>0?u:56+s,{isConnected:c,isInternetReachable:p}=useNetworkStatus(),d=!(a||c&&!1!==p),f=useRef(new Animated.Value(0)).current,b=useRef(new Animated.Value(0)).current;useEffect(()=>{Animated.parallel([Animated.timing(f,{toValue:d?1:0,duration:r.motion.duration.normal,useNativeDriver:!0}),Animated.timing(b,{toValue:d?1:0,duration:r.motion.duration.normal,useNativeDriver:!0})]).start()},[d,f,b,r.motion.duration.normal]);const S=useMemo(()=>buildStyles(),[]),y=f.interpolate({inputRange:[0,1],outputRange:["top"===t?-m:m,0]});return _jsx(Animated.View,{pointerEvents:d?"auto":"none",accessibilityRole:"alert",accessibilityLiveRegion:d?"polite":"none",onLayout:e=>l(e.nativeEvent.layout.height),style:[S.container,"top"===t?S.top:S.bottom,"top"===t?{paddingTop:10+s}:{paddingBottom:10+s},{backgroundColor:r.colors.error,opacity:b,transform:[{translateY:y}]},o],children:_jsx(Text,{style:{color:r.colors.onError,fontSize:r.typography.fontSize.sm,...fontFor(r,"semibold"),textAlign:"center"},numberOfLines:2,children:e})})};const buildStyles=()=>StyleSheet.create({container:{position:"absolute",left:0,right:0,paddingVertical:10,paddingHorizontal:16,zIndex:1e3,elevation:8},top:{top:0},bottom:{bottom:0}});export default NetworkStatusBanner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{NetworkStatusBanner}from"./NetworkStatusBanner.js";
|
|
1
|
+
"use strict";export{NetworkStatusBanner}from"./NetworkStatusBanner.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{TurboModuleRegistry
|
|
1
|
+
"use strict";import{TurboModuleRegistry}from"react-native";export default TurboModuleRegistry.get("PdfRasterizer");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{View
|
|
1
|
+
"use strict";import{View}from"react-native";import{jsx as _jsx}from"react/jsx-runtime";const DEFAULT_START={x:.5,y:0},DEFAULT_END={x:.5,y:1},round=t=>Math.round(1e3*t)/1e3;export const gradientAngle=(t=DEFAULT_START,o=DEFAULT_END)=>{const r=180*Math.atan2(o.x-t.x,t.y-o.y)/Math.PI;return round((r%360+360)%360)};export const toBackgroundImage=t=>({type:"linear-gradient",direction:`${gradientAngle(t.start,t.end)}deg`,colorStops:t.colors.map((o,r)=>{const e=t.locations?.[r];return void 0===e?{color:o}:{color:o,positions:[`${round(100*e)}%`]}})});export const Gradient=({gradient:t,style:o,children:r})=>_jsx(View,{style:[{experimental_backgroundImage:[toBackgroundImage(t)]},o],children:r});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Storage
|
|
1
|
+
"use strict";import{Storage}from"@webority/mobile-core";import React,{createContext,useCallback,useContext,useEffect,useMemo,useRef,useState}from"react";import{Appearance}from"react-native";import{useReducedMotion}from"../hooks/useReducedMotion.js";import{mergeTheme}from"./merge.js";import{darkTheme,lightTheme}from"./tokens.js";import{jsx as _jsx}from"react/jsx-runtime";const REDUCED_SPRING={damping:100,stiffness:1e3,mass:1},collapseMotion=e=>({...e,duration:{instant:0,fast:0,normal:0,slow:0,slower:0},spring:{gentle:REDUCED_SPRING,bouncy:REDUCED_SPRING,snappy:REDUCED_SPRING}}),isPreference=e=>"light"===e||"dark"===e||"system"===e,defaultValue={theme:lightTheme,mode:"light",preference:"system",setPreference:()=>{},toggleColorMode:()=>{}},ThemeContext=createContext(defaultValue);export const ThemeProvider=({children:e,initialPreference:t="system",persistKey:r,lightOverrides:o,darkOverrides:s})=>{const[n,m]=useState(t),c=useRef(!1);useEffect(()=>{if(!r)return;let e=!0;return Storage.getItem(r).then(t=>{e&&!c.current&&isPreference(t)&&m(t)}),()=>{e=!1}},[r]);const a=useCallback(e=>{c.current=!0,m(e)},[]);useEffect(()=>{r&&c.current&&Storage.setItem(r,n)},[r,n]);const[i,u]=useState(()=>Appearance.getColorScheme()??"light");useEffect(()=>{const e=Appearance.addChangeListener(({colorScheme:e})=>{u(e??"light")});return()=>e.remove()},[]);const l="system"===n?i:n,d=useReducedMotion(),f=useMemo(()=>{const e="dark"===l?darkTheme:lightTheme,t="dark"===l?s:o,r=t?mergeTheme(e,t):e;return d?{...r,motion:collapseMotion(r.motion)}:r},[l,o,s,d]),h=useMemo(()=>({theme:f,mode:l,preference:n,setPreference:a,toggleColorMode:()=>a(e=>"system"===e?"dark"===i?"light":"dark":"dark"===e?"light":"dark")}),[f,l,n,i,a]);return _jsx(ThemeContext.Provider,{value:h,children:e})};export const useTheme=()=>useContext(ThemeContext).theme;export const useThemeMode=()=>{const e=useContext(ThemeContext);return{mode:e.mode,preference:e.preference,setPreference:e.setPreference,toggleColorMode:e.toggleColorMode}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Animated
|
|
1
|
+
"use strict";import{Animated,Platform}from"react-native";export const createAnimatedValue=(t,e)=>{const a=new Animated.Value(t,e);return"web"===Platform.OS?a:(a._tracking=null,Object.seal(a))};export const setNativeValue=(t,e)=>{Animated.timing(t,{toValue:e,duration:0,useNativeDriver:!0}).start()};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeTheme
|
|
1
|
+
"use strict";import{mergeTheme}from"./merge.js";import{darkTheme,lightTheme}from"./tokens.js";let lightOverridesGlobal,darkOverridesGlobal,currentMode="light",currentTheme=lightTheme;const subscribers=new Set,recompute=()=>{const e="dark"===currentMode?darkTheme:lightTheme,r="dark"===currentMode?darkOverridesGlobal:lightOverridesGlobal;currentTheme=r?mergeTheme(e,r):e,subscribers.forEach(e=>e())};export const setTheme=(e,r)=>{r&&(currentMode=r),"dark"===currentMode?darkOverridesGlobal=e:lightOverridesGlobal=e,recompute()};export const setColorMode=e=>{currentMode=e,recompute()};export const getColorMode=()=>currentMode;export const getTheme=()=>currentTheme;export const resetTheme=()=>{currentMode="light",lightOverridesGlobal=void 0,darkOverridesGlobal=void 0,recompute()};export const subscribeTheme=e=>(subscribers.add(e),()=>{subscribers.delete(e)});export{createAnimatedValue,setNativeValue}from"./animatedValue.js";export{Gradient,gradientAngle,toBackgroundImage}from"./Gradient.js";export{mergeTheme}from"./merge.js";export{ThemeProvider,useTheme,useThemeMode}from"./ThemeContext.js";export{fontFor}from"./textStyle.js";export{darkTheme,lightTheme}from"./tokens.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const isPlainObject=
|
|
1
|
+
"use strict";const isPlainObject=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),deepMerge=(e,t)=>{if(!isPlainObject(e)||!isPlainObject(t))return void 0!==t?t:e;const i={...e};for(const r of Object.keys(t)){const s=t[r],c=e[r];isPlainObject(s)&&isPlainObject(c)?i[r]=deepMerge(c,s):void 0!==s&&(i[r]=s)}return i};export const mergeTheme=(e,t)=>deepMerge(e,t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
"use strict";const FAMILY_KEY={normal:"regular",medium:"medium",semibold:"semibold",bold:"bold"};export const fontFor=(o,t)=>{const e=o.typography.fontFamily?.[FAMILY_KEY[t]];return e?{fontFamily:e}:{fontWeight:o.typography.fontWeight[t]}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
"use strict";const typography={fontSize:{xs:11,sm:13,base:15,lg:17,xl:20,"2xl":24,"3xl":30,"4xl":36},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{tight:1.2,normal:1.4,relaxed:1.6},letterSpacing:{tight:-.2,normal:0,wide:.4}},spacing={none:0,xxs:2,xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48,"4xl":64},radius={none:0,xs:4,sm:6,md:10,lg:14,xl:20,"2xl":28,full:9999},FIELD_RADIUS=10,fieldSizes={sm:{paddingHorizontal:12,paddingVertical:10,minHeight:38,fontSize:13,borderRadius:10,iconSize:14,labelFontSize:11,labelGap:4,messageFontSize:11,messageGap:2},md:{paddingHorizontal:14,paddingVertical:13,minHeight:44,fontSize:14,borderRadius:10,iconSize:16,labelFontSize:12,labelGap:4,messageFontSize:12,messageGap:2},lg:{paddingHorizontal:16,paddingVertical:15,minHeight:52,fontSize:16,borderRadius:10,iconSize:18,labelFontSize:13,labelGap:4,messageFontSize:13,messageGap:2}},components={button:{xs:{paddingHorizontal:10,paddingVertical:4,minHeight:28,fontSize:12,borderRadius:8},sm:{paddingHorizontal:12,paddingVertical:6,minHeight:34,fontSize:14,borderRadius:10},md:{paddingHorizontal:16,paddingVertical:9,minHeight:42,fontSize:16,borderRadius:12},lg:{paddingHorizontal:20,paddingVertical:12,minHeight:50,fontSize:18,borderRadius:14},xl:{paddingHorizontal:24,paddingVertical:14,minHeight:58,fontSize:20,borderRadius:16}},input:{sm:{...fieldSizes.sm,multilineMinHeight:72},md:{...fieldSizes.md,multilineMinHeight:92},lg:{...fieldSizes.lg,multilineMinHeight:110}},searchBar:{sm:{borderRadius:radius.full},md:{borderRadius:radius.full},lg:{borderRadius:radius.full}},emptyState:{sm:{iconSize:48,titleFontSize:"lg",descriptionFontSize:"sm",paddingVertical:"lg"},md:{iconSize:64,titleFontSize:"xl",descriptionFontSize:"base",paddingVertical:"xl"},lg:{iconSize:80,titleFontSize:"2xl",descriptionFontSize:"base",paddingVertical:"2xl"}},field:{defaultVariant:"outlined",sm:fieldSizes.sm,md:fieldSizes.md,lg:fieldSizes.lg},listItem:{sm:{paddingVertical:"sm",titleFontSize:"sm",subtitleFontSize:"xs",minHeight:44},md:{paddingVertical:"md",titleFontSize:"base",subtitleFontSize:"sm",minHeight:56},lg:{paddingVertical:"lg",titleFontSize:"lg",subtitleFontSize:"sm",minHeight:72}},badge:{sm:{fontSize:10,minWidth:16,height:16,paddingHorizontal:5,dotSize:8},md:{fontSize:11,minWidth:20,height:20,paddingHorizontal:6,dotSize:10},borderWidth:1.5,anchorOffset:4},chip:{sm:{paddingHorizontal:10,paddingVertical:4,fontSize:12,minHeight:26,closeSize:16,closeFontSize:12,gap:6},md:{paddingHorizontal:12,paddingVertical:6,fontSize:13,minHeight:32,closeSize:18,closeFontSize:13,gap:8}},checkbox:{sm:{boxSize:16},md:{boxSize:20},lg:{boxSize:24},labelGap:10},radio:{sm:{outer:16,inner:8},md:{outer:20,inner:10},lg:{outer:24,inner:12},labelGap:10},switch:{sm:{trackWidth:42,trackHeight:26,thumbSize:22,padding:2},md:{trackWidth:51,trackHeight:31,thumbSize:27,padding:2},lg:{trackWidth:60,trackHeight:36,thumbSize:32,padding:2},thumbColor:"#FFFFFF"},otpInput:{sm:{cell:36,fontSize:16,borderRadius:8,gap:8},md:{cell:48,fontSize:20,borderRadius:10,gap:10},lg:{cell:56,fontSize:24,borderRadius:12,gap:12}},dialog:{iconWrapperSize:48,iconWrapperBorderRadius:24,actionButtonMinHeight:44},toast:{iconCircleSize:28,iconCircleBorderRadius:14,iconGlyphFontSize:16,tintBarWidth:4},formField:{inlineLabelWidth:"35%"}},motion={duration:{instant:80,fast:160,normal:240,slow:360,slower:500},easing:{standard:[.4,0,.2,1],accelerate:[.4,0,1,1],decelerate:[0,0,.2,1],sharp:[.4,0,.6,1]},spring:{gentle:{damping:26,stiffness:240,mass:.9},bouncy:{damping:16,stiffness:200,mass:.7},snappy:{damping:20,stiffness:300,mass:.7}}},lightShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.06,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.08,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.1,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.14,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.18,shadowRadius:32,elevation:20}},darkShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.3,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.4,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.5,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.55,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.6,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.7,shadowRadius:32,elevation:20}};export const lightTheme={mode:"light",colors:{primary:"#5B5BD6",primaryHover:"#4F4FBF",primaryPressed:"#4040A8",primaryMuted:"#EEEEFC",secondary:"#F4F4F8",secondaryHover:"#E9E9F0",success:"#1FAD66",warning:"#F59E0B",error:"#E5484D",info:"#3B82F6",onPrimary:"#FFFFFF",onSecondary:"#0F0F1A",onSuccess:"#FFFFFF",onWarning:"#0F0F1A",onError:"#FFFFFF",onInfo:"#FFFFFF",onOverlay:"#FFFFFF",text:{primary:"#0F0F1A",secondary:"#52525B",tertiary:"#8B8B95",inverse:"#FFFFFF",strong:"#252F4A",disabled:"#B4B4BB",link:"#5B5BD6"},background:{primary:"#FFFFFF",secondary:"#F8F8FB",tertiary:"#F1F1F5",elevated:"#FFFFFF",overlay:"rgba(15, 15, 26, 0.5)",inverse:"#0F0F1A"},border:{primary:"#E5E5EC",secondary:"#EFEFF3",focus:"#5B5BD6",error:"#E5484D",width:1},field:{background:"#F9FBFC",backgroundFocused:"#FFFFFF",backgroundDisabled:"#F5F6FA",border:"#EBEDF3",borderFocused:"#BED2F9",borderError:"#FDBFCE",label:"#242F4A",text:"#252F4A",textDisabled:"#C4CADA",placeholder:"#99A1B7",placeholderDisabled:"#C4CADA",icon:"#99A1B7",iconFocused:"#4B5675",iconDisabled:"#C4CADA",caret:"#5B8DEE",message:"#E82545"},surface:{pressed:"rgba(15, 15, 26, 0.06)",hovered:"rgba(15, 15, 26, 0.04)",selected:"rgba(91, 91, 214, 0.1)",disabled:"#F1F1F5"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#EBEDF3",highlight:"#F5F6FA"},avatarPalette:["#5B5BD6","#0A7979","#A45A05","#CD226E","#2462EB","#7C3AED","#047C57","#D42222"]},typography:typography,spacing:spacing,radius:radius,shadows:lightShadows,motion:motion,components:components,gradients:{}};export const darkTheme={mode:"dark",colors:{primary:"#7C7CE8",primaryHover:"#9292EE",primaryPressed:"#A8A8F2",primaryMuted:"#1F1F3D",secondary:"#1F1F26",secondaryHover:"#2A2A33",success:"#30C780",warning:"#FBBF24",error:"#F87171",info:"#60A5FA",onPrimary:"#0F0F1A",onSecondary:"#FAFAFA",onSuccess:"#0F0F1A",onWarning:"#0F0F1A",onError:"#0F0F1A",onInfo:"#0F0F1A",onOverlay:"#FFFFFF",text:{primary:"#FAFAFA",secondary:"#B4B4BB",tertiary:"#71717A",inverse:"#0F0F1A",strong:"#E2E2E2",disabled:"#52525B",link:"#9292EE"},background:{primary:"#0B0B12",secondary:"#13131C",tertiary:"#1C1C26",elevated:"#1C1C26",overlay:"rgba(0, 0, 0, 0.65)",inverse:"#FAFAFA"},border:{primary:"#27272F",secondary:"#1C1C26",focus:"#7C7CE8",error:"#F87171",width:1},field:{background:"#13131C",backgroundFocused:"#0B0B12",backgroundDisabled:"#1C1C26",border:"#27272F",borderFocused:"#3D5FB0",borderError:"#8A2F42",label:"#E4E6EE",text:"#FAFAFA",textDisabled:"#52525B",placeholder:"#71717A",placeholderDisabled:"#52525B",icon:"#8B8B95",iconFocused:"#D4D4DB",iconDisabled:"#52525B",caret:"#7C9EF0",message:"#F87171"},surface:{pressed:"rgba(255, 255, 255, 0.08)",hovered:"rgba(255, 255, 255, 0.05)",selected:"rgba(124, 124, 232, 0.18)",disabled:"#1C1C26"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#1C1C26",highlight:"#27272F"},avatarPalette:["#8B8BEE","#2DD4BF","#FCD34D","#F472B6","#60A5FA","#A78BFA","#34D399","#F87171"]},typography:typography,spacing:spacing,radius:radius,shadows:darkShadows,motion:motion,components:components,gradients:{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{};
|
|
1
|
+
"use strict";export{};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const ACCENT_PRESSED_TINT="rgba(0, 0, 0, 0.12)";export const tintOf=(t,r
|
|
1
|
+
"use strict";export const ACCENT_PRESSED_TINT="rgba(0, 0, 0, 0.12)";export const tintOf=(t,n,r)=>{const e=/^#([0-9a-f]{6})$/i.exec(t);if(!e)return r;const o=Math.round(255*n).toString(16).padStart(2,"0");return`#${e[1]}${o}`};const channelsOf=t=>{const n=/^#([0-9a-f]{6})$/i.exec(t);if(!n)return null;const r=Number.parseInt(n[1],16);return[r>>16&255,r>>8&255,255&r]};export const blendOf=(t,n,r,e)=>{const o=channelsOf(t),a=channelsOf(r);if(!o||!a)return e;return`#${o.map((t,r)=>Math.round(t*n+a[r]*(1-n))).map(t=>t.toString(16).padStart(2,"0")).join("")}`.toUpperCase()};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const smoothCorners={borderCurve:"continuous"};
|
|
1
|
+
"use strict";export const smoothCorners={borderCurve:"continuous"};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{Breakpoints,isScreenSize,isTablet,ScreenDimensions,useScreenDimensions}from"./responsive.js";
|
|
1
|
+
"use strict";export{Breakpoints,isScreenSize,isTablet,ScreenDimensions,useScreenDimensions}from"./responsive.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{triggerHaptic
|
|
1
|
+
"use strict";import{triggerHaptic}from"./hapticUtils.js";const INTENT_HAPTIC={tap:"impactLight",select:"selection",longPress:"impactMedium",created:"impactMedium",deleted:"notificationWarning",restored:"notificationSuccess",toggledOn:"impactMedium",toggledOff:"impactLight",succeeded:"notificationSuccess",warned:"notificationWarning",failed:"notificationError"};let hapticsEnabled=!0;export const configureFeedback=e=>{hapticsEnabled=e.haptics};export const isFeedbackEnabled=()=>hapticsEnabled;const fire=e=>{hapticsEnabled&&triggerHaptic(INTENT_HAPTIC[e])};export const hapticForIntent=e=>INTENT_HAPTIC[e];export const feedback={tap:()=>fire("tap"),select:()=>fire("select"),longPress:()=>fire("longPress"),created:()=>fire("created"),deleted:()=>fire("deleted"),restored:()=>fire("restored"),toggled:e=>fire(e?"toggledOn":"toggledOff"),succeeded:()=>fire("succeeded"),warned:()=>fire("warned"),failed:()=>fire("failed"),fire:fire};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
"use strict";import*as Haptics from"expo-haptics";import{Platform,Vibration}from"react-native";let hapticImpl=null;const fallback=t=>{if("android"===Platform.OS){const i={selection:5,impactLight:10,impactMedium:20,impactHeavy:30,notificationSuccess:15,notificationWarning:25,notificationError:40};try{Vibration.vibrate(i[t]??10)}catch{}}},EXPO_HANDLERS={selection:()=>Haptics.selectionAsync(),impactLight:()=>Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light),impactMedium:()=>Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium),impactHeavy:()=>Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Heavy),notificationSuccess:()=>Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success),notificationWarning:()=>Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning),notificationError:()=>Haptics.notificationAsync(Haptics.NotificationFeedbackType.Error)};export const triggerHaptic=(t="selection")=>{if(hapticImpl)try{return void hapticImpl(t)}catch{}const i=EXPO_HANDLERS[t];i?i().catch(()=>fallback(t)):fallback(t)};export const setHapticImplementation=t=>{hapticImpl=t};export const resolveHaptic=(t,i)=>!1===t?null:t??i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const hashString=t=>{let
|
|
1
|
+
"use strict";export const hashString=t=>{let r=2166136261,n=16777619;for(let e=0;e<t.length;e+=1){const o=t.charCodeAt(e);r=Math.imul(r^o,16777619)>>>0,n=(Math.imul(n+o,2654435761)^n>>>7)>>>0}return`${r.toString(16)}${n.toString(16)}${t.length.toString(16)}`};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{blendOf,tintOf}from"./color.js";export{smoothCorners}from"./corners.js";export{configureFeedback,feedback,hapticForIntent,isFeedbackEnabled}from"./feedback.js";export{resolveHaptic,setHapticImplementation,triggerHaptic}from"./hapticUtils.js";export{mergeRefs}from"./mergeRefs.js";export{Breakpoints,isScreenSize,isTablet,Responsive,ScreenDimensions,useScreenDimensions}from"./responsive.js";export{shadowStyle}from"./shadows.js";export{Margin,Padding,Spacing}from"./spacing.js";export{SQUIRCLE_MIN_RADIUS,SQUIRCLE_SMOOTHING,squircleApplies,squircleHostRadius,squirclePath}from"./squircle.js";export{warnUnknownProps}from"./warnUnknownProps.js";
|
|
1
|
+
"use strict";export{blendOf,tintOf}from"./color.js";export{smoothCorners}from"./corners.js";export{configureFeedback,feedback,hapticForIntent,isFeedbackEnabled}from"./feedback.js";export{resolveHaptic,setHapticImplementation,triggerHaptic}from"./hapticUtils.js";export{mergeRefs}from"./mergeRefs.js";export{Breakpoints,isScreenSize,isTablet,Responsive,ScreenDimensions,useScreenDimensions}from"./responsive.js";export{shadowStyle}from"./shadows.js";export{Margin,Padding,Spacing}from"./spacing.js";export{SQUIRCLE_MIN_RADIUS,SQUIRCLE_SMOOTHING,squircleApplies,squircleHostRadius,squirclePath}from"./squircle.js";export{warnUnknownProps}from"./warnUnknownProps.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const mergeRefs=(...
|
|
1
|
+
"use strict";export const mergeRefs=(...t)=>e=>{for(const o of t)"function"==typeof o?o(e):null!=o&&(o.current=e)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Dimensions
|
|
1
|
+
"use strict";import{Dimensions,PixelRatio,Platform,useWindowDimensions}from"react-native";const BASE_WIDTH=390,BASE_HEIGHT=844;export const Breakpoints={xs:0,sm:360,md:414,lg:768,xl:1024};const window=()=>Dimensions.get("window");export const ScreenDimensions={get width(){return window().width},get height(){return window().height},get pixelRatio(){return PixelRatio.get()},get fontScale(){return PixelRatio.getFontScale()}};const scalesFor=(e,i)=>{const t=e/390,o=i/844;return{widthScale:t,heightScale:o,minScale:Math.min(t,o)}},scaleFont=(e,i)=>{const t=e*i;return"ios"===Platform.OS?Math.round(PixelRatio.roundToNearestPixel(t)):Math.round(PixelRatio.roundToNearestPixel(t))-1},responsiveFor=(e,i)=>{const{widthScale:t,heightScale:o,minScale:n}=scalesFor(e,i);return{width:e=>Math.round(e*t),height:e=>Math.round(e*o),size:e=>Math.round(e*n),font:e=>scaleFont(e,n)}};export const isScreenSize=e=>window().width>=Breakpoints[e];export const isTablet=()=>window().width>=Breakpoints.lg;export const Responsive={width:e=>responsiveFor(window().width,window().height).width(e),height:e=>responsiveFor(window().width,window().height).height(e),size:e=>responsiveFor(window().width,window().height).size(e),font:e=>responsiveFor(window().width,window().height).font(e)};export const useScreenDimensions=()=>{const{width:e,height:i,fontScale:t}=useWindowDimensions();return{width:e,height:i,pixelRatio:PixelRatio.get(),fontScale:t,isTablet:e>=Breakpoints.lg,isScreenSize:i=>e>=Breakpoints[i],responsive:responsiveFor(e,i)}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Platform
|
|
1
|
+
"use strict";import{Platform}from"react-native";export const shadowStyle=(t,o)=>t[o];export const supportsBoxShadow=()=>"android"!==Platform.OS||"number"==typeof Platform.Version&&Platform.Version>=28;const hexToRgb=t=>{const o=t.replace("#",""),r=3===o.length?o.split("").map(t=>t+t).join(""):o;return/^[0-9a-fA-F]{6}$/.test(r)?[Number.parseInt(r.slice(0,2),16),Number.parseInt(r.slice(2,4),16),Number.parseInt(r.slice(4,6),16)]:null};export const toBoxShadow=t=>{const{shadowColor:o,shadowOffset:r,shadowOpacity:e,shadowRadius:s}=t;if("string"!=typeof o||!e)return;const a=hexToRgb(o);if(!a)return;return`${r?.width??0}px ${r?.height??0}px ${2*(s??0)}px 0px rgba(${a[0]}, ${a[1]}, ${a[2]}, ${e})`};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getTheme
|
|
1
|
+
"use strict";import{getTheme}from"../theme/index.js";export const Spacing={get none(){return getTheme().spacing.none},get xxs(){return getTheme().spacing.xxs},get xs(){return getTheme().spacing.xs},get sm(){return getTheme().spacing.sm},get md(){return getTheme().spacing.md},get lg(){return getTheme().spacing.lg},get xl(){return getTheme().spacing.xl},get"2xl"(){return getTheme().spacing["2xl"]},get"3xl"(){return getTheme().spacing["3xl"]},get"4xl"(){return getTheme().spacing["4xl"]}};export const Padding={all:e=>({padding:getTheme().spacing[e]}),horizontal:e=>({paddingHorizontal:getTheme().spacing[e]}),vertical:e=>({paddingVertical:getTheme().spacing[e]}),top:e=>({paddingTop:getTheme().spacing[e]}),bottom:e=>({paddingBottom:getTheme().spacing[e]}),left:e=>({paddingLeft:getTheme().spacing[e]}),right:e=>({paddingRight:getTheme().spacing[e]})};export const Margin={all:e=>({margin:getTheme().spacing[e]}),horizontal:e=>({marginHorizontal:getTheme().spacing[e]}),vertical:e=>({marginVertical:getTheme().spacing[e]}),top:e=>({marginTop:getTheme().spacing[e]}),bottom:e=>({marginBottom:getTheme().spacing[e]}),left:e=>({marginLeft:getTheme().spacing[e]}),right:e=>({marginRight:getTheme().spacing[e]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SQUIRCLE_SMOOTHING=.6;export const SQUIRCLE_MIN_RADIUS=6;export const squircleApplies=(
|
|
1
|
+
"use strict";export const SQUIRCLE_SMOOTHING=.6;export const SQUIRCLE_MIN_RADIUS=6;export const squircleApplies=(n,m,u)=>u>=6&&n>0&&m>0&&2*u<Math.min(n,m);export const squircleHostRadius=(n,m,u)=>Math.min(2*u,Math.min(n,m)/2);const toRadians=n=>n*Math.PI/180,num=n=>{const m=n.toFixed(4);return"-0.0000"===m?"0.0000":m},cornerParams=(n,m,u)=>{let t=(1+m)*n;const $=u/n-1,a=Math.min(m,$);t=Math.min(t,u);const o=90*(1-a),c=Math.sin(toRadians(o/2))*n*Math.SQRT2,i=(90-o)/2,e=45*a,r=n*Math.tan(toRadians(i/2))*Math.cos(toRadians(e)),s=r*Math.tan(toRadians(e)),h=(t-c-r-s)/3;return{a:2*h,b:h,c:r,d:s,p:t,arcSectionLength:c,cornerRadius:n}},topRight=({cornerRadius:n,a:m,b:u,c:t,d:$,arcSectionLength:a})=>`c ${num(m)} 0 ${num(m+u)} 0 ${num(m+u+t)} ${num($)} a ${num(n)} ${num(n)} 0 0 1 ${num(a)} ${num(a)} c ${num($)} ${num(t)} ${num($)} ${num(u+t)} ${num($)} ${num(m+u+t)}`,bottomRight=({cornerRadius:n,a:m,b:u,c:t,d:$,arcSectionLength:a})=>`c 0 ${num(m)} 0 ${num(m+u)} ${num(-$)} ${num(m+u+t)} a ${num(n)} ${num(n)} 0 0 1 ${num(-a)} ${num(a)} c ${num(-t)} ${num($)} ${num(-(u+t))} ${num($)} ${num(-(m+u+t))} ${num($)}`,bottomLeft=({cornerRadius:n,a:m,b:u,c:t,d:$,arcSectionLength:a})=>`c ${num(-m)} 0 ${num(-(m+u))} 0 ${num(-(m+u+t))} ${num(-$)} a ${num(n)} ${num(n)} 0 0 1 ${num(-a)} ${num(-a)} c ${num(-$)} ${num(-t)} ${num(-$)} ${num(-(u+t))} ${num(-$)} ${num(-(m+u+t))}`,topLeft=({cornerRadius:n,a:m,b:u,c:t,d:$,arcSectionLength:a})=>`c 0 ${num(-m)} 0 ${num(-(m+u))} ${num($)} ${num(-(m+u+t))} a ${num(n)} ${num(n)} 0 0 1 ${num(a)} ${num(-a)} c ${num(t)} ${num(-$)} ${num(u+t)} ${num(-$)} ${num(m+u+t)} ${num(-$)}`;export function squirclePath({width:n,height:m,radius:u,smoothing:t=.6,inset:$=0}){const a=Math.max(0,n-2*$),o=Math.max(0,m-2*$),c=$,i=$,e=Math.max(0,u-$),r=Math.min(a,o)/2,s=Math.min(e,r);if(s<=0)return`M ${num(c)} ${num(i)} L ${num(c+a)} ${num(i)} L ${num(c+a)} ${num(i+o)} L ${num(c)} ${num(i+o)} Z`;const h=cornerParams(s,Math.min(1,Math.max(0,t)),r),{p:M}=h;return`M ${num(c+a-M)} ${num(i)} ${topRight(h)} L ${num(c+a)} ${num(i+o-M)} ${bottomRight(h)} L ${num(c+M)} ${num(i+o)} ${bottomLeft(h)} L ${num(c)} ${num(i+M)} ${topLeft(h)} Z`}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Logger
|
|
1
|
+
"use strict";import{Logger}from"@webority/mobile-core";export const warnUnknownProps=(e,o)=>{if(!__DEV__||!o)return;const r=Object.keys(o).filter(e=>!isAllowed(e));0!==r.length&&Logger.warn(`[${e}] received prop(s) it does not accept: ${r.join(", ")}. They were ignored — check for a rename or a typo against the component's props.`)};const ALLOWED_EXACT=new Set(["children","key","ref","style","testID","collapsable","nativeID","pointerEvents","removeClippedSubviews","renderToHardwareTextureAndroid","shouldRasterizeIOS","needsOffscreenAlphaCompositing","hitSlop","onLayout","importantForAccessibility","role"]),ALLOWED_PREFIXES=["accessibility","aria-","on","data-"],isAllowed=e=>ALLOWED_EXACT.has(e)||ALLOWED_PREFIXES.some(o=>e.startsWith(o));
|
|
@@ -20,7 +20,12 @@ export type ButtonVariant = 'solid' | 'soft' | 'outline' | 'ghost' | 'link' | 'g
|
|
|
20
20
|
export type ButtonTone = 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'neutral';
|
|
21
21
|
export type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
22
22
|
export interface ButtonProps extends Omit<PressableProps, 'style' | 'children'> {
|
|
23
|
+
/** The label, and the button's accessible name unless `accessibilityLabel` is set. */
|
|
23
24
|
title?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Custom content drawn in place of the label when there is no `title`. Never the label as text:
|
|
27
|
+
* development builds throw on a text child, which would otherwise draw a blank, unnamed button.
|
|
28
|
+
*/
|
|
24
29
|
children?: React.ReactNode;
|
|
25
30
|
variant?: ButtonVariant;
|
|
26
31
|
tone?: ButtonTone;
|
|
@@ -20,7 +20,12 @@ export type ButtonVariant = 'solid' | 'soft' | 'outline' | 'ghost' | 'link' | 'g
|
|
|
20
20
|
export type ButtonTone = 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'neutral';
|
|
21
21
|
export type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
22
22
|
export interface ButtonProps extends Omit<PressableProps, 'style' | 'children'> {
|
|
23
|
+
/** The label, and the button's accessible name unless `accessibilityLabel` is set. */
|
|
23
24
|
title?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Custom content drawn in place of the label when there is no `title`. Never the label as text:
|
|
27
|
+
* development builds throw on a text child, which would otherwise draw a blank, unnamed button.
|
|
28
|
+
*/
|
|
24
29
|
children?: React.ReactNode;
|
|
25
30
|
variant?: ButtonVariant;
|
|
26
31
|
tone?: ButtonTone;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority/mobile-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Beautiful, animated, accessible React Native components, theme and form engine for Webority projects.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"typecheck": "tsc --noEmit"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
|
-
"@webority/mobile-core": ">=0.
|
|
71
|
+
"@webority/mobile-core": ">=0.2.0 <0.3.0",
|
|
72
72
|
"expo": ">=57.0.0",
|
|
73
73
|
"expo-file-system": ">=57.0.0",
|
|
74
74
|
"expo-haptics": ">=57.0.0",
|