@fountain-ui/core 2.0.0-beta.6 → 2.0.0-beta.61
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/CHANGELOG.md +32 -0
- package/build/commonjs/Accordion/Accordion.js +6 -8
- package/build/commonjs/Accordion/Accordion.js.map +1 -1
- package/build/commonjs/Accordion/AccordionProps.js.map +1 -1
- package/build/commonjs/Accordion/index.js.map +1 -1
- package/build/commonjs/AppBar/AppBar.js +1 -1
- package/build/commonjs/AppBar/AppBar.js.map +1 -1
- package/build/commonjs/AppBar/AppBarProps.js.map +1 -1
- package/build/commonjs/AppBar/index.js.map +1 -1
- package/build/commonjs/AspectRatio/AspectRatioNative.js +1 -1
- package/build/commonjs/AspectRatio/AspectRatioNative.js.map +1 -1
- package/build/commonjs/AspectRatio/AspectRatioProps.js.map +1 -1
- package/build/commonjs/AspectRatio/AspectRatioWeb.js +1 -1
- package/build/commonjs/AspectRatio/AspectRatioWeb.js.map +1 -1
- package/build/commonjs/AspectRatio/index.js.map +1 -1
- package/build/commonjs/AspectRatio/index.native.js.map +1 -1
- package/build/commonjs/AspectRatio/utils.js +1 -1
- package/build/commonjs/AspectRatio/utils.js.map +1 -1
- package/build/commonjs/Avatar/Avatar.js.map +1 -1
- package/build/commonjs/Avatar/AvatarProps.js.map +1 -1
- package/build/commonjs/Avatar/index.js.map +1 -1
- package/build/commonjs/Badge/Badge.js +6 -15
- package/build/commonjs/Badge/Badge.js.map +1 -1
- package/build/commonjs/Badge/BadgeProps.js.map +1 -1
- package/build/commonjs/Badge/index.js.map +1 -1
- package/build/commonjs/Button/Button.js +1 -1
- package/build/commonjs/Button/Button.js.map +1 -1
- package/build/commonjs/Button/ButtonProps.js.map +1 -1
- package/build/commonjs/Button/index.js.map +1 -1
- package/build/commonjs/ButtonBase/ButtonBase.js +67 -59
- package/build/commonjs/ButtonBase/ButtonBase.js.map +1 -1
- package/build/commonjs/ButtonBase/ButtonBaseProps.js.map +1 -1
- package/build/commonjs/ButtonBase/index.js.map +1 -1
- package/build/commonjs/Card/Card.js +1 -1
- package/build/commonjs/Card/Card.js.map +1 -1
- package/build/commonjs/Card/CardProps.js.map +1 -1
- package/build/commonjs/Card/index.js.map +1 -1
- package/build/commonjs/CardActions/CardActions.js +1 -1
- package/build/commonjs/CardActions/CardActions.js.map +1 -1
- package/build/commonjs/CardActions/CardActionsProps.js.map +1 -1
- package/build/commonjs/CardActions/index.js.map +1 -1
- package/build/commonjs/CardContent/CardContent.js +1 -1
- package/build/commonjs/CardContent/CardContent.js.map +1 -1
- package/build/commonjs/CardContent/CardContentProps.js.map +1 -1
- package/build/commonjs/CardContent/index.js.map +1 -1
- package/build/commonjs/CardMedia/CardMedia.js +1 -1
- package/build/commonjs/CardMedia/CardMedia.js.map +1 -1
- package/build/commonjs/CardMedia/CardMediaProps.js.map +1 -1
- package/build/commonjs/CardMedia/index.js.map +1 -1
- package/build/commonjs/Checkbox/Checkbox.js +1 -1
- package/build/commonjs/Checkbox/Checkbox.js.map +1 -1
- package/build/commonjs/Checkbox/CheckboxProps.js.map +1 -1
- package/build/commonjs/Checkbox/index.js.map +1 -1
- package/build/commonjs/Chip/Chip.js +10 -8
- package/build/commonjs/Chip/Chip.js.map +1 -1
- package/build/commonjs/Chip/ChipProps.js.map +1 -1
- package/build/commonjs/Chip/index.js.map +1 -1
- package/build/commonjs/CircularProgress/CircularProgress.js +25 -27
- package/build/commonjs/CircularProgress/CircularProgress.js.map +1 -1
- package/build/commonjs/CircularProgress/index.js.map +1 -1
- package/build/commonjs/Column/Column.js.map +1 -1
- package/build/commonjs/Column/ColumnProps.js.map +1 -1
- package/build/commonjs/Column/index.js.map +1 -1
- package/build/commonjs/Dialog/Dialog.js +24 -8
- package/build/commonjs/Dialog/Dialog.js.map +1 -1
- package/build/commonjs/Dialog/DialogProps.js.map +1 -1
- package/build/commonjs/Dialog/index.js.map +1 -1
- package/build/commonjs/DialogActions/DialogActions.js +1 -1
- package/build/commonjs/DialogActions/DialogActions.js.map +1 -1
- package/build/commonjs/DialogActions/DialogActionsProps.js.map +1 -1
- package/build/commonjs/DialogActions/index.js.map +1 -1
- package/build/commonjs/DialogContent/DialogContent.js +1 -1
- package/build/commonjs/DialogContent/DialogContent.js.map +1 -1
- package/build/commonjs/DialogContent/DialogContentProps.js.map +1 -1
- package/build/commonjs/DialogContent/index.js.map +1 -1
- package/build/commonjs/DialogMedia/DialogMedia.js +1 -1
- package/build/commonjs/DialogMedia/DialogMedia.js.map +1 -1
- package/build/commonjs/DialogMedia/DialogMediaProps.js.map +1 -1
- package/build/commonjs/DialogMedia/index.js.map +1 -1
- package/build/commonjs/DialogTitle/DialogTitle.js +1 -1
- package/build/commonjs/DialogTitle/DialogTitle.js.map +1 -1
- package/build/commonjs/DialogTitle/DialogTitleProps.js.map +1 -1
- package/build/commonjs/DialogTitle/index.js.map +1 -1
- package/build/commonjs/Divider/Divider.js +27 -19
- package/build/commonjs/Divider/Divider.js.map +1 -1
- package/build/commonjs/Divider/DividerProps.js.map +1 -1
- package/build/commonjs/Divider/index.js.map +1 -1
- package/build/commonjs/Fab/Fab.js +1 -1
- package/build/commonjs/Fab/Fab.js.map +1 -1
- package/build/commonjs/Fab/FabProps.js.map +1 -1
- package/build/commonjs/Fab/index.js.map +1 -1
- package/build/commonjs/Flexbox/Flexbox.js +1 -1
- package/build/commonjs/Flexbox/Flexbox.js.map +1 -1
- package/build/commonjs/Flexbox/FlexboxProps.js.map +1 -1
- package/build/commonjs/Flexbox/index.js.map +1 -1
- package/build/commonjs/IconButton/IconButton.js +1 -1
- package/build/commonjs/IconButton/IconButton.js.map +1 -1
- package/build/commonjs/IconButton/IconButtonProps.js.map +1 -1
- package/build/commonjs/IconButton/index.js.map +1 -1
- package/build/commonjs/Image/Image.js +60 -16
- package/build/commonjs/Image/Image.js.map +1 -1
- package/build/commonjs/Image/ImageProps.js.map +1 -1
- package/build/commonjs/Image/index.js.map +1 -1
- package/build/commonjs/ImageCore/ImageCoreNative.js +36 -26
- package/build/commonjs/ImageCore/ImageCoreNative.js.map +1 -1
- package/build/commonjs/ImageCore/ImageCoreProps.js.map +1 -1
- package/build/commonjs/ImageCore/ImageCoreWeb.js +19 -1
- package/build/commonjs/ImageCore/ImageCoreWeb.js.map +1 -1
- package/build/commonjs/ImageCore/ImageFileExtensionContext.js +14 -0
- package/build/commonjs/ImageCore/ImageFileExtensionContext.js.map +1 -0
- package/build/commonjs/ImageCore/ImageFileExtensionProvider.js +42 -0
- package/build/commonjs/ImageCore/ImageFileExtensionProvider.js.map +1 -0
- package/build/commonjs/ImageCore/index.js +17 -5
- package/build/commonjs/ImageCore/index.js.map +1 -1
- package/build/commonjs/ImageCore/index.native.js +27 -0
- package/build/commonjs/ImageCore/index.native.js.map +1 -1
- package/build/commonjs/Link/Link.js +5 -4
- package/build/commonjs/Link/Link.js.map +1 -1
- package/build/commonjs/Link/LinkProps.js.map +1 -1
- package/build/commonjs/Link/index.js.map +1 -1
- package/build/commonjs/List/List.js +1 -1
- package/build/commonjs/List/List.js.map +1 -1
- package/build/commonjs/List/ListProps.js.map +1 -1
- package/build/commonjs/List/index.js.map +1 -1
- package/build/commonjs/ListItem/ListItem.js +1 -1
- package/build/commonjs/ListItem/ListItem.js.map +1 -1
- package/build/commonjs/ListItem/ListItemProps.js.map +1 -1
- package/build/commonjs/ListItem/index.js.map +1 -1
- package/build/commonjs/ListItemIcon/ListItemIcon.js +1 -1
- package/build/commonjs/ListItemIcon/ListItemIcon.js.map +1 -1
- package/build/commonjs/ListItemIcon/ListItemIconProps.js.map +1 -1
- package/build/commonjs/ListItemIcon/index.js.map +1 -1
- package/build/commonjs/ListItemSecondaryAction/ListItemSecondaryAction.js +1 -1
- package/build/commonjs/ListItemSecondaryAction/ListItemSecondaryAction.js.map +1 -1
- package/build/commonjs/ListItemSecondaryAction/ListItemSecondaryActionProps.js.map +1 -1
- package/build/commonjs/ListItemSecondaryAction/index.js.map +1 -1
- package/build/commonjs/ListItemText/ListItemText.js +1 -1
- package/build/commonjs/ListItemText/ListItemText.js.map +1 -1
- package/build/commonjs/ListItemText/ListItemTextProps.js.map +1 -1
- package/build/commonjs/ListItemText/index.js.map +1 -1
- package/build/commonjs/ListSubheader/ListSubheader.js +1 -1
- package/build/commonjs/ListSubheader/ListSubheader.js.map +1 -1
- package/build/commonjs/ListSubheader/ListSubheaderProps.js.map +1 -1
- package/build/commonjs/ListSubheader/index.js.map +1 -1
- package/build/commonjs/Menu/Menu.js.map +1 -1
- package/build/commonjs/Menu/MenuProps.js.map +1 -1
- package/build/commonjs/Menu/index.js.map +1 -1
- package/build/commonjs/MenuItem/MenuItem.js.map +1 -1
- package/build/commonjs/MenuItem/MenuItemProps.js.map +1 -1
- package/build/commonjs/MenuItem/index.js.map +1 -1
- package/build/commonjs/Modal/Modal.js +2 -2
- package/build/commonjs/Modal/Modal.js.map +1 -1
- package/build/commonjs/Modal/ModalProps.js.map +1 -1
- package/build/commonjs/Modal/SimpleBackdrop.js +1 -1
- package/build/commonjs/Modal/SimpleBackdrop.js.map +1 -1
- package/build/commonjs/Modal/SimpleBackdropProps.js.map +1 -1
- package/build/commonjs/Modal/index.js +4 -4
- package/build/commonjs/Modal/index.js.map +1 -1
- package/build/commonjs/Pagination/Pagination.js +10 -7
- package/build/commonjs/Pagination/Pagination.js.map +1 -1
- package/build/commonjs/Pagination/PaginationProps.js.map +1 -1
- package/build/commonjs/Pagination/index.js.map +1 -1
- package/build/commonjs/PaginationItem/PaginationItem.js +1 -1
- package/build/commonjs/PaginationItem/PaginationItem.js.map +1 -1
- package/build/commonjs/PaginationItem/PaginationItemProps.js.map +1 -1
- package/build/commonjs/PaginationItem/index.js.map +1 -1
- package/build/commonjs/Paper/Paper.js +2 -2
- package/build/commonjs/Paper/Paper.js.map +1 -1
- package/build/commonjs/Paper/PaperProps.js.map +1 -1
- package/build/commonjs/Paper/PaperStylesProvider.js.map +1 -1
- package/build/commonjs/Paper/index.js.map +1 -1
- package/build/commonjs/Paper/usePaperStyles.js.map +1 -1
- package/build/commonjs/Portal/Portal.js.map +1 -1
- package/build/commonjs/Portal/PortalConsumer.js +2 -2
- package/build/commonjs/Portal/PortalConsumer.js.map +1 -1
- package/build/commonjs/Portal/PortalHost.js +2 -2
- package/build/commonjs/Portal/PortalHost.js.map +1 -1
- package/build/commonjs/Portal/PortalManager.js +11 -8
- package/build/commonjs/Portal/PortalManager.js.map +1 -1
- package/build/commonjs/Portal/PortalProps.js.map +1 -1
- package/build/commonjs/Portal/index.js.map +1 -1
- package/build/commonjs/Pressable/index.js.map +1 -1
- package/build/commonjs/Radio/Radio.js +3 -8
- package/build/commonjs/Radio/Radio.js.map +1 -1
- package/build/commonjs/Radio/RadioProps.js.map +1 -1
- package/build/commonjs/Radio/index.js.map +1 -1
- package/build/commonjs/RadioGroup/RadioContextProvider.js.map +1 -1
- package/build/commonjs/RadioGroup/RadioGroup.js.map +1 -1
- package/build/commonjs/RadioGroup/RadioGroupProps.js.map +1 -1
- package/build/commonjs/RadioGroup/index.js.map +1 -1
- package/build/commonjs/Row/Row.js.map +1 -1
- package/build/commonjs/Row/RowProps.js.map +1 -1
- package/build/commonjs/Row/index.js.map +1 -1
- package/build/commonjs/Slide/Slide.js +17 -20
- package/build/commonjs/Slide/Slide.js.map +1 -1
- package/build/commonjs/Slide/SlideProps.js.map +1 -1
- package/build/commonjs/Slide/index.js.map +1 -1
- package/build/commonjs/Slider/Slider.js +1 -1
- package/build/commonjs/Slider/Slider.js.map +1 -1
- package/build/commonjs/Slider/SliderProps.js.map +1 -1
- package/build/commonjs/Slider/index.js.map +1 -1
- package/build/commonjs/Snackbar/Snackbar.js +1 -1
- package/build/commonjs/Snackbar/Snackbar.js.map +1 -1
- package/build/commonjs/Snackbar/SnackbarProps.js.map +1 -1
- package/build/commonjs/Snackbar/index.js.map +1 -1
- package/build/commonjs/SnackbarContent/SnackbarContent.js +1 -1
- package/build/commonjs/SnackbarContent/SnackbarContent.js.map +1 -1
- package/build/commonjs/SnackbarContent/SnackbarContentProps.js.map +1 -1
- package/build/commonjs/SnackbarContent/index.js.map +1 -1
- package/build/commonjs/Spacer/Spacer.js +1 -1
- package/build/commonjs/Spacer/Spacer.js.map +1 -1
- package/build/commonjs/Spacer/SpacerProps.js.map +1 -1
- package/build/commonjs/Spacer/index.js.map +1 -1
- package/build/commonjs/SvgIcon/SvgIcon.js +2 -2
- package/build/commonjs/SvgIcon/SvgIcon.js.map +1 -1
- package/build/commonjs/SvgIcon/SvgIconProps.js.map +1 -1
- package/build/commonjs/SvgIcon/index.js.map +1 -1
- package/build/commonjs/Switch/Switch.js +1 -1
- package/build/commonjs/Switch/Switch.js.map +1 -1
- package/build/commonjs/Switch/SwitchProps.js.map +1 -1
- package/build/commonjs/Switch/index.js.map +1 -1
- package/build/commonjs/Tab/Tab.js +15 -8
- package/build/commonjs/Tab/Tab.js.map +1 -1
- package/build/commonjs/Tab/TabIndicator.js +8 -5
- package/build/commonjs/Tab/TabIndicator.js.map +1 -1
- package/build/commonjs/Tab/TabProps.js.map +1 -1
- package/build/commonjs/Tab/index.js.map +1 -1
- package/build/commonjs/TabBase/TabBase.js +1 -1
- package/build/commonjs/TabBase/TabBase.js.map +1 -1
- package/build/commonjs/TabBase/TabBaseProps.js.map +1 -1
- package/build/commonjs/TabBase/index.js.map +1 -1
- package/build/commonjs/Tabs/IndexAwareTab.js +35 -0
- package/build/commonjs/Tabs/IndexAwareTab.js.map +1 -0
- package/build/commonjs/Tabs/InternalContext.js +17 -0
- package/build/commonjs/Tabs/InternalContext.js.map +1 -0
- package/build/commonjs/Tabs/ScrollableTabsView.js +35 -0
- package/build/commonjs/Tabs/ScrollableTabsView.js.map +1 -0
- package/build/commonjs/Tabs/TabCoordinate.js.map +1 -1
- package/build/commonjs/Tabs/TabIndicator.js +73 -31
- package/build/commonjs/Tabs/TabIndicator.js.map +1 -1
- package/build/commonjs/Tabs/TabIndicatorProps.js.map +1 -1
- package/build/commonjs/Tabs/Tabs.js +73 -84
- package/build/commonjs/Tabs/Tabs.js.map +1 -1
- package/build/commonjs/Tabs/TabsProps.js.map +1 -1
- package/build/commonjs/Tabs/index.js.map +1 -1
- package/build/commonjs/Tabs/types.js +2 -0
- package/build/commonjs/Tabs/types.js.map +1 -0
- package/build/commonjs/Tabs/useIndexStore.js +35 -0
- package/build/commonjs/Tabs/useIndexStore.js.map +1 -0
- package/build/commonjs/Tabs/useScrollViewReaction.js +69 -0
- package/build/commonjs/Tabs/useScrollViewReaction.js.map +1 -0
- package/build/commonjs/Tabs/useTabCoordinates.js +30 -0
- package/build/commonjs/Tabs/useTabCoordinates.js.map +1 -0
- package/build/commonjs/Tabs/utils.js +19 -0
- package/build/commonjs/Tabs/utils.js.map +1 -0
- package/build/commonjs/TextField/InputLabel.js +7 -6
- package/build/commonjs/TextField/InputLabel.js.map +1 -1
- package/build/commonjs/TextField/OutlinedTextField.js +6 -2
- package/build/commonjs/TextField/OutlinedTextField.js.map +1 -1
- package/build/commonjs/TextField/TextField.js +15 -8
- package/build/commonjs/TextField/TextField.js.map +1 -1
- package/build/commonjs/TextField/TextFieldProps.js.map +1 -1
- package/build/commonjs/TextField/index.js.map +1 -1
- package/build/commonjs/TextField/utils.js +1 -1
- package/build/commonjs/TextField/utils.js.map +1 -1
- package/build/commonjs/Toolbar/Toolbar.js +1 -1
- package/build/commonjs/Toolbar/Toolbar.js.map +1 -1
- package/build/commonjs/Toolbar/ToolbarProps.js.map +1 -1
- package/build/commonjs/Toolbar/index.js.map +1 -1
- package/build/commonjs/Tooltip/Tooltip.js +38 -30
- package/build/commonjs/Tooltip/Tooltip.js.map +1 -1
- package/build/commonjs/Tooltip/TooltipProps.js.map +1 -1
- package/build/commonjs/Tooltip/UpArrow.js +6 -5
- package/build/commonjs/Tooltip/UpArrow.js.map +1 -1
- package/build/commonjs/Tooltip/UpArrowProps.js.map +1 -1
- package/build/commonjs/Tooltip/index.js.map +1 -1
- package/build/commonjs/Typography/Typography.js +8 -3
- package/build/commonjs/Typography/Typography.js.map +1 -1
- package/build/commonjs/Typography/TypographyProps.js.map +1 -1
- package/build/commonjs/Typography/index.js.map +1 -1
- package/build/commonjs/animated/AnimatedAppBar.js.map +1 -1
- package/build/commonjs/animated/AnimatedFlatList.js.map +1 -1
- package/build/commonjs/animated/AnimatedPressable.js +2 -3
- package/build/commonjs/animated/AnimatedPressable.js.map +1 -1
- package/build/commonjs/animated/AnimatedTypography.js.map +1 -1
- package/build/commonjs/animated/index.js.map +1 -1
- package/build/commonjs/hooks/index.js +32 -0
- package/build/commonjs/hooks/index.js.map +1 -1
- package/build/commonjs/hooks/useAnimatedValue.js +31 -0
- package/build/commonjs/hooks/useAnimatedValue.js.map +1 -0
- package/build/commonjs/hooks/useAppbarStyles.js.map +1 -1
- package/build/commonjs/hooks/useBreakpointUp.js.map +1 -1
- package/build/commonjs/hooks/useCollapsibleAppBar.js +50 -76
- package/build/commonjs/hooks/useCollapsibleAppBar.js.map +1 -1
- package/build/commonjs/hooks/useContentContainerStyle.js +2 -1
- package/build/commonjs/hooks/useContentContainerStyle.js.map +1 -1
- package/build/commonjs/hooks/useDebounce.js +33 -0
- package/build/commonjs/hooks/useDebounce.js.map +1 -0
- package/build/commonjs/hooks/useElevationStyle.js.map +1 -1
- package/build/commonjs/hooks/useFadeInAppBar.js +31 -42
- package/build/commonjs/hooks/useFadeInAppBar.js.map +1 -1
- package/build/commonjs/hooks/useImperativeState.js +26 -0
- package/build/commonjs/hooks/useImperativeState.js.map +1 -0
- package/build/commonjs/hooks/useSyncAnimatedValue.js +40 -0
- package/build/commonjs/hooks/useSyncAnimatedValue.js.map +1 -0
- package/build/commonjs/hooks/useThrottle.js +4 -8
- package/build/commonjs/hooks/useThrottle.js.map +1 -1
- package/build/commonjs/hooks/useValidWindowDimensions/index.ios.js +14 -7
- package/build/commonjs/hooks/useValidWindowDimensions/index.ios.js.map +1 -1
- package/build/commonjs/hooks/useValidWindowDimensions/index.js.map +1 -1
- package/build/commonjs/index.js +34 -6
- package/build/commonjs/index.js.map +1 -1
- package/build/commonjs/internal/hooks/index.js +0 -8
- package/build/commonjs/internal/hooks/index.js.map +1 -1
- package/build/commonjs/internal/hooks/useHeight.js +5 -10
- package/build/commonjs/internal/hooks/useHeight.js.map +1 -1
- package/build/commonjs/internal/icons/Checkbox.js +1 -1
- package/build/commonjs/internal/icons/Checkbox.js.map +1 -1
- package/build/commonjs/internal/icons/CheckboxChecked.js +1 -1
- package/build/commonjs/internal/icons/CheckboxChecked.js.map +1 -1
- package/build/commonjs/internal/icons/ChevronDown.js +1 -1
- package/build/commonjs/internal/icons/ChevronDown.js.map +1 -1
- package/build/commonjs/internal/icons/ChevronLeft.js +1 -1
- package/build/commonjs/internal/icons/ChevronLeft.js.map +1 -1
- package/build/commonjs/internal/icons/ChevronRight.js +1 -1
- package/build/commonjs/internal/icons/ChevronRight.js.map +1 -1
- package/build/commonjs/internal/icons/CircularProgress.js.map +1 -1
- package/build/commonjs/internal/icons/Close.js +1 -1
- package/build/commonjs/internal/icons/Close.js.map +1 -1
- package/build/commonjs/internal/icons/Radio.js +1 -1
- package/build/commonjs/internal/icons/Radio.js.map +1 -1
- package/build/commonjs/internal/icons/RadioChecked.js +1 -1
- package/build/commonjs/internal/icons/RadioChecked.js.map +1 -1
- package/build/commonjs/internal/icons/index.js.map +1 -1
- package/build/commonjs/internal/index.js.map +1 -1
- package/build/commonjs/store/MockStore.js +27 -0
- package/build/commonjs/store/MockStore.js.map +1 -0
- package/build/commonjs/store/SimpleStore.js +59 -0
- package/build/commonjs/store/SimpleStore.js.map +1 -0
- package/build/commonjs/store/index.js +24 -0
- package/build/commonjs/store/index.js.map +1 -0
- package/build/commonjs/store/types.js +2 -0
- package/build/commonjs/store/types.js.map +1 -0
- package/build/commonjs/styles/EdgeInsets.js +9 -6
- package/build/commonjs/styles/EdgeInsets.js.map +1 -1
- package/build/commonjs/styles/PredefinedStyles.js.map +1 -1
- package/build/commonjs/styles/StyleSheet.js.map +1 -1
- package/build/commonjs/styles/ThemeProvider.js.map +1 -1
- package/build/commonjs/styles/createFontStyle.js +2 -2
- package/build/commonjs/styles/createFontStyle.js.map +1 -1
- package/build/commonjs/styles/index.js +14 -14
- package/build/commonjs/styles/index.js.map +1 -1
- package/build/commonjs/styles/styled.js +4 -4
- package/build/commonjs/styles/styled.js.map +1 -1
- package/build/commonjs/styles/useTheme.js.map +1 -1
- package/build/commonjs/types/index.js.map +1 -1
- package/build/commonjs/utils/cloneElementSafely.js.map +1 -1
- package/build/commonjs/utils/createSvgIcon.js.map +1 -1
- package/build/commonjs/utils/index.js.map +1 -1
- package/build/module/Accordion/Accordion.js +6 -6
- package/build/module/Accordion/Accordion.js.map +1 -1
- package/build/module/Accordion/AccordionProps.js.map +1 -1
- package/build/module/Accordion/index.js.map +1 -1
- package/build/module/AppBar/AppBar.js +1 -1
- package/build/module/AppBar/AppBar.js.map +1 -1
- package/build/module/AppBar/AppBarProps.js.map +1 -1
- package/build/module/AppBar/index.js.map +1 -1
- package/build/module/AspectRatio/AspectRatioNative.js +1 -1
- package/build/module/AspectRatio/AspectRatioNative.js.map +1 -1
- package/build/module/AspectRatio/AspectRatioProps.js.map +1 -1
- package/build/module/AspectRatio/AspectRatioWeb.js +1 -1
- package/build/module/AspectRatio/AspectRatioWeb.js.map +1 -1
- package/build/module/AspectRatio/index.js.map +1 -1
- package/build/module/AspectRatio/index.native.js.map +1 -1
- package/build/module/AspectRatio/utils.js.map +1 -1
- package/build/module/Avatar/Avatar.js.map +1 -1
- package/build/module/Avatar/AvatarProps.js.map +1 -1
- package/build/module/Avatar/index.js.map +1 -1
- package/build/module/Badge/Badge.js +6 -15
- package/build/module/Badge/Badge.js.map +1 -1
- package/build/module/Badge/BadgeProps.js.map +1 -1
- package/build/module/Badge/index.js.map +1 -1
- package/build/module/Button/Button.js +1 -1
- package/build/module/Button/Button.js.map +1 -1
- package/build/module/Button/ButtonProps.js.map +1 -1
- package/build/module/Button/index.js.map +1 -1
- package/build/module/ButtonBase/ButtonBase.js +65 -51
- package/build/module/ButtonBase/ButtonBase.js.map +1 -1
- package/build/module/ButtonBase/ButtonBaseProps.js.map +1 -1
- package/build/module/ButtonBase/index.js.map +1 -1
- package/build/module/Card/Card.js +1 -1
- package/build/module/Card/Card.js.map +1 -1
- package/build/module/Card/CardProps.js.map +1 -1
- package/build/module/Card/index.js.map +1 -1
- package/build/module/CardActions/CardActions.js +1 -1
- package/build/module/CardActions/CardActions.js.map +1 -1
- package/build/module/CardActions/CardActionsProps.js.map +1 -1
- package/build/module/CardActions/index.js.map +1 -1
- package/build/module/CardContent/CardContent.js +1 -1
- package/build/module/CardContent/CardContent.js.map +1 -1
- package/build/module/CardContent/CardContentProps.js.map +1 -1
- package/build/module/CardContent/index.js.map +1 -1
- package/build/module/CardMedia/CardMedia.js +1 -1
- package/build/module/CardMedia/CardMedia.js.map +1 -1
- package/build/module/CardMedia/CardMediaProps.js.map +1 -1
- package/build/module/CardMedia/index.js.map +1 -1
- package/build/module/Checkbox/Checkbox.js +1 -1
- package/build/module/Checkbox/Checkbox.js.map +1 -1
- package/build/module/Checkbox/CheckboxProps.js.map +1 -1
- package/build/module/Checkbox/index.js.map +1 -1
- package/build/module/Chip/Chip.js +10 -8
- package/build/module/Chip/Chip.js.map +1 -1
- package/build/module/Chip/ChipProps.js.map +1 -1
- package/build/module/Chip/index.js.map +1 -1
- package/build/module/CircularProgress/CircularProgress.js +24 -20
- package/build/module/CircularProgress/CircularProgress.js.map +1 -1
- package/build/module/CircularProgress/index.js.map +1 -1
- package/build/module/Column/Column.js.map +1 -1
- package/build/module/Column/ColumnProps.js.map +1 -1
- package/build/module/Column/index.js.map +1 -1
- package/build/module/Dialog/Dialog.js +19 -6
- package/build/module/Dialog/Dialog.js.map +1 -1
- package/build/module/Dialog/DialogProps.js.map +1 -1
- package/build/module/Dialog/index.js.map +1 -1
- package/build/module/DialogActions/DialogActions.js +1 -1
- package/build/module/DialogActions/DialogActions.js.map +1 -1
- package/build/module/DialogActions/DialogActionsProps.js.map +1 -1
- package/build/module/DialogActions/index.js.map +1 -1
- package/build/module/DialogContent/DialogContent.js +1 -1
- package/build/module/DialogContent/DialogContent.js.map +1 -1
- package/build/module/DialogContent/DialogContentProps.js.map +1 -1
- package/build/module/DialogContent/index.js.map +1 -1
- package/build/module/DialogMedia/DialogMedia.js +1 -1
- package/build/module/DialogMedia/DialogMedia.js.map +1 -1
- package/build/module/DialogMedia/DialogMediaProps.js.map +1 -1
- package/build/module/DialogMedia/index.js.map +1 -1
- package/build/module/DialogTitle/DialogTitle.js +1 -1
- package/build/module/DialogTitle/DialogTitle.js.map +1 -1
- package/build/module/DialogTitle/DialogTitleProps.js.map +1 -1
- package/build/module/DialogTitle/index.js.map +1 -1
- package/build/module/Divider/Divider.js +27 -19
- package/build/module/Divider/Divider.js.map +1 -1
- package/build/module/Divider/DividerProps.js.map +1 -1
- package/build/module/Divider/index.js.map +1 -1
- package/build/module/Fab/Fab.js +1 -1
- package/build/module/Fab/Fab.js.map +1 -1
- package/build/module/Fab/FabProps.js.map +1 -1
- package/build/module/Fab/index.js.map +1 -1
- package/build/module/Flexbox/Flexbox.js +1 -1
- package/build/module/Flexbox/Flexbox.js.map +1 -1
- package/build/module/Flexbox/FlexboxProps.js.map +1 -1
- package/build/module/Flexbox/index.js.map +1 -1
- package/build/module/IconButton/IconButton.js +1 -1
- package/build/module/IconButton/IconButton.js.map +1 -1
- package/build/module/IconButton/IconButtonProps.js.map +1 -1
- package/build/module/IconButton/index.js.map +1 -1
- package/build/module/Image/Image.js +56 -14
- package/build/module/Image/Image.js.map +1 -1
- package/build/module/Image/ImageProps.js.map +1 -1
- package/build/module/Image/index.js.map +1 -1
- package/build/module/ImageCore/ImageCoreNative.js +30 -25
- package/build/module/ImageCore/ImageCoreNative.js.map +1 -1
- package/build/module/ImageCore/ImageCoreProps.js.map +1 -1
- package/build/module/ImageCore/ImageCoreWeb.js +19 -1
- package/build/module/ImageCore/ImageCoreWeb.js.map +1 -1
- package/build/module/ImageCore/ImageFileExtensionContext.js +5 -0
- package/build/module/ImageCore/ImageFileExtensionContext.js.map +1 -0
- package/build/module/ImageCore/ImageFileExtensionProvider.js +24 -0
- package/build/module/ImageCore/ImageFileExtensionProvider.js.map +1 -0
- package/build/module/ImageCore/index.js +2 -1
- package/build/module/ImageCore/index.js.map +1 -1
- package/build/module/ImageCore/index.native.js +2 -0
- package/build/module/ImageCore/index.native.js.map +1 -1
- package/build/module/Link/Link.js +5 -4
- package/build/module/Link/Link.js.map +1 -1
- package/build/module/Link/LinkProps.js.map +1 -1
- package/build/module/Link/index.js.map +1 -1
- package/build/module/List/List.js +1 -1
- package/build/module/List/List.js.map +1 -1
- package/build/module/List/ListProps.js.map +1 -1
- package/build/module/List/index.js.map +1 -1
- package/build/module/ListItem/ListItem.js +1 -1
- package/build/module/ListItem/ListItem.js.map +1 -1
- package/build/module/ListItem/ListItemProps.js.map +1 -1
- package/build/module/ListItem/index.js.map +1 -1
- package/build/module/ListItemIcon/ListItemIcon.js +1 -1
- package/build/module/ListItemIcon/ListItemIcon.js.map +1 -1
- package/build/module/ListItemIcon/ListItemIconProps.js.map +1 -1
- package/build/module/ListItemIcon/index.js.map +1 -1
- package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js +1 -1
- package/build/module/ListItemSecondaryAction/ListItemSecondaryAction.js.map +1 -1
- package/build/module/ListItemSecondaryAction/ListItemSecondaryActionProps.js.map +1 -1
- package/build/module/ListItemSecondaryAction/index.js.map +1 -1
- package/build/module/ListItemText/ListItemText.js +1 -1
- package/build/module/ListItemText/ListItemText.js.map +1 -1
- package/build/module/ListItemText/ListItemTextProps.js.map +1 -1
- package/build/module/ListItemText/index.js.map +1 -1
- package/build/module/ListSubheader/ListSubheader.js +1 -1
- package/build/module/ListSubheader/ListSubheader.js.map +1 -1
- package/build/module/ListSubheader/ListSubheaderProps.js.map +1 -1
- package/build/module/ListSubheader/index.js.map +1 -1
- package/build/module/Menu/Menu.js.map +1 -1
- package/build/module/Menu/MenuProps.js.map +1 -1
- package/build/module/Menu/index.js.map +1 -1
- package/build/module/MenuItem/MenuItem.js.map +1 -1
- package/build/module/MenuItem/MenuItemProps.js.map +1 -1
- package/build/module/MenuItem/index.js.map +1 -1
- package/build/module/Modal/Modal.js +1 -1
- package/build/module/Modal/Modal.js.map +1 -1
- package/build/module/Modal/ModalProps.js.map +1 -1
- package/build/module/Modal/SimpleBackdrop.js +1 -1
- package/build/module/Modal/SimpleBackdrop.js.map +1 -1
- package/build/module/Modal/SimpleBackdropProps.js.map +1 -1
- package/build/module/Modal/index.js.map +1 -1
- package/build/module/Pagination/Pagination.js +10 -7
- package/build/module/Pagination/Pagination.js.map +1 -1
- package/build/module/Pagination/PaginationProps.js.map +1 -1
- package/build/module/Pagination/index.js.map +1 -1
- package/build/module/PaginationItem/PaginationItem.js +1 -1
- package/build/module/PaginationItem/PaginationItem.js.map +1 -1
- package/build/module/PaginationItem/PaginationItemProps.js.map +1 -1
- package/build/module/PaginationItem/index.js.map +1 -1
- package/build/module/Paper/Paper.js +2 -2
- package/build/module/Paper/Paper.js.map +1 -1
- package/build/module/Paper/PaperProps.js.map +1 -1
- package/build/module/Paper/PaperStylesProvider.js.map +1 -1
- package/build/module/Paper/index.js.map +1 -1
- package/build/module/Paper/usePaperStyles.js.map +1 -1
- package/build/module/Portal/Portal.js.map +1 -1
- package/build/module/Portal/PortalConsumer.js +2 -2
- package/build/module/Portal/PortalConsumer.js.map +1 -1
- package/build/module/Portal/PortalHost.js +2 -2
- package/build/module/Portal/PortalHost.js.map +1 -1
- package/build/module/Portal/PortalManager.js +11 -8
- package/build/module/Portal/PortalManager.js.map +1 -1
- package/build/module/Portal/PortalProps.js.map +1 -1
- package/build/module/Portal/index.js.map +1 -1
- package/build/module/Pressable/index.js.map +1 -1
- package/build/module/Radio/Radio.js +4 -9
- package/build/module/Radio/Radio.js.map +1 -1
- package/build/module/Radio/RadioProps.js.map +1 -1
- package/build/module/Radio/index.js.map +1 -1
- package/build/module/RadioGroup/RadioContextProvider.js.map +1 -1
- package/build/module/RadioGroup/RadioGroup.js.map +1 -1
- package/build/module/RadioGroup/RadioGroupProps.js.map +1 -1
- package/build/module/RadioGroup/index.js.map +1 -1
- package/build/module/Row/Row.js.map +1 -1
- package/build/module/Row/RowProps.js.map +1 -1
- package/build/module/Row/index.js.map +1 -1
- package/build/module/Slide/Slide.js +20 -15
- package/build/module/Slide/Slide.js.map +1 -1
- package/build/module/Slide/SlideProps.js.map +1 -1
- package/build/module/Slide/index.js.map +1 -1
- package/build/module/Slider/Slider.js +1 -1
- package/build/module/Slider/Slider.js.map +1 -1
- package/build/module/Slider/SliderProps.js.map +1 -1
- package/build/module/Slider/index.js.map +1 -1
- package/build/module/Snackbar/Snackbar.js +1 -1
- package/build/module/Snackbar/Snackbar.js.map +1 -1
- package/build/module/Snackbar/SnackbarProps.js.map +1 -1
- package/build/module/Snackbar/index.js.map +1 -1
- package/build/module/SnackbarContent/SnackbarContent.js +1 -1
- package/build/module/SnackbarContent/SnackbarContent.js.map +1 -1
- package/build/module/SnackbarContent/SnackbarContentProps.js.map +1 -1
- package/build/module/SnackbarContent/index.js.map +1 -1
- package/build/module/Spacer/Spacer.js +1 -1
- package/build/module/Spacer/Spacer.js.map +1 -1
- package/build/module/Spacer/SpacerProps.js.map +1 -1
- package/build/module/Spacer/index.js.map +1 -1
- package/build/module/SvgIcon/SvgIcon.js +2 -2
- package/build/module/SvgIcon/SvgIcon.js.map +1 -1
- package/build/module/SvgIcon/SvgIconProps.js.map +1 -1
- package/build/module/SvgIcon/index.js.map +1 -1
- package/build/module/Switch/Switch.js +1 -1
- package/build/module/Switch/Switch.js.map +1 -1
- package/build/module/Switch/SwitchProps.js.map +1 -1
- package/build/module/Switch/index.js.map +1 -1
- package/build/module/Tab/Tab.js +11 -8
- package/build/module/Tab/Tab.js.map +1 -1
- package/build/module/Tab/TabIndicator.js +8 -5
- package/build/module/Tab/TabIndicator.js.map +1 -1
- package/build/module/Tab/TabProps.js.map +1 -1
- package/build/module/Tab/index.js.map +1 -1
- package/build/module/TabBase/TabBase.js +1 -1
- package/build/module/TabBase/TabBase.js.map +1 -1
- package/build/module/TabBase/TabBaseProps.js.map +1 -1
- package/build/module/TabBase/index.js.map +1 -1
- package/build/module/Tabs/IndexAwareTab.js +23 -0
- package/build/module/Tabs/IndexAwareTab.js.map +1 -0
- package/build/module/Tabs/InternalContext.js +7 -0
- package/build/module/Tabs/InternalContext.js.map +1 -0
- package/build/module/Tabs/ScrollableTabsView.js +22 -0
- package/build/module/Tabs/ScrollableTabsView.js.map +1 -0
- package/build/module/Tabs/TabCoordinate.js.map +1 -1
- package/build/module/Tabs/TabIndicator.js +66 -28
- package/build/module/Tabs/TabIndicator.js.map +1 -1
- package/build/module/Tabs/TabIndicatorProps.js.map +1 -1
- package/build/module/Tabs/Tabs.js +66 -72
- package/build/module/Tabs/Tabs.js.map +1 -1
- package/build/module/Tabs/TabsProps.js.map +1 -1
- package/build/module/Tabs/index.js.map +1 -1
- package/build/module/Tabs/types.js +2 -0
- package/build/module/Tabs/types.js.map +1 -0
- package/build/module/Tabs/useIndexStore.js +25 -0
- package/build/module/Tabs/useIndexStore.js.map +1 -0
- package/build/module/Tabs/useScrollViewReaction.js +57 -0
- package/build/module/Tabs/useScrollViewReaction.js.map +1 -0
- package/build/module/Tabs/useTabCoordinates.js +21 -0
- package/build/module/Tabs/useTabCoordinates.js.map +1 -0
- package/build/module/Tabs/utils.js +9 -0
- package/build/module/Tabs/utils.js.map +1 -0
- package/build/module/TextField/InputLabel.js +8 -7
- package/build/module/TextField/InputLabel.js.map +1 -1
- package/build/module/TextField/OutlinedTextField.js +7 -3
- package/build/module/TextField/OutlinedTextField.js.map +1 -1
- package/build/module/TextField/TextField.js +13 -5
- package/build/module/TextField/TextField.js.map +1 -1
- package/build/module/TextField/TextFieldProps.js.map +1 -1
- package/build/module/TextField/index.js.map +1 -1
- package/build/module/TextField/utils.js.map +1 -1
- package/build/module/Toolbar/Toolbar.js +1 -1
- package/build/module/Toolbar/Toolbar.js.map +1 -1
- package/build/module/Toolbar/ToolbarProps.js.map +1 -1
- package/build/module/Toolbar/index.js.map +1 -1
- package/build/module/Tooltip/Tooltip.js +33 -23
- package/build/module/Tooltip/Tooltip.js.map +1 -1
- package/build/module/Tooltip/TooltipProps.js.map +1 -1
- package/build/module/Tooltip/UpArrow.js +6 -5
- package/build/module/Tooltip/UpArrow.js.map +1 -1
- package/build/module/Tooltip/UpArrowProps.js.map +1 -1
- package/build/module/Tooltip/index.js.map +1 -1
- package/build/module/Typography/Typography.js +8 -3
- package/build/module/Typography/Typography.js.map +1 -1
- package/build/module/Typography/TypographyProps.js.map +1 -1
- package/build/module/Typography/index.js.map +1 -1
- package/build/module/animated/AnimatedAppBar.js.map +1 -1
- package/build/module/animated/AnimatedFlatList.js.map +1 -1
- package/build/module/animated/AnimatedPressable.js +2 -3
- package/build/module/animated/AnimatedPressable.js.map +1 -1
- package/build/module/animated/AnimatedTypography.js.map +1 -1
- package/build/module/animated/index.js.map +1 -1
- package/build/module/hooks/index.js +4 -0
- package/build/module/hooks/index.js.map +1 -1
- package/build/module/hooks/useAnimatedValue.js +22 -0
- package/build/module/hooks/useAnimatedValue.js.map +1 -0
- package/build/module/hooks/useAppbarStyles.js.map +1 -1
- package/build/module/hooks/useBreakpointUp.js.map +1 -1
- package/build/module/hooks/useCollapsibleAppBar.js +50 -66
- package/build/module/hooks/useCollapsibleAppBar.js.map +1 -1
- package/build/module/hooks/useContentContainerStyle.js +2 -1
- package/build/module/hooks/useContentContainerStyle.js.map +1 -1
- package/build/module/hooks/useDebounce.js +25 -0
- package/build/module/hooks/useDebounce.js.map +1 -0
- package/build/module/hooks/useElevationStyle.js.map +1 -1
- package/build/module/hooks/useFadeInAppBar.js +32 -33
- package/build/module/hooks/useFadeInAppBar.js.map +1 -1
- package/build/module/hooks/useImperativeState.js +17 -0
- package/build/module/hooks/useImperativeState.js.map +1 -0
- package/build/module/hooks/useSyncAnimatedValue.js +28 -0
- package/build/module/hooks/useSyncAnimatedValue.js.map +1 -0
- package/build/module/hooks/useThrottle.js +4 -4
- package/build/module/hooks/useThrottle.js.map +1 -1
- package/build/module/hooks/useValidWindowDimensions/index.ios.js +15 -9
- package/build/module/hooks/useValidWindowDimensions/index.ios.js.map +1 -1
- package/build/module/hooks/useValidWindowDimensions/index.js.map +1 -1
- package/build/module/index.js +2 -0
- package/build/module/index.js.map +1 -1
- package/build/module/internal/hooks/index.js +0 -1
- package/build/module/internal/hooks/index.js.map +1 -1
- package/build/module/internal/hooks/useHeight.js +5 -5
- package/build/module/internal/hooks/useHeight.js.map +1 -1
- package/build/module/internal/icons/Checkbox.js +1 -1
- package/build/module/internal/icons/Checkbox.js.map +1 -1
- package/build/module/internal/icons/CheckboxChecked.js +1 -1
- package/build/module/internal/icons/CheckboxChecked.js.map +1 -1
- package/build/module/internal/icons/ChevronDown.js +1 -1
- package/build/module/internal/icons/ChevronDown.js.map +1 -1
- package/build/module/internal/icons/ChevronLeft.js +1 -1
- package/build/module/internal/icons/ChevronLeft.js.map +1 -1
- package/build/module/internal/icons/ChevronRight.js +1 -1
- package/build/module/internal/icons/ChevronRight.js.map +1 -1
- package/build/module/internal/icons/CircularProgress.js.map +1 -1
- package/build/module/internal/icons/Close.js +1 -1
- package/build/module/internal/icons/Close.js.map +1 -1
- package/build/module/internal/icons/Radio.js +1 -1
- package/build/module/internal/icons/Radio.js.map +1 -1
- package/build/module/internal/icons/RadioChecked.js +1 -1
- package/build/module/internal/icons/RadioChecked.js.map +1 -1
- package/build/module/internal/icons/index.js.map +1 -1
- package/build/module/internal/index.js.map +1 -1
- package/build/module/store/MockStore.js +18 -0
- package/build/module/store/MockStore.js.map +1 -0
- package/build/module/store/SimpleStore.js +50 -0
- package/build/module/store/SimpleStore.js.map +1 -0
- package/build/module/store/index.js +3 -0
- package/build/module/store/index.js.map +1 -0
- package/build/module/store/types.js +2 -0
- package/build/module/store/types.js.map +1 -0
- package/build/module/styles/EdgeInsets.js +9 -6
- package/build/module/styles/EdgeInsets.js.map +1 -1
- package/build/module/styles/PredefinedStyles.js.map +1 -1
- package/build/module/styles/StyleSheet.js.map +1 -1
- package/build/module/styles/ThemeProvider.js.map +1 -1
- package/build/module/styles/createFontStyle.js +2 -2
- package/build/module/styles/createFontStyle.js.map +1 -1
- package/build/module/styles/index.js.map +1 -1
- package/build/module/styles/styled.js.map +1 -1
- package/build/module/styles/useTheme.js.map +1 -1
- package/build/module/types/index.js.map +1 -1
- package/build/module/utils/cloneElementSafely.js.map +1 -1
- package/build/module/utils/createSvgIcon.js.map +1 -1
- package/build/module/utils/index.js.map +1 -1
- package/build/typescript/Badge/BadgeProps.d.ts +5 -0
- package/build/typescript/ButtonBase/ButtonBaseProps.d.ts +4 -0
- package/build/typescript/Checkbox/CheckboxProps.d.ts +1 -1
- package/build/typescript/Chip/ChipProps.d.ts +4 -0
- package/build/typescript/CircularProgress/CircularProgress.d.ts +2 -2
- package/build/typescript/Dialog/DialogProps.d.ts +4 -0
- package/build/typescript/Divider/DividerProps.d.ts +22 -1
- package/build/typescript/Image/ImageProps.d.ts +30 -2
- package/build/typescript/Image/index.d.ts +1 -1
- package/build/typescript/ImageCore/ImageCoreProps.d.ts +5 -1
- package/build/typescript/ImageCore/ImageFileExtensionContext.d.ts +3 -0
- package/build/typescript/ImageCore/ImageFileExtensionProvider.d.ts +13 -0
- package/build/typescript/ImageCore/index.d.ts +3 -1
- package/build/typescript/ImageCore/index.native.d.ts +2 -0
- package/build/typescript/Slider/Slider.d.ts +1 -1
- package/build/typescript/Tab/TabIndicator.d.ts +4 -1
- package/build/typescript/Tab/TabProps.d.ts +6 -0
- package/build/typescript/Tabs/IndexAwareTab.d.ts +8 -0
- package/build/typescript/Tabs/InternalContext.d.ts +7 -0
- package/build/typescript/Tabs/ScrollableTabsView.d.ts +8 -0
- package/build/typescript/Tabs/TabIndicatorProps.d.ts +10 -5
- package/build/typescript/Tabs/Tabs.d.ts +4 -2
- package/build/typescript/Tabs/TabsProps.d.ts +18 -12
- package/build/typescript/Tabs/index.d.ts +1 -0
- package/build/typescript/Tabs/types.d.ts +9 -0
- package/build/typescript/Tabs/useIndexStore.d.ts +3 -0
- package/build/typescript/Tabs/useScrollViewReaction.d.ts +8 -0
- package/build/typescript/Tabs/useTabCoordinates.d.ts +6 -0
- package/build/typescript/Tabs/utils.d.ts +3 -0
- package/build/typescript/TextField/TextFieldProps.d.ts +3 -0
- package/build/typescript/Tooltip/TooltipProps.d.ts +15 -1
- package/build/typescript/Typography/TypographyProps.d.ts +13 -0
- package/build/typescript/animated/AnimatedPressable.d.ts +2 -2
- package/build/typescript/hooks/index.d.ts +5 -0
- package/build/typescript/hooks/useAnimatedValue.d.ts +2 -0
- package/build/typescript/hooks/useCollapsibleAppBar.d.ts +2 -1
- package/build/typescript/hooks/useDebounce.d.ts +1 -0
- package/build/typescript/hooks/useFadeInAppBar.d.ts +4 -4
- package/build/typescript/hooks/useImperativeState.d.ts +6 -0
- package/build/typescript/hooks/useSyncAnimatedValue.d.ts +6 -0
- package/build/typescript/hooks/useValidWindowDimensions/index.ios.d.ts +2 -1
- package/build/typescript/index.d.ts +2 -0
- package/build/typescript/internal/hooks/index.d.ts +0 -1
- package/build/typescript/internal/icons/Checkbox.d.ts +27 -10
- package/build/typescript/internal/icons/CheckboxChecked.d.ts +27 -10
- package/build/typescript/internal/icons/ChevronDown.d.ts +27 -10
- package/build/typescript/internal/icons/ChevronLeft.d.ts +27 -10
- package/build/typescript/internal/icons/ChevronRight.d.ts +27 -10
- package/build/typescript/internal/icons/Close.d.ts +27 -10
- package/build/typescript/internal/icons/Radio.d.ts +27 -10
- package/build/typescript/internal/icons/RadioChecked.d.ts +27 -10
- package/build/typescript/store/MockStore.d.ts +7 -0
- package/build/typescript/store/SimpleStore.d.ts +10 -0
- package/build/typescript/store/index.d.ts +3 -0
- package/build/typescript/store/types.d.ts +10 -0
- package/build/typescript/types/index.d.ts +6 -0
- package/package.json +9 -9
- package/src/Accordion/Accordion.tsx +8 -6
- package/src/Badge/Badge.tsx +6 -16
- package/src/Badge/BadgeProps.ts +6 -0
- package/src/ButtonBase/ButtonBase.tsx +73 -43
- package/src/ButtonBase/ButtonBaseProps.ts +5 -0
- package/src/Checkbox/CheckboxProps.ts +1 -1
- package/src/Chip/Chip.tsx +11 -7
- package/src/Chip/ChipProps.ts +5 -0
- package/src/CircularProgress/CircularProgress.tsx +38 -28
- package/src/Dialog/Dialog.tsx +32 -11
- package/src/Dialog/DialogProps.ts +5 -0
- package/src/Divider/Divider.tsx +21 -14
- package/src/Divider/DividerProps.ts +27 -1
- package/src/Image/Image.tsx +79 -17
- package/src/Image/ImageProps.ts +36 -2
- package/src/Image/index.ts +1 -1
- package/src/ImageCore/ImageCoreNative.tsx +28 -18
- package/src/ImageCore/ImageCoreProps.ts +6 -1
- package/src/ImageCore/ImageCoreWeb.tsx +22 -2
- package/src/ImageCore/ImageFileExtensionContext.ts +7 -0
- package/src/ImageCore/ImageFileExtensionProvider.tsx +33 -0
- package/src/ImageCore/index.native.ts +3 -1
- package/src/ImageCore/index.ts +4 -1
- package/src/Radio/Radio.tsx +1 -3
- package/src/Slide/Slide.tsx +23 -19
- package/src/SvgIcon/SvgIcon.tsx +1 -1
- package/src/Tab/Tab.tsx +8 -7
- package/src/Tab/TabIndicator.tsx +17 -15
- package/src/Tab/TabProps.ts +7 -0
- package/src/Tabs/IndexAwareTab.tsx +29 -0
- package/src/Tabs/InternalContext.ts +13 -0
- package/src/Tabs/ScrollableTabsView.tsx +28 -0
- package/src/Tabs/TabIndicator.tsx +73 -37
- package/src/Tabs/TabIndicatorProps.ts +12 -5
- package/src/Tabs/Tabs.tsx +96 -97
- package/src/Tabs/TabsProps.ts +21 -22
- package/src/Tabs/index.ts +2 -1
- package/src/Tabs/types.ts +18 -0
- package/src/Tabs/useIndexStore.ts +31 -0
- package/src/Tabs/useScrollViewReaction.ts +62 -0
- package/src/Tabs/useTabCoordinates.ts +25 -0
- package/src/Tabs/utils.ts +14 -0
- package/src/TextField/InputLabel.tsx +6 -1
- package/src/TextField/OutlinedTextField.tsx +7 -1
- package/src/TextField/TextField.tsx +10 -4
- package/src/TextField/TextFieldProps.ts +4 -0
- package/src/Tooltip/Tooltip.tsx +44 -25
- package/src/Tooltip/TooltipProps.ts +18 -1
- package/src/Typography/Typography.tsx +8 -3
- package/src/Typography/TypographyProps.ts +16 -0
- package/src/animated/AnimatedPressable.tsx +1 -2
- package/src/hooks/index.ts +6 -0
- package/src/hooks/useAnimatedValue.ts +21 -0
- package/src/hooks/useCollapsibleAppBar.ts +80 -59
- package/src/hooks/useDebounce.ts +23 -0
- package/src/hooks/useFadeInAppBar.ts +32 -30
- package/src/hooks/useImperativeState.ts +24 -0
- package/src/hooks/useSyncAnimatedValue.ts +38 -0
- package/src/hooks/useThrottle.ts +3 -3
- package/src/hooks/useValidWindowDimensions/index.ios.ts +16 -10
- package/src/index.ts +4 -0
- package/src/internal/hooks/index.ts +0 -1
- package/src/internal/hooks/useHeight.ts +4 -5
- package/src/internal/icons/Checkbox.tsx +1 -1
- package/src/internal/icons/CheckboxChecked.tsx +1 -1
- package/src/internal/icons/ChevronDown.tsx +1 -1
- package/src/internal/icons/ChevronLeft.tsx +1 -1
- package/src/internal/icons/ChevronRight.tsx +1 -1
- package/src/internal/icons/Close.tsx +1 -1
- package/src/internal/icons/Radio.tsx +1 -1
- package/src/internal/icons/RadioChecked.tsx +1 -1
- package/src/store/MockStore.ts +21 -0
- package/src/store/SimpleStore.ts +50 -0
- package/src/store/index.ts +3 -0
- package/src/store/types.ts +12 -0
- package/src/types/index.ts +7 -0
- package/build/commonjs/ButtonBase/ButtonBase.ios.js +0 -99
- package/build/commonjs/ButtonBase/ButtonBase.ios.js.map +0 -1
- package/build/commonjs/ButtonBase/useDisabledReaction/index.js +0 -23
- package/build/commonjs/ButtonBase/useDisabledReaction/index.js.map +0 -1
- package/build/commonjs/ButtonBase/useDisabledReaction/index.native.js +0 -9
- package/build/commonjs/ButtonBase/useDisabledReaction/index.native.js.map +0 -1
- package/build/commonjs/ImageCore/ImageCoreNative.ios.js +0 -60
- package/build/commonjs/ImageCore/ImageCoreNative.ios.js.map +0 -1
- package/build/commonjs/internal/hooks/useWidth.js +0 -29
- package/build/commonjs/internal/hooks/useWidth.js.map +0 -1
- package/build/module/ButtonBase/ButtonBase.ios.js +0 -80
- package/build/module/ButtonBase/ButtonBase.ios.js.map +0 -1
- package/build/module/ButtonBase/useDisabledReaction/index.js +0 -12
- package/build/module/ButtonBase/useDisabledReaction/index.js.map +0 -1
- package/build/module/ButtonBase/useDisabledReaction/index.native.js +0 -2
- package/build/module/ButtonBase/useDisabledReaction/index.native.js.map +0 -1
- package/build/module/ImageCore/ImageCoreNative.ios.js +0 -45
- package/build/module/ImageCore/ImageCoreNative.ios.js.map +0 -1
- package/build/module/internal/hooks/useWidth.js +0 -15
- package/build/module/internal/hooks/useWidth.js.map +0 -1
- package/build/typescript/ButtonBase/ButtonBase.ios.d.ts +0 -3
- package/build/typescript/ButtonBase/useDisabledReaction/index.d.ts +0 -2
- package/build/typescript/ButtonBase/useDisabledReaction/index.native.d.ts +0 -2
- package/build/typescript/ImageCore/ImageCoreNative.ios.d.ts +0 -3
- package/build/typescript/internal/hooks/useWidth.d.ts +0 -2
- package/src/ButtonBase/ButtonBase.ios.tsx +0 -95
- package/src/ButtonBase/useDisabledReaction/index.native.ts +0 -4
- package/src/ButtonBase/useDisabledReaction/index.ts +0 -15
- package/src/ImageCore/ImageCoreNative.ios.tsx +0 -46
- package/src/internal/hooks/useWidth.ts +0 -17
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useCallback, useContext, useEffect, useRef } from 'react';
|
|
2
|
+
import InternalContext from './InternalContext';
|
|
3
|
+
export default function useScrollViewReaction(initialIndex, coordinates) {
|
|
4
|
+
const scrollViewRef = useRef(null);
|
|
5
|
+
const lastScrolledXRef = useRef(NaN);
|
|
6
|
+
const {
|
|
7
|
+
indexStore
|
|
8
|
+
} = useContext(InternalContext);
|
|
9
|
+
|
|
10
|
+
const scrollToX = x => {
|
|
11
|
+
if (Number.isFinite(x)) {
|
|
12
|
+
var _scrollViewRef$curren;
|
|
13
|
+
|
|
14
|
+
(_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 ? void 0 : _scrollViewRef$curren.scrollTo({
|
|
15
|
+
x,
|
|
16
|
+
y: 0,
|
|
17
|
+
animated: true
|
|
18
|
+
});
|
|
19
|
+
lastScrolledXRef.current = x;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const onLayout = useCallback(() => {
|
|
24
|
+
scrollToX(lastScrolledXRef.current);
|
|
25
|
+
}, []);
|
|
26
|
+
const computeNextScrollX = useCallback(index => {
|
|
27
|
+
const prevIndex = index - 1;
|
|
28
|
+
const prevCoordinate = coordinates[prevIndex];
|
|
29
|
+
|
|
30
|
+
if (prevCoordinate) {
|
|
31
|
+
const prevTabWidth = prevCoordinate.x2 - prevCoordinate.x1;
|
|
32
|
+
return Math.floor(prevCoordinate.x1 + prevTabWidth / 2);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return 0;
|
|
36
|
+
}, [coordinates]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (Number.isNaN(lastScrolledXRef.current)) {
|
|
39
|
+
const x = computeNextScrollX(initialIndex);
|
|
40
|
+
|
|
41
|
+
if (x > 0) {
|
|
42
|
+
scrollToX(x);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}, [initialIndex, computeNextScrollX]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
return indexStore.subscribe(currentIndex => {
|
|
48
|
+
scrollToX(computeNextScrollX(currentIndex));
|
|
49
|
+
});
|
|
50
|
+
}, [indexStore, computeNextScrollX]);
|
|
51
|
+
return {
|
|
52
|
+
scrollViewRef,
|
|
53
|
+
onLayout
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
;
|
|
57
|
+
//# sourceMappingURL=useScrollViewReaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useContext","useEffect","useRef","InternalContext","useScrollViewReaction","initialIndex","coordinates","scrollViewRef","lastScrolledXRef","NaN","indexStore","scrollToX","x","Number","isFinite","current","scrollTo","y","animated","onLayout","computeNextScrollX","index","prevIndex","prevCoordinate","prevTabWidth","x2","x1","Math","floor","isNaN","subscribe","currentIndex"],"sources":["useScrollViewReaction.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\nimport { useCallback, useContext, useEffect, useRef } from 'react';\nimport type { ScrollView, ViewProps } from 'react-native';\nimport type TabCoordinate from './TabCoordinate';\nimport InternalContext from './InternalContext';\n\nexport interface UseScrollViewReaction {\n scrollViewRef: MutableRefObject<ScrollView | null>;\n onLayout: ViewProps['onLayout'];\n}\n\nexport default function useScrollViewReaction(\n initialIndex: number,\n coordinates: TabCoordinate[],\n): UseScrollViewReaction {\n const scrollViewRef = useRef<ScrollView | null>(null);\n\n const lastScrolledXRef = useRef<number>(NaN);\n\n const { indexStore } = useContext(InternalContext);\n\n const scrollToX = (x: number) => {\n if (Number.isFinite(x)) {\n scrollViewRef.current?.scrollTo({ x, y: 0, animated: true });\n\n lastScrolledXRef.current = x;\n }\n };\n\n const onLayout = useCallback(() => {\n scrollToX(lastScrolledXRef.current);\n }, []);\n\n const computeNextScrollX = useCallback((index: number): number => {\n const prevIndex = index - 1;\n const prevCoordinate = coordinates[prevIndex];\n\n if (prevCoordinate) {\n const prevTabWidth = prevCoordinate.x2 - prevCoordinate.x1;\n return Math.floor(prevCoordinate.x1 + prevTabWidth / 2);\n }\n\n return 0;\n }, [coordinates]);\n\n useEffect(() => {\n if (Number.isNaN(lastScrolledXRef.current)) {\n const x = computeNextScrollX(initialIndex);\n if (x > 0) {\n scrollToX(x);\n }\n }\n }, [initialIndex, computeNextScrollX]);\n\n useEffect(() => {\n return indexStore.subscribe(currentIndex => {\n scrollToX(computeNextScrollX(currentIndex));\n });\n }, [indexStore, computeNextScrollX]);\n\n return { scrollViewRef, onLayout };\n};\n"],"mappings":"AACA,SAASA,WAAT,EAAsBC,UAAtB,EAAkCC,SAAlC,EAA6CC,MAA7C,QAA2D,OAA3D;AAGA,OAAOC,eAAP,MAA4B,mBAA5B;AAOA,eAAe,SAASC,qBAAT,CACXC,YADW,EAEXC,WAFW,EAGU;EACrB,MAAMC,aAAa,GAAGL,MAAM,CAAoB,IAApB,CAA5B;EAEA,MAAMM,gBAAgB,GAAGN,MAAM,CAASO,GAAT,CAA/B;EAEA,MAAM;IAAEC;EAAF,IAAiBV,UAAU,CAACG,eAAD,CAAjC;;EAEA,MAAMQ,SAAS,GAAIC,CAAD,IAAe;IAC7B,IAAIC,MAAM,CAACC,QAAP,CAAgBF,CAAhB,CAAJ,EAAwB;MAAA;;MACpB,yBAAAL,aAAa,CAACQ,OAAd,gFAAuBC,QAAvB,CAAgC;QAAEJ,CAAF;QAAKK,CAAC,EAAE,CAAR;QAAWC,QAAQ,EAAE;MAArB,CAAhC;MAEAV,gBAAgB,CAACO,OAAjB,GAA2BH,CAA3B;IACH;EACJ,CAND;;EAQA,MAAMO,QAAQ,GAAGpB,WAAW,CAAC,MAAM;IAC/BY,SAAS,CAACH,gBAAgB,CAACO,OAAlB,CAAT;EACH,CAF2B,EAEzB,EAFyB,CAA5B;EAIA,MAAMK,kBAAkB,GAAGrB,WAAW,CAAEsB,KAAD,IAA2B;IAC9D,MAAMC,SAAS,GAAGD,KAAK,GAAG,CAA1B;IACA,MAAME,cAAc,GAAGjB,WAAW,CAACgB,SAAD,CAAlC;;IAEA,IAAIC,cAAJ,EAAoB;MAChB,MAAMC,YAAY,GAAGD,cAAc,CAACE,EAAf,GAAoBF,cAAc,CAACG,EAAxD;MACA,OAAOC,IAAI,CAACC,KAAL,CAAWL,cAAc,CAACG,EAAf,GAAoBF,YAAY,GAAG,CAA9C,CAAP;IACH;;IAED,OAAO,CAAP;EACH,CAVqC,EAUnC,CAAClB,WAAD,CAVmC,CAAtC;EAYAL,SAAS,CAAC,MAAM;IACZ,IAAIY,MAAM,CAACgB,KAAP,CAAarB,gBAAgB,CAACO,OAA9B,CAAJ,EAA4C;MACxC,MAAMH,CAAC,GAAGQ,kBAAkB,CAACf,YAAD,CAA5B;;MACA,IAAIO,CAAC,GAAG,CAAR,EAAW;QACPD,SAAS,CAACC,CAAD,CAAT;MACH;IACJ;EACJ,CAPQ,EAON,CAACP,YAAD,EAAee,kBAAf,CAPM,CAAT;EASAnB,SAAS,CAAC,MAAM;IACZ,OAAOS,UAAU,CAACoB,SAAX,CAAqBC,YAAY,IAAI;MACxCpB,SAAS,CAACS,kBAAkB,CAACW,YAAD,CAAnB,CAAT;IACH,CAFM,CAAP;EAGH,CAJQ,EAIN,CAACrB,UAAD,EAAaU,kBAAb,CAJM,CAAT;EAMA,OAAO;IAAEb,aAAF;IAAiBY;EAAjB,CAAP;AACH;AAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useRef, useState } from 'react';
|
|
2
|
+
import { isEveryTabCoordinatesDefined } from './utils';
|
|
3
|
+
export default function useTabCoordinates(tabElements) {
|
|
4
|
+
const [coordinates, setCoordinates] = useState([]);
|
|
5
|
+
const cacheRef = useRef([]);
|
|
6
|
+
|
|
7
|
+
const updateCoordinate = (index, x, width) => {
|
|
8
|
+
cacheRef.current[index] = {
|
|
9
|
+
x1: x,
|
|
10
|
+
x2: x + width
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
if (isEveryTabCoordinatesDefined(cacheRef.current, tabElements)) {
|
|
14
|
+
setCoordinates([...cacheRef.current]);
|
|
15
|
+
cacheRef.current = [];
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
return [coordinates, updateCoordinate];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=useTabCoordinates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useRef","useState","isEveryTabCoordinatesDefined","useTabCoordinates","tabElements","coordinates","setCoordinates","cacheRef","updateCoordinate","index","x","width","current","x1","x2"],"sources":["useTabCoordinates.ts"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport TabCoordinate from './TabCoordinate';\nimport { isEveryTabCoordinatesDefined } from './utils';\n\nexport interface UpdateCoordinate {\n (index: number, x: number, width: number): void;\n}\n\nexport default function useTabCoordinates(tabElements: React.ReactNode): [TabCoordinate[], UpdateCoordinate] {\n const [coordinates, setCoordinates] = useState<TabCoordinate[]>([]);\n\n const cacheRef = useRef<TabCoordinate[]>([]);\n\n const updateCoordinate: UpdateCoordinate = (index, x, width) => {\n cacheRef.current[index] = { x1: x, x2: x + width };\n\n if (isEveryTabCoordinatesDefined(cacheRef.current, tabElements)) {\n setCoordinates([...cacheRef.current]);\n\n cacheRef.current = [];\n }\n };\n\n return [coordinates, updateCoordinate];\n}\n"],"mappings":"AAAA,SAAgBA,MAAhB,EAAwBC,QAAxB,QAAwC,OAAxC;AAEA,SAASC,4BAAT,QAA6C,SAA7C;AAMA,eAAe,SAASC,iBAAT,CAA2BC,WAA3B,EAA8F;EACzG,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCL,QAAQ,CAAkB,EAAlB,CAA9C;EAEA,MAAMM,QAAQ,GAAGP,MAAM,CAAkB,EAAlB,CAAvB;;EAEA,MAAMQ,gBAAkC,GAAG,CAACC,KAAD,EAAQC,CAAR,EAAWC,KAAX,KAAqB;IAC5DJ,QAAQ,CAACK,OAAT,CAAiBH,KAAjB,IAA0B;MAAEI,EAAE,EAAEH,CAAN;MAASI,EAAE,EAAEJ,CAAC,GAAGC;IAAjB,CAA1B;;IAEA,IAAIT,4BAA4B,CAACK,QAAQ,CAACK,OAAV,EAAmBR,WAAnB,CAAhC,EAAiE;MAC7DE,cAAc,CAAC,CAAC,GAAGC,QAAQ,CAACK,OAAb,CAAD,CAAd;MAEAL,QAAQ,CAACK,OAAT,GAAmB,EAAnB;IACH;EACJ,CARD;;EAUA,OAAO,CAACP,WAAD,EAAcG,gBAAd,CAAP;AACH"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Children } from 'react';
|
|
2
|
+
import { isEveryDefined } from '@fountain-ui/utils';
|
|
3
|
+
export function isEveryTabCoordinatesDefined(coordinates, tabElements) {
|
|
4
|
+
const numberOfTabs = Children.count(tabElements);
|
|
5
|
+
const numberOfCoordinates = coordinates.length;
|
|
6
|
+
const everyCoordinatesDefined = isEveryDefined(coordinates);
|
|
7
|
+
return numberOfTabs === numberOfCoordinates && everyCoordinatesDefined;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Children","isEveryDefined","isEveryTabCoordinatesDefined","coordinates","tabElements","numberOfTabs","count","numberOfCoordinates","length","everyCoordinatesDefined"],"sources":["utils.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Children } from 'react';\nimport { isEveryDefined } from '@fountain-ui/utils';\nimport type TabCoordinate from './TabCoordinate';\n\n\nexport function isEveryTabCoordinatesDefined(coordinates: TabCoordinate[], tabElements: ReactNode): boolean {\n const numberOfTabs = Children.count(tabElements);\n const numberOfCoordinates = coordinates.length;\n\n const everyCoordinatesDefined = isEveryDefined(coordinates);\n\n return numberOfTabs === numberOfCoordinates && everyCoordinatesDefined;\n}\n"],"mappings":"AACA,SAASA,QAAT,QAAyB,OAAzB;AACA,SAASC,cAAT,QAA+B,oBAA/B;AAIA,OAAO,SAASC,4BAAT,CAAsCC,WAAtC,EAAoEC,WAApE,EAAqG;EACxG,MAAMC,YAAY,GAAGL,QAAQ,CAACM,KAAT,CAAeF,WAAf,CAArB;EACA,MAAMG,mBAAmB,GAAGJ,WAAW,CAACK,MAAxC;EAEA,MAAMC,uBAAuB,GAAGR,cAAc,CAACE,WAAD,CAA9C;EAEA,OAAOE,YAAY,KAAKE,mBAAjB,IAAwCE,uBAA/C;AACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Animated, StyleSheet } from 'react-native';
|
|
3
|
-
import { useTheme } from '../styles';
|
|
3
|
+
import { createFontStyle, useTheme } from '../styles';
|
|
4
4
|
import usePaperStyles from '../Paper/usePaperStyles';
|
|
5
5
|
import { inputPaddingHorizontal } from './utils';
|
|
6
6
|
|
|
@@ -30,8 +30,6 @@ const useStyles = function () {
|
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
const InputLabel = props => {
|
|
33
|
-
var _paperStyles$backgrou;
|
|
34
|
-
|
|
35
33
|
const {
|
|
36
34
|
activeColor,
|
|
37
35
|
animatedError,
|
|
@@ -57,7 +55,7 @@ const InputLabel = props => {
|
|
|
57
55
|
const styles = useStyles();
|
|
58
56
|
const paperStyles = usePaperStyles();
|
|
59
57
|
const backgroundStyle = {
|
|
60
|
-
backgroundColor: (
|
|
58
|
+
backgroundColor: (paperStyles === null || paperStyles === void 0 ? void 0 : paperStyles.backgroundColor) ?? theme.palette.background.default
|
|
61
59
|
};
|
|
62
60
|
const hasFocus = hasActiveOutline || value;
|
|
63
61
|
const opacity = animatedLabel.interpolate({
|
|
@@ -72,6 +70,9 @@ const InputLabel = props => {
|
|
|
72
70
|
})
|
|
73
71
|
}]
|
|
74
72
|
};
|
|
73
|
+
const labelTextFontStyle = createFontStyle(theme, {
|
|
74
|
+
selector: typo => typo.caption2
|
|
75
|
+
});
|
|
75
76
|
const labelStyle = {
|
|
76
77
|
fontSize,
|
|
77
78
|
transform: [{
|
|
@@ -110,7 +111,7 @@ const InputLabel = props => {
|
|
|
110
111
|
}]
|
|
111
112
|
}), /*#__PURE__*/React.createElement(Animated.Text, {
|
|
112
113
|
key: 'labelBackground-text',
|
|
113
|
-
style: [styles.placeholder, styles.backgroundText, backgroundStyle, labelStyle, {
|
|
114
|
+
style: [labelTextFontStyle, styles.placeholder, styles.backgroundText, backgroundStyle, labelStyle, {
|
|
114
115
|
top: topPosition + 1,
|
|
115
116
|
opacity,
|
|
116
117
|
transform: [...labelStyle.transform, {
|
|
@@ -123,7 +124,7 @@ const InputLabel = props => {
|
|
|
123
124
|
numberOfLines: 1
|
|
124
125
|
}, label)], /*#__PURE__*/React.createElement(Animated.Text, {
|
|
125
126
|
onLayout: onLayoutAnimatedText,
|
|
126
|
-
style: [styles.placeholder, labelStyle, paddingOffset, {
|
|
127
|
+
style: [styles.placeholder, labelTextFontStyle, labelStyle, paddingOffset, {
|
|
127
128
|
textAlign: 'left',
|
|
128
129
|
top: topPosition,
|
|
129
130
|
color: error && errorColor ? errorColor : activeColor,
|
|
@@ -134,7 +135,7 @@ const InputLabel = props => {
|
|
|
134
135
|
}],
|
|
135
136
|
numberOfLines: 1
|
|
136
137
|
}, label), /*#__PURE__*/React.createElement(Animated.Text, {
|
|
137
|
-
style: [styles.placeholder, labelStyle, paddingOffset, {
|
|
138
|
+
style: [styles.placeholder, labelTextFontStyle, labelStyle, paddingOffset, {
|
|
138
139
|
textAlign: 'left',
|
|
139
140
|
top: topPosition,
|
|
140
141
|
color: error && errorColor ? errorColor : placeholderColor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InputLabel.tsx"],"names":["React","Animated","StyleSheet","useTheme","usePaperStyles","inputPaddingHorizontal","useStyles","background","position","top","left","bottom","right","width","height","backgroundText","paddingHorizontal","color","placeholder","InputLabel","props","activeColor","animatedError","animatedLabel","error","errorColor","focused","fontSize","hasActiveOutline","label","labelLayout","labelScale","labelTranslateX","labelTranslateY","onLayoutAnimatedText","paddingOffset","placeholderColor","placeholderOpacity","topPosition","value","theme","styles","paperStyles","backgroundStyle","backgroundColor","palette","default","hasFocus","opacity","interpolate","inputRange","outputRange","labelTranslationX","transform","translateX","labelStyle","translateY","scale","absoluteFill","measured","scaleY","textAlign"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,EAAsCC,UAAtC,QAAwD,cAAxD;AAEA,SAASC,QAAT,QAAyB,WAAzB;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,SAASC,sBAAT,QAAuC,SAAvC;;AA2BA,MAAMC,SAAsC,GAAG,YAA8B;AACzE,SAAO;AACHC,IAAAA,UAAU,EAAE;AACRC,MAAAA,QAAQ,EAAE,UADF;AAERC,MAAAA,GAAG,EAAE,CAFG;AAGRC,MAAAA,IAAI,EAAE,EAHE;AAIRC,MAAAA,MAAM,EAAE,CAJA;AAKRC,MAAAA,KAAK,EAAE,CALC;AAMRC,MAAAA,KAAK,EAAE,CANC;AAORC,MAAAA,MAAM,EAAE;AAPA,KADT;AAUHC,IAAAA,cAAc,EAAE;AACZP,MAAAA,QAAQ,EAAE,UADE;AAEZE,MAAAA,IAAI,EAAE,EAFM;AAGZM,MAAAA,iBAAiB,EAAE,CAHP;AAIZC,MAAAA,KAAK,EAAE;AAJK,KAVb;AAgBHC,IAAAA,WAAW,EAAE;AACTV,MAAAA,QAAQ,EAAE,UADD;AAETE,MAAAA,IAAI,EAAE,CAFG;AAGTM,MAAAA,iBAAiB,EAAEX;AAHV;AAhBV,GAAP;AAsBH,CAvBD;;AAyBA,MAAMc,UAAU,GAAIC,KAAD,IAAuB;AAAA;;AACtC,QAAM;AACFC,IAAAA,WADE;AAEFC,IAAAA,aAFE;AAGFC,IAAAA,aAHE;AAIFC,IAAAA,KAAK,GAAG,KAJN;AAKFC,IAAAA,UALE;AAMFC,IAAAA,OANE;AAOFC,IAAAA,QAPE;AAQFC,IAAAA,gBARE;AASFC,IAAAA,KATE;AAUFC,IAAAA,WAVE;AAWFC,IAAAA,UAXE;AAYFC,IAAAA,eAZE;AAaFC,IAAAA,eAbE;AAcFC,IAAAA,oBAdE;AAeFC,IAAAA,aAfE;AAgBFC,IAAAA,gBAhBE;AAiBFC,IAAAA,kBAjBE;AAkBFC,IAAAA,WAlBE;AAmBFC,IAAAA;AAnBE,MAoBFnB,KApBJ;AAsBA,QAAMoB,KAAK,GAAGrC,QAAQ,EAAtB;AAEA,QAAMsC,MAAM,GAAGnC,SAAS,EAAxB;AAEA,QAAMoC,WAAW,GAAGtC,cAAc,EAAlC;AAEA,QAAMuC,eAAe,GAAG;AACpBC,IAAAA,eAAe,2BAAEF,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAEE,eAAf,yEAAkCJ,KAAK,CAACK,OAAN,CAActC,UAAd,CAAyBuC;AADtD,GAAxB;AAIA,QAAMC,QAAQ,GAAGnB,gBAAgB,IAAIW,KAArC;AACA,QAAMS,OAAO,GAAGzB,aAAa,CAAC0B,WAAd,CAA0B;AACtCC,IAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD0B;AAEtCC,IAAAA,WAAW,EAAE,CAACJ,QAAQ,GAAG,CAAH,GAAO,CAAhB,EAAmB,CAAnB;AAFyB,GAA1B,CAAhB;AAKA,QAAMK,iBAAiB,GAAG;AACtBC,IAAAA,SAAS,EAAE,CACP;AACIC,MAAAA,UAAU,EAAE/B,aAAa,CAAC0B,WAAd,CAA0B;AAClCC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADsB;AAElCC,QAAAA,WAAW,EAAE,CAACnB,eAAD,EAAkB,KAAK,CAAvB;AAFqB,OAA1B;AADhB,KADO;AADW,GAA1B;AAWA,QAAMuB,UAAU,GAAG;AACf5B,IAAAA,QADe;AAEf0B,IAAAA,SAAS,EAAE,CACP;AACIC,MAAAA,UAAU,EAAEhC,aAAa,CAAC2B,WAAd,CAA0B;AAClCC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,GAAJ,EAAS,CAAT,CADsB;AAElCC,QAAAA,WAAW,EAAE,CAAC,CAAD,EAAIZ,KAAK,IAAIf,KAAT,GAAiB,CAAjB,GAAqB,CAAzB,EAA4B,CAA5B;AAFqB,OAA1B;AADhB,KADO,EAOP;AACIgC,MAAAA,UAAU,EAAEjC,aAAa,CAAC0B,WAAd,CAA0B;AAClCC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADsB;AAElCC,QAAAA,WAAW,EAAE,CAAClB,eAAD,EAAkB,CAAlB;AAFqB,OAA1B;AADhB,KAPO,EAaP;AACIwB,MAAAA,KAAK,EAAElC,aAAa,CAAC0B,WAAd,CAA0B;AAC7BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADiB;AAE7BC,QAAAA,WAAW,EAAE,CAACpB,UAAD,EAAa,CAAb;AAFgB,OAA1B;AADX,KAbO;AAFI,GAAnB;AAwBA,SAAQF,KAAK,gBACT,oBAAC,QAAD,CAAU,IAAV;AACI,IAAA,aAAa,EAAE,MADnB;AAEI,IAAA,KAAK,EAAE,CACH3B,UAAU,CAACwD,YADR,EAEH;AACIV,MAAAA,OAAO,EAAET,KAAK,IAAIb,OAAT,GAAoBI,WAAW,CAAC6B,QAAZ,GAAuB,CAAvB,GAA2B,CAA/C,GAAoD;AADjE,KAFG,EAKHP,iBALG;AAFX,KAUK,cACG,oBAAC,QAAD,CAAU,IAAV;AACI,IAAA,GAAG,EAAE,sBADT;AAEI,IAAA,aAAa,EAAE,MAFnB;AAGI,IAAA,KAAK,EAAE,CACHX,MAAM,CAAClC,UADJ,EAEHoC,eAFG,EAGH;AACIK,MAAAA,OADJ;AAEIK,MAAAA,SAAS,EAAE,CACP;AACIC,QAAAA,UAAU,EAAE/B,aAAa,CAAC0B,WAAd,CAA0B;AAClCC,UAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADsB;AAElCC,UAAAA,WAAW,EAAE,CAAC,CAACnB,eAAF,EAAmB,CAAnB;AAFqB,SAA1B;AADhB,OADO;AAFf,KAHG;AAHX,IADH,eAoBG,oBAAC,QAAD,CAAU,IAAV;AACI,IAAA,GAAG,EAAE,sBADT;AAEI,IAAA,KAAK,EAAE,CACHS,MAAM,CAACvB,WADJ,EAEHuB,MAAM,CAAC1B,cAFJ,EAGH4B,eAHG,EAIHY,UAJG,EAKH;AACI9C,MAAAA,GAAG,EAAE6B,WAAW,GAAG,CADvB;AAEIU,MAAAA,OAFJ;AAGIK,MAAAA,SAAS,EAAE,CACP,GAAGE,UAAU,CAACF,SADP,EAEP;AACIO,QAAAA,MAAM,EAAErC,aAAa,CAAC0B,WAAd,CAA0B;AAC9BC,UAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADkB;AAE9BC,UAAAA,WAAW,EAAE,CAAC,GAAD,EAAM,CAAN;AAFiB,SAA1B;AADZ,OAFO;AAHf,KALG,CAFX;AAqBI,IAAA,aAAa,EAAE;AArBnB,KAuBKtB,KAvBL,CApBH,CAVL,eAwDI,oBAAC,QAAD,CAAU,IAAV;AACI,IAAA,QAAQ,EAAEK,oBADd;AAEI,IAAA,KAAK,EAAE,CACHO,MAAM,CAACvB,WADJ,EAEHqC,UAFG,EAGHpB,aAHG,EAIH;AACI0B,MAAAA,SAAS,EAAE,MADf;AAEIpD,MAAAA,GAAG,EAAE6B,WAFT;AAGIrB,MAAAA,KAAK,EAAEO,KAAK,IAAIC,UAAT,GAAsBA,UAAtB,GAAmCJ,WAH9C;AAII2B,MAAAA,OAAO,EAAEzB,aAAa,CAAC0B,WAAd,CAA0B;AAC/BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADmB;AAE/BC,QAAAA,WAAW,EAAE,CAACvB,gBAAgB,GAAG,CAAH,GAAO,CAAxB,EAA2B,CAA3B;AAFkB,OAA1B;AAJb,KAJG,CAFX;AAgBI,IAAA,aAAa,EAAE;AAhBnB,KAkBKC,KAlBL,CAxDJ,eA4EI,oBAAC,QAAD,CAAU,IAAV;AACI,IAAA,KAAK,EAAE,CACHY,MAAM,CAACvB,WADJ,EAEHqC,UAFG,EAGHpB,aAHG,EAIH;AACI0B,MAAAA,SAAS,EAAE,MADf;AAEIpD,MAAAA,GAAG,EAAE6B,WAFT;AAGIrB,MAAAA,KAAK,EAAEO,KAAK,IAAIC,UAAT,GAAsBA,UAAtB,GAAmCW,gBAH9C;AAIIY,MAAAA,OAAO,EAAEX;AAJb,KAJG,CADX;AAYI,IAAA,aAAa,EAAE;AAZnB,KAcKR,KAdL,CA5EJ,CADS,GA8FT,IA9FJ;AA+FH,CAzKD;;AA2KA,eAAeV,UAAf","sourcesContent":["import React from 'react';\nimport { Animated, LayoutChangeEvent, StyleSheet } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { useTheme } from '../styles';\nimport usePaperStyles from '../Paper/usePaperStyles';\nimport { inputPaddingHorizontal } from './utils';\n\ninterface LabelProps {\n activeColor: string;\n animatedError: Animated.Value;\n animatedLabel: Animated.Value;\n error?: boolean;\n errorColor?: string;\n focused?: boolean;\n fontSize?: number;\n hasActiveOutline?: boolean;\n label?: string;\n labelLayout: { measured: boolean; width: number; height: number };\n labelScale: number;\n labelTranslateX: number;\n labelTranslateY: number;\n onLayoutAnimatedText: (event: LayoutChangeEvent) => void;\n paddingOffset?: { paddingLeft: number; paddingRight: number };\n placeholder?: string;\n placeholderColor?: string;\n placeholderOpacity: number | Animated.AnimatedInterpolation;\n topPosition: number;\n value?: string;\n}\n\ntype InputLabelStyles = NamedStylesStringUnion<'background' | 'backgroundText' | 'placeholder'>;\n\nconst useStyles: UseStyles<InputLabelStyles> = function (): InputLabelStyles {\n return {\n background: {\n position: 'absolute',\n top: 6,\n left: 10,\n bottom: 0,\n right: 0,\n width: 8,\n height: 4,\n },\n backgroundText: {\n position: 'absolute',\n left: 18,\n paddingHorizontal: 0,\n color: 'transparent',\n },\n placeholder: {\n position: 'absolute',\n left: 0,\n paddingHorizontal: inputPaddingHorizontal,\n },\n };\n};\n\nconst InputLabel = (props: LabelProps) => {\n const {\n activeColor,\n animatedError,\n animatedLabel,\n error = false,\n errorColor,\n focused,\n fontSize,\n hasActiveOutline,\n label,\n labelLayout,\n labelScale,\n labelTranslateX,\n labelTranslateY,\n onLayoutAnimatedText,\n paddingOffset,\n placeholderColor,\n placeholderOpacity,\n topPosition,\n value,\n } = props;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const paperStyles = usePaperStyles();\n\n const backgroundStyle = {\n backgroundColor: paperStyles?.backgroundColor ?? theme.palette.background.default,\n };\n\n const hasFocus = hasActiveOutline || value;\n const opacity = animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasFocus ? 1 : 0, 0],\n });\n\n const labelTranslationX = {\n transform: [\n {\n translateX: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelTranslateX, 0 || 0],\n }),\n },\n ],\n };\n\n const labelStyle = {\n fontSize,\n transform: [\n {\n translateX: animatedError.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [0, value && error ? 4 : 0, 0],\n }),\n },\n {\n translateY: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelTranslateY, 0],\n }),\n },\n {\n scale: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelScale, 1],\n }),\n },\n ],\n };\n\n return (label ? (\n <Animated.View\n pointerEvents={'none'}\n style={[\n StyleSheet.absoluteFill,\n {\n opacity: value || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n labelTranslationX,\n ]}\n >\n {[\n <Animated.View\n key={'labelBackground-view'}\n pointerEvents={'none'}\n style={[\n styles.background,\n backgroundStyle,\n {\n opacity,\n transform: [\n {\n translateX: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [-labelTranslateX, 0],\n }),\n },\n ],\n },\n ]}\n />,\n <Animated.Text\n key={'labelBackground-text'}\n style={[\n styles.placeholder,\n styles.backgroundText,\n backgroundStyle,\n labelStyle,\n {\n top: topPosition + 1,\n opacity,\n transform: [\n ...labelStyle.transform,\n {\n scaleY: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [0.2, 1],\n }),\n },\n ],\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>,\n ]}\n <Animated.Text\n onLayout={onLayoutAnimatedText}\n style={[\n styles.placeholder,\n labelStyle,\n paddingOffset,\n {\n textAlign: 'left',\n top: topPosition,\n color: error && errorColor ? errorColor : activeColor,\n opacity: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>\n <Animated.Text\n style={[\n styles.placeholder,\n labelStyle,\n paddingOffset,\n {\n textAlign: 'left',\n top: topPosition,\n color: error && errorColor ? errorColor : placeholderColor,\n opacity: placeholderOpacity,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>\n </Animated.View>\n ) : null);\n};\n\nexport default InputLabel;\n"]}
|
|
1
|
+
{"version":3,"names":["React","Animated","StyleSheet","createFontStyle","useTheme","usePaperStyles","inputPaddingHorizontal","useStyles","background","position","top","left","bottom","right","width","height","backgroundText","paddingHorizontal","color","placeholder","InputLabel","props","activeColor","animatedError","animatedLabel","error","errorColor","focused","fontSize","hasActiveOutline","label","labelLayout","labelScale","labelTranslateX","labelTranslateY","onLayoutAnimatedText","paddingOffset","placeholderColor","placeholderOpacity","topPosition","value","theme","styles","paperStyles","backgroundStyle","backgroundColor","palette","default","hasFocus","opacity","interpolate","inputRange","outputRange","labelTranslationX","transform","translateX","labelTextFontStyle","selector","typo","caption2","labelStyle","translateY","scale","absoluteFill","measured","scaleY","textAlign"],"sources":["InputLabel.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, LayoutChangeEvent, StyleSheet } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { createFontStyle, useTheme } from '../styles';\nimport usePaperStyles from '../Paper/usePaperStyles';\nimport { inputPaddingHorizontal } from './utils';\n\ninterface LabelProps {\n activeColor: string;\n animatedError: Animated.Value;\n animatedLabel: Animated.Value;\n error?: boolean;\n errorColor?: string;\n focused?: boolean;\n fontSize?: number;\n hasActiveOutline?: boolean;\n label?: string;\n labelLayout: { measured: boolean; width: number; height: number };\n labelScale: number;\n labelTranslateX: number;\n labelTranslateY: number;\n onLayoutAnimatedText: (event: LayoutChangeEvent) => void;\n paddingOffset?: { paddingLeft: number; paddingRight: number };\n placeholder?: string;\n placeholderColor?: string;\n placeholderOpacity: number | Animated.AnimatedInterpolation;\n topPosition: number;\n value?: string;\n}\n\ntype InputLabelStyles = NamedStylesStringUnion<'background' | 'backgroundText' | 'placeholder'>;\n\nconst useStyles: UseStyles<InputLabelStyles> = function (): InputLabelStyles {\n return {\n background: {\n position: 'absolute',\n top: 6,\n left: 10,\n bottom: 0,\n right: 0,\n width: 8,\n height: 4,\n },\n backgroundText: {\n position: 'absolute',\n left: 18,\n paddingHorizontal: 0,\n color: 'transparent',\n },\n placeholder: {\n position: 'absolute',\n left: 0,\n paddingHorizontal: inputPaddingHorizontal,\n },\n };\n};\n\nconst InputLabel = (props: LabelProps) => {\n const {\n activeColor,\n animatedError,\n animatedLabel,\n error = false,\n errorColor,\n focused,\n fontSize,\n hasActiveOutline,\n label,\n labelLayout,\n labelScale,\n labelTranslateX,\n labelTranslateY,\n onLayoutAnimatedText,\n paddingOffset,\n placeholderColor,\n placeholderOpacity,\n topPosition,\n value,\n } = props;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const paperStyles = usePaperStyles();\n\n const backgroundStyle = {\n backgroundColor: paperStyles?.backgroundColor ?? theme.palette.background.default,\n };\n\n const hasFocus = hasActiveOutline || value;\n const opacity = animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasFocus ? 1 : 0, 0],\n });\n\n const labelTranslationX = {\n transform: [\n {\n translateX: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelTranslateX, 0 || 0],\n }),\n },\n ],\n };\n\n const labelTextFontStyle = createFontStyle(theme, { selector: (typo) => typo.caption2 });\n\n const labelStyle = {\n fontSize,\n transform: [\n {\n translateX: animatedError.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [0, value && error ? 4 : 0, 0],\n }),\n },\n {\n translateY: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelTranslateY, 0],\n }),\n },\n {\n scale: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [labelScale, 1],\n }),\n },\n ],\n };\n\n return (label ? (\n <Animated.View\n pointerEvents={'none'}\n style={[\n StyleSheet.absoluteFill,\n {\n opacity: value || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n labelTranslationX,\n ]}\n >\n {[\n <Animated.View\n key={'labelBackground-view'}\n pointerEvents={'none'}\n style={[\n styles.background,\n backgroundStyle,\n {\n opacity,\n transform: [\n {\n translateX: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [-labelTranslateX, 0],\n }),\n },\n ],\n },\n ]}\n />,\n <Animated.Text\n key={'labelBackground-text'}\n style={[\n labelTextFontStyle,\n styles.placeholder,\n styles.backgroundText,\n backgroundStyle,\n labelStyle,\n {\n top: topPosition + 1,\n opacity,\n transform: [\n ...labelStyle.transform,\n {\n scaleY: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [0.2, 1],\n }),\n },\n ],\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>,\n ]}\n <Animated.Text\n onLayout={onLayoutAnimatedText}\n style={[\n styles.placeholder,\n labelTextFontStyle,\n labelStyle,\n paddingOffset,\n {\n textAlign: 'left',\n top: topPosition,\n color: error && errorColor ? errorColor : activeColor,\n opacity: animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>\n <Animated.Text\n style={[\n styles.placeholder,\n labelTextFontStyle,\n labelStyle,\n paddingOffset,\n {\n textAlign: 'left',\n top: topPosition,\n color: error && errorColor ? errorColor : placeholderColor,\n opacity: placeholderOpacity,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </Animated.Text>\n </Animated.View>\n ) : null);\n};\n\nexport default InputLabel;\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Platform, TextInput, View } from 'react-native';
|
|
5
|
-
import { css, useTheme } from '../styles';
|
|
5
|
+
import { createFontStyle, css, useTheme } from '../styles';
|
|
6
6
|
import IconButton from '../IconButton';
|
|
7
7
|
import InputLabel from './InputLabel';
|
|
8
8
|
import { defaultHeight, iconSize, inputPaddingHorizontal, labelFontSize, labelPaddingTop, labelYOffset } from './utils';
|
|
@@ -98,12 +98,16 @@ const OutlinedTextField = /*#__PURE__*/React.forwardRef(function OutlinedTextFie
|
|
|
98
98
|
placeholderOpacity,
|
|
99
99
|
topPosition
|
|
100
100
|
};
|
|
101
|
+
const inputTextFontStyle = createFontStyle(theme, {
|
|
102
|
+
selector: typo => typo.caption2,
|
|
103
|
+
color: inputTextColor
|
|
104
|
+
});
|
|
101
105
|
const outlineStyle = css([styles.outline, {
|
|
102
106
|
borderWidth: hasActiveOutline ? 2 : 1,
|
|
103
107
|
borderColor: error ? errorColor : hasActiveOutline ? activeColor : outlineColor,
|
|
104
108
|
top: label ? 6 : 0
|
|
105
109
|
}]);
|
|
106
|
-
const textInputStyle = css([styles.input, {
|
|
110
|
+
const textInputStyle = css([inputTextFontStyle, styles.input, {
|
|
107
111
|
fontSize,
|
|
108
112
|
color: inputTextColor,
|
|
109
113
|
height: inputHeight
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["OutlinedTextField.tsx"],"names":["React","Platform","TextInput","View","css","useTheme","IconButton","InputLabel","defaultHeight","iconSize","inputPaddingHorizontal","labelFontSize","labelPaddingTop","labelYOffset","useStyles","theme","outline","position","left","right","bottom","borderRadius","shape","roundness","input","flexGrow","paddingHorizontal","textAlignVertical","textAlign","zIndex","textField","iconContainer","width","height","justifyContent","alignItems","OutlinedTextField","forwardRef","props","ref","animatedError","animatedLabel","disabled","error","focused","forceFocus","icon","keyboardType","label","labelLayout","onBlur","onChangeText","onFocus","onIconPress","onLayoutAnimatedText","onSubmitEditing","placeholder","secureTextEntry","style","value","styles","hasActiveOutline","inputTextColor","palette","tertiary","main","primary","activeColor","warning","accent","placeholderColor","text","hint","outlineColor","border","errorColor","typography","body2","fontSize","unitless","labelScale","labelWidth","labelHeight","labelHalfWidth","labelHalfHeight","labelTranslateX","minInputHeight","inputHeight","topPosition","Math","floor","iconTopPosition","labelTranslateY","placeholderOpacity","interpolate","inputRange","outputRange","measured","labelProps","outlineStyle","borderWidth","borderColor","top","textInputStyle","color","marginRight","paddingRight","OS","outlineWidth","containerStyle","paddingTop","minHeight","iconContainerStyle","onIconButtonPress"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Animated, LayoutChangeEvent, Platform, TextInput, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { css, useTheme } from '../styles';\nimport IconButton from '../IconButton';\nimport TextFieldProps from './TextFieldProps';\nimport InputLabel from './InputLabel';\nimport {\n defaultHeight,\n iconSize,\n inputPaddingHorizontal,\n labelFontSize,\n labelPaddingTop,\n labelYOffset,\n} from './utils';\n\ninterface OutlinedTextFieldProps extends TextFieldProps {\n animatedError: Animated.Value;\n animatedLabel: Animated.Value;\n focused: boolean;\n forceFocus: () => void;\n labelLayout: { measured: boolean; width: number; height: number };\n onLayoutAnimatedText: (event: LayoutChangeEvent) => void;\n}\n\ntype OutlinedTextFieldStyles = NamedStylesStringUnion<'outline' | 'input' | 'iconContainer'>;\n\nconst useStyles: UseStyles<OutlinedTextFieldStyles> = function (): OutlinedTextFieldStyles {\n const theme = useTheme();\n\n return {\n outline: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: theme.shape.roundness,\n },\n input: {\n flexGrow: 1,\n paddingHorizontal: inputPaddingHorizontal,\n textAlignVertical: 'center',\n textAlign: 'left',\n zIndex: theme.zIndex.textField,\n },\n iconContainer: {\n position: 'absolute',\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n right: 12,\n },\n };\n};\n\nconst OutlinedTextField = React.forwardRef<TextInput, OutlinedTextFieldProps>(function OutlinedTextField(props, ref) {\n const {\n animatedError,\n animatedLabel,\n disabled,\n error,\n focused,\n forceFocus,\n icon,\n keyboardType,\n label,\n labelLayout,\n onBlur,\n onChangeText,\n onFocus,\n onIconPress,\n onLayoutAnimatedText,\n onSubmitEditing,\n placeholder,\n secureTextEntry,\n style,\n value,\n } = props;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const hasActiveOutline = focused || error;\n const inputTextColor = disabled ? theme.palette.tertiary.main : theme.palette.primary.main;\n const activeColor = error\n ? theme.palette.warning.main\n : disabled\n ? theme.palette.tertiary.main\n : theme.palette.accent.main;\n const placeholderColor = disabled ? theme.palette.tertiary.main : theme.palette.text.hint;\n const outlineColor = disabled ? theme.palette.border : theme.palette.border;\n const errorColor = disabled ? theme.palette.tertiary.main : theme.palette.warning.main;\n\n const typography = theme.typography.body2;\n const fontSize = typography.fontSize.unitless;\n\n const labelScale = labelFontSize / fontSize;\n const labelWidth = labelLayout.width;\n const labelHeight = labelLayout.height;\n const labelHalfWidth = labelWidth / 2;\n const labelHalfHeight = labelHeight / 2;\n\n const labelTranslateX = -1 * (labelHalfWidth - (labelScale * labelWidth) / 2 - (fontSize - labelFontSize) * labelScale);\n const minInputHeight = defaultHeight - labelPaddingTop;\n const inputHeight = labelHeight < minInputHeight ? minInputHeight : labelHeight;\n const topPosition = Math.floor(((inputHeight > 0 ? inputHeight : 0) - labelHeight) / 2 + labelPaddingTop);\n const iconTopPosition = (defaultHeight - (label ? 0 : labelPaddingTop) - iconSize - (label ? labelYOffset : 0)) / 2;\n const labelTranslateY = -labelHalfHeight - (topPosition + labelYOffset);\n\n const placeholderOpacity = hasActiveOutline\n ? animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 0 : 1, 1],\n })\n : labelLayout.measured ? 1 : 0;\n\n const labelProps = {\n activeColor,\n error,\n errorColor,\n fontSize,\n hasActiveOutline,\n label,\n labelScale,\n labelTranslateX,\n labelTranslateY,\n onLayoutAnimatedText,\n placeholderColor,\n placeholderOpacity,\n topPosition,\n };\n\n const outlineStyle = css([\n styles.outline,\n {\n borderWidth: hasActiveOutline ? 2 : 1,\n borderColor: error ? errorColor : (hasActiveOutline ? activeColor : outlineColor),\n top: label ? 6 : 0,\n },\n ]);\n\n const textInputStyle = css([\n styles.input,\n {\n fontSize,\n color: inputTextColor,\n height: inputHeight,\n },\n icon && {\n marginRight: iconSize + 20,\n paddingRight: 0,\n },\n Platform.OS === 'web' && {\n //@ts-ignore\n outlineWidth: 0,\n },\n ]);\n\n const containerStyle = css([\n {\n paddingTop: label ? labelPaddingTop : 0,\n minHeight: label ? defaultHeight : defaultHeight + labelYOffset,\n },\n ]);\n\n const iconContainerStyle = css([\n styles.iconContainer,\n { top: iconTopPosition },\n ]);\n\n const onIconButtonPress = () => {\n forceFocus();\n onIconPress?.();\n };\n\n return (\n <View style={style}>\n <View\n pointerEvents={'none'}\n style={outlineStyle}\n />\n <View style={containerStyle}>\n {label ? (\n <InputLabel\n animatedLabel={animatedLabel}\n animatedError={animatedError}\n focused={focused}\n labelLayout={labelLayout}\n placeholder={placeholder}\n value={value}\n {...labelProps}\n />\n ) : null}\n <TextInput\n autoCapitalize={'none'}\n autoCorrect={false}\n disableFullscreenUI={true}\n ref={ref}\n onChangeText={onChangeText}\n placeholder={placeholder}\n placeholderTextColor={placeholderColor}\n editable={!disabled}\n selectionColor={activeColor}\n onFocus={onFocus}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\n keyboardType={keyboardType}\n secureTextEntry={secureTextEntry}\n underlineColorAndroid={'transparent'}\n style={textInputStyle}\n value={value}\n />\n </View>\n {icon ? (\n <View style={iconContainerStyle}>\n <IconButton\n children={icon}\n onPress={onIconButtonPress}\n />\n </View>\n ) : null}\n </View>\n );\n});\n\nexport default OutlinedTextField;\n"]}
|
|
1
|
+
{"version":3,"names":["React","Platform","TextInput","View","createFontStyle","css","useTheme","IconButton","InputLabel","defaultHeight","iconSize","inputPaddingHorizontal","labelFontSize","labelPaddingTop","labelYOffset","useStyles","theme","outline","position","left","right","bottom","borderRadius","shape","roundness","input","flexGrow","paddingHorizontal","textAlignVertical","textAlign","zIndex","textField","iconContainer","width","height","justifyContent","alignItems","OutlinedTextField","forwardRef","props","ref","animatedError","animatedLabel","disabled","error","focused","forceFocus","icon","keyboardType","label","labelLayout","onBlur","onChangeText","onFocus","onIconPress","onLayoutAnimatedText","onSubmitEditing","placeholder","secureTextEntry","style","value","styles","hasActiveOutline","inputTextColor","palette","tertiary","main","primary","activeColor","warning","accent","placeholderColor","text","hint","outlineColor","border","errorColor","typography","body2","fontSize","unitless","labelScale","labelWidth","labelHeight","labelHalfWidth","labelHalfHeight","labelTranslateX","minInputHeight","inputHeight","topPosition","Math","floor","iconTopPosition","labelTranslateY","placeholderOpacity","interpolate","inputRange","outputRange","measured","labelProps","inputTextFontStyle","selector","typo","caption2","color","outlineStyle","borderWidth","borderColor","top","textInputStyle","marginRight","paddingRight","OS","outlineWidth","containerStyle","paddingTop","minHeight","iconContainerStyle","onIconButtonPress"],"sources":["OutlinedTextField.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, LayoutChangeEvent, Platform, TextInput, View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport IconButton from '../IconButton';\nimport TextFieldProps from './TextFieldProps';\nimport InputLabel from './InputLabel';\nimport {\n defaultHeight,\n iconSize,\n inputPaddingHorizontal,\n labelFontSize,\n labelPaddingTop,\n labelYOffset,\n} from './utils';\n\ninterface OutlinedTextFieldProps extends TextFieldProps {\n animatedError: Animated.Value;\n animatedLabel: Animated.Value;\n focused: boolean;\n forceFocus: () => void;\n labelLayout: { measured: boolean; width: number; height: number };\n onLayoutAnimatedText: (event: LayoutChangeEvent) => void;\n}\n\ntype OutlinedTextFieldStyles = NamedStylesStringUnion<'outline' | 'input' | 'iconContainer'>;\n\nconst useStyles: UseStyles<OutlinedTextFieldStyles> = function (): OutlinedTextFieldStyles {\n const theme = useTheme();\n\n return {\n outline: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: theme.shape.roundness,\n },\n input: {\n flexGrow: 1,\n paddingHorizontal: inputPaddingHorizontal,\n textAlignVertical: 'center',\n textAlign: 'left',\n zIndex: theme.zIndex.textField,\n },\n iconContainer: {\n position: 'absolute',\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n right: 12,\n },\n };\n};\n\nconst OutlinedTextField = React.forwardRef<TextInput, OutlinedTextFieldProps>(function OutlinedTextField(props, ref) {\n const {\n animatedError,\n animatedLabel,\n disabled,\n error,\n focused,\n forceFocus,\n icon,\n keyboardType,\n label,\n labelLayout,\n onBlur,\n onChangeText,\n onFocus,\n onIconPress,\n onLayoutAnimatedText,\n onSubmitEditing,\n placeholder,\n secureTextEntry,\n style,\n value,\n } = props;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const hasActiveOutline = focused || error;\n const inputTextColor = disabled ? theme.palette.tertiary.main : theme.palette.primary.main;\n const activeColor = error\n ? theme.palette.warning.main\n : disabled\n ? theme.palette.tertiary.main\n : theme.palette.accent.main;\n const placeholderColor = disabled ? theme.palette.tertiary.main : theme.palette.text.hint;\n const outlineColor = disabled ? theme.palette.border : theme.palette.border;\n const errorColor = disabled ? theme.palette.tertiary.main : theme.palette.warning.main;\n\n const typography = theme.typography.body2;\n const fontSize = typography.fontSize.unitless;\n\n const labelScale = labelFontSize / fontSize;\n const labelWidth = labelLayout.width;\n const labelHeight = labelLayout.height;\n const labelHalfWidth = labelWidth / 2;\n const labelHalfHeight = labelHeight / 2;\n\n const labelTranslateX = -1 * (labelHalfWidth - (labelScale * labelWidth) / 2 - (fontSize - labelFontSize) * labelScale);\n const minInputHeight = defaultHeight - labelPaddingTop;\n const inputHeight = labelHeight < minInputHeight ? minInputHeight : labelHeight;\n const topPosition = Math.floor(((inputHeight > 0 ? inputHeight : 0) - labelHeight) / 2 + labelPaddingTop);\n const iconTopPosition = (defaultHeight - (label ? 0 : labelPaddingTop) - iconSize - (label ? labelYOffset : 0)) / 2;\n const labelTranslateY = -labelHalfHeight - (topPosition + labelYOffset);\n\n const placeholderOpacity = hasActiveOutline\n ? animatedLabel.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 0 : 1, 1],\n })\n : labelLayout.measured ? 1 : 0;\n\n const labelProps = {\n activeColor,\n error,\n errorColor,\n fontSize,\n hasActiveOutline,\n label,\n labelScale,\n labelTranslateX,\n labelTranslateY,\n onLayoutAnimatedText,\n placeholderColor,\n placeholderOpacity,\n topPosition,\n };\n\n const inputTextFontStyle = createFontStyle(theme, {\n selector: (typo) => typo.caption2,\n color: inputTextColor,\n });\n\n const outlineStyle = css([\n styles.outline,\n {\n borderWidth: hasActiveOutline ? 2 : 1,\n borderColor: error ? errorColor : (hasActiveOutline ? activeColor : outlineColor),\n top: label ? 6 : 0,\n },\n ]);\n\n const textInputStyle = css([\n inputTextFontStyle,\n styles.input,\n {\n fontSize,\n color: inputTextColor,\n height: inputHeight,\n },\n icon && {\n marginRight: iconSize + 20,\n paddingRight: 0,\n },\n Platform.OS === 'web' && {\n //@ts-ignore\n outlineWidth: 0,\n },\n ]);\n\n const containerStyle = css([\n {\n paddingTop: label ? labelPaddingTop : 0,\n minHeight: label ? defaultHeight : defaultHeight + labelYOffset,\n },\n ]);\n\n const iconContainerStyle = css([\n styles.iconContainer,\n { top: iconTopPosition },\n ]);\n\n const onIconButtonPress = () => {\n forceFocus();\n onIconPress?.();\n };\n\n return (\n <View style={style}>\n <View\n pointerEvents={'none'}\n style={outlineStyle}\n />\n <View style={containerStyle}>\n {label ? (\n <InputLabel\n animatedLabel={animatedLabel}\n animatedError={animatedError}\n focused={focused}\n labelLayout={labelLayout}\n placeholder={placeholder}\n value={value}\n {...labelProps}\n />\n ) : null}\n <TextInput\n autoCapitalize={'none'}\n autoCorrect={false}\n disableFullscreenUI={true}\n ref={ref}\n onChangeText={onChangeText}\n placeholder={placeholder}\n placeholderTextColor={placeholderColor}\n editable={!disabled}\n selectionColor={activeColor}\n onFocus={onFocus}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\n keyboardType={keyboardType}\n secureTextEntry={secureTextEntry}\n underlineColorAndroid={'transparent'}\n style={textInputStyle}\n value={value}\n />\n </View>\n {icon ? (\n <View style={iconContainerStyle}>\n <IconButton\n children={icon}\n onPress={onIconButtonPress}\n />\n </View>\n ) : null}\n </View>\n );\n});\n\nexport default OutlinedTextField;\n"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React, { useImperativeHandle, useRef } from 'react';
|
|
2
2
|
import { Animated } from 'react-native';
|
|
3
|
+
import { css } from '../styles';
|
|
4
|
+
import { useAnimatedValue } from '../hooks';
|
|
3
5
|
import OutlinedTextField from './OutlinedTextField';
|
|
4
6
|
import { blurAnimationDuration, focusAnimationDuration } from './utils';
|
|
5
|
-
import { css } from '../styles';
|
|
6
7
|
const TextField = /*#__PURE__*/React.forwardRef(function TextField(props, ref) {
|
|
7
8
|
const {
|
|
8
9
|
disabled = false,
|
|
@@ -41,10 +42,17 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(props, ref) {
|
|
|
41
42
|
var _innerRef$current3;
|
|
42
43
|
|
|
43
44
|
(_innerRef$current3 = innerRef.current) === null || _innerRef$current3 === void 0 ? void 0 : _innerRef$current3.blur();
|
|
45
|
+
},
|
|
46
|
+
setStyle: style => {
|
|
47
|
+
var _innerRef$current4;
|
|
48
|
+
|
|
49
|
+
(_innerRef$current4 = innerRef.current) === null || _innerRef$current4 === void 0 ? void 0 : _innerRef$current4.setNativeProps({
|
|
50
|
+
style
|
|
51
|
+
});
|
|
44
52
|
}
|
|
45
53
|
}));
|
|
46
|
-
const
|
|
47
|
-
const
|
|
54
|
+
const animatedLabel = useAnimatedValue(value ? 0 : 1);
|
|
55
|
+
const animatedError = useAnimatedValue(error ? 1 : 0);
|
|
48
56
|
const [focused, setFocused] = React.useState(false);
|
|
49
57
|
const [placeholder, setPlaceholder] = React.useState('');
|
|
50
58
|
const [labelLayout, setLabelLayout] = React.useState({
|
|
@@ -128,9 +136,9 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(props, ref) {
|
|
|
128
136
|
};
|
|
129
137
|
|
|
130
138
|
const forceFocus = () => {
|
|
131
|
-
var _innerRef$
|
|
139
|
+
var _innerRef$current5;
|
|
132
140
|
|
|
133
|
-
(_innerRef$
|
|
141
|
+
(_innerRef$current5 = innerRef.current) === null || _innerRef$current5 === void 0 ? void 0 : _innerRef$current5.focus();
|
|
134
142
|
};
|
|
135
143
|
|
|
136
144
|
return /*#__PURE__*/React.createElement(OutlinedTextField, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["TextField.tsx"],"names":["React","useImperativeHandle","useRef","Animated","OutlinedTextField","blurAnimationDuration","focusAnimationDuration","css","TextField","forwardRef","props","ref","disabled","error","keyboardType","icon","label","onBlur","onChangeText","onFocus","onIconPress","onSubmitEditing","placeholder","placeholderProp","secureTextEntry","value","style","styleProp","innerRef","focus","current","isFocused","clear","blur","animatedLabel","useState","Value","animatedError","focused","setFocused","setPlaceholder","labelLayout","setLabelLayout","measured","width","height","minimizeLabel","timing","toValue","duration","useNativeDriver","start","restoreLabel","showError","hideError","showPlaceholder","hidePlaceholder","useEffect","handleFocus","event","handleBlur","opacity","handleLayoutAnimatedText","nativeEvent","layout","forceFocus"],"mappings":"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","sourcesContent":["import React, { useImperativeHandle, useRef } from 'react';\nimport { Animated, LayoutChangeEvent, NativeSyntheticEvent, TargetedEvent, TextInput } from 'react-native';\nimport OutlinedTextField from './OutlinedTextField';\nimport TextFieldProps from './TextFieldProps';\nimport { blurAnimationDuration, focusAnimationDuration } from './utils';\nimport { css } from '../styles';\n\nconst TextField = React.forwardRef<TextInput, TextFieldProps>(function TextField(props, ref) {\n const {\n disabled = false,\n error = false,\n keyboardType = 'default',\n icon,\n label,\n onBlur,\n onChangeText,\n onFocus,\n onIconPress,\n onSubmitEditing,\n placeholder: placeholderProp,\n secureTextEntry = false,\n value,\n style: styleProp,\n } = props;\n\n const innerRef = useRef<TextInput | null>(null);\n //@ts-ignore\n useImperativeHandle(ref, () => ({\n focus: () => {\n innerRef.current?.focus();\n },\n isFocused: () => {\n const current = innerRef.current;\n return current ? current.isFocused() : false;\n },\n clear: () => {\n innerRef.current?.clear();\n },\n blur: () => {\n innerRef.current?.blur();\n },\n }));\n\n const [animatedLabel] = React.useState(() => new Animated.Value(value ? 0 : 1));\n const [animatedError] = React.useState(() => new Animated.Value(error ? 1 : 0));\n const [focused, setFocused] = React.useState(false);\n const [placeholder, setPlaceholder] = React.useState('');\n const [labelLayout, setLabelLayout] = React.useState({\n measured: false,\n width: 0,\n height: 0,\n });\n\n const minimizeLabel = () => {\n Animated.timing(animatedLabel, {\n toValue: 0,\n duration: blurAnimationDuration,\n useNativeDriver: false,\n }).start();\n };\n\n const restoreLabel = () => {\n Animated.timing(animatedLabel, {\n toValue: 1,\n duration: focusAnimationDuration,\n useNativeDriver: false,\n }).start();\n };\n\n const showError = () => {\n Animated.timing(animatedError, {\n toValue: 1,\n duration: focusAnimationDuration,\n useNativeDriver: false,\n }).start();\n };\n\n const hideError = () => {\n Animated.timing(animatedError, {\n toValue: 0,\n duration: blurAnimationDuration,\n useNativeDriver: false,\n }).start();\n };\n\n const showPlaceholder = () => {\n placeholderProp && setPlaceholder(placeholderProp);\n };\n\n const hidePlaceholder = () => setPlaceholder('');\n\n React.useEffect(() => {\n value || focused ? minimizeLabel() : restoreLabel();\n }, [focused, value, labelLayout]);\n\n React.useEffect(() => {\n animatedError ? showError() : hideError();\n }, [animatedError]);\n\n React.useEffect(() => {\n focused || !label ? showPlaceholder() : hidePlaceholder();\n }, [focused, label]);\n\n const handleFocus = (event: NativeSyntheticEvent<TargetedEvent>) => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n onFocus?.(event);\n };\n\n const handleBlur = (event: NativeSyntheticEvent<TargetedEvent>) => {\n setFocused(false);\n onBlur?.(event);\n };\n\n const style = css([\n { opacity: disabled ? 0.3 : 1 },\n styleProp,\n ]);\n\n const handleLayoutAnimatedText = (event: LayoutChangeEvent) => {\n setLabelLayout({\n width: event.nativeEvent.layout.width,\n height: event.nativeEvent.layout.height,\n measured: true,\n });\n };\n\n const forceFocus = () => {\n innerRef.current?.focus();\n };\n\n return (\n <OutlinedTextField\n animatedError={animatedError}\n animatedLabel={animatedLabel}\n disabled={disabled}\n error={error}\n focused={focused}\n forceFocus={forceFocus}\n icon={icon}\n keyboardType={keyboardType}\n label={label}\n labelLayout={labelLayout}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChangeText={onChangeText}\n onIconPress={onIconPress}\n onLayoutAnimatedText={handleLayoutAnimatedText}\n onSubmitEditing={onSubmitEditing}\n placeholder={placeholder}\n ref={innerRef}\n secureTextEntry={secureTextEntry}\n style={style}\n value={value}\n />\n );\n});\n\nexport default TextField;\n"]}
|
|
1
|
+
{"version":3,"names":["React","useImperativeHandle","useRef","Animated","css","useAnimatedValue","OutlinedTextField","blurAnimationDuration","focusAnimationDuration","TextField","forwardRef","props","ref","disabled","error","keyboardType","icon","label","onBlur","onChangeText","onFocus","onIconPress","onSubmitEditing","placeholder","placeholderProp","secureTextEntry","value","style","styleProp","innerRef","focus","current","isFocused","clear","blur","setStyle","setNativeProps","animatedLabel","animatedError","focused","setFocused","useState","setPlaceholder","labelLayout","setLabelLayout","measured","width","height","minimizeLabel","timing","toValue","duration","useNativeDriver","start","restoreLabel","showError","hideError","showPlaceholder","hidePlaceholder","useEffect","handleFocus","event","handleBlur","opacity","handleLayoutAnimatedText","nativeEvent","layout","forceFocus"],"sources":["TextField.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef } from 'react';\nimport { Animated, LayoutChangeEvent, NativeSyntheticEvent, TargetedEvent, TextInput } from 'react-native';\nimport { css } from '../styles';\nimport { useAnimatedValue } from '../hooks';\nimport OutlinedTextField from './OutlinedTextField';\nimport TextFieldProps, { setStyleProp } from './TextFieldProps';\nimport { blurAnimationDuration, focusAnimationDuration } from './utils';\n\nconst TextField = React.forwardRef<TextInput, TextFieldProps>(function TextField(props, ref) {\n const {\n disabled = false,\n error = false,\n keyboardType = 'default',\n icon,\n label,\n onBlur,\n onChangeText,\n onFocus,\n onIconPress,\n onSubmitEditing,\n placeholder: placeholderProp,\n secureTextEntry = false,\n value,\n style: styleProp,\n } = props;\n\n const innerRef = useRef<TextInput | null>(null);\n //@ts-ignore\n useImperativeHandle(ref, () => ({\n focus: () => {\n innerRef.current?.focus();\n },\n isFocused: () => {\n const current = innerRef.current;\n return current ? current.isFocused() : false;\n },\n clear: () => {\n innerRef.current?.clear();\n },\n blur: () => {\n innerRef.current?.blur();\n },\n setStyle: (style: setStyleProp) => {\n innerRef.current?.setNativeProps({\n style,\n });\n },\n }));\n\n const animatedLabel = useAnimatedValue(value ? 0 : 1);\n const animatedError = useAnimatedValue(error ? 1 : 0);\n const [focused, setFocused] = React.useState(false);\n const [placeholder, setPlaceholder] = React.useState('');\n const [labelLayout, setLabelLayout] = React.useState({\n measured: false,\n width: 0,\n height: 0,\n });\n\n const minimizeLabel = () => {\n Animated.timing(animatedLabel, {\n toValue: 0,\n duration: blurAnimationDuration,\n useNativeDriver: false,\n }).start();\n };\n\n const restoreLabel = () => {\n Animated.timing(animatedLabel, {\n toValue: 1,\n duration: focusAnimationDuration,\n useNativeDriver: false,\n }).start();\n };\n\n const showError = () => {\n Animated.timing(animatedError, {\n toValue: 1,\n duration: focusAnimationDuration,\n useNativeDriver: false,\n }).start();\n };\n\n const hideError = () => {\n Animated.timing(animatedError, {\n toValue: 0,\n duration: blurAnimationDuration,\n useNativeDriver: false,\n }).start();\n };\n\n const showPlaceholder = () => {\n placeholderProp && setPlaceholder(placeholderProp);\n };\n\n const hidePlaceholder = () => setPlaceholder('');\n\n React.useEffect(() => {\n value || focused ? minimizeLabel() : restoreLabel();\n }, [focused, value, labelLayout]);\n\n React.useEffect(() => {\n animatedError ? showError() : hideError();\n }, [animatedError]);\n\n React.useEffect(() => {\n focused || !label ? showPlaceholder() : hidePlaceholder();\n }, [focused, label]);\n\n const handleFocus = (event: NativeSyntheticEvent<TargetedEvent>) => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n onFocus?.(event);\n };\n\n const handleBlur = (event: NativeSyntheticEvent<TargetedEvent>) => {\n setFocused(false);\n onBlur?.(event);\n };\n\n const style = css([\n { opacity: disabled ? 0.3 : 1 },\n styleProp,\n ]);\n\n const handleLayoutAnimatedText = (event: LayoutChangeEvent) => {\n setLabelLayout({\n width: event.nativeEvent.layout.width,\n height: event.nativeEvent.layout.height,\n measured: true,\n });\n };\n\n const forceFocus = () => {\n innerRef.current?.focus();\n };\n\n return (\n <OutlinedTextField\n animatedError={animatedError}\n animatedLabel={animatedLabel}\n disabled={disabled}\n error={error}\n focused={focused}\n forceFocus={forceFocus}\n icon={icon}\n keyboardType={keyboardType}\n label={label}\n labelLayout={labelLayout}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChangeText={onChangeText}\n onIconPress={onIconPress}\n onLayoutAnimatedText={handleLayoutAnimatedText}\n onSubmitEditing={onSubmitEditing}\n placeholder={placeholder}\n ref={innerRef}\n secureTextEntry={secureTextEntry}\n style={style}\n value={value}\n />\n );\n});\n\nexport default TextField;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["TextFieldProps.ts"],"sourcesContent":["import React from 'react';\nimport { NativeSyntheticEvent, TargetedEvent } from 'react-native';\nimport { ComponentProps } from '../types';\n\ntype TextFieldKeyboardType = 'default' | 'numeric' | 'email-address';\n\nexport interface setStyleProp {\n fontFamily: string;\n}\n\nexport default interface TextFieldProps extends ComponentProps<{\n /**\n * If true, user won't be able to interact with the component.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Whether to style the TextField with error style.\n * @default false\n */\n error?: boolean,\n\n /**\n * It is an icon placed to the right of the TextField.\n */\n icon?: React.ReactElement;\n\n /**\n * User can specify the keyboard type.\n * @default 'default'\n */\n keyboardType?: TextFieldKeyboardType;\n\n /**\n * The text to use for the floating label.\n */\n label?: string;\n\n /**\n * Callback that is called when the textField is blurred.\n */\n onBlur?: (event: NativeSyntheticEvent<TargetedEvent>) => void,\n\n /**\n * Callback that is called when the textField's text changes.\n */\n onChangeText?: (value: string) => void,\n\n /**\n * Callback that is called when the textField is focused.\n */\n onFocus?: (event: NativeSyntheticEvent<TargetedEvent>) => void,\n\n /**\n * Callback that is called when icon pressed.\n */\n onIconPress?: () => void;\n\n /**\n * Callback that is called when enter or submit key pressed.\n */\n onSubmitEditing?: () => void\n\n /**\n * Placeholder for textField.\n */\n placeholder?: string;\n\n /**\n * If true, the text input obscures the text entered so that sensitive text like passwords stay secure.\n * @default false\n */\n secureTextEntry?: boolean;\n\n /**\n * Value of the textField.\n */\n value?: string;\n}> {}"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["default"],"sources":["index.tsx"],"sourcesContent":["export { default } from './TextField';\nexport type { default as TextFieldProps } from './TextFieldProps';"],"mappings":"AAAA,SAASA,OAAT,QAAwB,aAAxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["defaultHeight","iconSize","labelFontSize","labelYOffset","labelPaddingTop","inputPaddingHorizontal","blurAnimationDuration","focusAnimationDuration"],"sources":["utils.ts"],"sourcesContent":["export const defaultHeight = 52;\n\nexport const iconSize = 24;\n\nexport const labelFontSize = 12;\n\nexport const labelYOffset = -6;\n\nexport const labelPaddingTop = 8;\n\nexport const inputPaddingHorizontal = 14;\n\nexport const blurAnimationDuration = 180;\n\nexport const focusAnimationDuration = 150;"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG,EAAtB;AAEP,OAAO,MAAMC,QAAQ,GAAG,EAAjB;AAEP,OAAO,MAAMC,aAAa,GAAG,EAAtB;AAEP,OAAO,MAAMC,YAAY,GAAG,CAAC,CAAtB;AAEP,OAAO,MAAMC,eAAe,GAAG,CAAxB;AAEP,OAAO,MAAMC,sBAAsB,GAAG,EAA/B;AAEP,OAAO,MAAMC,qBAAqB,GAAG,GAA9B;AAEP,OAAO,MAAMC,sBAAsB,GAAG,GAA/B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { View } from 'react-native';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","View","css","useTheme","useStyles","theme","root","alignItems","flexDirection","flexWrap","minHeight","gutters","paddingHorizontal","spacing","Toolbar","props","disableGutters","style","otherProps","styles","undefined"],"sources":["Toolbar.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport type ToolbarProps from './ToolbarProps';\nimport { css, useTheme } from '../styles';\n\ntype ToolbarStyles = NamedStylesStringUnion<'root' | 'gutters'>;\n\nconst useStyles: UseStyles<ToolbarStyles> = function (): ToolbarStyles {\n const theme = useTheme();\n\n return {\n root: {\n alignItems: 'center',\n flexDirection: 'row',\n flexWrap: 'nowrap',\n minHeight: 56,\n },\n gutters: {\n paddingHorizontal: theme.spacing(4),\n },\n };\n};\n\nexport default function Toolbar(props: ToolbarProps) {\n const {\n disableGutters = false,\n style,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n return (\n <View\n style={css([\n styles.root,\n !disableGutters ? styles.gutters : undefined,\n style,\n ])}\n {...otherProps}\n />\n );\n};\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,cAArB;AAGA,SAASC,GAAT,EAAcC,QAAd,QAA8B,WAA9B;;AAIA,MAAMC,SAAmC,GAAG,YAA2B;EACnE,MAAMC,KAAK,GAAGF,QAAQ,EAAtB;EAEA,OAAO;IACHG,IAAI,EAAE;MACFC,UAAU,EAAE,QADV;MAEFC,aAAa,EAAE,KAFb;MAGFC,QAAQ,EAAE,QAHR;MAIFC,SAAS,EAAE;IAJT,CADH;IAOHC,OAAO,EAAE;MACLC,iBAAiB,EAAEP,KAAK,CAACQ,OAAN,CAAc,CAAd;IADd;EAPN,CAAP;AAWH,CAdD;;AAgBA,eAAe,SAASC,OAAT,CAAiBC,KAAjB,EAAsC;EACjD,MAAM;IACFC,cAAc,GAAG,KADf;IAEFC,KAFE;IAGF,GAAGC;EAHD,IAIFH,KAJJ;EAMA,MAAMI,MAAM,GAAGf,SAAS,EAAxB;EAEA,oBACI,oBAAC,IAAD;IACI,KAAK,EAAEF,GAAG,CAAC,CACPiB,MAAM,CAACb,IADA,EAEP,CAACU,cAAD,GAAkBG,MAAM,CAACR,OAAzB,GAAmCS,SAF5B,EAGPH,KAHO,CAAD;EADd,GAMQC,UANR,EADJ;AAUH;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["ToolbarProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ViewProps } from 'react-native';\nimport type { OverridableComponentProps } from '../types';\n\nexport default interface ToolbarProps extends OverridableComponentProps<ViewProps, {\n /**\n * The content of the component.\n */\n children: React.ReactNode,\n\n /**\n * If `true`, disables gutter padding.\n * @default false\n */\n disableGutters?: boolean,\n}> {}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './Toolbar';\nexport type { default as ToolbarProps } from './ToolbarProps';"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB"}
|