@razorpay/blade 12.20.1 → 12.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/build/lib/native/components/ActionList/ActionListItem.js +1 -1
  2. package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
  3. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +1 -1
  4. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  5. package/build/lib/native/components/BottomSheet/BottomSheet.native.js +1 -1
  6. package/build/lib/native/components/BottomSheet/BottomSheet.native.js.map +1 -1
  7. package/build/lib/native/components/BottomSheet/BottomSheetContext.js.map +1 -1
  8. package/build/lib/native/components/Collapsible/Collapsible.js +3 -1
  9. package/build/lib/native/components/Collapsible/Collapsible.js.map +1 -1
  10. package/build/lib/native/components/Collapsible/CollapsibleBody.js +2 -1
  11. package/build/lib/native/components/Collapsible/CollapsibleBody.js.map +1 -1
  12. package/build/lib/native/components/Collapsible/CollapsibleButton.js +2 -3
  13. package/build/lib/native/components/Collapsible/CollapsibleButton.js.map +1 -1
  14. package/build/lib/native/components/Collapsible/CollapsibleLink.js +2 -3
  15. package/build/lib/native/components/Collapsible/CollapsibleLink.js.map +1 -1
  16. package/build/lib/native/components/Collapsible/componentIds.js +4 -0
  17. package/build/lib/native/components/Collapsible/componentIds.js.map +1 -0
  18. package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
  19. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  20. package/build/lib/native/components/Dropdown/DropdownHeaderFooter.js +1 -1
  21. package/build/lib/native/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
  22. package/build/lib/native/components/Dropdown/useDropdown.js +1 -1
  23. package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
  24. package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
  25. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  26. package/build/lib/native/components/Input/DropdownInputTriggers/AutoComplete.js +1 -1
  27. package/build/lib/native/components/Input/DropdownInputTriggers/AutoComplete.js.map +1 -1
  28. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +2 -1
  29. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  30. package/build/lib/web/development/components/ActionList/ActionListBox.web.js +3 -3
  31. package/build/lib/web/development/components/ActionList/ActionListBox.web.js.map +1 -1
  32. package/build/lib/web/development/components/ActionList/ActionListItem.js +4 -4
  33. package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
  34. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +9 -2
  35. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  36. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js +3 -3
  37. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js.map +1 -1
  38. package/build/lib/web/development/components/BottomSheet/BottomSheetContext.js.map +1 -1
  39. package/build/lib/web/development/components/BottomSheet/BottomSheetHeader.web.js +1 -1
  40. package/build/lib/web/development/components/BottomSheet/BottomSheetHeader.web.js.map +1 -1
  41. package/build/lib/web/development/components/Collapsible/Collapsible.js +7 -2
  42. package/build/lib/web/development/components/Collapsible/Collapsible.js.map +1 -1
  43. package/build/lib/web/development/components/Collapsible/CollapsibleBody.js +2 -1
  44. package/build/lib/web/development/components/Collapsible/CollapsibleBody.js.map +1 -1
  45. package/build/lib/web/development/components/Collapsible/CollapsibleButton.js +2 -3
  46. package/build/lib/web/development/components/Collapsible/CollapsibleButton.js.map +1 -1
  47. package/build/lib/web/development/components/Collapsible/CollapsibleLink.js +2 -3
  48. package/build/lib/web/development/components/Collapsible/CollapsibleLink.js.map +1 -1
  49. package/build/lib/web/development/components/Collapsible/componentIds.js +9 -0
  50. package/build/lib/web/development/components/Collapsible/componentIds.js.map +1 -0
  51. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +6 -3
  52. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  53. package/build/lib/web/development/components/DatePicker/useDatesState.js +12 -1
  54. package/build/lib/web/development/components/DatePicker/useDatesState.js.map +1 -1
  55. package/build/lib/web/development/components/DatePicker/usePopup.js +5 -1
  56. package/build/lib/web/development/components/DatePicker/usePopup.js.map +1 -1
  57. package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js +6 -3
  58. package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
  59. package/build/lib/web/development/components/Dropdown/Dropdown.js +8 -6
  60. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  61. package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js +18 -8
  62. package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
  63. package/build/lib/web/development/components/Dropdown/useDropdown.js +16 -6
  64. package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
  65. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +7 -3
  66. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  67. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +5 -2
  68. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  69. package/build/lib/web/development/components/Input/DropdownInputTriggers/AutoComplete.js +11 -8
  70. package/build/lib/web/development/components/Input/DropdownInputTriggers/AutoComplete.js.map +1 -1
  71. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +24 -12
  72. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  73. package/build/lib/web/development/components/StepGroup/StepGroup.web.js +26 -4
  74. package/build/lib/web/development/components/StepGroup/StepGroup.web.js.map +1 -1
  75. package/build/lib/web/development/components/StepGroup/StepItem.web.js +2 -1
  76. package/build/lib/web/development/components/StepGroup/StepItem.web.js.map +1 -1
  77. package/build/lib/web/production/components/ActionList/ActionListBox.web.js +3 -3
  78. package/build/lib/web/production/components/ActionList/ActionListBox.web.js.map +1 -1
  79. package/build/lib/web/production/components/ActionList/ActionListItem.js +4 -4
  80. package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
  81. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +9 -2
  82. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  83. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js +3 -3
  84. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js.map +1 -1
  85. package/build/lib/web/production/components/BottomSheet/BottomSheetContext.js.map +1 -1
  86. package/build/lib/web/production/components/BottomSheet/BottomSheetHeader.web.js +1 -1
  87. package/build/lib/web/production/components/BottomSheet/BottomSheetHeader.web.js.map +1 -1
  88. package/build/lib/web/production/components/Collapsible/Collapsible.js +7 -2
  89. package/build/lib/web/production/components/Collapsible/Collapsible.js.map +1 -1
  90. package/build/lib/web/production/components/Collapsible/CollapsibleBody.js +2 -1
  91. package/build/lib/web/production/components/Collapsible/CollapsibleBody.js.map +1 -1
  92. package/build/lib/web/production/components/Collapsible/CollapsibleButton.js +2 -3
  93. package/build/lib/web/production/components/Collapsible/CollapsibleButton.js.map +1 -1
  94. package/build/lib/web/production/components/Collapsible/CollapsibleLink.js +2 -3
  95. package/build/lib/web/production/components/Collapsible/CollapsibleLink.js.map +1 -1
  96. package/build/lib/web/production/components/Collapsible/componentIds.js +9 -0
  97. package/build/lib/web/production/components/Collapsible/componentIds.js.map +1 -0
  98. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +6 -3
  99. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  100. package/build/lib/web/production/components/DatePicker/useDatesState.js +12 -1
  101. package/build/lib/web/production/components/DatePicker/useDatesState.js.map +1 -1
  102. package/build/lib/web/production/components/DatePicker/usePopup.js +5 -1
  103. package/build/lib/web/production/components/DatePicker/usePopup.js.map +1 -1
  104. package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js +6 -3
  105. package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
  106. package/build/lib/web/production/components/Dropdown/Dropdown.js +8 -6
  107. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  108. package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js +18 -8
  109. package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
  110. package/build/lib/web/production/components/Dropdown/useDropdown.js +16 -6
  111. package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
  112. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +7 -3
  113. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  114. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +5 -2
  115. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  116. package/build/lib/web/production/components/Input/DropdownInputTriggers/AutoComplete.js +11 -8
  117. package/build/lib/web/production/components/Input/DropdownInputTriggers/AutoComplete.js.map +1 -1
  118. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +24 -12
  119. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  120. package/build/lib/web/production/components/StepGroup/StepGroup.web.js +26 -4
  121. package/build/lib/web/production/components/StepGroup/StepGroup.web.js.map +1 -1
  122. package/build/lib/web/production/components/StepGroup/StepItem.web.js +2 -1
  123. package/build/lib/web/production/components/StepGroup/StepItem.web.js.map +1 -1
  124. package/build/types/components/index.d.ts +20 -9
  125. package/build/types/components/index.native.d.ts +19 -8
  126. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ActionListItem.js","sources":["../../../../../../src/components/ActionList/ActionListItem.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { TouchableOpacity } from 'react-native';\nimport { componentIds } from './componentIds';\nimport { validateActionListItemProps, getNormalTextColor } from './actionListUtils';\nimport { getActionListItemRole, getActionListSectionRole } from './getA11yRoles';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { IconComponent } from '~components/Icons';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { Text } from '~components/Typography';\nimport type { Platform } from '~utils';\nimport { castWebType, isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, StringChildrenType, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSize } from '~utils/makeSize';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport type { BadgeProps } from '~components/Badge';\nimport { Badge } from '~components/Badge';\nimport { Box } from '~components/Box';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { BaseMenuItem, useBaseMenuItem } from '~components/BaseMenu';\nimport { Checkbox } from '~components/Checkbox';\nimport type { AvatarProps } from '~components/Avatar/types';\nimport { Avatar } from '~components/Avatar';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype ActionListItemProps = {\n title: string;\n description?: string;\n onClick?: (clickProps: {\n name: string;\n value?: boolean;\n event: Platform.Select<{\n web: React.MouseEvent;\n native: React.TouchEvent<TouchableOpacity>;\n }>;\n }) => void;\n /**\n * value that you get from `onChange` event on SelectInput or in form submissions.\n */\n value: string;\n /**\n * Link to open when item is clicked.\n */\n href?: string;\n /**\n * HTML target of the link\n */\n target?: string;\n /**\n * Item that goes on left-side of item.\n *\n * Valid elements - `<ActionListItemIcon />`, `<ActionListItemAsset />`\n *\n * Will be overriden in multiselect\n */\n leading?: React.ReactNode;\n /**\n * Item that goes on right-side of item.\n *\n * Valid elements - `<ActionListItemText />`, `<ActionListItemIcon />`\n */\n trailing?: React.ReactNode;\n /**\n * Item that goes immediately next to the title.\n *\n * Valid elements - `<ActionListItemBadge />`, `<ActionListItemBadgeGroup />`\n *\n */\n titleSuffix?: React.ReactElement;\n isDisabled?: boolean;\n intent?: Extract<FeedbackColors, 'negative'>;\n /**\n * Can be used in combination of `onClick` to highlight item as selected in Button Triggers.\n *\n * When trigger is SelectInput, Use `value` prop on SelectInput instead to make dropdown controlled.\n */\n isSelected?: boolean;\n /**\n * Internally passed from ActionList. No need to pass it explicitly\n *\n * @private\n */\n _index?: number;\n /**\n * Internally used to pass index for virtualized lists\n *\n * @private\n */\n _virtualizedIndex?: number;\n /**\n * Internally used to focus on virtualized list\n *\n * @private\n */\n _onVirtualizedFocus?: (_virtuazedIndex: number) => void;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst StyledActionListSectionTitle = styled(BaseBox)((props) => ({\n // @TODO: replace this styled-component with new layout box when we have padding shorthand\n padding: makeSize(props.theme.spacing[3]),\n}));\n\ntype ActionListSectionProps = {\n title: string;\n children: React.ReactNode[] | React.ReactNode;\n /**\n * Internally used to hide the divider on final item in React Native\n *\n * Should not be used by consumers (also won't work on web)\n *\n * @private\n */\n _hideDivider?: boolean;\n /**\n * Internally used to hide / show section in AutoComplete\n *\n * @private\n */\n _sectionChildValues?: string[];\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _ActionListSectionTitle = ({\n title,\n isInsideVirtualizedList = false,\n}: {\n title: string;\n isInsideVirtualizedList?: boolean;\n}): React.ReactElement => {\n return (\n <StyledActionListSectionTitle\n {...makeAccessible({\n hidden: !isInsideVirtualizedList,\n role: isInsideVirtualizedList ? 'heading' : undefined,\n })}\n >\n <Text color=\"surface.text.gray.muted\" size=\"small\" weight=\"semibold\">\n {title}\n </Text>\n </StyledActionListSectionTitle>\n );\n};\n\nconst ActionListSectionTitle = assignWithoutSideEffects(_ActionListSectionTitle, {\n componentId: componentIds.ActionListSectionTitle,\n});\nconst _ActionListSection = ({\n title,\n children,\n testID,\n _hideDivider,\n _sectionChildValues,\n ...rest\n}: ActionListSectionProps): React.ReactElement => {\n const { hasAutoCompleteInBottomSheetHeader, dropdownTriggerer, filteredValues } = useDropdown();\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const isSectionVisible = React.useMemo(() => {\n if (hasAutoComplete) {\n const visibleActionListItemInSection = _sectionChildValues?.find((actionItemValue) =>\n filteredValues.includes(actionItemValue),\n );\n\n return Boolean(visibleActionListItemInSection);\n }\n\n return true;\n }, [_sectionChildValues, hasAutoComplete, filteredValues]);\n\n const showDividerInRN = !(_hideDivider && isReactNative());\n const showDividerInAutoComplete = hasAutoComplete\n ? isSectionVisible && filteredValues.length > 1\n : true;\n\n return (\n <BaseBox\n {...makeAccessible({\n role: getActionListSectionRole(),\n label: title,\n })}\n {...metaAttribute({ name: MetaConstants.ActionListSection, testID })}\n {...makeAnalyticsAttribute(rest as Record<string, unknown>)}\n >\n {/* We're announcing title as group label so we can hide this */}\n {isSectionVisible ? <ActionListSectionTitle title={title} /> : null}\n\n <BaseBox\n {...makeAccessible({\n // On web, we just wrap it in another listbox to announce item count properly for particular group.\n // On React Native, we ignore it since `menu` + `group` role will take care of accessibility\n role: isReactNative() ? undefined : 'listbox',\n })}\n >\n {children}\n </BaseBox>\n {showDividerInAutoComplete && showDividerInRN ? (\n <Divider marginX=\"spacing.3\" marginY=\"spacing.1\" />\n ) : null}\n </BaseBox>\n );\n};\n\nconst ActionListSection = assignWithoutSideEffects(React.memo(_ActionListSection), {\n componentId: componentIds.ActionListSection,\n});\n\nconst _ActionListItemIcon = ({ icon }: { icon: IconComponent }): React.ReactElement => {\n const Icon = icon;\n const { color, isDisabled } = useBaseMenuItem();\n const iconState = isDisabled ? 'disabled' : 'muted';\n return (\n <Icon\n color={\n color === 'negative'\n ? 'feedback.icon.negative.intense'\n : `interactive.icon.gray.${iconState}`\n }\n size=\"medium\"\n />\n );\n};\n\nconst ActionListItemIcon = assignWithoutSideEffects(_ActionListItemIcon, {\n componentId: componentIds.ActionListItemIcon,\n});\n\nconst _ActionListItemBadgeGroup = ({\n children,\n}: {\n children: React.ReactElement[] | React.ReactElement;\n}): React.ReactElement => {\n return (\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n {children}\n </Box>\n );\n};\n\nconst ActionListItemBadgeGroup = assignWithoutSideEffects(_ActionListItemBadgeGroup, {\n componentId: componentIds.ActionListItemBadgeGroup,\n});\n\nconst _ActionListItemAvatar = (avatarProps: Omit<AvatarProps, 'size' | ''>): React.ReactElement => {\n return <Avatar size=\"xsmall\" {...avatarProps} />;\n};\n\nconst ActionListItemAvatar = assignWithoutSideEffects(_ActionListItemAvatar, {\n componentId: componentIds.ActionListItemAvatar,\n});\n\nconst _ActionListItemBadge = (props: BadgeProps): React.ReactElement => {\n return <Badge size=\"medium\" marginLeft=\"spacing.3\" {...props} />;\n};\n\nconst ActionListItemBadge = assignWithoutSideEffects(_ActionListItemBadge, {\n componentId: componentIds.ActionListItemBadge,\n});\n\nconst _ActionListItemText = ({\n children,\n}: {\n children: StringChildrenType;\n}): React.ReactElement => {\n const { isDisabled } = useBaseMenuItem();\n\n return (\n <Text variant=\"caption\" color={getNormalTextColor(isDisabled, { isMuted: true })}>\n {children}\n </Text>\n );\n};\n\nconst ActionListItemText = assignWithoutSideEffects(_ActionListItemText, {\n componentId: componentIds.ActionListItemText,\n});\n\nconst BaseMenuLeadingItem = ({\n isSelected,\n leading,\n selectionType,\n isDisabled,\n}: {\n isSelected?: boolean;\n leading?: React.ReactNode;\n selectionType: string | undefined;\n isDisabled?: boolean;\n}): React.ReactElement | null => {\n if (selectionType === 'multiple') {\n return (\n <BaseBox\n pointerEvents=\"none\"\n // Adding aria-hidden because the listbox item in multiselect in itself explains the behaviour so announcing checkbox is unneccesary and just a nice UI tweak for us\n {...makeAccessible({\n hidden: true,\n })}\n >\n <Checkbox isChecked={isSelected} tabIndex={-1} isDisabled={isDisabled}>\n {/*\n Checkbox requires children. Didn't want to make it optional because its helpful for consumers\n But for this case in particular, we just want to use Text separately so that we can control spacing and color and keep it consistent with non-multiselect dropdowns\n */}\n {null}\n </Checkbox>\n </BaseBox>\n );\n }\n return React.isValidElement(leading) ? leading : null;\n};\n\ntype ClickHandlerType = (e: React.MouseEvent<HTMLButtonElement>) => void;\n\nconst makeActionListItemClickable = (\n clickHandler: ClickHandlerType,\n): { onPress?: (e: React.TouchEvent<TouchableOpacity>) => void; onClick?: ClickHandlerType } => {\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: ignoring ReactNative press type for the peace of mind\n return { onPress: clickHandler };\n }\n\n return {\n onClick: clickHandler,\n };\n};\n\n/**\n * ### ActionListItem\n *\n * Creates option inside `ActionList`.\n *\n * #### Usage\n *\n * ```jsx\n * <ActionList>\n * <ActionListItem\n * title=\"Home\"\n * value=\"home\"\n * leading={<ActionListItemIcon icon={HomeIcon} />}\n * trailing={<ActionListItemText>⌘ + S</ActionListItemText>}\n * />\n * </ActionList>\n * ```\n */\nconst _ActionListItem = (props: ActionListItemProps): React.ReactElement => {\n const {\n activeIndex,\n dropdownBaseId,\n onOptionClick,\n selectedIndices,\n setShouldIgnoreBlurAnimation,\n selectionType,\n dropdownTriggerer,\n isKeydownPressed,\n filteredValues,\n hasAutoCompleteInBottomSheetHeader,\n hasUnControlledFilterChipSelectInput,\n } = useDropdown();\n\n React.useEffect(() => {\n if (activeIndex === props._index && props._virtualizedIndex !== undefined) {\n props._onVirtualizedFocus?.(props._virtualizedIndex as number);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeIndex]);\n\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const renderOnWebAs = props.href ? 'a' : 'button';\n /**\n * In SelectInput, returns the isSelected according to selected indexes in the state\n *\n * In Other Triggers (Menu Usecase), returns `props.isSelected` since passing the\n * isSelected prop explicitly is the only way to select item in menu\n */\n const getIsSelected = (): boolean | undefined => {\n if (\n dropdownTriggerer === dropdownComponentIds.triggers.SelectInput ||\n hasAutoComplete ||\n hasUnControlledFilterChipSelectInput\n ) {\n if (typeof props._index === 'number') {\n return selectedIndices.includes(props._index);\n }\n return undefined;\n }\n\n return props.isSelected;\n };\n\n const isSelected = getIsSelected();\n\n React.useEffect(() => {\n validateActionListItemProps({\n leading: props.leading,\n trailing: props.trailing,\n titleSuffix: props.titleSuffix,\n });\n }, [props.leading, props.trailing, props.titleSuffix]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (\n dropdownTriggerer === dropdownComponentIds.triggers.SelectInput &&\n props.intent === 'negative'\n ) {\n throwBladeError({\n message:\n 'negative intent ActionListItem cannot be used inside Dropdown with SelectInput trigger',\n moduleName: 'ActionListItem',\n });\n }\n }\n }, [props.intent, dropdownTriggerer]);\n\n const isVisible = hasAutoComplete && filteredValues ? filteredValues.includes(props.value) : true;\n\n return (\n <BaseMenuItem\n isVisible={isVisible}\n as={!isReactNative() ? renderOnWebAs : undefined}\n id={`${dropdownBaseId}-${props._index}`}\n tabIndex={-1}\n title={props.title}\n description={props.description}\n leading={\n <BaseMenuLeadingItem\n key={`${dropdownBaseId}-${props._index}-leading-${isSelected}`}\n isSelected={isSelected}\n leading={props.leading}\n selectionType={selectionType}\n isDisabled={props.isDisabled}\n />\n }\n trailing={props.trailing}\n titleSuffix={props.titleSuffix}\n href={props.href}\n target={props.target}\n className={activeIndex === props._index ? 'active-focus' : ''}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n role={getActionListItemRole(dropdownTriggerer, props.href)}\n {...makeActionListItemClickable((e: React.MouseEvent<HTMLButtonElement>): void => {\n if (typeof props._index === 'number') {\n onOptionClick(e, props._index);\n props.onClick?.({ name: props.value, value: isSelected, event: castWebType(e) });\n }\n })}\n {...makeAnalyticsAttribute({ ...props })}\n {...metaAttribute({ name: MetaConstants.ActionListItem, testID: props.testID })}\n onMouseDown={() => {\n // We want to keep focus on Dropdown's trigger while option is being clicked\n // So We set this flag that ignores the blur animation to avoid the flicker between focus out + focus in\n setShouldIgnoreBlurAnimation(true);\n }}\n onMouseUp={() => {\n // (Contd from above comment...) We set this flag back to false since blur of SelectInput is done calling by this time\n setShouldIgnoreBlurAnimation(false);\n }}\n data-value={props.value}\n data-index={props._index}\n selectionType={selectionType}\n color={props.intent}\n isKeydownPressed={isKeydownPressed}\n />\n );\n};\n\nconst ActionListItem = assignWithoutSideEffects(React.memo(_ActionListItem), {\n componentId: componentIds.ActionListItem,\n displayName: componentIds.ActionListItem,\n});\n\nexport type { ActionListItemProps, ActionListSectionProps };\nexport {\n ActionListItem,\n ActionListItemIcon,\n ActionListItemText,\n ActionListItemAvatar,\n ActionListItemBadge,\n ActionListItemBadgeGroup,\n ActionListSection,\n ActionListSectionTitle,\n};\n"],"names":["StyledActionListSectionTitle","styled","BaseBox","withConfig","displayName","componentId","props","padding","makeSize","theme","spacing","_ActionListSectionTitle","_ref","title","_ref$isInsideVirtuali","isInsideVirtualizedList","_jsx","_objectSpread","makeAccessible","hidden","role","undefined","children","Text","color","size","weight","ActionListSectionTitle","assignWithoutSideEffects","componentIds","_ActionListSection","_ref2","testID","_hideDivider","_sectionChildValues","rest","_objectWithoutProperties","_excluded","_useDropdown","useDropdown","hasAutoCompleteInBottomSheetHeader","dropdownTriggerer","filteredValues","hasAutoComplete","dropdownComponentIds","triggers","AutoComplete","isSectionVisible","React","useMemo","visibleActionListItemInSection","find","actionItemValue","includes","Boolean","showDividerInRN","isReactNative","showDividerInAutoComplete","length","_jsxs","getActionListSectionRole","label","metaAttribute","name","MetaConstants","ActionListSection","makeAnalyticsAttribute","Divider","marginX","marginY","memo","_ActionListItemIcon","_ref3","icon","Icon","_useBaseMenuItem","useBaseMenuItem","isDisabled","iconState","concat","ActionListItemIcon","_ActionListItemBadgeGroup","_ref4","Box","display","alignItems","flexDirection","ActionListItemBadgeGroup","_ActionListItemAvatar","avatarProps","Avatar","ActionListItemAvatar","_ActionListItemBadge","Badge","marginLeft","ActionListItemBadge","_ActionListItemText","_ref5","_useBaseMenuItem2","variant","getNormalTextColor","isMuted","ActionListItemText","BaseMenuLeadingItem","_ref6","isSelected","leading","selectionType","pointerEvents","Checkbox","isChecked","tabIndex","isValidElement","makeActionListItemClickable","clickHandler","onPress","onClick","_ActionListItem","_useDropdown2","activeIndex","dropdownBaseId","onOptionClick","selectedIndices","setShouldIgnoreBlurAnimation","isKeydownPressed","hasUnControlledFilterChipSelectInput","useEffect","_index","_virtualizedIndex","_props$_onVirtualized","_onVirtualizedFocus","call","renderOnWebAs","href","getIsSelected","SelectInput","validateActionListItemProps","trailing","titleSuffix","intent","throwBladeError","message","moduleName","isVisible","value","BaseMenuItem","as","id","description","target","className","getActionListItemRole","e","_props$onClick","event","castWebType","ActionListItem","onMouseDown","onMouseUp"],"mappings":"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"}
1
+ {"version":3,"file":"ActionListItem.js","sources":["../../../../../../src/components/ActionList/ActionListItem.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { TouchableOpacity } from 'react-native';\nimport { componentIds } from './componentIds';\nimport { validateActionListItemProps, getNormalTextColor } from './actionListUtils';\nimport { getActionListItemRole, getActionListSectionRole } from './getA11yRoles';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { IconComponent } from '~components/Icons';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { Text } from '~components/Typography';\nimport type { Platform } from '~utils';\nimport { castWebType, isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, StringChildrenType, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSize } from '~utils/makeSize';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport type { BadgeProps } from '~components/Badge';\nimport { Badge } from '~components/Badge';\nimport { Box } from '~components/Box';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { BaseMenuItem, useBaseMenuItem } from '~components/BaseMenu';\nimport { Checkbox } from '~components/Checkbox';\nimport type { AvatarProps } from '~components/Avatar/types';\nimport { Avatar } from '~components/Avatar';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype ActionListItemProps = {\n title: string;\n description?: string;\n onClick?: (clickProps: {\n name: string;\n value?: boolean;\n event: Platform.Select<{\n web: React.MouseEvent;\n native: React.TouchEvent<TouchableOpacity>;\n }>;\n }) => void;\n /**\n * value that you get from `onChange` event on SelectInput or in form submissions.\n */\n value: string;\n /**\n * Link to open when item is clicked.\n */\n href?: string;\n /**\n * HTML target of the link\n */\n target?: string;\n /**\n * Item that goes on left-side of item.\n *\n * Valid elements - `<ActionListItemIcon />`, `<ActionListItemAsset />`\n *\n * Will be overriden in multiselect\n */\n leading?: React.ReactNode;\n /**\n * Item that goes on right-side of item.\n *\n * Valid elements - `<ActionListItemText />`, `<ActionListItemIcon />`\n */\n trailing?: React.ReactNode;\n /**\n * Item that goes immediately next to the title.\n *\n * Valid elements - `<ActionListItemBadge />`, `<ActionListItemBadgeGroup />`\n *\n */\n titleSuffix?: React.ReactElement;\n isDisabled?: boolean;\n intent?: Extract<FeedbackColors, 'negative'>;\n /**\n * Can be used in combination of `onClick` to highlight item as selected in Button Triggers.\n *\n * When trigger is SelectInput, Use `value` prop on SelectInput instead to make dropdown controlled.\n */\n isSelected?: boolean;\n /**\n * Internally passed from ActionList. No need to pass it explicitly\n *\n * @private\n */\n _index?: number;\n /**\n * Internally used to pass index for virtualized lists\n *\n * @private\n */\n _virtualizedIndex?: number;\n /**\n * Internally used to focus on virtualized list\n *\n * @private\n */\n _onVirtualizedFocus?: (_virtuazedIndex: number) => void;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst StyledActionListSectionTitle = styled(BaseBox)((props) => ({\n // @TODO: replace this styled-component with new layout box when we have padding shorthand\n padding: makeSize(props.theme.spacing[3]),\n}));\n\ntype ActionListSectionProps = {\n title: string;\n children: React.ReactNode[] | React.ReactNode;\n /**\n * Internally used to hide the divider on final item in React Native\n *\n * Should not be used by consumers (also won't work on web)\n *\n * @private\n */\n _hideDivider?: boolean;\n /**\n * Internally used to hide / show section in AutoComplete\n *\n * @private\n */\n _sectionChildValues?: string[];\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _ActionListSectionTitle = ({\n title,\n isInsideVirtualizedList = false,\n}: {\n title: string;\n isInsideVirtualizedList?: boolean;\n}): React.ReactElement => {\n return (\n <StyledActionListSectionTitle\n {...makeAccessible({\n hidden: !isInsideVirtualizedList,\n role: isInsideVirtualizedList ? 'heading' : undefined,\n })}\n >\n <Text color=\"surface.text.gray.muted\" size=\"small\" weight=\"semibold\">\n {title}\n </Text>\n </StyledActionListSectionTitle>\n );\n};\n\nconst ActionListSectionTitle = assignWithoutSideEffects(_ActionListSectionTitle, {\n componentId: componentIds.ActionListSectionTitle,\n});\nconst _ActionListSection = ({\n title,\n children,\n testID,\n _hideDivider,\n _sectionChildValues,\n ...rest\n}: ActionListSectionProps): React.ReactElement => {\n const { hasAutoCompleteInHeader, dropdownTriggerer, filteredValues } = useDropdown();\n const hasAutoComplete =\n hasAutoCompleteInHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const isSectionVisible = React.useMemo(() => {\n if (hasAutoComplete) {\n const visibleActionListItemInSection = _sectionChildValues?.find((actionItemValue) =>\n filteredValues.includes(actionItemValue),\n );\n\n return Boolean(visibleActionListItemInSection);\n }\n\n return true;\n }, [_sectionChildValues, hasAutoComplete, filteredValues]);\n\n const showDividerInRN = !(_hideDivider && isReactNative());\n const showDividerInAutoComplete = hasAutoComplete\n ? isSectionVisible && filteredValues.length > 1\n : true;\n\n return (\n <BaseBox\n {...makeAccessible({\n role: getActionListSectionRole(),\n label: title,\n })}\n {...metaAttribute({ name: MetaConstants.ActionListSection, testID })}\n {...makeAnalyticsAttribute(rest as Record<string, unknown>)}\n >\n {/* We're announcing title as group label so we can hide this */}\n {isSectionVisible ? <ActionListSectionTitle title={title} /> : null}\n\n <BaseBox\n {...makeAccessible({\n // On web, we just wrap it in another listbox to announce item count properly for particular group.\n // On React Native, we ignore it since `menu` + `group` role will take care of accessibility\n role: isReactNative() ? undefined : 'listbox',\n })}\n >\n {children}\n </BaseBox>\n {showDividerInAutoComplete && showDividerInRN ? (\n <Divider marginX=\"spacing.3\" marginY=\"spacing.1\" />\n ) : null}\n </BaseBox>\n );\n};\n\nconst ActionListSection = assignWithoutSideEffects(React.memo(_ActionListSection), {\n componentId: componentIds.ActionListSection,\n});\n\nconst _ActionListItemIcon = ({ icon }: { icon: IconComponent }): React.ReactElement => {\n const Icon = icon;\n const { color, isDisabled } = useBaseMenuItem();\n const iconState = isDisabled ? 'disabled' : 'muted';\n return (\n <Icon\n color={\n color === 'negative'\n ? 'feedback.icon.negative.intense'\n : `interactive.icon.gray.${iconState}`\n }\n size=\"medium\"\n />\n );\n};\n\nconst ActionListItemIcon = assignWithoutSideEffects(_ActionListItemIcon, {\n componentId: componentIds.ActionListItemIcon,\n});\n\nconst _ActionListItemBadgeGroup = ({\n children,\n}: {\n children: React.ReactElement[] | React.ReactElement;\n}): React.ReactElement => {\n return (\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n {children}\n </Box>\n );\n};\n\nconst ActionListItemBadgeGroup = assignWithoutSideEffects(_ActionListItemBadgeGroup, {\n componentId: componentIds.ActionListItemBadgeGroup,\n});\n\nconst _ActionListItemAvatar = (avatarProps: Omit<AvatarProps, 'size' | ''>): React.ReactElement => {\n return <Avatar size=\"xsmall\" {...avatarProps} />;\n};\n\nconst ActionListItemAvatar = assignWithoutSideEffects(_ActionListItemAvatar, {\n componentId: componentIds.ActionListItemAvatar,\n});\n\nconst _ActionListItemBadge = (props: BadgeProps): React.ReactElement => {\n return <Badge size=\"medium\" marginLeft=\"spacing.3\" {...props} />;\n};\n\nconst ActionListItemBadge = assignWithoutSideEffects(_ActionListItemBadge, {\n componentId: componentIds.ActionListItemBadge,\n});\n\nconst _ActionListItemText = ({\n children,\n}: {\n children: StringChildrenType;\n}): React.ReactElement => {\n const { isDisabled } = useBaseMenuItem();\n\n return (\n <Text variant=\"caption\" color={getNormalTextColor(isDisabled, { isMuted: true })}>\n {children}\n </Text>\n );\n};\n\nconst ActionListItemText = assignWithoutSideEffects(_ActionListItemText, {\n componentId: componentIds.ActionListItemText,\n});\n\nconst BaseMenuLeadingItem = ({\n isSelected,\n leading,\n selectionType,\n isDisabled,\n}: {\n isSelected?: boolean;\n leading?: React.ReactNode;\n selectionType: string | undefined;\n isDisabled?: boolean;\n}): React.ReactElement | null => {\n if (selectionType === 'multiple') {\n return (\n <BaseBox\n pointerEvents=\"none\"\n // Adding aria-hidden because the listbox item in multiselect in itself explains the behaviour so announcing checkbox is unneccesary and just a nice UI tweak for us\n {...makeAccessible({\n hidden: true,\n })}\n >\n <Checkbox isChecked={isSelected} tabIndex={-1} isDisabled={isDisabled}>\n {/*\n Checkbox requires children. Didn't want to make it optional because its helpful for consumers\n But for this case in particular, we just want to use Text separately so that we can control spacing and color and keep it consistent with non-multiselect dropdowns\n */}\n {null}\n </Checkbox>\n </BaseBox>\n );\n }\n return React.isValidElement(leading) ? leading : null;\n};\n\ntype ClickHandlerType = (e: React.MouseEvent<HTMLButtonElement>) => void;\n\nconst makeActionListItemClickable = (\n clickHandler: ClickHandlerType,\n): { onPress?: (e: React.TouchEvent<TouchableOpacity>) => void; onClick?: ClickHandlerType } => {\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: ignoring ReactNative press type for the peace of mind\n return { onPress: clickHandler };\n }\n\n return {\n onClick: clickHandler,\n };\n};\n\n/**\n * ### ActionListItem\n *\n * Creates option inside `ActionList`.\n *\n * #### Usage\n *\n * ```jsx\n * <ActionList>\n * <ActionListItem\n * title=\"Home\"\n * value=\"home\"\n * leading={<ActionListItemIcon icon={HomeIcon} />}\n * trailing={<ActionListItemText>⌘ + S</ActionListItemText>}\n * />\n * </ActionList>\n * ```\n */\nconst _ActionListItem = (props: ActionListItemProps): React.ReactElement => {\n const {\n activeIndex,\n dropdownBaseId,\n onOptionClick,\n selectedIndices,\n setShouldIgnoreBlurAnimation,\n selectionType,\n dropdownTriggerer,\n isKeydownPressed,\n filteredValues,\n hasAutoCompleteInHeader,\n hasUnControlledFilterChipSelectInput,\n } = useDropdown();\n\n React.useEffect(() => {\n if (activeIndex === props._index && props._virtualizedIndex !== undefined) {\n props._onVirtualizedFocus?.(props._virtualizedIndex as number);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeIndex]);\n\n const hasAutoComplete =\n hasAutoCompleteInHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const renderOnWebAs = props.href ? 'a' : 'button';\n /**\n * In SelectInput, returns the isSelected according to selected indexes in the state\n *\n * In Other Triggers (Menu Usecase), returns `props.isSelected` since passing the\n * isSelected prop explicitly is the only way to select item in menu\n */\n const getIsSelected = (): boolean | undefined => {\n if (\n dropdownTriggerer === dropdownComponentIds.triggers.SelectInput ||\n hasAutoComplete ||\n hasUnControlledFilterChipSelectInput\n ) {\n if (typeof props._index === 'number') {\n return selectedIndices.includes(props._index);\n }\n return undefined;\n }\n\n return props.isSelected;\n };\n\n const isSelected = getIsSelected();\n\n React.useEffect(() => {\n validateActionListItemProps({\n leading: props.leading,\n trailing: props.trailing,\n titleSuffix: props.titleSuffix,\n });\n }, [props.leading, props.trailing, props.titleSuffix]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (\n dropdownTriggerer === dropdownComponentIds.triggers.SelectInput &&\n props.intent === 'negative'\n ) {\n throwBladeError({\n message:\n 'negative intent ActionListItem cannot be used inside Dropdown with SelectInput trigger',\n moduleName: 'ActionListItem',\n });\n }\n }\n }, [props.intent, dropdownTriggerer]);\n\n const isVisible = hasAutoComplete && filteredValues ? filteredValues.includes(props.value) : true;\n\n return (\n <BaseMenuItem\n isVisible={isVisible}\n as={!isReactNative() ? renderOnWebAs : undefined}\n id={`${dropdownBaseId}-${props._index}`}\n tabIndex={-1}\n title={props.title}\n description={props.description}\n leading={\n <BaseMenuLeadingItem\n key={`${dropdownBaseId}-${props._index}-leading-${isSelected}`}\n isSelected={isSelected}\n leading={props.leading}\n selectionType={selectionType}\n isDisabled={props.isDisabled}\n />\n }\n trailing={props.trailing}\n titleSuffix={props.titleSuffix}\n href={props.href}\n target={props.target}\n className={activeIndex === props._index ? 'active-focus' : ''}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n role={getActionListItemRole(dropdownTriggerer, props.href)}\n {...makeActionListItemClickable((e: React.MouseEvent<HTMLButtonElement>): void => {\n if (typeof props._index === 'number') {\n onOptionClick(e, props._index);\n props.onClick?.({ name: props.value, value: isSelected, event: castWebType(e) });\n }\n })}\n {...makeAnalyticsAttribute({ ...props })}\n {...metaAttribute({ name: MetaConstants.ActionListItem, testID: props.testID })}\n onMouseDown={() => {\n // We want to keep focus on Dropdown's trigger while option is being clicked\n // So We set this flag that ignores the blur animation to avoid the flicker between focus out + focus in\n setShouldIgnoreBlurAnimation(true);\n }}\n onMouseUp={() => {\n // (Contd from above comment...) We set this flag back to false since blur of SelectInput is done calling by this time\n setShouldIgnoreBlurAnimation(false);\n }}\n data-value={props.value}\n data-index={props._index}\n selectionType={selectionType}\n color={props.intent}\n isKeydownPressed={isKeydownPressed}\n />\n );\n};\n\nconst ActionListItem = assignWithoutSideEffects(React.memo(_ActionListItem), {\n componentId: componentIds.ActionListItem,\n displayName: componentIds.ActionListItem,\n});\n\nexport type { ActionListItemProps, ActionListSectionProps };\nexport {\n ActionListItem,\n ActionListItemIcon,\n ActionListItemText,\n ActionListItemAvatar,\n ActionListItemBadge,\n ActionListItemBadgeGroup,\n ActionListSection,\n ActionListSectionTitle,\n};\n"],"names":["StyledActionListSectionTitle","styled","BaseBox","withConfig","displayName","componentId","props","padding","makeSize","theme","spacing","_ActionListSectionTitle","_ref","title","_ref$isInsideVirtuali","isInsideVirtualizedList","_jsx","_objectSpread","makeAccessible","hidden","role","undefined","children","Text","color","size","weight","ActionListSectionTitle","assignWithoutSideEffects","componentIds","_ActionListSection","_ref2","testID","_hideDivider","_sectionChildValues","rest","_objectWithoutProperties","_excluded","_useDropdown","useDropdown","hasAutoCompleteInHeader","dropdownTriggerer","filteredValues","hasAutoComplete","dropdownComponentIds","triggers","AutoComplete","isSectionVisible","React","useMemo","visibleActionListItemInSection","find","actionItemValue","includes","Boolean","showDividerInRN","isReactNative","showDividerInAutoComplete","length","_jsxs","getActionListSectionRole","label","metaAttribute","name","MetaConstants","ActionListSection","makeAnalyticsAttribute","Divider","marginX","marginY","memo","_ActionListItemIcon","_ref3","icon","Icon","_useBaseMenuItem","useBaseMenuItem","isDisabled","iconState","concat","ActionListItemIcon","_ActionListItemBadgeGroup","_ref4","Box","display","alignItems","flexDirection","ActionListItemBadgeGroup","_ActionListItemAvatar","avatarProps","Avatar","ActionListItemAvatar","_ActionListItemBadge","Badge","marginLeft","ActionListItemBadge","_ActionListItemText","_ref5","_useBaseMenuItem2","variant","getNormalTextColor","isMuted","ActionListItemText","BaseMenuLeadingItem","_ref6","isSelected","leading","selectionType","pointerEvents","Checkbox","isChecked","tabIndex","isValidElement","makeActionListItemClickable","clickHandler","onPress","onClick","_ActionListItem","_useDropdown2","activeIndex","dropdownBaseId","onOptionClick","selectedIndices","setShouldIgnoreBlurAnimation","isKeydownPressed","hasUnControlledFilterChipSelectInput","useEffect","_index","_virtualizedIndex","_props$_onVirtualized","_onVirtualizedFocus","call","renderOnWebAs","href","getIsSelected","SelectInput","validateActionListItemProps","trailing","titleSuffix","intent","throwBladeError","message","moduleName","isVisible","value","BaseMenuItem","as","id","description","target","className","getActionListItemRole","e","_props$onClick","event","castWebType","ActionListItem","onMouseDown","onMouseUp"],"mappings":"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"}
@@ -52,6 +52,11 @@ var centerBoxProps = {
52
52
  height: '20px'
53
53
  })
54
54
  };
55
+ var absolutePositionedButton = {
56
+ position: 'absolute',
57
+ top: 'spacing.0',
58
+ right: 'spacing.0'
59
+ };
55
60
  var sizeTokensMapping = {
56
61
  large: {
57
62
  title: 'large'
@@ -184,6 +189,7 @@ var _BaseHeader = function _BaseHeader(_ref2) {
184
189
  size: size$1
185
190
  });
186
191
  var shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;
192
+ var hasOnlyChildren = children && !(title || subtitle || titleSuffix || leading);
187
193
  var webOnlyEventHandlers = isReactNative() ? {} : {
188
194
  onClickCapture: onClickCapture,
189
195
  onKeyDown: onKeyDown,
@@ -212,6 +218,7 @@ var _BaseHeader = function _BaseHeader(_ref2) {
212
218
  touchAction: "none"
213
219
  }, webOnlyEventHandlers), {}, {
214
220
  children: [/*#__PURE__*/jsxs(BaseBox, {
221
+ position: "relative",
215
222
  display: "flex",
216
223
  flexDirection: "row",
217
224
  userSelect: "none",
@@ -229,7 +236,7 @@ var _BaseHeader = function _BaseHeader(_ref2) {
229
236
  accessibilityLabel: "Back"
230
237
  })
231
238
  }))
232
- }) : null, /*#__PURE__*/jsxs(BaseBox, {
239
+ }) : null, hasOnlyChildren ? null : /*#__PURE__*/jsxs(BaseBox, {
233
240
  paddingRight: "spacing.5",
234
241
  marginRight: "auto",
235
242
  flex: "auto",
@@ -277,7 +284,7 @@ var _BaseHeader = function _BaseHeader(_ref2) {
277
284
  children: /*#__PURE__*/jsx(Box, _objectSpread(_objectSpread({}, centerBoxProps[size$1]), {}, {
278
285
  children: validatedTrailingComponent
279
286
  }))
280
- }) : null, showCloseButton ? /*#__PURE__*/jsx(Box, _objectSpread(_objectSpread({}, centerBoxProps[size$1]), {}, {
287
+ }) : null, showCloseButton ? /*#__PURE__*/jsx(Box, _objectSpread(_objectSpread({}, hasOnlyChildren ? absolutePositionedButton : centerBoxProps[size$1]), {}, {
281
288
  children: /*#__PURE__*/jsx(IconButton, {
282
289
  ref: closeButtonRef,
283
290
  size: "large",
@@ -1 +1 @@
1
- {"version":3,"file":"BaseHeader.js","sources":["../../../../../../src/components/BaseHeaderFooter/BaseHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ChevronLeftIcon, CloseIcon } from '~components/Icons';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { isReactNative, makeSize } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { logger, throwBladeError } from '~utils/logger';\nimport { size as sizeToken } from '~tokens/global';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseHeaderProps = {\n title?: string;\n subtitle?: string;\n /**\n * Leading part of the header placed at the left most side of the header\n */\n leading?: React.ReactNode;\n /**\n * Trailing part of the header placed at the right most side of the header\n */\n trailing?: React.ReactNode;\n /**\n * Placed adjacent to the title text\n */\n titleSuffix?: React.ReactNode;\n /**\n * @default true\n */\n showDivider?: boolean;\n /**\n * @default false\n */\n showBackButton?: boolean;\n\n /**\n * Slot for rendering any trailing interaction element into BaseHeader.\n *\n * E.g. Used in accordion to render CollapsibleChevronIcon\n */\n trailingInteractionElement?: React.ReactNode;\n\n /**\n * Decides size of the Header\n */\n size?: 'large' | 'medium';\n /**\n * @default true\n */\n showCloseButton?: boolean;\n\n /**\n * Disabled state of BaseHeader\n *\n * @default false\n */\n isDisabled?: boolean;\n\n paddingX?: BoxProps['paddingX'];\n marginY?: BoxProps['marginY'];\n marginTop?: BoxProps['marginTop'];\n marginBottom?: BoxProps['marginBottom'];\n onCloseButtonClick?: () => void;\n onBackButtonClick?: () => void;\n closeButtonRef?: React.MutableRefObject<any>;\n backButtonRef?: React.MutableRefObject<any>;\n metaComponentName?: string;\n /**\n * inner child of BottomSheetHeader. Meant to be used for AutoComplete only\n */\n children?: React.ReactElement | React.ReactElement[];\n} & Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n> &\n TestID &\n DataAnalyticsAttribute;\n\ntype TrailingComponents = 'Button' | 'Badge' | 'Link' | 'Text' | 'Amount';\n\nconst commonCenterBoxProps: BoxProps = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst centerBoxProps: { large: BoxProps; medium: BoxProps } = {\n large: {\n ...commonCenterBoxProps,\n // We want to align title, icon, titleSuffix, trailing, closeButton to baseline\n // But we also want to keep them center aligned to each other\n // So we add a virtual Box around these slots with 28px and center align them to that box\n // We have done similar thing in figma as well (which is where this 28px comes from)\n height: '28px',\n },\n medium: {\n ...commonCenterBoxProps,\n height: '20px',\n },\n};\n\nconst sizeTokensMapping = {\n large: {\n title: 'large',\n },\n medium: {\n title: 'medium',\n },\n} as const;\n\n// prop restriction map for corresponding sub components\nconst propRestrictionMap = {\n large: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n medium: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n Badge: {\n size: 'small',\n },\n Link: {\n size: 'small',\n },\n Text: {\n size: 'small',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'small',\n },\n },\n} as const;\n\nconst useTrailingRestriction = ({\n trailing,\n size,\n}: {\n size: NonNullable<BaseHeaderProps['size']>;\n trailing: BaseHeaderProps['trailing'];\n}): React.ReactNode => {\n const [\n validatedTrailingComponent,\n setValidatedTrailingComponent,\n ] = React.useState<React.ReactElement | null>(null);\n\n // validate and restrict sub component props in trailing prop\n React.useEffect(() => {\n if (React.isValidElement(trailing)) {\n const trailingComponentType = getComponentId(trailing) as TrailingComponents;\n const restrictedProps = propRestrictionMap[size][trailingComponentType];\n const allowedComponents = Object.keys(propRestrictionMap[size]);\n if (__DEV__) {\n if (!restrictedProps) {\n throwBladeError({\n message: `Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as trailing`,\n moduleName: 'Header',\n });\n }\n }\n\n const restrictedPropKeys = Object.keys(propRestrictionMap[size][trailingComponentType]);\n for (const prop of restrictedPropKeys) {\n if (trailing?.props?.hasOwnProperty(prop)) {\n logger({\n message: `Do not pass \"${prop}\" to \"${trailingComponentType}\" while inside Header trailing, because we override it.`,\n moduleName: 'Header',\n type: 'warn',\n });\n }\n }\n setValidatedTrailingComponent(\n React.cloneElement(trailing as React.ReactElement, restrictedProps),\n );\n }\n }, [trailing, size]);\n\n return validatedTrailingComponent;\n};\n\nconst _BaseHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n showDivider = true,\n showBackButton = false,\n showCloseButton = true,\n onBackButtonClick,\n onCloseButtonClick,\n closeButtonRef,\n backButtonRef,\n testID,\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n metaComponentName,\n paddingX,\n marginY,\n marginBottom,\n marginTop,\n size = 'large',\n isDisabled,\n children,\n trailingInteractionElement,\n ...rest\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n\n const webOnlyEventHandlers: Record<string, any> = isReactNative()\n ? {}\n : {\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n };\n\n return (\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox\n marginY={marginY ?? { base: 'spacing.5', m: 'spacing.6' }}\n paddingX={paddingX ?? { base: 'spacing.5', m: 'spacing.6' }}\n marginTop={marginTop}\n marginBottom={marginBottom}\n touchAction=\"none\"\n {...webOnlyEventHandlers}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" userSelect=\"none\">\n {showBackButton ? (\n <BaseBox overflow=\"visible\" marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={backButtonRef}\n size=\"large\"\n icon={ChevronLeftIcon}\n onClick={() => onBackButtonClick?.()}\n accessibilityLabel=\"Back\"\n />\n </Box>\n </BaseBox>\n ) : null}\n <BaseBox\n paddingRight=\"spacing.5\"\n marginRight=\"auto\"\n flex=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"flex-start\"\n >\n {leading ? (\n <BaseBox marginRight=\"spacing.3\" {...centerBoxProps[size]}>\n {leading}\n </BaseBox>\n ) : null}\n <BaseBox flex=\"auto\">\n <BaseBox\n // Explicitly setting maxWidth in React Native because text is not being wrapped properly when multiple fix width components are rendered in header\n // In web, flex containers seem to work a expected\n // @todo: resolve this if we figure out some better solution later\n maxWidth={isReactNative() && shouldWrapTitle ? '100px' : undefined}\n flexShrink={0}\n display=\"flex\"\n flexDirection=\"row\"\n >\n {title ? (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'}\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n ) : null}\n {titleSuffix && (\n <BaseBox marginLeft=\"spacing.3\">\n <Box {...centerBoxProps[size]}>{titleSuffix}</Box>\n </BaseBox>\n )}\n </BaseBox>\n {subtitle ? (\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted'}\n >\n {subtitle}\n </Text>\n ) : null}\n </BaseBox>\n </BaseBox>\n {validatedTrailingComponent ? (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n ) : null}\n {showCloseButton ? (\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={closeButtonRef}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={() => onCloseButtonClick?.()}\n />\n </Box>\n ) : null}\n {trailingInteractionElement && !children ? (\n <Box {...centerBoxProps[size]}>{trailingInteractionElement}</Box>\n ) : null}\n </BaseBox>\n <BaseBox\n display=\"flex\"\n width=\"100%\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <Box width=\"100%\">{children}</Box>\n {trailingInteractionElement && children ? (\n <Box alignSelf=\"flex-start\" {...centerBoxProps[size]}>\n {trailingInteractionElement}\n </Box>\n ) : null}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider /> : null}\n </BaseBox>\n );\n};\n\nconst BaseHeader = assignWithoutSideEffects(_BaseHeader, {\n componentId: 'BaseHeader',\n});\n\nexport type { BaseHeaderProps };\nexport { BaseHeader };\n"],"names":["commonCenterBoxProps","display","alignItems","justifyContent","centerBoxProps","large","_objectSpread","height","medium","sizeTokensMapping","title","propRestrictionMap","Button","size","variant","Badge","Link","Text","Amount","type","useTrailingRestriction","_ref","trailing","_React$useState","React","useState","_React$useState2","_slicedToArray","validatedTrailingComponent","setValidatedTrailingComponent","useEffect","isValidElement","trailingComponentType","getComponentId","restrictedProps","allowedComponents","Object","keys","throwBladeError","message","concat","join","moduleName","restrictedPropKeys","_i","_restrictedPropKeys","length","_trailing$props","prop","props","hasOwnProperty","logger","cloneElement","_BaseHeader","_ref2","subtitle","leading","titleSuffix","_ref2$showDivider","showDivider","_ref2$showBackButton","showBackButton","_ref2$showCloseButton","showCloseButton","onBackButtonClick","onCloseButtonClick","closeButtonRef","backButtonRef","testID","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","metaComponentName","paddingX","marginY","marginBottom","marginTop","_ref2$size","isDisabled","children","trailingInteractionElement","rest","_objectWithoutProperties","_excluded","shouldWrapTitle","webOnlyEventHandlers","isReactNative","_jsxs","BaseBox","metaAttribute","name","makeAnalyticsAttribute","base","m","touchAction","flexDirection","userSelect","_jsx","overflow","marginRight","Box","IconButton","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","undefined","flexShrink","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","alignSelf","Divider","BaseHeader","assignWithoutSideEffects","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"BaseHeader.js","sources":["../../../../../../src/components/BaseHeaderFooter/BaseHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ChevronLeftIcon, CloseIcon } from '~components/Icons';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { isReactNative, makeSize } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { logger, throwBladeError } from '~utils/logger';\nimport { size as sizeToken } from '~tokens/global';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseHeaderProps = {\n title?: string;\n subtitle?: string;\n /**\n * Leading part of the header placed at the left most side of the header\n */\n leading?: React.ReactNode;\n /**\n * Trailing part of the header placed at the right most side of the header\n */\n trailing?: React.ReactNode;\n /**\n * Placed adjacent to the title text\n */\n titleSuffix?: React.ReactNode;\n /**\n * @default true\n */\n showDivider?: boolean;\n /**\n * @default false\n */\n showBackButton?: boolean;\n\n /**\n * Slot for rendering any trailing interaction element into BaseHeader.\n *\n * E.g. Used in accordion to render CollapsibleChevronIcon\n */\n trailingInteractionElement?: React.ReactNode;\n\n /**\n * Decides size of the Header\n */\n size?: 'large' | 'medium';\n /**\n * @default true\n */\n showCloseButton?: boolean;\n\n /**\n * Disabled state of BaseHeader\n *\n * @default false\n */\n isDisabled?: boolean;\n\n paddingX?: BoxProps['paddingX'];\n marginY?: BoxProps['marginY'];\n marginTop?: BoxProps['marginTop'];\n marginBottom?: BoxProps['marginBottom'];\n onCloseButtonClick?: () => void;\n onBackButtonClick?: () => void;\n closeButtonRef?: React.MutableRefObject<any>;\n backButtonRef?: React.MutableRefObject<any>;\n metaComponentName?: string;\n /**\n * inner child of BottomSheetHeader. Meant to be used for AutoComplete only\n */\n children?: React.ReactElement | React.ReactElement[];\n} & Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n> &\n TestID &\n DataAnalyticsAttribute;\n\ntype TrailingComponents = 'Button' | 'Badge' | 'Link' | 'Text' | 'Amount';\n\nconst commonCenterBoxProps: BoxProps = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst centerBoxProps: { large: BoxProps; medium: BoxProps } = {\n large: {\n ...commonCenterBoxProps,\n // We want to align title, icon, titleSuffix, trailing, closeButton to baseline\n // But we also want to keep them center aligned to each other\n // So we add a virtual Box around these slots with 28px and center align them to that box\n // We have done similar thing in figma as well (which is where this 28px comes from)\n height: '28px',\n },\n medium: {\n ...commonCenterBoxProps,\n height: '20px',\n },\n};\n\nconst absolutePositionedButton = {\n position: 'absolute',\n top: 'spacing.0',\n right: 'spacing.0',\n} as const;\n\nconst sizeTokensMapping = {\n large: {\n title: 'large',\n },\n medium: {\n title: 'medium',\n },\n} as const;\n\n// prop restriction map for corresponding sub components\nconst propRestrictionMap = {\n large: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n medium: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n Badge: {\n size: 'small',\n },\n Link: {\n size: 'small',\n },\n Text: {\n size: 'small',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'small',\n },\n },\n} as const;\n\nconst useTrailingRestriction = ({\n trailing,\n size,\n}: {\n size: NonNullable<BaseHeaderProps['size']>;\n trailing: BaseHeaderProps['trailing'];\n}): React.ReactNode => {\n const [\n validatedTrailingComponent,\n setValidatedTrailingComponent,\n ] = React.useState<React.ReactElement | null>(null);\n\n // validate and restrict sub component props in trailing prop\n React.useEffect(() => {\n if (React.isValidElement(trailing)) {\n const trailingComponentType = getComponentId(trailing) as TrailingComponents;\n const restrictedProps = propRestrictionMap[size][trailingComponentType];\n const allowedComponents = Object.keys(propRestrictionMap[size]);\n if (__DEV__) {\n if (!restrictedProps) {\n throwBladeError({\n message: `Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as trailing`,\n moduleName: 'Header',\n });\n }\n }\n\n const restrictedPropKeys = Object.keys(propRestrictionMap[size][trailingComponentType]);\n for (const prop of restrictedPropKeys) {\n if (trailing?.props?.hasOwnProperty(prop)) {\n logger({\n message: `Do not pass \"${prop}\" to \"${trailingComponentType}\" while inside Header trailing, because we override it.`,\n moduleName: 'Header',\n type: 'warn',\n });\n }\n }\n setValidatedTrailingComponent(\n React.cloneElement(trailing as React.ReactElement, restrictedProps),\n );\n }\n }, [trailing, size]);\n\n return validatedTrailingComponent;\n};\n\nconst _BaseHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n showDivider = true,\n showBackButton = false,\n showCloseButton = true,\n onBackButtonClick,\n onCloseButtonClick,\n closeButtonRef,\n backButtonRef,\n testID,\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n metaComponentName,\n paddingX,\n marginY,\n marginBottom,\n marginTop,\n size = 'large',\n isDisabled,\n children,\n trailingInteractionElement,\n ...rest\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n 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 return (\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox\n marginY={marginY ?? { base: 'spacing.5', m: 'spacing.6' }}\n paddingX={paddingX ?? { base: 'spacing.5', m: 'spacing.6' }}\n marginTop={marginTop}\n marginBottom={marginBottom}\n touchAction=\"none\"\n {...webOnlyEventHandlers}\n >\n <BaseBox 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=\"flex-start\"\n >\n {leading ? (\n <BaseBox marginRight=\"spacing.3\" {...centerBoxProps[size]}>\n {leading}\n </BaseBox>\n ) : null}\n <BaseBox flex=\"auto\">\n <BaseBox\n // Explicitly setting maxWidth in React Native because text is not being wrapped properly when multiple fix width components are rendered in header\n // In web, flex containers seem to work a expected\n // @todo: resolve this if we figure out some better solution later\n maxWidth={isReactNative() && shouldWrapTitle ? '100px' : undefined}\n flexShrink={0}\n display=\"flex\"\n flexDirection=\"row\"\n >\n {title ? (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'}\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n ) : null}\n {titleSuffix && (\n <BaseBox marginLeft=\"spacing.3\">\n <Box {...centerBoxProps[size]}>{titleSuffix}</Box>\n </BaseBox>\n )}\n </BaseBox>\n {subtitle ? (\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted'}\n >\n {subtitle}\n </Text>\n ) : null}\n </BaseBox>\n </BaseBox>\n )}\n {validatedTrailingComponent ? (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n ) : null}\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 {trailingInteractionElement && !children ? (\n <Box {...centerBoxProps[size]}>{trailingInteractionElement}</Box>\n ) : null}\n </BaseBox>\n <BaseBox\n display=\"flex\"\n width=\"100%\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <Box width=\"100%\">{children}</Box>\n {trailingInteractionElement && children ? (\n <Box alignSelf=\"flex-start\" {...centerBoxProps[size]}>\n {trailingInteractionElement}\n </Box>\n ) : null}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider /> : null}\n </BaseBox>\n );\n};\n\nconst BaseHeader = assignWithoutSideEffects(_BaseHeader, {\n componentId: 'BaseHeader',\n});\n\nexport type { BaseHeaderProps };\nexport { BaseHeader };\n"],"names":["commonCenterBoxProps","display","alignItems","justifyContent","centerBoxProps","large","_objectSpread","height","medium","absolutePositionedButton","position","top","right","sizeTokensMapping","title","propRestrictionMap","Button","size","variant","Badge","Link","Text","Amount","type","useTrailingRestriction","_ref","trailing","_React$useState","React","useState","_React$useState2","_slicedToArray","validatedTrailingComponent","setValidatedTrailingComponent","useEffect","isValidElement","trailingComponentType","getComponentId","restrictedProps","allowedComponents","Object","keys","throwBladeError","message","concat","join","moduleName","restrictedPropKeys","_i","_restrictedPropKeys","length","_trailing$props","prop","props","hasOwnProperty","logger","cloneElement","_BaseHeader","_ref2","subtitle","leading","titleSuffix","_ref2$showDivider","showDivider","_ref2$showBackButton","showBackButton","_ref2$showCloseButton","showCloseButton","onBackButtonClick","onCloseButtonClick","closeButtonRef","backButtonRef","testID","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","metaComponentName","paddingX","marginY","marginBottom","marginTop","_ref2$size","isDisabled","children","trailingInteractionElement","rest","_objectWithoutProperties","_excluded","shouldWrapTitle","hasOnlyChildren","webOnlyEventHandlers","isReactNative","_jsxs","BaseBox","metaAttribute","name","makeAnalyticsAttribute","base","m","touchAction","flexDirection","userSelect","_jsx","overflow","marginRight","Box","IconButton","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","undefined","flexShrink","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","alignSelf","Divider","BaseHeader","assignWithoutSideEffects","componentId"],"mappings":"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"}
@@ -147,7 +147,7 @@ var _BottomSheet = function _BottomSheet(_ref2) {
147
147
  var setPositionY = React__default.useCallback(function (value) {
148
148
  var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
149
149
  // In AutoComplete, we want BottomSheet to be docked to top snappoint so we remove the limits
150
- var shouldLimitPositionY = limit && !(bottomSheetAndDropdownGlue !== null && bottomSheetAndDropdownGlue !== void 0 && bottomSheetAndDropdownGlue.hasAutoCompleteInBottomSheetHeader);
150
+ var shouldLimitPositionY = limit && !(bottomSheetAndDropdownGlue !== null && bottomSheetAndDropdownGlue !== void 0 && bottomSheetAndDropdownGlue.hasAutoCompleteInHeader);
151
151
  var maxValue = computeMaxContent({
152
152
  contentHeight: contentHeight,
153
153
  footerHeight: footerHeight,
@@ -155,7 +155,7 @@ var _BottomSheet = function _BottomSheet(_ref2) {
155
155
  maxHeight: value
156
156
  });
157
157
  _setPositionY(shouldLimitPositionY ? maxValue : value);
158
- }, [bottomSheetAndDropdownGlue === null || bottomSheetAndDropdownGlue === void 0 ? void 0 : bottomSheetAndDropdownGlue.hasAutoCompleteInBottomSheetHeader, contentHeight, footerHeight, grabHandleHeight, headerHeight]);
158
+ }, [bottomSheetAndDropdownGlue === null || bottomSheetAndDropdownGlue === void 0 ? void 0 : bottomSheetAndDropdownGlue.hasAutoCompleteInHeader, contentHeight, footerHeight, grabHandleHeight, headerHeight]);
159
159
 
160
160
  // locks the body scroll to prevent accidental scrolling of content when we drag the sheet
161
161
  // We are ready when we calculated the height of the content
@@ -184,7 +184,7 @@ var _BottomSheet = function _BottomSheet(_ref2) {
184
184
 
185
185
  // if bottomSheet height is >35% & <50% then set initial snapPoint to 35%
186
186
  useIsomorphicLayoutEffect(function () {
187
- if (bottomSheetAndDropdownGlue !== null && bottomSheetAndDropdownGlue !== void 0 && bottomSheetAndDropdownGlue.hasAutoCompleteInBottomSheetHeader) {
187
+ if (bottomSheetAndDropdownGlue !== null && bottomSheetAndDropdownGlue !== void 0 && bottomSheetAndDropdownGlue.hasAutoCompleteInHeader) {
188
188
  initialSnapPoint.current = AUTOCOMPLETE_DEFAULT_SNAPPOINT;
189
189
  } else {
190
190
  var middleSnapPoint = snapPoints[1] * dimensions.height;
@@ -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 =\n limit && !bottomSheetAndDropdownGlue?.hasAutoCompleteInBottomSheetHeader;\n\n const maxValue = computeMaxContent({\n contentHeight,\n footerHeight,\n headerHeight: headerHeight + grabHandleHeight,\n maxHeight: value,\n });\n _setPositionY(shouldLimitPositionY ? maxValue : value);\n },\n [\n bottomSheetAndDropdownGlue?.hasAutoCompleteInBottomSheetHeader,\n contentHeight,\n footerHeight,\n grabHandleHeight,\n headerHeight,\n ],\n );\n\n // locks the body scroll to prevent accidental scrolling of content when we drag the sheet\n // We are ready when we calculated the height of the content\n const isReady = contentHeight > 0;\n // only lock the body when we atleast have 1 bottomsheet open\n const shouldLock = isReady && stack.length > 0;\n const scrollLockRef = useScrollLock({\n enabled: shouldLock,\n targetRef: scrollRef,\n reserveScrollBarGap: true,\n });\n\n // clear all body locks to avoid memory leaks & accidental body locking\n React.useEffect(() => {\n const hasNoBottomSheets = stack.length < 1;\n if (hasNoBottomSheets) {\n clearAllBodyScrollLocks();\n }\n }, [stack]);\n\n // take the grabHandle's height into headerHeight too\n useIsomorphicLayoutEffect(() => {\n if (!grabHandleRef.current) return;\n setGrabHandleHeight(grabHandleRef.current.getBoundingClientRect().height);\n }, [grabHandleRef.current, _isOpen]);\n\n // if bottomSheet height is >35% & <50% then set initial snapPoint to 35%\n useIsomorphicLayoutEffect(() => {\n if (bottomSheetAndDropdownGlue?.hasAutoCompleteInBottomSheetHeader) {\n initialSnapPoint.current = AUTOCOMPLETE_DEFAULT_SNAPPOINT;\n } else {\n const middleSnapPoint = snapPoints[1] * dimensions.height;\n const lowerSnapPoint = snapPoints[0] * dimensions.height;\n if (totalHeight > lowerSnapPoint && totalHeight < middleSnapPoint) {\n initialSnapPoint.current = snapPoints[0];\n }\n }\n }, [dimensions.height, snapPoints, totalHeight]);\n\n const returnFocus = React.useCallback(() => {\n if (!originalFocusElement.current) return;\n originalFocusElement.current.focus();\n // After returning focus we will clear the original focus\n // Because if sheet can be opened up via multiple triggers\n // We want to ensure the focus returns back to the most recent triggerer\n originalFocusElement.current = null;\n }, [originalFocusElement]);\n\n const focusOnInitialRef = React.useCallback(() => {\n if (!initialFocusRef) {\n // focus on close button\n defaultInitialFocusRef.current?.focus();\n } else {\n // focus on the initialRef passed by the user\n initialFocusRef.current?.focus();\n }\n }, [initialFocusRef]);\n\n // focus on the initial ref when the sheet is opened\n React.useLayoutEffect(() => {\n if (_isOpen) {\n focusOnInitialRef();\n }\n }, [_isOpen, focusOnInitialRef]);\n\n const handleOnOpen = React.useCallback(() => {\n setPositionY(dimensions.height * initialSnapPoint.current);\n scrollLockRef.current.activate();\n // initialize the original focused element\n // On first render it will be the activeElement, eg: the button trigger or select input\n // On Subsequent open operations it won't further update the original focus\n originalFocusElement.current =\n originalFocusElement.current ?? (document.activeElement as HTMLElement);\n }, [dimensions.height, scrollLockRef, setPositionY]);\n\n const handleOnClose = React.useCallback(() => {\n setPositionY(0);\n }, [setPositionY]);\n\n const close = React.useCallback(() => {\n onDismiss?.();\n bottomSheetAndDropdownGlue?.onBottomSheetDismiss();\n returnFocus();\n }, [bottomSheetAndDropdownGlue, onDismiss, returnFocus]);\n\n // sync controlled state to our actions\n React.useEffect(() => {\n if (_isOpen) {\n // open on the next frame, otherwise the animations will not run on first render\n window.setTimeout(() => {\n handleOnOpen();\n });\n } else {\n handleOnClose();\n }\n }, [_isOpen, handleOnClose, handleOnOpen]);\n\n // let the Dropdown component know that it's rendering a bottomsheet\n React.useEffect(() => {\n if (!bottomSheetAndDropdownGlue) return;\n bottomSheetAndDropdownGlue.setDropdownHasBottomSheet(true);\n }, [bottomSheetAndDropdownGlue]);\n\n const bind = useDrag(\n ({\n active,\n last,\n cancel,\n tap,\n movement: [_movementX, movementY],\n velocity: [_velocityX, velocityY],\n lastOffset: [_, lastOffsetY],\n down,\n dragging,\n args: [{ isContentDragging = false } = {}] = [],\n }) => {\n setIsDragging(Boolean(dragging));\n // lastOffsetY is the previous position user stopped dragging the sheet\n // movementY is the drag amount from the bottom of the screen, so as you drag up the movementY goes into negatives\n // and rawY is the calculated offset from the last position of the bottomsheet to current drag amount.\n const rawY = lastOffsetY - movementY;\n\n const lowerSnapPoint = dimensions.height * snapPoints[0];\n const upperSnapPoint = dimensions.height * snapPoints[snapPoints.length - 1];\n\n // predictedY is used to create velocity driven swipe\n // the faster you swipe the more distance you cover\n // this enables users to reach upper & lower snappoint with a single swipe\n const predictedDistance = movementY * (velocityY / 2);\n const predictedY = Math.max(\n lowerSnapPoint,\n Math.min(upperSnapPoint, rawY - predictedDistance * 2),\n );\n\n let newY = rawY;\n\n if (down) {\n // Ensure that users aren't able to drag the sheet\n // more than the upperSnapPoint or maximum height of the sheet\n // this is basically a clamp() function but creates a nice rubberband effect\n const dampening = 0.55;\n if (totalHeight < upperSnapPoint) {\n newY = rubberbandIfOutOfBounds(rawY, 0, totalHeight, dampening);\n } else {\n newY = rubberbandIfOutOfBounds(rawY, 0, upperSnapPoint, dampening);\n }\n } else {\n newY = predictedY;\n }\n\n const isPosAtUpperSnapPoint = newY >= upperSnapPoint;\n\n if (isContentDragging) {\n if (isPosAtUpperSnapPoint) {\n newY = upperSnapPoint;\n }\n\n // keep the newY at upper snap point\n // until the scrollable content is not at top\n // and previously saved Y position is greater than or equal to upper snap point\n // Note: how using newY won't work here since we need the previous value of the newY\n // since we always keep updating the newY,\n // this is cruicial in making the scroll feel natural\n const isContentScrolledAtTop = scrollRef.current && scrollRef.current.scrollTop <= 0;\n if (lastOffsetY === upperSnapPoint && !isContentScrolledAtTop) {\n newY = upperSnapPoint;\n }\n preventScrollingRef.current = newY < upperSnapPoint;\n }\n\n if (last) {\n // calculate the nearest snapPoint\n const [nearest, lower] = computeSnapPointBounds(\n newY,\n snapPoints.map((point) => dimensions.height * point) as SnapPoints,\n );\n\n // This ensure that the lower snapPoint will always have atleast some buffer\n // When the bottomsheet total height is less than the lower snapPoint\n // Video walkthrough: https://www.loom.com/share/a9a8db7688d64194b13df8b3e25859ae\n const lowerPointBuffer = 60;\n const lowerestSnap = Math.min(lower, totalHeight) - lowerPointBuffer;\n\n const shouldClose = rawY < lowerestSnap;\n if (shouldClose) {\n setIsDragging(false);\n cancel();\n close();\n return;\n }\n\n // if we stop dragging assign snap to the nearest point\n if (!active && !tap) {\n newY = nearest;\n }\n }\n\n setPositionY(newY, !down);\n },\n {\n from: [0, positionY],\n filterTaps: true,\n enabled: isOnTopOfStack && _isOpen,\n },\n );\n\n // Here we are preventing the scrolling of the content, until the preventScrollingRef value is true\n useIsomorphicLayoutEffect(() => {\n const scrollElement = scrollRef.current;\n if (!scrollElement) return;\n\n const preventScrolling = (e: Event) => {\n if (preventScrollingRef?.current) {\n e.preventDefault();\n }\n };\n\n // https://www.bram.us/2016/05/02/prevent-overscroll-bounce-in-ios-mobilesafari-pure-css/\n const preventSafariOverscroll = (e: Event) => {\n if (scrollElement.scrollTop < 0) {\n // TODO: figure this out, it doesn't seem to work >iOS12\n // requestAnimationFrame(() => {\n // elem.style.overflow = 'hidden';\n // elem.scrollTop = 0;\n // elem.style.removeProperty('overflow');\n // });\n e.preventDefault();\n }\n };\n\n scrollElement.addEventListener('scroll', preventScrolling);\n scrollElement.addEventListener('touchmove', preventScrolling);\n scrollElement.addEventListener('touchstart', preventSafariOverscroll);\n return () => {\n scrollElement.removeEventListener('scroll', preventScrolling);\n scrollElement.removeEventListener('touchmove', preventScrolling);\n scrollElement.removeEventListener('touchstart', preventSafariOverscroll);\n };\n // Only run this hook when we know all the layout calculations are done,\n // Otherwise the scrollRef.current will be null.\n // isReady prop will ensure that we are done measuring the content height\n }, [isReady]);\n\n // usePresence hook waits for the animation to finish before unmounting the component\n // It's similar to 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 enableBodyScroll(lockTarget);\n };\n }, []);\n\n // We will need to reset these values otherwise the next time the bottomsheet opens\n // this will be populated and the animations won't run\n // why?: because how the usePresence hook works, we actually just unmount the\n // html contents not the whole <BottomSheet /> react component\n React.useEffect(() => {\n if (!isMounted) {\n setHeaderHeight(0);\n setFooterHeight(0);\n setContentHeight(0);\n setGrabHandleHeight(0);\n _setPositionY(0);\n }\n }, [isMounted, scrollLockRef]);\n\n // We don't want to destroy the react tree when we are rendering inside Dropdown\n // Because if we bail out early then ActionList won't render,\n // and Dropdown manages it's state based on the rendered JSX of ActionList\n // If we don't render ActionList Dropdown state will reset each time we open/close BottomSheet\n const isInsideDropdown = Boolean(bottomSheetAndDropdownGlue);\n if (!isMounted && !isInsideDropdown) {\n return <></>;\n }\n\n return (\n <BottomSheetContext.Provider value={contextValue}>\n <BottomSheetBackdrop zIndex={bottomSheetZIndex} />\n <BottomSheetSurface\n {...metaAttribute({\n name: MetaConstants.BottomSheet,\n testID: 'bottomsheet-surface',\n })}\n {...makeAccessible({ modal: true, role: 'dialog' })}\n windowHeight={dimensions.height}\n isDragging={isDragging}\n style={{\n opacity: isVisible ? 1 : 0,\n pointerEvents: isVisible ? 'all' : 'none',\n height: positionY,\n bottom: 0,\n top: 'auto',\n zIndex: bottomSheetZIndex,\n }}\n {...makeAnalyticsAttribute(dataAnalyticsProps)}\n >\n <BaseBox height=\"100%\" display=\"flex\" flexDirection=\"column\">\n <BottomSheetGrabHandle\n ref={grabHandleRef}\n isHeaderFloating={isHeaderFloating}\n {...metaAttribute({ name: ComponentIds.BottomSheetGrabHandle })}\n {...bind()}\n />\n {children}\n </BaseBox>\n </BottomSheetSurface>\n </BottomSheetContext.Provider>\n );\n};\n\nconst BottomSheet = assignWithoutSideEffects(_BottomSheet, {\n componentId: ComponentIds.BottomSheet,\n});\n\nexport { BottomSheet, BottomSheetBody, BottomSheetHeader, BottomSheetFooter };\nexport type { BottomSheetProps };\n"],"names":["BOTTOM_SHEET_EASING","AUTOCOMPLETE_DEFAULT_SNAPPOINT","BottomSheetSurface","styled","div","withConfig","displayName","componentId","_ref","theme","windowHeight","isDragging","background","colors","popup","subtle","borderTopLeftRadius","makeSize","size","borderTopRightRadius","borderColor","border","boxShadow","opacity","pointerEvents","transitionDuration","undefined","concat","makeMotionTime","motion","duration","moderate","transitionTimingFunction","willChange","transitionProperty","position","left","right","bottom","top","backgroundColor","justifyContent","alignItems","touchAction","overflow","_BottomSheet","_ref2","isOpen","onDismiss","children","initialFocusRef","_ref2$snapPoints","snapPoints","_ref2$zIndex","zIndex","componentZIndices","bottomSheet","dataAnalyticsProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","dimensions","useWindowSize","_React$useState","React","useState","_React$useState2","_slicedToArray","contentHeight","setContentHeight","_React$useState3","_React$useState4","headerHeight","setHeaderHeight","_React$useState5","_React$useState6","footerHeight","setFooterHeight","_React$useState7","_React$useState8","grabHandleHeight","setGrabHandleHeight","_React$useState9","_React$useState10","hasBodyPadding","setHasBodyPadding","_React$useState11","_React$useState12","isHeaderEmpty","setIsHeaderEmpty","bottomSheetAndDropdownGlue","useBottomSheetAndDropdownGlue","_React$useState13","_React$useState14","positionY","_setPositionY","_isOpen","_React$useState15","_React$useState16","setIsDragging","preventScrollingRef","useRef","scrollRef","grabHandleRef","defaultInitialFocusRef","originalFocusElement","initialSnapPoint","totalHeight","useMemo","id","useId","_useBottomSheetStack","useBottomSheetStack","stack","addBottomSheetToStack","removeBottomSheetFromStack","getTopOfTheStack","getCurrentStackIndexById","currentStackIndex","isOnTopOfStack","bottomSheetZIndex","setPositionY","useCallback","value","limit","arguments","length","shouldLimitPositionY","hasAutoCompleteInBottomSheetHeader","maxValue","computeMaxContent","maxHeight","isReady","shouldLock","scrollLockRef","useScrollLock","enabled","targetRef","reserveScrollBarGap","useEffect","hasNoBottomSheets","clearAllBodyScrollLocks","useIsomorphicLayoutEffect","current","getBoundingClientRect","height","middleSnapPoint","lowerSnapPoint","returnFocus","focus","focusOnInitialRef","_defaultInitialFocusR","_initialFocusRef$curr","useLayoutEffect","handleOnOpen","_originalFocusElement","activate","document","activeElement","handleOnClose","close","onBottomSheetDismiss","window","setTimeout","setDropdownHasBottomSheet","bind","useDrag","_ref3","active","last","cancel","tap","_ref3$movement","movement","_movementX","movementY","_ref3$velocity","velocity","_velocityX","velocityY","_ref3$lastOffset","lastOffset","_","lastOffsetY","down","dragging","_ref3$args","args","_ref3$args2","_ref3$args3","_ref3$args3$","_ref3$args3$2","_ref3$args3$2$isConte","isContentDragging","Boolean","rawY","upperSnapPoint","predictedDistance","predictedY","Math","max","min","newY","dampening","rubberbandIfOutOfBounds","isPosAtUpperSnapPoint","isContentScrolledAtTop","scrollTop","_computeSnapPointBoun","computeSnapPointBounds","map","point","_computeSnapPointBoun2","nearest","lower","lowerPointBuffer","lowerestSnap","shouldClose","from","filterTaps","scrollElement","preventScrolling","e","preventDefault","preventSafariOverscroll","addEventListener","removeEventListener","_usePresence","usePresence","isMounted","isVisible","isHeaderFloating","contextValue","isInBottomSheet","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 headerHeight: headerHeight + grabHandleHeight,\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 enableBodyScroll(lockTarget);\n };\n }, []);\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 +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 hasAutoCompleteInBottomSheetHeader: 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,SAAAA,gBAAA,GAAM,EAAE;AAC1BC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,gBAAgB,EAAE,SAAAA,gBAAA,GAAM,EAAE;AAC1BC,EAAAA,KAAK,EAAE,SAAAA,KAAA,GAAM,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
+ {"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,SAAAA,gBAAA,GAAM,EAAE;AAC1BC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,eAAe,EAAE,SAAAA,eAAA,GAAM,EAAE;AACzBC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAA,GAAM,EAAE;AAC3BC,EAAAA,gBAAgB,EAAE,SAAAA,gBAAA,GAAM,EAAE;AAC1BC,EAAAA,KAAK,EAAE,SAAAA,KAAA,GAAM,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;;;;"}