@razorpay/blade 11.39.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/native/components/Accordion/Accordion.js +2 -2
- package/build/lib/native/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionButton.native.js +8 -10
- package/build/lib/native/components/Accordion/AccordionButton.native.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItemBody.js +7 -8
- package/build/lib/native/components/Accordion/AccordionItemBody.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItemHeader.js +3 -8
- package/build/lib/native/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/native/components/Accordion/commonStyles.js +1 -1
- package/build/lib/native/components/Accordion/commonStyles.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionList.js +1 -1
- package/build/lib/native/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionListItem.js +9 -8
- package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionListNoResults.js +2 -1
- package/build/lib/native/components/ActionList/ActionListNoResults.js.map +1 -1
- package/build/lib/native/components/Alert/Alert.js +4 -3
- package/build/lib/native/components/Alert/Alert.js.map +1 -1
- package/build/lib/native/components/Amount/Amount.js +4 -2
- package/build/lib/native/components/Amount/Amount.js.map +1 -1
- package/build/lib/native/components/Badge/Badge.js +10 -9
- package/build/lib/native/components/Badge/Badge.js.map +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +11 -10
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js +8 -6
- package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js.map +1 -1
- package/build/lib/native/components/BottomNav/BottomNav.native.js +4 -10
- package/build/lib/native/components/BottomNav/BottomNav.native.js.map +1 -1
- package/build/lib/native/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/native/components/Box/Box.js +1 -1
- package/build/lib/native/components/Box/Box.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/native/components/Card/Card.js +1 -1
- package/build/lib/native/components/Card/Card.js.map +1 -1
- package/build/lib/native/components/Card/CardFooter.js +4 -8
- package/build/lib/native/components/Card/CardFooter.js.map +1 -1
- package/build/lib/native/components/Card/CardHeader.js +5 -9
- package/build/lib/native/components/Card/CardHeader.js.map +1 -1
- package/build/lib/native/components/Card/CardRoot.native.js +1 -1
- package/build/lib/native/components/Card/CardRoot.native.js.map +1 -1
- package/build/lib/native/components/Carousel/Carousel.native.js +1 -1
- package/build/lib/native/components/Carousel/Carousel.native.js.map +1 -1
- package/build/lib/native/components/Carousel/Indicators/StyledIndicatorButton.native.js +1 -1
- package/build/lib/native/components/Carousel/Indicators/StyledIndicatorButton.native.js.map +1 -1
- package/build/lib/native/components/Carousel/Indicators/getIndicatorButtonStyles.js +1 -1
- package/build/lib/native/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
- package/build/lib/native/components/Carousel/NavigationButton/getNavigationButtonStyles.js +1 -1
- package/build/lib/native/components/Carousel/NavigationButton/getNavigationButtonStyles.js.map +1 -1
- package/build/lib/native/components/Checkbox/Checkbox.js +6 -4
- package/build/lib/native/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/native/components/Checkbox/CheckboxIcon/Fade.native.js +1 -1
- package/build/lib/native/components/Checkbox/CheckboxIcon/Fade.native.js.map +1 -1
- package/build/lib/native/components/Chip/Chip.js +5 -3
- package/build/lib/native/components/Chip/Chip.js.map +1 -1
- package/build/lib/native/components/Chip/ChipGroup.js +4 -3
- package/build/lib/native/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/native/components/Chip/chipTokens.js +1 -1
- package/build/lib/native/components/Chip/chipTokens.js.map +1 -1
- package/build/lib/native/components/Collapsible/Collapsible.js +2 -2
- package/build/lib/native/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/native/components/Collapsible/commonStyles.js +1 -1
- package/build/lib/native/components/Collapsible/commonStyles.js.map +1 -1
- package/build/lib/native/components/Counter/Counter.js +13 -12
- package/build/lib/native/components/Counter/Counter.js.map +1 -1
- package/build/lib/native/components/Divider/Divider.js +2 -2
- package/build/lib/native/components/Divider/Divider.js.map +1 -1
- package/build/lib/native/components/Drawer/Drawer.native.js +4 -10
- package/build/lib/native/components/Drawer/Drawer.native.js.map +1 -1
- package/build/lib/native/components/Drawer/DrawerSubcomponents.native.js +4 -9
- package/build/lib/native/components/Drawer/DrawerSubcomponents.native.js.map +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js +2 -1
- package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/native/components/Fade/Fade.native.js +11 -0
- package/build/lib/native/components/Fade/Fade.native.js.map +1 -0
- package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js +3 -9
- package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/native/components/Form/FormLabel.js +10 -10
- package/build/lib/native/components/Indicator/Indicator.js +7 -6
- package/build/lib/native/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js +1 -1
- package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js +2 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputTagSlot.native.js +3 -3
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +8 -10
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +9 -8
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/native/components/Link/BaseLink/BaseLink.js +1 -1
- package/build/lib/native/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/native/components/List/List.js +1 -1
- package/build/lib/native/components/List/List.js.map +1 -1
- package/build/lib/native/components/List/ListItem.js +8 -10
- package/build/lib/native/components/List/ListItem.js.map +1 -1
- package/build/lib/native/components/List/ListItemCode.js +3 -9
- package/build/lib/native/components/List/ListItemCode.js.map +1 -1
- package/build/lib/native/components/List/ListItemText.js +3 -8
- package/build/lib/native/components/List/ListItemText.js.map +1 -1
- package/build/lib/native/components/Menu/Menu.native.js +4 -10
- package/build/lib/native/components/Menu/Menu.native.js.map +1 -1
- package/build/lib/native/components/Menu/MenuItem.native.js +4 -10
- package/build/lib/native/components/Menu/MenuItem.native.js.map +1 -1
- package/build/lib/native/components/Menu/MenuOverlay.native.js +4 -10
- package/build/lib/native/components/Menu/MenuOverlay.native.js.map +1 -1
- package/build/lib/native/components/Menu/VisualSubComponents/MenuDivider.native.js +4 -10
- package/build/lib/native/components/Menu/VisualSubComponents/MenuDivider.native.js.map +1 -1
- package/build/lib/native/components/Menu/VisualSubComponents/MenuHeaderFooter.native.js +4 -10
- package/build/lib/native/components/Menu/VisualSubComponents/MenuHeaderFooter.native.js.map +1 -1
- package/build/lib/native/components/Modal/Modal.native.js +4 -9
- package/build/lib/native/components/Modal/Modal.native.js.map +1 -1
- package/build/lib/native/components/Modal/ModalBody.native.js +3 -8
- package/build/lib/native/components/Modal/ModalBody.native.js.map +1 -1
- package/build/lib/native/components/Modal/ModalFooter.native.js +3 -8
- package/build/lib/native/components/Modal/ModalFooter.native.js.map +1 -1
- package/build/lib/native/components/Modal/ModalHeader.native.js +3 -8
- package/build/lib/native/components/Modal/ModalHeader.native.js.map +1 -1
- package/build/lib/native/components/Morph/Morph.native.js +11 -0
- package/build/lib/native/components/Morph/Morph.native.js.map +1 -0
- package/build/lib/native/components/Move/Move.native.js +11 -0
- package/build/lib/native/components/Move/Move.native.js.map +1 -0
- package/build/lib/native/components/Popover/PopoverContent.js +6 -8
- package/build/lib/native/components/Popover/PopoverContent.js.map +1 -1
- package/build/lib/native/components/Popover/PopoverContentWrapper.native.js +1 -1
- package/build/lib/native/components/Popover/PopoverContentWrapper.native.js.map +1 -1
- package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js +7 -9
- package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js.map +1 -1
- package/build/lib/native/components/ProgressBar/CircularProgressLabel.js +3 -8
- package/build/lib/native/components/ProgressBar/CircularProgressLabel.js.map +1 -1
- package/build/lib/native/components/ProgressBar/ProgressBar.js +2 -2
- package/build/lib/native/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/native/components/Radio/Radio.js +2 -1
- package/build/lib/native/components/Radio/Radio.js.map +1 -1
- package/build/lib/native/components/Radio/RadioIcon/Fade.native.js +1 -1
- package/build/lib/native/components/Radio/RadioIcon/Fade.native.js.map +1 -1
- package/build/lib/native/components/Radio/RadioIcon/RadioIconWrapperStyles.js +1 -1
- package/build/lib/native/components/Radio/RadioIcon/RadioIconWrapperStyles.js.map +1 -1
- package/build/lib/native/components/Scale/Scale.native.js +11 -0
- package/build/lib/native/components/Scale/Scale.native.js.map +1 -0
- package/build/lib/native/components/SideNav/SideNav.native.js +4 -10
- package/build/lib/native/components/SideNav/SideNav.native.js.map +1 -1
- package/build/lib/native/components/SideNav/SideNavBody.native.js +4 -10
- package/build/lib/native/components/SideNav/SideNavBody.native.js.map +1 -1
- package/build/lib/native/components/SideNav/SideNavFooter.native.js +4 -10
- package/build/lib/native/components/SideNav/SideNavFooter.native.js.map +1 -1
- package/build/lib/native/components/SideNav/SideNavItems/SideNavItem.native.js +4 -10
- package/build/lib/native/components/SideNav/SideNavItems/SideNavItem.native.js.map +1 -1
- package/build/lib/native/components/SideNav/SideNavItems/SideNavLink.native.js +4 -10
- package/build/lib/native/components/SideNav/SideNavItems/SideNavLink.native.js.map +1 -1
- package/build/lib/native/components/SideNav/SideNavLevel.native.js +4 -10
- package/build/lib/native/components/SideNav/SideNavLevel.native.js.map +1 -1
- package/build/lib/native/components/SideNav/SideNavSection.native.js +4 -10
- package/build/lib/native/components/SideNav/SideNavSection.native.js.map +1 -1
- package/build/lib/native/components/SideNav/tokens.js.map +1 -1
- package/build/lib/native/components/Skeleton/PulseAnimation.native.js +1 -1
- package/build/lib/native/components/Skeleton/PulseAnimation.native.js.map +1 -1
- package/build/lib/native/components/Skeleton/Skeleton.js +2 -2
- package/build/lib/native/components/Skeleton/Skeleton.js.map +1 -1
- package/build/lib/native/components/Slide/Slide.native.js +11 -0
- package/build/lib/native/components/Slide/Slide.native.js.map +1 -0
- package/build/lib/native/components/Spinner/BaseSpinner/BaseSpinner.js +4 -3
- package/build/lib/native/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
- package/build/lib/native/components/Spinner/BaseSpinner/spinnerTokens.js +1 -1
- package/build/lib/native/components/Spinner/BaseSpinner/spinnerTokens.js.map +1 -1
- package/build/lib/native/components/Spinner/Spinner/Spinner.js +2 -1
- package/build/lib/native/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/build/lib/native/components/StepGroup/StepGroup.native.js +4 -10
- package/build/lib/native/components/StepGroup/StepGroup.native.js.map +1 -1
- package/build/lib/native/components/StepGroup/StepItem.native.js +4 -10
- package/build/lib/native/components/StepGroup/StepItem.native.js.map +1 -1
- package/build/lib/native/components/Switch/Switch.js +2 -1
- package/build/lib/native/components/Switch/Switch.js.map +1 -1
- package/build/lib/native/components/Switch/getTrackStyles.js +1 -1
- package/build/lib/native/components/Switch/getTrackStyles.js.map +1 -1
- package/build/lib/native/components/Switch/switchTokens.js +1 -1
- package/build/lib/native/components/Switch/switchTokens.js.map +1 -1
- package/build/lib/native/components/Table/Table.native.js +4 -9
- package/build/lib/native/components/Table/Table.native.js.map +1 -1
- package/build/lib/native/components/Table/TableBody.native.js +3 -8
- package/build/lib/native/components/Table/TableBody.native.js.map +1 -1
- package/build/lib/native/components/Table/TableEditableCell.native.js +3 -9
- package/build/lib/native/components/Table/TableEditableCell.native.js.map +1 -1
- package/build/lib/native/components/Table/TableFooter.native.js +3 -8
- package/build/lib/native/components/Table/TableFooter.native.js.map +1 -1
- package/build/lib/native/components/Table/TableHeader.native.js +3 -8
- package/build/lib/native/components/Table/TableHeader.native.js.map +1 -1
- package/build/lib/native/components/Table/TablePagination.native.js +3 -8
- package/build/lib/native/components/Table/TablePagination.native.js.map +1 -1
- package/build/lib/native/components/Table/TableToolbar.native.js +3 -8
- package/build/lib/native/components/Table/TableToolbar.native.js.map +1 -1
- package/build/lib/native/components/Table/tokens.js.map +1 -1
- package/build/lib/native/components/Tabs/Tabs.native.js +6 -8
- package/build/lib/native/components/Tabs/Tabs.native.js.map +1 -1
- package/build/lib/native/components/Tag/AnimatedTag.native.js +1 -1
- package/build/lib/native/components/Tag/AnimatedTag.native.js.map +1 -1
- package/build/lib/native/components/Tag/Tag.js +3 -2
- package/build/lib/native/components/Tag/Tag.js.map +1 -1
- package/build/lib/native/components/Tooltip/TooltipContent.js +8 -8
- package/build/lib/native/components/Tooltip/TooltipContentWrapper.native.js +1 -1
- package/build/lib/native/components/Tooltip/TooltipContentWrapper.native.js.map +1 -1
- package/build/lib/native/components/TopNav/TabNav/TabNav.native.js +4 -10
- package/build/lib/native/components/TopNav/TabNav/TabNav.native.js.map +1 -1
- package/build/lib/native/components/TopNav/TabNav/TabNavItem.native.js +4 -10
- package/build/lib/native/components/TopNav/TabNav/TabNavItem.native.js.map +1 -1
- package/build/lib/native/components/TopNav/TopNav.native.js +4 -10
- package/build/lib/native/components/TopNav/TopNav.native.js.map +1 -1
- package/build/lib/native/components/Typography/Code/Code.js +1 -1
- package/build/lib/native/components/Typography/Code/Code.js.map +1 -1
- package/build/lib/native/components/Typography/Display/Display.js +2 -2
- package/build/lib/native/components/Typography/Display/Display.js.map +1 -1
- package/build/lib/native/components/Typography/Heading/Heading.js +2 -2
- package/build/lib/native/components/Typography/Heading/Heading.js.map +1 -1
- package/build/lib/native/components/Typography/Text/Text.js +2 -2
- package/build/lib/native/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/native/components/index.js +5 -0
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/native/tokens/global/motion.js +1 -1
- package/build/lib/native/tokens/global/motion.js.map +1 -1
- package/build/lib/native/utils/getMotionRefs.js +4 -0
- package/build/lib/native/utils/getMotionRefs.js.map +1 -0
- package/build/lib/web/development/components/Accordion/Accordion.js +6 -3
- package/build/lib/web/development/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/web/development/components/Accordion/commonStyles.js +1 -1
- package/build/lib/web/development/components/Accordion/commonStyles.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionList.js +3 -0
- package/build/lib/web/development/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/development/components/Alert/Alert.js +6 -3
- package/build/lib/web/development/components/Alert/Alert.js.map +1 -1
- package/build/lib/web/development/components/Amount/Amount.js +3 -2
- package/build/lib/web/development/components/Amount/Amount.js.map +1 -1
- package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js +12 -0
- package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -0
- package/build/lib/web/development/components/Badge/Badge.js +4 -2
- package/build/lib/web/development/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/development/components/BaseMotion/BaseMotion.js +123 -0
- package/build/lib/web/development/components/BaseMotion/BaseMotion.js.map +1 -0
- package/build/lib/web/development/components/BaseMotion/baseMotionUtils.js +60 -0
- package/build/lib/web/development/components/BaseMotion/baseMotionUtils.js.map +1 -0
- package/build/lib/web/development/components/BaseMotion/index.js +3 -0
- package/build/lib/web/development/components/BaseMotion/index.js.map +1 -0
- package/build/lib/web/development/components/BaseMotion/types.js +2 -0
- package/build/lib/web/development/components/BaseMotion/types.js.map +1 -0
- package/build/lib/web/development/components/BottomNav/BottomNav.web.js +4 -2
- package/build/lib/web/development/components/BottomNav/BottomNav.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetBackdrop.web.js +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetBackdrop.web.js.map +1 -1
- package/build/lib/web/development/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/web/development/components/Box/Box.js +2 -2
- package/build/lib/web/development/components/Box/Box.js.map +1 -1
- package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js +3 -1
- package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js +1 -1
- package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
- package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js +3 -2
- package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
- package/build/lib/web/development/components/Card/Card.js +3 -1
- package/build/lib/web/development/components/Card/Card.js.map +1 -1
- package/build/lib/web/development/components/Card/CardRoot.web.js +6 -4
- package/build/lib/web/development/components/Card/CardRoot.web.js.map +1 -1
- package/build/lib/web/development/components/Carousel/Carousel.web.js +6 -3
- package/build/lib/web/development/components/Carousel/Carousel.web.js.map +1 -1
- package/build/lib/web/development/components/Carousel/Indicators/getIndicatorButtonStyles.js +1 -1
- package/build/lib/web/development/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
- package/build/lib/web/development/components/Carousel/NavigationButton/getNavigationButtonStyles.js +1 -1
- package/build/lib/web/development/components/Carousel/NavigationButton/getNavigationButtonStyles.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/Checkbox.js +13 -3
- package/build/lib/web/development/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/CheckboxIcon/Fade.web.js +2 -2
- package/build/lib/web/development/components/Checkbox/CheckboxIcon/Fade.web.js.map +1 -1
- package/build/lib/web/development/components/Chip/Chip.js +11 -2
- package/build/lib/web/development/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/development/components/Chip/ChipGroup.js +5 -2
- package/build/lib/web/development/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/web/development/components/Chip/chipTokens.js +1 -1
- package/build/lib/web/development/components/Chip/chipTokens.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/Collapsible.js +6 -3
- package/build/lib/web/development/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/commonStyles.js +2 -2
- package/build/lib/web/development/components/Collapsible/commonStyles.js.map +1 -1
- package/build/lib/web/development/components/Counter/Counter.js +4 -2
- package/build/lib/web/development/components/Counter/Counter.js.map +1 -1
- package/build/lib/web/development/components/Divider/Divider.js +4 -2
- package/build/lib/web/development/components/Divider/Divider.js.map +1 -1
- package/build/lib/web/development/components/Drawer/Drawer.web.js +4 -4
- package/build/lib/web/development/components/Drawer/Drawer.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -3
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Fade/Fade.web.js +62 -0
- package/build/lib/web/development/components/Fade/Fade.web.js.map +1 -0
- package/build/lib/web/development/components/Fade/index.js +2 -0
- package/build/lib/web/development/components/Fade/index.js.map +1 -0
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js +11 -2
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/fileUploadTokens.js +1 -1
- package/build/lib/web/development/components/FileUpload/fileUploadTokens.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js.map +1 -1
- package/build/lib/web/development/components/Indicator/Indicator.js +4 -2
- package/build/lib/web/development/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +3 -3
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +21 -7
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +2 -2
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/web/development/components/Link/BaseLink/BaseLink.js +1 -1
- package/build/lib/web/development/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/web/development/components/List/List.js +5 -3
- package/build/lib/web/development/components/List/List.js.map +1 -1
- package/build/lib/web/development/components/Modal/Modal.web.js +2 -2
- package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalBackdrop.js +2 -2
- package/build/lib/web/development/components/Modal/ModalBackdrop.js.map +1 -1
- package/build/lib/web/development/components/Morph/Morph.web.js +48 -0
- package/build/lib/web/development/components/Morph/Morph.web.js.map +1 -0
- package/build/lib/web/development/components/Morph/index.js +2 -0
- package/build/lib/web/development/components/Morph/index.js.map +1 -0
- package/build/lib/web/development/components/Move/Move.web.js +66 -0
- package/build/lib/web/development/components/Move/Move.web.js.map +1 -0
- package/build/lib/web/development/components/Move/index.js +2 -0
- package/build/lib/web/development/components/Move/index.js.map +1 -0
- package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js +1 -1
- package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js.map +1 -1
- package/build/lib/web/development/components/ProgressBar/ProgressBar.js +8 -4
- package/build/lib/web/development/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/web/development/components/Radio/Radio.js +13 -3
- package/build/lib/web/development/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/development/components/Radio/RadioIcon/Fade.web.js +3 -3
- package/build/lib/web/development/components/Radio/RadioIcon/Fade.web.js.map +1 -1
- package/build/lib/web/development/components/Radio/RadioIcon/RadioIconWrapperStyles.js +1 -1
- package/build/lib/web/development/components/Radio/RadioIcon/RadioIconWrapperStyles.js.map +1 -1
- package/build/lib/web/development/components/Scale/Scale.web.js +47 -0
- package/build/lib/web/development/components/Scale/Scale.web.js.map +1 -0
- package/build/lib/web/development/components/Scale/index.js +2 -0
- package/build/lib/web/development/components/Scale/index.js.map +1 -0
- package/build/lib/web/development/components/SideNav/SideNav.web.js +7 -5
- package/build/lib/web/development/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/tokens.js +1 -1
- package/build/lib/web/development/components/SideNav/tokens.js.map +1 -1
- package/build/lib/web/development/components/Skeleton/PulseAnimation.web.js +1 -1
- package/build/lib/web/development/components/Skeleton/PulseAnimation.web.js.map +1 -1
- package/build/lib/web/development/components/Skeleton/Skeleton.js +4 -1
- package/build/lib/web/development/components/Skeleton/Skeleton.js.map +1 -1
- package/build/lib/web/development/components/Slide/Slide.web.js +119 -0
- package/build/lib/web/development/components/Slide/Slide.web.js.map +1 -0
- package/build/lib/web/development/components/Slide/index.js +2 -0
- package/build/lib/web/development/components/Slide/index.js.map +1 -0
- package/build/lib/web/development/components/Spinner/BaseSpinner/BaseSpinner.js +6 -3
- package/build/lib/web/development/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
- package/build/lib/web/development/components/Spinner/BaseSpinner/spinnerTokens.js +1 -1
- package/build/lib/web/development/components/Spinner/BaseSpinner/spinnerTokens.js.map +1 -1
- package/build/lib/web/development/components/Spinner/Spinner/Spinner.js +4 -1
- package/build/lib/web/development/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js +2 -2
- package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
- package/build/lib/web/development/components/Stagger/StaggerProvider.js +13 -0
- package/build/lib/web/development/components/Stagger/StaggerProvider.js.map +1 -0
- package/build/lib/web/development/components/StepGroup/StepGroup.web.js +5 -3
- package/build/lib/web/development/components/StepGroup/StepGroup.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/StepItem.web.js +1 -1
- package/build/lib/web/development/components/StepGroup/StepItem.web.js.map +1 -1
- package/build/lib/web/development/components/Switch/AnimatedThumbIcon.web.js +1 -1
- package/build/lib/web/development/components/Switch/AnimatedThumbIcon.web.js.map +1 -1
- package/build/lib/web/development/components/Switch/Switch.js +13 -3
- package/build/lib/web/development/components/Switch/Switch.js.map +1 -1
- package/build/lib/web/development/components/Switch/getTrackStyles.js +1 -1
- package/build/lib/web/development/components/Switch/getTrackStyles.js.map +1 -1
- package/build/lib/web/development/components/Switch/switchTokens.js +6 -6
- package/build/lib/web/development/components/Switch/switchTokens.js.map +1 -1
- package/build/lib/web/development/components/Table/Table.web.js +4 -2
- package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/development/components/Table/tokens.js +2 -2
- package/build/lib/web/development/components/Table/tokens.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabIndicator.web.js +1 -1
- package/build/lib/web/development/components/Tabs/TabIndicator.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabItem.web.js +2 -2
- package/build/lib/web/development/components/Tabs/TabItem.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/Tabs.web.js +34 -1
- package/build/lib/web/development/components/Tabs/Tabs.web.js.map +1 -1
- package/build/lib/web/development/components/Tag/AnimatedTag.web.js +2 -2
- package/build/lib/web/development/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/lib/web/development/components/Tag/Tag.js +31 -29
- package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/development/components/Toast/Toast.web.js +2 -2
- package/build/lib/web/development/components/Toast/Toast.web.js.map +1 -1
- package/build/lib/web/development/components/Toast/ToastContainer.web.js +1 -1
- package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js +2 -2
- package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
- package/build/lib/web/development/components/TopNav/TopNav.web.js +4 -2
- package/build/lib/web/development/components/TopNav/TopNav.web.js.map +1 -1
- package/build/lib/web/development/components/Typography/Code/Code.js +30 -27
- package/build/lib/web/development/components/Typography/Code/Code.js.map +1 -1
- package/build/lib/web/development/components/Typography/Display/Display.js +6 -2
- package/build/lib/web/development/components/Typography/Display/Display.js.map +1 -1
- package/build/lib/web/development/components/Typography/Heading/Heading.js +4 -1
- package/build/lib/web/development/components/Typography/Heading/Heading.js.map +1 -1
- package/build/lib/web/development/components/Typography/Text/Text.js +6 -10
- package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/development/components/index.js +10 -0
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/development/tokens/global/motion.js +22 -28
- package/build/lib/web/development/tokens/global/motion.js.map +1 -1
- package/build/lib/web/development/utils/cssBezierToArray.js +12 -0
- package/build/lib/web/development/utils/cssBezierToArray.js.map +1 -0
- package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -1
- package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
- package/build/lib/web/development/utils/getMotionRefs.js +86 -0
- package/build/lib/web/development/utils/getMotionRefs.js.map +1 -0
- package/build/lib/web/development/utils/msToSeconds.js +6 -0
- package/build/lib/web/development/utils/msToSeconds.js.map +1 -0
- package/build/lib/web/production/components/Accordion/Accordion.js +6 -3
- package/build/lib/web/production/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/web/production/components/Accordion/commonStyles.js +1 -1
- package/build/lib/web/production/components/Accordion/commonStyles.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionList.js +3 -0
- package/build/lib/web/production/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/production/components/Alert/Alert.js +6 -3
- package/build/lib/web/production/components/Alert/Alert.js.map +1 -1
- package/build/lib/web/production/components/Amount/Amount.js +3 -2
- package/build/lib/web/production/components/Amount/Amount.js.map +1 -1
- package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js +12 -0
- package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -0
- package/build/lib/web/production/components/Badge/Badge.js +4 -2
- package/build/lib/web/production/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/production/components/BaseMotion/BaseMotion.js +123 -0
- package/build/lib/web/production/components/BaseMotion/BaseMotion.js.map +1 -0
- package/build/lib/web/production/components/BaseMotion/baseMotionUtils.js +60 -0
- package/build/lib/web/production/components/BaseMotion/baseMotionUtils.js.map +1 -0
- package/build/lib/web/production/components/BaseMotion/index.js +3 -0
- package/build/lib/web/production/components/BaseMotion/index.js.map +1 -0
- package/build/lib/web/production/components/BaseMotion/types.js +2 -0
- package/build/lib/web/production/components/BaseMotion/types.js.map +1 -0
- package/build/lib/web/production/components/BottomNav/BottomNav.web.js +4 -2
- package/build/lib/web/production/components/BottomNav/BottomNav.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetBackdrop.web.js +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetBackdrop.web.js.map +1 -1
- package/build/lib/web/production/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/web/production/components/Box/Box.js +2 -2
- package/build/lib/web/production/components/Box/Box.js.map +1 -1
- package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js +3 -1
- package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js +1 -1
- package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
- package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js +3 -2
- package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
- package/build/lib/web/production/components/Card/Card.js +3 -1
- package/build/lib/web/production/components/Card/Card.js.map +1 -1
- package/build/lib/web/production/components/Card/CardRoot.web.js +6 -4
- package/build/lib/web/production/components/Card/CardRoot.web.js.map +1 -1
- package/build/lib/web/production/components/Carousel/Carousel.web.js +6 -3
- package/build/lib/web/production/components/Carousel/Carousel.web.js.map +1 -1
- package/build/lib/web/production/components/Carousel/Indicators/getIndicatorButtonStyles.js +1 -1
- package/build/lib/web/production/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
- package/build/lib/web/production/components/Carousel/NavigationButton/getNavigationButtonStyles.js +1 -1
- package/build/lib/web/production/components/Carousel/NavigationButton/getNavigationButtonStyles.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/Checkbox.js +13 -3
- package/build/lib/web/production/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/CheckboxIcon/Fade.web.js +2 -2
- package/build/lib/web/production/components/Checkbox/CheckboxIcon/Fade.web.js.map +1 -1
- package/build/lib/web/production/components/Chip/Chip.js +11 -2
- package/build/lib/web/production/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/production/components/Chip/ChipGroup.js +5 -2
- package/build/lib/web/production/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/web/production/components/Chip/chipTokens.js +1 -1
- package/build/lib/web/production/components/Chip/chipTokens.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/Collapsible.js +6 -3
- package/build/lib/web/production/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/commonStyles.js +2 -2
- package/build/lib/web/production/components/Collapsible/commonStyles.js.map +1 -1
- package/build/lib/web/production/components/Counter/Counter.js +4 -2
- package/build/lib/web/production/components/Counter/Counter.js.map +1 -1
- package/build/lib/web/production/components/Divider/Divider.js +4 -2
- package/build/lib/web/production/components/Divider/Divider.js.map +1 -1
- package/build/lib/web/production/components/Drawer/Drawer.web.js +4 -4
- package/build/lib/web/production/components/Drawer/Drawer.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -3
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Fade/Fade.web.js +62 -0
- package/build/lib/web/production/components/Fade/Fade.web.js.map +1 -0
- package/build/lib/web/production/components/Fade/index.js +2 -0
- package/build/lib/web/production/components/Fade/index.js.map +1 -0
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js +11 -2
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/fileUploadTokens.js +1 -1
- package/build/lib/web/production/components/FileUpload/fileUploadTokens.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js.map +1 -1
- package/build/lib/web/production/components/Indicator/Indicator.js +4 -2
- package/build/lib/web/production/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +3 -3
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +21 -7
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +2 -2
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/web/production/components/Link/BaseLink/BaseLink.js +1 -1
- package/build/lib/web/production/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/web/production/components/List/List.js +5 -3
- package/build/lib/web/production/components/List/List.js.map +1 -1
- package/build/lib/web/production/components/Modal/Modal.web.js +2 -2
- package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalBackdrop.js +2 -2
- package/build/lib/web/production/components/Modal/ModalBackdrop.js.map +1 -1
- package/build/lib/web/production/components/Morph/Morph.web.js +48 -0
- package/build/lib/web/production/components/Morph/Morph.web.js.map +1 -0
- package/build/lib/web/production/components/Morph/index.js +2 -0
- package/build/lib/web/production/components/Morph/index.js.map +1 -0
- package/build/lib/web/production/components/Move/Move.web.js +66 -0
- package/build/lib/web/production/components/Move/Move.web.js.map +1 -0
- package/build/lib/web/production/components/Move/index.js +2 -0
- package/build/lib/web/production/components/Move/index.js.map +1 -0
- package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js +1 -1
- package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js.map +1 -1
- package/build/lib/web/production/components/ProgressBar/ProgressBar.js +8 -4
- package/build/lib/web/production/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/web/production/components/Radio/Radio.js +13 -3
- package/build/lib/web/production/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/production/components/Radio/RadioIcon/Fade.web.js +3 -3
- package/build/lib/web/production/components/Radio/RadioIcon/Fade.web.js.map +1 -1
- package/build/lib/web/production/components/Radio/RadioIcon/RadioIconWrapperStyles.js +1 -1
- package/build/lib/web/production/components/Radio/RadioIcon/RadioIconWrapperStyles.js.map +1 -1
- package/build/lib/web/production/components/Scale/Scale.web.js +47 -0
- package/build/lib/web/production/components/Scale/Scale.web.js.map +1 -0
- package/build/lib/web/production/components/Scale/index.js +2 -0
- package/build/lib/web/production/components/Scale/index.js.map +1 -0
- package/build/lib/web/production/components/SideNav/SideNav.web.js +7 -5
- package/build/lib/web/production/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/tokens.js +1 -1
- package/build/lib/web/production/components/SideNav/tokens.js.map +1 -1
- package/build/lib/web/production/components/Skeleton/PulseAnimation.web.js +1 -1
- package/build/lib/web/production/components/Skeleton/PulseAnimation.web.js.map +1 -1
- package/build/lib/web/production/components/Skeleton/Skeleton.js +4 -1
- package/build/lib/web/production/components/Skeleton/Skeleton.js.map +1 -1
- package/build/lib/web/production/components/Slide/Slide.web.js +119 -0
- package/build/lib/web/production/components/Slide/Slide.web.js.map +1 -0
- package/build/lib/web/production/components/Slide/index.js +2 -0
- package/build/lib/web/production/components/Slide/index.js.map +1 -0
- package/build/lib/web/production/components/Spinner/BaseSpinner/BaseSpinner.js +6 -3
- package/build/lib/web/production/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
- package/build/lib/web/production/components/Spinner/BaseSpinner/spinnerTokens.js +1 -1
- package/build/lib/web/production/components/Spinner/BaseSpinner/spinnerTokens.js.map +1 -1
- package/build/lib/web/production/components/Spinner/Spinner/Spinner.js +4 -1
- package/build/lib/web/production/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js +2 -2
- package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
- package/build/lib/web/production/components/Stagger/StaggerProvider.js +13 -0
- package/build/lib/web/production/components/Stagger/StaggerProvider.js.map +1 -0
- package/build/lib/web/production/components/StepGroup/StepGroup.web.js +5 -3
- package/build/lib/web/production/components/StepGroup/StepGroup.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/StepItem.web.js +1 -1
- package/build/lib/web/production/components/StepGroup/StepItem.web.js.map +1 -1
- package/build/lib/web/production/components/Switch/AnimatedThumbIcon.web.js +1 -1
- package/build/lib/web/production/components/Switch/AnimatedThumbIcon.web.js.map +1 -1
- package/build/lib/web/production/components/Switch/Switch.js +13 -3
- package/build/lib/web/production/components/Switch/Switch.js.map +1 -1
- package/build/lib/web/production/components/Switch/getTrackStyles.js +1 -1
- package/build/lib/web/production/components/Switch/getTrackStyles.js.map +1 -1
- package/build/lib/web/production/components/Switch/switchTokens.js +6 -6
- package/build/lib/web/production/components/Switch/switchTokens.js.map +1 -1
- package/build/lib/web/production/components/Table/Table.web.js +4 -2
- package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/production/components/Table/tokens.js +2 -2
- package/build/lib/web/production/components/Table/tokens.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabIndicator.web.js +1 -1
- package/build/lib/web/production/components/Tabs/TabIndicator.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabItem.web.js +2 -2
- package/build/lib/web/production/components/Tabs/TabItem.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/Tabs.web.js +34 -1
- package/build/lib/web/production/components/Tabs/Tabs.web.js.map +1 -1
- package/build/lib/web/production/components/Tag/AnimatedTag.web.js +2 -2
- package/build/lib/web/production/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/lib/web/production/components/Tag/Tag.js +31 -29
- package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/production/components/Toast/Toast.web.js +2 -2
- package/build/lib/web/production/components/Toast/Toast.web.js.map +1 -1
- package/build/lib/web/production/components/Toast/ToastContainer.web.js +1 -1
- package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js +2 -2
- package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
- package/build/lib/web/production/components/TopNav/TopNav.web.js +4 -2
- package/build/lib/web/production/components/TopNav/TopNav.web.js.map +1 -1
- package/build/lib/web/production/components/Typography/Code/Code.js +30 -27
- package/build/lib/web/production/components/Typography/Code/Code.js.map +1 -1
- package/build/lib/web/production/components/Typography/Display/Display.js +6 -2
- package/build/lib/web/production/components/Typography/Display/Display.js.map +1 -1
- package/build/lib/web/production/components/Typography/Heading/Heading.js +4 -1
- package/build/lib/web/production/components/Typography/Heading/Heading.js.map +1 -1
- package/build/lib/web/production/components/Typography/Text/Text.js +6 -10
- package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/production/components/index.js +10 -0
- package/build/lib/web/production/components/index.js.map +1 -1
- package/build/lib/web/production/tokens/global/motion.js +22 -28
- package/build/lib/web/production/tokens/global/motion.js.map +1 -1
- package/build/lib/web/production/utils/cssBezierToArray.js +12 -0
- package/build/lib/web/production/utils/cssBezierToArray.js.map +1 -0
- package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -1
- package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
- package/build/lib/web/production/utils/getMotionRefs.js +86 -0
- package/build/lib/web/production/utils/getMotionRefs.js.map +1 -0
- package/build/lib/web/production/utils/msToSeconds.js +6 -0
- package/build/lib/web/production/utils/msToSeconds.js.map +1 -0
- package/build/types/components/index.d.ts +17967 -5488
- package/build/types/components/index.native.d.ts +7923 -2158
- package/build/types/tokens/index.d.ts +103 -93
- package/build/types/tokens/index.native.d.ts +103 -93
- package/build/types/utils/index.d.ts +84 -71
- package/build/types/utils/index.native.d.ts +84 -71
- package/codemods/migrate-motion-tokens/transformers/__tests__/migrate-motion-tokens.test.ts +130 -0
- package/codemods/migrate-motion-tokens/transformers/index.ts +1 -0
- package/codemods/migrate-motion-tokens/transformers/migrate-motion.ts +24 -0
- package/codemods/migrate-motion-tokens/transformers/motionTokenMapping.json +11 -0
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseButton.js","sources":["../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography } from './buttonTokens';\nimport {\n textColor,\n backgroundColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?: 'primary' | 'white' | 'positive' | 'negative' | 'notice' | 'information' | 'neutral';\n} & TestID &\n StyledPropsBlade &\n BladeCommonEvents;\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'focus' | 'disabled';\n color: BaseButtonProps['color'];\n};\n\nconst getRenderElement = (href?: string): 'a' | 'button' | undefined => {\n if (isReactNative()) {\n return undefined; // as property doesn't work with react native\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n};\n\nexport const getBackgroundColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'background' | 'border';\n}): DotNotationToken<Theme['colors']> => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokens = backgroundColor(property);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getTextColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'icon' | 'text';\n}): DotNotationToken<Theme['colors']> => {\n const tokens = textColor(property);\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n childrenString?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n color: BaseButtonProps['color'];\n}): BaseButtonStyleProps => {\n if (variant === 'tertiary' && color !== 'primary' && color !== 'white') {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n const props: BaseButtonStyleProps = {\n iconSize: isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size],\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n height: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n width: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n iconPadding:\n hasIcon && childrenString?.trim() ? `spacing.${buttonIconPadding[size]}` : undefined,\n iconColor: getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'default',\n }) as IconColor,\n textColor: getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly ? makeSpace(0) : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: childrenString?.trim(),\n defaultBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'default' }),\n ),\n defaultBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'default' }),\n ),\n hoverBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'hover' }),\n ),\n hoverBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'hover' }),\n ),\n focusBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'focus' }),\n ),\n focusBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'focus' }),\n ),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderWidth: variant == 'secondary' ? makeBorderSize(theme.border.width.thin) : '0px',\n borderRadius: makeBorderSize(theme.border.radius.medium),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard.effective',\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'disabled' }),\n );\n const disabledBorderColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'disabled' }),\n );\n props.iconColor = getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBorderColor = disabledBorderColor;\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBorderColor = disabledBorderColor;\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBorderColor = disabledBorderColor;\n }\n\n return props;\n};\n\nconst ButtonContent = styled(BaseBox)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst _BaseButton: React.ForwardRefRenderFunction<BladeElementRef, BaseButtonProps> = (\n {\n href,\n target,\n rel,\n tabIndex,\n id,\n variant = 'primary',\n color = 'primary',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n type = 'button',\n children,\n testID,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n accessibilityProps,\n onTouchEnd,\n onTouchStart,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n const disabled = buttonGroupProps.isDisabled ?? (isLoading || (isDisabled && !isLink));\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={variant}\n isLoading={isLoading}\n disabled={disabled}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner accessibilityLabel=\"Loading\" size={spinnerSize} color={color} />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox\n paddingLeft={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref","property","variant","state","color","_state","tokens","backgroundColor","white","Error","base","getTextColorToken","_ref2","textColor","getProps","_ref3","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","props","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconPadding","buttonIconPadding","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","getIn","colors","defaultBorderColor","hoverBackgroundColor","hoverBorderColor","focusBackgroundColor","focusBorderColor","focusRingColor","borderWidth","makeBorderSize","border","thin","borderRadius","radius","medium","motionDuration","motionEasing","disabledBackgroundColor","disabledBorderColor","ButtonContent","styled","BaseBox","_ref4","isHidden","opacity","_BaseButton","_ref5","ref","_buttonGroupProps$isD","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_accessibilityProps$r","_buttonGroupProps$isF","target","rel","tabIndex","id","_ref5$variant","_ref5$color","_ref5$size","Icon","icon","_ref5$iconPosition","iconPosition","_ref5$isDisabled","_ref5$isFullWidth","isFullWidth","_ref5$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref5$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","__DEV__","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","Object","assign","as","makeAccessible","role","event","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","paddingRight","BaseText","fontWeight","textAlign","paddingLeft","BaseButton","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseButton.js","sources":["../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography } from './buttonTokens';\nimport {\n textColor,\n backgroundColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?: 'primary' | 'white' | 'positive' | 'negative' | 'notice' | 'information' | 'neutral';\n} & TestID &\n StyledPropsBlade &\n BladeCommonEvents;\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'focus' | 'disabled';\n color: BaseButtonProps['color'];\n};\n\nconst getRenderElement = (href?: string): 'a' | 'button' | undefined => {\n if (isReactNative()) {\n return undefined; // as property doesn't work with react native\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n};\n\nexport const getBackgroundColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'background' | 'border';\n}): DotNotationToken<Theme['colors']> => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokens = backgroundColor(property);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getTextColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'icon' | 'text';\n}): DotNotationToken<Theme['colors']> => {\n const tokens = textColor(property);\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n childrenString?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n color: BaseButtonProps['color'];\n}): BaseButtonStyleProps => {\n if (variant === 'tertiary' && color !== 'primary' && color !== 'white') {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n const props: BaseButtonStyleProps = {\n iconSize: isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size],\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n height: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n width: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n iconPadding:\n hasIcon && childrenString?.trim() ? `spacing.${buttonIconPadding[size]}` : undefined,\n iconColor: getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'default',\n }) as IconColor,\n textColor: getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly ? makeSpace(0) : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: childrenString?.trim(),\n defaultBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'default' }),\n ),\n defaultBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'default' }),\n ),\n hoverBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'hover' }),\n ),\n hoverBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'hover' }),\n ),\n focusBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'focus' }),\n ),\n focusBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'focus' }),\n ),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderWidth: variant == 'secondary' ? makeBorderSize(theme.border.width.thin) : '0px',\n borderRadius: makeBorderSize(theme.border.radius.medium),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard',\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'disabled' }),\n );\n const disabledBorderColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'disabled' }),\n );\n props.iconColor = getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBorderColor = disabledBorderColor;\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBorderColor = disabledBorderColor;\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBorderColor = disabledBorderColor;\n }\n\n return props;\n};\n\nconst ButtonContent = styled(BaseBox)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst _BaseButton: React.ForwardRefRenderFunction<BladeElementRef, BaseButtonProps> = (\n {\n href,\n target,\n rel,\n tabIndex,\n id,\n variant = 'primary',\n color = 'primary',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n type = 'button',\n children,\n testID,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n accessibilityProps,\n onTouchEnd,\n onTouchStart,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n const disabled = buttonGroupProps.isDisabled ?? (isLoading || (isDisabled && !isLink));\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={variant}\n isLoading={isLoading}\n disabled={disabled}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner accessibilityLabel=\"Loading\" size={spinnerSize} color={color} />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox\n paddingLeft={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref","property","variant","state","color","_state","tokens","backgroundColor","white","Error","base","getTextColorToken","_ref2","textColor","getProps","_ref3","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","props","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconPadding","buttonIconPadding","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","getIn","colors","defaultBorderColor","hoverBackgroundColor","hoverBorderColor","focusBackgroundColor","focusBorderColor","focusRingColor","borderWidth","makeBorderSize","border","thin","borderRadius","radius","medium","motionDuration","motionEasing","disabledBackgroundColor","disabledBorderColor","ButtonContent","styled","BaseBox","_ref4","isHidden","opacity","_BaseButton","_ref5","ref","_buttonGroupProps$isD","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_accessibilityProps$r","_buttonGroupProps$isF","target","rel","tabIndex","id","_ref5$variant","_ref5$color","_ref5$size","Icon","icon","_ref5$iconPosition","iconPosition","_ref5$isDisabled","_ref5$isFullWidth","isFullWidth","_ref5$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref5$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","__DEV__","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","Object","assign","as","makeAccessible","role","event","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","paddingRight","BaseText","fontWeight","textAlign","paddingLeft","BaseButton","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ import { useVerifyAllowedChildren } from '../../utils/useVerifyAllowedChildren/u
|
|
|
21
21
|
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
22
22
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
23
23
|
|
|
24
|
-
var _excluded=["children","backgroundColor","borderRadius","elevation","testID","padding","width","height","minHeight","minWidth","onClick","isSelected","accessibilityLabel","shouldScaleOnHover","onHover","href","target","rel","as"],_excluded2=["height","children","testID"];var ComponentIds={CardHeader:'CardHeader',CardHeaderTrailing:'CardHeaderTrailing',CardHeaderLeading:'CardHeaderLeading',CardFooter:'CardFooter',CardFooterTrailing:'CardFooterTrailing',CardFooterLeading:'CardFooterLeading',CardBody:'CardBody',CardHeaderIcon:'CardHeaderIcon',CardHeaderCounter:'CardHeaderCounter',CardHeaderBadge:'CardHeaderBadge',CardHeaderAmount:'CardHeaderAmount',CardHeaderText:'CardHeaderText',CardHeaderLink:'CardHeaderLink',CardHeaderIconButton:'CardHeaderIconButton'};var
|
|
24
|
+
var _excluded=["children","backgroundColor","borderRadius","elevation","testID","padding","width","height","minHeight","minWidth","onClick","isSelected","accessibilityLabel","shouldScaleOnHover","onHover","href","target","rel","as"],_excluded2=["height","children","testID"];var ComponentIds={CardHeader:'CardHeader',CardHeaderTrailing:'CardHeaderTrailing',CardHeaderLeading:'CardHeaderLeading',CardFooter:'CardFooter',CardFooterTrailing:'CardFooterTrailing',CardFooterLeading:'CardFooterLeading',CardBody:'CardBody',CardHeaderIcon:'CardHeaderIcon',CardHeaderCounter:'CardHeaderCounter',CardHeaderBadge:'CardHeaderBadge',CardHeaderAmount:'CardHeaderAmount',CardHeaderText:'CardHeaderText',CardHeaderLink:'CardHeaderLink',CardHeaderIconButton:'CardHeaderIconButton'};var _Card=function _Card(_ref,ref){var children=_ref.children,_ref$backgroundColor=_ref.backgroundColor,backgroundColor=_ref$backgroundColor===void 0?'surface.background.gray.intense':_ref$backgroundColor,_ref$borderRadius=_ref.borderRadius,borderRadius=_ref$borderRadius===void 0?'medium':_ref$borderRadius,_ref$elevation=_ref.elevation,elevation=_ref$elevation===void 0?'lowRaised':_ref$elevation,testID=_ref.testID,_ref$padding=_ref.padding,padding=_ref$padding===void 0?'spacing.7':_ref$padding,width=_ref.width,height=_ref.height,minHeight=_ref.minHeight,minWidth=_ref.minWidth,onClick=_ref.onClick,_ref$isSelected=_ref.isSelected,isSelected=_ref$isSelected===void 0?false:_ref$isSelected,accessibilityLabel=_ref.accessibilityLabel,_ref$shouldScaleOnHov=_ref.shouldScaleOnHover,shouldScaleOnHover=_ref$shouldScaleOnHov===void 0?false:_ref$shouldScaleOnHov,onHover=_ref.onHover,href=_ref.href,target=_ref.target,rel=_ref.rel,as=_ref.as,rest=_objectWithoutProperties(_ref,_excluded);var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isFocused=_React$useState2[0],setIsFocused=_React$useState2[1];useVerifyAllowedChildren({children:children,componentName:'Card',allowedComponents:[ComponentIds.CardHeader,ComponentIds.CardBody,ComponentIds.CardFooter]});var linkOverlayProps=Object.assign({},metaAttribute({name:CARD_LINK_OVERLAY_ID}),makeAccessible({label:accessibilityLabel,pressed:isSelected}),{onFocus:function onFocus(){setIsFocused(true);},onBlur:function onBlur(){setIsFocused(false);}});var defaultRel=target&&target==='_blank'?'noreferrer noopener':undefined;return jsx(CardProvider,{children:jsx(CardRoot,Object.assign({as:as,ref:ref,display:'block',borderRadius:"medium",onMouseEnter:onHover,shouldScaleOnHover:shouldScaleOnHover,isSelected:isSelected,isFocused:isFocused,onClick:isReactNative()?onClick:undefined,width:width,height:height,minHeight:minHeight,minWidth:minWidth,href:href,accessibilityLabel:accessibilityLabel},metaAttribute({name:MetaConstants.Card,testID:testID}),getStyledProps(rest),makeAnalyticsAttribute(rest),{children:jsxs(CardSurface,{height:height,minHeight:minHeight,padding:padding,borderRadius:borderRadius,elevation:elevation,textAlign:'left',backgroundColor:backgroundColor,children:[href?jsx(LinkOverlay,Object.assign({onClick:onClick,href:href,target:target,rel:rel!=null?rel:defaultRel},linkOverlayProps)):null,!href&&onClick?jsx(LinkOverlay,Object.assign({as:"button",onClick:onClick},linkOverlayProps)):null,children]})}))});};var _CardBody=function _CardBody(_ref2){var height=_ref2.height,children=_ref2.children,testID=_ref2.testID,rest=_objectWithoutProperties(_ref2,_excluded2);useVerifyInsideCard('CardBody');return jsx(BaseBox,Object.assign({},metaAttribute({name:MetaConstants.CardBody,testID:testID}),makeAnalyticsAttribute(rest),{height:height,children:children}));};var Card=React__default.forwardRef(_Card);var CardBody=assignWithoutSideEffects(_CardBody,{componentId:ComponentIds.CardBody});
|
|
25
25
|
|
|
26
26
|
export { Card, CardBody, ComponentIds };
|
|
27
27
|
//# sourceMappingURL=Card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sources":["../../../../../src/components/Card/Card.tsx"],"sourcesContent":["import React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { CardSurface } from './CardSurface';\nimport { CardProvider, useVerifyInsideCard } from './CardContext';\nimport { LinkOverlay } from './LinkOverlay';\nimport { CardRoot } from './CardRoot';\nimport type { CardSpacingValueType, LinkOverlayProps } from './types';\nimport { CARD_LINK_OVERLAY_ID } from './constants';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { Elevation } from '~tokens/global';\nimport type { BoxProps } from '~components/Box';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nexport const ComponentIds = {\n CardHeader: 'CardHeader',\n CardHeaderTrailing: 'CardHeaderTrailing',\n CardHeaderLeading: 'CardHeaderLeading',\n CardFooter: 'CardFooter',\n CardFooterTrailing: 'CardFooterTrailing',\n CardFooterLeading: 'CardFooterLeading',\n CardBody: 'CardBody',\n CardHeaderIcon: 'CardHeaderIcon',\n CardHeaderCounter: 'CardHeaderCounter',\n CardHeaderBadge: 'CardHeaderBadge',\n CardHeaderAmount: 'CardHeaderAmount',\n CardHeaderText: 'CardHeaderText',\n CardHeaderLink: 'CardHeaderLink',\n CardHeaderIconButton: 'CardHeaderIconButton',\n};\n\ntype CardSurfaceBackgroundColors = `surface.background.gray.${DotNotationToken<\n Theme['colors']['surface']['background']['gray']\n>}`;\n\nexport type CardProps = {\n /**\n * Card contents\n */\n children: React.ReactNode;\n /**\n * Sets the background color of the Card\n *\n * @default `surface.background.gray.intense`\n */\n backgroundColor?: CardSurfaceBackgroundColors;\n /**\n * Sets the border radius of the Card\n *\n * @default `medium`\n */\n borderRadius?: Extract<BoxProps['borderRadius'], 'medium' | 'large' | 'xlarge'>;\n /**\n * Sets the elevation for Cards\n *\n * eg: `theme.elevation.midRaised`\n *\n * @default `theme.elevation.lowRaised`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-elevation--docs\n */\n elevation?: keyof Elevation;\n /**\n * Sets the padding equally on all sides. Only few `spacing` tokens are allowed deliberately\n * @default `spacing.7`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-spacing--docs\n */\n padding?: CardSpacingValueType;\n /**\n * Sets the width of the card\n */\n width?: BoxProps['width'];\n /**\n * Sets the height of the card\n */\n height?: BoxProps['height'];\n /**\n * Sets minimum height of the card\n */\n minHeight?: BoxProps['minHeight'];\n /**\n * Sets minimum width of the card\n */\n minWidth?: BoxProps['minWidth'];\n /**\n * If `true`, the card will be in selected state\n * Card will have a primary color border around it.\n *\n * @default false\n */\n\n isSelected?: boolean;\n /**\n * Makes the Card linkable by setting the `href` prop\n *\n * @default undefined\n */\n href?: string;\n /**\n * Sets the `target` attribute for the linkable card\n */\n target?: string;\n /**\n * Sets the `rel` attribute for the linkable card\n */\n rel?: string;\n /**\n * Sets the accessibility label for the card\n * This is useful when the card has an `href` or `onClick` prop\n * Setting this will announce the label when the card is focused\n */\n accessibilityLabel?: string;\n /**\n * If `true`, the card will scale up on hover\n *\n * On mobile devices it will scale down on press\n *\n * @default false\n */\n shouldScaleOnHover?: boolean;\n /**\n * Callback triggered when the card is hovered\n */\n onHover?: () => void;\n /**\n * Callback triggered when the card is clicked\n */\n onClick?: (\n event: Platform.Select<{\n web: React.MouseEvent;\n native: GestureResponderEvent;\n }>,\n ) => void;\n /**\n * Sets the HTML element for the Card\n *\n * When `as` is set to `label`, the card will be rendered as a label element\n * This can be used to create a custom checkbox or radio button using the card\n *\n * @default undefined\n */\n as?: 'label';\n} & TestID &\n DataAnalyticsAttribute &\n StyledPropsBlade;\n\nconst Card = ({\n children,\n backgroundColor = 'surface.background.gray.intense',\n borderRadius = 'medium',\n elevation = 'lowRaised',\n testID,\n padding = 'spacing.7',\n width,\n height,\n minHeight,\n minWidth,\n onClick,\n isSelected = false,\n accessibilityLabel,\n shouldScaleOnHover = false,\n onHover,\n href,\n target,\n rel,\n as,\n ...rest\n}: CardProps): React.ReactElement => {\n const [isFocused, setIsFocused] = React.useState(false);\n\n useVerifyAllowedChildren({\n children,\n componentName: 'Card',\n allowedComponents: [ComponentIds.CardHeader, ComponentIds.CardBody, ComponentIds.CardFooter],\n });\n\n const linkOverlayProps: LinkOverlayProps = {\n ...metaAttribute({ name: CARD_LINK_OVERLAY_ID }),\n ...makeAccessible({ label: accessibilityLabel, pressed: isSelected }),\n onFocus: () => {\n setIsFocused(true);\n },\n onBlur: () => {\n setIsFocused(false);\n },\n };\n const defaultRel = target && target === '_blank' ? 'noreferrer noopener' : undefined;\n\n return (\n <CardProvider>\n <CardRoot\n as={as}\n display={'block' as never}\n borderRadius=\"medium\"\n onMouseEnter={onHover as never}\n shouldScaleOnHover={shouldScaleOnHover}\n isSelected={isSelected}\n isFocused={isFocused}\n // on react native we need to pass onClick to root, because we don't need the LinkOverlay in RN\n onClick={isReactNative() ? onClick : undefined}\n width={width}\n height={height}\n minHeight={minHeight}\n minWidth={minWidth}\n href={href}\n accessibilityLabel={accessibilityLabel}\n {...metaAttribute({ name: MetaConstants.Card, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <CardSurface\n height={height}\n minHeight={minHeight}\n padding={padding}\n borderRadius={borderRadius}\n elevation={elevation}\n textAlign={'left' as never}\n backgroundColor={backgroundColor}\n >\n {href ? (\n <LinkOverlay\n onClick={onClick}\n href={href}\n target={target}\n rel={rel ?? defaultRel}\n {...linkOverlayProps}\n />\n ) : null}\n {!href && onClick ? (\n <LinkOverlay as=\"button\" onClick={onClick} {...linkOverlayProps} />\n ) : null}\n {children}\n </CardSurface>\n </CardRoot>\n </CardProvider>\n );\n};\n\ntype CardBodyProps = {\n children: React.ReactNode;\n height?: BoxProps['height'];\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardBody = ({ height, children, testID, ...rest }: CardBodyProps): React.ReactElement => {\n useVerifyInsideCard('CardBody');\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.CardBody, testID })}\n {...makeAnalyticsAttribute(rest)}\n height={height}\n >\n {children}\n </BaseBox>\n );\n};\n\nconst CardBody = assignWithoutSideEffects(_CardBody, { componentId: ComponentIds.CardBody });\n\nexport { Card, CardBody };\n"],"names":["ComponentIds","CardHeader","CardHeaderTrailing","CardHeaderLeading","CardFooter","CardFooterTrailing","CardFooterLeading","CardBody","CardHeaderIcon","CardHeaderCounter","CardHeaderBadge","CardHeaderAmount","CardHeaderText","CardHeaderLink","CardHeaderIconButton","Card","_ref","children","_ref$backgroundColor","backgroundColor","_ref$borderRadius","borderRadius","_ref$elevation","elevation","testID","_ref$padding","padding","width","height","minHeight","minWidth","onClick","_ref$isSelected","isSelected","accessibilityLabel","_ref$shouldScaleOnHov","shouldScaleOnHover","onHover","href","target","rel","as","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","isFocused","setIsFocused","useVerifyAllowedChildren","componentName","allowedComponents","linkOverlayProps","Object","assign","metaAttribute","name","CARD_LINK_OVERLAY_ID","makeAccessible","label","pressed","onFocus","onBlur","defaultRel","undefined","_jsx","CardProvider","CardRoot","display","onMouseEnter","isReactNative","MetaConstants","getStyledProps","makeAnalyticsAttribute","_jsxs","CardSurface","textAlign","LinkOverlay","_CardBody","_ref2","_excluded2","useVerifyInsideCard","BaseBox","assignWithoutSideEffects","componentId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Card.js","sources":["../../../../../src/components/Card/Card.tsx"],"sourcesContent":["import React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { CardSurface } from './CardSurface';\nimport { CardProvider, useVerifyInsideCard } from './CardContext';\nimport { LinkOverlay } from './LinkOverlay';\nimport { CardRoot } from './CardRoot';\nimport type { CardSpacingValueType, LinkOverlayProps } from './types';\nimport { CARD_LINK_OVERLAY_ID } from './constants';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport type { DataAnalyticsAttribute, BladeElementRef, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { Elevation } from '~tokens/global';\nimport type { BoxProps } from '~components/Box';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nexport const ComponentIds = {\n CardHeader: 'CardHeader',\n CardHeaderTrailing: 'CardHeaderTrailing',\n CardHeaderLeading: 'CardHeaderLeading',\n CardFooter: 'CardFooter',\n CardFooterTrailing: 'CardFooterTrailing',\n CardFooterLeading: 'CardFooterLeading',\n CardBody: 'CardBody',\n CardHeaderIcon: 'CardHeaderIcon',\n CardHeaderCounter: 'CardHeaderCounter',\n CardHeaderBadge: 'CardHeaderBadge',\n CardHeaderAmount: 'CardHeaderAmount',\n CardHeaderText: 'CardHeaderText',\n CardHeaderLink: 'CardHeaderLink',\n CardHeaderIconButton: 'CardHeaderIconButton',\n};\n\ntype CardSurfaceBackgroundColors = `surface.background.gray.${DotNotationToken<\n Theme['colors']['surface']['background']['gray']\n>}`;\n\nexport type CardProps = {\n /**\n * Card contents\n */\n children: React.ReactNode;\n /**\n * Sets the background color of the Card\n *\n * @default `surface.background.gray.intense`\n */\n backgroundColor?: CardSurfaceBackgroundColors;\n /**\n * Sets the border radius of the Card\n *\n * @default `medium`\n */\n borderRadius?: Extract<BoxProps['borderRadius'], 'medium' | 'large' | 'xlarge'>;\n /**\n * Sets the elevation for Cards\n *\n * eg: `theme.elevation.midRaised`\n *\n * @default `theme.elevation.lowRaised`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-elevation--docs\n */\n elevation?: keyof Elevation;\n /**\n * Sets the padding equally on all sides. Only few `spacing` tokens are allowed deliberately\n * @default `spacing.7`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-spacing--docs\n */\n padding?: CardSpacingValueType;\n /**\n * Sets the width of the card\n */\n width?: BoxProps['width'];\n /**\n * Sets the height of the card\n */\n height?: BoxProps['height'];\n /**\n * Sets minimum height of the card\n */\n minHeight?: BoxProps['minHeight'];\n /**\n * Sets minimum width of the card\n */\n minWidth?: BoxProps['minWidth'];\n /**\n * If `true`, the card will be in selected state\n * Card will have a primary color border around it.\n *\n * @default false\n */\n\n isSelected?: boolean;\n /**\n * Makes the Card linkable by setting the `href` prop\n *\n * @default undefined\n */\n href?: string;\n /**\n * Sets the `target` attribute for the linkable card\n */\n target?: string;\n /**\n * Sets the `rel` attribute for the linkable card\n */\n rel?: string;\n /**\n * Sets the accessibility label for the card\n * This is useful when the card has an `href` or `onClick` prop\n * Setting this will announce the label when the card is focused\n */\n accessibilityLabel?: string;\n /**\n * If `true`, the card will scale up on hover\n *\n * On mobile devices it will scale down on press\n *\n * **This prop is deprecated in favour of motion presets released in v12**\n *\n * ### Migration\n *\n * ```diff\n * - <Card\n * - shouldScaleOnHover\n * - />\n *\n * + <Scale motionTriggers={['hover']}>\n * + <Card />\n * + </Scale>\n * ```\n *\n * @default false\n *\n * @deprecated This prop is deprecated in favour of motion presets released in v12\n */\n shouldScaleOnHover?: boolean;\n /**\n * Callback triggered when the card is hovered\n */\n onHover?: () => void;\n /**\n * Callback triggered when the card is clicked\n */\n onClick?: (\n event: Platform.Select<{\n web: React.MouseEvent;\n native: GestureResponderEvent;\n }>,\n ) => void;\n /**\n * Sets the HTML element for the Card\n *\n * When `as` is set to `label`, the card will be rendered as a label element\n * This can be used to create a custom checkbox or radio button using the card\n *\n * @default undefined\n */\n as?: 'label';\n} & TestID &\n DataAnalyticsAttribute &\n StyledPropsBlade;\n\nconst _Card: React.ForwardRefRenderFunction<BladeElementRef, CardProps> = (\n {\n children,\n backgroundColor = 'surface.background.gray.intense',\n borderRadius = 'medium',\n elevation = 'lowRaised',\n testID,\n padding = 'spacing.7',\n width,\n height,\n minHeight,\n minWidth,\n onClick,\n isSelected = false,\n accessibilityLabel,\n shouldScaleOnHover = false,\n onHover,\n href,\n target,\n rel,\n as,\n ...rest\n },\n ref,\n): React.ReactElement => {\n const [isFocused, setIsFocused] = React.useState(false);\n\n useVerifyAllowedChildren({\n children,\n componentName: 'Card',\n allowedComponents: [ComponentIds.CardHeader, ComponentIds.CardBody, ComponentIds.CardFooter],\n });\n\n const linkOverlayProps: LinkOverlayProps = {\n ...metaAttribute({ name: CARD_LINK_OVERLAY_ID }),\n ...makeAccessible({ label: accessibilityLabel, pressed: isSelected }),\n onFocus: () => {\n setIsFocused(true);\n },\n onBlur: () => {\n setIsFocused(false);\n },\n };\n const defaultRel = target && target === '_blank' ? 'noreferrer noopener' : undefined;\n\n return (\n <CardProvider>\n <CardRoot\n as={as}\n ref={ref as never}\n display={'block' as never}\n borderRadius=\"medium\"\n onMouseEnter={onHover as never}\n shouldScaleOnHover={shouldScaleOnHover}\n isSelected={isSelected}\n isFocused={isFocused}\n // on react native we need to pass onClick to root, because we don't need the LinkOverlay in RN\n onClick={isReactNative() ? onClick : undefined}\n width={width}\n height={height}\n minHeight={minHeight}\n minWidth={minWidth}\n href={href}\n accessibilityLabel={accessibilityLabel}\n {...metaAttribute({ name: MetaConstants.Card, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <CardSurface\n height={height}\n minHeight={minHeight}\n padding={padding}\n borderRadius={borderRadius}\n elevation={elevation}\n textAlign={'left' as never}\n backgroundColor={backgroundColor}\n >\n {href ? (\n <LinkOverlay\n onClick={onClick}\n href={href}\n target={target}\n rel={rel ?? defaultRel}\n {...linkOverlayProps}\n />\n ) : null}\n {!href && onClick ? (\n <LinkOverlay as=\"button\" onClick={onClick} {...linkOverlayProps} />\n ) : null}\n {children}\n </CardSurface>\n </CardRoot>\n </CardProvider>\n );\n};\n\ntype CardBodyProps = {\n children: React.ReactNode;\n height?: BoxProps['height'];\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardBody = ({ height, children, testID, ...rest }: CardBodyProps): React.ReactElement => {\n useVerifyInsideCard('CardBody');\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.CardBody, testID })}\n {...makeAnalyticsAttribute(rest)}\n height={height}\n >\n {children}\n </BaseBox>\n );\n};\n\nconst Card = React.forwardRef(_Card);\nconst CardBody = assignWithoutSideEffects(_CardBody, { componentId: ComponentIds.CardBody });\n\nexport { Card, CardBody };\n"],"names":["ComponentIds","CardHeader","CardHeaderTrailing","CardHeaderLeading","CardFooter","CardFooterTrailing","CardFooterLeading","CardBody","CardHeaderIcon","CardHeaderCounter","CardHeaderBadge","CardHeaderAmount","CardHeaderText","CardHeaderLink","CardHeaderIconButton","_Card","_ref","ref","children","_ref$backgroundColor","backgroundColor","_ref$borderRadius","borderRadius","_ref$elevation","elevation","testID","_ref$padding","padding","width","height","minHeight","minWidth","onClick","_ref$isSelected","isSelected","accessibilityLabel","_ref$shouldScaleOnHov","shouldScaleOnHover","onHover","href","target","rel","as","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","isFocused","setIsFocused","useVerifyAllowedChildren","componentName","allowedComponents","linkOverlayProps","Object","assign","metaAttribute","name","CARD_LINK_OVERLAY_ID","makeAccessible","label","pressed","onFocus","onBlur","defaultRel","undefined","_jsx","CardProvider","CardRoot","display","onMouseEnter","isReactNative","MetaConstants","Card","getStyledProps","makeAnalyticsAttribute","_jsxs","CardSurface","textAlign","LinkOverlay","_CardBody","_ref2","_excluded2","useVerifyInsideCard","BaseBox","forwardRef","assignWithoutSideEffects","componentId"],"mappings":"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"}
|
|
@@ -5,22 +5,18 @@ import { ComponentIds } from './Card.js';
|
|
|
5
5
|
import Button from '../Button/Button/Button.js';
|
|
6
6
|
import { Divider } from '../Divider/Divider.js';
|
|
7
7
|
import { BaseBox } from '../Box/BaseBox/BaseBox.native.js';
|
|
8
|
-
import '../Typography/
|
|
9
|
-
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
10
|
-
import '@babel/runtime/helpers/slicedToArray';
|
|
11
|
-
import 'react-native';
|
|
12
|
-
import '../../tokens/global/typography.js';
|
|
13
|
-
import '../../tokens/global/motion.js';
|
|
14
|
-
import '../BladeProvider/useTheme.js';
|
|
15
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
8
|
+
import '../Typography/Heading/Heading.js';
|
|
16
9
|
import { Text } from '../Typography/Text/Text.js';
|
|
17
10
|
import '../Typography/Code/Code.js';
|
|
11
|
+
import '../Typography/Display/Display.js';
|
|
18
12
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.native.js';
|
|
19
13
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
20
14
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
21
15
|
import { useIsMobile } from '../../utils/useIsMobile.js';
|
|
16
|
+
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
22
17
|
import { useVerifyAllowedChildren } from '../../utils/useVerifyAllowedChildren/useVerifyAllowedChildren.js';
|
|
23
18
|
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
19
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
24
20
|
|
|
25
21
|
var _excluded=["children","testID","marginTop","paddingTop","showDivider"],_excluded2=["title","subtitle"],_excluded3=["actions"];var _CardFooter=function _CardFooter(_ref){var _footerChildrensArray,_footerChildrensArray2;var children=_ref.children,testID=_ref.testID,_ref$marginTop=_ref.marginTop,marginTop=_ref$marginTop===void 0?'spacing.4':_ref$marginTop,_ref$paddingTop=_ref.paddingTop,paddingTop=_ref$paddingTop===void 0?'spacing.4':_ref$paddingTop,_ref$showDivider=_ref.showDivider,showDivider=_ref$showDivider===void 0?true:_ref$showDivider,props=_objectWithoutProperties(_ref,_excluded);var isMobile=useIsMobile();useVerifyInsideCard('CardFooter');useVerifyAllowedChildren({children:children,componentName:'CardFooter',allowedComponents:[ComponentIds.CardFooterLeading,ComponentIds.CardFooterTrailing]});var footerChildrensArray=React__default.Children.toArray(children);if(__DEV__){if(!React__default.isValidElement(footerChildrensArray[0])){throwBladeError({message:`Invalid React Element ${footerChildrensArray}`,moduleName:'CardFooter'});}}var baseBoxJustifyContent=footerChildrensArray.length===2||!((_footerChildrensArray=footerChildrensArray[0])!=null&&(_footerChildrensArray2=_footerChildrensArray.props)!=null&&_footerChildrensArray2.actions)?'space-between':'flex-end';return jsxs(BaseBox,Object.assign({marginTop:marginTop},metaAttribute({name:MetaConstants.CardFooter,testID:testID}),makeAnalyticsAttribute(props),{children:[showDivider?jsx(Divider,{}):null,jsx(BaseBox,{paddingTop:paddingTop,display:"flex",flexDirection:isMobile?'column':'row',justifyContent:baseBoxJustifyContent,alignItems:isMobile?'stretch':'center',children:children})]}));};var CardFooter=assignWithoutSideEffects(_CardFooter,{componentId:ComponentIds.CardFooter});var _CardFooterLeading=function _CardFooterLeading(_ref2){var title=_ref2.title,subtitle=_ref2.subtitle,rest=_objectWithoutProperties(_ref2,_excluded2);useVerifyInsideCard('CardFooterLeading');return jsxs(BaseBox,Object.assign({textAlign:'left'},makeAnalyticsAttribute(rest),{children:[title&&jsx(Text,{color:"surface.text.gray.normal",size:"medium",weight:"semibold",children:title}),subtitle&&jsx(Text,{color:"surface.text.gray.subtle",size:"small",weight:"regular",children:subtitle})]}));};var CardFooterLeading=assignWithoutSideEffects(_CardFooterLeading,{componentId:ComponentIds.CardFooterLeading});var _CardFooterTrailing=function _CardFooterTrailing(_ref3){var actions=_ref3.actions,rest=_objectWithoutProperties(_ref3,_excluded3);var isMobile=useIsMobile();useVerifyInsideCard('CardFooterTrailing');return jsxs(BaseBox,Object.assign({display:"flex",flexDirection:"row",alignSelf:isMobile?'auto':'center',marginTop:isMobile?'spacing.5':'spacing.0',marginLeft:isMobile?'spacing.0':'spacing.5'},makeAnalyticsAttribute(rest),{children:[jsx(BaseBox,{flexGrow:1,children:actions!=null&&actions.secondary?jsx(Button,Object.assign({isFullWidth:true,size:"medium",variant:"secondary"},actions.secondary,{children:actions.secondary.text})):null}),jsx(BaseBox,{marginLeft:"spacing.5"}),jsx(BaseBox,{flexGrow:1,children:actions!=null&&actions.primary?jsx(Button,Object.assign({isFullWidth:true,size:"medium"},actions.primary,{children:actions.primary.text})):null})]}));};var CardFooterTrailing=assignWithoutSideEffects(_CardFooterTrailing,{componentId:ComponentIds.CardFooterTrailing});
|
|
26
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFooter.js","sources":["../../../../../src/components/Card/CardFooter.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { ReactElement } from 'react';\nimport React from 'react';\nimport { useVerifyInsideCard } from './CardContext';\nimport { ComponentIds } from './Card';\nimport type { CardSpacingValueType } from './types';\nimport type { ButtonProps } from '~components/Button';\nimport { Button } from '~components/Button';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { throwBladeError } from '~utils/logger';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nexport type CardFooterAction = Pick<\n ButtonProps,\n 'type' | 'accessibilityLabel' | 'isLoading' | 'isDisabled' | 'icon' | 'iconPosition' | 'onClick'\n> & {\n text: ButtonProps['children'];\n};\n\ntype CardFooterProps = {\n children?: React.ReactNode;\n /**\n * For spacing between divider and footer title\n */\n paddingTop?: CardSpacingValueType;\n /**\n * For spacing between body content and divider\n */\n marginTop?: CardSpacingValueType;\n /**\n * @default true\n */\n showDivider?: boolean;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardFooter = ({\n children,\n testID,\n marginTop = 'spacing.4',\n paddingTop = 'spacing.4',\n showDivider = true,\n ...props\n}: CardFooterProps): React.ReactElement => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooter');\n useVerifyAllowedChildren({\n children,\n componentName: 'CardFooter',\n allowedComponents: [ComponentIds.CardFooterLeading, ComponentIds.CardFooterTrailing],\n });\n\n const footerChildrensArray = React.Children.toArray(children);\n if (__DEV__) {\n if (!React.isValidElement(footerChildrensArray[0])) {\n throwBladeError({\n message: `Invalid React Element ${footerChildrensArray}`,\n moduleName: 'CardFooter',\n });\n }\n }\n\n // the reason why we are checking for actions here is, because we want the footerTrailing\n // to always be aligned to the right\n // if we don't check for action here, and if we do not have footerTrailing and only footerLeading\n // then the content of footerLeading will be justified to the end.\n const baseBoxJustifyContent =\n footerChildrensArray.length === 2 || !(footerChildrensArray[0] as ReactElement)?.props?.actions\n ? 'space-between'\n : 'flex-end';\n\n return (\n <BaseBox\n marginTop={marginTop}\n {...metaAttribute({ name: MetaConstants.CardFooter, testID })}\n {...makeAnalyticsAttribute(props)}\n >\n {showDivider ? <Divider /> : null}\n <BaseBox\n paddingTop={paddingTop}\n display=\"flex\"\n flexDirection={isMobile ? 'column' : 'row'}\n justifyContent={baseBoxJustifyContent}\n alignItems={isMobile ? 'stretch' : 'center'}\n >\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardFooter = assignWithoutSideEffects(_CardFooter, { componentId: ComponentIds.CardFooter });\n\ntype CardFooterLeadingProps = {\n title?: string;\n subtitle?: string;\n} & DataAnalyticsAttribute;\nconst _CardFooterLeading = ({\n title,\n subtitle,\n ...rest\n}: CardFooterLeadingProps): React.ReactElement => {\n useVerifyInsideCard('CardFooterLeading');\n\n return (\n <BaseBox textAlign={'left' as never} {...makeAnalyticsAttribute(rest)}>\n {title && (\n <Text color=\"surface.text.gray.normal\" size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n )}\n {subtitle && (\n <Text color=\"surface.text.gray.subtle\" size=\"small\" weight=\"regular\">\n {subtitle}\n </Text>\n )}\n </BaseBox>\n );\n};\nconst CardFooterLeading = assignWithoutSideEffects(_CardFooterLeading, {\n componentId: ComponentIds.CardFooterLeading,\n});\n\ntype CardFooterTrailingProps = {\n actions?: {\n primary?: CardFooterAction;\n secondary?: CardFooterAction;\n };\n} & DataAnalyticsAttribute;\nconst _CardFooterTrailing = ({ actions, ...rest }: CardFooterTrailingProps): React.ReactElement => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooterTrailing');\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n alignSelf={isMobile ? 'auto' : 'center'}\n marginTop={isMobile ? 'spacing.5' : 'spacing.0'}\n marginLeft={isMobile ? 'spacing.0' : 'spacing.5'}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox flexGrow={1}>\n {actions?.secondary ? (\n <Button isFullWidth size=\"medium\" variant=\"secondary\" {...actions.secondary}>\n {actions.secondary.text!}\n </Button>\n ) : null}\n </BaseBox>\n <BaseBox marginLeft=\"spacing.5\" />\n <BaseBox flexGrow={1}>\n {actions?.primary ? (\n <Button isFullWidth size=\"medium\" {...actions.primary}>\n {actions.primary.text!}\n </Button>\n ) : null}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardFooterTrailing = assignWithoutSideEffects(_CardFooterTrailing, {\n componentId: ComponentIds.CardFooterTrailing,\n});\n\nexport { CardFooter, CardFooterLeading, CardFooterTrailing };\n"],"names":["_CardFooter","_ref","_footerChildrensArray","_footerChildrensArray2","children","testID","_ref$marginTop","marginTop","_ref$paddingTop","paddingTop","_ref$showDivider","showDivider","props","_objectWithoutProperties","_excluded","isMobile","useIsMobile","useVerifyInsideCard","useVerifyAllowedChildren","componentName","allowedComponents","ComponentIds","CardFooterLeading","CardFooterTrailing","footerChildrensArray","React","Children","toArray","__DEV__","isValidElement","throwBladeError","message","moduleName","baseBoxJustifyContent","length","actions","_jsxs","BaseBox","Object","assign","metaAttribute","name","MetaConstants","CardFooter","makeAnalyticsAttribute","_jsx","Divider","display","flexDirection","justifyContent","alignItems","assignWithoutSideEffects","componentId","_CardFooterLeading","_ref2","title","subtitle","rest","_excluded2","textAlign","Text","color","size","weight","_CardFooterTrailing","_ref3","_excluded3","alignSelf","marginLeft","flexGrow","secondary","Button","isFullWidth","variant","text","primary"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAA,SAAA,CAAA,CAAA,UAAA,CAAA,QAAA,CAAA,WAAA,CAAA,YAAA,CAAA,aAAA,CAAA,CAAA,UAAA,CAAA,CAAA,OAAA,CAAA,UAAA,CAAA,CAAA,UAAA,CAAA,CAAA,SAAA,CAAA,CAyCA,IAAMA,WAAW,CAAG,SAAdA,WAAWA,CAAAC,IAAA,CAO0B,CAAA,IAAAC,qBAAA,CAAAC,sBAAA,CANzC,IAAAC,QAAQ,CAAAH,IAAA,CAARG,QAAQ,CACRC,MAAM,CAAAJ,IAAA,CAANI,MAAM,CAAAC,cAAA,CAAAL,IAAA,CACNM,SAAS,CAATA,SAAS,CAAAD,cAAA,GAAA,KAAA,CAAA,CAAG,WAAW,CAAAA,cAAA,CAAAE,eAAA,CAAAP,IAAA,CACvBQ,UAAU,CAAVA,UAAU,CAAAD,eAAA,GAAA,KAAA,CAAA,CAAG,WAAW,CAAAA,eAAA,CAAAE,gBAAA,CAAAT,IAAA,CACxBU,WAAW,CAAXA,WAAW,CAAAD,gBAAA,GAAA,KAAA,CAAA,CAAG,IAAI,CAAAA,gBAAA,CACfE,KAAK,CAAAC,wBAAA,CAAAZ,IAAA,CAAAa,SAAA,CAER,CAAA,IAAMC,QAAQ,CAAGC,WAAW,EAAE,CAC9BC,mBAAmB,CAAC,YAAY,CAAC,CACjCC,wBAAwB,CAAC,CACvBd,QAAQ,CAARA,QAAQ,CACRe,aAAa,CAAE,YAAY,CAC3BC,iBAAiB,CAAE,CAACC,YAAY,CAACC,iBAAiB,CAAED,YAAY,CAACE,kBAAkB,CACrF,CAAC,CAAC,CAEF,IAAMC,oBAAoB,CAAGC,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACvB,QAAQ,CAAC,CAC7D,GAAIwB,OAAO,CAAE,CACX,GAAI,CAACH,cAAK,CAACI,cAAc,CAACL,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAE,CAClDM,eAAe,CAAC,CACdC,OAAO,CAAG,CAAA,sBAAA,EAAwBP,oBAAqB,CAAC,CAAA,CACxDQ,UAAU,CAAE,YACd,CAAC,CAAC,CACJ,CACF,CAMA,IAAMC,qBAAqB,CACzBT,oBAAoB,CAACU,MAAM,GAAK,CAAC,EAAI,EAAA,CAAAhC,qBAAA,CAAEsB,oBAAoB,CAAC,CAAC,CAAC,GAAArB,IAAAA,EAAAA,CAAAA,sBAAA,CAAxBD,qBAAA,CAA2CU,KAAK,GAAhDT,IAAAA,EAAAA,sBAAA,CAAkDgC,OAAO,EAC3F,eAAe,CACf,UAAU,CAEhB,OACEC,IAAA,CAACC,OAAO,CAAAC,MAAA,CAAAC,MAAA,EACNhC,SAAS,CAAEA,SAAU,CACjBiC,CAAAA,aAAa,CAAC,CAAEC,IAAI,CAAEC,aAAa,CAACC,UAAU,CAAEtC,MAAM,CAANA,MAAO,CAAC,CAAC,CACzDuC,sBAAsB,CAAChC,KAAK,CAAC,CAAA,CAAAR,QAAA,CAEhCO,CAAAA,WAAW,CAAGkC,GAAA,CAACC,OAAO,CAAA,EAAE,CAAC,CAAG,IAAI,CACjCD,GAAA,CAACR,OAAO,CAAA,CACN5B,UAAU,CAAEA,UAAW,CACvBsC,OAAO,CAAC,MAAM,CACdC,aAAa,CAAEjC,QAAQ,CAAG,QAAQ,CAAG,KAAM,CAC3CkC,cAAc,CAAEhB,qBAAsB,CACtCiB,UAAU,CAAEnC,QAAQ,CAAG,SAAS,CAAG,QAAS,CAAAX,QAAA,CAE3CA,QAAQ,CACF,CAAC,GACH,CAAC,CAEd,CAAC,CACK,IAAAuC,UAAU,CAAGQ,wBAAwB,CAACnD,WAAW,CAAE,CAAEoD,WAAW,CAAE/B,YAAY,CAACsB,UAAW,CAAC,EAMjG,IAAMU,kBAAkB,CAAG,SAArBA,kBAAkBA,CAAAC,KAAA,CAI0B,CAHhD,IAAAC,KAAK,CAAAD,KAAA,CAALC,KAAK,CACLC,QAAQ,CAAAF,KAAA,CAARE,QAAQ,CACLC,IAAI,CAAA5C,wBAAA,CAAAyC,KAAA,CAAAI,UAAA,CAAA,CAEPzC,mBAAmB,CAAC,mBAAmB,CAAC,CAExC,OACEmB,IAAA,CAACC,OAAO,CAAAC,MAAA,CAAAC,MAAA,CAACoB,CAAAA,SAAS,CAAE,MAAgB,CAAA,CAAKf,sBAAsB,CAACa,IAAI,CAAC,CAAA,CAAArD,QAAA,CAClEmD,CAAAA,KAAK,EACJV,GAAA,CAACe,IAAI,CAACC,CAAAA,KAAK,CAAC,0BAA0B,CAACC,IAAI,CAAC,QAAQ,CAACC,MAAM,CAAC,UAAU,CAAA3D,QAAA,CACnEmD,KAAK,CACF,CACP,CACAC,QAAQ,EACPX,GAAA,CAACe,IAAI,CAACC,CAAAA,KAAK,CAAC,0BAA0B,CAACC,IAAI,CAAC,OAAO,CAACC,MAAM,CAAC,SAAS,CAAA3D,QAAA,CACjEoD,QAAQ,CACL,CACP,CAAA,CAAA,CACM,CAAC,CAEd,CAAC,CACK,IAAAlC,iBAAiB,CAAG6B,wBAAwB,CAACE,kBAAkB,CAAE,CACrED,WAAW,CAAE/B,YAAY,CAACC,iBAC5B,CAAC,EAQD,IAAM0C,mBAAmB,CAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,CAA0E,CAApE,IAAA9B,OAAO,CAAA8B,KAAA,CAAP9B,OAAO,CAAKsB,IAAI,CAAA5C,wBAAA,CAAAoD,KAAA,CAAAC,UAAA,CAAA,CAC7C,IAAMnD,QAAQ,CAAGC,WAAW,EAAE,CAC9BC,mBAAmB,CAAC,oBAAoB,CAAC,CAEzC,OACEmB,IAAA,CAACC,OAAO,CAAAC,MAAA,CAAAC,MAAA,CAAA,CACNQ,OAAO,CAAC,MAAM,CACdC,aAAa,CAAC,KAAK,CACnBmB,SAAS,CAAEpD,QAAQ,CAAG,MAAM,CAAG,QAAS,CACxCR,SAAS,CAAEQ,QAAQ,CAAG,WAAW,CAAG,WAAY,CAChDqD,UAAU,CAAErD,QAAQ,CAAG,WAAW,CAAG,WAAY,CAC7C6B,CAAAA,sBAAsB,CAACa,IAAI,CAAC,CAAArD,CAAAA,QAAA,EAEhCyC,GAAA,CAACR,OAAO,CAACgC,CAAAA,QAAQ,CAAE,CAAE,CAAAjE,QAAA,CAClB+B,OAAO,EAAPA,IAAAA,EAAAA,OAAO,CAAEmC,SAAS,CACjBzB,GAAA,CAAC0B,MAAM,CAAAjC,MAAA,CAAAC,MAAA,CAAA,CAACiC,WAAW,CAACV,IAAAA,CAAAA,IAAI,CAAC,QAAQ,CAACW,OAAO,CAAC,WAAW,CAAKtC,CAAAA,OAAO,CAACmC,SAAS,CAAA,CAAAlE,QAAA,CACxE+B,OAAO,CAACmC,SAAS,CAACI,IAAI,CAAA,CACjB,CAAC,CACP,IAAI,CACD,CAAC,CACV7B,GAAA,CAACR,OAAO,CAAC+B,CAAAA,UAAU,CAAC,WAAW,CAAE,CAAC,CAClCvB,GAAA,CAACR,OAAO,EAACgC,QAAQ,CAAE,CAAE,CAAAjE,QAAA,CAClB+B,OAAO,QAAPA,OAAO,CAAEwC,OAAO,CACf9B,GAAA,CAAC0B,MAAM,CAAAjC,MAAA,CAAAC,MAAA,CAACiC,CAAAA,WAAW,MAACV,IAAI,CAAC,QAAQ,CAAK3B,CAAAA,OAAO,CAACwC,OAAO,EAAAvE,QAAA,CAClD+B,OAAO,CAACwC,OAAO,CAACD,IAAI,CAAA,CACf,CAAC,CACP,IAAI,CACD,CAAC,GACH,CAAC,CAEd,CAAC,CACK,IAAAnD,kBAAkB,CAAG4B,wBAAwB,CAACa,mBAAmB,CAAE,CACvEZ,WAAW,CAAE/B,YAAY,CAACE,kBAC5B,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"CardFooter.js","sources":["../../../../../src/components/Card/CardFooter.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { ReactElement } from 'react';\nimport React from 'react';\nimport { useVerifyInsideCard } from './CardContext';\nimport { ComponentIds } from './Card';\nimport type { CardSpacingValueType } from './types';\nimport type { ButtonProps } from '~components/Button';\nimport { Button } from '~components/Button';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { throwBladeError } from '~utils/logger';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nexport type CardFooterAction = Pick<\n ButtonProps,\n 'type' | 'accessibilityLabel' | 'isLoading' | 'isDisabled' | 'icon' | 'iconPosition' | 'onClick'\n> & {\n text: ButtonProps['children'];\n};\n\ntype CardFooterProps = {\n children?: React.ReactNode;\n /**\n * For spacing between divider and footer title\n */\n paddingTop?: CardSpacingValueType;\n /**\n * For spacing between body content and divider\n */\n marginTop?: CardSpacingValueType;\n /**\n * @default true\n */\n showDivider?: boolean;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardFooter = ({\n children,\n testID,\n marginTop = 'spacing.4',\n paddingTop = 'spacing.4',\n showDivider = true,\n ...props\n}: CardFooterProps): React.ReactElement => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooter');\n useVerifyAllowedChildren({\n children,\n componentName: 'CardFooter',\n allowedComponents: [ComponentIds.CardFooterLeading, ComponentIds.CardFooterTrailing],\n });\n\n const footerChildrensArray = React.Children.toArray(children);\n if (__DEV__) {\n if (!React.isValidElement(footerChildrensArray[0])) {\n throwBladeError({\n message: `Invalid React Element ${footerChildrensArray}`,\n moduleName: 'CardFooter',\n });\n }\n }\n\n // the reason why we are checking for actions here is, because we want the footerTrailing\n // to always be aligned to the right\n // if we don't check for action here, and if we do not have footerTrailing and only footerLeading\n // then the content of footerLeading will be justified to the end.\n const baseBoxJustifyContent =\n footerChildrensArray.length === 2 || !(footerChildrensArray[0] as ReactElement)?.props?.actions\n ? 'space-between'\n : 'flex-end';\n\n return (\n <BaseBox\n marginTop={marginTop}\n {...metaAttribute({ name: MetaConstants.CardFooter, testID })}\n {...makeAnalyticsAttribute(props)}\n >\n {showDivider ? <Divider /> : null}\n <BaseBox\n paddingTop={paddingTop}\n display=\"flex\"\n flexDirection={isMobile ? 'column' : 'row'}\n justifyContent={baseBoxJustifyContent}\n alignItems={isMobile ? 'stretch' : 'center'}\n >\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardFooter = assignWithoutSideEffects(_CardFooter, { componentId: ComponentIds.CardFooter });\n\ntype CardFooterLeadingProps = {\n title?: string;\n subtitle?: string;\n} & DataAnalyticsAttribute;\nconst _CardFooterLeading = ({\n title,\n subtitle,\n ...rest\n}: CardFooterLeadingProps): React.ReactElement => {\n useVerifyInsideCard('CardFooterLeading');\n\n return (\n <BaseBox textAlign={'left' as never} {...makeAnalyticsAttribute(rest)}>\n {title && (\n <Text color=\"surface.text.gray.normal\" size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n )}\n {subtitle && (\n <Text color=\"surface.text.gray.subtle\" size=\"small\" weight=\"regular\">\n {subtitle}\n </Text>\n )}\n </BaseBox>\n );\n};\nconst CardFooterLeading = assignWithoutSideEffects(_CardFooterLeading, {\n componentId: ComponentIds.CardFooterLeading,\n});\n\ntype CardFooterTrailingProps = {\n actions?: {\n primary?: CardFooterAction;\n secondary?: CardFooterAction;\n };\n} & DataAnalyticsAttribute;\nconst _CardFooterTrailing = ({ actions, ...rest }: CardFooterTrailingProps): React.ReactElement => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooterTrailing');\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n alignSelf={isMobile ? 'auto' : 'center'}\n marginTop={isMobile ? 'spacing.5' : 'spacing.0'}\n marginLeft={isMobile ? 'spacing.0' : 'spacing.5'}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox flexGrow={1}>\n {actions?.secondary ? (\n <Button isFullWidth size=\"medium\" variant=\"secondary\" {...actions.secondary}>\n {actions.secondary.text!}\n </Button>\n ) : null}\n </BaseBox>\n <BaseBox marginLeft=\"spacing.5\" />\n <BaseBox flexGrow={1}>\n {actions?.primary ? (\n <Button isFullWidth size=\"medium\" {...actions.primary}>\n {actions.primary.text!}\n </Button>\n ) : null}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardFooterTrailing = assignWithoutSideEffects(_CardFooterTrailing, {\n componentId: ComponentIds.CardFooterTrailing,\n});\n\nexport { CardFooter, CardFooterLeading, CardFooterTrailing };\n"],"names":["_CardFooter","_ref","_footerChildrensArray","_footerChildrensArray2","children","testID","_ref$marginTop","marginTop","_ref$paddingTop","paddingTop","_ref$showDivider","showDivider","props","_objectWithoutProperties","_excluded","isMobile","useIsMobile","useVerifyInsideCard","useVerifyAllowedChildren","componentName","allowedComponents","ComponentIds","CardFooterLeading","CardFooterTrailing","footerChildrensArray","React","Children","toArray","__DEV__","isValidElement","throwBladeError","message","moduleName","baseBoxJustifyContent","length","actions","_jsxs","BaseBox","Object","assign","metaAttribute","name","MetaConstants","CardFooter","makeAnalyticsAttribute","_jsx","Divider","display","flexDirection","justifyContent","alignItems","assignWithoutSideEffects","componentId","_CardFooterLeading","_ref2","title","subtitle","rest","_excluded2","textAlign","Text","color","size","weight","_CardFooterTrailing","_ref3","_excluded3","alignSelf","marginLeft","flexGrow","secondary","Button","isFullWidth","variant","text","primary"],"mappings":"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"}
|
|
@@ -8,25 +8,21 @@ import Button from '../Button/Button/Button.js';
|
|
|
8
8
|
import { Counter } from '../Counter/Counter.js';
|
|
9
9
|
import { Divider } from '../Divider/Divider.js';
|
|
10
10
|
import { BaseBox } from '../Box/BaseBox/BaseBox.native.js';
|
|
11
|
-
import '../Typography/
|
|
12
|
-
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
13
|
-
import '@babel/runtime/helpers/slicedToArray';
|
|
14
|
-
import 'react-native';
|
|
15
|
-
import '../../tokens/global/typography.js';
|
|
16
|
-
import '../../tokens/global/motion.js';
|
|
17
|
-
import { makeSpace } from '../../utils/makeSpace/makeSpace.js';
|
|
18
|
-
import '../BladeProvider/useTheme.js';
|
|
19
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
11
|
+
import '../Typography/Heading/Heading.js';
|
|
20
12
|
import { Text } from '../Typography/Text/Text.js';
|
|
21
13
|
import '../Typography/Code/Code.js';
|
|
14
|
+
import '../Typography/Display/Display.js';
|
|
22
15
|
import { minHeight } from '../Button/BaseButton/buttonTokens.js';
|
|
23
16
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.native.js';
|
|
24
17
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
25
18
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
19
|
+
import { makeSpace } from '../../utils/makeSpace/makeSpace.js';
|
|
26
20
|
import { isValidAllowedChildren, getComponentId } from '../../utils/isValidAllowedChildren/isValidAllowedChildren.js';
|
|
21
|
+
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
27
22
|
import { useVerifyAllowedChildren } from '../../utils/useVerifyAllowedChildren/useVerifyAllowedChildren.js';
|
|
28
23
|
import { Amount } from '../Amount/Amount.js';
|
|
29
24
|
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
25
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
30
26
|
|
|
31
27
|
var _excluded=["children","testID","marginBottom","paddingBottom","showDivider"],_excluded2=["title","subtitle","prefix","suffix"];var _CardHeaderIcon=function _CardHeaderIcon(_ref){var Icon=_ref.icon;useVerifyInsideCard('CardHeaderIcon');return jsx(Icon,{color:"surface.icon.gray.normal",size:"large"});};var CardHeaderIcon=assignWithoutSideEffects(_CardHeaderIcon,{componentId:ComponentIds.CardHeaderIcon});var _CardHeaderCounter=function _CardHeaderCounter(props){useVerifyInsideCard('CardHeaderCounter');return jsx(Counter,Object.assign({},props));};var CardHeaderCounter=assignWithoutSideEffects(_CardHeaderCounter,{componentId:ComponentIds.CardHeaderCounter});var _CardHeaderBadge=function _CardHeaderBadge(props){useVerifyInsideCard('CardHeaderBadge');return jsx(Badge,Object.assign({},props));};var CardHeaderBadge=assignWithoutSideEffects(_CardHeaderBadge,{componentId:ComponentIds.CardHeaderBadge});var _CardHeaderAmount=function _CardHeaderAmount(props){useVerifyInsideCard('CardHeaderAmount');return jsx(Amount,Object.assign({},props));};var CardHeaderAmount=assignWithoutSideEffects(_CardHeaderAmount,{componentId:ComponentIds.CardHeaderAmount});var _CardHeaderText=function _CardHeaderText(props){useVerifyInsideCard('CardHeaderText');return jsx(Text,Object.assign({textAlign:"left"},props));};var CardHeaderText=assignWithoutSideEffects(_CardHeaderText,{componentId:ComponentIds.CardHeaderText});var _CardHeaderLink=function _CardHeaderLink(props){useVerifyInsideCard('CardHeaderLink');return jsx(Link,Object.assign({},props));};var CardHeaderLink=assignWithoutSideEffects(_CardHeaderLink,{componentId:ComponentIds.CardHeaderLink});var _CardHeaderIconButton=function _CardHeaderIconButton(props){useVerifyInsideCard('CardHeaderIconButton');return jsx(BaseBox,{width:makeSpace(minHeight.xsmall),children:jsx(Button,Object.assign({},props,{variant:"tertiary",size:"xsmall",iconPosition:"left",isFullWidth:true}))});};var CardHeaderIconButton=assignWithoutSideEffects(_CardHeaderIconButton,{componentId:ComponentIds.CardHeaderIconButton});var _CardHeader=function _CardHeader(_ref2){var children=_ref2.children,testID=_ref2.testID,_ref2$marginBottom=_ref2.marginBottom,marginBottom=_ref2$marginBottom===void 0?'spacing.4':_ref2$marginBottom,_ref2$paddingBottom=_ref2.paddingBottom,paddingBottom=_ref2$paddingBottom===void 0?'spacing.4':_ref2$paddingBottom,_ref2$showDivider=_ref2.showDivider,showDivider=_ref2$showDivider===void 0?true:_ref2$showDivider,rest=_objectWithoutProperties(_ref2,_excluded);useVerifyInsideCard('CardHeader');useVerifyAllowedChildren({children:children,componentName:'CardHeader',allowedComponents:[ComponentIds.CardHeaderLeading,ComponentIds.CardHeaderTrailing]});return jsxs(BaseBox,Object.assign({marginBottom:marginBottom},metaAttribute({name:MetaConstants.CardHeader,testID:testID}),makeAnalyticsAttribute(rest),{children:[jsx(BaseBox,{paddingBottom:paddingBottom,display:"flex",flexDirection:"row",justifyContent:"space-between",children:children}),showDivider?jsx(Divider,{}):null]}));};var CardHeader=assignWithoutSideEffects(_CardHeader,{componentId:ComponentIds.CardHeader});var _CardHeaderLeading=function _CardHeaderLeading(_ref3){var title=_ref3.title,subtitle=_ref3.subtitle,prefix=_ref3.prefix,suffix=_ref3.suffix,rest=_objectWithoutProperties(_ref3,_excluded2);useVerifyInsideCard('CardHeaderLeading');if(__DEV__){if(prefix&&!isValidAllowedChildren(prefix,ComponentIds.CardHeaderIcon)){throwBladeError({message:`Only \`${ComponentIds.CardHeaderIcon}\` component is accepted in prefix`,moduleName:'CardHeaderLeading'});}if(suffix&&!isValidAllowedChildren(suffix,ComponentIds.CardHeaderCounter)){throwBladeError({message:`Only \`${ComponentIds.CardHeaderCounter}\` component is accepted in prefix`,moduleName:'CardHeaderLeading'});}}return jsxs(BaseBox,Object.assign({},makeAnalyticsAttribute(rest),{flex:1,display:"flex",flexDirection:"row",children:[jsx(BaseBox,{marginRight:"spacing.3",alignSelf:"center",display:"flex",children:prefix}),jsxs(BaseBox,{marginRight:"spacing.5",children:[jsxs(BaseBox,{display:"flex",flexDirection:"row",alignItems:"center",flexWrap:"wrap",children:[jsx(Text,{color:"surface.text.gray.normal",size:"large",weight:"semibold",children:title}),jsx(BaseBox,{marginLeft:"spacing.3",children:suffix})]}),subtitle&&jsx(Text,{color:"surface.text.gray.subtle",textAlign:"left",size:"small",children:subtitle})]})]}));};var CardHeaderLeading=assignWithoutSideEffects(_CardHeaderLeading,{componentId:ComponentIds.CardHeaderLeading});var headerTrailingAllowedComponents=[ComponentIds.CardHeaderLink,ComponentIds.CardHeaderText,ComponentIds.CardHeaderIconButton,ComponentIds.CardHeaderBadge,ComponentIds.CardHeaderAmount];var _CardHeaderTrailing=function _CardHeaderTrailing(_ref4){var visual=_ref4.visual;useVerifyInsideCard('CardHeaderTrailing');if(__DEV__){if(visual&&!headerTrailingAllowedComponents.includes(getComponentId(visual))){throwBladeError({message:`Only one of \`${headerTrailingAllowedComponents.join(', ')}\` component is accepted in visual`,moduleName:'CardHeaderTrailing'});}}return jsx(BaseBox,{alignSelf:"center",children:visual});};var CardHeaderTrailing=assignWithoutSideEffects(_CardHeaderTrailing,{componentId:ComponentIds.CardHeaderTrailing});
|
|
32
28
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardHeader.js","sources":["../../../../../src/components/Card/CardHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport { useVerifyInsideCard } from './CardContext';\nimport { ComponentIds } from './Card';\nimport type { CardSpacingValueType } from './types';\nimport type { BadgeProps } from '~components/Badge';\nimport { Badge } from '~components/Badge';\nimport type { LinkProps } from '~components/Link';\nimport { Link } from '~components/Link';\nimport type { ButtonProps } from '~components/Button';\nimport { Button } from '~components/Button';\nimport { Counter } from '~components/Counter';\nimport type { CounterProps } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { TextProps, TextVariant } from '~components/Typography';\nimport { Text } from '~components/Typography';\nimport type { IconComponent } from '~components/Icons';\nimport { minHeight } from '~components/Button/BaseButton/buttonTokens';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSpace } from '~utils/makeSpace';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport type { AmountProps } from '~components/Amount';\nimport { Amount } from '~components/Amount';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst _CardHeaderIcon = ({ icon: Icon }: { icon: IconComponent }): React.ReactElement => {\n useVerifyInsideCard('CardHeaderIcon');\n\n return <Icon color=\"surface.icon.gray.normal\" size=\"large\" />;\n};\nconst CardHeaderIcon = assignWithoutSideEffects(_CardHeaderIcon, {\n componentId: ComponentIds.CardHeaderIcon,\n});\n\nconst _CardHeaderCounter = (props: CounterProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderCounter');\n\n return <Counter {...props} />;\n};\nconst CardHeaderCounter = assignWithoutSideEffects(_CardHeaderCounter, {\n componentId: ComponentIds.CardHeaderCounter,\n});\n\nconst _CardHeaderBadge = (props: BadgeProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderBadge');\n\n return <Badge {...props} />;\n};\nconst CardHeaderBadge = assignWithoutSideEffects(_CardHeaderBadge, {\n componentId: ComponentIds.CardHeaderBadge,\n});\n\nconst _CardHeaderAmount = (props: AmountProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderAmount');\n\n return <Amount {...props} />;\n};\n\nconst CardHeaderAmount = assignWithoutSideEffects(_CardHeaderAmount, {\n componentId: ComponentIds.CardHeaderAmount,\n});\n\nconst _CardHeaderText = (props: TextProps<{ variant: TextVariant }>): React.ReactElement => {\n useVerifyInsideCard('CardHeaderText');\n\n return <Text textAlign=\"left\" {...props} />;\n};\nconst CardHeaderText = assignWithoutSideEffects(_CardHeaderText, {\n componentId: ComponentIds.CardHeaderText,\n});\n\nconst _CardHeaderLink = (props: LinkProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderLink');\n\n return <Link {...props} />;\n};\nconst CardHeaderLink = assignWithoutSideEffects(_CardHeaderLink, {\n componentId: ComponentIds.CardHeaderLink,\n});\n\ntype CardHeaderIconButtonProps = Omit<\n ButtonProps,\n 'variant' | 'size' | 'iconPosition' | 'isFullWidth' | 'children'\n> & {\n icon: IconComponent;\n};\n\nconst _CardHeaderIconButton = (props: CardHeaderIconButtonProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderIconButton');\n\n return (\n <BaseBox width={makeSpace(minHeight.xsmall)}>\n <Button {...props} variant=\"tertiary\" size=\"xsmall\" iconPosition=\"left\" isFullWidth />\n </BaseBox>\n );\n};\nconst CardHeaderIconButton = assignWithoutSideEffects(_CardHeaderIconButton, {\n componentId: ComponentIds.CardHeaderIconButton,\n});\n\ntype CardHeaderProps = {\n children?: React.ReactNode;\n /**\n * For spacing between divider and header title\n */\n paddingBottom?: CardSpacingValueType;\n /**\n * For spacing between body content and divider\n */\n marginBottom?: CardSpacingValueType;\n /**\n * @default true\n */\n showDivider?: boolean;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardHeader = ({\n children,\n testID,\n marginBottom = 'spacing.4',\n paddingBottom = 'spacing.4',\n showDivider = true,\n ...rest\n}: CardHeaderProps): React.ReactElement => {\n useVerifyInsideCard('CardHeader');\n useVerifyAllowedChildren({\n children,\n componentName: 'CardHeader',\n allowedComponents: [ComponentIds.CardHeaderLeading, ComponentIds.CardHeaderTrailing],\n });\n\n return (\n <BaseBox\n marginBottom={marginBottom}\n {...metaAttribute({ name: MetaConstants.CardHeader, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox\n paddingBottom={paddingBottom}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n >\n {children}\n </BaseBox>\n {showDivider ? <Divider /> : null}\n </BaseBox>\n );\n};\nconst CardHeader = assignWithoutSideEffects(_CardHeader, { componentId: ComponentIds.CardHeader });\n\ntype CardHeaderLeadingProps = {\n title: string;\n subtitle?: string;\n /**\n * prefix element of Card\n *\n * Accepts: `CardHeaderIcon` component\n */\n prefix?: React.ReactNode;\n /**\n * suffix element of Card\n *\n * Accepts: `CardHeaderCounter` component\n */\n suffix?: React.ReactNode;\n} & DataAnalyticsAttribute;\nconst _CardHeaderLeading = ({\n title,\n subtitle,\n prefix,\n suffix,\n ...rest\n}: CardHeaderLeadingProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderLeading');\n\n if (__DEV__) {\n if (prefix && !isValidAllowedChildren(prefix, ComponentIds.CardHeaderIcon)) {\n throwBladeError({\n message: `Only \\`${ComponentIds.CardHeaderIcon}\\` component is accepted in prefix`,\n moduleName: 'CardHeaderLeading',\n });\n }\n\n if (suffix && !isValidAllowedChildren(suffix, ComponentIds.CardHeaderCounter)) {\n throwBladeError({\n message: `Only \\`${ComponentIds.CardHeaderCounter}\\` component is accepted in prefix`,\n moduleName: 'CardHeaderLeading',\n });\n }\n }\n\n return (\n <BaseBox {...makeAnalyticsAttribute(rest)} flex={1} display=\"flex\" flexDirection=\"row\">\n <BaseBox marginRight=\"spacing.3\" alignSelf=\"center\" display=\"flex\">\n {prefix}\n </BaseBox>\n <BaseBox marginRight=\"spacing.5\">\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\" flexWrap=\"wrap\">\n <Text color=\"surface.text.gray.normal\" size=\"large\" weight=\"semibold\">\n {title}\n </Text>\n <BaseBox marginLeft=\"spacing.3\">{suffix}</BaseBox>\n </BaseBox>\n {subtitle && (\n <Text color=\"surface.text.gray.subtle\" textAlign=\"left\" size=\"small\">\n {subtitle}\n </Text>\n )}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardHeaderLeading = assignWithoutSideEffects(_CardHeaderLeading, {\n componentId: ComponentIds.CardHeaderLeading,\n});\n\ntype CardHeaderTrailingProps = {\n /**\n * Renders a visual ornament in card header trailing section\n *\n * Accepts: `CardHeaderLink`, `CardHeaderText`, `CardHeaderIconButton`, `CardHeaderBadge`\n */\n visual?: React.ReactNode;\n};\n\nconst headerTrailingAllowedComponents = [\n ComponentIds.CardHeaderLink,\n ComponentIds.CardHeaderText,\n ComponentIds.CardHeaderIconButton,\n ComponentIds.CardHeaderBadge,\n ComponentIds.CardHeaderAmount,\n];\n\nconst _CardHeaderTrailing = ({ visual }: CardHeaderTrailingProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderTrailing');\n\n if (__DEV__) {\n if (visual && !headerTrailingAllowedComponents.includes(getComponentId(visual)!)) {\n throwBladeError({\n message: `Only one of \\`${headerTrailingAllowedComponents.join(\n ', ',\n )}\\` component is accepted in visual`,\n moduleName: 'CardHeaderTrailing',\n });\n }\n }\n\n return <BaseBox alignSelf=\"center\">{visual}</BaseBox>;\n};\nconst CardHeaderTrailing = assignWithoutSideEffects(_CardHeaderTrailing, {\n componentId: ComponentIds.CardHeaderTrailing,\n});\n\nexport {\n CardHeader,\n CardHeaderLeading,\n CardHeaderTrailing,\n CardHeaderBadge,\n CardHeaderIcon,\n CardHeaderCounter,\n CardHeaderText,\n CardHeaderLink,\n CardHeaderAmount,\n CardHeaderIconButton,\n};\n"],"names":["_CardHeaderIcon","_ref","Icon","icon","useVerifyInsideCard","_jsx","color","size","CardHeaderIcon","assignWithoutSideEffects","componentId","ComponentIds","_CardHeaderCounter","props","Counter","Object","assign","CardHeaderCounter","_CardHeaderBadge","Badge","CardHeaderBadge","_CardHeaderAmount","Amount","CardHeaderAmount","_CardHeaderText","Text","textAlign","CardHeaderText","_CardHeaderLink","Link","CardHeaderLink","_CardHeaderIconButton","BaseBox","width","makeSpace","minHeight","xsmall","children","Button","variant","iconPosition","isFullWidth","CardHeaderIconButton","_CardHeader","_ref2","testID","_ref2$marginBottom","marginBottom","_ref2$paddingBottom","paddingBottom","_ref2$showDivider","showDivider","rest","_objectWithoutProperties","_excluded","useVerifyAllowedChildren","componentName","allowedComponents","CardHeaderLeading","CardHeaderTrailing","_jsxs","metaAttribute","name","MetaConstants","CardHeader","makeAnalyticsAttribute","display","flexDirection","justifyContent","Divider","_CardHeaderLeading","_ref3","title","subtitle","prefix","suffix","_excluded2","__DEV__","isValidAllowedChildren","throwBladeError","message","moduleName","flex","marginRight","alignSelf","alignItems","flexWrap","weight","marginLeft","headerTrailingAllowedComponents","_CardHeaderTrailing","_ref4","visual","includes","getComponentId","join"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CardHeader.js","sources":["../../../../../src/components/Card/CardHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport { useVerifyInsideCard } from './CardContext';\nimport { ComponentIds } from './Card';\nimport type { CardSpacingValueType } from './types';\nimport type { BadgeProps } from '~components/Badge';\nimport { Badge } from '~components/Badge';\nimport type { LinkProps } from '~components/Link';\nimport { Link } from '~components/Link';\nimport type { ButtonProps } from '~components/Button';\nimport { Button } from '~components/Button';\nimport { Counter } from '~components/Counter';\nimport type { CounterProps } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { TextProps, TextVariant } from '~components/Typography';\nimport { Text } from '~components/Typography';\nimport type { IconComponent } from '~components/Icons';\nimport { minHeight } from '~components/Button/BaseButton/buttonTokens';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSpace } from '~utils/makeSpace';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport type { AmountProps } from '~components/Amount';\nimport { Amount } from '~components/Amount';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst _CardHeaderIcon = ({ icon: Icon }: { icon: IconComponent }): React.ReactElement => {\n useVerifyInsideCard('CardHeaderIcon');\n\n return <Icon color=\"surface.icon.gray.normal\" size=\"large\" />;\n};\nconst CardHeaderIcon = assignWithoutSideEffects(_CardHeaderIcon, {\n componentId: ComponentIds.CardHeaderIcon,\n});\n\nconst _CardHeaderCounter = (props: CounterProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderCounter');\n\n return <Counter {...props} />;\n};\nconst CardHeaderCounter = assignWithoutSideEffects(_CardHeaderCounter, {\n componentId: ComponentIds.CardHeaderCounter,\n});\n\nconst _CardHeaderBadge = (props: BadgeProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderBadge');\n\n return <Badge {...props} />;\n};\nconst CardHeaderBadge = assignWithoutSideEffects(_CardHeaderBadge, {\n componentId: ComponentIds.CardHeaderBadge,\n});\n\nconst _CardHeaderAmount = (props: AmountProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderAmount');\n\n return <Amount {...props} />;\n};\n\nconst CardHeaderAmount = assignWithoutSideEffects(_CardHeaderAmount, {\n componentId: ComponentIds.CardHeaderAmount,\n});\n\nconst _CardHeaderText = (props: TextProps<{ variant: TextVariant }>): React.ReactElement => {\n useVerifyInsideCard('CardHeaderText');\n\n return <Text textAlign=\"left\" {...props} />;\n};\nconst CardHeaderText = assignWithoutSideEffects(_CardHeaderText, {\n componentId: ComponentIds.CardHeaderText,\n});\n\nconst _CardHeaderLink = (props: LinkProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderLink');\n\n return <Link {...props} />;\n};\nconst CardHeaderLink = assignWithoutSideEffects(_CardHeaderLink, {\n componentId: ComponentIds.CardHeaderLink,\n});\n\ntype CardHeaderIconButtonProps = Omit<\n ButtonProps,\n 'variant' | 'size' | 'iconPosition' | 'isFullWidth' | 'children'\n> & {\n icon: IconComponent;\n};\n\nconst _CardHeaderIconButton = (props: CardHeaderIconButtonProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderIconButton');\n\n return (\n <BaseBox width={makeSpace(minHeight.xsmall)}>\n <Button {...props} variant=\"tertiary\" size=\"xsmall\" iconPosition=\"left\" isFullWidth />\n </BaseBox>\n );\n};\nconst CardHeaderIconButton = assignWithoutSideEffects(_CardHeaderIconButton, {\n componentId: ComponentIds.CardHeaderIconButton,\n});\n\ntype CardHeaderProps = {\n children?: React.ReactNode;\n /**\n * For spacing between divider and header title\n */\n paddingBottom?: CardSpacingValueType;\n /**\n * For spacing between body content and divider\n */\n marginBottom?: CardSpacingValueType;\n /**\n * @default true\n */\n showDivider?: boolean;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardHeader = ({\n children,\n testID,\n marginBottom = 'spacing.4',\n paddingBottom = 'spacing.4',\n showDivider = true,\n ...rest\n}: CardHeaderProps): React.ReactElement => {\n useVerifyInsideCard('CardHeader');\n useVerifyAllowedChildren({\n children,\n componentName: 'CardHeader',\n allowedComponents: [ComponentIds.CardHeaderLeading, ComponentIds.CardHeaderTrailing],\n });\n\n return (\n <BaseBox\n marginBottom={marginBottom}\n {...metaAttribute({ name: MetaConstants.CardHeader, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox\n paddingBottom={paddingBottom}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n >\n {children}\n </BaseBox>\n {showDivider ? <Divider /> : null}\n </BaseBox>\n );\n};\nconst CardHeader = assignWithoutSideEffects(_CardHeader, { componentId: ComponentIds.CardHeader });\n\ntype CardHeaderLeadingProps = {\n title: string;\n subtitle?: string;\n /**\n * prefix element of Card\n *\n * Accepts: `CardHeaderIcon` component\n */\n prefix?: React.ReactNode;\n /**\n * suffix element of Card\n *\n * Accepts: `CardHeaderCounter` component\n */\n suffix?: React.ReactNode;\n} & DataAnalyticsAttribute;\nconst _CardHeaderLeading = ({\n title,\n subtitle,\n prefix,\n suffix,\n ...rest\n}: CardHeaderLeadingProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderLeading');\n\n if (__DEV__) {\n if (prefix && !isValidAllowedChildren(prefix, ComponentIds.CardHeaderIcon)) {\n throwBladeError({\n message: `Only \\`${ComponentIds.CardHeaderIcon}\\` component is accepted in prefix`,\n moduleName: 'CardHeaderLeading',\n });\n }\n\n if (suffix && !isValidAllowedChildren(suffix, ComponentIds.CardHeaderCounter)) {\n throwBladeError({\n message: `Only \\`${ComponentIds.CardHeaderCounter}\\` component is accepted in prefix`,\n moduleName: 'CardHeaderLeading',\n });\n }\n }\n\n return (\n <BaseBox {...makeAnalyticsAttribute(rest)} flex={1} display=\"flex\" flexDirection=\"row\">\n <BaseBox marginRight=\"spacing.3\" alignSelf=\"center\" display=\"flex\">\n {prefix}\n </BaseBox>\n <BaseBox marginRight=\"spacing.5\">\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\" flexWrap=\"wrap\">\n <Text color=\"surface.text.gray.normal\" size=\"large\" weight=\"semibold\">\n {title}\n </Text>\n <BaseBox marginLeft=\"spacing.3\">{suffix}</BaseBox>\n </BaseBox>\n {subtitle && (\n <Text color=\"surface.text.gray.subtle\" textAlign=\"left\" size=\"small\">\n {subtitle}\n </Text>\n )}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardHeaderLeading = assignWithoutSideEffects(_CardHeaderLeading, {\n componentId: ComponentIds.CardHeaderLeading,\n});\n\ntype CardHeaderTrailingProps = {\n /**\n * Renders a visual ornament in card header trailing section\n *\n * Accepts: `CardHeaderLink`, `CardHeaderText`, `CardHeaderIconButton`, `CardHeaderBadge`\n */\n visual?: React.ReactNode;\n};\n\nconst headerTrailingAllowedComponents = [\n ComponentIds.CardHeaderLink,\n ComponentIds.CardHeaderText,\n ComponentIds.CardHeaderIconButton,\n ComponentIds.CardHeaderBadge,\n ComponentIds.CardHeaderAmount,\n];\n\nconst _CardHeaderTrailing = ({ visual }: CardHeaderTrailingProps): React.ReactElement => {\n useVerifyInsideCard('CardHeaderTrailing');\n\n if (__DEV__) {\n if (visual && !headerTrailingAllowedComponents.includes(getComponentId(visual)!)) {\n throwBladeError({\n message: `Only one of \\`${headerTrailingAllowedComponents.join(\n ', ',\n )}\\` component is accepted in visual`,\n moduleName: 'CardHeaderTrailing',\n });\n }\n }\n\n return <BaseBox alignSelf=\"center\">{visual}</BaseBox>;\n};\nconst CardHeaderTrailing = assignWithoutSideEffects(_CardHeaderTrailing, {\n componentId: ComponentIds.CardHeaderTrailing,\n});\n\nexport {\n CardHeader,\n CardHeaderLeading,\n CardHeaderTrailing,\n CardHeaderBadge,\n CardHeaderIcon,\n CardHeaderCounter,\n CardHeaderText,\n CardHeaderLink,\n CardHeaderAmount,\n CardHeaderIconButton,\n};\n"],"names":["_CardHeaderIcon","_ref","Icon","icon","useVerifyInsideCard","_jsx","color","size","CardHeaderIcon","assignWithoutSideEffects","componentId","ComponentIds","_CardHeaderCounter","props","Counter","Object","assign","CardHeaderCounter","_CardHeaderBadge","Badge","CardHeaderBadge","_CardHeaderAmount","Amount","CardHeaderAmount","_CardHeaderText","Text","textAlign","CardHeaderText","_CardHeaderLink","Link","CardHeaderLink","_CardHeaderIconButton","BaseBox","width","makeSpace","minHeight","xsmall","children","Button","variant","iconPosition","isFullWidth","CardHeaderIconButton","_CardHeader","_ref2","testID","_ref2$marginBottom","marginBottom","_ref2$paddingBottom","paddingBottom","_ref2$showDivider","showDivider","rest","_objectWithoutProperties","_excluded","useVerifyAllowedChildren","componentName","allowedComponents","CardHeaderLeading","CardHeaderTrailing","_jsxs","metaAttribute","name","MetaConstants","CardHeader","makeAnalyticsAttribute","display","flexDirection","justifyContent","Divider","_CardHeaderLeading","_ref3","title","subtitle","prefix","suffix","_excluded2","__DEV__","isValidAllowedChildren","throwBladeError","message","moduleName","flex","marginRight","alignSelf","alignItems","flexWrap","weight","marginLeft","headerTrailingAllowedComponents","_CardHeaderTrailing","_ref4","visual","includes","getComponentId","join"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import '../BottomSheet/BottomSheetStack.js';
|
|
|
17
17
|
import { jsx } from 'react/jsx-runtime';
|
|
18
18
|
import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.native.js';
|
|
19
19
|
|
|
20
|
-
var _excluded=["isSelected"],_excluded2=["children","onClick","isSelected","shouldScaleOnHover","href","as","accessibilityLabel"];var StyledCardRoot=styled(BaseBox)(function(_ref){var isSelected=_ref.isSelected,props=_objectWithoutProperties(_ref,_excluded);var selectedColor=isSelected?props.theme.colors.surface.border.primary.normal:'transparent';return {border:`${props.theme.border.width.thicker}px solid ${selectedColor}`};});var AnimatedPressable=Animated.createAnimatedComponent(Pressable);var openURL=function(){var _ref2=_asyncToGenerator(function*(href){try{var canOpen=yield Linking.canOpenURL(href);if(canOpen){yield Linking.openURL(href);}}catch(_unused){if(__DEV__){logger({type:'warn',message:`Could not open the link "href=${href}"`,moduleName:'BaseButton'});}}});return function openURL(_x){return _ref2.apply(this,arguments);};}();var
|
|
20
|
+
var _excluded=["isSelected"],_excluded2=["children","onClick","isSelected","shouldScaleOnHover","href","as","accessibilityLabel"];var StyledCardRoot=styled(BaseBox)(function(_ref){var isSelected=_ref.isSelected,props=_objectWithoutProperties(_ref,_excluded);var selectedColor=isSelected?props.theme.colors.surface.border.primary.normal:'transparent';return {border:`${props.theme.border.width.thicker}px solid ${selectedColor}`};});var AnimatedPressable=Animated.createAnimatedComponent(Pressable);var openURL=function(){var _ref2=_asyncToGenerator(function*(href){try{var canOpen=yield Linking.canOpenURL(href);if(canOpen){yield Linking.openURL(href);}}catch(_unused){if(__DEV__){logger({type:'warn',message:`Could not open the link "href=${href}"`,moduleName:'BaseButton'});}}});return function openURL(_x){return _ref2.apply(this,arguments);};}();var _CardRoot=function _CardRoot(_ref3,ref){var children=_ref3.children,onClick=_ref3.onClick,isSelected=_ref3.isSelected,shouldScaleOnHover=_ref3.shouldScaleOnHover,href=_ref3.href;_ref3.as;var accessibilityLabel=_ref3.accessibilityLabel,props=_objectWithoutProperties(_ref3,_excluded2);var _useTheme=useTheme(),theme=_useTheme.theme;var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isPressed=_React$useState2[0],setIsPressed=_React$useState2[1];var duration=castNativeType(makeMotionTime(theme.motion.duration.xquick));var easing=castNativeType(theme.motion.easing.standard);var styles=useAnimatedStyle(function(){return {transform:[{scale:withTiming(isPressed?CARD_SCALE_DOWN_VALUE:1,{duration:duration,easing:easing})}]};},[isPressed]);if(onClick||shouldScaleOnHover||href){return jsx(AnimatedPressable,Object.assign({ref:ref},makeAccessible({role:href?'link':undefined,label:accessibilityLabel,selected:isSelected}),{style:styles,onPressIn:function onPressIn(event){if(onClick){onClick(event);}setIsPressed(true);},onPressOut:function onPressOut(){if(href){void openURL(href);}setIsPressed(false);},children:jsx(StyledCardRoot,Object.assign({as:undefined,isSelected:isSelected},props,{children:children}))}));}return jsx(StyledCardRoot,Object.assign({as:undefined,isSelected:isSelected},props,{children:children}));};var CardRoot=React__default.forwardRef(_CardRoot);
|
|
21
21
|
|
|
22
22
|
export { CardRoot };
|
|
23
23
|
//# sourceMappingURL=CardRoot.native.js.map
|