@razorpay/blade 12.49.4 → 12.49.5
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/AccordionButton.native.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/native/components/ActionList/actionListUtils.js.map +1 -1
- package/build/lib/native/components/Alert/Alert.js.map +1 -1
- package/build/lib/native/components/Amount/Amount.js.map +1 -1
- package/build/lib/native/components/Badge/Badge.js.map +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/native/components/BladeProvider/useBladeProvider.js.map +1 -1
- package/build/lib/native/components/BottomSheet/BottomSheet.native.js +1 -1
- package/build/lib/native/components/BottomSheet/BottomSheet.native.js.map +1 -1
- package/build/lib/native/components/Box/BaseBox/baseBoxStyles.js.map +1 -1
- package/build/lib/native/components/Box/Box.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/StyledBaseButton.native.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/native/components/Button/IconButton/StyledIconButton.native.js.map +1 -1
- package/build/lib/native/components/Card/CardContext.js.map +1 -1
- package/build/lib/native/components/Card/CardFooter.js.map +1 -1
- package/build/lib/native/components/Card/CardHeader.js.map +1 -1
- package/build/lib/native/components/Card/CardRoot.native.js.map +1 -1
- package/build/lib/native/components/Card/CardSurface.native.js.map +1 -1
- package/build/lib/native/components/Carousel/Carousel.native.js.map +1 -1
- package/build/lib/native/components/Carousel/CarouselItem.native.js.map +1 -1
- package/build/lib/native/components/Carousel/Indicators/Indicators.js.map +1 -1
- package/build/lib/native/components/Carousel/Indicators/getIndicatorButtonStyles.js.map +1 -1
- package/build/lib/native/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/native/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/native/components/Checkbox/useCheckbox.js.map +1 -1
- package/build/lib/native/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/native/components/Chip/chipTokens.js.map +1 -1
- package/build/lib/native/components/Chip/useChipGroup.js.map +1 -1
- package/build/lib/native/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/native/components/Collapsible/CollapsibleChevronIcon.native.js.map +1 -1
- package/build/lib/native/components/Collapsible/CollapsibleContext.js.map +1 -1
- package/build/lib/native/components/Counter/Counter.js.map +1 -1
- package/build/lib/native/components/Divider/Divider.js.map +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js +1 -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/DropdownIconButton.js +1 -1
- package/build/lib/native/components/Dropdown/DropdownIconButton.js.map +1 -1
- package/build/lib/native/components/Dropdown/DropdownLink.js +1 -1
- package/build/lib/native/components/Dropdown/DropdownLink.js.map +1 -1
- package/build/lib/native/components/Dropdown/DropdownOverlay.native.js.map +1 -1
- package/build/lib/native/components/Dropdown/dropdownUtils.js.map +1 -1
- package/build/lib/native/components/Form/useFormId.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/Chevron.js.map +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/SelectInput.js +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/SelectInput.js.map +1 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/native/components/Link/BaseLink/StyledBaseLink.native.js.map +1 -1
- package/build/lib/native/components/List/ListItem.js.map +1 -1
- package/build/lib/native/components/List/getOrderedListItemBullet.js.map +1 -1
- package/build/lib/native/components/Popover/PopoverContext.js.map +1 -1
- package/build/lib/native/components/PopupArrow/PopupArrow.native.js.map +1 -1
- package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js.map +1 -1
- package/build/lib/native/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/native/components/ProgressBar/ProgressBarFilled.native.js.map +1 -1
- package/build/lib/native/components/ProgressBar/progressBarTokens.js.map +1 -1
- package/build/lib/native/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/native/components/Radio/RadioGroup/useRadioGroup.js.map +1 -1
- package/build/lib/native/components/Radio/RadioIcon/RadioIcon.js.map +1 -1
- package/build/lib/native/components/Radio/useRadio.js.map +1 -1
- package/build/lib/native/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
- package/build/lib/native/components/Spinner/BaseSpinner/SpinningBox.native.js.map +1 -1
- package/build/lib/native/components/StepGroup/StepItemMarker.js.map +1 -1
- package/build/lib/native/components/Switch/getTrackStyles.js.map +1 -1
- package/build/lib/native/components/Tabs/SafeSceneMap.native.js.map +1 -1
- package/build/lib/native/components/Tabs/utils.js.map +1 -1
- package/build/lib/native/components/Tag/Tag.js.map +1 -1
- package/build/lib/native/components/Tag/getTagsGroup.js.map +1 -1
- package/build/lib/native/components/Tooltip/TooltipContext.js.map +1 -1
- package/build/lib/native/components/Typography/BaseText/getBaseTextStyles.js.map +1 -1
- package/build/lib/native/components/Typography/Code/Code.js.map +1 -1
- package/build/lib/native/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/native/components/Typography/utils.js.map +1 -1
- package/build/lib/native/components/VisuallyHidden/ScreenReaderStyles.js.map +1 -1
- package/build/lib/native/tokens/global/colors.js.map +1 -1
- package/build/lib/native/tokens/global/elevation/elevation.native.js.map +1 -1
- package/build/lib/native/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/native/tokens/theme/createTheme.js.map +1 -1
- package/build/lib/native/utils/getMediaQuery/getMediaQuery.js.map +1 -1
- package/build/lib/native/utils/isPartialMatchObjectKeys/isPartialMatchObjectKeys.js.map +1 -1
- package/build/lib/native/utils/logger/logger.js.map +1 -1
- package/build/lib/native/utils/makeAccessible/makeAccessible.native.js.map +1 -1
- package/build/lib/native/utils/makeBorderSize/makeBorderSize.js.map +1 -1
- package/build/lib/native/utils/makeLetterSpacing/makeLetterSpacing.js.map +1 -1
- package/build/lib/native/utils/makeSize/makeSize.js.map +1 -1
- package/build/lib/native/utils/makeSpace/makeSpace.js.map +1 -1
- package/build/lib/native/utils/makeTypographySize/makeTypographySize.native.js.map +1 -1
- package/build/lib/native/utils/metaAttribute/metaAttribute.native.js.map +1 -1
- package/build/lib/native/utils/useColorScheme/useColorScheme.js.map +1 -1
- package/build/lib/native/utils/useId.js.map +1 -1
- package/build/lib/native/utils/useMergeRefs.js.map +1 -1
- package/build/lib/native/utils/useVerifyAllowedChildren/useVerifyAllowedChildren.js.map +1 -1
- package/build/lib/web/development/components/Accordion/Accordion.js +2 -2
- package/build/lib/web/development/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionList.js +1 -1
- package/build/lib/web/development/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListBox.web.js +7 -7
- package/build/lib/web/development/components/ActionList/ActionListBox.web.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js +4 -4
- package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/development/components/ActionList/actionListUtils.js +4 -4
- package/build/lib/web/development/components/ActionList/actionListUtils.js.map +1 -1
- package/build/lib/web/development/components/Amount/Amount.js +2 -2
- package/build/lib/web/development/components/Amount/Amount.js.map +1 -1
- package/build/lib/web/development/components/AnimateInteractions/AnimateInteractions.web.js.map +1 -1
- package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.js +2 -2
- package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.js.map +1 -1
- package/build/lib/web/development/components/Avatar/Avatar.web.js +1 -1
- package/build/lib/web/development/components/Avatar/Avatar.web.js.map +1 -1
- package/build/lib/web/development/components/Badge/Badge.js +1 -1
- package/build/lib/web/development/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +2 -2
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/development/components/BaseMotion/baseMotionUtils.js +2 -2
- package/build/lib/web/development/components/BaseMotion/baseMotionUtils.js.map +1 -1
- package/build/lib/web/development/components/BladeProvider/useTheme.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js +19 -19
- package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetBackdrop.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetContext.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetStack.js.map +1 -1
- package/build/lib/web/development/components/Box/BaseBox/baseBoxStyles.js +27 -27
- package/build/lib/web/development/components/Box/BaseBox/baseBoxStyles.js.map +1 -1
- package/build/lib/web/development/components/Box/Box.js +1 -1
- package/build/lib/web/development/components/Box/Box.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +5 -5
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/development/components/Button/Button/Button.js +2 -2
- package/build/lib/web/development/components/Button/Button/Button.js.map +1 -1
- package/build/lib/web/development/components/Button/IconButton/IconButton.js +1 -1
- package/build/lib/web/development/components/Button/IconButton/IconButton.js.map +1 -1
- package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js +1 -1
- package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
- package/build/lib/web/development/components/Card/Card.js.map +1 -1
- package/build/lib/web/development/components/Card/CardFooter.js +2 -2
- package/build/lib/web/development/components/Card/CardFooter.js.map +1 -1
- package/build/lib/web/development/components/Card/CardRoot.web.js.map +1 -1
- package/build/lib/web/development/components/Carousel/Carousel.web.js +6 -6
- package/build/lib/web/development/components/Carousel/Carousel.web.js.map +1 -1
- package/build/lib/web/development/components/Carousel/CarouselItem.web.js +2 -2
- package/build/lib/web/development/components/Carousel/CarouselItem.web.js.map +1 -1
- package/build/lib/web/development/components/Carousel/Indicators/Indicators.js +1 -1
- package/build/lib/web/development/components/Carousel/Indicators/Indicators.js.map +1 -1
- package/build/lib/web/development/components/ChatMessage/ChatMessage.web.js +1 -1
- package/build/lib/web/development/components/ChatMessage/ChatMessage.web.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/Checkbox.js +5 -5
- package/build/lib/web/development/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/CheckboxGroup/useCheckboxGroup.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/useCheckbox.js +1 -1
- package/build/lib/web/development/components/Checkbox/useCheckbox.js.map +1 -1
- package/build/lib/web/development/components/Chip/Chip.js +5 -5
- package/build/lib/web/development/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/development/components/Chip/useChipGroup.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/Collapsible.js +3 -3
- package/build/lib/web/development/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/CollapsibleButton.js +1 -1
- package/build/lib/web/development/components/Collapsible/CollapsibleButton.js.map +1 -1
- package/build/lib/web/development/components/Counter/Counter.js +1 -1
- package/build/lib/web/development/components/Counter/Counter.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +13 -13
- package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/Calendar.web.js +7 -7
- package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/CalendarHeader.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/DateInput.web.js +4 -4
- package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetDropdown.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/useControlledDates.js +1 -1
- package/build/lib/web/development/components/DatePicker/useControlledDates.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/useDatesState.js +1 -1
- package/build/lib/web/development/components/DatePicker/useDatesState.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/usePopup.js +2 -2
- package/build/lib/web/development/components/DatePicker/usePopup.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/utils.js +1 -1
- package/build/lib/web/development/components/DatePicker/utils.js.map +1 -1
- package/build/lib/web/development/components/Drawer/Drawer.web.js +2 -2
- package/build/lib/web/development/components/Drawer/Drawer.web.js.map +1 -1
- package/build/lib/web/development/components/Drawer/DrawerContext.js.map +1 -1
- package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
- package/build/lib/web/development/components/Drawer/StackProvider.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +28 -28
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownButton.js +4 -4
- package/build/lib/web/development/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownIconButton.js +4 -4
- package/build/lib/web/development/components/Dropdown/DropdownIconButton.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownLink.js +4 -4
- package/build/lib/web/development/components/Dropdown/DropdownLink.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js +1 -1
- package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/FilterChipGroupContext.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js +7 -7
- package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js +8 -8
- package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/useDropdown.js +4 -4
- package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/development/components/EmptyState/EmptyState.web.js +1 -1
- package/build/lib/web/development/components/EmptyState/EmptyState.web.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js +14 -14
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/FileUploadItem.js +1 -1
- package/build/lib/web/development/components/FileUpload/FileUploadItem.js.map +1 -1
- package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js +3 -3
- package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js.map +1 -1
- package/build/lib/web/development/components/Form/FormHint.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js.map +1 -1
- package/build/lib/web/development/components/Indicator/Indicator.js +1 -1
- package/build/lib/web/development/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/web/development/components/InfoGroup/InfoGroup.web.js +6 -6
- package/build/lib/web/development/components/InfoGroup/InfoGroup.web.js.map +1 -1
- package/build/lib/web/development/components/InfoGroup/InfoGroupContext.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +1 -1
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +110 -110
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js +8 -8
- package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +7 -7
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/useTaggedInput.js +4 -4
- package/build/lib/web/development/components/Input/BaseInput/useTaggedInput.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/AutoComplete.js +8 -8
- package/build/lib/web/development/components/Input/DropdownInputTriggers/AutoComplete.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +4 -4
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/SelectInput.js +3 -3
- package/build/lib/web/development/components/Input/DropdownInputTriggers/SelectInput.js.map +1 -1
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +14 -14
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js +1 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +5 -5
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +5 -5
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextArea/TextArea.js +7 -7
- package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +7 -7
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/useFormattedInput.js +2 -2
- package/build/lib/web/development/components/Input/TextInput/useFormattedInput.js.map +1 -1
- package/build/lib/web/development/components/InputGroup/InputGroup.web.js +1 -1
- package/build/lib/web/development/components/InputGroup/InputGroup.web.js.map +1 -1
- package/build/lib/web/development/components/Link/BaseLink/BaseLink.js +3 -3
- package/build/lib/web/development/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/web/development/components/Link/Link/Link.js +1 -1
- package/build/lib/web/development/components/Link/Link/Link.js.map +1 -1
- package/build/lib/web/development/components/List/List.js +1 -1
- package/build/lib/web/development/components/List/List.js.map +1 -1
- package/build/lib/web/development/components/List/getOrderedListItemBullet.js +3 -3
- package/build/lib/web/development/components/List/getOrderedListItemBullet.js.map +1 -1
- package/build/lib/web/development/components/ListView/ListViewFilters.web.js.map +1 -1
- package/build/lib/web/development/components/ListView/ListViewFiltersContext.web.js.map +1 -1
- package/build/lib/web/development/components/LiveAnnouncer/LiveAnnouncer.web.js.map +1 -1
- package/build/lib/web/development/components/Menu/Menu.web.js.map +1 -1
- package/build/lib/web/development/components/Menu/MenuItem.web.js +3 -3
- package/build/lib/web/development/components/Menu/MenuItem.web.js.map +1 -1
- package/build/lib/web/development/components/Menu/useMenu.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalBackdrop.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalContext.js.map +1 -1
- package/build/lib/web/development/components/Popover/Popover.web.js.map +1 -1
- package/build/lib/web/development/components/Preview/Preview.web.js +29 -30
- package/build/lib/web/development/components/Preview/Preview.web.js.map +1 -1
- package/build/lib/web/development/components/QuickFilters/QuickFilterGroup/QuickFilterGroup.js.map +1 -1
- package/build/lib/web/development/components/Radio/Radio.js +4 -4
- package/build/lib/web/development/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/development/components/Radio/RadioGroup/useRadioGroup.js +1 -1
- package/build/lib/web/development/components/Radio/RadioGroup/useRadioGroup.js.map +1 -1
- package/build/lib/web/development/components/Radio/useRadio.js +1 -1
- package/build/lib/web/development/components/Radio/useRadio.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNav.web.js +19 -19
- package/build/lib/web/development/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js +6 -6
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavLevel.web.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/Tour.web.js +7 -7
- package/build/lib/web/development/components/SpotlightPopoverTour/Tour.web.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourFooter.web.js +2 -2
- package/build/lib/web/development/components/SpotlightPopoverTour/TourFooter.web.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourStep.web.js +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourStep.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/StepGroup.web.js +6 -6
- package/build/lib/web/development/components/StepGroup/StepGroup.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/StepItem.web.js +1 -1
- package/build/lib/web/development/components/StepGroup/StepItem.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/StepLine.web.js +13 -13
- package/build/lib/web/development/components/StepGroup/StepLine.web.js.map +1 -1
- package/build/lib/web/development/components/Switch/Switch.js +1 -1
- package/build/lib/web/development/components/Switch/Switch.js.map +1 -1
- package/build/lib/web/development/components/Table/Table.web.js +10 -10
- package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableBody.web.js +6 -6
- package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableContext.js.map +1 -1
- package/build/lib/web/development/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TablePagination.web.js +2 -2
- package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabItem.web.js +2 -2
- package/build/lib/web/development/components/Tabs/TabItem.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabList.web.js +2 -2
- package/build/lib/web/development/components/Tabs/TabList.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/Tabs.web.js +1 -1
- package/build/lib/web/development/components/Tabs/Tabs.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/utils.js +2 -2
- package/build/lib/web/development/components/Tabs/utils.js.map +1 -1
- package/build/lib/web/development/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/development/components/Toast/Toast.web.js +2 -2
- package/build/lib/web/development/components/Toast/Toast.web.js.map +1 -1
- package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js +1 -1
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js +2 -2
- package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
- package/build/lib/web/development/components/TopNav/TabNav/utils.js +2 -2
- package/build/lib/web/development/components/TopNav/TabNav/utils.js.map +1 -1
- package/build/lib/web/development/components/Typography/Text/Text.js +1 -1
- package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/development/tokens/theme/overrideTheme.js +2 -2
- package/build/lib/web/development/tokens/theme/overrideTheme.js.map +1 -1
- package/build/lib/web/development/utils/bladeCoverage.js +9 -10
- package/build/lib/web/development/utils/bladeCoverage.js.map +1 -1
- package/build/lib/web/development/utils/fireNativeEvent/fireNativeEvent.web.js +1 -1
- package/build/lib/web/development/utils/fireNativeEvent/fireNativeEvent.web.js.map +1 -1
- package/build/lib/web/development/utils/hasSameObjectStructure/hasSameObjectStructure.js +6 -6
- package/build/lib/web/development/utils/hasSameObjectStructure/hasSameObjectStructure.js.map +1 -1
- package/build/lib/web/development/utils/isPartialMatchObjectKeys/isPartialMatchObjectKeys.js +3 -3
- package/build/lib/web/development/utils/isPartialMatchObjectKeys/isPartialMatchObjectKeys.js.map +1 -1
- package/build/lib/web/development/utils/isValidAllowedChildren/isValidAllowedChildren.js +2 -2
- package/build/lib/web/development/utils/isValidAllowedChildren/isValidAllowedChildren.js.map +1 -1
- package/build/lib/web/development/utils/lodashButBetter/cloneDeep.js +3 -3
- package/build/lib/web/development/utils/lodashButBetter/get.js +3 -3
- package/build/lib/web/development/utils/useControllable.js +1 -1
- package/build/lib/web/development/utils/useControllable.js.map +1 -1
- package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js +2 -2
- package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
- package/build/lib/web/development/utils/useScrollLock.js.map +1 -1
- package/build/lib/web/production/components/Accordion/Accordion.js +2 -2
- package/build/lib/web/production/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionList.js +1 -1
- package/build/lib/web/production/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListBox.web.js +7 -7
- package/build/lib/web/production/components/ActionList/ActionListBox.web.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js +4 -4
- package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/production/components/ActionList/actionListUtils.js +4 -4
- package/build/lib/web/production/components/ActionList/actionListUtils.js.map +1 -1
- package/build/lib/web/production/components/Amount/Amount.js +2 -2
- package/build/lib/web/production/components/Amount/Amount.js.map +1 -1
- package/build/lib/web/production/components/AnimateInteractions/AnimateInteractions.web.js.map +1 -1
- package/build/lib/web/production/components/AnimateInteractions/useFocusWithin.js +2 -2
- package/build/lib/web/production/components/AnimateInteractions/useFocusWithin.js.map +1 -1
- package/build/lib/web/production/components/Avatar/Avatar.web.js +1 -1
- package/build/lib/web/production/components/Avatar/Avatar.web.js.map +1 -1
- package/build/lib/web/production/components/Badge/Badge.js +1 -1
- package/build/lib/web/production/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +2 -2
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/production/components/BaseMotion/baseMotionUtils.js +2 -2
- package/build/lib/web/production/components/BaseMotion/baseMotionUtils.js.map +1 -1
- package/build/lib/web/production/components/BladeProvider/useTheme.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js +19 -19
- package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetBackdrop.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetContext.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetStack.js.map +1 -1
- package/build/lib/web/production/components/Box/BaseBox/baseBoxStyles.js +27 -27
- package/build/lib/web/production/components/Box/BaseBox/baseBoxStyles.js.map +1 -1
- package/build/lib/web/production/components/Box/Box.js +1 -1
- package/build/lib/web/production/components/Box/Box.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +5 -5
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/production/components/Button/Button/Button.js +2 -2
- package/build/lib/web/production/components/Button/Button/Button.js.map +1 -1
- package/build/lib/web/production/components/Button/IconButton/IconButton.js +1 -1
- package/build/lib/web/production/components/Button/IconButton/IconButton.js.map +1 -1
- package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js +1 -1
- package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
- package/build/lib/web/production/components/Card/Card.js.map +1 -1
- package/build/lib/web/production/components/Card/CardFooter.js +2 -2
- package/build/lib/web/production/components/Card/CardFooter.js.map +1 -1
- package/build/lib/web/production/components/Card/CardRoot.web.js.map +1 -1
- package/build/lib/web/production/components/Carousel/Carousel.web.js +6 -6
- package/build/lib/web/production/components/Carousel/Carousel.web.js.map +1 -1
- package/build/lib/web/production/components/Carousel/CarouselItem.web.js +2 -2
- package/build/lib/web/production/components/Carousel/CarouselItem.web.js.map +1 -1
- package/build/lib/web/production/components/Carousel/Indicators/Indicators.js +1 -1
- package/build/lib/web/production/components/Carousel/Indicators/Indicators.js.map +1 -1
- package/build/lib/web/production/components/ChatMessage/ChatMessage.web.js +1 -1
- package/build/lib/web/production/components/ChatMessage/ChatMessage.web.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/Checkbox.js +5 -5
- package/build/lib/web/production/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/CheckboxGroup/useCheckboxGroup.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/useCheckbox.js +1 -1
- package/build/lib/web/production/components/Checkbox/useCheckbox.js.map +1 -1
- package/build/lib/web/production/components/Chip/Chip.js +5 -5
- package/build/lib/web/production/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/production/components/Chip/useChipGroup.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/Collapsible.js +3 -3
- package/build/lib/web/production/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/CollapsibleButton.js +1 -1
- package/build/lib/web/production/components/Collapsible/CollapsibleButton.js.map +1 -1
- package/build/lib/web/production/components/Counter/Counter.js +1 -1
- package/build/lib/web/production/components/Counter/Counter.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +13 -13
- package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/Calendar.web.js +7 -7
- package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/CalendarHeader.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/DateInput.web.js +4 -4
- package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetDropdown.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/useControlledDates.js +1 -1
- package/build/lib/web/production/components/DatePicker/useControlledDates.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/useDatesState.js +1 -1
- package/build/lib/web/production/components/DatePicker/useDatesState.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/usePopup.js +2 -2
- package/build/lib/web/production/components/DatePicker/usePopup.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/utils.js +1 -1
- package/build/lib/web/production/components/DatePicker/utils.js.map +1 -1
- package/build/lib/web/production/components/Drawer/Drawer.web.js +2 -2
- package/build/lib/web/production/components/Drawer/Drawer.web.js.map +1 -1
- package/build/lib/web/production/components/Drawer/DrawerContext.js.map +1 -1
- package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
- package/build/lib/web/production/components/Drawer/StackProvider.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +28 -28
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownButton.js +4 -4
- package/build/lib/web/production/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownIconButton.js +4 -4
- package/build/lib/web/production/components/Dropdown/DropdownIconButton.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownLink.js +4 -4
- package/build/lib/web/production/components/Dropdown/DropdownLink.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js +1 -1
- package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/FilterChipGroupContext.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js +7 -7
- package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js +8 -8
- package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/useDropdown.js +4 -4
- package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/production/components/EmptyState/EmptyState.web.js +1 -1
- package/build/lib/web/production/components/EmptyState/EmptyState.web.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js +14 -14
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/FileUploadItem.js +1 -1
- package/build/lib/web/production/components/FileUpload/FileUploadItem.js.map +1 -1
- package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js +3 -3
- package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js.map +1 -1
- package/build/lib/web/production/components/Form/FormHint.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js.map +1 -1
- package/build/lib/web/production/components/Indicator/Indicator.js +1 -1
- package/build/lib/web/production/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/web/production/components/InfoGroup/InfoGroup.web.js +6 -6
- package/build/lib/web/production/components/InfoGroup/InfoGroup.web.js.map +1 -1
- package/build/lib/web/production/components/InfoGroup/InfoGroupContext.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +1 -1
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +110 -110
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js +8 -8
- package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +7 -7
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/useTaggedInput.js +4 -4
- package/build/lib/web/production/components/Input/BaseInput/useTaggedInput.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/AutoComplete.js +8 -8
- package/build/lib/web/production/components/Input/DropdownInputTriggers/AutoComplete.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +4 -4
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/SelectInput.js +3 -3
- package/build/lib/web/production/components/Input/DropdownInputTriggers/SelectInput.js.map +1 -1
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +14 -14
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js +1 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +5 -5
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +5 -5
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextArea/TextArea.js +7 -7
- package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +7 -7
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/useFormattedInput.js +2 -2
- package/build/lib/web/production/components/Input/TextInput/useFormattedInput.js.map +1 -1
- package/build/lib/web/production/components/InputGroup/InputGroup.web.js +1 -1
- package/build/lib/web/production/components/InputGroup/InputGroup.web.js.map +1 -1
- package/build/lib/web/production/components/Link/BaseLink/BaseLink.js +3 -3
- package/build/lib/web/production/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/web/production/components/Link/Link/Link.js +1 -1
- package/build/lib/web/production/components/Link/Link/Link.js.map +1 -1
- package/build/lib/web/production/components/List/List.js +1 -1
- package/build/lib/web/production/components/List/List.js.map +1 -1
- package/build/lib/web/production/components/List/getOrderedListItemBullet.js +3 -3
- package/build/lib/web/production/components/List/getOrderedListItemBullet.js.map +1 -1
- package/build/lib/web/production/components/ListView/ListViewFilters.web.js.map +1 -1
- package/build/lib/web/production/components/ListView/ListViewFiltersContext.web.js.map +1 -1
- package/build/lib/web/production/components/LiveAnnouncer/LiveAnnouncer.web.js.map +1 -1
- package/build/lib/web/production/components/Menu/Menu.web.js.map +1 -1
- package/build/lib/web/production/components/Menu/MenuItem.web.js +3 -3
- package/build/lib/web/production/components/Menu/MenuItem.web.js.map +1 -1
- package/build/lib/web/production/components/Menu/useMenu.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalBackdrop.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalContext.js.map +1 -1
- package/build/lib/web/production/components/Popover/Popover.web.js.map +1 -1
- package/build/lib/web/production/components/Preview/Preview.web.js +29 -30
- package/build/lib/web/production/components/Preview/Preview.web.js.map +1 -1
- package/build/lib/web/production/components/QuickFilters/QuickFilterGroup/QuickFilterGroup.js.map +1 -1
- package/build/lib/web/production/components/Radio/Radio.js +4 -4
- package/build/lib/web/production/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/production/components/Radio/RadioGroup/useRadioGroup.js +1 -1
- package/build/lib/web/production/components/Radio/RadioGroup/useRadioGroup.js.map +1 -1
- package/build/lib/web/production/components/Radio/useRadio.js +1 -1
- package/build/lib/web/production/components/Radio/useRadio.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNav.web.js +19 -19
- package/build/lib/web/production/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js +6 -6
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavLevel.web.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/Tour.web.js +7 -7
- package/build/lib/web/production/components/SpotlightPopoverTour/Tour.web.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourFooter.web.js +2 -2
- package/build/lib/web/production/components/SpotlightPopoverTour/TourFooter.web.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourStep.web.js +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourStep.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/StepGroup.web.js +6 -6
- package/build/lib/web/production/components/StepGroup/StepGroup.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/StepItem.web.js +1 -1
- package/build/lib/web/production/components/StepGroup/StepItem.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/StepLine.web.js +13 -13
- package/build/lib/web/production/components/StepGroup/StepLine.web.js.map +1 -1
- package/build/lib/web/production/components/Switch/Switch.js +1 -1
- package/build/lib/web/production/components/Switch/Switch.js.map +1 -1
- package/build/lib/web/production/components/Table/Table.web.js +10 -10
- package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableBody.web.js +6 -6
- package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableContext.js.map +1 -1
- package/build/lib/web/production/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TablePagination.web.js +2 -2
- package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabItem.web.js +2 -2
- package/build/lib/web/production/components/Tabs/TabItem.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabList.web.js +2 -2
- package/build/lib/web/production/components/Tabs/TabList.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/Tabs.web.js +1 -1
- package/build/lib/web/production/components/Tabs/Tabs.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/utils.js +2 -2
- package/build/lib/web/production/components/Tabs/utils.js.map +1 -1
- package/build/lib/web/production/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/production/components/Toast/Toast.web.js +2 -2
- package/build/lib/web/production/components/Toast/Toast.web.js.map +1 -1
- package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js +1 -1
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js +2 -2
- package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
- package/build/lib/web/production/components/TopNav/TabNav/utils.js +2 -2
- package/build/lib/web/production/components/TopNav/TabNav/utils.js.map +1 -1
- package/build/lib/web/production/components/Typography/Text/Text.js +1 -1
- package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/production/tokens/theme/overrideTheme.js +2 -2
- package/build/lib/web/production/tokens/theme/overrideTheme.js.map +1 -1
- package/build/lib/web/production/utils/bladeCoverage.js +9 -10
- package/build/lib/web/production/utils/bladeCoverage.js.map +1 -1
- package/build/lib/web/production/utils/fireNativeEvent/fireNativeEvent.web.js +1 -1
- package/build/lib/web/production/utils/fireNativeEvent/fireNativeEvent.web.js.map +1 -1
- package/build/lib/web/production/utils/hasSameObjectStructure/hasSameObjectStructure.js +6 -6
- package/build/lib/web/production/utils/hasSameObjectStructure/hasSameObjectStructure.js.map +1 -1
- package/build/lib/web/production/utils/isPartialMatchObjectKeys/isPartialMatchObjectKeys.js +3 -3
- package/build/lib/web/production/utils/isPartialMatchObjectKeys/isPartialMatchObjectKeys.js.map +1 -1
- package/build/lib/web/production/utils/isValidAllowedChildren/isValidAllowedChildren.js +2 -2
- package/build/lib/web/production/utils/isValidAllowedChildren/isValidAllowedChildren.js.map +1 -1
- package/build/lib/web/production/utils/lodashButBetter/cloneDeep.js +3 -3
- package/build/lib/web/production/utils/lodashButBetter/get.js +3 -3
- package/build/lib/web/production/utils/useControllable.js +1 -1
- package/build/lib/web/production/utils/useControllable.js.map +1 -1
- package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js +2 -2
- package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
- package/build/lib/web/production/utils/useScrollLock.js.map +1 -1
- package/package.json +15 -10
|
@@ -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 type { DividerProps } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Heading, 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?: 'xlarge' | '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 alignItems?: BoxProps['alignItems'];\n dividerProps?: DividerProps;\n\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 /**\n * Background image of the header\n *\n * You can use this for adding gradients.\n */\n backgroundImage?: BoxProps['backgroundImage'];\n /**\n * So we add a wrapper with custom styles in elements like leading, trailing interaction elements and trailing.\n * this props allows you to control that.\n *\n * For example, in Accordion, we add a wrapper with flex to center the icon (in some cases)\n *\n * @default false\n */\n shouldAlignLeadingAndTrailingElementsToCenter?: boolean;\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: { xlarge: BoxProps; large: BoxProps; medium: BoxProps } = {\n xlarge: {\n ...commonCenterBoxProps,\n height: '28px',\n },\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 absolutePositionedButton = {\n position: 'absolute',\n top: 'spacing.0',\n right: 'spacing.0',\n} as const;\n\nconst sizeTokensMapping = {\n xlarge: {\n title: 'small',\n type: 'heading',\n },\n large: {\n title: 'large',\n type: 'text',\n },\n medium: {\n title: 'medium',\n type: 'text',\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 IconButton: {\n size: 'large',\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 xlarge: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\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 IconButton: {\n size: 'large',\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\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 backgroundImage,\n alignItems = 'flex-start',\n dividerProps,\n shouldAlignLeadingAndTrailingElementsToCenter = false,\n ...rest\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n const hasOnlyChildren = children && !(title || subtitle || titleSuffix || leading);\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 const renderTrailingInteractionElementWithChildren = (): React.ReactNode => {\n if (trailingInteractionElement && children) {\n return (\n <Box\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : 'flex-start'}\n {...centerBoxProps[size]}\n >\n {trailingInteractionElement}\n </Box>\n );\n }\n return null;\n };\n\n const renderTrailingInteractionElementWithoutChildren = (): React.ReactNode => {\n if (trailingInteractionElement && !children) {\n return (\n <Box\n {...centerBoxProps[size]}\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : undefined}\n >\n {trailingInteractionElement}\n </Box>\n );\n }\n return null;\n };\n\n const renderLeadingElement = (): React.ReactNode => {\n if (Boolean(leading)) {\n return (\n <BaseBox\n marginRight=\"spacing.3\"\n {...centerBoxProps[size]}\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : undefined}\n >\n {leading}\n </BaseBox>\n );\n }\n return null;\n };\n\n const renderTrailingElement = (): React.ReactNode => {\n if (shouldAlignLeadingAndTrailingElementsToCenter && validatedTrailingComponent) {\n return (\n <BaseBox marginRight=\"spacing.5\" display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n );\n }\n if (validatedTrailingComponent) {\n return (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n );\n }\n return null;\n };\n\n return (\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n backgroundImage={backgroundImage}\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 position=\"relative\" 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 {hasOnlyChildren ? null : (\n <BaseBox\n paddingRight=\"spacing.5\"\n marginRight=\"auto\"\n flex=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems={alignItems}\n >\n {renderLeadingElement()}\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 sizeTokensMapping[size].type === 'heading' ? (\n <Heading\n as=\"h2\"\n marginTop={makeSize(sizeToken['1'])}\n size={sizeTokensMapping[size].title}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Heading>\n ) : (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n )\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 )}\n {renderTrailingElement()}\n\n {showCloseButton ? (\n <Box {...(hasOnlyChildren ? absolutePositionedButton : 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 {renderTrailingInteractionElementWithoutChildren()}\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 {renderTrailingInteractionElementWithChildren()}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider {...dividerProps} /> : 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","xlarge","_objectSpread","height","large","medium","absolutePositionedButton","position","top","right","sizeTokensMapping","title","type","propRestrictionMap","Button","size","variant","IconButton","Badge","Link","Text","Amount","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","backgroundImage","_ref2$alignItems","dividerProps","_ref2$shouldAlignLead","shouldAlignLeadingAndTrailingElementsToCenter","rest","_objectWithoutProperties","_excluded","shouldWrapTitle","hasOnlyChildren","webOnlyEventHandlers","isReactNative","renderTrailingInteractionElementWithChildren","_jsx","Box","alignSelf","renderTrailingInteractionElementWithoutChildren","undefined","renderLeadingElement","Boolean","BaseBox","marginRight","renderTrailingElement","_jsxs","metaAttribute","name","makeAnalyticsAttribute","base","m","touchAction","flexDirection","userSelect","overflow","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","flexShrink","Heading","as","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","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 type { DividerProps } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Heading, 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?: 'xlarge' | '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 alignItems?: BoxProps['alignItems'];\n dividerProps?: DividerProps;\n\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 /**\n * Background image of the header\n *\n * You can use this for adding gradients.\n */\n backgroundImage?: BoxProps['backgroundImage'];\n /**\n * So we add a wrapper with custom styles in elements like leading, trailing interaction elements and trailing.\n * this props allows you to control that.\n *\n * For example, in Accordion, we add a wrapper with flex to center the icon (in some cases)\n *\n * @default false\n */\n shouldAlignLeadingAndTrailingElementsToCenter?: boolean;\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: { xlarge: BoxProps; large: BoxProps; medium: BoxProps } = {\n xlarge: {\n ...commonCenterBoxProps,\n height: '28px',\n },\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 absolutePositionedButton = {\n position: 'absolute',\n top: 'spacing.0',\n right: 'spacing.0',\n} as const;\n\nconst sizeTokensMapping = {\n xlarge: {\n title: 'small',\n type: 'heading',\n },\n large: {\n title: 'large',\n type: 'text',\n },\n medium: {\n title: 'medium',\n type: 'text',\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 IconButton: {\n size: 'large',\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 xlarge: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\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 IconButton: {\n size: 'large',\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\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 backgroundImage,\n alignItems = 'flex-start',\n dividerProps,\n shouldAlignLeadingAndTrailingElementsToCenter = false,\n ...rest\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n const hasOnlyChildren = children && !(title || subtitle || titleSuffix || leading);\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 const renderTrailingInteractionElementWithChildren = (): React.ReactNode => {\n if (trailingInteractionElement && children) {\n return (\n <Box\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : 'flex-start'}\n {...centerBoxProps[size]}\n >\n {trailingInteractionElement}\n </Box>\n );\n }\n return null;\n };\n\n const renderTrailingInteractionElementWithoutChildren = (): React.ReactNode => {\n if (trailingInteractionElement && !children) {\n return (\n <Box\n {...centerBoxProps[size]}\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : undefined}\n >\n {trailingInteractionElement}\n </Box>\n );\n }\n return null;\n };\n\n const renderLeadingElement = (): React.ReactNode => {\n if (Boolean(leading)) {\n return (\n <BaseBox\n marginRight=\"spacing.3\"\n {...centerBoxProps[size]}\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : undefined}\n >\n {leading}\n </BaseBox>\n );\n }\n return null;\n };\n\n const renderTrailingElement = (): React.ReactNode => {\n if (shouldAlignLeadingAndTrailingElementsToCenter && validatedTrailingComponent) {\n return (\n <BaseBox marginRight=\"spacing.5\" display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n );\n }\n if (validatedTrailingComponent) {\n return (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n );\n }\n return null;\n };\n\n return (\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n backgroundImage={backgroundImage}\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 position=\"relative\" 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 {hasOnlyChildren ? null : (\n <BaseBox\n paddingRight=\"spacing.5\"\n marginRight=\"auto\"\n flex=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems={alignItems}\n >\n {renderLeadingElement()}\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 sizeTokensMapping[size].type === 'heading' ? (\n <Heading\n as=\"h2\"\n marginTop={makeSize(sizeToken['1'])}\n size={sizeTokensMapping[size].title}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Heading>\n ) : (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n )\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 )}\n {renderTrailingElement()}\n\n {showCloseButton ? (\n <Box {...(hasOnlyChildren ? absolutePositionedButton : 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 {renderTrailingInteractionElementWithoutChildren()}\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 {renderTrailingInteractionElementWithChildren()}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider {...dividerProps} /> : 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","xlarge","_objectSpread","height","large","medium","absolutePositionedButton","position","top","right","sizeTokensMapping","title","type","propRestrictionMap","Button","size","variant","IconButton","Badge","Link","Text","Amount","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","backgroundImage","_ref2$alignItems","dividerProps","_ref2$shouldAlignLead","shouldAlignLeadingAndTrailingElementsToCenter","rest","_objectWithoutProperties","_excluded","shouldWrapTitle","hasOnlyChildren","webOnlyEventHandlers","isReactNative","renderTrailingInteractionElementWithChildren","_jsx","Box","alignSelf","renderTrailingInteractionElementWithoutChildren","undefined","renderLeadingElement","Boolean","BaseBox","marginRight","renderTrailingElement","_jsxs","metaAttribute","name","makeAnalyticsAttribute","base","m","touchAction","flexDirection","userSelect","overflow","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","flexShrink","Heading","as","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","Divider","BaseHeader","assignWithoutSideEffects","componentId"],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ var makeAnimationVariables = function makeAnimationVariables(motionTriggers, _re
|
|
|
32
32
|
}, interactionVariables);
|
|
33
33
|
};
|
|
34
34
|
var useMotionVariants = function useMotionVariants(motionVariants, type) {
|
|
35
|
-
var _motionVariants$anima, _motionVariants$anima2, _motionVariants$
|
|
35
|
+
var _motionVariants$anima, _motionVariants$anima2, _motionVariants$exit$;
|
|
36
36
|
if (!motionVariants) {
|
|
37
37
|
return undefined;
|
|
38
38
|
}
|
|
@@ -44,7 +44,7 @@ var useMotionVariants = function useMotionVariants(motionVariants, type) {
|
|
|
44
44
|
initial: _objectSpread({}, motionVariants.initial),
|
|
45
45
|
animate: _objectSpread(_objectSpread({}, motionVariants.animate), {}, {
|
|
46
46
|
transition: _objectSpread(_objectSpread({}, (_motionVariants$anima = motionVariants.animate) === null || _motionVariants$anima === void 0 ? void 0 : _motionVariants$anima.transition), {}, {
|
|
47
|
-
duration: shouldSkipEntryAnimation ? 0.0001 : (_motionVariants$anima2 = motionVariants.animate) === null || _motionVariants$anima2 === void 0
|
|
47
|
+
duration: shouldSkipEntryAnimation ? 0.0001 : (_motionVariants$anima2 = motionVariants.animate) === null || _motionVariants$anima2 === void 0 || (_motionVariants$anima2 = _motionVariants$anima2.transition) === null || _motionVariants$anima2 === void 0 ? void 0 : _motionVariants$anima2.duration
|
|
48
48
|
})
|
|
49
49
|
}),
|
|
50
50
|
exit: _objectSpread(_objectSpread({}, motionVariants.exit), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseMotionUtils.js","sources":["../../../../../../src/components/BaseMotion/baseMotionUtils.ts"],"sourcesContent":["import type { BaseMotionBoxProps, MotionTriggersType, MotionVariantsType } from './types';\n\n// This type is exported in new framer-motion versions but does not exist in earlier versions so adding it manually here\ntype AnimationType = 'animate' | 'whileHover' | 'whileInView' | 'whileTap' | 'whileFocus';\n\nconst motionTriggersArrayToGesturePropsMap: Record<\n Exclude<MotionTriggersType, 'on-animate-interactions'>,\n AnimationType\n> = {\n mount: 'animate',\n hover: 'whileHover',\n 'in-view': 'whileInView',\n tap: 'whileTap',\n focus: 'whileFocus',\n};\n\ntype AnimationVariablesType = Partial<\n Record<Exclude<AnimationType, 'animate'>, keyof MotionVariantsType>\n> & {\n animate?: BaseMotionBoxProps['animateVisibility'] | BaseMotionBoxProps['animate'];\n};\n\nconst makeAnimationVariables = (\n motionTriggers: MotionTriggersType[],\n { animateVisibility }: { animateVisibility: BaseMotionBoxProps['animateVisibility'] },\n): AnimationVariablesType & {\n initial: string;\n exit: string;\n} => {\n const interactionVariables = motionTriggers.reduce<AnimationVariablesType>(\n (prevProps, currentTrigger) => {\n if (currentTrigger === 'on-animate-interactions') {\n return prevProps;\n }\n\n // Sometimes animations are conditional. In those cases we use those conditional values in animate\n if (currentTrigger === 'mount' && animateVisibility) {\n prevProps.animate = animateVisibility;\n return prevProps;\n }\n\n prevProps[motionTriggersArrayToGesturePropsMap[currentTrigger]] = 'animate';\n return prevProps;\n },\n {},\n );\n\n return { initial: 'initial', exit: 'exit', ...interactionVariables };\n};\n\nconst useMotionVariants = (\n motionVariants: BaseMotionBoxProps['motionVariants'],\n type: BaseMotionBoxProps['type'],\n): BaseMotionBoxProps['motionVariants'] => {\n if (!motionVariants) {\n return undefined;\n }\n\n const shouldSkipEntryAnimation = type === 'out';\n const shouldSkipExitAnimation = type === 'in';\n\n // We override durations to stop animations but still continue with the expected position changes\n const newMotionVariants: BaseMotionBoxProps['motionVariants'] = {\n initial: {\n ...motionVariants.initial,\n },\n animate: {\n ...motionVariants.animate,\n transition: {\n ...motionVariants.animate?.transition,\n duration: shouldSkipEntryAnimation ? 0.0001 : motionVariants.animate?.transition?.duration,\n },\n },\n exit: {\n ...motionVariants.exit,\n transition: {\n ...motionVariants.exit.transition,\n duration: shouldSkipExitAnimation ? 0.0001 : motionVariants.exit.transition?.duration,\n },\n },\n };\n\n return newMotionVariants;\n};\n\nexport { makeAnimationVariables, useMotionVariants };\n"],"names":["motionTriggersArrayToGesturePropsMap","mount","hover","tap","focus","makeAnimationVariables","motionTriggers","_ref","animateVisibility","interactionVariables","reduce","prevProps","currentTrigger","animate","_objectSpread","initial","exit","useMotionVariants","motionVariants","type","_motionVariants$anima","_motionVariants$anima2","_motionVariants$
|
|
1
|
+
{"version":3,"file":"baseMotionUtils.js","sources":["../../../../../../src/components/BaseMotion/baseMotionUtils.ts"],"sourcesContent":["import type { BaseMotionBoxProps, MotionTriggersType, MotionVariantsType } from './types';\n\n// This type is exported in new framer-motion versions but does not exist in earlier versions so adding it manually here\ntype AnimationType = 'animate' | 'whileHover' | 'whileInView' | 'whileTap' | 'whileFocus';\n\nconst motionTriggersArrayToGesturePropsMap: Record<\n Exclude<MotionTriggersType, 'on-animate-interactions'>,\n AnimationType\n> = {\n mount: 'animate',\n hover: 'whileHover',\n 'in-view': 'whileInView',\n tap: 'whileTap',\n focus: 'whileFocus',\n};\n\ntype AnimationVariablesType = Partial<\n Record<Exclude<AnimationType, 'animate'>, keyof MotionVariantsType>\n> & {\n animate?: BaseMotionBoxProps['animateVisibility'] | BaseMotionBoxProps['animate'];\n};\n\nconst makeAnimationVariables = (\n motionTriggers: MotionTriggersType[],\n { animateVisibility }: { animateVisibility: BaseMotionBoxProps['animateVisibility'] },\n): AnimationVariablesType & {\n initial: string;\n exit: string;\n} => {\n const interactionVariables = motionTriggers.reduce<AnimationVariablesType>(\n (prevProps, currentTrigger) => {\n if (currentTrigger === 'on-animate-interactions') {\n return prevProps;\n }\n\n // Sometimes animations are conditional. In those cases we use those conditional values in animate\n if (currentTrigger === 'mount' && animateVisibility) {\n prevProps.animate = animateVisibility;\n return prevProps;\n }\n\n prevProps[motionTriggersArrayToGesturePropsMap[currentTrigger]] = 'animate';\n return prevProps;\n },\n {},\n );\n\n return { initial: 'initial', exit: 'exit', ...interactionVariables };\n};\n\nconst useMotionVariants = (\n motionVariants: BaseMotionBoxProps['motionVariants'],\n type: BaseMotionBoxProps['type'],\n): BaseMotionBoxProps['motionVariants'] => {\n if (!motionVariants) {\n return undefined;\n }\n\n const shouldSkipEntryAnimation = type === 'out';\n const shouldSkipExitAnimation = type === 'in';\n\n // We override durations to stop animations but still continue with the expected position changes\n const newMotionVariants: BaseMotionBoxProps['motionVariants'] = {\n initial: {\n ...motionVariants.initial,\n },\n animate: {\n ...motionVariants.animate,\n transition: {\n ...motionVariants.animate?.transition,\n duration: shouldSkipEntryAnimation ? 0.0001 : motionVariants.animate?.transition?.duration,\n },\n },\n exit: {\n ...motionVariants.exit,\n transition: {\n ...motionVariants.exit.transition,\n duration: shouldSkipExitAnimation ? 0.0001 : motionVariants.exit.transition?.duration,\n },\n },\n };\n\n return newMotionVariants;\n};\n\nexport { makeAnimationVariables, useMotionVariants };\n"],"names":["motionTriggersArrayToGesturePropsMap","mount","hover","tap","focus","makeAnimationVariables","motionTriggers","_ref","animateVisibility","interactionVariables","reduce","prevProps","currentTrigger","animate","_objectSpread","initial","exit","useMotionVariants","motionVariants","type","_motionVariants$anima","_motionVariants$anima2","_motionVariants$exit$","undefined","shouldSkipEntryAnimation","shouldSkipExitAnimation","newMotionVariants","transition","duration"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTheme.js","sources":["../../../../../../src/components/BladeProvider/useTheme.ts"],"sourcesContent":["import { useContext, createContext } from 'react';\nimport type { Theme } from './';\nimport type { UseColorScheme } from '~utils/useColorScheme';\nimport type { TypographyPlatforms } from '~tokens/global';\nimport { throwBladeError } from '~utils/logger';\n\nexport type ThemeContext = UseColorScheme & {\n theme: Theme;\n platform: TypographyPlatforms;\n};\n\nexport const ThemeContext = createContext<ThemeContext>({\n // @ts-expect-error set null\n theme: null,\n colorScheme: 'light',\n platform: 'onDesktop',\n setColorScheme: () => null,\n});\n\nconst useTheme = (): ThemeContext => {\n const themeContext = useContext<ThemeContext>(ThemeContext);\n if (__DEV__) {\n if (!themeContext.theme) {\n throwBladeError({\n message: 'BladeProvider is missing theme',\n moduleName: 'BladeProvider',\n });\n }\n if (themeContext === undefined) {\n throwBladeError({\n message: 'useTheme must be used within BladeProvider',\n moduleName: 'BladeProvider',\n });\n }\n }\n return themeContext;\n};\n\nexport default useTheme;\n"],"names":["ThemeContext","createContext","theme","colorScheme","platform","setColorScheme","useTheme","themeContext","useContext","throwBladeError","message","moduleName","undefined"],"mappings":";;;;AAWaA,IAAAA,YAAY,gBAAGC,aAAa,CAAe;AACtD;AACAC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,WAAW,EAAE,OAAO;AACpBC,EAAAA,QAAQ,EAAE,WAAW;EACrBC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"useTheme.js","sources":["../../../../../../src/components/BladeProvider/useTheme.ts"],"sourcesContent":["import { useContext, createContext } from 'react';\nimport type { Theme } from './';\nimport type { UseColorScheme } from '~utils/useColorScheme';\nimport type { TypographyPlatforms } from '~tokens/global';\nimport { throwBladeError } from '~utils/logger';\n\nexport type ThemeContext = UseColorScheme & {\n theme: Theme;\n platform: TypographyPlatforms;\n};\n\nexport const ThemeContext = createContext<ThemeContext>({\n // @ts-expect-error set null\n theme: null,\n colorScheme: 'light',\n platform: 'onDesktop',\n setColorScheme: () => null,\n});\n\nconst useTheme = (): ThemeContext => {\n const themeContext = useContext<ThemeContext>(ThemeContext);\n if (__DEV__) {\n if (!themeContext.theme) {\n throwBladeError({\n message: 'BladeProvider is missing theme',\n moduleName: 'BladeProvider',\n });\n }\n if (themeContext === undefined) {\n throwBladeError({\n message: 'useTheme must be used within BladeProvider',\n moduleName: 'BladeProvider',\n });\n }\n }\n return themeContext;\n};\n\nexport default useTheme;\n"],"names":["ThemeContext","createContext","theme","colorScheme","platform","setColorScheme","useTheme","themeContext","useContext","throwBladeError","message","moduleName","undefined"],"mappings":";;;;AAWaA,IAAAA,YAAY,gBAAGC,aAAa,CAAe;AACtD;AACAC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,WAAW,EAAE,OAAO;AACpBC,EAAAA,QAAQ,EAAE,WAAW;EACrBC,cAAc,EAAE,SAAhBA,cAAcA,GAAA;AAAA,IAAA,OAAQ,IAAI,CAAA;AAAA,GAAA;AAC5B,CAAC,EAAC;AAEF,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,GAAuB;AACnC,EAAA,IAAMC,YAAY,GAAGC,UAAU,CAAeR,YAAY,CAAC,CAAA;AAC3D,EAAA,IAAI,KAAO,EAAE;AACX,IAAA,IAAI,CAACO,YAAY,CAACL,KAAK,EAAE;AACvBO,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAE,gCAAgC;AACzCC,QAAAA,UAAU,EAAE,eAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;IACA,IAAIJ,YAAY,KAAKK,SAAS,EAAE;AAC9BH,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAE,4CAA4C;AACrDC,QAAAA,UAAU,EAAE,eAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AACA,EAAA,OAAOJ,YAAY,CAAA;AACrB;;;;"}
|
|
@@ -108,23 +108,23 @@ var _BottomSheet = function _BottomSheet(_ref2) {
|
|
|
108
108
|
grabHandleHeight = _React$useState8[0],
|
|
109
109
|
setGrabHandleHeight = _React$useState8[1];
|
|
110
110
|
var _React$useState9 = React__default.useState(true),
|
|
111
|
-
_React$
|
|
112
|
-
hasBodyPadding = _React$
|
|
113
|
-
setHasBodyPadding = _React$
|
|
114
|
-
var _React$
|
|
115
|
-
_React$
|
|
116
|
-
isHeaderEmpty = _React$
|
|
117
|
-
setIsHeaderEmpty = _React$
|
|
111
|
+
_React$useState0 = _slicedToArray(_React$useState9, 2),
|
|
112
|
+
hasBodyPadding = _React$useState0[0],
|
|
113
|
+
setHasBodyPadding = _React$useState0[1];
|
|
114
|
+
var _React$useState1 = React__default.useState(false),
|
|
115
|
+
_React$useState10 = _slicedToArray(_React$useState1, 2),
|
|
116
|
+
isHeaderEmpty = _React$useState10[0],
|
|
117
|
+
setIsHeaderEmpty = _React$useState10[1];
|
|
118
118
|
var bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();
|
|
119
|
-
var _React$
|
|
120
|
-
_React$
|
|
121
|
-
positionY = _React$
|
|
122
|
-
_setPositionY = _React$
|
|
119
|
+
var _React$useState11 = React__default.useState(0),
|
|
120
|
+
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
121
|
+
positionY = _React$useState12[0],
|
|
122
|
+
_setPositionY = _React$useState12[1];
|
|
123
123
|
var _isOpen = isOpen !== null && isOpen !== void 0 ? isOpen : bottomSheetAndDropdownGlue === null || bottomSheetAndDropdownGlue === void 0 ? void 0 : bottomSheetAndDropdownGlue.isOpen;
|
|
124
|
-
var _React$
|
|
125
|
-
_React$
|
|
126
|
-
isDragging = _React$
|
|
127
|
-
setIsDragging = _React$
|
|
124
|
+
var _React$useState13 = React__default.useState(false),
|
|
125
|
+
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
126
|
+
isDragging = _React$useState14[0],
|
|
127
|
+
setIsDragging = _React$useState14[1];
|
|
128
128
|
var preventScrollingRef = React__default.useRef(true);
|
|
129
129
|
var scrollRef = React__default.useRef(null);
|
|
130
130
|
var grabHandleRef = React__default.useRef(null);
|
|
@@ -207,11 +207,11 @@ var _BottomSheet = function _BottomSheet(_ref2) {
|
|
|
207
207
|
if (!initialFocusRef) {
|
|
208
208
|
var _defaultInitialFocusR;
|
|
209
209
|
// focus on close button
|
|
210
|
-
(_defaultInitialFocusR = defaultInitialFocusRef.current) === null || _defaultInitialFocusR === void 0
|
|
210
|
+
(_defaultInitialFocusR = defaultInitialFocusRef.current) === null || _defaultInitialFocusR === void 0 || _defaultInitialFocusR.focus();
|
|
211
211
|
} else {
|
|
212
212
|
var _initialFocusRef$curr;
|
|
213
213
|
// focus on the initialRef passed by the user
|
|
214
|
-
(_initialFocusRef$curr = initialFocusRef.current) === null || _initialFocusRef$curr === void 0
|
|
214
|
+
(_initialFocusRef$curr = initialFocusRef.current) === null || _initialFocusRef$curr === void 0 || _initialFocusRef$curr.focus();
|
|
215
215
|
}
|
|
216
216
|
}, [initialFocusRef]);
|
|
217
217
|
|
|
@@ -234,8 +234,8 @@ var _BottomSheet = function _BottomSheet(_ref2) {
|
|
|
234
234
|
setPositionY(0);
|
|
235
235
|
}, [setPositionY]);
|
|
236
236
|
var close = React__default.useCallback(function () {
|
|
237
|
-
onDismiss === null || onDismiss === void 0
|
|
238
|
-
bottomSheetAndDropdownGlue === null || bottomSheetAndDropdownGlue === void 0
|
|
237
|
+
onDismiss === null || onDismiss === void 0 || onDismiss();
|
|
238
|
+
bottomSheetAndDropdownGlue === null || bottomSheetAndDropdownGlue === void 0 || bottomSheetAndDropdownGlue.onBottomSheetDismiss();
|
|
239
239
|
returnFocus();
|
|
240
240
|
}, [bottomSheetAndDropdownGlue, onDismiss, returnFocus]);
|
|
241
241
|
|
|
@@ -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, enableBodyScroll } 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 = limit && !bottomSheetAndDropdownGlue?.hasAutoCompleteInHeader;\n\n const maxValue = computeMaxContent({\n contentHeight,\n footerHeight,\n // If headerHeight is zero no need to add height of grabHandleHeight.\n headerHeight: headerHeight > 0 ? headerHeight + grabHandleHeight : 0,\n maxHeight: value,\n });\n _setPositionY(shouldLimitPositionY ? maxValue : value);\n },\n [\n bottomSheetAndDropdownGlue?.hasAutoCompleteInHeader,\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?.hasAutoCompleteInHeader) {\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 motion/react's 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 // Remove the bottomsheet from the stack, if it's unmounted forcefully\n React.useEffect(() => {\n return () => {\n if (id === undefined) return;\n removeBottomSheetFromStack(id);\n };\n }, [id, removeBottomSheetFromStack]);\n\n // Disable body scroll lock when the component is unmounted forcefully\n React.useEffect(() => {\n const lockTarget = scrollRef.current;\n return () => {\n if (lockTarget) {\n enableBodyScroll(lockTarget);\n }\n };\n // when BottomSheet is mounted with isOpen={false}, then BottomSheetBody does not set scrollRef\n // so, we added scrollRef to dependencies array to ensure that we update lockTarget when scrollRef is updated\n // which will avoid passing null to enableBodyScroll\n }, [scrollRef]);\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","hasAutoCompleteInHeader","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","lockTarget","enableBodyScroll","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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"}
|
|
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, enableBodyScroll } 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 = limit && !bottomSheetAndDropdownGlue?.hasAutoCompleteInHeader;\n\n const maxValue = computeMaxContent({\n contentHeight,\n footerHeight,\n // If headerHeight is zero no need to add height of grabHandleHeight.\n headerHeight: headerHeight > 0 ? headerHeight + grabHandleHeight : 0,\n maxHeight: value,\n });\n _setPositionY(shouldLimitPositionY ? maxValue : value);\n },\n [\n bottomSheetAndDropdownGlue?.hasAutoCompleteInHeader,\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?.hasAutoCompleteInHeader) {\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 motion/react's 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 // Remove the bottomsheet from the stack, if it's unmounted forcefully\n React.useEffect(() => {\n return () => {\n if (id === undefined) return;\n removeBottomSheetFromStack(id);\n };\n }, [id, removeBottomSheetFromStack]);\n\n // Disable body scroll lock when the component is unmounted forcefully\n React.useEffect(() => {\n const lockTarget = scrollRef.current;\n return () => {\n if (lockTarget) {\n enableBodyScroll(lockTarget);\n }\n };\n // when BottomSheet is mounted with isOpen={false}, then BottomSheetBody does not set scrollRef\n // so, we added scrollRef to dependencies array to ensure that we update lockTarget when scrollRef is updated\n // which will avoid passing null to enableBodyScroll\n }, [scrollRef]);\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$useState0","hasBodyPadding","setHasBodyPadding","_React$useState1","_React$useState10","isHeaderEmpty","setIsHeaderEmpty","bottomSheetAndDropdownGlue","useBottomSheetAndDropdownGlue","_React$useState11","_React$useState12","positionY","_setPositionY","_isOpen","_React$useState13","_React$useState14","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","hasAutoCompleteInHeader","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","lockTarget","enableBodyScroll","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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetBackdrop.web.js","sources":["../../../../../../src/components/BottomSheet/BottomSheetBackdrop.web.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useBottomSheetContext } from './BottomSheetContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { castWebType } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { makeMotionTime } from '~utils/makeMotionTime';\n\nconst StyledBottomSheetBackdrop = styled(BaseBox)<{ isOpen: boolean }>(({ theme, isOpen }) => {\n return {\n transitionDuration: `${makeMotionTime(theme.motion.duration.moderate)}`,\n transitionTimingFunction: isOpen\n ? castWebType(theme.motion.easing.entrance)\n : castWebType(theme.motion.easing.exit),\n pointerEvents: isOpen ? 'all' : 'none',\n transitionProperty: 'opacity',\n };\n});\n\nconst BottomSheetBackdrop = ({ zIndex }: { zIndex: number }): React.ReactElement => {\n const { close, isOpen } = useBottomSheetContext();\n\n return (\n <StyledBottomSheetBackdrop\n {...metaAttribute({ testID: 'bottomsheet-backdrop' })}\n onClick={() => {\n close();\n }}\n isOpen={isOpen}\n opacity={isOpen ? 1 : 0}\n position=\"fixed\"\n left=\"spacing.0\"\n top=\"spacing.0\"\n bottom=\"spacing.0\"\n right=\"spacing.0\"\n zIndex={zIndex}\n backgroundColor=\"overlay.background.subtle\"\n />\n );\n};\n\nexport { BottomSheetBackdrop };\n"],"names":["StyledBottomSheetBackdrop","styled","BaseBox","withConfig","displayName","componentId","_ref","theme","isOpen","transitionDuration","concat","makeMotionTime","motion","duration","moderate","transitionTimingFunction","castWebType","easing","entrance","exit","pointerEvents","transitionProperty","BottomSheetBackdrop","_ref2","zIndex","_useBottomSheetContex","useBottomSheetContext","close","_jsx","_objectSpread","metaAttribute","testID","onClick","opacity","position","left","top","bottom","right","backgroundColor"],"mappings":";;;;;;;;;;;;;;;;AASA,IAAMA,yBAAyB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,mDAAA;EAAAC,WAAA,EAAA,cAAA;AAAA,CAAsB,CAAA,CAAA,UAAAC,IAAA,EAAuB;AAAA,EAAA,IAApBC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM,CAAA;EACrF,OAAO;AACLC,IAAAA,kBAAkB,EAAAC,EAAAA,CAAAA,MAAA,CAAKC,cAAc,CAACJ,KAAK,CAACK,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAAC,CAAE;IACvEC,wBAAwB,EAAEP,MAAM,GAC5BQ,WAAW,CAACT,KAAK,CAACK,MAAM,CAACK,MAAM,CAACC,QAAQ,CAAC,GACzCF,WAAW,CAACT,KAAK,CAACK,MAAM,CAACK,MAAM,CAACE,IAAI,CAAC;AACzCC,IAAAA,aAAa,EAAEZ,MAAM,GAAG,KAAK,GAAG,MAAM;AACtCa,IAAAA,kBAAkB,EAAE,SAAA;GACrB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAA2D;AAAA,EAAA,IAArDC,MAAM,GAAAD,KAAA,CAANC,MAAM,CAAA;AACnC,EAAA,IAAAC,qBAAA,GAA0BC,qBAAqB,EAAE;IAAzCC,KAAK,GAAAF,qBAAA,CAALE,KAAK;IAAEnB,MAAM,GAAAiB,qBAAA,CAANjB,MAAM,CAAA;EAErB,oBACEoB,GAAA,CAAC5B,yBAAyB,EAAA6B,aAAA,CAAAA,aAAA,CACpBC,EAAAA,EAAAA,aAAa,CAAC;AAAEC,IAAAA,MAAM,EAAE,sBAAA;AAAuB,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;
|
|
1
|
+
{"version":3,"file":"BottomSheetBackdrop.web.js","sources":["../../../../../../src/components/BottomSheet/BottomSheetBackdrop.web.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useBottomSheetContext } from './BottomSheetContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { castWebType } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { makeMotionTime } from '~utils/makeMotionTime';\n\nconst StyledBottomSheetBackdrop = styled(BaseBox)<{ isOpen: boolean }>(({ theme, isOpen }) => {\n return {\n transitionDuration: `${makeMotionTime(theme.motion.duration.moderate)}`,\n transitionTimingFunction: isOpen\n ? castWebType(theme.motion.easing.entrance)\n : castWebType(theme.motion.easing.exit),\n pointerEvents: isOpen ? 'all' : 'none',\n transitionProperty: 'opacity',\n };\n});\n\nconst BottomSheetBackdrop = ({ zIndex }: { zIndex: number }): React.ReactElement => {\n const { close, isOpen } = useBottomSheetContext();\n\n return (\n <StyledBottomSheetBackdrop\n {...metaAttribute({ testID: 'bottomsheet-backdrop' })}\n onClick={() => {\n close();\n }}\n isOpen={isOpen}\n opacity={isOpen ? 1 : 0}\n position=\"fixed\"\n left=\"spacing.0\"\n top=\"spacing.0\"\n bottom=\"spacing.0\"\n right=\"spacing.0\"\n zIndex={zIndex}\n backgroundColor=\"overlay.background.subtle\"\n />\n );\n};\n\nexport { BottomSheetBackdrop };\n"],"names":["StyledBottomSheetBackdrop","styled","BaseBox","withConfig","displayName","componentId","_ref","theme","isOpen","transitionDuration","concat","makeMotionTime","motion","duration","moderate","transitionTimingFunction","castWebType","easing","entrance","exit","pointerEvents","transitionProperty","BottomSheetBackdrop","_ref2","zIndex","_useBottomSheetContex","useBottomSheetContext","close","_jsx","_objectSpread","metaAttribute","testID","onClick","opacity","position","left","top","bottom","right","backgroundColor"],"mappings":";;;;;;;;;;;;;;;;AASA,IAAMA,yBAAyB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,mDAAA;EAAAC,WAAA,EAAA,cAAA;AAAA,CAAsB,CAAA,CAAA,UAAAC,IAAA,EAAuB;AAAA,EAAA,IAApBC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM,CAAA;EACrF,OAAO;AACLC,IAAAA,kBAAkB,EAAAC,EAAAA,CAAAA,MAAA,CAAKC,cAAc,CAACJ,KAAK,CAACK,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAAC,CAAE;IACvEC,wBAAwB,EAAEP,MAAM,GAC5BQ,WAAW,CAACT,KAAK,CAACK,MAAM,CAACK,MAAM,CAACC,QAAQ,CAAC,GACzCF,WAAW,CAACT,KAAK,CAACK,MAAM,CAACK,MAAM,CAACE,IAAI,CAAC;AACzCC,IAAAA,aAAa,EAAEZ,MAAM,GAAG,KAAK,GAAG,MAAM;AACtCa,IAAAA,kBAAkB,EAAE,SAAA;GACrB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAA2D;AAAA,EAAA,IAArDC,MAAM,GAAAD,KAAA,CAANC,MAAM,CAAA;AACnC,EAAA,IAAAC,qBAAA,GAA0BC,qBAAqB,EAAE;IAAzCC,KAAK,GAAAF,qBAAA,CAALE,KAAK;IAAEnB,MAAM,GAAAiB,qBAAA,CAANjB,MAAM,CAAA;EAErB,oBACEoB,GAAA,CAAC5B,yBAAyB,EAAA6B,aAAA,CAAAA,aAAA,CACpBC,EAAAA,EAAAA,aAAa,CAAC;AAAEC,IAAAA,MAAM,EAAE,sBAAA;AAAuB,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AACrDC,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACbL,MAAAA,KAAK,EAAE,CAAA;KACP;AACFnB,IAAAA,MAAM,EAAEA,MAAO;AACfyB,IAAAA,OAAO,EAAEzB,MAAM,GAAG,CAAC,GAAG,CAAE;AACxB0B,IAAAA,QAAQ,EAAC,OAAO;AAChBC,IAAAA,IAAI,EAAC,WAAW;AAChBC,IAAAA,GAAG,EAAC,WAAW;AACfC,IAAAA,MAAM,EAAC,WAAW;AAClBC,IAAAA,KAAK,EAAC,WAAW;AACjBd,IAAAA,MAAM,EAAEA,MAAO;AACfe,IAAAA,eAAe,EAAC,2BAAA;AAA2B,GAAA,CAC5C,CAAC,CAAA;AAEN;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetContext.js","sources":["../../../../../../src/components/BottomSheet/BottomSheetContext.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport React from 'react';\n\ntype BottomSheetContextProps = {\n headerHeight: number;\n contentHeight: number;\n footerHeight: number;\n isHeaderFloating: boolean;\n setContentHeight: React.Dispatch<React.SetStateAction<number>>;\n setHeaderHeight: React.Dispatch<React.SetStateAction<number>>;\n setFooterHeight: React.Dispatch<React.SetStateAction<number>>;\n setHasBodyPadding: React.Dispatch<React.SetStateAction<boolean>>;\n setIsHeaderEmpty: React.Dispatch<React.SetStateAction<boolean>>;\n /**\n * Closes the bottomsheet\n */\n close: () => void;\n /**\n * scrollRef is the ref to the BottomSheetBody's scrollable content\n *\n * We use this for two purposes:\n *\n * 1. Preventing the scrolling of the content, until the top snap point is reached\n * 2. We use it as the target for body scroll locking, so even when the body is locked this will remain scrollable\n */\n scrollRef: React.Ref<any>;\n /**\n * bind() function comes from useDrag hook\n * https://use-gesture.netlify.app/docs/gestures\n *\n * We spread this function's return values into the element which needs to be draggable\n */\n bind: ((...args: any[]) => ReactDOMAttributes) | null;\n /**\n * Indicates open state of bottomsheet\n */\n isOpen: boolean;\n /**\n * Vertical position of bottomsheet surface\n */\n positionY: number;\n /**\n * This flag is true whenever we access useBottomSheetContext inside BottomSheetContext provider\n */\n isInBottomSheet: boolean;\n /**\n * The element that will get focused when the bottomsheet first opens\n */\n defaultInitialFocusRef: React.MutableRefObject<any>;\n};\n\nconst BottomSheetContext = React.createContext<BottomSheetContextProps>({\n headerHeight: 0,\n contentHeight: 0,\n footerHeight: 0,\n isHeaderFloating: false,\n setContentHeight: () => {},\n setHeaderHeight: () => {},\n setFooterHeight: () => {},\n setHasBodyPadding: () => {},\n setIsHeaderEmpty: () => {},\n close: () => {},\n scrollRef: null,\n bind: null,\n isOpen: false,\n positionY: 0,\n isInBottomSheet: false,\n defaultInitialFocusRef: { current: null },\n});\n\nconst useBottomSheetContext = (): BottomSheetContextProps => {\n const state = React.useContext(BottomSheetContext);\n return state;\n};\n\ntype BottomSheetAndDropdownGlueContext = {\n isOpen: boolean;\n hasAutoCompleteInHeader: boolean;\n /**\n * This flag is true when <Dropdown> contains or renders <BottomSheet> inside of it\n * We can use this flag to alter behavior or styles of Dropdown\n */\n dropdownHasBottomSheet: boolean;\n /**\n * This is the setter for the flag, we set this flag to true inside <BottomSheet>\n */\n setDropdownHasBottomSheet: React.Dispatch<React.SetStateAction<boolean>>;\n onBottomSheetDismiss: () => void;\n} | null;\n\nconst BottomSheetAndDropdownGlueContext = React.createContext<BottomSheetAndDropdownGlueContext>(\n null,\n);\n\n/**\n * This hook provides the bridge between Dropdown And BottomSheet\n *\n * You can hover over the return types to get jsdoc and more information about each\n */\nconst useBottomSheetAndDropdownGlue = (): BottomSheetAndDropdownGlueContext => {\n const state = React.useContext(BottomSheetAndDropdownGlueContext);\n\n return state;\n};\n\nexport type { BottomSheetContextProps };\nexport {\n BottomSheetContext,\n useBottomSheetContext,\n BottomSheetAndDropdownGlueContext,\n useBottomSheetAndDropdownGlue,\n};\n"],"names":["BottomSheetContext","React","createContext","headerHeight","contentHeight","footerHeight","isHeaderFloating","setContentHeight","setHeaderHeight","setFooterHeight","setHasBodyPadding","setIsHeaderEmpty","close","scrollRef","bind","isOpen","positionY","isInBottomSheet","defaultInitialFocusRef","current","useBottomSheetContext","state","useContext","BottomSheetAndDropdownGlueContext","useBottomSheetAndDropdownGlue"],"mappings":";;AAAA;AACA;;AAoDA,IAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAA0B;AACtEC,EAAAA,YAAY,EAAE,CAAC;AACfC,EAAAA,aAAa,EAAE,CAAC;AAChBC,EAAAA,YAAY,EAAE,CAAC;AACfC,EAAAA,gBAAgB,EAAE,KAAK;AACvBC,EAAAA,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"BottomSheetContext.js","sources":["../../../../../../src/components/BottomSheet/BottomSheetContext.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport React from 'react';\n\ntype BottomSheetContextProps = {\n headerHeight: number;\n contentHeight: number;\n footerHeight: number;\n isHeaderFloating: boolean;\n setContentHeight: React.Dispatch<React.SetStateAction<number>>;\n setHeaderHeight: React.Dispatch<React.SetStateAction<number>>;\n setFooterHeight: React.Dispatch<React.SetStateAction<number>>;\n setHasBodyPadding: React.Dispatch<React.SetStateAction<boolean>>;\n setIsHeaderEmpty: React.Dispatch<React.SetStateAction<boolean>>;\n /**\n * Closes the bottomsheet\n */\n close: () => void;\n /**\n * scrollRef is the ref to the BottomSheetBody's scrollable content\n *\n * We use this for two purposes:\n *\n * 1. Preventing the scrolling of the content, until the top snap point is reached\n * 2. We use it as the target for body scroll locking, so even when the body is locked this will remain scrollable\n */\n scrollRef: React.Ref<any>;\n /**\n * bind() function comes from useDrag hook\n * https://use-gesture.netlify.app/docs/gestures\n *\n * We spread this function's return values into the element which needs to be draggable\n */\n bind: ((...args: any[]) => ReactDOMAttributes) | null;\n /**\n * Indicates open state of bottomsheet\n */\n isOpen: boolean;\n /**\n * Vertical position of bottomsheet surface\n */\n positionY: number;\n /**\n * This flag is true whenever we access useBottomSheetContext inside BottomSheetContext provider\n */\n isInBottomSheet: boolean;\n /**\n * The element that will get focused when the bottomsheet first opens\n */\n defaultInitialFocusRef: React.MutableRefObject<any>;\n};\n\nconst BottomSheetContext = React.createContext<BottomSheetContextProps>({\n headerHeight: 0,\n contentHeight: 0,\n footerHeight: 0,\n isHeaderFloating: false,\n setContentHeight: () => {},\n setHeaderHeight: () => {},\n setFooterHeight: () => {},\n setHasBodyPadding: () => {},\n setIsHeaderEmpty: () => {},\n close: () => {},\n scrollRef: null,\n bind: null,\n isOpen: false,\n positionY: 0,\n isInBottomSheet: false,\n defaultInitialFocusRef: { current: null },\n});\n\nconst useBottomSheetContext = (): BottomSheetContextProps => {\n const state = React.useContext(BottomSheetContext);\n return state;\n};\n\ntype BottomSheetAndDropdownGlueContext = {\n isOpen: boolean;\n hasAutoCompleteInHeader: boolean;\n /**\n * This flag is true when <Dropdown> contains or renders <BottomSheet> inside of it\n * We can use this flag to alter behavior or styles of Dropdown\n */\n dropdownHasBottomSheet: boolean;\n /**\n * This is the setter for the flag, we set this flag to true inside <BottomSheet>\n */\n setDropdownHasBottomSheet: React.Dispatch<React.SetStateAction<boolean>>;\n onBottomSheetDismiss: () => void;\n} | null;\n\nconst BottomSheetAndDropdownGlueContext = React.createContext<BottomSheetAndDropdownGlueContext>(\n null,\n);\n\n/**\n * This hook provides the bridge between Dropdown And BottomSheet\n *\n * You can hover over the return types to get jsdoc and more information about each\n */\nconst useBottomSheetAndDropdownGlue = (): BottomSheetAndDropdownGlueContext => {\n const state = React.useContext(BottomSheetAndDropdownGlueContext);\n\n return state;\n};\n\nexport type { BottomSheetContextProps };\nexport {\n BottomSheetContext,\n useBottomSheetContext,\n BottomSheetAndDropdownGlueContext,\n useBottomSheetAndDropdownGlue,\n};\n"],"names":["BottomSheetContext","React","createContext","headerHeight","contentHeight","footerHeight","isHeaderFloating","setContentHeight","setHeaderHeight","setFooterHeight","setHasBodyPadding","setIsHeaderEmpty","close","scrollRef","bind","isOpen","positionY","isInBottomSheet","defaultInitialFocusRef","current","useBottomSheetContext","state","useContext","BottomSheetAndDropdownGlueContext","useBottomSheetAndDropdownGlue"],"mappings":";;AAAA;AACA;;AAoDA,IAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAA0B;AACtEC,EAAAA,YAAY,EAAE,CAAC;AACfC,EAAAA,aAAa,EAAE,CAAC;AAChBC,EAAAA,YAAY,EAAE,CAAC;AACfC,EAAAA,gBAAgB,EAAE,KAAK;AACvBC,EAAAA,gBAAgB,EAAE,SAAlBA,gBAAgBA,GAAQ,EAAE;AAC1BC,EAAAA,eAAe,EAAE,SAAjBA,eAAeA,GAAQ,EAAE;AACzBC,EAAAA,eAAe,EAAE,SAAjBA,eAAeA,GAAQ,EAAE;AACzBC,EAAAA,iBAAiB,EAAE,SAAnBA,iBAAiBA,GAAQ,EAAE;AAC3BC,EAAAA,gBAAgB,EAAE,SAAlBA,gBAAgBA,GAAQ,EAAE;AAC1BC,EAAAA,KAAK,EAAE,SAAPA,KAAKA,GAAQ,EAAE;AACfC,EAAAA,SAAS,EAAE,IAAI;AACfC,EAAAA,IAAI,EAAE,IAAI;AACVC,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,SAAS,EAAE,CAAC;AACZC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,sBAAsB,EAAE;AAAEC,IAAAA,OAAO,EAAE,IAAA;AAAK,GAAA;AAC1C,CAAC,EAAC;AAEF,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAkC;AAC3D,EAAA,IAAMC,KAAK,GAAGpB,cAAK,CAACqB,UAAU,CAACtB,kBAAkB,CAAC,CAAA;AAClD,EAAA,OAAOqB,KAAK,CAAA;AACd,EAAC;AAiBD,IAAME,iCAAiC,gBAAGtB,cAAK,CAACC,aAAa,CAC3D,IACF,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,IAAMsB,6BAA6B,GAAG,SAAhCA,6BAA6BA,GAA4C;AAC7E,EAAA,IAAMH,KAAK,GAAGpB,cAAK,CAACqB,UAAU,CAACC,iCAAiC,CAAC,CAAA;AAEjE,EAAA,OAAOF,KAAK,CAAA;AACd;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetStack.js","sources":["../../../../../../src/components/BottomSheet/BottomSheetStack.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\nimport React from 'react';\n\ntype BottomSheetStackType = {\n stack: string[];\n addBottomSheetToStack: (id: string) => void;\n removeBottomSheetFromStack: (id: string) => void;\n getTopOfTheStack: () => string | null;\n getCurrentStackIndexById: (id: string) => number;\n};\n\nconst BottomSheetStackContext = React.createContext<BottomSheetStackType>({\n stack: [],\n addBottomSheetToStack: () => {},\n removeBottomSheetFromStack: () => {},\n getTopOfTheStack: () => {\n return null;\n },\n getCurrentStackIndexById: () => -1,\n});\n\ntype BottomSheetStackProviderType = {\n children: React.ReactNode;\n};\nconst BottomSheetStackProvider = ({\n children,\n}: BottomSheetStackProviderType): React.ReactElement => {\n const [stack, setStack] = React.useState<string[]>([]);\n\n const getTopOfTheStack = React.useCallback(() => {\n return stack[0] || null;\n }, [stack]);\n\n const addBottomSheetToStack = React.useCallback((id?: string) => {\n // id can be undefined since useId returns `undefined` on first render,\n // if we push undefined to the stack the `removeBottomSheetFromStack` will break\n // since it will try to match top of the stack with undefined\n if (id === undefined) return;\n setStack((prev) => [id, ...prev]);\n }, []);\n\n const removeBottomSheetFromStack = React.useCallback((id: string) => {\n setStack((prev) => {\n const newStack = [...prev];\n const popped = newStack.shift();\n // only pop the stack if the passed in id is matched to the top of the stack\n if (popped === id) return newStack;\n return newStack;\n });\n }, []);\n\n const getCurrentStackIndexById = React.useCallback(\n (id: string) => {\n return stack.findIndex((stackId) => stackId === id);\n },\n [stack],\n );\n\n const value = React.useMemo(() => {\n return {\n stack,\n addBottomSheetToStack,\n removeBottomSheetFromStack,\n getTopOfTheStack,\n getCurrentStackIndexById,\n };\n }, [\n addBottomSheetToStack,\n getCurrentStackIndexById,\n getTopOfTheStack,\n removeBottomSheetFromStack,\n stack,\n ]);\n\n return (\n <BottomSheetStackContext.Provider value={value}>{children}</BottomSheetStackContext.Provider>\n );\n};\n\nconst useBottomSheetStack = (): BottomSheetStackType => {\n const context = React.useContext(BottomSheetStackContext);\n\n return context;\n};\n\nexport { BottomSheetStackProvider, useBottomSheetStack };\n"],"names":["BottomSheetStackContext","React","createContext","stack","addBottomSheetToStack","removeBottomSheetFromStack","getTopOfTheStack","getCurrentStackIndexById","BottomSheetStackProvider","_ref","children","_React$useState","useState","_React$useState2","_slicedToArray","setStack","useCallback","id","undefined","prev","concat","_toConsumableArray","newStack","popped","shift","findIndex","stackId","value","useMemo","_jsx","Provider","useBottomSheetStack","context","useContext"],"mappings":";;;;;AAWA,IAAMA,uBAAuB,gBAAGC,cAAK,CAACC,aAAa,CAAuB;AACxEC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"BottomSheetStack.js","sources":["../../../../../../src/components/BottomSheet/BottomSheetStack.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\nimport React from 'react';\n\ntype BottomSheetStackType = {\n stack: string[];\n addBottomSheetToStack: (id: string) => void;\n removeBottomSheetFromStack: (id: string) => void;\n getTopOfTheStack: () => string | null;\n getCurrentStackIndexById: (id: string) => number;\n};\n\nconst BottomSheetStackContext = React.createContext<BottomSheetStackType>({\n stack: [],\n addBottomSheetToStack: () => {},\n removeBottomSheetFromStack: () => {},\n getTopOfTheStack: () => {\n return null;\n },\n getCurrentStackIndexById: () => -1,\n});\n\ntype BottomSheetStackProviderType = {\n children: React.ReactNode;\n};\nconst BottomSheetStackProvider = ({\n children,\n}: BottomSheetStackProviderType): React.ReactElement => {\n const [stack, setStack] = React.useState<string[]>([]);\n\n const getTopOfTheStack = React.useCallback(() => {\n return stack[0] || null;\n }, [stack]);\n\n const addBottomSheetToStack = React.useCallback((id?: string) => {\n // id can be undefined since useId returns `undefined` on first render,\n // if we push undefined to the stack the `removeBottomSheetFromStack` will break\n // since it will try to match top of the stack with undefined\n if (id === undefined) return;\n setStack((prev) => [id, ...prev]);\n }, []);\n\n const removeBottomSheetFromStack = React.useCallback((id: string) => {\n setStack((prev) => {\n const newStack = [...prev];\n const popped = newStack.shift();\n // only pop the stack if the passed in id is matched to the top of the stack\n if (popped === id) return newStack;\n return newStack;\n });\n }, []);\n\n const getCurrentStackIndexById = React.useCallback(\n (id: string) => {\n return stack.findIndex((stackId) => stackId === id);\n },\n [stack],\n );\n\n const value = React.useMemo(() => {\n return {\n stack,\n addBottomSheetToStack,\n removeBottomSheetFromStack,\n getTopOfTheStack,\n getCurrentStackIndexById,\n };\n }, [\n addBottomSheetToStack,\n getCurrentStackIndexById,\n getTopOfTheStack,\n removeBottomSheetFromStack,\n stack,\n ]);\n\n return (\n <BottomSheetStackContext.Provider value={value}>{children}</BottomSheetStackContext.Provider>\n );\n};\n\nconst useBottomSheetStack = (): BottomSheetStackType => {\n const context = React.useContext(BottomSheetStackContext);\n\n return context;\n};\n\nexport { BottomSheetStackProvider, useBottomSheetStack };\n"],"names":["BottomSheetStackContext","React","createContext","stack","addBottomSheetToStack","removeBottomSheetFromStack","getTopOfTheStack","getCurrentStackIndexById","BottomSheetStackProvider","_ref","children","_React$useState","useState","_React$useState2","_slicedToArray","setStack","useCallback","id","undefined","prev","concat","_toConsumableArray","newStack","popped","shift","findIndex","stackId","value","useMemo","_jsx","Provider","useBottomSheetStack","context","useContext"],"mappings":"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"}
|