@razorpay/blade 11.37.0 → 11.38.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 -1
- package/build/lib/native/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItem.js +3 -1
- package/build/lib/native/components/Accordion/AccordionItem.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItemBody.js +3 -2
- package/build/lib/native/components/Accordion/AccordionItemBody.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItemHeader.js +3 -2
- package/build/lib/native/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionList.js +3 -1
- package/build/lib/native/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionListItem.js +3 -2
- package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/native/components/Alert/Alert.js +2 -1
- package/build/lib/native/components/Alert/Alert.js.map +1 -1
- package/build/lib/native/components/Amount/Amount.js +2 -1
- package/build/lib/native/components/Amount/Amount.js.map +1 -1
- package/build/lib/native/components/Badge/Badge.js +2 -1
- package/build/lib/native/components/Badge/Badge.js.map +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseFooter.js +3 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseFooter.js.map +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +3 -2
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.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 +2 -1
- package/build/lib/native/components/Box/Box.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js +2 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/native/components/Button/Button/Button.js +2 -1
- package/build/lib/native/components/Button/Button/Button.js.map +1 -1
- package/build/lib/native/components/Button/IconButton/IconButton.js +3 -1
- package/build/lib/native/components/Button/IconButton/IconButton.js.map +1 -1
- package/build/lib/native/components/Card/Card.js +2 -1
- package/build/lib/native/components/Card/Card.js.map +1 -1
- package/build/lib/native/components/Card/CardFooter.js +3 -2
- package/build/lib/native/components/Card/CardFooter.js.map +1 -1
- package/build/lib/native/components/Card/CardHeader.js +3 -2
- package/build/lib/native/components/Card/CardHeader.js.map +1 -1
- package/build/lib/native/components/Checkbox/Checkbox.js +3 -2
- package/build/lib/native/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/native/components/Checkbox/CheckboxGroup/CheckboxGroup.js +2 -1
- package/build/lib/native/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/native/components/Chip/Chip.js +2 -1
- package/build/lib/native/components/Chip/Chip.js.map +1 -1
- package/build/lib/native/components/Chip/ChipGroup.js +2 -1
- package/build/lib/native/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/native/components/Collapsible/Collapsible.js +2 -1
- package/build/lib/native/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/native/components/Collapsible/CollapsibleBody.js +3 -1
- package/build/lib/native/components/Collapsible/CollapsibleBody.js.map +1 -1
- package/build/lib/native/components/Collapsible/CollapsibleButton.js +3 -1
- package/build/lib/native/components/Collapsible/CollapsibleButton.js.map +1 -1
- package/build/lib/native/components/Collapsible/CollapsibleLink.js +2 -1
- package/build/lib/native/components/Collapsible/CollapsibleLink.js.map +1 -1
- package/build/lib/native/components/Counter/Counter.js +2 -1
- package/build/lib/native/components/Counter/Counter.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/Dropdown/DropdownButton.js +1 -1
- package/build/lib/native/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/native/components/Dropdown/DropdownHeaderFooter.js +3 -1
- package/build/lib/native/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/native/components/Dropdown/DropdownLink.js +2 -1
- package/build/lib/native/components/Dropdown/DropdownLink.js.map +1 -1
- package/build/lib/native/components/Form/Selector/SelectorGroupField.js +3 -1
- package/build/lib/native/components/Form/Selector/SelectorGroupField.js.map +1 -1
- package/build/lib/native/components/Indicator/Indicator.js +2 -1
- package/build/lib/native/components/Indicator/Indicator.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/DropdownInputTriggers/BaseDropdownInputTrigger.js +2 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/SelectInput.js +2 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/SelectInput.js.map +1 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.js +2 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/native/components/Input/PasswordInput/PasswordInput.js +1 -1
- package/build/lib/native/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/native/components/Input/SearchInput/SearchInput.js +1 -1
- package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/native/components/Input/TextArea/TextArea.js +1 -1
- package/build/lib/native/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/Link/BaseLink/BaseLink.js +2 -1
- package/build/lib/native/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/native/components/Link/Link/Link.js +2 -1
- package/build/lib/native/components/Link/Link/Link.js.map +1 -1
- package/build/lib/native/components/ProgressBar/ProgressBar.js +2 -1
- 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/RadioGroup/RadioGroup.js +2 -1
- package/build/lib/native/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/native/components/StepGroup/tokens.js +1 -1
- package/build/lib/native/components/StepGroup/tokens.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/Tag/Tag.js +2 -1
- package/build/lib/native/components/Tag/Tag.js.map +1 -1
- package/build/lib/native/tokens/global/size.js +1 -1
- package/build/lib/native/tokens/global/size.js.map +1 -1
- package/build/lib/native/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js +7 -0
- package/build/lib/native/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js.map +1 -0
- package/build/lib/web/development/components/Accordion/Accordion.js +5 -3
- package/build/lib/web/development/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/web/development/components/Accordion/AccordionButton.web.js +8 -3
- package/build/lib/web/development/components/Accordion/AccordionButton.web.js.map +1 -1
- package/build/lib/web/development/components/Accordion/AccordionItem.js +8 -3
- package/build/lib/web/development/components/Accordion/AccordionItem.js.map +1 -1
- package/build/lib/web/development/components/Accordion/AccordionItemBody.js +8 -3
- package/build/lib/web/development/components/Accordion/AccordionItemBody.js.map +1 -1
- package/build/lib/web/development/components/Accordion/AccordionItemHeader.js +10 -4
- package/build/lib/web/development/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionList.js +9 -4
- package/build/lib/web/development/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListBox.web.js +8 -3
- package/build/lib/web/development/components/ActionList/ActionListBox.web.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js +10 -5
- package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/development/components/Alert/Alert.js +5 -3
- package/build/lib/web/development/components/Alert/Alert.js.map +1 -1
- package/build/lib/web/development/components/Amount/Amount.js +5 -8
- package/build/lib/web/development/components/Amount/Amount.js.map +1 -1
- package/build/lib/web/development/components/Avatar/Avatar.web.js +5 -3
- package/build/lib/web/development/components/Avatar/Avatar.web.js.map +1 -1
- package/build/lib/web/development/components/Avatar/AvatarGroup.web.js +5 -3
- package/build/lib/web/development/components/Avatar/AvatarGroup.web.js.map +1 -1
- package/build/lib/web/development/components/Badge/Badge.js +5 -3
- package/build/lib/web/development/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/development/components/BaseHeaderFooter/BaseFooter.js +8 -3
- package/build/lib/web/development/components/BaseHeaderFooter/BaseFooter.js.map +1 -1
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +8 -3
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/development/components/BottomNav/BottomNav.web.js +12 -8
- package/build/lib/web/development/components/BottomNav/BottomNav.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js +9 -3
- package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js +8 -3
- package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetFooter.web.js +8 -3
- package/build/lib/web/development/components/BottomSheet/BottomSheetFooter.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetHeader.web.js +8 -3
- package/build/lib/web/development/components/BottomSheet/BottomSheetHeader.web.js.map +1 -1
- package/build/lib/web/development/components/Box/BaseBox/BaseBox.web.js +4 -2
- package/build/lib/web/development/components/Box/BaseBox/BaseBox.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 +4 -2
- package/build/lib/web/development/components/Box/Box.js.map +1 -1
- package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js +6 -4
- package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
- package/build/lib/web/development/components/Breadcrumb/BreadcrumbItem.web.js +13 -4
- package/build/lib/web/development/components/Breadcrumb/BreadcrumbItem.web.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +4 -2
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Button/Button/Button.js +4 -2
- package/build/lib/web/development/components/Button/Button/Button.js.map +1 -1
- package/build/lib/web/development/components/Button/IconButton/IconButton.js +11 -5
- package/build/lib/web/development/components/Button/IconButton/IconButton.js.map +1 -1
- package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js +8 -3
- package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
- package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js +5 -3
- package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
- package/build/lib/web/development/components/Card/Card.js +11 -7
- package/build/lib/web/development/components/Card/Card.js.map +1 -1
- package/build/lib/web/development/components/Card/CardFooter.js +22 -11
- package/build/lib/web/development/components/Card/CardFooter.js.map +1 -1
- package/build/lib/web/development/components/Card/CardHeader.js +13 -6
- package/build/lib/web/development/components/Card/CardHeader.js.map +1 -1
- package/build/lib/web/development/components/Carousel/Carousel.web.js +5 -3
- package/build/lib/web/development/components/Carousel/Carousel.web.js.map +1 -1
- package/build/lib/web/development/components/Carousel/CarouselItem.web.js +9 -3
- package/build/lib/web/development/components/Carousel/CarouselItem.web.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/Checkbox.js +6 -4
- package/build/lib/web/development/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/CheckboxGroup/CheckboxGroup.js +8 -5
- package/build/lib/web/development/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/web/development/components/Chip/Chip.js +5 -3
- package/build/lib/web/development/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/development/components/Chip/ChipGroup.js +8 -5
- package/build/lib/web/development/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/Collapsible.js +5 -3
- package/build/lib/web/development/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/CollapsibleBody.js +8 -3
- package/build/lib/web/development/components/Collapsible/CollapsibleBody.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/CollapsibleButton.js +13 -4
- package/build/lib/web/development/components/Collapsible/CollapsibleButton.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/CollapsibleLink.js +5 -3
- package/build/lib/web/development/components/Collapsible/CollapsibleLink.js.map +1 -1
- package/build/lib/web/development/components/Counter/Counter.js +5 -3
- package/build/lib/web/development/components/Counter/Counter.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/DateInput.web.js +11 -7
- package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/DatePicker.web.js +4 -2
- package/build/lib/web/development/components/DatePicker/DatePicker.web.js.map +1 -1
- package/build/lib/web/development/components/Drawer/Drawer.web.js +8 -3
- package/build/lib/web/development/components/Drawer/Drawer.web.js.map +1 -1
- package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js +11 -3
- package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +5 -3
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownButton.js +2 -2
- package/build/lib/web/development/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js +8 -3
- package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownLink.js +5 -3
- package/build/lib/web/development/components/Dropdown/DropdownLink.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js +6 -4
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorGroupField.js +8 -3
- package/build/lib/web/development/components/Form/Selector/SelectorGroupField.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js +8 -3
- package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js.map +1 -1
- package/build/lib/web/development/components/Indicator/Indicator.js +5 -3
- package/build/lib/web/development/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +6 -4
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +5 -2
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/SelectInput.js +5 -3
- package/build/lib/web/development/components/Input/DropdownInputTriggers/SelectInput.js.map +1 -1
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +6 -4
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js +2 -2
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +2 -2
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +2 -2
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextArea/TextArea.js +2 -2
- package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +2 -2
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/Link/BaseLink/BaseLink.js +5 -3
- package/build/lib/web/development/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/web/development/components/Link/Link/Link.js +4 -2
- package/build/lib/web/development/components/Link/Link/Link.js.map +1 -1
- package/build/lib/web/development/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js +18 -8
- package/build/lib/web/development/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js.map +1 -1
- package/build/lib/web/development/components/Modal/Modal.web.js +10 -4
- package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalBody.web.js +9 -3
- package/build/lib/web/development/components/Modal/ModalBody.web.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalFooter.web.js +7 -2
- package/build/lib/web/development/components/Modal/ModalFooter.web.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalHeader.web.js +14 -6
- package/build/lib/web/development/components/Modal/ModalHeader.web.js.map +1 -1
- package/build/lib/web/development/components/Popover/Popover.web.js +8 -3
- package/build/lib/web/development/components/Popover/Popover.web.js.map +1 -1
- package/build/lib/web/development/components/Popover/PopoverInteractiveWrapper.web.js.map +1 -1
- package/build/lib/web/development/components/ProgressBar/ProgressBar.js +5 -3
- package/build/lib/web/development/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/web/development/components/Radio/Radio.js +6 -4
- package/build/lib/web/development/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/development/components/Radio/RadioGroup/RadioGroup.js +8 -5
- package/build/lib/web/development/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNav.web.js +5 -3
- package/build/lib/web/development/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js +13 -4
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js +10 -4
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavSection.web.js +10 -4
- package/build/lib/web/development/components/SideNav/SideNavSection.web.js.map +1 -1
- 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 +13 -7
- package/build/lib/web/development/components/StepGroup/StepItem.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/StepLine.web.js +79 -42
- package/build/lib/web/development/components/StepGroup/StepLine.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/tokens.js +6 -6
- package/build/lib/web/development/components/StepGroup/tokens.js.map +1 -1
- package/build/lib/web/development/components/Switch/Switch.js +5 -3
- package/build/lib/web/development/components/Switch/Switch.js.map +1 -1
- package/build/lib/web/development/components/Table/Table.web.js +9 -7
- package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableBody.web.js +18 -9
- package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableFooter.web.js +18 -9
- package/build/lib/web/development/components/Table/TableFooter.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableHeader.web.js +18 -9
- package/build/lib/web/development/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TablePagination.web.js +10 -4
- package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableToolbar.web.js +13 -8
- package/build/lib/web/development/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabItem.web.js +9 -5
- package/build/lib/web/development/components/Tabs/TabItem.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabList.web.js +5 -3
- package/build/lib/web/development/components/Tabs/TabList.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabPanel.web.js +10 -5
- package/build/lib/web/development/components/Tabs/TabPanel.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/Tabs.web.js +8 -3
- package/build/lib/web/development/components/Tabs/Tabs.web.js.map +1 -1
- package/build/lib/web/development/components/Tag/Tag.js +6 -4
- package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/development/components/Toast/ToastContainer.web.js +8 -3
- package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js +8 -3
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/lib/web/development/components/TopNav/TabNav/TabNav.web.js +6 -3
- package/build/lib/web/development/components/TopNav/TabNav/TabNav.web.js.map +1 -1
- package/build/lib/web/development/components/TopNav/TopNav.web.js +8 -5
- package/build/lib/web/development/components/TopNav/TopNav.web.js.map +1 -1
- package/build/lib/web/development/tokens/global/size.js +3 -1
- package/build/lib/web/development/tokens/global/size.js.map +1 -1
- package/build/lib/web/development/utils/makeAnalyticsAttribute/index.js +2 -0
- package/build/lib/web/development/utils/makeAnalyticsAttribute/index.js.map +1 -0
- package/build/lib/web/development/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js +20 -0
- package/build/lib/web/development/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js.map +1 -0
- package/build/lib/web/production/components/Accordion/Accordion.js +5 -3
- package/build/lib/web/production/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/web/production/components/Accordion/AccordionButton.web.js +8 -3
- package/build/lib/web/production/components/Accordion/AccordionButton.web.js.map +1 -1
- package/build/lib/web/production/components/Accordion/AccordionItem.js +8 -3
- package/build/lib/web/production/components/Accordion/AccordionItem.js.map +1 -1
- package/build/lib/web/production/components/Accordion/AccordionItemBody.js +8 -3
- package/build/lib/web/production/components/Accordion/AccordionItemBody.js.map +1 -1
- package/build/lib/web/production/components/Accordion/AccordionItemHeader.js +10 -4
- package/build/lib/web/production/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionList.js +9 -4
- package/build/lib/web/production/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListBox.web.js +8 -3
- package/build/lib/web/production/components/ActionList/ActionListBox.web.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js +10 -5
- package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/production/components/Alert/Alert.js +5 -3
- package/build/lib/web/production/components/Alert/Alert.js.map +1 -1
- package/build/lib/web/production/components/Amount/Amount.js +5 -8
- package/build/lib/web/production/components/Amount/Amount.js.map +1 -1
- package/build/lib/web/production/components/Avatar/Avatar.web.js +5 -3
- package/build/lib/web/production/components/Avatar/Avatar.web.js.map +1 -1
- package/build/lib/web/production/components/Avatar/AvatarGroup.web.js +5 -3
- package/build/lib/web/production/components/Avatar/AvatarGroup.web.js.map +1 -1
- package/build/lib/web/production/components/Badge/Badge.js +5 -3
- package/build/lib/web/production/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/production/components/BaseHeaderFooter/BaseFooter.js +8 -3
- package/build/lib/web/production/components/BaseHeaderFooter/BaseFooter.js.map +1 -1
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +8 -3
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/production/components/BottomNav/BottomNav.web.js +12 -8
- package/build/lib/web/production/components/BottomNav/BottomNav.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js +9 -3
- package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js +8 -3
- package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetFooter.web.js +8 -3
- package/build/lib/web/production/components/BottomSheet/BottomSheetFooter.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetHeader.web.js +8 -3
- package/build/lib/web/production/components/BottomSheet/BottomSheetHeader.web.js.map +1 -1
- package/build/lib/web/production/components/Box/BaseBox/BaseBox.web.js +4 -2
- package/build/lib/web/production/components/Box/BaseBox/BaseBox.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 +4 -2
- package/build/lib/web/production/components/Box/Box.js.map +1 -1
- package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js +6 -4
- package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
- package/build/lib/web/production/components/Breadcrumb/BreadcrumbItem.web.js +13 -4
- package/build/lib/web/production/components/Breadcrumb/BreadcrumbItem.web.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +4 -2
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Button/Button/Button.js +4 -2
- package/build/lib/web/production/components/Button/Button/Button.js.map +1 -1
- package/build/lib/web/production/components/Button/IconButton/IconButton.js +11 -5
- package/build/lib/web/production/components/Button/IconButton/IconButton.js.map +1 -1
- package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js +8 -3
- package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
- package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js +5 -3
- package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
- package/build/lib/web/production/components/Card/Card.js +11 -7
- package/build/lib/web/production/components/Card/Card.js.map +1 -1
- package/build/lib/web/production/components/Card/CardFooter.js +22 -11
- package/build/lib/web/production/components/Card/CardFooter.js.map +1 -1
- package/build/lib/web/production/components/Card/CardHeader.js +13 -6
- package/build/lib/web/production/components/Card/CardHeader.js.map +1 -1
- package/build/lib/web/production/components/Carousel/Carousel.web.js +5 -3
- package/build/lib/web/production/components/Carousel/Carousel.web.js.map +1 -1
- package/build/lib/web/production/components/Carousel/CarouselItem.web.js +9 -3
- package/build/lib/web/production/components/Carousel/CarouselItem.web.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/Checkbox.js +6 -4
- package/build/lib/web/production/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/CheckboxGroup/CheckboxGroup.js +8 -5
- package/build/lib/web/production/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/web/production/components/Chip/Chip.js +5 -3
- package/build/lib/web/production/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/production/components/Chip/ChipGroup.js +8 -5
- package/build/lib/web/production/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/Collapsible.js +5 -3
- package/build/lib/web/production/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/CollapsibleBody.js +8 -3
- package/build/lib/web/production/components/Collapsible/CollapsibleBody.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/CollapsibleButton.js +13 -4
- package/build/lib/web/production/components/Collapsible/CollapsibleButton.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/CollapsibleLink.js +5 -3
- package/build/lib/web/production/components/Collapsible/CollapsibleLink.js.map +1 -1
- package/build/lib/web/production/components/Counter/Counter.js +5 -3
- package/build/lib/web/production/components/Counter/Counter.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/DateInput.web.js +11 -7
- package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/DatePicker.web.js +4 -2
- package/build/lib/web/production/components/DatePicker/DatePicker.web.js.map +1 -1
- package/build/lib/web/production/components/Drawer/Drawer.web.js +8 -3
- package/build/lib/web/production/components/Drawer/Drawer.web.js.map +1 -1
- package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js +11 -3
- package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +5 -3
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownButton.js +2 -2
- package/build/lib/web/production/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js +8 -3
- package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownLink.js +5 -3
- package/build/lib/web/production/components/Dropdown/DropdownLink.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js +6 -4
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorGroupField.js +8 -3
- package/build/lib/web/production/components/Form/Selector/SelectorGroupField.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js +8 -3
- package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js.map +1 -1
- package/build/lib/web/production/components/Indicator/Indicator.js +5 -3
- package/build/lib/web/production/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +6 -4
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +5 -2
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/SelectInput.js +5 -3
- package/build/lib/web/production/components/Input/DropdownInputTriggers/SelectInput.js.map +1 -1
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +6 -4
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js +2 -2
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +2 -2
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +2 -2
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextArea/TextArea.js +2 -2
- package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +2 -2
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/Link/BaseLink/BaseLink.js +5 -3
- package/build/lib/web/production/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/web/production/components/Link/Link/Link.js +4 -2
- package/build/lib/web/production/components/Link/Link/Link.js.map +1 -1
- package/build/lib/web/production/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js +18 -8
- package/build/lib/web/production/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js.map +1 -1
- package/build/lib/web/production/components/Modal/Modal.web.js +10 -4
- package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalBody.web.js +9 -3
- package/build/lib/web/production/components/Modal/ModalBody.web.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalFooter.web.js +7 -2
- package/build/lib/web/production/components/Modal/ModalFooter.web.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalHeader.web.js +14 -6
- package/build/lib/web/production/components/Modal/ModalHeader.web.js.map +1 -1
- package/build/lib/web/production/components/Popover/Popover.web.js +8 -3
- package/build/lib/web/production/components/Popover/Popover.web.js.map +1 -1
- package/build/lib/web/production/components/Popover/PopoverInteractiveWrapper.web.js.map +1 -1
- package/build/lib/web/production/components/ProgressBar/ProgressBar.js +5 -3
- package/build/lib/web/production/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/web/production/components/Radio/Radio.js +6 -4
- package/build/lib/web/production/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/production/components/Radio/RadioGroup/RadioGroup.js +8 -5
- package/build/lib/web/production/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNav.web.js +5 -3
- package/build/lib/web/production/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js +13 -4
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js +10 -4
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavSection.web.js +10 -4
- package/build/lib/web/production/components/SideNav/SideNavSection.web.js.map +1 -1
- 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 +13 -7
- package/build/lib/web/production/components/StepGroup/StepItem.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/StepLine.web.js +79 -42
- package/build/lib/web/production/components/StepGroup/StepLine.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/tokens.js +6 -6
- package/build/lib/web/production/components/StepGroup/tokens.js.map +1 -1
- package/build/lib/web/production/components/Switch/Switch.js +5 -3
- package/build/lib/web/production/components/Switch/Switch.js.map +1 -1
- package/build/lib/web/production/components/Table/Table.web.js +9 -7
- package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableBody.web.js +18 -9
- package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableFooter.web.js +18 -9
- package/build/lib/web/production/components/Table/TableFooter.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableHeader.web.js +18 -9
- package/build/lib/web/production/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TablePagination.web.js +10 -4
- package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableToolbar.web.js +13 -8
- package/build/lib/web/production/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabItem.web.js +9 -5
- package/build/lib/web/production/components/Tabs/TabItem.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabList.web.js +5 -3
- package/build/lib/web/production/components/Tabs/TabList.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabPanel.web.js +10 -5
- package/build/lib/web/production/components/Tabs/TabPanel.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/Tabs.web.js +8 -3
- package/build/lib/web/production/components/Tabs/Tabs.web.js.map +1 -1
- package/build/lib/web/production/components/Tag/Tag.js +6 -4
- package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/production/components/Toast/ToastContainer.web.js +8 -3
- package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js +8 -3
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/lib/web/production/components/TopNav/TabNav/TabNav.web.js +6 -3
- package/build/lib/web/production/components/TopNav/TabNav/TabNav.web.js.map +1 -1
- package/build/lib/web/production/components/TopNav/TopNav.web.js +8 -5
- package/build/lib/web/production/components/TopNav/TopNav.web.js.map +1 -1
- package/build/lib/web/production/tokens/global/size.js +3 -1
- package/build/lib/web/production/tokens/global/size.js.map +1 -1
- package/build/lib/web/production/utils/makeAnalyticsAttribute/index.js +2 -0
- package/build/lib/web/production/utils/makeAnalyticsAttribute/index.js.map +1 -0
- package/build/lib/web/production/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js +20 -0
- package/build/lib/web/production/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js.map +1 -0
- package/build/types/components/index.d.ts +221 -189
- package/build/types/components/index.native.d.ts +145 -131
- package/build/types/tokens/index.d.ts +3 -1
- package/build/types/tokens/index.native.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
2
3
|
import React__default from 'react';
|
|
3
4
|
import styled from 'styled-components';
|
|
4
5
|
import { componentIds } from './componentIds.js';
|
|
@@ -20,6 +21,7 @@ import { dropdownComponentIds } from '../Dropdown/dropdownComponentIds.js';
|
|
|
20
21
|
import '../BaseMenu/index.js';
|
|
21
22
|
import '../Checkbox/index.js';
|
|
22
23
|
import '../Avatar/index.js';
|
|
24
|
+
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
23
25
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
24
26
|
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
25
27
|
import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
@@ -27,6 +29,7 @@ import { isReactNative } from '../../utils/platform/isReactNative.js';
|
|
|
27
29
|
import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
|
|
28
30
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
29
31
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
32
|
+
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
30
33
|
import { Text } from '../Typography/Text/Text.js';
|
|
31
34
|
import { Divider } from '../Divider/Divider.js';
|
|
32
35
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
@@ -39,6 +42,7 @@ import { BaseMenuItem } from '../BaseMenu/BaseMenuItem/BaseMenuItem.js';
|
|
|
39
42
|
import { Checkbox } from '../Checkbox/Checkbox.js';
|
|
40
43
|
import { castWebType } from '../../utils/platform/castUtils.js';
|
|
41
44
|
|
|
45
|
+
var _excluded = ["title", "children", "testID", "_hideDivider", "_sectionChildValues"];
|
|
42
46
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
43
47
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
44
48
|
var StyledActionListSectionTitle = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
@@ -55,7 +59,8 @@ var _ActionListSection = function _ActionListSection(_ref) {
|
|
|
55
59
|
children = _ref.children,
|
|
56
60
|
testID = _ref.testID,
|
|
57
61
|
_hideDivider = _ref._hideDivider,
|
|
58
|
-
_sectionChildValues = _ref._sectionChildValues
|
|
62
|
+
_sectionChildValues = _ref._sectionChildValues,
|
|
63
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
59
64
|
var _useDropdown = useDropdown(),
|
|
60
65
|
hasAutoCompleteInBottomSheetHeader = _useDropdown.hasAutoCompleteInBottomSheetHeader,
|
|
61
66
|
dropdownTriggerer = _useDropdown.dropdownTriggerer,
|
|
@@ -72,13 +77,13 @@ var _ActionListSection = function _ActionListSection(_ref) {
|
|
|
72
77
|
}, [_sectionChildValues, hasAutoComplete, filteredValues]);
|
|
73
78
|
var showDividerInRN = !(_hideDivider && isReactNative());
|
|
74
79
|
var showDividerInAutoComplete = hasAutoComplete ? isSectionVisible && filteredValues.length > 1 : true;
|
|
75
|
-
return /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread({}, makeAccessible({
|
|
80
|
+
return /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, makeAccessible({
|
|
76
81
|
role: getActionListSectionRole(),
|
|
77
82
|
label: title
|
|
78
83
|
})), metaAttribute({
|
|
79
84
|
name: MetaConstants.ActionListSection,
|
|
80
85
|
testID: testID
|
|
81
|
-
})), {}, {
|
|
86
|
+
})), makeAnalyticsAttribute(rest)), {}, {
|
|
82
87
|
children: [isSectionVisible ? /*#__PURE__*/jsx(StyledActionListSectionTitle, _objectSpread(_objectSpread({}, makeAccessible({
|
|
83
88
|
hidden: true
|
|
84
89
|
})), {}, {
|
|
@@ -244,7 +249,7 @@ var _ActionListItem = function _ActionListItem(props) {
|
|
|
244
249
|
return (
|
|
245
250
|
/*#__PURE__*/
|
|
246
251
|
// We use this context to change the color of subcomponents like ActionListItemIcon, ActionListItemText, etc
|
|
247
|
-
jsx(BaseMenuItem, _objectSpread(_objectSpread(_objectSpread({
|
|
252
|
+
jsx(BaseMenuItem, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
248
253
|
isVisible: hasAutoComplete && filteredValues ? filteredValues.includes(props.value) : true,
|
|
249
254
|
as: !isReactNative() ? renderOnWebAs : undefined,
|
|
250
255
|
id: "".concat(dropdownBaseId, "-").concat(props._index),
|
|
@@ -282,7 +287,7 @@ var _ActionListItem = function _ActionListItem(props) {
|
|
|
282
287
|
event: castWebType(e)
|
|
283
288
|
});
|
|
284
289
|
}
|
|
285
|
-
})), metaAttribute({
|
|
290
|
+
})), makeAnalyticsAttribute(_objectSpread({}, props))), metaAttribute({
|
|
286
291
|
name: MetaConstants.ActionListItem,
|
|
287
292
|
testID: props.testID
|
|
288
293
|
})), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionListItem.js","sources":["../../../../../../src/components/ActionList/ActionListItem.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { TouchableOpacity } from 'react-native';\nimport { componentIds } from './componentIds';\nimport { validateActionListItemProps, getNormalTextColor } from './actionListUtils';\nimport { getActionListItemRole, getActionListSectionRole } from './getA11yRoles';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { IconComponent } from '~components/Icons';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { Text } from '~components/Typography';\nimport type { Platform } from '~utils';\nimport { castWebType, isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { StringChildrenType, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSize } from '~utils/makeSize';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport type { BadgeProps } from '~components/Badge';\nimport { Badge } from '~components/Badge';\nimport { Box } from '~components/Box';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { BaseMenuItem, useBaseMenuItem } from '~components/BaseMenu';\nimport { Checkbox } from '~components/Checkbox';\nimport type { AvatarProps } from '~components/Avatar/types';\nimport { Avatar } from '~components/Avatar';\n\ntype ActionListItemProps = {\n title: string;\n description?: string;\n onClick?: (clickProps: {\n name: string;\n value?: boolean;\n event: Platform.Select<{\n web: React.MouseEvent;\n native: React.TouchEvent<TouchableOpacity>;\n }>;\n }) => void;\n /**\n * value that you get from `onChange` event on SelectInput or in form submissions.\n */\n value: string;\n /**\n * Link to open when item is clicked.\n */\n href?: string;\n /**\n * HTML target of the link\n */\n target?: string;\n /**\n * Item that goes on left-side of item.\n *\n * Valid elements - `<ActionListItemIcon />`, `<ActionListItemAsset />`\n *\n * Will be overriden in multiselect\n */\n leading?: React.ReactNode;\n /**\n * Item that goes on right-side of item.\n *\n * Valid elements - `<ActionListItemText />`, `<ActionListItemIcon />`\n */\n trailing?: React.ReactNode;\n /**\n * Item that goes immediately next to the title.\n *\n * Valid elements - `<ActionListItemBadge />`, `<ActionListItemBadgeGroup />`\n *\n */\n titleSuffix?: React.ReactElement;\n isDisabled?: boolean;\n intent?: Extract<FeedbackColors, 'negative'>;\n /**\n * Can be used in combination of `onClick` to highlight item as selected in Button Triggers.\n *\n * When trigger is SelectInput, Use `value` prop on SelectInput instead to make dropdown controlled.\n */\n isSelected?: boolean;\n /**\n * Internally passed from ActionList. No need to pass it explicitly\n *\n * @private\n */\n _index?: number;\n} & TestID;\n\nconst StyledActionListSectionTitle = styled(BaseBox)((props) => ({\n // @TODO: replace this styled-component with new layout box when we have padding shorthand\n padding: makeSize(props.theme.spacing[3]),\n}));\n\ntype ActionListSectionProps = {\n title: string;\n children: React.ReactNode[] | React.ReactNode;\n /**\n * Internally used to hide the divider on final item in React Native.\n *\n * Should not be used by consumers (also won't work on web)\n *\n * @private\n */\n _hideDivider?: boolean;\n /**\n * Internally used to hide / show section in AutoComplete\n *\n * @private\n */\n _sectionChildValues?: string[];\n} & TestID;\nconst _ActionListSection = ({\n title,\n children,\n testID,\n _hideDivider,\n _sectionChildValues,\n}: ActionListSectionProps): React.ReactElement => {\n const { hasAutoCompleteInBottomSheetHeader, dropdownTriggerer, filteredValues } = useDropdown();\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const isSectionVisible = React.useMemo(() => {\n if (hasAutoComplete) {\n const visibleActionListItemInSection = _sectionChildValues?.find((actionItemValue) =>\n filteredValues.includes(actionItemValue),\n );\n\n return Boolean(visibleActionListItemInSection);\n }\n\n return true;\n }, [_sectionChildValues, hasAutoComplete, filteredValues]);\n\n const showDividerInRN = !(_hideDivider && isReactNative());\n const showDividerInAutoComplete = hasAutoComplete\n ? isSectionVisible && filteredValues.length > 1\n : true;\n\n return (\n <BaseBox\n {...makeAccessible({\n role: getActionListSectionRole(),\n label: title,\n })}\n {...metaAttribute({ name: MetaConstants.ActionListSection, testID })}\n >\n {/* We're announcing title as group label so we can hide this */}\n {isSectionVisible ? (\n <StyledActionListSectionTitle {...makeAccessible({ hidden: true })}>\n <Text color=\"surface.text.gray.muted\" size=\"small\" weight=\"semibold\">\n {title}\n </Text>\n </StyledActionListSectionTitle>\n ) : null}\n <BaseBox\n {...makeAccessible({\n // On web, we just wrap it in another listbox to announce item count properly for particular group.\n // On React Native, we ignore it since `menu` + `group` role will take care of accessibility\n role: isReactNative() ? undefined : 'listbox',\n })}\n >\n {children}\n </BaseBox>\n {showDividerInAutoComplete && showDividerInRN ? (\n <Divider marginX=\"spacing.3\" marginY=\"spacing.1\" />\n ) : null}\n </BaseBox>\n );\n};\n\nconst ActionListSection = assignWithoutSideEffects(_ActionListSection, {\n componentId: componentIds.ActionListSection,\n});\n\nconst _ActionListItemIcon = ({ icon }: { icon: IconComponent }): React.ReactElement => {\n const Icon = icon;\n const { color, isDisabled } = useBaseMenuItem();\n const iconState = isDisabled ? 'disabled' : 'muted';\n return (\n <Icon\n color={\n color === 'negative'\n ? 'feedback.icon.negative.intense'\n : `interactive.icon.gray.${iconState}`\n }\n size=\"medium\"\n />\n );\n};\n\nconst ActionListItemIcon = assignWithoutSideEffects(_ActionListItemIcon, {\n componentId: componentIds.ActionListItemIcon,\n});\n\nconst _ActionListItemBadgeGroup = ({\n children,\n}: {\n children: React.ReactElement[] | React.ReactElement;\n}): React.ReactElement => {\n return (\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n {children}\n </Box>\n );\n};\n\nconst ActionListItemBadgeGroup = assignWithoutSideEffects(_ActionListItemBadgeGroup, {\n componentId: componentIds.ActionListItemBadgeGroup,\n});\n\nconst _ActionListItemAvatar = (avatarProps: Omit<AvatarProps, 'size' | ''>): React.ReactElement => {\n return <Avatar size=\"xsmall\" {...avatarProps} />;\n};\n\nconst ActionListItemAvatar = assignWithoutSideEffects(_ActionListItemAvatar, {\n componentId: componentIds.ActionListItemAvatar,\n});\n\nconst _ActionListItemBadge = (props: BadgeProps): React.ReactElement => {\n return <Badge size=\"medium\" marginLeft=\"spacing.3\" {...props} />;\n};\n\nconst ActionListItemBadge = assignWithoutSideEffects(_ActionListItemBadge, {\n componentId: componentIds.ActionListItemBadge,\n});\n\nconst _ActionListItemText = ({\n children,\n}: {\n children: StringChildrenType;\n}): React.ReactElement => {\n const { isDisabled } = useBaseMenuItem();\n\n return (\n <Text variant=\"caption\" color={getNormalTextColor(isDisabled, { isMuted: true })}>\n {children}\n </Text>\n );\n};\n\nconst ActionListItemText = assignWithoutSideEffects(_ActionListItemText, {\n componentId: componentIds.ActionListItemText,\n});\n\ntype ClickHandlerType = (e: React.MouseEvent<HTMLButtonElement>) => void;\n\nconst makeActionListItemClickable = (\n clickHandler: ClickHandlerType,\n): { onPress?: (e: React.TouchEvent<TouchableOpacity>) => void; onClick?: ClickHandlerType } => {\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: ignoring ReactNative press type for the peace of mind\n return { onPress: clickHandler };\n }\n\n return {\n onClick: clickHandler,\n };\n};\n\n/**\n * ### ActionListItem\n *\n * Creates option inside `ActionList`.\n *\n * #### Usage\n *\n * ```jsx\n * <ActionList>\n * <ActionListItem\n * title=\"Home\"\n * value=\"home\"\n * leading={<ActionListItemIcon icon={HomeIcon} />}\n * trailing={<ActionListItemText>⌘ + S</ActionListItemText>}\n * />\n * </ActionList>\n * ```\n */\nconst _ActionListItem = (props: ActionListItemProps): React.ReactElement => {\n const {\n activeIndex,\n dropdownBaseId,\n onOptionClick,\n selectedIndices,\n setShouldIgnoreBlurAnimation,\n selectionType,\n dropdownTriggerer,\n isKeydownPressed,\n filteredValues,\n hasAutoCompleteInBottomSheetHeader,\n } = useDropdown();\n\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const renderOnWebAs = props.href ? 'a' : 'button';\n\n /**\n * In SelectInput, returns the isSelected according to selected indexes in the state\n *\n * In Other Triggers (Menu Usecase), returns `props.isSelected` since passing the\n * isSelected prop explicitly is the only way to select item in menu\n */\n const getIsSelected = (): boolean | undefined => {\n if (dropdownTriggerer === dropdownComponentIds.triggers.SelectInput || hasAutoComplete) {\n if (typeof props._index === 'number') {\n return selectedIndices.includes(props._index);\n }\n\n return undefined;\n }\n\n return props.isSelected;\n };\n\n const isSelected = getIsSelected();\n\n React.useEffect(() => {\n validateActionListItemProps({\n leading: props.leading,\n trailing: props.trailing,\n titleSuffix: props.titleSuffix,\n });\n }, [props.leading, props.trailing, props.titleSuffix]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (\n dropdownTriggerer === dropdownComponentIds.triggers.SelectInput &&\n props.intent === 'negative'\n ) {\n throwBladeError({\n message:\n 'negative intent ActionListItem cannot be used inside Dropdown with SelectInput trigger',\n moduleName: 'ActionListItem',\n });\n }\n }\n }, [props.intent, dropdownTriggerer]);\n\n return (\n // We use this context to change the color of subcomponents like ActionListItemIcon, ActionListItemText, etc\n <BaseMenuItem\n isVisible={hasAutoComplete && filteredValues ? filteredValues.includes(props.value) : true}\n as={!isReactNative() ? renderOnWebAs : undefined}\n id={`${dropdownBaseId}-${props._index}`}\n tabIndex={-1}\n title={props.title}\n description={props.description}\n leading={\n selectionType === 'multiple' ? (\n <BaseBox\n pointerEvents=\"none\"\n // Adding aria-hidden because the listbox item in multiselect in itself explains the behaviour so announcing checkbox is unneccesary and just a nice UI tweak for us\n {...makeAccessible({\n hidden: true,\n })}\n >\n <Checkbox isChecked={isSelected} tabIndex={-1} isDisabled={props.isDisabled}>\n {/* \n Checkbox requires children. Didn't want to make it optional because its helpful for consumers\n But for this case in particular, we just want to use Text separately so that we can control spacing and color and keep it consistent with non-multiselect dropdowns\n */}\n {null}\n </Checkbox>\n </BaseBox>\n ) : (\n props.leading\n )\n }\n trailing={props.trailing}\n titleSuffix={props.titleSuffix}\n href={props.href}\n target={props.target}\n className={activeIndex === props._index ? 'active-focus' : ''}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n role={getActionListItemRole(dropdownTriggerer, props.href)}\n {...makeActionListItemClickable((e: React.MouseEvent<HTMLButtonElement>): void => {\n if (typeof props._index === 'number') {\n onOptionClick(e, props._index);\n props.onClick?.({ name: props.value, value: isSelected, event: castWebType(e) });\n }\n })}\n {...metaAttribute({ name: MetaConstants.ActionListItem, testID: props.testID })}\n onMouseDown={() => {\n // We want to keep focus on Dropdown's trigger while option is being clicked\n // So We set this flag that ignores the blur animation to avoid the flicker between focus out + focus in\n setShouldIgnoreBlurAnimation(true);\n }}\n onMouseUp={() => {\n // (Contd from above comment...) We set this flag back to false since blur of SelectInput is done calling by this time\n setShouldIgnoreBlurAnimation(false);\n }}\n data-value={props.value}\n data-index={props._index}\n selectionType={selectionType}\n color={props.intent}\n isKeydownPressed={isKeydownPressed}\n />\n );\n};\n\nconst ActionListItem = assignWithoutSideEffects(React.memo(_ActionListItem), {\n componentId: componentIds.ActionListItem,\n displayName: componentIds.ActionListItem,\n});\n\nexport type { ActionListItemProps, ActionListSectionProps };\nexport {\n ActionListItem,\n ActionListItemIcon,\n ActionListItemText,\n ActionListItemAvatar,\n ActionListItemBadge,\n ActionListItemBadgeGroup,\n ActionListSection,\n};\n"],"names":["StyledActionListSectionTitle","styled","BaseBox","withConfig","displayName","componentId","props","padding","makeSize","theme","spacing","_ActionListSection","_ref","title","children","testID","_hideDivider","_sectionChildValues","_useDropdown","useDropdown","hasAutoCompleteInBottomSheetHeader","dropdownTriggerer","filteredValues","hasAutoComplete","dropdownComponentIds","triggers","AutoComplete","isSectionVisible","React","useMemo","visibleActionListItemInSection","find","actionItemValue","includes","Boolean","showDividerInRN","isReactNative","showDividerInAutoComplete","length","_jsxs","_objectSpread","makeAccessible","role","getActionListSectionRole","label","metaAttribute","name","MetaConstants","ActionListSection","_jsx","hidden","Text","color","size","weight","undefined","Divider","marginX","marginY","assignWithoutSideEffects","componentIds","_ActionListItemIcon","_ref2","icon","Icon","_useBaseMenuItem","useBaseMenuItem","isDisabled","iconState","concat","ActionListItemIcon","_ActionListItemBadgeGroup","_ref3","Box","display","alignItems","flexDirection","ActionListItemBadgeGroup","_ActionListItemAvatar","avatarProps","Avatar","ActionListItemAvatar","_ActionListItemBadge","Badge","marginLeft","ActionListItemBadge","_ActionListItemText","_ref4","_useBaseMenuItem2","variant","getNormalTextColor","isMuted","ActionListItemText","makeActionListItemClickable","clickHandler","onPress","onClick","_ActionListItem","_useDropdown2","activeIndex","dropdownBaseId","onOptionClick","selectedIndices","setShouldIgnoreBlurAnimation","selectionType","isKeydownPressed","renderOnWebAs","href","getIsSelected","SelectInput","_index","isSelected","useEffect","validateActionListItemProps","leading","trailing","titleSuffix","intent","throwBladeError","message","moduleName","BaseMenuItem","isVisible","value","as","id","tabIndex","description","pointerEvents","Checkbox","isChecked","target","className","getActionListItemRole","e","_props$onClick","call","event","castWebType","ActionListItem","onMouseDown","onMouseUp","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionListItem.js","sources":["../../../../../../src/components/ActionList/ActionListItem.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { TouchableOpacity } from 'react-native';\nimport { componentIds } from './componentIds';\nimport { validateActionListItemProps, getNormalTextColor } from './actionListUtils';\nimport { getActionListItemRole, getActionListSectionRole } from './getA11yRoles';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { IconComponent } from '~components/Icons';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { Text } from '~components/Typography';\nimport type { Platform } from '~utils';\nimport { castWebType, isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, StringChildrenType, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSize } from '~utils/makeSize';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport type { BadgeProps } from '~components/Badge';\nimport { Badge } from '~components/Badge';\nimport { Box } from '~components/Box';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { BaseMenuItem, useBaseMenuItem } from '~components/BaseMenu';\nimport { Checkbox } from '~components/Checkbox';\nimport type { AvatarProps } from '~components/Avatar/types';\nimport { Avatar } from '~components/Avatar';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype ActionListItemProps = {\n title: string;\n description?: string;\n onClick?: (clickProps: {\n name: string;\n value?: boolean;\n event: Platform.Select<{\n web: React.MouseEvent;\n native: React.TouchEvent<TouchableOpacity>;\n }>;\n }) => void;\n /**\n * value that you get from `onChange` event on SelectInput or in form submissions.\n */\n value: string;\n /**\n * Link to open when item is clicked.\n */\n href?: string;\n /**\n * HTML target of the link\n */\n target?: string;\n /**\n * Item that goes on left-side of item.\n *\n * Valid elements - `<ActionListItemIcon />`, `<ActionListItemAsset />`\n *\n * Will be overriden in multiselect\n */\n leading?: React.ReactNode;\n /**\n * Item that goes on right-side of item.\n *\n * Valid elements - `<ActionListItemText />`, `<ActionListItemIcon />`\n */\n trailing?: React.ReactNode;\n /**\n * Item that goes immediately next to the title.\n *\n * Valid elements - `<ActionListItemBadge />`, `<ActionListItemBadgeGroup />`\n *\n */\n titleSuffix?: React.ReactElement;\n isDisabled?: boolean;\n intent?: Extract<FeedbackColors, 'negative'>;\n /**\n * Can be used in combination of `onClick` to highlight item as selected in Button Triggers.\n *\n * When trigger is SelectInput, Use `value` prop on SelectInput instead to make dropdown controlled.\n */\n isSelected?: boolean;\n /**\n * Internally passed from ActionList. No need to pass it explicitly\n *\n * @private\n */\n _index?: number;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst StyledActionListSectionTitle = styled(BaseBox)((props) => ({\n // @TODO: replace this styled-component with new layout box when we have padding shorthand\n padding: makeSize(props.theme.spacing[3]),\n}));\n\ntype ActionListSectionProps = {\n title: string;\n children: React.ReactNode[] | React.ReactNode;\n /**\n * Internally used to hide the divider on final item in React Native.\n *\n * Should not be used by consumers (also won't work on web)\n *\n * @private\n */\n _hideDivider?: boolean;\n /**\n * Internally used to hide / show section in AutoComplete\n *\n * @private\n */\n _sectionChildValues?: string[];\n} & TestID &\n DataAnalyticsAttribute;\nconst _ActionListSection = ({\n title,\n children,\n testID,\n _hideDivider,\n _sectionChildValues,\n ...rest\n}: ActionListSectionProps): React.ReactElement => {\n const { hasAutoCompleteInBottomSheetHeader, dropdownTriggerer, filteredValues } = useDropdown();\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const isSectionVisible = React.useMemo(() => {\n if (hasAutoComplete) {\n const visibleActionListItemInSection = _sectionChildValues?.find((actionItemValue) =>\n filteredValues.includes(actionItemValue),\n );\n\n return Boolean(visibleActionListItemInSection);\n }\n\n return true;\n }, [_sectionChildValues, hasAutoComplete, filteredValues]);\n\n const showDividerInRN = !(_hideDivider && isReactNative());\n const showDividerInAutoComplete = hasAutoComplete\n ? isSectionVisible && filteredValues.length > 1\n : true;\n\n return (\n <BaseBox\n {...makeAccessible({\n role: getActionListSectionRole(),\n label: title,\n })}\n {...metaAttribute({ name: MetaConstants.ActionListSection, testID })}\n {...makeAnalyticsAttribute(rest as Record<string, unknown>)}\n >\n {/* We're announcing title as group label so we can hide this */}\n {isSectionVisible ? (\n <StyledActionListSectionTitle {...makeAccessible({ hidden: true })}>\n <Text color=\"surface.text.gray.muted\" size=\"small\" weight=\"semibold\">\n {title}\n </Text>\n </StyledActionListSectionTitle>\n ) : null}\n <BaseBox\n {...makeAccessible({\n // On web, we just wrap it in another listbox to announce item count properly for particular group.\n // On React Native, we ignore it since `menu` + `group` role will take care of accessibility\n role: isReactNative() ? undefined : 'listbox',\n })}\n >\n {children}\n </BaseBox>\n {showDividerInAutoComplete && showDividerInRN ? (\n <Divider marginX=\"spacing.3\" marginY=\"spacing.1\" />\n ) : null}\n </BaseBox>\n );\n};\n\nconst ActionListSection = assignWithoutSideEffects(_ActionListSection, {\n componentId: componentIds.ActionListSection,\n});\n\nconst _ActionListItemIcon = ({ icon }: { icon: IconComponent }): React.ReactElement => {\n const Icon = icon;\n const { color, isDisabled } = useBaseMenuItem();\n const iconState = isDisabled ? 'disabled' : 'muted';\n return (\n <Icon\n color={\n color === 'negative'\n ? 'feedback.icon.negative.intense'\n : `interactive.icon.gray.${iconState}`\n }\n size=\"medium\"\n />\n );\n};\n\nconst ActionListItemIcon = assignWithoutSideEffects(_ActionListItemIcon, {\n componentId: componentIds.ActionListItemIcon,\n});\n\nconst _ActionListItemBadgeGroup = ({\n children,\n}: {\n children: React.ReactElement[] | React.ReactElement;\n}): React.ReactElement => {\n return (\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n {children}\n </Box>\n );\n};\n\nconst ActionListItemBadgeGroup = assignWithoutSideEffects(_ActionListItemBadgeGroup, {\n componentId: componentIds.ActionListItemBadgeGroup,\n});\n\nconst _ActionListItemAvatar = (avatarProps: Omit<AvatarProps, 'size' | ''>): React.ReactElement => {\n return <Avatar size=\"xsmall\" {...avatarProps} />;\n};\n\nconst ActionListItemAvatar = assignWithoutSideEffects(_ActionListItemAvatar, {\n componentId: componentIds.ActionListItemAvatar,\n});\n\nconst _ActionListItemBadge = (props: BadgeProps): React.ReactElement => {\n return <Badge size=\"medium\" marginLeft=\"spacing.3\" {...props} />;\n};\n\nconst ActionListItemBadge = assignWithoutSideEffects(_ActionListItemBadge, {\n componentId: componentIds.ActionListItemBadge,\n});\n\nconst _ActionListItemText = ({\n children,\n}: {\n children: StringChildrenType;\n}): React.ReactElement => {\n const { isDisabled } = useBaseMenuItem();\n\n return (\n <Text variant=\"caption\" color={getNormalTextColor(isDisabled, { isMuted: true })}>\n {children}\n </Text>\n );\n};\n\nconst ActionListItemText = assignWithoutSideEffects(_ActionListItemText, {\n componentId: componentIds.ActionListItemText,\n});\n\ntype ClickHandlerType = (e: React.MouseEvent<HTMLButtonElement>) => void;\n\nconst makeActionListItemClickable = (\n clickHandler: ClickHandlerType,\n): { onPress?: (e: React.TouchEvent<TouchableOpacity>) => void; onClick?: ClickHandlerType } => {\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: ignoring ReactNative press type for the peace of mind\n return { onPress: clickHandler };\n }\n\n return {\n onClick: clickHandler,\n };\n};\n\n/**\n * ### ActionListItem\n *\n * Creates option inside `ActionList`.\n *\n * #### Usage\n *\n * ```jsx\n * <ActionList>\n * <ActionListItem\n * title=\"Home\"\n * value=\"home\"\n * leading={<ActionListItemIcon icon={HomeIcon} />}\n * trailing={<ActionListItemText>⌘ + S</ActionListItemText>}\n * />\n * </ActionList>\n * ```\n */\nconst _ActionListItem = (props: ActionListItemProps): React.ReactElement => {\n const {\n activeIndex,\n dropdownBaseId,\n onOptionClick,\n selectedIndices,\n setShouldIgnoreBlurAnimation,\n selectionType,\n dropdownTriggerer,\n isKeydownPressed,\n filteredValues,\n hasAutoCompleteInBottomSheetHeader,\n } = useDropdown();\n\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const renderOnWebAs = props.href ? 'a' : 'button';\n\n /**\n * In SelectInput, returns the isSelected according to selected indexes in the state\n *\n * In Other Triggers (Menu Usecase), returns `props.isSelected` since passing the\n * isSelected prop explicitly is the only way to select item in menu\n */\n const getIsSelected = (): boolean | undefined => {\n if (dropdownTriggerer === dropdownComponentIds.triggers.SelectInput || hasAutoComplete) {\n if (typeof props._index === 'number') {\n return selectedIndices.includes(props._index);\n }\n\n return undefined;\n }\n\n return props.isSelected;\n };\n\n const isSelected = getIsSelected();\n\n React.useEffect(() => {\n validateActionListItemProps({\n leading: props.leading,\n trailing: props.trailing,\n titleSuffix: props.titleSuffix,\n });\n }, [props.leading, props.trailing, props.titleSuffix]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (\n dropdownTriggerer === dropdownComponentIds.triggers.SelectInput &&\n props.intent === 'negative'\n ) {\n throwBladeError({\n message:\n 'negative intent ActionListItem cannot be used inside Dropdown with SelectInput trigger',\n moduleName: 'ActionListItem',\n });\n }\n }\n }, [props.intent, dropdownTriggerer]);\n\n return (\n // We use this context to change the color of subcomponents like ActionListItemIcon, ActionListItemText, etc\n <BaseMenuItem\n isVisible={hasAutoComplete && filteredValues ? filteredValues.includes(props.value) : true}\n as={!isReactNative() ? renderOnWebAs : undefined}\n id={`${dropdownBaseId}-${props._index}`}\n tabIndex={-1}\n title={props.title}\n description={props.description}\n leading={\n selectionType === 'multiple' ? (\n <BaseBox\n pointerEvents=\"none\"\n // Adding aria-hidden because the listbox item in multiselect in itself explains the behaviour so announcing checkbox is unneccesary and just a nice UI tweak for us\n {...makeAccessible({\n hidden: true,\n })}\n >\n <Checkbox isChecked={isSelected} tabIndex={-1} isDisabled={props.isDisabled}>\n {/* \n Checkbox requires children. Didn't want to make it optional because its helpful for consumers\n But for this case in particular, we just want to use Text separately so that we can control spacing and color and keep it consistent with non-multiselect dropdowns\n */}\n {null}\n </Checkbox>\n </BaseBox>\n ) : (\n props.leading\n )\n }\n trailing={props.trailing}\n titleSuffix={props.titleSuffix}\n href={props.href}\n target={props.target}\n className={activeIndex === props._index ? 'active-focus' : ''}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n role={getActionListItemRole(dropdownTriggerer, props.href)}\n {...makeActionListItemClickable((e: React.MouseEvent<HTMLButtonElement>): void => {\n if (typeof props._index === 'number') {\n onOptionClick(e, props._index);\n props.onClick?.({ name: props.value, value: isSelected, event: castWebType(e) });\n }\n })}\n {...makeAnalyticsAttribute({ ...props })}\n {...metaAttribute({ name: MetaConstants.ActionListItem, testID: props.testID })}\n onMouseDown={() => {\n // We want to keep focus on Dropdown's trigger while option is being clicked\n // So We set this flag that ignores the blur animation to avoid the flicker between focus out + focus in\n setShouldIgnoreBlurAnimation(true);\n }}\n onMouseUp={() => {\n // (Contd from above comment...) We set this flag back to false since blur of SelectInput is done calling by this time\n setShouldIgnoreBlurAnimation(false);\n }}\n data-value={props.value}\n data-index={props._index}\n selectionType={selectionType}\n color={props.intent}\n isKeydownPressed={isKeydownPressed}\n />\n );\n};\n\nconst ActionListItem = assignWithoutSideEffects(React.memo(_ActionListItem), {\n componentId: componentIds.ActionListItem,\n displayName: componentIds.ActionListItem,\n});\n\nexport type { ActionListItemProps, ActionListSectionProps };\nexport {\n ActionListItem,\n ActionListItemIcon,\n ActionListItemText,\n ActionListItemAvatar,\n ActionListItemBadge,\n ActionListItemBadgeGroup,\n ActionListSection,\n};\n"],"names":["StyledActionListSectionTitle","styled","BaseBox","withConfig","displayName","componentId","props","padding","makeSize","theme","spacing","_ActionListSection","_ref","title","children","testID","_hideDivider","_sectionChildValues","rest","_objectWithoutProperties","_excluded","_useDropdown","useDropdown","hasAutoCompleteInBottomSheetHeader","dropdownTriggerer","filteredValues","hasAutoComplete","dropdownComponentIds","triggers","AutoComplete","isSectionVisible","React","useMemo","visibleActionListItemInSection","find","actionItemValue","includes","Boolean","showDividerInRN","isReactNative","showDividerInAutoComplete","length","_jsxs","_objectSpread","makeAccessible","role","getActionListSectionRole","label","metaAttribute","name","MetaConstants","ActionListSection","makeAnalyticsAttribute","_jsx","hidden","Text","color","size","weight","undefined","Divider","marginX","marginY","assignWithoutSideEffects","componentIds","_ActionListItemIcon","_ref2","icon","Icon","_useBaseMenuItem","useBaseMenuItem","isDisabled","iconState","concat","ActionListItemIcon","_ActionListItemBadgeGroup","_ref3","Box","display","alignItems","flexDirection","ActionListItemBadgeGroup","_ActionListItemAvatar","avatarProps","Avatar","ActionListItemAvatar","_ActionListItemBadge","Badge","marginLeft","ActionListItemBadge","_ActionListItemText","_ref4","_useBaseMenuItem2","variant","getNormalTextColor","isMuted","ActionListItemText","makeActionListItemClickable","clickHandler","onPress","onClick","_ActionListItem","_useDropdown2","activeIndex","dropdownBaseId","onOptionClick","selectedIndices","setShouldIgnoreBlurAnimation","selectionType","isKeydownPressed","renderOnWebAs","href","getIsSelected","SelectInput","_index","isSelected","useEffect","validateActionListItemProps","leading","trailing","titleSuffix","intent","throwBladeError","message","moduleName","BaseMenuItem","isVisible","value","as","id","tabIndex","description","pointerEvents","Checkbox","isChecked","target","className","getActionListItemRole","e","_props$onClick","call","event","castWebType","ActionListItem","onMouseDown","onMouseUp","memo"],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import '../Button/BaseButton/index.js';
|
|
|
14
14
|
import '../Link/BaseLink/index.js';
|
|
15
15
|
import '../BladeProvider/index.js';
|
|
16
16
|
import '../../utils/makeAccessible/index.js';
|
|
17
|
+
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
17
18
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
18
19
|
import { getPlatformType } from '../../utils/getPlatformType/getPlatformType.js';
|
|
19
20
|
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
@@ -33,6 +34,7 @@ import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js
|
|
|
33
34
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
34
35
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
35
36
|
import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
|
|
37
|
+
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
36
38
|
|
|
37
39
|
var _excluded = ["description", "title", "isDismissible", "onDismiss", "emphasis", "isFullWidth", "color", "actions", "testID", "icon"];
|
|
38
40
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -63,7 +65,7 @@ var Alert = function Alert(_ref) {
|
|
|
63
65
|
actions = _ref.actions,
|
|
64
66
|
testID = _ref.testID,
|
|
65
67
|
icon = _ref.icon,
|
|
66
|
-
|
|
68
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
67
69
|
var _useTheme = useTheme(),
|
|
68
70
|
theme = _useTheme.theme;
|
|
69
71
|
var _useBreakpoint = useBreakpoint({
|
|
@@ -202,10 +204,10 @@ var Alert = function Alert(_ref) {
|
|
|
202
204
|
if (!isVisible) {
|
|
203
205
|
return null;
|
|
204
206
|
}
|
|
205
|
-
return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, a11yProps), metaAttribute({
|
|
207
|
+
return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, a11yProps), metaAttribute({
|
|
206
208
|
name: MetaConstants.Alert,
|
|
207
209
|
testID: testID
|
|
208
|
-
})), getStyledProps(
|
|
210
|
+
})), getStyledProps(rest)), makeAnalyticsAttribute(rest)), {}, {
|
|
209
211
|
children: /*#__PURE__*/jsxs(StyledAlert, {
|
|
210
212
|
color: color,
|
|
211
213
|
emphasis: emphasis,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sources":["../../../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { ReactChild, ReactElement } from 'react';\nimport { Fragment, useState } from 'react';\n\nimport { StyledAlert } from './StyledAlert';\nimport type { IconComponent } from '~components/Icons';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport { castNativeType, castWebType, useBreakpoint, getPlatformType } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { IconButton } from '~components/Button/IconButton';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport BaseButton from '~components/Button/BaseButton';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport type { FeedbackColors, SubtleOrIntense } from '~tokens/theme/theme';\nimport { useTheme } from '~components/BladeProvider';\nimport type { DotNotationSpacingStringToken, TestID } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\n\ntype PrimaryAction = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionButton = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionLinkButton = {\n text: string;\n href: string;\n onClick?: () => void;\n target?: string;\n /**\n * When `target` is set to `_blank` this is automatically set to `noopener noreferrer`\n */\n rel?: string;\n};\n\ntype SecondaryAction = SecondaryActionButton | SecondaryActionLinkButton;\n\ntype AlertProps = {\n /**\n * Body content, pass text or JSX. Avoid passing components except `Link` to customize the content.\n */\n description: ReactChild;\n\n /**\n * A brief heading\n */\n title?: string;\n\n /**\n * Shows a dismiss button\n *\n * @default true\n */\n isDismissible?: boolean;\n\n /**\n * A callback when the dismiss button is clicked\n */\n onDismiss?: () => void;\n\n /**\n * Can be used to render custom icon\n */\n icon?: IconComponent;\n\n /**\n * Can be set to `high` for a more prominent look. Not to be confused with a11y emphasis.\n *\n * @default subtle\n */\n emphasis?: SubtleOrIntense;\n\n /**\n * Makes the Alert span the entire container width, instead of the default max width of `584px`.\n * This also makes the alert borderless, useful for creating full bleed layouts.\n *\n * @default false\n */\n isFullWidth?: boolean;\n\n /**\n * Sets the color tone\n */\n color?: FeedbackColors;\n\n /**\n * Renders a primary action button and a secondary action link button\n */\n actions?: {\n /**\n * Renders a button (should **always** be present if `secondary` action is being used)\n */\n primary?: PrimaryAction;\n /**\n * Renders a Link button\n */\n secondary?: SecondaryAction;\n };\n} & TestID &\n StyledPropsBlade;\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n// Need extra wrappers on React Native only for alignment\nconst CloseButtonWrapper = isReactNative ? BaseBox : Fragment;\n\nconst intentIconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst Alert = ({\n description,\n title,\n isDismissible = true,\n onDismiss,\n emphasis = 'subtle',\n isFullWidth = false,\n color = 'neutral',\n actions,\n testID,\n icon,\n ...styledProps\n}: AlertProps): ReactElement | null => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const [isVisible, setIsVisible] = useState(true);\n\n const isDesktop = matchedDeviceType === 'desktop';\n const isMobile = !isDesktop;\n\n const Icon = icon ?? intentIconMap[color];\n let iconOffset: DotNotationSpacingStringToken = 'spacing.1';\n\n // certain special cases below needs special care for near perfect alignment\n if (isReactNative) {\n if (isFullWidth && !title) {\n iconOffset = 'spacing.1';\n } else if (!isFullWidth && !title) {\n iconOffset = 'spacing.0';\n } else if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n }\n } else if (isMobile) {\n if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n } else if (isFullWidth && !title) {\n iconOffset = 'spacing.2';\n }\n } else if (isFullWidth) {\n iconOffset = 'spacing.1';\n }\n\n const shouldCenterAlign = isFullWidth && !title;\n let alignment: 'center' | 'flex-start' = 'flex-start';\n if (!isFullWidth) alignment = 'flex-start';\n if (shouldCenterAlign) alignment = 'center';\n\n const leadingIcon = (\n <BaseBox display=\"flex\" alignSelf={alignment} marginTop={iconOffset}>\n <Icon\n color={\n emphasis === 'intense'\n ? 'surface.icon.staticWhite.normal'\n : `feedback.icon.${color}.${emphasis === 'subtle' ? 'intense' : 'subtle'}`\n }\n size=\"medium\"\n />\n </BaseBox>\n );\n\n const textColor =\n emphasis === 'intense' ? 'surface.text.staticWhite.normal' : 'surface.text.gray.subtle';\n const _title = title ? (\n <BaseBox marginBottom=\"spacing.2\">\n <Text color={textColor} size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n </BaseBox>\n ) : null;\n\n const _description = (\n <BaseBox marginTop={title || isReactNative ? 'spacing.0' : 'spacing.1'}>\n <Text color={textColor} size=\"small\">\n {description}\n </Text>\n </BaseBox>\n );\n\n const primaryAction = actions?.primary ? (\n <BaseBox\n marginRight=\"spacing.5\"\n display={isReactNative ? castNativeType('flex') : castWebType('inline-flex')}\n >\n <BaseButton\n size=\"small\"\n onClick={actions.primary.onClick}\n color={emphasis === 'intense' ? 'white' : color}\n variant=\"secondary\"\n >\n {actions.primary.text}\n </BaseButton>\n </BaseBox>\n ) : null;\n\n const secondaryActionParams: Partial<SecondaryActionLinkButton> | null = actions?.secondary\n ? {\n onClick: actions.secondary.onClick,\n }\n : null;\n\n /**\n * TS assumes only common properties to be present for `SecondaryAction` union type\n * We add a type guard that checks if href is present on secondary action:\n * - If yes, then TS can assume it to be `SecondaryActionLinkButton` (href being a required property)\n * - If no, then it would be `SecondaryActionButton` (and link properties wouldn't be needed)\n */\n if (actions?.secondary && secondaryActionParams && 'href' in actions.secondary) {\n secondaryActionParams.href = actions.secondary.href;\n secondaryActionParams.target = actions.secondary.target;\n secondaryActionParams.rel = actions.secondary.rel;\n }\n\n const secondaryAction = actions?.secondary ? (\n <BaseBox marginRight=\"spacing.4\" display={(isReactNative ? 'flex' : 'inline-flex') as never}>\n <BaseLink\n size=\"small\"\n color={emphasis === 'intense' ? 'white' : color}\n {...secondaryActionParams}\n >\n {actions.secondary.text}\n </BaseLink>\n </BaseBox>\n ) : null;\n\n // For certain cases we wish to render actions inline with text content\n const showActionsHorizontal = isFullWidth && isDesktop;\n\n const actionsHorizontal =\n showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const actionsVertical =\n !showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox marginTop=\"spacing.4\" flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const onClickDismiss = (): void => {\n if (onDismiss) {\n onDismiss();\n }\n setIsVisible(false);\n };\n const closeButton = isDismissible ? (\n <CloseButtonWrapper>\n <IconButton\n accessibilityLabel=\"Dismiss alert\"\n onClick={onClickDismiss}\n emphasis={emphasis === 'intense' ? 'subtle' : 'intense'}\n size=\"large\"\n icon={CloseIcon}\n />\n </CloseButtonWrapper>\n ) : null;\n\n const a11yProps = makeAccessible({\n // React Native doesn't has status as role\n role: isReactNative || color === 'negative' || color === 'notice' ? 'alert' : 'status',\n // override the implicit live region of role `alert`\n ...(color === 'notice' && { liveRegion: 'polite' }),\n });\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <BaseBox\n {...a11yProps}\n {...metaAttribute({ name: MetaConstants.Alert, testID })}\n {...getStyledProps(styledProps)}\n >\n <StyledAlert\n color={color}\n emphasis={emphasis}\n isFullWidth={isFullWidth}\n isDesktop={isDesktop}\n textAlign={'left' as never}\n >\n {leadingIcon}\n <BaseBox\n flex={1}\n paddingLeft={isFullWidth ? 'spacing.4' : 'spacing.3'}\n paddingRight={showActionsHorizontal ? 'spacing.4' : 'spacing.2'}\n >\n {_title}\n {_description}\n {actionsVertical}\n </BaseBox>\n {actionsHorizontal}\n {closeButton}\n </StyledAlert>\n </BaseBox>\n );\n};\n\nexport type { AlertProps };\nexport { Alert };\n"],"names":["isReactNative","getPlatformType","CloseButtonWrapper","BaseBox","Fragment","intentIconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","Alert","_ref","description","title","_ref$isDismissible","isDismissible","onDismiss","_ref$emphasis","emphasis","_ref$isFullWidth","isFullWidth","_ref$color","color","actions","testID","icon","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","_useState","useState","_useState2","_slicedToArray","isVisible","setIsVisible","isDesktop","isMobile","Icon","iconOffset","shouldCenterAlign","alignment","leadingIcon","_jsx","display","alignSelf","marginTop","children","concat","size","textColor","_title","marginBottom","Text","weight","_description","primaryAction","primary","marginRight","castNativeType","castWebType","BaseButton","onClick","variant","text","secondaryActionParams","secondary","href","target","rel","secondaryAction","BaseLink","_objectSpread","showActionsHorizontal","actionsHorizontal","_jsxs","flexDirection","alignItems","actionsVertical","onClickDismiss","closeButton","IconButton","accessibilityLabel","CloseIcon","a11yProps","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","getStyledProps","StyledAlert","textAlign","flex","paddingLeft","paddingRight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":["../../../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { ReactChild, ReactElement } from 'react';\nimport { Fragment, useState } from 'react';\n\nimport { StyledAlert } from './StyledAlert';\nimport type { IconComponent } from '~components/Icons';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport { castNativeType, castWebType, useBreakpoint, getPlatformType } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { IconButton } from '~components/Button/IconButton';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport BaseButton from '~components/Button/BaseButton';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport type { FeedbackColors, SubtleOrIntense } from '~tokens/theme/theme';\nimport { useTheme } from '~components/BladeProvider';\nimport type { DataAnalyticsAttribute, DotNotationSpacingStringToken, TestID } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype PrimaryAction = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionButton = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionLinkButton = {\n text: string;\n href: string;\n onClick?: () => void;\n target?: string;\n /**\n * When `target` is set to `_blank` this is automatically set to `noopener noreferrer`\n */\n rel?: string;\n};\n\ntype SecondaryAction = SecondaryActionButton | SecondaryActionLinkButton;\n\ntype AlertProps = {\n /**\n * Body content, pass text or JSX. Avoid passing components except `Link` to customize the content.\n */\n description: ReactChild;\n\n /**\n * A brief heading\n */\n title?: string;\n\n /**\n * Shows a dismiss button\n *\n * @default true\n */\n isDismissible?: boolean;\n\n /**\n * A callback when the dismiss button is clicked\n */\n onDismiss?: () => void;\n\n /**\n * Can be used to render custom icon\n */\n icon?: IconComponent;\n\n /**\n * Can be set to `high` for a more prominent look. Not to be confused with a11y emphasis.\n *\n * @default subtle\n */\n emphasis?: SubtleOrIntense;\n\n /**\n * Makes the Alert span the entire container width, instead of the default max width of `584px`.\n * This also makes the alert borderless, useful for creating full bleed layouts.\n *\n * @default false\n */\n isFullWidth?: boolean;\n\n /**\n * Sets the color tone\n */\n color?: FeedbackColors;\n\n /**\n * Renders a primary action button and a secondary action link button\n */\n actions?: {\n /**\n * Renders a button (should **always** be present if `secondary` action is being used)\n */\n primary?: PrimaryAction;\n /**\n * Renders a Link button\n */\n secondary?: SecondaryAction;\n };\n} & TestID &\n StyledPropsBlade &\n DataAnalyticsAttribute;\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n// Need extra wrappers on React Native only for alignment\nconst CloseButtonWrapper = isReactNative ? BaseBox : Fragment;\n\nconst intentIconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst Alert = ({\n description,\n title,\n isDismissible = true,\n onDismiss,\n emphasis = 'subtle',\n isFullWidth = false,\n color = 'neutral',\n actions,\n testID,\n icon,\n ...rest\n}: AlertProps): ReactElement | null => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const [isVisible, setIsVisible] = useState(true);\n\n const isDesktop = matchedDeviceType === 'desktop';\n const isMobile = !isDesktop;\n\n const Icon = icon ?? intentIconMap[color];\n let iconOffset: DotNotationSpacingStringToken = 'spacing.1';\n\n // certain special cases below needs special care for near perfect alignment\n if (isReactNative) {\n if (isFullWidth && !title) {\n iconOffset = 'spacing.1';\n } else if (!isFullWidth && !title) {\n iconOffset = 'spacing.0';\n } else if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n }\n } else if (isMobile) {\n if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n } else if (isFullWidth && !title) {\n iconOffset = 'spacing.2';\n }\n } else if (isFullWidth) {\n iconOffset = 'spacing.1';\n }\n\n const shouldCenterAlign = isFullWidth && !title;\n let alignment: 'center' | 'flex-start' = 'flex-start';\n if (!isFullWidth) alignment = 'flex-start';\n if (shouldCenterAlign) alignment = 'center';\n\n const leadingIcon = (\n <BaseBox display=\"flex\" alignSelf={alignment} marginTop={iconOffset}>\n <Icon\n color={\n emphasis === 'intense'\n ? 'surface.icon.staticWhite.normal'\n : `feedback.icon.${color}.${emphasis === 'subtle' ? 'intense' : 'subtle'}`\n }\n size=\"medium\"\n />\n </BaseBox>\n );\n\n const textColor =\n emphasis === 'intense' ? 'surface.text.staticWhite.normal' : 'surface.text.gray.subtle';\n const _title = title ? (\n <BaseBox marginBottom=\"spacing.2\">\n <Text color={textColor} size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n </BaseBox>\n ) : null;\n\n const _description = (\n <BaseBox marginTop={title || isReactNative ? 'spacing.0' : 'spacing.1'}>\n <Text color={textColor} size=\"small\">\n {description}\n </Text>\n </BaseBox>\n );\n\n const primaryAction = actions?.primary ? (\n <BaseBox\n marginRight=\"spacing.5\"\n display={isReactNative ? castNativeType('flex') : castWebType('inline-flex')}\n >\n <BaseButton\n size=\"small\"\n onClick={actions.primary.onClick}\n color={emphasis === 'intense' ? 'white' : color}\n variant=\"secondary\"\n >\n {actions.primary.text}\n </BaseButton>\n </BaseBox>\n ) : null;\n\n const secondaryActionParams: Partial<SecondaryActionLinkButton> | null = actions?.secondary\n ? {\n onClick: actions.secondary.onClick,\n }\n : null;\n\n /**\n * TS assumes only common properties to be present for `SecondaryAction` union type\n * We add a type guard that checks if href is present on secondary action:\n * - If yes, then TS can assume it to be `SecondaryActionLinkButton` (href being a required property)\n * - If no, then it would be `SecondaryActionButton` (and link properties wouldn't be needed)\n */\n if (actions?.secondary && secondaryActionParams && 'href' in actions.secondary) {\n secondaryActionParams.href = actions.secondary.href;\n secondaryActionParams.target = actions.secondary.target;\n secondaryActionParams.rel = actions.secondary.rel;\n }\n\n const secondaryAction = actions?.secondary ? (\n <BaseBox marginRight=\"spacing.4\" display={(isReactNative ? 'flex' : 'inline-flex') as never}>\n <BaseLink\n size=\"small\"\n color={emphasis === 'intense' ? 'white' : color}\n {...secondaryActionParams}\n >\n {actions.secondary.text}\n </BaseLink>\n </BaseBox>\n ) : null;\n\n // For certain cases we wish to render actions inline with text content\n const showActionsHorizontal = isFullWidth && isDesktop;\n\n const actionsHorizontal =\n showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const actionsVertical =\n !showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox marginTop=\"spacing.4\" flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const onClickDismiss = (): void => {\n if (onDismiss) {\n onDismiss();\n }\n setIsVisible(false);\n };\n const closeButton = isDismissible ? (\n <CloseButtonWrapper>\n <IconButton\n accessibilityLabel=\"Dismiss alert\"\n onClick={onClickDismiss}\n emphasis={emphasis === 'intense' ? 'subtle' : 'intense'}\n size=\"large\"\n icon={CloseIcon}\n />\n </CloseButtonWrapper>\n ) : null;\n\n const a11yProps = makeAccessible({\n // React Native doesn't has status as role\n role: isReactNative || color === 'negative' || color === 'notice' ? 'alert' : 'status',\n // override the implicit live region of role `alert`\n ...(color === 'notice' && { liveRegion: 'polite' }),\n });\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <BaseBox\n {...a11yProps}\n {...metaAttribute({ name: MetaConstants.Alert, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <StyledAlert\n color={color}\n emphasis={emphasis}\n isFullWidth={isFullWidth}\n isDesktop={isDesktop}\n textAlign={'left' as never}\n >\n {leadingIcon}\n <BaseBox\n flex={1}\n paddingLeft={isFullWidth ? 'spacing.4' : 'spacing.3'}\n paddingRight={showActionsHorizontal ? 'spacing.4' : 'spacing.2'}\n >\n {_title}\n {_description}\n {actionsVertical}\n </BaseBox>\n {actionsHorizontal}\n {closeButton}\n </StyledAlert>\n </BaseBox>\n );\n};\n\nexport type { AlertProps };\nexport { Alert };\n"],"names":["isReactNative","getPlatformType","CloseButtonWrapper","BaseBox","Fragment","intentIconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","Alert","_ref","description","title","_ref$isDismissible","isDismissible","onDismiss","_ref$emphasis","emphasis","_ref$isFullWidth","isFullWidth","_ref$color","color","actions","testID","icon","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","_useState","useState","_useState2","_slicedToArray","isVisible","setIsVisible","isDesktop","isMobile","Icon","iconOffset","shouldCenterAlign","alignment","leadingIcon","_jsx","display","alignSelf","marginTop","children","concat","size","textColor","_title","marginBottom","Text","weight","_description","primaryAction","primary","marginRight","castNativeType","castWebType","BaseButton","onClick","variant","text","secondaryActionParams","secondary","href","target","rel","secondaryAction","BaseLink","_objectSpread","showActionsHorizontal","actionsHorizontal","_jsxs","flexDirection","alignItems","actionsVertical","onClickDismiss","closeButton","IconButton","accessibilityLabel","CloseIcon","a11yProps","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","getStyledProps","makeAnalyticsAttribute","StyledAlert","textAlign","flex","paddingLeft","paddingRight"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import { objectKeysWithType } from '../../utils/objectKeysWithType.js';
|
|
|
13
13
|
import '../Typography/BaseText/index.js';
|
|
14
14
|
import '../Typography/index.js';
|
|
15
15
|
import '../../tokens/global/index.js';
|
|
16
|
+
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
16
17
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
17
18
|
import { getPlatformType } from '../../utils/getPlatformType/getPlatformType.js';
|
|
18
19
|
import { Text } from '../Typography/Text/Text.js';
|
|
@@ -23,16 +24,12 @@ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
|
23
24
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
24
25
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
25
26
|
import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
|
|
27
|
+
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
26
28
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
27
29
|
|
|
28
30
|
var _excluded = ["value", "suffix", "type", "size", "weight", "isAffixSubtle", "isStrikethrough", "color", "currencyIndicator", "currency", "testID"];
|
|
29
31
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
30
32
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
31
|
-
/**
|
|
32
|
-
* Pollyfill function to get around the node 18 error
|
|
33
|
-
*
|
|
34
|
-
* This function is maintained by i18nify team. Reach out to them for any change regarding this.
|
|
35
|
-
*/
|
|
36
33
|
var stripTrailingZerosFromParts = function stripTrailingZerosFromParts(parts) {
|
|
37
34
|
var decimalPart = parts.rawParts.filter(function (_ref) {
|
|
38
35
|
var type = _ref.type;
|
|
@@ -205,7 +202,7 @@ var _Amount = function _Amount(_ref8) {
|
|
|
205
202
|
_ref8$currency = _ref8.currency,
|
|
206
203
|
currency = _ref8$currency === void 0 ? 'INR' : _ref8$currency,
|
|
207
204
|
testID = _ref8.testID,
|
|
208
|
-
|
|
205
|
+
rest = _objectWithoutProperties(_ref8, _excluded);
|
|
209
206
|
if (false) {
|
|
210
207
|
if (typeof value !== 'number') {
|
|
211
208
|
throwBladeError({
|
|
@@ -257,13 +254,13 @@ var _Amount = function _Amount(_ref8) {
|
|
|
257
254
|
var currencySymbolOrCode = currencyIndicator === 'currency-symbol' ? currencySymbol : currency;
|
|
258
255
|
var currencyFontSize = isAffixSubtle ? subtleFontSizes[type][size] : normalAmountSizes[type][size];
|
|
259
256
|
var isReactNative = getPlatformType() === 'react-native';
|
|
260
|
-
return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({
|
|
257
|
+
return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
261
258
|
display: isReactNative ? 'flex' : 'inline-flex',
|
|
262
259
|
flexDirection: "row"
|
|
263
260
|
}, metaAttribute({
|
|
264
261
|
name: MetaConstants.Amount,
|
|
265
262
|
testID: testID
|
|
266
|
-
})), getStyledProps(
|
|
263
|
+
})), getStyledProps(rest)), makeAnalyticsAttribute(rest)), {}, {
|
|
267
264
|
children: /*#__PURE__*/jsxs(BaseBox, {
|
|
268
265
|
display: isReactNative ? 'flex' : 'inline-flex',
|
|
269
266
|
alignItems: "baseline",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Amount.js","sources":["../../../../../../src/components/Amount/Amount.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React from 'react';\nimport type { CurrencyCodeType } from '@razorpay/i18nify-js/currency';\nimport { formatNumberByParts } from '@razorpay/i18nify-js/currency';\nimport type { AmountTypeProps } from './amountTokens';\nimport { normalAmountSizes, subtleFontSizes, amountLineHeights } from './amountTokens';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { TestID } from '~utils/types';\nimport { getPlatformType } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { objectKeysWithType } from '~utils/objectKeysWithType';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { Text } from '~components/Typography';\nimport { opacity } from '~tokens/global';\nimport type { FontFamily } from '~tokens/global';\n\n/**\n * Pollyfill function to get around the node 18 error\n *\n * This function is maintained by i18nify team. Reach out to them for any change regarding this.\n */\nconst stripTrailingZerosFromParts = (\n parts: ReturnType<typeof formatNumberByParts>,\n): ReturnType<typeof formatNumberByParts> => {\n const decimalPart = parts.rawParts\n .filter(({ type }) => type === 'fraction')\n .map(({ value }) => value)\n .join('');\n\n const hasFraction = parts.rawParts.some(({ type }) => type === 'fraction');\n\n if (hasFraction && /^0+$/.test(decimalPart)) {\n delete parts.decimal;\n delete parts.fraction;\n parts.rawParts = parts.rawParts.filter(({ type }) => type !== 'decimal' && type !== 'fraction');\n }\n\n return parts;\n};\n\n/**\n * Wrapper that uses pollyfill of i18nify team\n */\nconst pollyfilledFormatNumberByParts: typeof formatNumberByParts = (value, options) => {\n const parts = formatNumberByParts(value, options);\n\n if (options?.intlOptions?.trailingZeroDisplay === 'stripIfInteger') {\n return stripTrailingZerosFromParts(parts);\n }\n\n return parts;\n};\n\ntype AmountCommonProps = {\n /**\n * The value to be rendered within the component.\n *\n */\n value: number;\n /**\n * Sets the color of the amount.\n *\n * @default undefined\n */\n color?: BaseTextProps['color'];\n /**\n * Indicates what the suffix of amount should be\n *\n * @default 'decimals'\n */\n suffix?: 'decimals' | 'none' | 'humanize';\n /**\n * Makes the currency indicator(currency symbol/code) and decimal digits small and faded\n *\n * @default true\n */\n isAffixSubtle?: true | false;\n /**\n * Determines the visual representation of the currency, choose between displaying the currency symbol or code.\n *\n * Note: Currency symbol and code is determined by the locale set in user's browser or set via @razorpay/i18nify-react library.\n *\n * @default 'currency-symbol'\n */\n currencyIndicator?: 'currency-symbol' | 'currency-code';\n /**\n * The currency of the amount. Note that this component\n * only displays the provided value in the specified currency, it does not perform any currency conversion.\n *\n * @default 'INR'\n * */\n currency?: CurrencyCodeType;\n /**\n * If true, the amount text will have a line through it.\n *\n * @default false\n */\n isStrikethrough?: boolean;\n} & TestID &\n StyledPropsBlade;\n\ntype ColorProps = {\n amountValueColor: BaseTextProps['color'];\n};\n\ntype AmountProps = AmountTypeProps & AmountCommonProps;\n\nconst getTextColorProps = ({ color }: { color: AmountProps['color'] }): ColorProps => {\n const props: ColorProps = {\n amountValueColor: 'surface.text.gray.normal',\n };\n if (!color) return props;\n props.amountValueColor = color;\n return props;\n};\n\ntype AmountType = Partial<ReturnType<typeof formatNumberByParts>>;\n\ninterface AmountValue extends Omit<AmountProps, 'value'> {\n amountValueColor: BaseTextProps['color'];\n amount: AmountType;\n size: Exclude<AmountProps['size'], undefined>;\n}\n\nconst AmountValue = ({\n amount,\n size = 'medium',\n type = 'body',\n weight = 'regular',\n amountValueColor,\n isAffixSubtle,\n suffix,\n}: AmountValue): ReactElement => {\n const isReactNative = getPlatformType() === 'react-native';\n const affixFontSize = isAffixSubtle ? subtleFontSizes[type][size] : normalAmountSizes[type][size];\n const numberFontFamily: keyof FontFamily = type === 'body' ? 'text' : 'heading';\n if (suffix === 'decimals' && isAffixSubtle) {\n // Native does not support alignItems of Text inside a div, instead we need to wrap is in a Text\n const AmountWrapper = isReactNative ? Text : React.Fragment;\n\n return (\n <AmountWrapper>\n <BaseText\n fontSize={normalAmountSizes[type][size]}\n fontWeight={weight}\n lineHeight={amountLineHeights[type][size]}\n color={amountValueColor}\n fontFamily={numberFontFamily}\n as={isReactNative ? undefined : 'span'}\n >\n {amount.integer}\n </BaseText>\n <BaseText\n fontWeight={weight}\n fontSize={affixFontSize}\n fontFamily={numberFontFamily}\n color={amountValueColor}\n as={isReactNative ? undefined : 'span'}\n opacity={isAffixSubtle ? opacity[800] : 1}\n >\n {amount.decimal}\n {amount.fraction}\n </BaseText>\n </AmountWrapper>\n );\n }\n\n return (\n <BaseText\n fontSize={normalAmountSizes[type][size]}\n fontWeight={weight}\n fontFamily={numberFontFamily}\n color={amountValueColor}\n lineHeight={amountLineHeights[type][size]}\n >\n {amount.integer}\n {amount.decimal}\n {amount.fraction}\n {amount.compact}\n </BaseText>\n );\n};\n\ntype FormatAmountWithSuffixType = {\n suffix: AmountProps['suffix'];\n value: number;\n currency: AmountProps['currency'];\n};\n\n/**\n * Returns a parsed object based on the suffix passed in parameters\n * === Logic ===\n * value = 12500.45 \n * if suffix === 'decimals' => {\n \"integer\": \"12,500\",\n \"decimal\": \".\",\n \"fraction\": \"45\",\n \"compact\": \"K\",\n \"isPrefixSymbol\": false,\n \"rawParts\": [{\"type\": \"integer\",\"value\": \"12\"},{\"type\": \"group\",\"value\": \",\"},{\"type\": \"integer\",\"value\": \"500\"},{\"type\": \"decimal\",\"value\": \".\"},{\"type\": \"fraction\",\"value\": \"45\"}]\n}\n * @returns {AmountType}\n */\nexport const getAmountByParts = ({\n suffix,\n value,\n currency,\n}: FormatAmountWithSuffixType): AmountType => {\n try {\n switch (suffix) {\n case 'decimals': {\n const options = {\n intlOptions: {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n },\n currency,\n } as const;\n return pollyfilledFormatNumberByParts(value, options);\n }\n case 'humanize': {\n const options = {\n intlOptions: {\n notation: 'compact',\n maximumFractionDigits: 2,\n trailingZeroDisplay: 'stripIfInteger',\n },\n currency,\n } as const;\n return pollyfilledFormatNumberByParts(value, options);\n }\n\n default: {\n const options = {\n intlOptions: {\n maximumFractionDigits: 0,\n roundingMode: 'floor',\n },\n currency,\n } as const;\n return pollyfilledFormatNumberByParts(value, options);\n }\n }\n } catch (err: unknown) {\n return {\n integer: `${value}`,\n currency,\n };\n }\n};\n\nconst _Amount = ({\n value,\n suffix = 'decimals',\n type = 'body',\n size = 'medium',\n weight = 'regular',\n isAffixSubtle = true,\n isStrikethrough = false,\n color,\n currencyIndicator = 'currency-symbol',\n currency = 'INR',\n testID,\n ...styledProps\n}: AmountProps): ReactElement => {\n if (__DEV__) {\n if (typeof value !== 'number') {\n throwBladeError({\n message: '`value` prop must be of type `number` for Amount.',\n moduleName: 'Amount',\n });\n }\n // @ts-expect-error neutral color should throw error\n if (color === 'neutral') {\n throwBladeError({\n message: '`neutral` color is not supported.',\n moduleName: 'Amount',\n });\n }\n\n const bodySizes = objectKeysWithType(normalAmountSizes.body);\n if ((type === 'body' || !type) && !bodySizes.includes(size)) {\n throwBladeError({\n message: `size=\"${size}\" is not allowed with type=\"body\"`,\n moduleName: 'Amount',\n });\n }\n\n const displaySizes = objectKeysWithType(normalAmountSizes.display);\n if (type === 'display' && !displaySizes.includes(size)) {\n throwBladeError({\n message: `size=\"${size}\" is not allowed with type=\"display\"`,\n moduleName: 'Amount',\n });\n }\n\n const headingSizes = objectKeysWithType(normalAmountSizes.heading);\n if (type === 'heading' && !headingSizes.includes(size)) {\n throwBladeError({\n message: `size=\"${size}\" is not allowed with type=\"heading\"`,\n moduleName: 'Amount',\n });\n }\n }\n\n const { amountValueColor } = getTextColorProps({\n color,\n });\n\n const renderedValue = getAmountByParts({ suffix, value, currency });\n const isPrefixSymbol = renderedValue.isPrefixSymbol ?? true;\n const currencySymbol = renderedValue.currency ?? currency;\n\n const currencyPosition = isPrefixSymbol ? 'left' : 'right';\n const currencySymbolOrCode = currencyIndicator === 'currency-symbol' ? currencySymbol : currency;\n\n const currencyFontSize = isAffixSubtle\n ? subtleFontSizes[type][size]\n : normalAmountSizes[type][size];\n const isReactNative = getPlatformType() === 'react-native';\n\n return (\n <BaseBox\n display={(isReactNative ? 'flex' : 'inline-flex') as never}\n flexDirection=\"row\"\n {...metaAttribute({ name: MetaConstants.Amount, testID })}\n {...getStyledProps(styledProps)}\n >\n <BaseBox\n display={(isReactNative ? 'flex' : 'inline-flex') as never}\n alignItems=\"baseline\"\n flexDirection=\"row\"\n position=\"relative\"\n >\n {renderedValue.minusSign ? (\n <BaseText\n fontSize={normalAmountSizes[type][size]}\n fontWeight={weight}\n lineHeight={amountLineHeights[type][size]}\n color={amountValueColor}\n as={isReactNative ? undefined : 'span'}\n marginX=\"spacing.2\"\n >\n {renderedValue.minusSign}\n </BaseText>\n ) : null}\n {currencyPosition === 'left' && (\n <BaseText\n marginRight=\"spacing.1\"\n fontWeight={weight}\n fontSize={currencyFontSize}\n color={amountValueColor}\n as={isReactNative ? undefined : 'span'}\n opacity={isAffixSubtle ? opacity[800] : 1}\n >\n {currencySymbolOrCode}\n </BaseText>\n )}\n <AmountValue\n amount={renderedValue}\n amountValueColor={amountValueColor}\n type={type}\n weight={weight}\n size={size}\n isAffixSubtle={isAffixSubtle}\n suffix={suffix}\n currency={currency}\n />\n {currencyPosition === 'right' && (\n <BaseText\n marginLeft=\"spacing.1\"\n fontWeight={weight}\n fontSize={currencyFontSize}\n color={amountValueColor}\n as={isReactNative ? undefined : 'span'}\n opacity={isAffixSubtle ? opacity[800] : 1}\n >\n {currencySymbolOrCode}\n </BaseText>\n )}\n {isStrikethrough && (\n // eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: the borderBottomColor error below is thrown here as well\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore- intentionally setting the border color to the color prop for this hacky strikethrough\n borderBottomColor={amountValueColor}\n borderBottomWidth={type === 'body' ? 'thin' : 'thicker'}\n borderBottomStyle=\"solid\"\n position=\"absolute\"\n width=\"100%\"\n top=\"50%\"\n />\n )}\n </BaseBox>\n </BaseBox>\n );\n};\n\nconst Amount = assignWithoutSideEffects(_Amount, {\n displayName: 'Amount',\n componentId: 'Amount',\n});\n\nexport type { AmountProps };\nexport { Amount };\n"],"names":["stripTrailingZerosFromParts","parts","decimalPart","rawParts","filter","_ref","type","map","_ref2","value","join","hasFraction","some","_ref3","test","decimal","fraction","_ref4","pollyfilledFormatNumberByParts","options","_options$intlOptions","formatNumberByParts","intlOptions","trailingZeroDisplay","getTextColorProps","_ref5","color","props","amountValueColor","AmountValue","_ref6","amount","_ref6$size","size","_ref6$type","_ref6$weight","weight","isAffixSubtle","suffix","isReactNative","getPlatformType","affixFontSize","subtleFontSizes","normalAmountSizes","numberFontFamily","AmountWrapper","Text","React","Fragment","_jsxs","children","_jsx","BaseText","fontSize","fontWeight","lineHeight","amountLineHeights","fontFamily","as","undefined","integer","opacity","compact","getAmountByParts","_ref7","currency","maximumFractionDigits","minimumFractionDigits","notation","roundingMode","err","concat","_Amount","_ref8","_renderedValue$isPref","_renderedValue$curren","_ref8$suffix","_ref8$type","_ref8$size","_ref8$weight","_ref8$isAffixSubtle","_ref8$isStrikethrough","isStrikethrough","_ref8$currencyIndicat","currencyIndicator","_ref8$currency","testID","styledProps","_objectWithoutProperties","_excluded","throwBladeError","message","moduleName","bodySizes","objectKeysWithType","body","includes","displaySizes","display","headingSizes","heading","_getTextColorProps","renderedValue","isPrefixSymbol","currencySymbol","currencyPosition","currencySymbolOrCode","currencyFontSize","BaseBox","_objectSpread","flexDirection","metaAttribute","name","MetaConstants","Amount","getStyledProps","alignItems","position","minusSign","marginX","marginRight","marginLeft","borderBottomColor","borderBottomWidth","borderBottomStyle","width","top","assignWithoutSideEffects","displayName","componentId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Amount.js","sources":["../../../../../../src/components/Amount/Amount.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React from 'react';\nimport type { CurrencyCodeType } from '@razorpay/i18nify-js/currency';\nimport { formatNumberByParts } from '@razorpay/i18nify-js/currency';\nimport type { AmountTypeProps } from './amountTokens';\nimport { normalAmountSizes, subtleFontSizes, amountLineHeights } from './amountTokens';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { getPlatformType } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { objectKeysWithType } from '~utils/objectKeysWithType';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { Text } from '~components/Typography';\nimport { opacity } from '~tokens/global';\nimport type { FontFamily } from '~tokens/global';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\n/**\n * Pollyfill function to get around the node 18 error\n *\n * This function is maintained by i18nify team. Reach out to them for any change regarding this.\n */\nconst stripTrailingZerosFromParts = (\n parts: ReturnType<typeof formatNumberByParts>,\n): ReturnType<typeof formatNumberByParts> => {\n const decimalPart = parts.rawParts\n .filter(({ type }) => type === 'fraction')\n .map(({ value }) => value)\n .join('');\n\n const hasFraction = parts.rawParts.some(({ type }) => type === 'fraction');\n\n if (hasFraction && /^0+$/.test(decimalPart)) {\n delete parts.decimal;\n delete parts.fraction;\n parts.rawParts = parts.rawParts.filter(({ type }) => type !== 'decimal' && type !== 'fraction');\n }\n\n return parts;\n};\n\n/**\n * Wrapper that uses pollyfill of i18nify team\n */\nconst pollyfilledFormatNumberByParts: typeof formatNumberByParts = (value, options) => {\n const parts = formatNumberByParts(value, options);\n\n if (options?.intlOptions?.trailingZeroDisplay === 'stripIfInteger') {\n return stripTrailingZerosFromParts(parts);\n }\n\n return parts;\n};\n\ntype AmountCommonProps = {\n /**\n * The value to be rendered within the component.\n *\n */\n value: number;\n /**\n * Sets the color of the amount.\n *\n * @default undefined\n */\n color?: BaseTextProps['color'];\n /**\n * Indicates what the suffix of amount should be\n *\n * @default 'decimals'\n */\n suffix?: 'decimals' | 'none' | 'humanize';\n /**\n * Makes the currency indicator(currency symbol/code) and decimal digits small and faded\n *\n * @default true\n */\n isAffixSubtle?: true | false;\n /**\n * Determines the visual representation of the currency, choose between displaying the currency symbol or code.\n *\n * Note: Currency symbol and code is determined by the locale set in user's browser or set via @razorpay/i18nify-react library.\n *\n * @default 'currency-symbol'\n */\n currencyIndicator?: 'currency-symbol' | 'currency-code';\n /**\n * The currency of the amount. Note that this component\n * only displays the provided value in the specified currency, it does not perform any currency conversion.\n *\n * @default 'INR'\n * */\n currency?: CurrencyCodeType;\n /**\n * If true, the amount text will have a line through it.\n *\n * @default false\n */\n isStrikethrough?: boolean;\n} & TestID &\n DataAnalyticsAttribute &\n StyledPropsBlade;\n\ntype ColorProps = {\n amountValueColor: BaseTextProps['color'];\n};\n\ntype AmountProps = AmountTypeProps & AmountCommonProps;\n\nconst getTextColorProps = ({ color }: { color: AmountProps['color'] }): ColorProps => {\n const props: ColorProps = {\n amountValueColor: 'surface.text.gray.normal',\n };\n if (!color) return props;\n props.amountValueColor = color;\n return props;\n};\n\ntype AmountType = Partial<ReturnType<typeof formatNumberByParts>>;\n\ninterface AmountValue extends Omit<AmountProps, 'value'> {\n amountValueColor: BaseTextProps['color'];\n amount: AmountType;\n size: Exclude<AmountProps['size'], undefined>;\n}\n\nconst AmountValue = ({\n amount,\n size = 'medium',\n type = 'body',\n weight = 'regular',\n amountValueColor,\n isAffixSubtle,\n suffix,\n}: AmountValue): ReactElement => {\n const isReactNative = getPlatformType() === 'react-native';\n const affixFontSize = isAffixSubtle ? subtleFontSizes[type][size] : normalAmountSizes[type][size];\n const numberFontFamily: keyof FontFamily = type === 'body' ? 'text' : 'heading';\n if (suffix === 'decimals' && isAffixSubtle) {\n // Native does not support alignItems of Text inside a div, instead we need to wrap is in a Text\n const AmountWrapper = isReactNative ? Text : React.Fragment;\n\n return (\n <AmountWrapper>\n <BaseText\n fontSize={normalAmountSizes[type][size]}\n fontWeight={weight}\n lineHeight={amountLineHeights[type][size]}\n color={amountValueColor}\n fontFamily={numberFontFamily}\n as={isReactNative ? undefined : 'span'}\n >\n {amount.integer}\n </BaseText>\n <BaseText\n fontWeight={weight}\n fontSize={affixFontSize}\n fontFamily={numberFontFamily}\n color={amountValueColor}\n as={isReactNative ? undefined : 'span'}\n opacity={isAffixSubtle ? opacity[800] : 1}\n >\n {amount.decimal}\n {amount.fraction}\n </BaseText>\n </AmountWrapper>\n );\n }\n\n return (\n <BaseText\n fontSize={normalAmountSizes[type][size]}\n fontWeight={weight}\n fontFamily={numberFontFamily}\n color={amountValueColor}\n lineHeight={amountLineHeights[type][size]}\n >\n {amount.integer}\n {amount.decimal}\n {amount.fraction}\n {amount.compact}\n </BaseText>\n );\n};\n\ntype FormatAmountWithSuffixType = {\n suffix: AmountProps['suffix'];\n value: number;\n currency: AmountProps['currency'];\n};\n\n/**\n * Returns a parsed object based on the suffix passed in parameters\n * === Logic ===\n * value = 12500.45 \n * if suffix === 'decimals' => {\n \"integer\": \"12,500\",\n \"decimal\": \".\",\n \"fraction\": \"45\",\n \"compact\": \"K\",\n \"isPrefixSymbol\": false,\n \"rawParts\": [{\"type\": \"integer\",\"value\": \"12\"},{\"type\": \"group\",\"value\": \",\"},{\"type\": \"integer\",\"value\": \"500\"},{\"type\": \"decimal\",\"value\": \".\"},{\"type\": \"fraction\",\"value\": \"45\"}]\n}\n * @returns {AmountType}\n */\nexport const getAmountByParts = ({\n suffix,\n value,\n currency,\n}: FormatAmountWithSuffixType): AmountType => {\n try {\n switch (suffix) {\n case 'decimals': {\n const options = {\n intlOptions: {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n },\n currency,\n } as const;\n return pollyfilledFormatNumberByParts(value, options);\n }\n case 'humanize': {\n const options = {\n intlOptions: {\n notation: 'compact',\n maximumFractionDigits: 2,\n trailingZeroDisplay: 'stripIfInteger',\n },\n currency,\n } as const;\n return pollyfilledFormatNumberByParts(value, options);\n }\n\n default: {\n const options = {\n intlOptions: {\n maximumFractionDigits: 0,\n roundingMode: 'floor',\n },\n currency,\n } as const;\n return pollyfilledFormatNumberByParts(value, options);\n }\n }\n } catch (err: unknown) {\n return {\n integer: `${value}`,\n currency,\n };\n }\n};\n\nconst _Amount = ({\n value,\n suffix = 'decimals',\n type = 'body',\n size = 'medium',\n weight = 'regular',\n isAffixSubtle = true,\n isStrikethrough = false,\n color,\n currencyIndicator = 'currency-symbol',\n currency = 'INR',\n testID,\n ...rest\n}: AmountProps): ReactElement => {\n if (__DEV__) {\n if (typeof value !== 'number') {\n throwBladeError({\n message: '`value` prop must be of type `number` for Amount.',\n moduleName: 'Amount',\n });\n }\n // @ts-expect-error neutral color should throw error\n if (color === 'neutral') {\n throwBladeError({\n message: '`neutral` color is not supported.',\n moduleName: 'Amount',\n });\n }\n\n const bodySizes = objectKeysWithType(normalAmountSizes.body);\n if ((type === 'body' || !type) && !bodySizes.includes(size)) {\n throwBladeError({\n message: `size=\"${size}\" is not allowed with type=\"body\"`,\n moduleName: 'Amount',\n });\n }\n\n const displaySizes = objectKeysWithType(normalAmountSizes.display);\n if (type === 'display' && !displaySizes.includes(size)) {\n throwBladeError({\n message: `size=\"${size}\" is not allowed with type=\"display\"`,\n moduleName: 'Amount',\n });\n }\n\n const headingSizes = objectKeysWithType(normalAmountSizes.heading);\n if (type === 'heading' && !headingSizes.includes(size)) {\n throwBladeError({\n message: `size=\"${size}\" is not allowed with type=\"heading\"`,\n moduleName: 'Amount',\n });\n }\n }\n\n const { amountValueColor } = getTextColorProps({\n color,\n });\n\n const renderedValue = getAmountByParts({ suffix, value, currency });\n const isPrefixSymbol = renderedValue.isPrefixSymbol ?? true;\n const currencySymbol = renderedValue.currency ?? currency;\n\n const currencyPosition = isPrefixSymbol ? 'left' : 'right';\n const currencySymbolOrCode = currencyIndicator === 'currency-symbol' ? currencySymbol : currency;\n\n const currencyFontSize = isAffixSubtle\n ? subtleFontSizes[type][size]\n : normalAmountSizes[type][size];\n const isReactNative = getPlatformType() === 'react-native';\n\n return (\n <BaseBox\n display={(isReactNative ? 'flex' : 'inline-flex') as never}\n flexDirection=\"row\"\n {...metaAttribute({ name: MetaConstants.Amount, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox\n display={(isReactNative ? 'flex' : 'inline-flex') as never}\n alignItems=\"baseline\"\n flexDirection=\"row\"\n position=\"relative\"\n >\n {renderedValue.minusSign ? (\n <BaseText\n fontSize={normalAmountSizes[type][size]}\n fontWeight={weight}\n lineHeight={amountLineHeights[type][size]}\n color={amountValueColor}\n as={isReactNative ? undefined : 'span'}\n marginX=\"spacing.2\"\n >\n {renderedValue.minusSign}\n </BaseText>\n ) : null}\n {currencyPosition === 'left' && (\n <BaseText\n marginRight=\"spacing.1\"\n fontWeight={weight}\n fontSize={currencyFontSize}\n color={amountValueColor}\n as={isReactNative ? undefined : 'span'}\n opacity={isAffixSubtle ? opacity[800] : 1}\n >\n {currencySymbolOrCode}\n </BaseText>\n )}\n <AmountValue\n amount={renderedValue}\n amountValueColor={amountValueColor}\n type={type}\n weight={weight}\n size={size}\n isAffixSubtle={isAffixSubtle}\n suffix={suffix}\n currency={currency}\n />\n {currencyPosition === 'right' && (\n <BaseText\n marginLeft=\"spacing.1\"\n fontWeight={weight}\n fontSize={currencyFontSize}\n color={amountValueColor}\n as={isReactNative ? undefined : 'span'}\n opacity={isAffixSubtle ? opacity[800] : 1}\n >\n {currencySymbolOrCode}\n </BaseText>\n )}\n {isStrikethrough && (\n // eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: the borderBottomColor error below is thrown here as well\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore- intentionally setting the border color to the color prop for this hacky strikethrough\n borderBottomColor={amountValueColor}\n borderBottomWidth={type === 'body' ? 'thin' : 'thicker'}\n borderBottomStyle=\"solid\"\n position=\"absolute\"\n width=\"100%\"\n top=\"50%\"\n />\n )}\n </BaseBox>\n </BaseBox>\n );\n};\n\nconst Amount = assignWithoutSideEffects(_Amount, {\n displayName: 'Amount',\n componentId: 'Amount',\n});\n\nexport type { AmountProps };\nexport { Amount };\n"],"names":["stripTrailingZerosFromParts","parts","decimalPart","rawParts","filter","_ref","type","map","_ref2","value","join","hasFraction","some","_ref3","test","decimal","fraction","_ref4","pollyfilledFormatNumberByParts","options","_options$intlOptions","formatNumberByParts","intlOptions","trailingZeroDisplay","getTextColorProps","_ref5","color","props","amountValueColor","AmountValue","_ref6","amount","_ref6$size","size","_ref6$type","_ref6$weight","weight","isAffixSubtle","suffix","isReactNative","getPlatformType","affixFontSize","subtleFontSizes","normalAmountSizes","numberFontFamily","AmountWrapper","Text","React","Fragment","_jsxs","children","_jsx","BaseText","fontSize","fontWeight","lineHeight","amountLineHeights","fontFamily","as","undefined","integer","opacity","compact","getAmountByParts","_ref7","currency","maximumFractionDigits","minimumFractionDigits","notation","roundingMode","err","concat","_Amount","_ref8","_renderedValue$isPref","_renderedValue$curren","_ref8$suffix","_ref8$type","_ref8$size","_ref8$weight","_ref8$isAffixSubtle","_ref8$isStrikethrough","isStrikethrough","_ref8$currencyIndicat","currencyIndicator","_ref8$currency","testID","rest","_objectWithoutProperties","_excluded","throwBladeError","message","moduleName","bodySizes","objectKeysWithType","body","includes","displaySizes","display","headingSizes","heading","_getTextColorProps","renderedValue","isPrefixSymbol","currencySymbol","currencyPosition","currencySymbolOrCode","currencyFontSize","BaseBox","_objectSpread","flexDirection","metaAttribute","name","MetaConstants","Amount","getStyledProps","makeAnalyticsAttribute","alignItems","position","minusSign","marginX","marginRight","marginLeft","borderBottomColor","borderBottomWidth","borderBottomStyle","width","top","assignWithoutSideEffects","displayName","componentId"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import '../../utils/logger/index.js';
|
|
|
12
12
|
import '../Icons/index.js';
|
|
13
13
|
import '../Box/BaseBox/index.js';
|
|
14
14
|
import '../../utils/isValidAllowedChildren/index.js';
|
|
15
|
+
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
15
16
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
16
17
|
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
17
18
|
import { getComponentId } from '../../utils/isValidAllowedChildren/isValidAllowedChildren.js';
|
|
@@ -19,6 +20,7 @@ import UserIcon from '../Icons/UserIcon/UserIcon.js';
|
|
|
19
20
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
20
21
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
21
22
|
import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
|
|
23
|
+
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
22
24
|
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
23
25
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
24
26
|
|
|
@@ -65,7 +67,7 @@ var _Avatar = function _Avatar(_ref, ref) {
|
|
|
65
67
|
onPointerEnter = _ref.onPointerEnter,
|
|
66
68
|
onTouchStart = _ref.onTouchStart,
|
|
67
69
|
onTouchEnd = _ref.onTouchEnd,
|
|
68
|
-
|
|
70
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
69
71
|
if (false) {
|
|
70
72
|
if (src && !alt && !name) {
|
|
71
73
|
throwBladeError({
|
|
@@ -127,10 +129,10 @@ var _Avatar = function _Avatar(_ref, ref) {
|
|
|
127
129
|
}));
|
|
128
130
|
};
|
|
129
131
|
var isSquare = variant === 'square';
|
|
130
|
-
return /*#__PURE__*/jsx(StyledAvatar, _objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
|
|
132
|
+
return /*#__PURE__*/jsx(StyledAvatar, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
|
|
131
133
|
name: MetaConstants.Avatar,
|
|
132
134
|
testID: testID
|
|
133
|
-
})), getStyledProps(
|
|
135
|
+
})), getStyledProps(rest)), makeAnalyticsAttribute(rest)), {}, {
|
|
134
136
|
backgroundColor: "surface.background.gray.intense",
|
|
135
137
|
variant: variant,
|
|
136
138
|
size: avatarSize,
|