@razorpay/blade 11.37.0 → 11.38.1
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 +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseFooter.js","sources":["../../../../../../src/components/BaseHeaderFooter/BaseFooter.tsx"],"sourcesContent":["import React from 'react';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport type { TestID } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\n\ntype BaseFooterProps = {\n children: React.ReactNode;\n metaComponentName?: string;\n showDivider?: boolean;\n padding?: BoxProps['padding'];\n} & TestID;\n\nconst _BaseFooter = ({\n children,\n showDivider = true,\n metaComponentName,\n padding,\n testID,\n}: BaseFooterProps): React.ReactElement => {\n return (\n <>\n {showDivider && <Divider />}\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n padding={padding ?? { base: 'spacing.5', m: 'spacing.6' }}\n >\n {children}\n </BaseBox>\n </>\n );\n};\n\nconst BaseFooter = assignWithoutSideEffects(_BaseFooter, {\n componentId: 'BaseFooter',\n});\n\nexport type { BaseFooterProps };\nexport { BaseFooter };\n"],"names":["_BaseFooter","_ref","children","_ref$showDivider","showDivider","metaComponentName","padding","testID","_jsxs","_Fragment","_jsx","Divider","BaseBox","_objectSpread","metaAttribute","name","base","m","BaseFooter","assignWithoutSideEffects","componentId"],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseFooter.js","sources":["../../../../../../src/components/BaseHeaderFooter/BaseFooter.tsx"],"sourcesContent":["import React from 'react';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseFooterProps = {\n children: React.ReactNode;\n metaComponentName?: string;\n showDivider?: boolean;\n padding?: BoxProps['padding'];\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _BaseFooter = ({\n children,\n showDivider = true,\n metaComponentName,\n padding,\n testID,\n ...rest\n}: BaseFooterProps): React.ReactElement => {\n return (\n <>\n {showDivider && <Divider />}\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n padding={padding ?? { base: 'spacing.5', m: 'spacing.6' }}\n >\n {children}\n </BaseBox>\n </>\n );\n};\n\nconst BaseFooter = assignWithoutSideEffects(_BaseFooter, {\n componentId: 'BaseFooter',\n});\n\nexport type { BaseFooterProps };\nexport { BaseFooter };\n"],"names":["_BaseFooter","_ref","children","_ref$showDivider","showDivider","metaComponentName","padding","testID","rest","_objectWithoutProperties","_excluded","_jsxs","_Fragment","_jsx","Divider","BaseBox","_objectSpread","metaAttribute","name","makeAnalyticsAttribute","base","m","BaseFooter","assignWithoutSideEffects","componentId"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAO0B;AAAA,EAAA,IANzCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAC,gBAAA,GAAAF,IAAA,CACRG,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,gBAAA;IAClBE,iBAAiB,GAAAJ,IAAA,CAAjBI,iBAAiB;IACjBC,OAAO,GAAAL,IAAA,CAAPK,OAAO;IACPC,MAAM,GAAAN,IAAA,CAANM,MAAM;AACHC,IAAAA,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA,CAAA,CAAA;EAEP,oBACEC,IAAA,CAAAC,QAAA,EAAA;IAAAV,QAAA,EAAA,CACGE,WAAW,iBAAIS,GAAA,CAACC,OAAO,EAAA,EAAE,CAAC,eAC3BD,GAAA,CAACE,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EACFC,aAAa,CAAC;AAAEC,MAAAA,IAAI,EAAEb,iBAAiB;AAAEE,MAAAA,MAAM,EAANA,MAAAA;AAAO,KAAC,CAAC,CAAA,EAClDY,sBAAsB,CAACX,IAAI,CAAC,CAAA,EAAA,EAAA,EAAA;AAChCF,MAAAA,OAAO,EAAEA,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAPA,OAAO,GAAI;AAAEc,QAAAA,IAAI,EAAE,WAAW;AAAEC,QAAAA,CAAC,EAAE,WAAA;OAAc;AAAAnB,MAAAA,QAAA,EAEzDA,QAAAA;AAAQ,KAAA,CACF,CAAC,CAAA;AAAA,GACV,CAAC,CAAA;AAEP,CAAC,CAAA;AAED,IAAMoB,UAAU,gBAAGC,wBAAwB,CAACvB,WAAW,EAAE;AACvDwB,EAAAA,WAAW,EAAE,YAAA;AACf,CAAC;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
1
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
4
|
import React__default from 'react';
|
|
@@ -13,12 +14,14 @@ import '../../utils/index.js';
|
|
|
13
14
|
import '../../utils/metaAttribute/index.js';
|
|
14
15
|
import '../../utils/logger/index.js';
|
|
15
16
|
import '../../tokens/global/index.js';
|
|
17
|
+
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
16
18
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
17
19
|
import { getComponentId } from '../../utils/isValidAllowedChildren/isValidAllowedChildren.js';
|
|
18
20
|
import { throwBladeError, logger } from '../../utils/logger/logger.js';
|
|
19
21
|
import { isReactNative } from '../../utils/platform/isReactNative.js';
|
|
20
22
|
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
21
23
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
24
|
+
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
22
25
|
import { Box } from '../Box/Box.js';
|
|
23
26
|
import { IconButton } from '../Button/IconButton/IconButton.js';
|
|
24
27
|
import ChevronLeftIcon from '../Icons/ChevronLeftIcon/ChevronLeftIcon.js';
|
|
@@ -29,6 +32,7 @@ import CloseIcon from '../Icons/CloseIcon/CloseIcon.js';
|
|
|
29
32
|
import { Divider } from '../Divider/Divider.js';
|
|
30
33
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
31
34
|
|
|
35
|
+
var _excluded = ["title", "subtitle", "leading", "titleSuffix", "trailing", "showDivider", "showBackButton", "showCloseButton", "onBackButtonClick", "onCloseButtonClick", "closeButtonRef", "backButtonRef", "testID", "onClickCapture", "onKeyDown", "onKeyUp", "onLostPointerCapture", "onPointerCancel", "onPointerDown", "onPointerMove", "onPointerUp", "metaComponentName", "paddingX", "marginY", "marginBottom", "marginTop", "size", "isDisabled", "children", "trailingInteractionElement"];
|
|
32
36
|
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; }
|
|
33
37
|
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; }
|
|
34
38
|
var commonCenterBoxProps = {
|
|
@@ -173,7 +177,8 @@ var _BaseHeader = function _BaseHeader(_ref2) {
|
|
|
173
177
|
size$1 = _ref2$size === void 0 ? 'large' : _ref2$size,
|
|
174
178
|
isDisabled = _ref2.isDisabled,
|
|
175
179
|
children = _ref2.children,
|
|
176
|
-
trailingInteractionElement = _ref2.trailingInteractionElement
|
|
180
|
+
trailingInteractionElement = _ref2.trailingInteractionElement,
|
|
181
|
+
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
177
182
|
var validatedTrailingComponent = useTrailingRestriction({
|
|
178
183
|
trailing: trailing,
|
|
179
184
|
size: size$1
|
|
@@ -189,10 +194,10 @@ var _BaseHeader = function _BaseHeader(_ref2) {
|
|
|
189
194
|
onPointerMove: onPointerMove,
|
|
190
195
|
onPointerUp: onPointerUp
|
|
191
196
|
};
|
|
192
|
-
return /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread({}, metaAttribute({
|
|
197
|
+
return /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
|
|
193
198
|
name: metaComponentName,
|
|
194
199
|
testID: testID
|
|
195
|
-
})), {}, {
|
|
200
|
+
})), makeAnalyticsAttribute(rest)), {}, {
|
|
196
201
|
children: [/*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread({
|
|
197
202
|
marginY: marginY !== null && marginY !== void 0 ? marginY : {
|
|
198
203
|
base: 'spacing.5',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHeader.js","sources":["../../../../../../src/components/BaseHeaderFooter/BaseHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ChevronLeftIcon, CloseIcon } from '~components/Icons';\nimport type { TestID } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { isReactNative, makeSize } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { logger, throwBladeError } from '~utils/logger';\nimport { size as sizeToken } from '~tokens/global';\n\ntype BaseHeaderProps = {\n title?: string;\n subtitle?: string;\n /**\n * Leading part of the header placed at the left most side of the header\n */\n leading?: React.ReactNode;\n /**\n * Trailing part of the header placed at the right most side of the header\n */\n trailing?: React.ReactNode;\n /**\n * Placed adjacent to the title text\n */\n titleSuffix?: React.ReactNode;\n /**\n * @default true\n */\n showDivider?: boolean;\n /**\n * @default false\n */\n showBackButton?: boolean;\n\n /**\n * Slot for rendering any trailing interaction element into BaseHeader.\n *\n * E.g. Used in accordion to render CollapsibleChevronIcon\n */\n trailingInteractionElement?: React.ReactNode;\n\n /**\n * Decides size of the Header\n */\n size?: 'large' | 'medium';\n /**\n * @default true\n */\n showCloseButton?: boolean;\n\n /**\n * Disabled state of BaseHeader\n *\n * @default false\n */\n isDisabled?: boolean;\n\n paddingX?: BoxProps['paddingX'];\n marginY?: BoxProps['marginY'];\n marginTop?: BoxProps['marginTop'];\n marginBottom?: BoxProps['marginBottom'];\n onCloseButtonClick?: () => void;\n onBackButtonClick?: () => void;\n closeButtonRef?: React.MutableRefObject<any>;\n backButtonRef?: React.MutableRefObject<any>;\n metaComponentName?: string;\n /**\n * inner child of BottomSheetHeader. Meant to be used for AutoComplete only\n */\n children?: React.ReactElement | React.ReactElement[];\n} & Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n> &\n TestID;\n\ntype TrailingComponents = 'Button' | 'Badge' | 'Link' | 'Text' | 'Amount';\n\nconst commonCenterBoxProps: BoxProps = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst centerBoxProps: { large: BoxProps; medium: BoxProps } = {\n large: {\n ...commonCenterBoxProps,\n // We want to align title, icon, titleSuffix, trailing, closeButton to baseline\n // But we also want to keep them center aligned to each other\n // So we add a virtual Box around these slots with 28px and center align them to that box\n // We have done similar thing in figma as well (which is where this 28px comes from)\n height: '28px',\n },\n medium: {\n ...commonCenterBoxProps,\n height: '20px',\n },\n};\n\nconst sizeTokensMapping = {\n large: {\n title: 'large',\n },\n medium: {\n title: 'medium',\n },\n} as const;\n\n// prop restriction map for corresponding sub components\nconst propRestrictionMap = {\n large: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n medium: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n Badge: {\n size: 'small',\n },\n Link: {\n size: 'small',\n },\n Text: {\n size: 'small',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'small',\n },\n },\n} as const;\n\nconst useTrailingRestriction = ({\n trailing,\n size,\n}: {\n size: NonNullable<BaseHeaderProps['size']>;\n trailing: BaseHeaderProps['trailing'];\n}): React.ReactNode => {\n const [\n validatedTrailingComponent,\n setValidatedTrailingComponent,\n ] = React.useState<React.ReactElement | null>(null);\n\n // validate and restrict sub component props in trailing prop\n React.useEffect(() => {\n if (React.isValidElement(trailing)) {\n const trailingComponentType = getComponentId(trailing) as TrailingComponents;\n const restrictedProps = propRestrictionMap[size][trailingComponentType];\n const allowedComponents = Object.keys(propRestrictionMap[size]);\n if (__DEV__) {\n if (!restrictedProps) {\n throwBladeError({\n message: `Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as trailing`,\n moduleName: 'Header',\n });\n }\n }\n\n const restrictedPropKeys = Object.keys(propRestrictionMap[size][trailingComponentType]);\n for (const prop of restrictedPropKeys) {\n if (trailing?.props?.hasOwnProperty(prop)) {\n logger({\n message: `Do not pass \"${prop}\" to \"${trailingComponentType}\" while inside Header trailing, because we override it.`,\n moduleName: 'Header',\n type: 'warn',\n });\n }\n }\n setValidatedTrailingComponent(\n React.cloneElement(trailing as React.ReactElement, restrictedProps),\n );\n }\n }, [trailing, size]);\n\n return validatedTrailingComponent;\n};\n\nconst _BaseHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n showDivider = true,\n showBackButton = false,\n showCloseButton = true,\n onBackButtonClick,\n onCloseButtonClick,\n closeButtonRef,\n backButtonRef,\n testID,\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n metaComponentName,\n paddingX,\n marginY,\n marginBottom,\n marginTop,\n size = 'large',\n isDisabled,\n children,\n trailingInteractionElement,\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n\n const webOnlyEventHandlers: Record<string, any> = isReactNative()\n ? {}\n : {\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n };\n\n return (\n <BaseBox {...metaAttribute({ name: metaComponentName, testID })}>\n <BaseBox\n marginY={marginY ?? { base: 'spacing.5', m: 'spacing.6' }}\n paddingX={paddingX ?? { base: 'spacing.5', m: 'spacing.6' }}\n marginTop={marginTop}\n marginBottom={marginBottom}\n touchAction=\"none\"\n {...webOnlyEventHandlers}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" userSelect=\"none\">\n {showBackButton ? (\n <BaseBox overflow=\"visible\" marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={backButtonRef}\n size=\"large\"\n icon={ChevronLeftIcon}\n onClick={() => onBackButtonClick?.()}\n accessibilityLabel=\"Back\"\n />\n </Box>\n </BaseBox>\n ) : null}\n <BaseBox\n paddingRight=\"spacing.5\"\n marginRight=\"auto\"\n flex=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"flex-start\"\n >\n {leading ? (\n <BaseBox marginRight=\"spacing.3\" {...centerBoxProps[size]}>\n {leading}\n </BaseBox>\n ) : null}\n <BaseBox flex=\"auto\">\n <BaseBox\n // Explicitly setting maxWidth in React Native because text is not being wrapped properly when multiple fix width components are rendered in header\n // In web, flex containers seem to work a expected\n // @todo: resolve this if we figure out some better solution later\n maxWidth={isReactNative() && shouldWrapTitle ? '100px' : undefined}\n flexShrink={0}\n display=\"flex\"\n flexDirection=\"row\"\n >\n {title ? (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'}\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n ) : null}\n {titleSuffix && (\n <BaseBox marginLeft=\"spacing.3\">\n <Box {...centerBoxProps[size]}>{titleSuffix}</Box>\n </BaseBox>\n )}\n </BaseBox>\n {subtitle ? (\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted'}\n >\n {subtitle}\n </Text>\n ) : null}\n </BaseBox>\n </BaseBox>\n {validatedTrailingComponent ? (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n ) : null}\n {showCloseButton ? (\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={closeButtonRef}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={() => onCloseButtonClick?.()}\n />\n </Box>\n ) : null}\n {trailingInteractionElement && !children ? (\n <Box {...centerBoxProps[size]}>{trailingInteractionElement}</Box>\n ) : null}\n </BaseBox>\n <BaseBox\n display=\"flex\"\n width=\"100%\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <Box width=\"100%\">{children}</Box>\n {trailingInteractionElement && children ? (\n <Box alignSelf=\"flex-start\" {...centerBoxProps[size]}>\n {trailingInteractionElement}\n </Box>\n ) : null}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider /> : null}\n </BaseBox>\n );\n};\n\nconst BaseHeader = assignWithoutSideEffects(_BaseHeader, {\n componentId: 'BaseHeader',\n});\n\nexport type { BaseHeaderProps };\nexport { BaseHeader };\n"],"names":["commonCenterBoxProps","display","alignItems","justifyContent","centerBoxProps","large","_objectSpread","height","medium","sizeTokensMapping","title","propRestrictionMap","Button","size","variant","Badge","Link","Text","Amount","type","useTrailingRestriction","_ref","trailing","_React$useState","React","useState","_React$useState2","_slicedToArray","validatedTrailingComponent","setValidatedTrailingComponent","useEffect","isValidElement","trailingComponentType","getComponentId","restrictedProps","allowedComponents","Object","keys","throwBladeError","message","concat","join","moduleName","restrictedPropKeys","_i","_restrictedPropKeys","length","_trailing$props","prop","props","hasOwnProperty","logger","cloneElement","_BaseHeader","_ref2","subtitle","leading","titleSuffix","_ref2$showDivider","showDivider","_ref2$showBackButton","showBackButton","_ref2$showCloseButton","showCloseButton","onBackButtonClick","onCloseButtonClick","closeButtonRef","backButtonRef","testID","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","metaComponentName","paddingX","marginY","marginBottom","marginTop","_ref2$size","isDisabled","children","trailingInteractionElement","shouldWrapTitle","webOnlyEventHandlers","isReactNative","_jsxs","BaseBox","metaAttribute","name","base","m","touchAction","flexDirection","userSelect","_jsx","overflow","marginRight","Box","IconButton","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","undefined","flexShrink","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","alignSelf","Divider","BaseHeader","assignWithoutSideEffects","componentId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseHeader.js","sources":["../../../../../../src/components/BaseHeaderFooter/BaseHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ChevronLeftIcon, CloseIcon } from '~components/Icons';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { isReactNative, makeSize } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { logger, throwBladeError } from '~utils/logger';\nimport { size as sizeToken } from '~tokens/global';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseHeaderProps = {\n title?: string;\n subtitle?: string;\n /**\n * Leading part of the header placed at the left most side of the header\n */\n leading?: React.ReactNode;\n /**\n * Trailing part of the header placed at the right most side of the header\n */\n trailing?: React.ReactNode;\n /**\n * Placed adjacent to the title text\n */\n titleSuffix?: React.ReactNode;\n /**\n * @default true\n */\n showDivider?: boolean;\n /**\n * @default false\n */\n showBackButton?: boolean;\n\n /**\n * Slot for rendering any trailing interaction element into BaseHeader.\n *\n * E.g. Used in accordion to render CollapsibleChevronIcon\n */\n trailingInteractionElement?: React.ReactNode;\n\n /**\n * Decides size of the Header\n */\n size?: 'large' | 'medium';\n /**\n * @default true\n */\n showCloseButton?: boolean;\n\n /**\n * Disabled state of BaseHeader\n *\n * @default false\n */\n isDisabled?: boolean;\n\n paddingX?: BoxProps['paddingX'];\n marginY?: BoxProps['marginY'];\n marginTop?: BoxProps['marginTop'];\n marginBottom?: BoxProps['marginBottom'];\n onCloseButtonClick?: () => void;\n onBackButtonClick?: () => void;\n closeButtonRef?: React.MutableRefObject<any>;\n backButtonRef?: React.MutableRefObject<any>;\n metaComponentName?: string;\n /**\n * inner child of BottomSheetHeader. Meant to be used for AutoComplete only\n */\n children?: React.ReactElement | React.ReactElement[];\n} & Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n> &\n TestID &\n DataAnalyticsAttribute;\n\ntype TrailingComponents = 'Button' | 'Badge' | 'Link' | 'Text' | 'Amount';\n\nconst commonCenterBoxProps: BoxProps = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst centerBoxProps: { large: BoxProps; medium: BoxProps } = {\n large: {\n ...commonCenterBoxProps,\n // We want to align title, icon, titleSuffix, trailing, closeButton to baseline\n // But we also want to keep them center aligned to each other\n // So we add a virtual Box around these slots with 28px and center align them to that box\n // We have done similar thing in figma as well (which is where this 28px comes from)\n height: '28px',\n },\n medium: {\n ...commonCenterBoxProps,\n height: '20px',\n },\n};\n\nconst sizeTokensMapping = {\n large: {\n title: 'large',\n },\n medium: {\n title: 'medium',\n },\n} as const;\n\n// prop restriction map for corresponding sub components\nconst propRestrictionMap = {\n large: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n medium: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n Badge: {\n size: 'small',\n },\n Link: {\n size: 'small',\n },\n Text: {\n size: 'small',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'small',\n },\n },\n} as const;\n\nconst useTrailingRestriction = ({\n trailing,\n size,\n}: {\n size: NonNullable<BaseHeaderProps['size']>;\n trailing: BaseHeaderProps['trailing'];\n}): React.ReactNode => {\n const [\n validatedTrailingComponent,\n setValidatedTrailingComponent,\n ] = React.useState<React.ReactElement | null>(null);\n\n // validate and restrict sub component props in trailing prop\n React.useEffect(() => {\n if (React.isValidElement(trailing)) {\n const trailingComponentType = getComponentId(trailing) as TrailingComponents;\n const restrictedProps = propRestrictionMap[size][trailingComponentType];\n const allowedComponents = Object.keys(propRestrictionMap[size]);\n if (__DEV__) {\n if (!restrictedProps) {\n throwBladeError({\n message: `Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as trailing`,\n moduleName: 'Header',\n });\n }\n }\n\n const restrictedPropKeys = Object.keys(propRestrictionMap[size][trailingComponentType]);\n for (const prop of restrictedPropKeys) {\n if (trailing?.props?.hasOwnProperty(prop)) {\n logger({\n message: `Do not pass \"${prop}\" to \"${trailingComponentType}\" while inside Header trailing, because we override it.`,\n moduleName: 'Header',\n type: 'warn',\n });\n }\n }\n setValidatedTrailingComponent(\n React.cloneElement(trailing as React.ReactElement, restrictedProps),\n );\n }\n }, [trailing, size]);\n\n return validatedTrailingComponent;\n};\n\nconst _BaseHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n showDivider = true,\n showBackButton = false,\n showCloseButton = true,\n onBackButtonClick,\n onCloseButtonClick,\n closeButtonRef,\n backButtonRef,\n testID,\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n metaComponentName,\n paddingX,\n marginY,\n marginBottom,\n marginTop,\n size = 'large',\n isDisabled,\n children,\n trailingInteractionElement,\n ...rest\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n\n const webOnlyEventHandlers: Record<string, any> = isReactNative()\n ? {}\n : {\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n };\n\n return (\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox\n marginY={marginY ?? { base: 'spacing.5', m: 'spacing.6' }}\n paddingX={paddingX ?? { base: 'spacing.5', m: 'spacing.6' }}\n marginTop={marginTop}\n marginBottom={marginBottom}\n touchAction=\"none\"\n {...webOnlyEventHandlers}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" userSelect=\"none\">\n {showBackButton ? (\n <BaseBox overflow=\"visible\" marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={backButtonRef}\n size=\"large\"\n icon={ChevronLeftIcon}\n onClick={() => onBackButtonClick?.()}\n accessibilityLabel=\"Back\"\n />\n </Box>\n </BaseBox>\n ) : null}\n <BaseBox\n paddingRight=\"spacing.5\"\n marginRight=\"auto\"\n flex=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"flex-start\"\n >\n {leading ? (\n <BaseBox marginRight=\"spacing.3\" {...centerBoxProps[size]}>\n {leading}\n </BaseBox>\n ) : null}\n <BaseBox flex=\"auto\">\n <BaseBox\n // Explicitly setting maxWidth in React Native because text is not being wrapped properly when multiple fix width components are rendered in header\n // In web, flex containers seem to work a expected\n // @todo: resolve this if we figure out some better solution later\n maxWidth={isReactNative() && shouldWrapTitle ? '100px' : undefined}\n flexShrink={0}\n display=\"flex\"\n flexDirection=\"row\"\n >\n {title ? (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'}\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n ) : null}\n {titleSuffix && (\n <BaseBox marginLeft=\"spacing.3\">\n <Box {...centerBoxProps[size]}>{titleSuffix}</Box>\n </BaseBox>\n )}\n </BaseBox>\n {subtitle ? (\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted'}\n >\n {subtitle}\n </Text>\n ) : null}\n </BaseBox>\n </BaseBox>\n {validatedTrailingComponent ? (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n ) : null}\n {showCloseButton ? (\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={closeButtonRef}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={() => onCloseButtonClick?.()}\n />\n </Box>\n ) : null}\n {trailingInteractionElement && !children ? (\n <Box {...centerBoxProps[size]}>{trailingInteractionElement}</Box>\n ) : null}\n </BaseBox>\n <BaseBox\n display=\"flex\"\n width=\"100%\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <Box width=\"100%\">{children}</Box>\n {trailingInteractionElement && children ? (\n <Box alignSelf=\"flex-start\" {...centerBoxProps[size]}>\n {trailingInteractionElement}\n </Box>\n ) : null}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider /> : null}\n </BaseBox>\n );\n};\n\nconst BaseHeader = assignWithoutSideEffects(_BaseHeader, {\n componentId: 'BaseHeader',\n});\n\nexport type { BaseHeaderProps };\nexport { BaseHeader };\n"],"names":["commonCenterBoxProps","display","alignItems","justifyContent","centerBoxProps","large","_objectSpread","height","medium","sizeTokensMapping","title","propRestrictionMap","Button","size","variant","Badge","Link","Text","Amount","type","useTrailingRestriction","_ref","trailing","_React$useState","React","useState","_React$useState2","_slicedToArray","validatedTrailingComponent","setValidatedTrailingComponent","useEffect","isValidElement","trailingComponentType","getComponentId","restrictedProps","allowedComponents","Object","keys","throwBladeError","message","concat","join","moduleName","restrictedPropKeys","_i","_restrictedPropKeys","length","_trailing$props","prop","props","hasOwnProperty","logger","cloneElement","_BaseHeader","_ref2","subtitle","leading","titleSuffix","_ref2$showDivider","showDivider","_ref2$showBackButton","showBackButton","_ref2$showCloseButton","showCloseButton","onBackButtonClick","onCloseButtonClick","closeButtonRef","backButtonRef","testID","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","metaComponentName","paddingX","marginY","marginBottom","marginTop","_ref2$size","isDisabled","children","trailingInteractionElement","rest","_objectWithoutProperties","_excluded","shouldWrapTitle","webOnlyEventHandlers","isReactNative","_jsxs","BaseBox","metaAttribute","name","makeAnalyticsAttribute","base","m","touchAction","flexDirection","userSelect","_jsx","overflow","marginRight","Box","IconButton","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","undefined","flexShrink","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","alignSelf","Divider","BaseHeader","assignWithoutSideEffects","componentId"],"mappings":"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"}
|
|
@@ -11,19 +11,22 @@ import '../../utils/getFocusRingStyles/index.js';
|
|
|
11
11
|
import '../../utils/logger/index.js';
|
|
12
12
|
import '../../utils/makeAccessible/index.js';
|
|
13
13
|
import '../../utils/metaAttribute/index.js';
|
|
14
|
+
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
14
15
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
15
16
|
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
16
17
|
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
17
18
|
import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
|
|
18
19
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
19
20
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
21
|
+
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
20
22
|
import { makeSpace } from '../../utils/makeSpace/makeSpace.js';
|
|
21
23
|
import { makeMotionTime } from '../../utils/makeMotionTime/makeMotionTime.web.js';
|
|
22
24
|
import { getFocusRingStyles } from '../../utils/getFocusRingStyles/getFocusRingStyles.web.js';
|
|
23
25
|
import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
|
|
24
26
|
import { Text } from '../Typography/Text/Text.js';
|
|
25
27
|
|
|
26
|
-
var _excluded = ["children", "zIndex", "testID"]
|
|
28
|
+
var _excluded = ["children", "zIndex", "testID"],
|
|
29
|
+
_excluded2 = ["title", "href", "rel", "target", "as", "isActive", "onClick", "icon", "testID"];
|
|
27
30
|
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; }
|
|
28
31
|
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; }
|
|
29
32
|
var BottomNav = function BottomNav(_ref) {
|
|
@@ -31,7 +34,7 @@ var BottomNav = function BottomNav(_ref) {
|
|
|
31
34
|
_ref$zIndex = _ref.zIndex,
|
|
32
35
|
zIndex = _ref$zIndex === void 0 ? componentZIndices.bottomNav : _ref$zIndex,
|
|
33
36
|
testID = _ref.testID,
|
|
34
|
-
|
|
37
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
35
38
|
if (true) {
|
|
36
39
|
var childrenCount = React__default.Children.count(children);
|
|
37
40
|
if (childrenCount > 5 && childrenCount < 2) {
|
|
@@ -41,7 +44,7 @@ var BottomNav = function BottomNav(_ref) {
|
|
|
41
44
|
});
|
|
42
45
|
}
|
|
43
46
|
}
|
|
44
|
-
return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({
|
|
47
|
+
return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
45
48
|
role: "navigation",
|
|
46
49
|
position: "fixed",
|
|
47
50
|
bottom: "spacing.0",
|
|
@@ -54,12 +57,12 @@ var BottomNav = function BottomNav(_ref) {
|
|
|
54
57
|
paddingX: "spacing.2",
|
|
55
58
|
display: "flex",
|
|
56
59
|
flexDirection: "row"
|
|
57
|
-
}, getStyledProps(
|
|
60
|
+
}, getStyledProps(rest)), {}, {
|
|
58
61
|
zIndex: zIndex
|
|
59
62
|
}, metaAttribute({
|
|
60
63
|
testID: testID,
|
|
61
64
|
name: MetaConstants.BottomNav
|
|
62
|
-
})), {}, {
|
|
65
|
+
})), makeAnalyticsAttribute(rest)), {}, {
|
|
63
66
|
children: children
|
|
64
67
|
}));
|
|
65
68
|
};
|
|
@@ -92,11 +95,12 @@ var BottomNavItem = function BottomNavItem(_ref2) {
|
|
|
92
95
|
isActive = _ref2.isActive,
|
|
93
96
|
onClick = _ref2.onClick,
|
|
94
97
|
Icon = _ref2.icon,
|
|
95
|
-
testID = _ref2.testID
|
|
98
|
+
testID = _ref2.testID,
|
|
99
|
+
rest = _objectWithoutProperties(_ref2, _excluded2);
|
|
96
100
|
var isRouterLink = as && href;
|
|
97
101
|
var defaultRenderElement = href ? 'a' : 'button';
|
|
98
102
|
var defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;
|
|
99
|
-
return /*#__PURE__*/jsxs(StyledBottomNavItem, _objectSpread(_objectSpread(_objectSpread({
|
|
103
|
+
return /*#__PURE__*/jsxs(StyledBottomNavItem, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
100
104
|
as: isRouterLink ? as : defaultRenderElement,
|
|
101
105
|
href: as ? undefined : href,
|
|
102
106
|
to: href // for react router
|
|
@@ -118,7 +122,7 @@ var BottomNavItem = function BottomNavItem(_ref2) {
|
|
|
118
122
|
})), metaAttribute({
|
|
119
123
|
name: MetaConstants.BottomNavItem,
|
|
120
124
|
testID: testID
|
|
121
|
-
})), {}, {
|
|
125
|
+
})), makeAnalyticsAttribute(rest)), {}, {
|
|
122
126
|
children: [/*#__PURE__*/jsx(Icon, {
|
|
123
127
|
color: "currentColor",
|
|
124
128
|
size: "large"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomNav.web.js","sources":["../../../../../../src/components/BottomNav/BottomNav.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { BottomNavItemProps, BottomNavProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { Text } from '~components/Typography';\nimport { makeMotionTime, makeSpace } from '~utils';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\n/**\n * ### BottomNav component\n *\n * Bottom navigation component is a persistent user interface element at the bottom of a mobile app screen, providing quick access to core functionalities through icons and labels.\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * import { NavLink } from 'react-router-dom';\n *\n * <BottomNav>\n * <BottomNavItem\n * as={NavLink}\n * isActive={true}\n * title=\"Payments\"\n * icon={WalletIcon}\n * href=\"/payments\"\n * />\n * <BottomNavItem\n * as={NavLink}\n * title=\"Transactions\"\n * icon={TransactionsIcon}\n * href=\"/transactions\"\n * />\n * <BottomNavItem\n * title=\"More\"\n * icon={MoreIcon}\n * onClick={() => {\n * // This can be used to open SideNav drawer\n * setIsSideNavOpen(true)\n * }}\n * />\n * </BottomNav>\n * ```\n *\n * Checkout {@link https://blade.razorpay.com/??path=/docs/components-bottomnav--doc BottomNav Documentation}\n\n */\nconst BottomNav = ({\n children,\n zIndex = componentZIndices.bottomNav,\n testID,\n ...styledProps\n}: BottomNavProps): React.ReactElement => {\n if (__DEV__) {\n const childrenCount = React.Children.count(children);\n if (childrenCount > 5 && childrenCount < 2) {\n throwBladeError({\n moduleName: 'BottomNav',\n message: 'children cannot be less than 2 and more than 5',\n });\n }\n }\n\n return (\n <BaseBox\n role=\"navigation\"\n position=\"fixed\"\n bottom=\"spacing.0\"\n left=\"spacing.0\"\n elevation=\"midRaised\"\n width=\"100%\"\n backgroundColor=\"surface.background.gray.intense\"\n borderTopWidth=\"thin\"\n borderTopColor=\"surface.border.gray.muted\"\n paddingX=\"spacing.2\"\n display=\"flex\"\n flexDirection=\"row\"\n {...getStyledProps(styledProps)}\n zIndex={zIndex}\n {...metaAttribute({\n testID,\n name: MetaConstants.BottomNav,\n })}\n >\n {children}\n </BaseBox>\n );\n};\n\nconst StyledBottomNavItem = styled(BaseBox)<{ to?: string }>((props) => {\n return {\n textDecoration: 'none',\n color: props.theme.colors.interactive.text.gray.subtle,\n backgroundColor: 'transparent',\n border: 'none',\n paddingLeft: makeSpace(props.theme.spacing[0]),\n paddingRight: makeSpace(props.theme.spacing[0]),\n transition: `color ${makeMotionTime(props.theme.motion.duration['2xquick'])} ${\n props.theme.motion.easing.standard.effective\n }`,\n '&[aria-current=\"page\"]': {\n color: props.theme.colors.interactive.text.primary.subtle,\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme: props.theme }),\n },\n };\n});\n\nconst BottomNavItem = ({\n title,\n href,\n rel,\n target,\n as,\n isActive,\n onClick,\n icon: Icon,\n testID,\n}: BottomNavItemProps): React.ReactElement => {\n const isRouterLink = as && href;\n const defaultRenderElement = href ? 'a' : 'button';\n const defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;\n\n return (\n <StyledBottomNavItem\n as={isRouterLink ? as : defaultRenderElement}\n href={as ? undefined : href}\n to={href} // for react router\n rel={rel ?? defaultRel}\n target={target}\n paddingTop=\"spacing.5\"\n paddingBottom=\"spacing.4\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexDirection=\"column\"\n flex=\"1\"\n cursor=\"pointer\"\n onClick={onClick}\n gap=\"spacing.1\"\n {...makeAccessible({\n current: isActive ? 'page' : undefined,\n })}\n {...metaAttribute({\n name: MetaConstants.BottomNavItem,\n testID,\n })}\n >\n <Icon color=\"currentColor\" size=\"large\" />\n <Text truncateAfterLines={1} color=\"currentColor\" size=\"xsmall\" weight=\"semibold\">\n {title}\n </Text>\n </StyledBottomNavItem>\n );\n};\n\nexport { BottomNav, BottomNavItem };\n"],"names":["BottomNav","_ref","children","_ref$zIndex","zIndex","componentZIndices","bottomNav","testID","styledProps","_objectWithoutProperties","_excluded","childrenCount","React","Children","count","throwBladeError","moduleName","message","_jsx","BaseBox","_objectSpread","role","position","bottom","left","elevation","width","backgroundColor","borderTopWidth","borderTopColor","paddingX","display","flexDirection","getStyledProps","metaAttribute","name","MetaConstants","StyledBottomNavItem","styled","withConfig","displayName","componentId","props","textDecoration","color","theme","colors","interactive","text","gray","subtle","border","paddingLeft","makeSpace","spacing","paddingRight","transition","concat","makeMotionTime","motion","duration","easing","standard","effective","primary","getFocusRingStyles","BottomNavItem","_ref2","title","href","rel","target","as","isActive","onClick","Icon","icon","isRouterLink","defaultRenderElement","defaultRel","undefined","_jsxs","to","paddingTop","paddingBottom","alignItems","justifyContent","flex","cursor","gap","makeAccessible","current","size","Text","truncateAfterLines","weight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BottomNav.web.js","sources":["../../../../../../src/components/BottomNav/BottomNav.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { BottomNavItemProps, BottomNavProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { Text } from '~components/Typography';\nimport { makeMotionTime, makeSpace } from '~utils';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\n/**\n * ### BottomNav component\n *\n * Bottom navigation component is a persistent user interface element at the bottom of a mobile app screen, providing quick access to core functionalities through icons and labels.\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * import { NavLink } from 'react-router-dom';\n *\n * <BottomNav>\n * <BottomNavItem\n * as={NavLink}\n * isActive={true}\n * title=\"Payments\"\n * icon={WalletIcon}\n * href=\"/payments\"\n * />\n * <BottomNavItem\n * as={NavLink}\n * title=\"Transactions\"\n * icon={TransactionsIcon}\n * href=\"/transactions\"\n * />\n * <BottomNavItem\n * title=\"More\"\n * icon={MoreIcon}\n * onClick={() => {\n * // This can be used to open SideNav drawer\n * setIsSideNavOpen(true)\n * }}\n * />\n * </BottomNav>\n * ```\n *\n * Checkout {@link https://blade.razorpay.com/??path=/docs/components-bottomnav--doc BottomNav Documentation}\n\n */\nconst BottomNav = ({\n children,\n zIndex = componentZIndices.bottomNav,\n testID,\n ...rest\n}: BottomNavProps): React.ReactElement => {\n if (__DEV__) {\n const childrenCount = React.Children.count(children);\n if (childrenCount > 5 && childrenCount < 2) {\n throwBladeError({\n moduleName: 'BottomNav',\n message: 'children cannot be less than 2 and more than 5',\n });\n }\n }\n\n return (\n <BaseBox\n role=\"navigation\"\n position=\"fixed\"\n bottom=\"spacing.0\"\n left=\"spacing.0\"\n elevation=\"midRaised\"\n width=\"100%\"\n backgroundColor=\"surface.background.gray.intense\"\n borderTopWidth=\"thin\"\n borderTopColor=\"surface.border.gray.muted\"\n paddingX=\"spacing.2\"\n display=\"flex\"\n flexDirection=\"row\"\n {...getStyledProps(rest)}\n zIndex={zIndex}\n {...metaAttribute({\n testID,\n name: MetaConstants.BottomNav,\n })}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n </BaseBox>\n );\n};\n\nconst StyledBottomNavItem = styled(BaseBox)<{ to?: string }>((props) => {\n return {\n textDecoration: 'none',\n color: props.theme.colors.interactive.text.gray.subtle,\n backgroundColor: 'transparent',\n border: 'none',\n paddingLeft: makeSpace(props.theme.spacing[0]),\n paddingRight: makeSpace(props.theme.spacing[0]),\n transition: `color ${makeMotionTime(props.theme.motion.duration['2xquick'])} ${\n props.theme.motion.easing.standard.effective\n }`,\n '&[aria-current=\"page\"]': {\n color: props.theme.colors.interactive.text.primary.subtle,\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme: props.theme }),\n },\n };\n});\n\nconst BottomNavItem = ({\n title,\n href,\n rel,\n target,\n as,\n isActive,\n onClick,\n icon: Icon,\n testID,\n ...rest\n}: BottomNavItemProps): React.ReactElement => {\n const isRouterLink = as && href;\n const defaultRenderElement = href ? 'a' : 'button';\n const defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;\n\n return (\n <StyledBottomNavItem\n as={isRouterLink ? as : defaultRenderElement}\n href={as ? undefined : href}\n to={href} // for react router\n rel={rel ?? defaultRel}\n target={target}\n paddingTop=\"spacing.5\"\n paddingBottom=\"spacing.4\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexDirection=\"column\"\n flex=\"1\"\n cursor=\"pointer\"\n onClick={onClick}\n gap=\"spacing.1\"\n {...makeAccessible({\n current: isActive ? 'page' : undefined,\n })}\n {...metaAttribute({\n name: MetaConstants.BottomNavItem,\n testID,\n })}\n {...makeAnalyticsAttribute(rest)}\n >\n <Icon color=\"currentColor\" size=\"large\" />\n <Text truncateAfterLines={1} color=\"currentColor\" size=\"xsmall\" weight=\"semibold\">\n {title}\n </Text>\n </StyledBottomNavItem>\n );\n};\n\nexport { BottomNav, BottomNavItem };\n"],"names":["BottomNav","_ref","children","_ref$zIndex","zIndex","componentZIndices","bottomNav","testID","rest","_objectWithoutProperties","_excluded","childrenCount","React","Children","count","throwBladeError","moduleName","message","_jsx","BaseBox","_objectSpread","role","position","bottom","left","elevation","width","backgroundColor","borderTopWidth","borderTopColor","paddingX","display","flexDirection","getStyledProps","metaAttribute","name","MetaConstants","makeAnalyticsAttribute","StyledBottomNavItem","styled","withConfig","displayName","componentId","props","textDecoration","color","theme","colors","interactive","text","gray","subtle","border","paddingLeft","makeSpace","spacing","paddingRight","transition","concat","makeMotionTime","motion","duration","easing","standard","effective","primary","getFocusRingStyles","BottomNavItem","_ref2","title","href","rel","target","as","isActive","onClick","Icon","icon","_excluded2","isRouterLink","defaultRenderElement","defaultRel","undefined","_jsxs","to","paddingTop","paddingBottom","alignItems","justifyContent","flex","cursor","gap","makeAccessible","current","size","Text","truncateAfterLines","weight"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
4
|
import React__default from 'react';
|
|
4
5
|
import styled from 'styled-components';
|
|
5
6
|
import { useDrag, rubberbandIfOutOfBounds } from '@use-gesture/react';
|
|
@@ -27,6 +28,7 @@ import '../../utils/makeAccessible/index.js';
|
|
|
27
28
|
import '../../tokens/global/index.js';
|
|
28
29
|
import '../../utils/makeMotionTime/index.web.js';
|
|
29
30
|
import { componentZIndices } from '../../utils/componentZIndices.js';
|
|
31
|
+
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
30
32
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
31
33
|
import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
32
34
|
import { size } from '../../tokens/global/size.js';
|
|
@@ -35,9 +37,11 @@ import useTheme from '../BladeProvider/useTheme.js';
|
|
|
35
37
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
36
38
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
37
39
|
import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
|
|
40
|
+
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
38
41
|
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
39
42
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
40
43
|
|
|
44
|
+
var _excluded = ["isOpen", "onDismiss", "children", "initialFocusRef", "snapPoints", "zIndex"];
|
|
41
45
|
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; }
|
|
42
46
|
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; }
|
|
43
47
|
var BOTTOM_SHEET_EASING = 'cubic-bezier(.15,0,.24,.97)';
|
|
@@ -82,7 +86,8 @@ var _BottomSheet = function _BottomSheet(_ref2) {
|
|
|
82
86
|
_ref2$snapPoints = _ref2.snapPoints,
|
|
83
87
|
snapPoints = _ref2$snapPoints === void 0 ? [0.35, 0.5, 0.85] : _ref2$snapPoints,
|
|
84
88
|
_ref2$zIndex = _ref2.zIndex,
|
|
85
|
-
zIndex = _ref2$zIndex === void 0 ? componentZIndices.bottomSheet : _ref2$zIndex
|
|
89
|
+
zIndex = _ref2$zIndex === void 0 ? componentZIndices.bottomSheet : _ref2$zIndex,
|
|
90
|
+
dataAnalyticsProps = _objectWithoutProperties(_ref2, _excluded);
|
|
86
91
|
var _useTheme = useTheme(),
|
|
87
92
|
theme = _useTheme.theme;
|
|
88
93
|
var dimensions = useWindowSize();
|
|
@@ -450,7 +455,7 @@ var _BottomSheet = function _BottomSheet(_ref2) {
|
|
|
450
455
|
value: contextValue,
|
|
451
456
|
children: [/*#__PURE__*/jsx(BottomSheetBackdrop, {
|
|
452
457
|
zIndex: bottomSheetZIndex
|
|
453
|
-
}), /*#__PURE__*/jsx(BottomSheetSurface, _objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
|
|
458
|
+
}), /*#__PURE__*/jsx(BottomSheetSurface, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
|
|
454
459
|
name: MetaConstants.BottomSheet,
|
|
455
460
|
testID: 'bottomsheet-surface'
|
|
456
461
|
})), makeAccessible({
|
|
@@ -466,7 +471,8 @@ var _BottomSheet = function _BottomSheet(_ref2) {
|
|
|
466
471
|
bottom: 0,
|
|
467
472
|
top: 'auto',
|
|
468
473
|
zIndex: bottomSheetZIndex
|
|
469
|
-
}
|
|
474
|
+
}
|
|
475
|
+
}, makeAnalyticsAttribute(dataAnalyticsProps)), {}, {
|
|
470
476
|
children: /*#__PURE__*/jsxs(BaseBox, {
|
|
471
477
|
height: "100%",
|
|
472
478
|
display: "flex",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.web.js","sources":["../../../../../../src/components/BottomSheet/BottomSheet.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable react/jsx-no-useless-fragment */\n/* eslint-disable consistent-return */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { rubberbandIfOutOfBounds, useDrag } from '@use-gesture/react';\nimport usePresence from 'use-presence';\nimport { clearAllBodyScrollLocks } from 'body-scroll-lock-upgrade';\nimport { BottomSheetHeader } from './BottomSheetHeader';\nimport { BottomSheetFooter } from './BottomSheetFooter';\nimport { BottomSheetBody } from './BottomSheetBody';\nimport type { SnapPoints } from './utils';\nimport { computeMaxContent, computeSnapPointBounds } from './utils';\nimport { BottomSheetBackdrop } from './BottomSheetBackdrop';\nimport type { BottomSheetContextProps } from './BottomSheetContext';\nimport { BottomSheetContext, useBottomSheetAndDropdownGlue } from './BottomSheetContext';\nimport { ComponentIds } from './componentIds';\nimport type { BottomSheetProps } from './types';\nimport { BottomSheetGrabHandle } from './BottomSheetGrabHandle';\nimport { useBottomSheetStack } from './BottomSheetStack';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useScrollLock } from '~utils/useScrollLock';\nimport { useWindowSize } from '~utils/useWindowSize';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\nimport { useTheme } from '~components/BladeProvider';\nimport { useId } from '~utils/useId';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSize } from '~utils/makeSize';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils/makeMotionTime';\nimport { componentZIndices } from '~utils/componentZIndices';\n\nexport const BOTTOM_SHEET_EASING = 'cubic-bezier(.15,0,.24,.97)';\nconst AUTOCOMPLETE_DEFAULT_SNAPPOINT = 0.85;\n\nconst BottomSheetSurface = styled.div<{\n windowHeight: number;\n isDragging: boolean;\n}>(({ theme, windowHeight, isDragging }) => {\n return {\n background: theme.colors.popup.background.subtle,\n borderTopLeftRadius: makeSize(size[16]),\n borderTopRightRadius: makeSize(size[16]),\n borderColor: theme.colors.popup.border.subtle,\n // this is reverse top elevation of highRaised elevation token\n boxShadow: '0px -24px 48px -12px hsla(217, 56%, 17%, 0.18)',\n opacity: 0,\n pointerEvents: 'none',\n transitionDuration: isDragging\n ? undefined\n : `${makeMotionTime(theme.motion.duration.moderate)}`,\n transitionTimingFunction: BOTTOM_SHEET_EASING,\n willChange: 'transform, opacity, height',\n transitionProperty: 'transform, opacity, height',\n position: 'fixed',\n left: 0,\n right: 0,\n bottom: 0,\n top: windowHeight,\n backgroundColor: theme.colors.popup.background.subtle,\n justifyContent: 'center',\n alignItems: 'center',\n touchAction: 'none',\n overflow: 'hidden',\n };\n});\n\nconst _BottomSheet = ({\n isOpen,\n onDismiss,\n children,\n initialFocusRef,\n snapPoints = [0.35, 0.5, 0.85],\n zIndex = componentZIndices.bottomSheet,\n}: BottomSheetProps): React.ReactElement => {\n const { theme } = useTheme();\n const dimensions = useWindowSize();\n const [contentHeight, setContentHeight] = React.useState(0);\n const [headerHeight, setHeaderHeight] = React.useState(0);\n const [footerHeight, setFooterHeight] = React.useState(0);\n const [grabHandleHeight, setGrabHandleHeight] = React.useState(0);\n const [hasBodyPadding, setHasBodyPadding] = React.useState(true);\n const [isHeaderEmpty, setIsHeaderEmpty] = React.useState(false);\n\n const bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();\n const [positionY, _setPositionY] = React.useState(0);\n const _isOpen = isOpen ?? bottomSheetAndDropdownGlue?.isOpen;\n const [isDragging, setIsDragging] = React.useState(false);\n\n const preventScrollingRef = React.useRef(true);\n const scrollRef = React.useRef<HTMLDivElement>(null);\n const grabHandleRef = React.useRef<HTMLDivElement>(null);\n const defaultInitialFocusRef = React.useRef<any>(null);\n const originalFocusElement = React.useRef<HTMLElement | null>(null);\n const initialSnapPoint = React.useRef<number>(snapPoints[1]);\n const totalHeight = React.useMemo(() => {\n return grabHandleHeight + headerHeight + footerHeight + contentHeight;\n }, [contentHeight, footerHeight, grabHandleHeight, headerHeight]);\n\n const id = useId();\n const {\n stack,\n addBottomSheetToStack,\n removeBottomSheetFromStack,\n getTopOfTheStack,\n getCurrentStackIndexById,\n } = useBottomSheetStack();\n const currentStackIndex = getCurrentStackIndexById(id);\n const isOnTopOfStack = getTopOfTheStack() === id;\n const bottomSheetZIndex = zIndex - currentStackIndex;\n\n const setPositionY = React.useCallback(\n (value: number, limit = true) => {\n // In AutoComplete, we want BottomSheet to be docked to top snappoint so we remove the limits\n const shouldLimitPositionY =\n limit && !bottomSheetAndDropdownGlue?.hasAutoCompleteInBottomSheetHeader;\n\n const maxValue = computeMaxContent({\n contentHeight,\n footerHeight,\n headerHeight: headerHeight + grabHandleHeight,\n maxHeight: value,\n });\n _setPositionY(shouldLimitPositionY ? maxValue : value);\n },\n [\n bottomSheetAndDropdownGlue?.hasAutoCompleteInBottomSheetHeader,\n contentHeight,\n footerHeight,\n grabHandleHeight,\n headerHeight,\n ],\n );\n\n // locks the body scroll to prevent accidental scrolling of content when we drag the sheet\n // We are ready when we calculated the height of the content\n const isReady = contentHeight > 0;\n // only lock the body when we atleast have 1 bottomsheet open\n const shouldLock = isReady && stack.length > 0;\n const scrollLockRef = useScrollLock({\n enabled: shouldLock,\n targetRef: scrollRef,\n reserveScrollBarGap: true,\n });\n\n // clear all body locks to avoid memory leaks & accidental body locking\n React.useEffect(() => {\n const hasNoBottomSheets = stack.length < 1;\n if (hasNoBottomSheets) {\n clearAllBodyScrollLocks();\n }\n }, [stack]);\n\n // take the grabHandle's height into headerHeight too\n useIsomorphicLayoutEffect(() => {\n if (!grabHandleRef.current) return;\n setGrabHandleHeight(grabHandleRef.current.getBoundingClientRect().height);\n }, [grabHandleRef.current, _isOpen]);\n\n // if bottomSheet height is >35% & <50% then set initial snapPoint to 35%\n useIsomorphicLayoutEffect(() => {\n if (bottomSheetAndDropdownGlue?.hasAutoCompleteInBottomSheetHeader) {\n initialSnapPoint.current = AUTOCOMPLETE_DEFAULT_SNAPPOINT;\n } else {\n const middleSnapPoint = snapPoints[1] * dimensions.height;\n const lowerSnapPoint = snapPoints[0] * dimensions.height;\n if (totalHeight > lowerSnapPoint && totalHeight < middleSnapPoint) {\n initialSnapPoint.current = snapPoints[0];\n }\n }\n }, [dimensions.height, snapPoints, totalHeight]);\n\n const returnFocus = React.useCallback(() => {\n if (!originalFocusElement.current) return;\n originalFocusElement.current.focus();\n // After returning focus we will clear the original focus\n // Because if sheet can be opened up via multiple triggers\n // We want to ensure the focus returns back to the most recent triggerer\n originalFocusElement.current = null;\n }, [originalFocusElement]);\n\n const focusOnInitialRef = React.useCallback(() => {\n if (!initialFocusRef) {\n // focus on close button\n defaultInitialFocusRef.current?.focus();\n } else {\n // focus on the initialRef passed by the user\n initialFocusRef.current?.focus();\n }\n }, [initialFocusRef]);\n\n // focus on the initial ref when the sheet is opened\n React.useLayoutEffect(() => {\n if (_isOpen) {\n focusOnInitialRef();\n }\n }, [_isOpen, focusOnInitialRef]);\n\n const handleOnOpen = React.useCallback(() => {\n setPositionY(dimensions.height * initialSnapPoint.current);\n scrollLockRef.current.activate();\n // initialize the original focused element\n // On first render it will be the activeElement, eg: the button trigger or select input\n // On Subsequent open operations it won't further update the original focus\n originalFocusElement.current =\n originalFocusElement.current ?? (document.activeElement as HTMLElement);\n }, [dimensions.height, scrollLockRef, setPositionY]);\n\n const handleOnClose = React.useCallback(() => {\n setPositionY(0);\n }, [setPositionY]);\n\n const close = React.useCallback(() => {\n onDismiss?.();\n bottomSheetAndDropdownGlue?.onBottomSheetDismiss();\n returnFocus();\n }, [bottomSheetAndDropdownGlue, onDismiss, returnFocus]);\n\n // sync controlled state to our actions\n React.useEffect(() => {\n if (_isOpen) {\n // open on the next frame, otherwise the animations will not run on first render\n window.setTimeout(() => {\n handleOnOpen();\n });\n } else {\n handleOnClose();\n }\n }, [_isOpen, handleOnClose, handleOnOpen]);\n\n // let the Dropdown component know that it's rendering a bottomsheet\n React.useEffect(() => {\n if (!bottomSheetAndDropdownGlue) return;\n bottomSheetAndDropdownGlue.setDropdownHasBottomSheet(true);\n }, [bottomSheetAndDropdownGlue]);\n\n const bind = useDrag(\n ({\n active,\n last,\n cancel,\n tap,\n movement: [_movementX, movementY],\n velocity: [_velocityX, velocityY],\n lastOffset: [_, lastOffsetY],\n down,\n dragging,\n args: [{ isContentDragging = false } = {}] = [],\n }) => {\n setIsDragging(Boolean(dragging));\n // lastOffsetY is the previous position user stopped dragging the sheet\n // movementY is the drag amount from the bottom of the screen, so as you drag up the movementY goes into negatives\n // and rawY is the calculated offset from the last position of the bottomsheet to current drag amount.\n const rawY = lastOffsetY - movementY;\n\n const lowerSnapPoint = dimensions.height * snapPoints[0];\n const upperSnapPoint = dimensions.height * snapPoints[snapPoints.length - 1];\n\n // predictedY is used to create velocity driven swipe\n // the faster you swipe the more distance you cover\n // this enables users to reach upper & lower snappoint with a single swipe\n const predictedDistance = movementY * (velocityY / 2);\n const predictedY = Math.max(\n lowerSnapPoint,\n Math.min(upperSnapPoint, rawY - predictedDistance * 2),\n );\n\n let newY = rawY;\n\n if (down) {\n // Ensure that users aren't able to drag the sheet\n // more than the upperSnapPoint or maximum height of the sheet\n // this is basically a clamp() function but creates a nice rubberband effect\n const dampening = 0.55;\n if (totalHeight < upperSnapPoint) {\n newY = rubberbandIfOutOfBounds(rawY, 0, totalHeight, dampening);\n } else {\n newY = rubberbandIfOutOfBounds(rawY, 0, upperSnapPoint, dampening);\n }\n } else {\n newY = predictedY;\n }\n\n const isPosAtUpperSnapPoint = newY >= upperSnapPoint;\n\n if (isContentDragging) {\n if (isPosAtUpperSnapPoint) {\n newY = upperSnapPoint;\n }\n\n // keep the newY at upper snap point\n // until the scrollable content is not at top\n // and previously saved Y position is greater than or equal to upper snap point\n // Note: how using newY won't work here since we need the previous value of the newY\n // since we always keep updating the newY,\n // this is cruicial in making the scroll feel natural\n const isContentScrolledAtTop = scrollRef.current && scrollRef.current.scrollTop <= 0;\n if (lastOffsetY === upperSnapPoint && !isContentScrolledAtTop) {\n newY = upperSnapPoint;\n }\n preventScrollingRef.current = newY < upperSnapPoint;\n }\n\n if (last) {\n // calculate the nearest snapPoint\n const [nearest, lower] = computeSnapPointBounds(\n newY,\n snapPoints.map((point) => dimensions.height * point) as SnapPoints,\n );\n\n // This ensure that the lower snapPoint will always have atleast some buffer\n // When the bottomsheet total height is less than the lower snapPoint\n // Video walkthrough: https://www.loom.com/share/a9a8db7688d64194b13df8b3e25859ae\n const lowerPointBuffer = 60;\n const lowerestSnap = Math.min(lower, totalHeight) - lowerPointBuffer;\n\n const shouldClose = rawY < lowerestSnap;\n if (shouldClose) {\n setIsDragging(false);\n cancel();\n close();\n return;\n }\n\n // if we stop dragging assign snap to the nearest point\n if (!active && !tap) {\n newY = nearest;\n }\n }\n\n setPositionY(newY, !down);\n },\n {\n from: [0, positionY],\n filterTaps: true,\n enabled: isOnTopOfStack && _isOpen,\n },\n );\n\n // Here we are preventing the scrolling of the content, until the preventScrollingRef value is true\n useIsomorphicLayoutEffect(() => {\n const scrollElement = scrollRef.current;\n if (!scrollElement) return;\n\n const preventScrolling = (e: Event) => {\n if (preventScrollingRef?.current) {\n e.preventDefault();\n }\n };\n\n // https://www.bram.us/2016/05/02/prevent-overscroll-bounce-in-ios-mobilesafari-pure-css/\n const preventSafariOverscroll = (e: Event) => {\n if (scrollElement.scrollTop < 0) {\n // TODO: figure this out, it doesn't seem to work >iOS12\n // requestAnimationFrame(() => {\n // elem.style.overflow = 'hidden';\n // elem.scrollTop = 0;\n // elem.style.removeProperty('overflow');\n // });\n e.preventDefault();\n }\n };\n\n scrollElement.addEventListener('scroll', preventScrolling);\n scrollElement.addEventListener('touchmove', preventScrolling);\n scrollElement.addEventListener('touchstart', preventSafariOverscroll);\n return () => {\n scrollElement.removeEventListener('scroll', preventScrolling);\n scrollElement.removeEventListener('touchmove', preventScrolling);\n scrollElement.removeEventListener('touchstart', preventSafariOverscroll);\n };\n // Only run this hook when we know all the layout calculations are done,\n // Otherwise the scrollRef.current will be null.\n // isReady prop will ensure that we are done measuring the content height\n }, [isReady]);\n\n // usePresence hook waits for the animation to finish before unmounting the component\n // It's similar to framer-motions usePresence hook\n // https://www.framer.com/docs/animate-presence/#usepresence\n const { isMounted, isVisible } = usePresence(Boolean(_isOpen), {\n transitionDuration: theme.motion.duration.moderate,\n });\n\n const isHeaderFloating = !hasBodyPadding && isHeaderEmpty;\n const contextValue: BottomSheetContextProps = React.useMemo(\n () => ({\n isInBottomSheet: true,\n isOpen: Boolean(isVisible),\n close,\n positionY,\n headerHeight,\n contentHeight,\n footerHeight,\n setContentHeight,\n setFooterHeight,\n setHeaderHeight,\n setHasBodyPadding,\n setIsHeaderEmpty,\n scrollRef,\n bind,\n defaultInitialFocusRef,\n isHeaderFloating,\n }),\n [\n isVisible,\n close,\n positionY,\n headerHeight,\n contentHeight,\n footerHeight,\n setContentHeight,\n setFooterHeight,\n setHeaderHeight,\n setHasBodyPadding,\n setIsHeaderEmpty,\n scrollRef,\n bind,\n defaultInitialFocusRef,\n isHeaderFloating,\n ],\n );\n\n React.useEffect(() => {\n if (isMounted) {\n addBottomSheetToStack(id);\n } else {\n removeBottomSheetFromStack(id);\n }\n }, [addBottomSheetToStack, id, isMounted, removeBottomSheetFromStack]);\n\n // We will need to reset these values otherwise the next time the bottomsheet opens\n // this will be populated and the animations won't run\n // why?: because how the usePresence hook works, we actually just unmount the\n // html contents not the whole <BottomSheet /> react component\n React.useEffect(() => {\n if (!isMounted) {\n setHeaderHeight(0);\n setFooterHeight(0);\n setContentHeight(0);\n setGrabHandleHeight(0);\n _setPositionY(0);\n }\n }, [isMounted, scrollLockRef]);\n\n // We don't want to destroy the react tree when we are rendering inside Dropdown\n // Because if we bail out early then ActionList won't render,\n // and Dropdown manages it's state based on the rendered JSX of ActionList\n // If we don't render ActionList Dropdown state will reset each time we open/close BottomSheet\n const isInsideDropdown = Boolean(bottomSheetAndDropdownGlue);\n if (!isMounted && !isInsideDropdown) {\n return <></>;\n }\n\n return (\n <BottomSheetContext.Provider value={contextValue}>\n <BottomSheetBackdrop zIndex={bottomSheetZIndex} />\n <BottomSheetSurface\n {...metaAttribute({\n name: MetaConstants.BottomSheet,\n testID: 'bottomsheet-surface',\n })}\n {...makeAccessible({ modal: true, role: 'dialog' })}\n windowHeight={dimensions.height}\n isDragging={isDragging}\n style={{\n opacity: isVisible ? 1 : 0,\n pointerEvents: isVisible ? 'all' : 'none',\n height: positionY,\n bottom: 0,\n top: 'auto',\n zIndex: bottomSheetZIndex,\n }}\n >\n <BaseBox height=\"100%\" display=\"flex\" flexDirection=\"column\">\n <BottomSheetGrabHandle\n ref={grabHandleRef}\n isHeaderFloating={isHeaderFloating}\n {...metaAttribute({ name: ComponentIds.BottomSheetGrabHandle })}\n {...bind()}\n />\n {children}\n </BaseBox>\n </BottomSheetSurface>\n </BottomSheetContext.Provider>\n );\n};\n\nconst BottomSheet = assignWithoutSideEffects(_BottomSheet, {\n componentId: ComponentIds.BottomSheet,\n});\n\nexport { BottomSheet, BottomSheetBody, BottomSheetHeader, BottomSheetFooter };\nexport type { BottomSheetProps };\n"],"names":["BOTTOM_SHEET_EASING","AUTOCOMPLETE_DEFAULT_SNAPPOINT","BottomSheetSurface","styled","div","withConfig","displayName","componentId","_ref","theme","windowHeight","isDragging","background","colors","popup","subtle","borderTopLeftRadius","makeSize","size","borderTopRightRadius","borderColor","border","boxShadow","opacity","pointerEvents","transitionDuration","undefined","concat","makeMotionTime","motion","duration","moderate","transitionTimingFunction","willChange","transitionProperty","position","left","right","bottom","top","backgroundColor","justifyContent","alignItems","touchAction","overflow","_BottomSheet","_ref2","isOpen","onDismiss","children","initialFocusRef","_ref2$snapPoints","snapPoints","_ref2$zIndex","zIndex","componentZIndices","bottomSheet","_useTheme","useTheme","dimensions","useWindowSize","_React$useState","React","useState","_React$useState2","_slicedToArray","contentHeight","setContentHeight","_React$useState3","_React$useState4","headerHeight","setHeaderHeight","_React$useState5","_React$useState6","footerHeight","setFooterHeight","_React$useState7","_React$useState8","grabHandleHeight","setGrabHandleHeight","_React$useState9","_React$useState10","hasBodyPadding","setHasBodyPadding","_React$useState11","_React$useState12","isHeaderEmpty","setIsHeaderEmpty","bottomSheetAndDropdownGlue","useBottomSheetAndDropdownGlue","_React$useState13","_React$useState14","positionY","_setPositionY","_isOpen","_React$useState15","_React$useState16","setIsDragging","preventScrollingRef","useRef","scrollRef","grabHandleRef","defaultInitialFocusRef","originalFocusElement","initialSnapPoint","totalHeight","useMemo","id","useId","_useBottomSheetStack","useBottomSheetStack","stack","addBottomSheetToStack","removeBottomSheetFromStack","getTopOfTheStack","getCurrentStackIndexById","currentStackIndex","isOnTopOfStack","bottomSheetZIndex","setPositionY","useCallback","value","limit","arguments","length","shouldLimitPositionY","hasAutoCompleteInBottomSheetHeader","maxValue","computeMaxContent","maxHeight","isReady","shouldLock","scrollLockRef","useScrollLock","enabled","targetRef","reserveScrollBarGap","useEffect","hasNoBottomSheets","clearAllBodyScrollLocks","useIsomorphicLayoutEffect","current","getBoundingClientRect","height","middleSnapPoint","lowerSnapPoint","returnFocus","focus","focusOnInitialRef","_defaultInitialFocusR","_initialFocusRef$curr","useLayoutEffect","handleOnOpen","_originalFocusElement","activate","document","activeElement","handleOnClose","close","onBottomSheetDismiss","window","setTimeout","setDropdownHasBottomSheet","bind","useDrag","_ref3","active","last","cancel","tap","_ref3$movement","movement","_movementX","movementY","_ref3$velocity","velocity","_velocityX","velocityY","_ref3$lastOffset","lastOffset","_","lastOffsetY","down","dragging","_ref3$args","args","_ref3$args2","_ref3$args3","_ref3$args3$","_ref3$args3$2","_ref3$args3$2$isConte","isContentDragging","Boolean","rawY","upperSnapPoint","predictedDistance","predictedY","Math","max","min","newY","dampening","rubberbandIfOutOfBounds","isPosAtUpperSnapPoint","isContentScrolledAtTop","scrollTop","_computeSnapPointBoun","computeSnapPointBounds","map","point","_computeSnapPointBoun2","nearest","lower","lowerPointBuffer","lowerestSnap","shouldClose","from","filterTaps","scrollElement","preventScrolling","e","preventDefault","preventSafariOverscroll","addEventListener","removeEventListener","_usePresence","usePresence","isMounted","isVisible","isHeaderFloating","contextValue","isInBottomSheet","isInsideDropdown","_jsx","_Fragment","_jsxs","BottomSheetContext","Provider","BottomSheetBackdrop","_objectSpread","metaAttribute","name","MetaConstants","BottomSheet","testID","makeAccessible","modal","role","style","BaseBox","display","flexDirection","BottomSheetGrabHandle","ref","ComponentIds","assignWithoutSideEffects"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BottomSheet.web.js","sources":["../../../../../../src/components/BottomSheet/BottomSheet.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable react/jsx-no-useless-fragment */\n/* eslint-disable consistent-return */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { rubberbandIfOutOfBounds, useDrag } from '@use-gesture/react';\nimport usePresence from 'use-presence';\nimport { clearAllBodyScrollLocks } from 'body-scroll-lock-upgrade';\nimport { BottomSheetHeader } from './BottomSheetHeader';\nimport { BottomSheetFooter } from './BottomSheetFooter';\nimport { BottomSheetBody } from './BottomSheetBody';\nimport type { SnapPoints } from './utils';\nimport { computeMaxContent, computeSnapPointBounds } from './utils';\nimport { BottomSheetBackdrop } from './BottomSheetBackdrop';\nimport type { BottomSheetContextProps } from './BottomSheetContext';\nimport { BottomSheetContext, useBottomSheetAndDropdownGlue } from './BottomSheetContext';\nimport { ComponentIds } from './componentIds';\nimport type { BottomSheetProps } from './types';\nimport { BottomSheetGrabHandle } from './BottomSheetGrabHandle';\nimport { useBottomSheetStack } from './BottomSheetStack';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useScrollLock } from '~utils/useScrollLock';\nimport { useWindowSize } from '~utils/useWindowSize';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\nimport { useTheme } from '~components/BladeProvider';\nimport { useId } from '~utils/useId';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSize } from '~utils/makeSize';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils/makeMotionTime';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nexport const BOTTOM_SHEET_EASING = 'cubic-bezier(.15,0,.24,.97)';\nconst AUTOCOMPLETE_DEFAULT_SNAPPOINT = 0.85;\n\nconst BottomSheetSurface = styled.div<{\n windowHeight: number;\n isDragging: boolean;\n}>(({ theme, windowHeight, isDragging }) => {\n return {\n background: theme.colors.popup.background.subtle,\n borderTopLeftRadius: makeSize(size[16]),\n borderTopRightRadius: makeSize(size[16]),\n borderColor: theme.colors.popup.border.subtle,\n // this is reverse top elevation of highRaised elevation token\n boxShadow: '0px -24px 48px -12px hsla(217, 56%, 17%, 0.18)',\n opacity: 0,\n pointerEvents: 'none',\n transitionDuration: isDragging\n ? undefined\n : `${makeMotionTime(theme.motion.duration.moderate)}`,\n transitionTimingFunction: BOTTOM_SHEET_EASING,\n willChange: 'transform, opacity, height',\n transitionProperty: 'transform, opacity, height',\n position: 'fixed',\n left: 0,\n right: 0,\n bottom: 0,\n top: windowHeight,\n backgroundColor: theme.colors.popup.background.subtle,\n justifyContent: 'center',\n alignItems: 'center',\n touchAction: 'none',\n overflow: 'hidden',\n };\n});\n\nconst _BottomSheet = ({\n isOpen,\n onDismiss,\n children,\n initialFocusRef,\n snapPoints = [0.35, 0.5, 0.85],\n zIndex = componentZIndices.bottomSheet,\n ...dataAnalyticsProps\n}: BottomSheetProps): React.ReactElement => {\n const { theme } = useTheme();\n const dimensions = useWindowSize();\n const [contentHeight, setContentHeight] = React.useState(0);\n const [headerHeight, setHeaderHeight] = React.useState(0);\n const [footerHeight, setFooterHeight] = React.useState(0);\n const [grabHandleHeight, setGrabHandleHeight] = React.useState(0);\n const [hasBodyPadding, setHasBodyPadding] = React.useState(true);\n const [isHeaderEmpty, setIsHeaderEmpty] = React.useState(false);\n\n const bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();\n const [positionY, _setPositionY] = React.useState(0);\n const _isOpen = isOpen ?? bottomSheetAndDropdownGlue?.isOpen;\n const [isDragging, setIsDragging] = React.useState(false);\n\n const preventScrollingRef = React.useRef(true);\n const scrollRef = React.useRef<HTMLDivElement>(null);\n const grabHandleRef = React.useRef<HTMLDivElement>(null);\n const defaultInitialFocusRef = React.useRef<any>(null);\n const originalFocusElement = React.useRef<HTMLElement | null>(null);\n const initialSnapPoint = React.useRef<number>(snapPoints[1]);\n const totalHeight = React.useMemo(() => {\n return grabHandleHeight + headerHeight + footerHeight + contentHeight;\n }, [contentHeight, footerHeight, grabHandleHeight, headerHeight]);\n\n const id = useId();\n const {\n stack,\n addBottomSheetToStack,\n removeBottomSheetFromStack,\n getTopOfTheStack,\n getCurrentStackIndexById,\n } = useBottomSheetStack();\n const currentStackIndex = getCurrentStackIndexById(id);\n const isOnTopOfStack = getTopOfTheStack() === id;\n const bottomSheetZIndex = zIndex - currentStackIndex;\n\n const setPositionY = React.useCallback(\n (value: number, limit = true) => {\n // In AutoComplete, we want BottomSheet to be docked to top snappoint so we remove the limits\n const shouldLimitPositionY =\n limit && !bottomSheetAndDropdownGlue?.hasAutoCompleteInBottomSheetHeader;\n\n const maxValue = computeMaxContent({\n contentHeight,\n footerHeight,\n headerHeight: headerHeight + grabHandleHeight,\n maxHeight: value,\n });\n _setPositionY(shouldLimitPositionY ? maxValue : value);\n },\n [\n bottomSheetAndDropdownGlue?.hasAutoCompleteInBottomSheetHeader,\n contentHeight,\n footerHeight,\n grabHandleHeight,\n headerHeight,\n ],\n );\n\n // locks the body scroll to prevent accidental scrolling of content when we drag the sheet\n // We are ready when we calculated the height of the content\n const isReady = contentHeight > 0;\n // only lock the body when we atleast have 1 bottomsheet open\n const shouldLock = isReady && stack.length > 0;\n const scrollLockRef = useScrollLock({\n enabled: shouldLock,\n targetRef: scrollRef,\n reserveScrollBarGap: true,\n });\n\n // clear all body locks to avoid memory leaks & accidental body locking\n React.useEffect(() => {\n const hasNoBottomSheets = stack.length < 1;\n if (hasNoBottomSheets) {\n clearAllBodyScrollLocks();\n }\n }, [stack]);\n\n // take the grabHandle's height into headerHeight too\n useIsomorphicLayoutEffect(() => {\n if (!grabHandleRef.current) return;\n setGrabHandleHeight(grabHandleRef.current.getBoundingClientRect().height);\n }, [grabHandleRef.current, _isOpen]);\n\n // if bottomSheet height is >35% & <50% then set initial snapPoint to 35%\n useIsomorphicLayoutEffect(() => {\n if (bottomSheetAndDropdownGlue?.hasAutoCompleteInBottomSheetHeader) {\n initialSnapPoint.current = AUTOCOMPLETE_DEFAULT_SNAPPOINT;\n } else {\n const middleSnapPoint = snapPoints[1] * dimensions.height;\n const lowerSnapPoint = snapPoints[0] * dimensions.height;\n if (totalHeight > lowerSnapPoint && totalHeight < middleSnapPoint) {\n initialSnapPoint.current = snapPoints[0];\n }\n }\n }, [dimensions.height, snapPoints, totalHeight]);\n\n const returnFocus = React.useCallback(() => {\n if (!originalFocusElement.current) return;\n originalFocusElement.current.focus();\n // After returning focus we will clear the original focus\n // Because if sheet can be opened up via multiple triggers\n // We want to ensure the focus returns back to the most recent triggerer\n originalFocusElement.current = null;\n }, [originalFocusElement]);\n\n const focusOnInitialRef = React.useCallback(() => {\n if (!initialFocusRef) {\n // focus on close button\n defaultInitialFocusRef.current?.focus();\n } else {\n // focus on the initialRef passed by the user\n initialFocusRef.current?.focus();\n }\n }, [initialFocusRef]);\n\n // focus on the initial ref when the sheet is opened\n React.useLayoutEffect(() => {\n if (_isOpen) {\n focusOnInitialRef();\n }\n }, [_isOpen, focusOnInitialRef]);\n\n const handleOnOpen = React.useCallback(() => {\n setPositionY(dimensions.height * initialSnapPoint.current);\n scrollLockRef.current.activate();\n // initialize the original focused element\n // On first render it will be the activeElement, eg: the button trigger or select input\n // On Subsequent open operations it won't further update the original focus\n originalFocusElement.current =\n originalFocusElement.current ?? (document.activeElement as HTMLElement);\n }, [dimensions.height, scrollLockRef, setPositionY]);\n\n const handleOnClose = React.useCallback(() => {\n setPositionY(0);\n }, [setPositionY]);\n\n const close = React.useCallback(() => {\n onDismiss?.();\n bottomSheetAndDropdownGlue?.onBottomSheetDismiss();\n returnFocus();\n }, [bottomSheetAndDropdownGlue, onDismiss, returnFocus]);\n\n // sync controlled state to our actions\n React.useEffect(() => {\n if (_isOpen) {\n // open on the next frame, otherwise the animations will not run on first render\n window.setTimeout(() => {\n handleOnOpen();\n });\n } else {\n handleOnClose();\n }\n }, [_isOpen, handleOnClose, handleOnOpen]);\n\n // let the Dropdown component know that it's rendering a bottomsheet\n React.useEffect(() => {\n if (!bottomSheetAndDropdownGlue) return;\n bottomSheetAndDropdownGlue.setDropdownHasBottomSheet(true);\n }, [bottomSheetAndDropdownGlue]);\n\n const bind = useDrag(\n ({\n active,\n last,\n cancel,\n tap,\n movement: [_movementX, movementY],\n velocity: [_velocityX, velocityY],\n lastOffset: [_, lastOffsetY],\n down,\n dragging,\n args: [{ isContentDragging = false } = {}] = [],\n }) => {\n setIsDragging(Boolean(dragging));\n // lastOffsetY is the previous position user stopped dragging the sheet\n // movementY is the drag amount from the bottom of the screen, so as you drag up the movementY goes into negatives\n // and rawY is the calculated offset from the last position of the bottomsheet to current drag amount.\n const rawY = lastOffsetY - movementY;\n\n const lowerSnapPoint = dimensions.height * snapPoints[0];\n const upperSnapPoint = dimensions.height * snapPoints[snapPoints.length - 1];\n\n // predictedY is used to create velocity driven swipe\n // the faster you swipe the more distance you cover\n // this enables users to reach upper & lower snappoint with a single swipe\n const predictedDistance = movementY * (velocityY / 2);\n const predictedY = Math.max(\n lowerSnapPoint,\n Math.min(upperSnapPoint, rawY - predictedDistance * 2),\n );\n\n let newY = rawY;\n\n if (down) {\n // Ensure that users aren't able to drag the sheet\n // more than the upperSnapPoint or maximum height of the sheet\n // this is basically a clamp() function but creates a nice rubberband effect\n const dampening = 0.55;\n if (totalHeight < upperSnapPoint) {\n newY = rubberbandIfOutOfBounds(rawY, 0, totalHeight, dampening);\n } else {\n newY = rubberbandIfOutOfBounds(rawY, 0, upperSnapPoint, dampening);\n }\n } else {\n newY = predictedY;\n }\n\n const isPosAtUpperSnapPoint = newY >= upperSnapPoint;\n\n if (isContentDragging) {\n if (isPosAtUpperSnapPoint) {\n newY = upperSnapPoint;\n }\n\n // keep the newY at upper snap point\n // until the scrollable content is not at top\n // and previously saved Y position is greater than or equal to upper snap point\n // Note: how using newY won't work here since we need the previous value of the newY\n // since we always keep updating the newY,\n // this is cruicial in making the scroll feel natural\n const isContentScrolledAtTop = scrollRef.current && scrollRef.current.scrollTop <= 0;\n if (lastOffsetY === upperSnapPoint && !isContentScrolledAtTop) {\n newY = upperSnapPoint;\n }\n preventScrollingRef.current = newY < upperSnapPoint;\n }\n\n if (last) {\n // calculate the nearest snapPoint\n const [nearest, lower] = computeSnapPointBounds(\n newY,\n snapPoints.map((point) => dimensions.height * point) as SnapPoints,\n );\n\n // This ensure that the lower snapPoint will always have atleast some buffer\n // When the bottomsheet total height is less than the lower snapPoint\n // Video walkthrough: https://www.loom.com/share/a9a8db7688d64194b13df8b3e25859ae\n const lowerPointBuffer = 60;\n const lowerestSnap = Math.min(lower, totalHeight) - lowerPointBuffer;\n\n const shouldClose = rawY < lowerestSnap;\n if (shouldClose) {\n setIsDragging(false);\n cancel();\n close();\n return;\n }\n\n // if we stop dragging assign snap to the nearest point\n if (!active && !tap) {\n newY = nearest;\n }\n }\n\n setPositionY(newY, !down);\n },\n {\n from: [0, positionY],\n filterTaps: true,\n enabled: isOnTopOfStack && _isOpen,\n },\n );\n\n // Here we are preventing the scrolling of the content, until the preventScrollingRef value is true\n useIsomorphicLayoutEffect(() => {\n const scrollElement = scrollRef.current;\n if (!scrollElement) return;\n\n const preventScrolling = (e: Event) => {\n if (preventScrollingRef?.current) {\n e.preventDefault();\n }\n };\n\n // https://www.bram.us/2016/05/02/prevent-overscroll-bounce-in-ios-mobilesafari-pure-css/\n const preventSafariOverscroll = (e: Event) => {\n if (scrollElement.scrollTop < 0) {\n // TODO: figure this out, it doesn't seem to work >iOS12\n // requestAnimationFrame(() => {\n // elem.style.overflow = 'hidden';\n // elem.scrollTop = 0;\n // elem.style.removeProperty('overflow');\n // });\n e.preventDefault();\n }\n };\n\n scrollElement.addEventListener('scroll', preventScrolling);\n scrollElement.addEventListener('touchmove', preventScrolling);\n scrollElement.addEventListener('touchstart', preventSafariOverscroll);\n return () => {\n scrollElement.removeEventListener('scroll', preventScrolling);\n scrollElement.removeEventListener('touchmove', preventScrolling);\n scrollElement.removeEventListener('touchstart', preventSafariOverscroll);\n };\n // Only run this hook when we know all the layout calculations are done,\n // Otherwise the scrollRef.current will be null.\n // isReady prop will ensure that we are done measuring the content height\n }, [isReady]);\n\n // usePresence hook waits for the animation to finish before unmounting the component\n // It's similar to framer-motions usePresence hook\n // https://www.framer.com/docs/animate-presence/#usepresence\n const { isMounted, isVisible } = usePresence(Boolean(_isOpen), {\n transitionDuration: theme.motion.duration.moderate,\n });\n\n const isHeaderFloating = !hasBodyPadding && isHeaderEmpty;\n const contextValue: BottomSheetContextProps = React.useMemo(\n () => ({\n isInBottomSheet: true,\n isOpen: Boolean(isVisible),\n close,\n positionY,\n headerHeight,\n contentHeight,\n footerHeight,\n setContentHeight,\n setFooterHeight,\n setHeaderHeight,\n setHasBodyPadding,\n setIsHeaderEmpty,\n scrollRef,\n bind,\n defaultInitialFocusRef,\n isHeaderFloating,\n }),\n [\n isVisible,\n close,\n positionY,\n headerHeight,\n contentHeight,\n footerHeight,\n setContentHeight,\n setFooterHeight,\n setHeaderHeight,\n setHasBodyPadding,\n setIsHeaderEmpty,\n scrollRef,\n bind,\n defaultInitialFocusRef,\n isHeaderFloating,\n ],\n );\n\n React.useEffect(() => {\n if (isMounted) {\n addBottomSheetToStack(id);\n } else {\n removeBottomSheetFromStack(id);\n }\n }, [addBottomSheetToStack, id, isMounted, removeBottomSheetFromStack]);\n\n // We will need to reset these values otherwise the next time the bottomsheet opens\n // this will be populated and the animations won't run\n // why?: because how the usePresence hook works, we actually just unmount the\n // html contents not the whole <BottomSheet /> react component\n React.useEffect(() => {\n if (!isMounted) {\n setHeaderHeight(0);\n setFooterHeight(0);\n setContentHeight(0);\n setGrabHandleHeight(0);\n _setPositionY(0);\n }\n }, [isMounted, scrollLockRef]);\n\n // We don't want to destroy the react tree when we are rendering inside Dropdown\n // Because if we bail out early then ActionList won't render,\n // and Dropdown manages it's state based on the rendered JSX of ActionList\n // If we don't render ActionList Dropdown state will reset each time we open/close BottomSheet\n const isInsideDropdown = Boolean(bottomSheetAndDropdownGlue);\n if (!isMounted && !isInsideDropdown) {\n return <></>;\n }\n\n return (\n <BottomSheetContext.Provider value={contextValue}>\n <BottomSheetBackdrop zIndex={bottomSheetZIndex} />\n <BottomSheetSurface\n {...metaAttribute({\n name: MetaConstants.BottomSheet,\n testID: 'bottomsheet-surface',\n })}\n {...makeAccessible({ modal: true, role: 'dialog' })}\n windowHeight={dimensions.height}\n isDragging={isDragging}\n style={{\n opacity: isVisible ? 1 : 0,\n pointerEvents: isVisible ? 'all' : 'none',\n height: positionY,\n bottom: 0,\n top: 'auto',\n zIndex: bottomSheetZIndex,\n }}\n {...makeAnalyticsAttribute(dataAnalyticsProps)}\n >\n <BaseBox height=\"100%\" display=\"flex\" flexDirection=\"column\">\n <BottomSheetGrabHandle\n ref={grabHandleRef}\n isHeaderFloating={isHeaderFloating}\n {...metaAttribute({ name: ComponentIds.BottomSheetGrabHandle })}\n {...bind()}\n />\n {children}\n </BaseBox>\n </BottomSheetSurface>\n </BottomSheetContext.Provider>\n );\n};\n\nconst BottomSheet = assignWithoutSideEffects(_BottomSheet, {\n componentId: ComponentIds.BottomSheet,\n});\n\nexport { BottomSheet, BottomSheetBody, BottomSheetHeader, BottomSheetFooter };\nexport type { BottomSheetProps };\n"],"names":["BOTTOM_SHEET_EASING","AUTOCOMPLETE_DEFAULT_SNAPPOINT","BottomSheetSurface","styled","div","withConfig","displayName","componentId","_ref","theme","windowHeight","isDragging","background","colors","popup","subtle","borderTopLeftRadius","makeSize","size","borderTopRightRadius","borderColor","border","boxShadow","opacity","pointerEvents","transitionDuration","undefined","concat","makeMotionTime","motion","duration","moderate","transitionTimingFunction","willChange","transitionProperty","position","left","right","bottom","top","backgroundColor","justifyContent","alignItems","touchAction","overflow","_BottomSheet","_ref2","isOpen","onDismiss","children","initialFocusRef","_ref2$snapPoints","snapPoints","_ref2$zIndex","zIndex","componentZIndices","bottomSheet","dataAnalyticsProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","dimensions","useWindowSize","_React$useState","React","useState","_React$useState2","_slicedToArray","contentHeight","setContentHeight","_React$useState3","_React$useState4","headerHeight","setHeaderHeight","_React$useState5","_React$useState6","footerHeight","setFooterHeight","_React$useState7","_React$useState8","grabHandleHeight","setGrabHandleHeight","_React$useState9","_React$useState10","hasBodyPadding","setHasBodyPadding","_React$useState11","_React$useState12","isHeaderEmpty","setIsHeaderEmpty","bottomSheetAndDropdownGlue","useBottomSheetAndDropdownGlue","_React$useState13","_React$useState14","positionY","_setPositionY","_isOpen","_React$useState15","_React$useState16","setIsDragging","preventScrollingRef","useRef","scrollRef","grabHandleRef","defaultInitialFocusRef","originalFocusElement","initialSnapPoint","totalHeight","useMemo","id","useId","_useBottomSheetStack","useBottomSheetStack","stack","addBottomSheetToStack","removeBottomSheetFromStack","getTopOfTheStack","getCurrentStackIndexById","currentStackIndex","isOnTopOfStack","bottomSheetZIndex","setPositionY","useCallback","value","limit","arguments","length","shouldLimitPositionY","hasAutoCompleteInBottomSheetHeader","maxValue","computeMaxContent","maxHeight","isReady","shouldLock","scrollLockRef","useScrollLock","enabled","targetRef","reserveScrollBarGap","useEffect","hasNoBottomSheets","clearAllBodyScrollLocks","useIsomorphicLayoutEffect","current","getBoundingClientRect","height","middleSnapPoint","lowerSnapPoint","returnFocus","focus","focusOnInitialRef","_defaultInitialFocusR","_initialFocusRef$curr","useLayoutEffect","handleOnOpen","_originalFocusElement","activate","document","activeElement","handleOnClose","close","onBottomSheetDismiss","window","setTimeout","setDropdownHasBottomSheet","bind","useDrag","_ref3","active","last","cancel","tap","_ref3$movement","movement","_movementX","movementY","_ref3$velocity","velocity","_velocityX","velocityY","_ref3$lastOffset","lastOffset","_","lastOffsetY","down","dragging","_ref3$args","args","_ref3$args2","_ref3$args3","_ref3$args3$","_ref3$args3$2","_ref3$args3$2$isConte","isContentDragging","Boolean","rawY","upperSnapPoint","predictedDistance","predictedY","Math","max","min","newY","dampening","rubberbandIfOutOfBounds","isPosAtUpperSnapPoint","isContentScrolledAtTop","scrollTop","_computeSnapPointBoun","computeSnapPointBounds","map","point","_computeSnapPointBoun2","nearest","lower","lowerPointBuffer","lowerestSnap","shouldClose","from","filterTaps","scrollElement","preventScrolling","e","preventDefault","preventSafariOverscroll","addEventListener","removeEventListener","_usePresence","usePresence","isMounted","isVisible","isHeaderFloating","contextValue","isInBottomSheet","isInsideDropdown","_jsx","_Fragment","_jsxs","BottomSheetContext","Provider","BottomSheetBackdrop","_objectSpread","metaAttribute","name","MetaConstants","BottomSheet","testID","makeAccessible","modal","role","style","makeAnalyticsAttribute","BaseBox","display","flexDirection","BottomSheetGrabHandle","ref","ComponentIds","assignWithoutSideEffects"],"mappings":"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"}
|