@razorpay/blade 12.97.1 → 12.98.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 (73) hide show
  1. package/build/lib/native/components/ActionList/ActionListItem.js +1 -0
  2. package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
  3. package/build/lib/native/components/ActionList/ActionListNoResults.js +1 -0
  4. package/build/lib/native/components/ActionList/ActionListNoResults.js.map +1 -1
  5. package/build/lib/native/components/Alert/Alert.js +1 -0
  6. package/build/lib/native/components/Alert/Alert.js.map +1 -1
  7. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +1 -0
  8. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  9. package/build/lib/native/components/BottomSheet/BottomSheetCommon.js +1 -0
  10. package/build/lib/native/components/BottomSheet/BottomSheetCommon.js.map +1 -1
  11. package/build/lib/native/components/Carousel/NavigationButton/NavigationButton.js +1 -0
  12. package/build/lib/native/components/Carousel/NavigationButton/NavigationButton.js.map +1 -1
  13. package/build/lib/native/components/Collapsible/CollapsibleChevronIcon.native.js +1 -0
  14. package/build/lib/native/components/Collapsible/CollapsibleChevronIcon.native.js.map +1 -1
  15. package/build/lib/native/components/FileUpload/FileUploadItem.js +1 -0
  16. package/build/lib/native/components/FileUpload/FileUploadItem.js.map +1 -1
  17. package/build/lib/native/components/Form/FormHint.js +1 -0
  18. package/build/lib/native/components/Form/FormHint.js.map +1 -1
  19. package/build/lib/native/components/Icons/ReticleIcon/ReticleIcon.js +13 -0
  20. package/build/lib/native/components/Icons/ReticleIcon/ReticleIcon.js.map +1 -0
  21. package/build/lib/native/components/Input/DropdownInputTriggers/Chevron.js +1 -0
  22. package/build/lib/native/components/Input/DropdownInputTriggers/Chevron.js.map +1 -1
  23. package/build/lib/native/components/Input/PasswordInput/PasswordInput.js +1 -0
  24. package/build/lib/native/components/Input/PasswordInput/PasswordInput.js.map +1 -1
  25. package/build/lib/native/components/Input/SearchInput/SearchInput.js +1 -0
  26. package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
  27. package/build/lib/native/components/Input/TextArea/TextArea.js +1 -0
  28. package/build/lib/native/components/Input/TextArea/TextArea.js.map +1 -1
  29. package/build/lib/native/components/Input/TextInput/TextInput.js +1 -0
  30. package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
  31. package/build/lib/native/components/Popover/PopoverCloseButton.js +1 -0
  32. package/build/lib/native/components/Popover/PopoverCloseButton.js.map +1 -1
  33. package/build/lib/native/components/QuickFilters/QuickFilter.js +1 -0
  34. package/build/lib/native/components/QuickFilters/QuickFilter.js.map +1 -1
  35. package/build/lib/native/components/Table/tokens.js +1 -0
  36. package/build/lib/native/components/Table/tokens.js.map +1 -1
  37. package/build/lib/native/components/Tag/Tag.js +1 -0
  38. package/build/lib/native/components/Tag/Tag.js.map +1 -1
  39. package/build/lib/native/components/index.js +1 -0
  40. package/build/lib/native/components/index.js.map +1 -1
  41. package/build/lib/web/development/_virtual/cloneDeep.js +1 -1
  42. package/build/lib/web/development/_virtual/cloneDeep3.js +1 -1
  43. package/build/lib/web/development/components/ActionList/ActionListBox.web.js +45 -21
  44. package/build/lib/web/development/components/ActionList/ActionListBox.web.js.map +1 -1
  45. package/build/lib/web/development/components/Icons/ReticleIcon/ReticleIcon.js +42 -0
  46. package/build/lib/web/development/components/Icons/ReticleIcon/ReticleIcon.js.map +1 -0
  47. package/build/lib/web/development/components/Icons/ReticleIcon/index.js +2 -0
  48. package/build/lib/web/development/components/Icons/ReticleIcon/index.js.map +1 -0
  49. package/build/lib/web/development/components/Icons/index.js +1 -0
  50. package/build/lib/web/development/components/Icons/index.js.map +1 -1
  51. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js +1 -1
  52. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
  53. package/build/lib/web/development/components/index.js +1 -0
  54. package/build/lib/web/development/components/index.js.map +1 -1
  55. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -1
  56. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matches.js +2 -2
  57. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +2 -2
  58. package/build/lib/web/development/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -1
  59. package/build/lib/web/production/components/ActionList/ActionListBox.web.js +45 -21
  60. package/build/lib/web/production/components/ActionList/ActionListBox.web.js.map +1 -1
  61. package/build/lib/web/production/components/Icons/ReticleIcon/ReticleIcon.js +42 -0
  62. package/build/lib/web/production/components/Icons/ReticleIcon/ReticleIcon.js.map +1 -0
  63. package/build/lib/web/production/components/Icons/ReticleIcon/index.js +2 -0
  64. package/build/lib/web/production/components/Icons/ReticleIcon/index.js.map +1 -0
  65. package/build/lib/web/production/components/Icons/index.js +1 -0
  66. package/build/lib/web/production/components/Icons/index.js.map +1 -1
  67. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +1 -1
  68. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
  69. package/build/lib/web/production/components/index.js +1 -0
  70. package/build/lib/web/production/components/index.js.map +1 -1
  71. package/build/types/components/index.d.ts +3 -1
  72. package/build/types/components/index.native.d.ts +3 -1
  73. package/package.json +1 -1
@@ -354,6 +354,7 @@ import '../Icons/RefreshIcon/RefreshIcon.js';
354
354
  import '../Icons/RepeatIcon/RepeatIcon.js';
355
355
  import '../Icons/ReportsIcon/ReportsIcon.js';
356
356
  import '../Icons/ResizerIcon/ResizerIcon.js';
357
+ import '../Icons/ReticleIcon/ReticleIcon.js';
357
358
  import '../Icons/RewindIcon/RewindIcon.js';
358
359
  import '../Icons/RotateClockWiseIcon/RotateClockWiseIcon.js';
359
360
  import '../Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.js';
@@ -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 { 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' : 'normal';\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 isDisabled,\n}: {\n isSelected?: boolean;\n isDisabled?: boolean;\n}): React.ReactElement => {\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\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 } = 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 hasFilterChipSelectInput =\n dropdownTriggerer === dropdownComponentIds.triggers.FilterChipSelectInput;\n\n const hasInputDropdownButton =\n dropdownTriggerer === dropdownComponentIds.triggers.InputDropdownButton;\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 hasFilterChipSelectInput ||\n hasInputDropdownButton\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 selectionType === 'multiple' ? (\n <BaseMenuLeadingItem\n key={`${dropdownBaseId}-${props._index}-leading-${isSelected}`}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n />\n ) : (\n props.leading\n )\n }\n trailing={props.trailing}\n titleSuffix={props.titleSuffix}\n href={props.href}\n target={props.target}\n className={activeIndex === props._index ? 'active-focus' : ''}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n role={getActionListItemRole(dropdownTriggerer, props.href)}\n {...makeActionListItemClickable((e: React.MouseEvent<HTMLButtonElement>): void => {\n if (typeof props._index === 'number') {\n onOptionClick(e, props._index);\n props.onClick?.({ name: props.value, value: isSelected, event: castWebType(e) });\n }\n })}\n {...makeAnalyticsAttribute({ ...props })}\n {...metaAttribute({ name: MetaConstants.ActionListItem, testID: props.testID })}\n onMouseDown={() => {\n // We want to keep focus on Dropdown's trigger while option is being clicked\n // So We set this flag that ignores the blur animation to avoid the flicker between focus out + focus in\n setShouldIgnoreBlurAnimation(true);\n }}\n onMouseUp={() => {\n // (Contd from above comment...) We set this flag back to false since blur of SelectInput is done calling by this time\n setShouldIgnoreBlurAnimation(false);\n }}\n data-value={props.value}\n data-index={props._index}\n selectionType={selectionType}\n color={props.intent}\n isKeydownPressed={isKeydownPressed}\n />\n );\n};\n\nconst ActionListItem = assignWithoutSideEffects(React.memo(_ActionListItem), {\n componentId: componentIds.ActionListItem,\n displayName: componentIds.ActionListItem,\n});\n\nexport type { ActionListItemProps, ActionListSectionProps };\nexport {\n ActionListItem,\n ActionListItemIcon,\n ActionListItemText,\n ActionListItemAvatar,\n ActionListItemBadge,\n ActionListItemBadgeGroup,\n ActionListSection,\n ActionListSectionTitle,\n};\n"],"names":["StyledActionListSectionTitle","styled","BaseBox","props","padding","makeSize","theme","spacing","_ActionListSectionTitle","_ref","title","_ref$isInsideVirtuali","isInsideVirtualizedList","_jsx","Object","assign","makeAccessible","hidden","role","undefined","children","Text","color","size","weight","ActionListSectionTitle","assignWithoutSideEffects","componentId","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","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","pointerEvents","Checkbox","isChecked","tabIndex","makeActionListItemClickable","clickHandler","onPress","onClick","_ActionListItem","_useDropdown2","activeIndex","dropdownBaseId","onOptionClick","selectedIndices","setShouldIgnoreBlurAnimation","selectionType","isKeydownPressed","useEffect","_index","_virtualizedIndex","_onVirtualizedFocus","hasFilterChipSelectInput","FilterChipSelectInput","hasInputDropdownButton","InputDropdownButton","renderOnWebAs","href","getIsSelected","SelectInput","validateActionListItemProps","leading","trailing","titleSuffix","__DEV__","intent","throwBladeError","message","moduleName","isVisible","value","BaseMenuItem","as","id","description","target","className","getActionListItemRole","e","event","castWebType","ActionListItem","onMouseDown","onMouseUp","displayName"],"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' : 'normal';\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 isDisabled,\n}: {\n isSelected?: boolean;\n isDisabled?: boolean;\n}): React.ReactElement => {\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\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 } = 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 hasFilterChipSelectInput =\n dropdownTriggerer === dropdownComponentIds.triggers.FilterChipSelectInput;\n\n const hasInputDropdownButton =\n dropdownTriggerer === dropdownComponentIds.triggers.InputDropdownButton;\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 hasFilterChipSelectInput ||\n hasInputDropdownButton\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 selectionType === 'multiple' ? (\n <BaseMenuLeadingItem\n key={`${dropdownBaseId}-${props._index}-leading-${isSelected}`}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n />\n ) : (\n props.leading\n )\n }\n trailing={props.trailing}\n titleSuffix={props.titleSuffix}\n href={props.href}\n target={props.target}\n className={activeIndex === props._index ? 'active-focus' : ''}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n role={getActionListItemRole(dropdownTriggerer, props.href)}\n {...makeActionListItemClickable((e: React.MouseEvent<HTMLButtonElement>): void => {\n if (typeof props._index === 'number') {\n onOptionClick(e, props._index);\n props.onClick?.({ name: props.value, value: isSelected, event: castWebType(e) });\n }\n })}\n {...makeAnalyticsAttribute({ ...props })}\n {...metaAttribute({ name: MetaConstants.ActionListItem, testID: props.testID })}\n onMouseDown={() => {\n // We want to keep focus on Dropdown's trigger while option is being clicked\n // So We set this flag that ignores the blur animation to avoid the flicker between focus out + focus in\n setShouldIgnoreBlurAnimation(true);\n }}\n onMouseUp={() => {\n // (Contd from above comment...) We set this flag back to false since blur of SelectInput is done calling by this time\n setShouldIgnoreBlurAnimation(false);\n }}\n data-value={props.value}\n data-index={props._index}\n selectionType={selectionType}\n color={props.intent}\n isKeydownPressed={isKeydownPressed}\n />\n );\n};\n\nconst ActionListItem = assignWithoutSideEffects(React.memo(_ActionListItem), {\n componentId: componentIds.ActionListItem,\n displayName: componentIds.ActionListItem,\n});\n\nexport type { ActionListItemProps, ActionListSectionProps };\nexport {\n ActionListItem,\n ActionListItemIcon,\n ActionListItemText,\n ActionListItemAvatar,\n ActionListItemBadge,\n ActionListItemBadgeGroup,\n ActionListSection,\n ActionListSectionTitle,\n};\n"],"names":["StyledActionListSectionTitle","styled","BaseBox","props","padding","makeSize","theme","spacing","_ActionListSectionTitle","_ref","title","_ref$isInsideVirtuali","isInsideVirtualizedList","_jsx","Object","assign","makeAccessible","hidden","role","undefined","children","Text","color","size","weight","ActionListSectionTitle","assignWithoutSideEffects","componentId","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","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","pointerEvents","Checkbox","isChecked","tabIndex","makeActionListItemClickable","clickHandler","onPress","onClick","_ActionListItem","_useDropdown2","activeIndex","dropdownBaseId","onOptionClick","selectedIndices","setShouldIgnoreBlurAnimation","selectionType","isKeydownPressed","useEffect","_index","_virtualizedIndex","_onVirtualizedFocus","hasFilterChipSelectInput","FilterChipSelectInput","hasInputDropdownButton","InputDropdownButton","renderOnWebAs","href","getIsSelected","SelectInput","validateActionListItemProps","leading","trailing","titleSuffix","__DEV__","intent","throwBladeError","message","moduleName","isVisible","value","BaseMenuItem","as","id","description","target","className","getActionListItemRole","e","event","castWebType","ActionListItem","onMouseDown","onMouseUp","displayName"],"mappings":"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"}
@@ -317,6 +317,7 @@ import '../Icons/RefreshIcon/RefreshIcon.js';
317
317
  import '../Icons/RepeatIcon/RepeatIcon.js';
318
318
  import '../Icons/ReportsIcon/ReportsIcon.js';
319
319
  import '../Icons/ResizerIcon/ResizerIcon.js';
320
+ import '../Icons/ReticleIcon/ReticleIcon.js';
320
321
  import '../Icons/RewindIcon/RewindIcon.js';
321
322
  import '../Icons/RotateClockWiseIcon/RotateClockWiseIcon.js';
322
323
  import '../Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ActionListNoResults.js","sources":["../../../../../src/components/ActionList/ActionListNoResults.tsx"],"sourcesContent":["import { Box } from '~components/Box';\nimport { SearchIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\n\nconst ActionListNoResults = (): React.ReactElement => {\n return (\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n padding=\"spacing.5\"\n >\n <SearchIcon size=\"xlarge\" color=\"surface.icon.gray.muted\" />\n <Text marginTop=\"spacing.5\" weight=\"semibold\">\n No Search Result Found\n </Text>\n <Text color=\"surface.text.gray.subtle\" marginTop=\"spacing.3\" size=\"small\">\n Try searching for a different value\n </Text>\n </Box>\n );\n};\n\nexport { ActionListNoResults };\n"],"names":["ActionListNoResults","_jsxs","Box","display","flexDirection","alignItems","justifyContent","padding","children","_jsx","SearchIcon","size","color","Text","marginTop","weight"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,IAAAA,mBAAmB,CAAG,SAAtBA,mBAAmBA,EAA6B,CACpD,OACEC,IAAA,CAACC,GAAG,CACFC,CAAAA,OAAO,CAAC,MAAM,CACdC,aAAa,CAAC,QAAQ,CACtBC,UAAU,CAAC,QAAQ,CACnBC,cAAc,CAAC,QAAQ,CACvBC,OAAO,CAAC,WAAW,CAAAC,QAAA,CAAA,CAEnBC,GAAA,CAACC,UAAU,CAACC,CAAAA,IAAI,CAAC,QAAQ,CAACC,KAAK,CAAC,yBAAyB,CAAE,CAAC,CAC5DH,GAAA,CAACI,IAAI,CAACC,CAAAA,SAAS,CAAC,WAAW,CAACC,MAAM,CAAC,UAAU,CAAAP,QAAA,CAAC,wBAE9C,CAAM,CAAC,CACPC,GAAA,CAACI,IAAI,CAAA,CAACD,KAAK,CAAC,0BAA0B,CAACE,SAAS,CAAC,WAAW,CAACH,IAAI,CAAC,OAAO,CAAAH,QAAA,CAAC,qCAE1E,CAAM,CAAC,CACJ,CAAA,CAAC,CAEV;;;;"}
1
+ {"version":3,"file":"ActionListNoResults.js","sources":["../../../../../src/components/ActionList/ActionListNoResults.tsx"],"sourcesContent":["import { Box } from '~components/Box';\nimport { SearchIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\n\nconst ActionListNoResults = (): React.ReactElement => {\n return (\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n padding=\"spacing.5\"\n >\n <SearchIcon size=\"xlarge\" color=\"surface.icon.gray.muted\" />\n <Text marginTop=\"spacing.5\" weight=\"semibold\">\n No Search Result Found\n </Text>\n <Text color=\"surface.text.gray.subtle\" marginTop=\"spacing.3\" size=\"small\">\n Try searching for a different value\n </Text>\n </Box>\n );\n};\n\nexport { ActionListNoResults };\n"],"names":["ActionListNoResults","_jsxs","Box","display","flexDirection","alignItems","justifyContent","padding","children","_jsx","SearchIcon","size","color","Text","marginTop","weight"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,IAAAA,mBAAmB,CAAG,SAAtBA,mBAAmBA,EAA6B,CACpD,OACEC,IAAA,CAACC,GAAG,CACFC,CAAAA,OAAO,CAAC,MAAM,CACdC,aAAa,CAAC,QAAQ,CACtBC,UAAU,CAAC,QAAQ,CACnBC,cAAc,CAAC,QAAQ,CACvBC,OAAO,CAAC,WAAW,CAAAC,QAAA,CAAA,CAEnBC,GAAA,CAACC,UAAU,CAACC,CAAAA,IAAI,CAAC,QAAQ,CAACC,KAAK,CAAC,yBAAyB,CAAE,CAAC,CAC5DH,GAAA,CAACI,IAAI,CAACC,CAAAA,SAAS,CAAC,WAAW,CAACC,MAAM,CAAC,UAAU,CAAAP,QAAA,CAAC,wBAE9C,CAAM,CAAC,CACPC,GAAA,CAACI,IAAI,CAAA,CAACD,KAAK,CAAC,0BAA0B,CAACE,SAAS,CAAC,WAAW,CAACH,IAAI,CAAC,OAAO,CAAAH,QAAA,CAAC,qCAE1E,CAAM,CAAC,CACJ,CAAA,CAAC,CAEV;;;;"}
@@ -320,6 +320,7 @@ import '../Icons/RefreshIcon/RefreshIcon.js';
320
320
  import '../Icons/RepeatIcon/RepeatIcon.js';
321
321
  import '../Icons/ReportsIcon/ReportsIcon.js';
322
322
  import '../Icons/ResizerIcon/ResizerIcon.js';
323
+ import '../Icons/ReticleIcon/ReticleIcon.js';
323
324
  import '../Icons/RewindIcon/RewindIcon.js';
324
325
  import '../Icons/RotateClockWiseIcon/RotateClockWiseIcon.js';
325
326
  import '../Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { ReactChild, ReactElement } from 'react';\nimport React, { Fragment, useState, forwardRef } from 'react';\n\nimport { StyledAlert } from './StyledAlert';\nimport type { IconComponent } from '~components/Icons';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport { castNativeType, castWebType, useBreakpoint, getPlatformType, makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { IconButton } from '~components/Button/IconButton';\nimport type { SpacingValueType } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport BaseButton from '~components/Button/BaseButton';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport type { FeedbackColors, SubtleOrIntense } from '~tokens/theme/theme';\nimport { useTheme } from '~components/BladeProvider';\nimport type {\n DataAnalyticsAttribute,\n BladeElementRef,\n DotNotationSpacingStringToken,\n TestID,\n} from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { MAKE_ANALYTICS_CONSTANTS, makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype PrimaryAction = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionButton = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionLinkButton = {\n text: string;\n href: string;\n onClick?: () => void;\n target?: string;\n /**\n * When `target` is set to `_blank` this is automatically set to `noopener noreferrer`\n */\n rel?: string;\n};\n\ntype SecondaryAction = SecondaryActionButton | SecondaryActionLinkButton;\n\ntype AlertProps = {\n /**\n * Body content, pass text or JSX. Avoid passing components except `Link` to customize the content.\n */\n description: ReactChild;\n\n /**\n * A brief heading\n */\n title?: string;\n\n /**\n * Shows a dismiss button\n *\n * @default true\n */\n isDismissible?: boolean;\n\n /**\n * A callback when the dismiss button is clicked\n */\n onDismiss?: () => void;\n\n /**\n * Can be used to render custom icon\n */\n icon?: IconComponent;\n\n /**\n * Can be set to `high` for a more prominent look. Not to be confused with a11y emphasis.\n *\n * @default subtle\n */\n emphasis?: SubtleOrIntense;\n\n /**\n * Makes the Alert span the entire container width, instead of the default max width of `584px`.\n * This also makes the alert borderless, useful for creating full bleed layouts.\n *\n * @default false\n */\n isFullWidth?: boolean;\n\n /**\n * Sets the color tone\n */\n color?: FeedbackColors;\n\n /**\n * Renders a primary action button and a secondary action link button\n */\n actions?: {\n /**\n * Renders a button (should **always** be present if `secondary` action is being used)\n */\n primary?: PrimaryAction;\n /**\n * Renders a Link button\n */\n secondary?: SecondaryAction;\n };\n} & TestID &\n StyledPropsBlade &\n DataAnalyticsAttribute;\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n// Need extra wrappers on React Native only for alignment\nconst CloseButtonWrapper = isReactNative ? BaseBox : Fragment;\n\nconst intentIconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst _Alert = (\n {\n description,\n title,\n isDismissible = true,\n onDismiss,\n emphasis = 'subtle',\n isFullWidth = false,\n color = 'neutral',\n actions,\n testID,\n icon,\n ...rest\n }: AlertProps,\n ref: React.Ref<BladeElementRef>,\n): ReactElement | null => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const [isVisible, setIsVisible] = useState(true);\n\n const isDesktop = matchedDeviceType === 'desktop';\n const isMobile = !isDesktop;\n\n const isDescriptionOnly = !title && !actions?.primary && !actions?.secondary;\n\n const Icon = icon ?? intentIconMap[color];\n let iconOffset: DotNotationSpacingStringToken | SpacingValueType = 'spacing.1';\n\n // certain special cases below needs special care for near perfect alignment\n if (isReactNative) {\n if (isFullWidth && !title) {\n iconOffset = 'spacing.1';\n } else if (!isFullWidth && !title) {\n iconOffset = 'spacing.0';\n } else if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n }\n } else if (isMobile) {\n if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n } else if (isFullWidth && !title) {\n iconOffset = 'spacing.2';\n }\n } else if (isFullWidth) {\n iconOffset = 'spacing.1';\n }\n\n const shouldCenterAlign = isFullWidth && !title;\n let alignment: 'center' | 'flex-start' = 'flex-start';\n if (!isFullWidth) alignment = 'flex-start';\n if (shouldCenterAlign) alignment = 'center';\n\n if (isDescriptionOnly) {\n alignment = 'center';\n iconOffset = makeSize(1);\n }\n\n const leadingIcon = (\n <BaseBox display=\"flex\" alignSelf={alignment} marginTop={iconOffset}>\n <Icon\n color={\n emphasis === 'intense'\n ? 'surface.icon.staticWhite.normal'\n : `feedback.icon.${color}.${emphasis === 'subtle' ? 'intense' : 'subtle'}`\n }\n size=\"medium\"\n />\n </BaseBox>\n );\n\n const textColor =\n emphasis === 'intense' ? 'surface.text.staticWhite.normal' : 'surface.text.gray.normal';\n const _title = title ? (\n <BaseBox marginBottom=\"spacing.2\">\n <Text color={textColor} size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n </BaseBox>\n ) : null;\n\n const descriptionTextColor =\n emphasis === 'intense' ? 'surface.text.staticWhite.subtle' : 'surface.text.gray.subtle';\n\n const _description = (\n <BaseBox marginTop={title || isReactNative ? 'spacing.0' : 'spacing.1'}>\n <Text color={descriptionTextColor} size=\"small\">\n {description}\n </Text>\n </BaseBox>\n );\n\n const primaryAction = actions?.primary ? (\n <BaseBox\n marginRight={actions?.secondary || isDismissible ? 'spacing.5' : 'spacing.0'}\n display={isReactNative ? castNativeType('flex') : castWebType('inline-flex')}\n >\n <BaseButton\n size=\"small\"\n onClick={actions.primary.onClick}\n color={emphasis === 'subtle' ? 'primary' : 'white'}\n variant={emphasis === 'subtle' ? 'secondary' : 'primary'}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.ALERT.PRIMARY_ACTION_BUTTON}\n >\n {actions.primary.text}\n </BaseButton>\n </BaseBox>\n ) : null;\n\n const secondaryActionParams: Partial<SecondaryActionLinkButton> | null = actions?.secondary\n ? {\n onClick: actions.secondary.onClick,\n }\n : null;\n\n /**\n * TS assumes only common properties to be present for `SecondaryAction` union type\n * We add a type guard that checks if href is present on secondary action:\n * - If yes, then TS can assume it to be `SecondaryActionLinkButton` (href being a required property)\n * - If no, then it would be `SecondaryActionButton` (and link properties wouldn't be needed)\n */\n if (actions?.secondary && secondaryActionParams && 'href' in actions.secondary) {\n secondaryActionParams.href = actions.secondary.href;\n secondaryActionParams.target = actions.secondary.target;\n secondaryActionParams.rel = actions.secondary.rel;\n }\n\n const secondaryAction = actions?.secondary ? (\n <BaseBox\n marginRight={isDismissible ? 'spacing.4' : 'spacing.0'}\n display={(isReactNative ? 'flex' : 'inline-flex') as never}\n >\n <BaseLink\n size=\"small\"\n color={emphasis === 'intense' ? 'white' : 'neutral'}\n {...secondaryActionParams}\n >\n {actions.secondary.text}\n </BaseLink>\n </BaseBox>\n ) : null;\n\n // For certain cases we wish to render actions inline with text content\n const showActionsHorizontal = isFullWidth && isDesktop;\n\n const actionsHorizontal =\n showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const actionsVertical =\n !showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox marginTop=\"spacing.4\" flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const onClickDismiss = (): void => {\n if (onDismiss) {\n onDismiss();\n }\n setIsVisible(false);\n };\n const closeButton = isDismissible ? (\n <CloseButtonWrapper>\n <IconButton\n accessibilityLabel=\"Dismiss alert\"\n onClick={onClickDismiss}\n emphasis={emphasis === 'intense' ? 'subtle' : 'intense'}\n size=\"medium\"\n icon={CloseIcon}\n marginTop={isDescriptionOnly ? makeSize(2) : 'spacing.0'}\n />\n </CloseButtonWrapper>\n ) : null;\n\n const a11yProps = makeAccessible({\n // React Native doesn't has status as role\n role: isReactNative || color === 'negative' || color === 'notice' ? 'alert' : 'status',\n // override the implicit live region of role `alert`\n ...(color === 'notice' && { liveRegion: 'polite' }),\n });\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <BaseBox\n ref={ref as never}\n {...a11yProps}\n {...metaAttribute({ name: MetaConstants.Alert, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <StyledAlert\n color={color}\n emphasis={emphasis}\n isFullWidth={isFullWidth}\n isDesktop={isDesktop}\n textAlign={'left' as never}\n >\n {leadingIcon}\n <BaseBox\n flex={1}\n paddingLeft=\"spacing.3\"\n paddingRight={showActionsHorizontal ? 'spacing.4' : 'spacing.2'}\n >\n {_title}\n {_description}\n {actionsVertical}\n </BaseBox>\n {actionsHorizontal}\n {closeButton}\n </StyledAlert>\n </BaseBox>\n );\n};\n\nconst Alert = forwardRef(_Alert);\n\nexport type { AlertProps };\nexport { Alert };\n"],"names":["isReactNative","getPlatformType","CloseButtonWrapper","BaseBox","Fragment","intentIconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","_Alert","_ref","ref","description","title","_ref$isDismissible","isDismissible","onDismiss","_ref$emphasis","emphasis","_ref$isFullWidth","isFullWidth","_ref$color","color","actions","testID","icon","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","_useState","useState","_useState2","_slicedToArray","isVisible","setIsVisible","isDesktop","isMobile","isDescriptionOnly","primary","secondary","Icon","iconOffset","shouldCenterAlign","alignment","makeSize","leadingIcon","_jsx","display","alignSelf","marginTop","children","size","textColor","_title","marginBottom","Text","weight","descriptionTextColor","_description","primaryAction","marginRight","castNativeType","castWebType","BaseButton","onClick","variant","MAKE_ANALYTICS_CONSTANTS","ALERT","PRIMARY_ACTION_BUTTON","text","secondaryActionParams","href","target","rel","secondaryAction","BaseLink","Object","assign","showActionsHorizontal","actionsHorizontal","_jsxs","flexDirection","alignItems","actionsVertical","onClickDismiss","closeButton","IconButton","accessibilityLabel","CloseIcon","a11yProps","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","Alert","getStyledProps","makeAnalyticsAttribute","StyledAlert","textAlign","flex","paddingLeft","paddingRight","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"Alert.js","sources":["../../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { ReactChild, ReactElement } from 'react';\nimport React, { Fragment, useState, forwardRef } from 'react';\n\nimport { StyledAlert } from './StyledAlert';\nimport type { IconComponent } from '~components/Icons';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport { castNativeType, castWebType, useBreakpoint, getPlatformType, makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { IconButton } from '~components/Button/IconButton';\nimport type { SpacingValueType } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport BaseButton from '~components/Button/BaseButton';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport type { FeedbackColors, SubtleOrIntense } from '~tokens/theme/theme';\nimport { useTheme } from '~components/BladeProvider';\nimport type {\n DataAnalyticsAttribute,\n BladeElementRef,\n DotNotationSpacingStringToken,\n TestID,\n} from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { MAKE_ANALYTICS_CONSTANTS, makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype PrimaryAction = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionButton = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionLinkButton = {\n text: string;\n href: string;\n onClick?: () => void;\n target?: string;\n /**\n * When `target` is set to `_blank` this is automatically set to `noopener noreferrer`\n */\n rel?: string;\n};\n\ntype SecondaryAction = SecondaryActionButton | SecondaryActionLinkButton;\n\ntype AlertProps = {\n /**\n * Body content, pass text or JSX. Avoid passing components except `Link` to customize the content.\n */\n description: ReactChild;\n\n /**\n * A brief heading\n */\n title?: string;\n\n /**\n * Shows a dismiss button\n *\n * @default true\n */\n isDismissible?: boolean;\n\n /**\n * A callback when the dismiss button is clicked\n */\n onDismiss?: () => void;\n\n /**\n * Can be used to render custom icon\n */\n icon?: IconComponent;\n\n /**\n * Can be set to `high` for a more prominent look. Not to be confused with a11y emphasis.\n *\n * @default subtle\n */\n emphasis?: SubtleOrIntense;\n\n /**\n * Makes the Alert span the entire container width, instead of the default max width of `584px`.\n * This also makes the alert borderless, useful for creating full bleed layouts.\n *\n * @default false\n */\n isFullWidth?: boolean;\n\n /**\n * Sets the color tone\n */\n color?: FeedbackColors;\n\n /**\n * Renders a primary action button and a secondary action link button\n */\n actions?: {\n /**\n * Renders a button (should **always** be present if `secondary` action is being used)\n */\n primary?: PrimaryAction;\n /**\n * Renders a Link button\n */\n secondary?: SecondaryAction;\n };\n} & TestID &\n StyledPropsBlade &\n DataAnalyticsAttribute;\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n// Need extra wrappers on React Native only for alignment\nconst CloseButtonWrapper = isReactNative ? BaseBox : Fragment;\n\nconst intentIconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst _Alert = (\n {\n description,\n title,\n isDismissible = true,\n onDismiss,\n emphasis = 'subtle',\n isFullWidth = false,\n color = 'neutral',\n actions,\n testID,\n icon,\n ...rest\n }: AlertProps,\n ref: React.Ref<BladeElementRef>,\n): ReactElement | null => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const [isVisible, setIsVisible] = useState(true);\n\n const isDesktop = matchedDeviceType === 'desktop';\n const isMobile = !isDesktop;\n\n const isDescriptionOnly = !title && !actions?.primary && !actions?.secondary;\n\n const Icon = icon ?? intentIconMap[color];\n let iconOffset: DotNotationSpacingStringToken | SpacingValueType = 'spacing.1';\n\n // certain special cases below needs special care for near perfect alignment\n if (isReactNative) {\n if (isFullWidth && !title) {\n iconOffset = 'spacing.1';\n } else if (!isFullWidth && !title) {\n iconOffset = 'spacing.0';\n } else if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n }\n } else if (isMobile) {\n if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n } else if (isFullWidth && !title) {\n iconOffset = 'spacing.2';\n }\n } else if (isFullWidth) {\n iconOffset = 'spacing.1';\n }\n\n const shouldCenterAlign = isFullWidth && !title;\n let alignment: 'center' | 'flex-start' = 'flex-start';\n if (!isFullWidth) alignment = 'flex-start';\n if (shouldCenterAlign) alignment = 'center';\n\n if (isDescriptionOnly) {\n alignment = 'center';\n iconOffset = makeSize(1);\n }\n\n const leadingIcon = (\n <BaseBox display=\"flex\" alignSelf={alignment} marginTop={iconOffset}>\n <Icon\n color={\n emphasis === 'intense'\n ? 'surface.icon.staticWhite.normal'\n : `feedback.icon.${color}.${emphasis === 'subtle' ? 'intense' : 'subtle'}`\n }\n size=\"medium\"\n />\n </BaseBox>\n );\n\n const textColor =\n emphasis === 'intense' ? 'surface.text.staticWhite.normal' : 'surface.text.gray.normal';\n const _title = title ? (\n <BaseBox marginBottom=\"spacing.2\">\n <Text color={textColor} size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n </BaseBox>\n ) : null;\n\n const descriptionTextColor =\n emphasis === 'intense' ? 'surface.text.staticWhite.subtle' : 'surface.text.gray.subtle';\n\n const _description = (\n <BaseBox marginTop={title || isReactNative ? 'spacing.0' : 'spacing.1'}>\n <Text color={descriptionTextColor} size=\"small\">\n {description}\n </Text>\n </BaseBox>\n );\n\n const primaryAction = actions?.primary ? (\n <BaseBox\n marginRight={actions?.secondary || isDismissible ? 'spacing.5' : 'spacing.0'}\n display={isReactNative ? castNativeType('flex') : castWebType('inline-flex')}\n >\n <BaseButton\n size=\"small\"\n onClick={actions.primary.onClick}\n color={emphasis === 'subtle' ? 'primary' : 'white'}\n variant={emphasis === 'subtle' ? 'secondary' : 'primary'}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.ALERT.PRIMARY_ACTION_BUTTON}\n >\n {actions.primary.text}\n </BaseButton>\n </BaseBox>\n ) : null;\n\n const secondaryActionParams: Partial<SecondaryActionLinkButton> | null = actions?.secondary\n ? {\n onClick: actions.secondary.onClick,\n }\n : null;\n\n /**\n * TS assumes only common properties to be present for `SecondaryAction` union type\n * We add a type guard that checks if href is present on secondary action:\n * - If yes, then TS can assume it to be `SecondaryActionLinkButton` (href being a required property)\n * - If no, then it would be `SecondaryActionButton` (and link properties wouldn't be needed)\n */\n if (actions?.secondary && secondaryActionParams && 'href' in actions.secondary) {\n secondaryActionParams.href = actions.secondary.href;\n secondaryActionParams.target = actions.secondary.target;\n secondaryActionParams.rel = actions.secondary.rel;\n }\n\n const secondaryAction = actions?.secondary ? (\n <BaseBox\n marginRight={isDismissible ? 'spacing.4' : 'spacing.0'}\n display={(isReactNative ? 'flex' : 'inline-flex') as never}\n >\n <BaseLink\n size=\"small\"\n color={emphasis === 'intense' ? 'white' : 'neutral'}\n {...secondaryActionParams}\n >\n {actions.secondary.text}\n </BaseLink>\n </BaseBox>\n ) : null;\n\n // For certain cases we wish to render actions inline with text content\n const showActionsHorizontal = isFullWidth && isDesktop;\n\n const actionsHorizontal =\n showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const actionsVertical =\n !showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox marginTop=\"spacing.4\" flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const onClickDismiss = (): void => {\n if (onDismiss) {\n onDismiss();\n }\n setIsVisible(false);\n };\n const closeButton = isDismissible ? (\n <CloseButtonWrapper>\n <IconButton\n accessibilityLabel=\"Dismiss alert\"\n onClick={onClickDismiss}\n emphasis={emphasis === 'intense' ? 'subtle' : 'intense'}\n size=\"medium\"\n icon={CloseIcon}\n marginTop={isDescriptionOnly ? makeSize(2) : 'spacing.0'}\n />\n </CloseButtonWrapper>\n ) : null;\n\n const a11yProps = makeAccessible({\n // React Native doesn't has status as role\n role: isReactNative || color === 'negative' || color === 'notice' ? 'alert' : 'status',\n // override the implicit live region of role `alert`\n ...(color === 'notice' && { liveRegion: 'polite' }),\n });\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <BaseBox\n ref={ref as never}\n {...a11yProps}\n {...metaAttribute({ name: MetaConstants.Alert, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <StyledAlert\n color={color}\n emphasis={emphasis}\n isFullWidth={isFullWidth}\n isDesktop={isDesktop}\n textAlign={'left' as never}\n >\n {leadingIcon}\n <BaseBox\n flex={1}\n paddingLeft=\"spacing.3\"\n paddingRight={showActionsHorizontal ? 'spacing.4' : 'spacing.2'}\n >\n {_title}\n {_description}\n {actionsVertical}\n </BaseBox>\n {actionsHorizontal}\n {closeButton}\n </StyledAlert>\n </BaseBox>\n );\n};\n\nconst Alert = forwardRef(_Alert);\n\nexport type { AlertProps };\nexport { Alert };\n"],"names":["isReactNative","getPlatformType","CloseButtonWrapper","BaseBox","Fragment","intentIconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","_Alert","_ref","ref","description","title","_ref$isDismissible","isDismissible","onDismiss","_ref$emphasis","emphasis","_ref$isFullWidth","isFullWidth","_ref$color","color","actions","testID","icon","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","_useState","useState","_useState2","_slicedToArray","isVisible","setIsVisible","isDesktop","isMobile","isDescriptionOnly","primary","secondary","Icon","iconOffset","shouldCenterAlign","alignment","makeSize","leadingIcon","_jsx","display","alignSelf","marginTop","children","size","textColor","_title","marginBottom","Text","weight","descriptionTextColor","_description","primaryAction","marginRight","castNativeType","castWebType","BaseButton","onClick","variant","MAKE_ANALYTICS_CONSTANTS","ALERT","PRIMARY_ACTION_BUTTON","text","secondaryActionParams","href","target","rel","secondaryAction","BaseLink","Object","assign","showActionsHorizontal","actionsHorizontal","_jsxs","flexDirection","alignItems","actionsVertical","onClickDismiss","closeButton","IconButton","accessibilityLabel","CloseIcon","a11yProps","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","Alert","getStyledProps","makeAnalyticsAttribute","StyledAlert","textAlign","flex","paddingLeft","paddingRight","forwardRef"],"mappings":"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"}
@@ -326,6 +326,7 @@ import '../Icons/RefreshIcon/RefreshIcon.js';
326
326
  import '../Icons/RepeatIcon/RepeatIcon.js';
327
327
  import '../Icons/ReportsIcon/ReportsIcon.js';
328
328
  import '../Icons/ResizerIcon/ResizerIcon.js';
329
+ import '../Icons/ReticleIcon/ReticleIcon.js';
329
330
  import '../Icons/RewindIcon/RewindIcon.js';
330
331
  import '../Icons/RotateClockWiseIcon/RotateClockWiseIcon.js';
331
332
  import '../Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.js';
@@ -1 +1 @@
1
- {"version":3,"file":"BaseHeader.js","sources":["../../../../../src/components/BaseHeaderFooter/BaseHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { Divider } from '~components/Divider';\nimport type { DividerProps } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Heading, Text } from '~components/Typography';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ChevronLeftIcon, CloseIcon } from '~components/Icons';\nimport type { DataAnalyticsAttribute, TestID, ElementTiming } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { isReactNative, makeSize } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { logger, throwBladeError } from '~utils/logger';\nimport { size as sizeToken } from '~tokens/global';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseHeaderProps = {\n title?: string;\n subtitle?: string;\n /**\n * Leading part of the header placed at the left most side of the header\n */\n leading?: React.ReactNode;\n /**\n * Trailing part of the header placed at the right most side of the header\n */\n trailing?: React.ReactNode;\n /**\n * Placed adjacent to the title text\n */\n titleSuffix?: React.ReactNode;\n /**\n * @default true\n */\n showDivider?: boolean;\n /**\n * @default false\n */\n showBackButton?: boolean;\n\n /**\n * Slot for rendering any trailing interaction element into BaseHeader.\n *\n * E.g. Used in accordion to render CollapsibleChevronIcon\n */\n trailingInteractionElement?: React.ReactNode;\n\n /**\n * Decides size of the Header\n */\n size?: 'xlarge' | 'large' | 'medium';\n /**\n * @default true\n */\n showCloseButton?: boolean;\n\n /**\n * Disabled state of BaseHeader\n *\n * @default false\n */\n isDisabled?: boolean;\n\n paddingX?: BoxProps['paddingX'];\n marginY?: BoxProps['marginY'];\n marginTop?: BoxProps['marginTop'];\n marginBottom?: BoxProps['marginBottom'];\n alignItems?: BoxProps['alignItems'];\n dividerProps?: DividerProps;\n\n onCloseButtonClick?: () => void;\n onBackButtonClick?: () => void;\n closeButtonRef?: React.MutableRefObject<any>;\n backButtonRef?: React.MutableRefObject<any>;\n metaComponentName?: string;\n /**\n * inner child of BottomSheetHeader. Meant to be used for AutoComplete only\n */\n children?: React.ReactElement | React.ReactElement[];\n /**\n * Background image of the header\n *\n * You can use this for adding gradients.\n */\n backgroundImage?: BoxProps['backgroundImage'];\n /**\n * So we add a wrapper with custom styles in elements like leading, trailing interaction elements and trailing.\n * this props allows you to control that.\n *\n * For example, in Accordion, we add a wrapper with flex to center the icon (in some cases)\n *\n * @default false\n */\n shouldAlignLeadingAndTrailingElementsToCenter?: boolean;\n} & Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n> &\n TestID &\n ElementTiming &\n DataAnalyticsAttribute;\n\ntype TrailingComponents = 'Button' | 'Badge' | 'Link' | 'Text' | 'Amount';\n\nconst commonCenterBoxProps: BoxProps = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst centerBoxProps: { xlarge: BoxProps; large: BoxProps; medium: BoxProps } = {\n xlarge: {\n ...commonCenterBoxProps,\n height: '28px',\n },\n large: {\n ...commonCenterBoxProps,\n // We want to align title, icon, titleSuffix, trailing, closeButton to baseline\n // But we also want to keep them center aligned to each other\n // So we add a virtual Box around these slots with 28px and center align them to that box\n // We have done similar thing in figma as well (which is where this 28px comes from)\n height: '28px',\n },\n medium: {\n ...commonCenterBoxProps,\n height: '20px',\n },\n};\n\nconst absolutePositionedButton = {\n position: 'absolute',\n top: 'spacing.0',\n right: 'spacing.0',\n} as const;\n\nconst sizeTokensMapping = {\n xlarge: {\n title: 'small',\n type: 'heading',\n },\n large: {\n title: 'large',\n type: 'text',\n },\n medium: {\n title: 'medium',\n type: 'text',\n },\n} as const;\n\n// prop restriction map for corresponding sub components\nconst propRestrictionMap = {\n large: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n xlarge: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n medium: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'small',\n },\n Link: {\n size: 'small',\n },\n Text: {\n size: 'small',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'small',\n },\n },\n} as const;\n\nconst useTrailingRestriction = ({\n trailing,\n size,\n}: {\n size: NonNullable<BaseHeaderProps['size']>;\n trailing: BaseHeaderProps['trailing'];\n}): React.ReactNode => {\n const [\n validatedTrailingComponent,\n setValidatedTrailingComponent,\n ] = React.useState<React.ReactElement | null>(null);\n\n // validate and restrict sub component props in trailing prop\n React.useEffect(() => {\n if (React.isValidElement(trailing)) {\n const trailingComponentType = getComponentId(trailing) as TrailingComponents;\n const restrictedProps = propRestrictionMap[size][trailingComponentType];\n\n const allowedComponents = Object.keys(propRestrictionMap[size]);\n if (__DEV__) {\n if (!restrictedProps) {\n throwBladeError({\n message: `Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as trailing`,\n moduleName: 'Header',\n });\n }\n }\n\n const restrictedPropKeys = Object.keys(propRestrictionMap[size][trailingComponentType]);\n for (const prop of restrictedPropKeys) {\n if (trailing?.props?.hasOwnProperty(prop)) {\n logger({\n message: `Do not pass \"${prop}\" to \"${trailingComponentType}\" while inside Header trailing, because we override it.`,\n moduleName: 'Header',\n type: 'warn',\n });\n }\n }\n setValidatedTrailingComponent(\n React.cloneElement(trailing as React.ReactElement, restrictedProps),\n );\n }\n }, [trailing, size]);\n\n return validatedTrailingComponent;\n};\n\nconst _BaseHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n showDivider = true,\n showBackButton = false,\n showCloseButton = true,\n onBackButtonClick,\n onCloseButtonClick,\n closeButtonRef,\n backButtonRef,\n testID,\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n metaComponentName,\n paddingX,\n marginY,\n marginBottom,\n marginTop,\n size = 'large',\n isDisabled,\n children,\n trailingInteractionElement,\n backgroundImage,\n alignItems = 'flex-start',\n dividerProps,\n shouldAlignLeadingAndTrailingElementsToCenter = false,\n ...rest\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n const hasOnlyChildren = children && !(title || subtitle || titleSuffix || leading);\n\n const webOnlyEventHandlers: Record<string, any> = isReactNative()\n ? {}\n : {\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n };\n\n const renderTrailingInteractionElementWithChildren = (): React.ReactNode => {\n if (trailingInteractionElement && children) {\n return (\n <Box\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : 'flex-start'}\n {...centerBoxProps[size]}\n >\n {trailingInteractionElement}\n </Box>\n );\n }\n return null;\n };\n\n const renderTrailingInteractionElementWithoutChildren = (): React.ReactNode => {\n if (trailingInteractionElement && !children) {\n return (\n <Box\n {...centerBoxProps[size]}\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : undefined}\n >\n {trailingInteractionElement}\n </Box>\n );\n }\n return null;\n };\n\n const renderLeadingElement = (): React.ReactNode => {\n if (Boolean(leading)) {\n return (\n <BaseBox\n marginRight=\"spacing.3\"\n {...centerBoxProps[size]}\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : undefined}\n >\n {leading}\n </BaseBox>\n );\n }\n return null;\n };\n\n const renderTrailingElement = (): React.ReactNode => {\n if (shouldAlignLeadingAndTrailingElementsToCenter && validatedTrailingComponent) {\n return (\n <BaseBox marginRight=\"spacing.5\" display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n );\n }\n if (validatedTrailingComponent) {\n return (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n );\n }\n return null;\n };\n\n return (\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n backgroundImage={backgroundImage}\n >\n <BaseBox\n marginY={marginY ?? { base: 'spacing.5', m: 'spacing.6' }}\n paddingX={paddingX ?? { base: 'spacing.5', m: 'spacing.6' }}\n marginTop={marginTop}\n marginBottom={marginBottom}\n touchAction=\"none\"\n {...webOnlyEventHandlers}\n >\n <BaseBox position=\"relative\" display=\"flex\" flexDirection=\"row\" userSelect=\"none\">\n {showBackButton ? (\n <BaseBox overflow=\"visible\" marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={backButtonRef}\n size=\"large\"\n icon={ChevronLeftIcon}\n onClick={() => onBackButtonClick?.()}\n accessibilityLabel=\"Back\"\n />\n </Box>\n </BaseBox>\n ) : null}\n {hasOnlyChildren ? null : (\n <BaseBox\n paddingRight=\"spacing.5\"\n marginRight=\"auto\"\n flex=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems={alignItems}\n >\n {renderLeadingElement()}\n <BaseBox flex=\"auto\">\n <BaseBox\n // Explicitly setting maxWidth in React Native because text is not being wrapped properly when multiple fix width components are rendered in header\n // In web, flex containers seem to work a expected\n // @todo: resolve this if we figure out some better solution later\n maxWidth={isReactNative() && shouldWrapTitle ? '100px' : undefined}\n flexShrink={0}\n display=\"flex\"\n flexDirection=\"row\"\n >\n {title ? (\n sizeTokensMapping[size].type === 'heading' ? (\n <Heading\n as=\"h2\"\n marginTop={makeSize(sizeToken['1'])}\n size={sizeTokensMapping[size].title}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Heading>\n ) : (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n )\n ) : null}\n {titleSuffix && (\n <BaseBox marginLeft=\"spacing.3\">\n <Box {...centerBoxProps[size]}>{titleSuffix}</Box>\n </BaseBox>\n )}\n </BaseBox>\n {subtitle ? (\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted'}\n >\n {subtitle}\n </Text>\n ) : null}\n </BaseBox>\n </BaseBox>\n )}\n {renderTrailingElement()}\n\n {showCloseButton ? (\n <Box {...(hasOnlyChildren ? absolutePositionedButton : centerBoxProps[size])}>\n <IconButton\n ref={closeButtonRef}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={() => onCloseButtonClick?.()}\n />\n </Box>\n ) : null}\n {renderTrailingInteractionElementWithoutChildren()}\n </BaseBox>\n <BaseBox\n display=\"flex\"\n width=\"100%\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <Box width=\"100%\">{children}</Box>\n {renderTrailingInteractionElementWithChildren()}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider {...dividerProps} /> : null}\n </BaseBox>\n );\n};\n\nconst BaseHeader = assignWithoutSideEffects(_BaseHeader, {\n componentId: 'BaseHeader',\n});\n\nexport type { BaseHeaderProps };\nexport { BaseHeader };\n"],"names":["commonCenterBoxProps","display","alignItems","justifyContent","centerBoxProps","xlarge","Object","assign","height","large","medium","absolutePositionedButton","position","top","right","sizeTokensMapping","title","type","propRestrictionMap","Button","size","variant","IconButton","Badge","Link","Text","Amount","useTrailingRestriction","_ref","trailing","_React$useState","React","useState","_React$useState2","_slicedToArray","validatedTrailingComponent","setValidatedTrailingComponent","useEffect","isValidElement","trailingComponentType","getComponentId","restrictedProps","allowedComponents","keys","__DEV__","throwBladeError","message","join","moduleName","restrictedPropKeys","prop","_trailing$props","props","hasOwnProperty","logger","cloneElement","_BaseHeader","_ref2","subtitle","leading","titleSuffix","_ref2$showDivider","showDivider","_ref2$showBackButton","showBackButton","_ref2$showCloseButton","showCloseButton","onBackButtonClick","onCloseButtonClick","closeButtonRef","backButtonRef","testID","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","metaComponentName","paddingX","marginY","marginBottom","marginTop","_ref2$size","isDisabled","children","trailingInteractionElement","backgroundImage","_ref2$alignItems","dividerProps","_ref2$shouldAlignLead","shouldAlignLeadingAndTrailingElementsToCenter","rest","_objectWithoutProperties","_excluded","shouldWrapTitle","hasOnlyChildren","webOnlyEventHandlers","isReactNative","renderTrailingInteractionElementWithChildren","_jsx","Box","alignSelf","renderTrailingInteractionElementWithoutChildren","undefined","renderLeadingElement","Boolean","BaseBox","marginRight","renderTrailingElement","_jsxs","metaAttribute","name","makeAnalyticsAttribute","base","m","touchAction","flexDirection","userSelect","overflow","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","flexShrink","Heading","as","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","Divider","BaseHeader","assignWithoutSideEffects","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"BaseHeader.js","sources":["../../../../../src/components/BaseHeaderFooter/BaseHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { Divider } from '~components/Divider';\nimport type { DividerProps } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Heading, Text } from '~components/Typography';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ChevronLeftIcon, CloseIcon } from '~components/Icons';\nimport type { DataAnalyticsAttribute, TestID, ElementTiming } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { isReactNative, makeSize } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { logger, throwBladeError } from '~utils/logger';\nimport { size as sizeToken } from '~tokens/global';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseHeaderProps = {\n title?: string;\n subtitle?: string;\n /**\n * Leading part of the header placed at the left most side of the header\n */\n leading?: React.ReactNode;\n /**\n * Trailing part of the header placed at the right most side of the header\n */\n trailing?: React.ReactNode;\n /**\n * Placed adjacent to the title text\n */\n titleSuffix?: React.ReactNode;\n /**\n * @default true\n */\n showDivider?: boolean;\n /**\n * @default false\n */\n showBackButton?: boolean;\n\n /**\n * Slot for rendering any trailing interaction element into BaseHeader.\n *\n * E.g. Used in accordion to render CollapsibleChevronIcon\n */\n trailingInteractionElement?: React.ReactNode;\n\n /**\n * Decides size of the Header\n */\n size?: 'xlarge' | 'large' | 'medium';\n /**\n * @default true\n */\n showCloseButton?: boolean;\n\n /**\n * Disabled state of BaseHeader\n *\n * @default false\n */\n isDisabled?: boolean;\n\n paddingX?: BoxProps['paddingX'];\n marginY?: BoxProps['marginY'];\n marginTop?: BoxProps['marginTop'];\n marginBottom?: BoxProps['marginBottom'];\n alignItems?: BoxProps['alignItems'];\n dividerProps?: DividerProps;\n\n onCloseButtonClick?: () => void;\n onBackButtonClick?: () => void;\n closeButtonRef?: React.MutableRefObject<any>;\n backButtonRef?: React.MutableRefObject<any>;\n metaComponentName?: string;\n /**\n * inner child of BottomSheetHeader. Meant to be used for AutoComplete only\n */\n children?: React.ReactElement | React.ReactElement[];\n /**\n * Background image of the header\n *\n * You can use this for adding gradients.\n */\n backgroundImage?: BoxProps['backgroundImage'];\n /**\n * So we add a wrapper with custom styles in elements like leading, trailing interaction elements and trailing.\n * this props allows you to control that.\n *\n * For example, in Accordion, we add a wrapper with flex to center the icon (in some cases)\n *\n * @default false\n */\n shouldAlignLeadingAndTrailingElementsToCenter?: boolean;\n} & Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n> &\n TestID &\n ElementTiming &\n DataAnalyticsAttribute;\n\ntype TrailingComponents = 'Button' | 'Badge' | 'Link' | 'Text' | 'Amount';\n\nconst commonCenterBoxProps: BoxProps = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst centerBoxProps: { xlarge: BoxProps; large: BoxProps; medium: BoxProps } = {\n xlarge: {\n ...commonCenterBoxProps,\n height: '28px',\n },\n large: {\n ...commonCenterBoxProps,\n // We want to align title, icon, titleSuffix, trailing, closeButton to baseline\n // But we also want to keep them center aligned to each other\n // So we add a virtual Box around these slots with 28px and center align them to that box\n // We have done similar thing in figma as well (which is where this 28px comes from)\n height: '28px',\n },\n medium: {\n ...commonCenterBoxProps,\n height: '20px',\n },\n};\n\nconst absolutePositionedButton = {\n position: 'absolute',\n top: 'spacing.0',\n right: 'spacing.0',\n} as const;\n\nconst sizeTokensMapping = {\n xlarge: {\n title: 'small',\n type: 'heading',\n },\n large: {\n title: 'large',\n type: 'text',\n },\n medium: {\n title: 'medium',\n type: 'text',\n },\n} as const;\n\n// prop restriction map for corresponding sub components\nconst propRestrictionMap = {\n large: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n xlarge: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n medium: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'small',\n },\n Link: {\n size: 'small',\n },\n Text: {\n size: 'small',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'small',\n },\n },\n} as const;\n\nconst useTrailingRestriction = ({\n trailing,\n size,\n}: {\n size: NonNullable<BaseHeaderProps['size']>;\n trailing: BaseHeaderProps['trailing'];\n}): React.ReactNode => {\n const [\n validatedTrailingComponent,\n setValidatedTrailingComponent,\n ] = React.useState<React.ReactElement | null>(null);\n\n // validate and restrict sub component props in trailing prop\n React.useEffect(() => {\n if (React.isValidElement(trailing)) {\n const trailingComponentType = getComponentId(trailing) as TrailingComponents;\n const restrictedProps = propRestrictionMap[size][trailingComponentType];\n\n const allowedComponents = Object.keys(propRestrictionMap[size]);\n if (__DEV__) {\n if (!restrictedProps) {\n throwBladeError({\n message: `Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as trailing`,\n moduleName: 'Header',\n });\n }\n }\n\n const restrictedPropKeys = Object.keys(propRestrictionMap[size][trailingComponentType]);\n for (const prop of restrictedPropKeys) {\n if (trailing?.props?.hasOwnProperty(prop)) {\n logger({\n message: `Do not pass \"${prop}\" to \"${trailingComponentType}\" while inside Header trailing, because we override it.`,\n moduleName: 'Header',\n type: 'warn',\n });\n }\n }\n setValidatedTrailingComponent(\n React.cloneElement(trailing as React.ReactElement, restrictedProps),\n );\n }\n }, [trailing, size]);\n\n return validatedTrailingComponent;\n};\n\nconst _BaseHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n showDivider = true,\n showBackButton = false,\n showCloseButton = true,\n onBackButtonClick,\n onCloseButtonClick,\n closeButtonRef,\n backButtonRef,\n testID,\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n metaComponentName,\n paddingX,\n marginY,\n marginBottom,\n marginTop,\n size = 'large',\n isDisabled,\n children,\n trailingInteractionElement,\n backgroundImage,\n alignItems = 'flex-start',\n dividerProps,\n shouldAlignLeadingAndTrailingElementsToCenter = false,\n ...rest\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n const hasOnlyChildren = children && !(title || subtitle || titleSuffix || leading);\n\n const webOnlyEventHandlers: Record<string, any> = isReactNative()\n ? {}\n : {\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n };\n\n const renderTrailingInteractionElementWithChildren = (): React.ReactNode => {\n if (trailingInteractionElement && children) {\n return (\n <Box\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : 'flex-start'}\n {...centerBoxProps[size]}\n >\n {trailingInteractionElement}\n </Box>\n );\n }\n return null;\n };\n\n const renderTrailingInteractionElementWithoutChildren = (): React.ReactNode => {\n if (trailingInteractionElement && !children) {\n return (\n <Box\n {...centerBoxProps[size]}\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : undefined}\n >\n {trailingInteractionElement}\n </Box>\n );\n }\n return null;\n };\n\n const renderLeadingElement = (): React.ReactNode => {\n if (Boolean(leading)) {\n return (\n <BaseBox\n marginRight=\"spacing.3\"\n {...centerBoxProps[size]}\n alignSelf={shouldAlignLeadingAndTrailingElementsToCenter ? 'center' : undefined}\n >\n {leading}\n </BaseBox>\n );\n }\n return null;\n };\n\n const renderTrailingElement = (): React.ReactNode => {\n if (shouldAlignLeadingAndTrailingElementsToCenter && validatedTrailingComponent) {\n return (\n <BaseBox marginRight=\"spacing.5\" display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n );\n }\n if (validatedTrailingComponent) {\n return (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n );\n }\n return null;\n };\n\n return (\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n backgroundImage={backgroundImage}\n >\n <BaseBox\n marginY={marginY ?? { base: 'spacing.5', m: 'spacing.6' }}\n paddingX={paddingX ?? { base: 'spacing.5', m: 'spacing.6' }}\n marginTop={marginTop}\n marginBottom={marginBottom}\n touchAction=\"none\"\n {...webOnlyEventHandlers}\n >\n <BaseBox position=\"relative\" display=\"flex\" flexDirection=\"row\" userSelect=\"none\">\n {showBackButton ? (\n <BaseBox overflow=\"visible\" marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={backButtonRef}\n size=\"large\"\n icon={ChevronLeftIcon}\n onClick={() => onBackButtonClick?.()}\n accessibilityLabel=\"Back\"\n />\n </Box>\n </BaseBox>\n ) : null}\n {hasOnlyChildren ? null : (\n <BaseBox\n paddingRight=\"spacing.5\"\n marginRight=\"auto\"\n flex=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems={alignItems}\n >\n {renderLeadingElement()}\n <BaseBox flex=\"auto\">\n <BaseBox\n // Explicitly setting maxWidth in React Native because text is not being wrapped properly when multiple fix width components are rendered in header\n // In web, flex containers seem to work a expected\n // @todo: resolve this if we figure out some better solution later\n maxWidth={isReactNative() && shouldWrapTitle ? '100px' : undefined}\n flexShrink={0}\n display=\"flex\"\n flexDirection=\"row\"\n >\n {title ? (\n sizeTokensMapping[size].type === 'heading' ? (\n <Heading\n as=\"h2\"\n marginTop={makeSize(sizeToken['1'])}\n size={sizeTokensMapping[size].title}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Heading>\n ) : (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n )\n ) : null}\n {titleSuffix && (\n <BaseBox marginLeft=\"spacing.3\">\n <Box {...centerBoxProps[size]}>{titleSuffix}</Box>\n </BaseBox>\n )}\n </BaseBox>\n {subtitle ? (\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted'}\n >\n {subtitle}\n </Text>\n ) : null}\n </BaseBox>\n </BaseBox>\n )}\n {renderTrailingElement()}\n\n {showCloseButton ? (\n <Box {...(hasOnlyChildren ? absolutePositionedButton : centerBoxProps[size])}>\n <IconButton\n ref={closeButtonRef}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={() => onCloseButtonClick?.()}\n />\n </Box>\n ) : null}\n {renderTrailingInteractionElementWithoutChildren()}\n </BaseBox>\n <BaseBox\n display=\"flex\"\n width=\"100%\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <Box width=\"100%\">{children}</Box>\n {renderTrailingInteractionElementWithChildren()}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider {...dividerProps} /> : null}\n </BaseBox>\n );\n};\n\nconst BaseHeader = assignWithoutSideEffects(_BaseHeader, {\n componentId: 'BaseHeader',\n});\n\nexport type { BaseHeaderProps };\nexport { BaseHeader };\n"],"names":["commonCenterBoxProps","display","alignItems","justifyContent","centerBoxProps","xlarge","Object","assign","height","large","medium","absolutePositionedButton","position","top","right","sizeTokensMapping","title","type","propRestrictionMap","Button","size","variant","IconButton","Badge","Link","Text","Amount","useTrailingRestriction","_ref","trailing","_React$useState","React","useState","_React$useState2","_slicedToArray","validatedTrailingComponent","setValidatedTrailingComponent","useEffect","isValidElement","trailingComponentType","getComponentId","restrictedProps","allowedComponents","keys","__DEV__","throwBladeError","message","join","moduleName","restrictedPropKeys","prop","_trailing$props","props","hasOwnProperty","logger","cloneElement","_BaseHeader","_ref2","subtitle","leading","titleSuffix","_ref2$showDivider","showDivider","_ref2$showBackButton","showBackButton","_ref2$showCloseButton","showCloseButton","onBackButtonClick","onCloseButtonClick","closeButtonRef","backButtonRef","testID","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","metaComponentName","paddingX","marginY","marginBottom","marginTop","_ref2$size","isDisabled","children","trailingInteractionElement","backgroundImage","_ref2$alignItems","dividerProps","_ref2$shouldAlignLead","shouldAlignLeadingAndTrailingElementsToCenter","rest","_objectWithoutProperties","_excluded","shouldWrapTitle","hasOnlyChildren","webOnlyEventHandlers","isReactNative","renderTrailingInteractionElementWithChildren","_jsx","Box","alignSelf","renderTrailingInteractionElementWithoutChildren","undefined","renderLeadingElement","Boolean","BaseBox","marginRight","renderTrailingElement","_jsxs","metaAttribute","name","makeAnalyticsAttribute","base","m","touchAction","flexDirection","userSelect","overflow","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","flexShrink","Heading","as","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","Divider","BaseHeader","assignWithoutSideEffects","componentId"],"mappings":"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"}
@@ -320,6 +320,7 @@ import '../Icons/RefreshIcon/RefreshIcon.js';
320
320
  import '../Icons/RepeatIcon/RepeatIcon.js';
321
321
  import '../Icons/ReportsIcon/ReportsIcon.js';
322
322
  import '../Icons/ResizerIcon/ResizerIcon.js';
323
+ import '../Icons/ReticleIcon/ReticleIcon.js';
323
324
  import '../Icons/RewindIcon/RewindIcon.js';
324
325
  import '../Icons/RotateClockWiseIcon/RotateClockWiseIcon.js';
325
326
  import '../Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.js';
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetCommon.js","sources":["../../../../../src/components/BottomSheet/BottomSheetCommon.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable react/display-name */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { useBottomSheetContext } from './BottomSheetContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { IconButton } from '~components/Button/IconButton';\nimport { CloseIcon } from '~components/Icons';\nimport type { BladeElementRef } from '~utils/types';\nimport { isReactNative } from '~utils';\nimport { size } from '~tokens/global';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeSize } from '~utils/makeSize';\n\ntype BottomSheetEmptyHeaderProps = Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n>;\n\nconst BottomSheetEmptyHeader = React.forwardRef<BladeElementRef, BottomSheetEmptyHeaderProps>(\n (\n {\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n },\n ref,\n ) => {\n const { close, isDismissible, isHeaderFloating } = useBottomSheetContext();\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 let topOffset: 'spacing.5' | 'spacing.0' | undefined = isHeaderFloating\n ? 'spacing.5'\n : undefined;\n if (isReactNative()) {\n topOffset = 'spacing.0';\n }\n\n return (\n <BaseBox\n position={isHeaderFloating ? 'absolute' : 'relative'}\n // bottomsheet empty header suppose to be 28px in height\n // the grab handle height is 20px & here we are adding 8px\n // total = 28px\n height={makeSize(size[8])}\n touchAction=\"none\"\n top={topOffset}\n right=\"spacing.0\"\n {...webOnlyEventHandlers}\n >\n {isDismissible && (\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n position=\"absolute\"\n // the bottomsheet handle has a height of 16px + 4px padding\n // we need to make put the close button at 16px from top so adjusting the 4px\n // cannot use position=fixed because RN won't support it\n top={isHeaderFloating ? 'spacing.0' : makeSpace(-size[4])}\n right=\"spacing.5\"\n width={makeSize(size[28])}\n height={makeSize(size[28])}\n flexShrink={0}\n backgroundColor=\"popup.background.gray.subtle\"\n borderRadius=\"max\"\n zIndex={100}\n >\n <IconButton\n ref={ref}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={() => close?.()}\n />\n </BaseBox>\n )}\n </BaseBox>\n );\n },\n);\n\nexport { BottomSheetEmptyHeader };\n"],"names":["BottomSheetEmptyHeader","React","forwardRef","_ref","ref","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","_useBottomSheetContex","useBottomSheetContext","close","isDismissible","isHeaderFloating","webOnlyEventHandlers","isReactNative","topOffset","undefined","_jsx","BaseBox","Object","assign","position","height","makeSize","size","touchAction","top","right","children","display","alignItems","justifyContent","makeSpace","width","flexShrink","backgroundColor","borderRadius","zIndex","IconButton","icon","CloseIcon","accessibilityLabel","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"BottomSheetCommon.js","sources":["../../../../../src/components/BottomSheet/BottomSheetCommon.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable react/display-name */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { useBottomSheetContext } from './BottomSheetContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { IconButton } from '~components/Button/IconButton';\nimport { CloseIcon } from '~components/Icons';\nimport type { BladeElementRef } from '~utils/types';\nimport { isReactNative } from '~utils';\nimport { size } from '~tokens/global';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeSize } from '~utils/makeSize';\n\ntype BottomSheetEmptyHeaderProps = Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n>;\n\nconst BottomSheetEmptyHeader = React.forwardRef<BladeElementRef, BottomSheetEmptyHeaderProps>(\n (\n {\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n },\n ref,\n ) => {\n const { close, isDismissible, isHeaderFloating } = useBottomSheetContext();\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 let topOffset: 'spacing.5' | 'spacing.0' | undefined = isHeaderFloating\n ? 'spacing.5'\n : undefined;\n if (isReactNative()) {\n topOffset = 'spacing.0';\n }\n\n return (\n <BaseBox\n position={isHeaderFloating ? 'absolute' : 'relative'}\n // bottomsheet empty header suppose to be 28px in height\n // the grab handle height is 20px & here we are adding 8px\n // total = 28px\n height={makeSize(size[8])}\n touchAction=\"none\"\n top={topOffset}\n right=\"spacing.0\"\n {...webOnlyEventHandlers}\n >\n {isDismissible && (\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n position=\"absolute\"\n // the bottomsheet handle has a height of 16px + 4px padding\n // we need to make put the close button at 16px from top so adjusting the 4px\n // cannot use position=fixed because RN won't support it\n top={isHeaderFloating ? 'spacing.0' : makeSpace(-size[4])}\n right=\"spacing.5\"\n width={makeSize(size[28])}\n height={makeSize(size[28])}\n flexShrink={0}\n backgroundColor=\"popup.background.gray.subtle\"\n borderRadius=\"max\"\n zIndex={100}\n >\n <IconButton\n ref={ref}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={() => close?.()}\n />\n </BaseBox>\n )}\n </BaseBox>\n );\n },\n);\n\nexport { BottomSheetEmptyHeader };\n"],"names":["BottomSheetEmptyHeader","React","forwardRef","_ref","ref","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","_useBottomSheetContex","useBottomSheetContext","close","isDismissible","isHeaderFloating","webOnlyEventHandlers","isReactNative","topOffset","undefined","_jsx","BaseBox","Object","assign","position","height","makeSize","size","touchAction","top","right","children","display","alignItems","justifyContent","makeSpace","width","flexShrink","backgroundColor","borderRadius","zIndex","IconButton","icon","CloseIcon","accessibilityLabel","onClick"],"mappings":"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"}
@@ -326,6 +326,7 @@ import '../../Icons/RefreshIcon/RefreshIcon.js';
326
326
  import '../../Icons/RepeatIcon/RepeatIcon.js';
327
327
  import '../../Icons/ReportsIcon/ReportsIcon.js';
328
328
  import '../../Icons/ResizerIcon/ResizerIcon.js';
329
+ import '../../Icons/ReticleIcon/ReticleIcon.js';
329
330
  import '../../Icons/RewindIcon/RewindIcon.js';
330
331
  import '../../Icons/RotateClockWiseIcon/RotateClockWiseIcon.js';
331
332
  import '../../Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.js';
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationButton.js","sources":["../../../../../../src/components/Carousel/NavigationButton/NavigationButton.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React from 'react';\nimport type { NavigationButtonProps } from './types';\nimport { StyledNavigationButton } from './StyledNavigationButton';\nimport { isReactNative } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { ChevronLeftIcon, ChevronRightIcon } from '~components/Icons';\nimport { useTheme } from '~components/BladeProvider';\n\nconst NavigationButton = ({ type, variant, onClick }: NavigationButtonProps): ReactElement => {\n const { platform } = useTheme();\n const isMobile = platform === 'onMobile';\n const iconSize = isMobile ? 'small' : 'medium';\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n const getIconColor = () => {\n if (!isReactNative()) {\n return 'currentColor' as const;\n }\n\n // on react native we cannot rely on currentColor thus need to manually pass iconColor\n const iconColor = {\n filled: 'interactive.icon.staticBlack.muted',\n stroked: 'interactive.icon.gray.normal',\n } as const;\n\n return iconColor[variant];\n };\n\n return (\n <StyledNavigationButton\n onClick={(e) => {\n if (e) {\n e.stopPropagation();\n }\n onClick?.(e);\n }}\n variant={variant}\n {...metaAttribute({ name: 'NavigationButton' })}\n {...makeAccessible({ label: type === 'previous' ? 'Previous Slide' : 'Next Slide' })}\n >\n {type === 'next' ? (\n <ChevronRightIcon size={iconSize} color={getIconColor()} />\n ) : (\n <ChevronLeftIcon size={iconSize} color={getIconColor()} />\n )}\n </StyledNavigationButton>\n );\n};\n\nexport type { NavigationButtonProps };\nexport { NavigationButton };\n"],"names":["NavigationButton","_ref","type","variant","onClick","_useTheme","useTheme","platform","isMobile","iconSize","getIconColor","isReactNative","iconColor","filled","stroked","_jsx","StyledNavigationButton","Object","assign","e","stopPropagation","metaAttribute","name","makeAccessible","label","children","ChevronRightIcon","size","color","ChevronLeftIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,IAAAA,gBAAgB,CAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,CAAwE,CAAlE,IAAAC,IAAI,CAAAD,IAAA,CAAJC,IAAI,CAAEC,OAAO,CAAAF,IAAA,CAAPE,OAAO,CAAEC,QAAO,CAAAH,IAAA,CAAPG,OAAO,CAChD,IAAAC,SAAA,CAAqBC,QAAQ,EAAE,CAAvBC,QAAQ,CAAAF,SAAA,CAARE,QAAQ,CAChB,IAAMC,QAAQ,CAAGD,QAAQ,GAAK,UAAU,CACxC,IAAME,QAAQ,CAAGD,QAAQ,CAAG,OAAO,CAAG,QAAQ,CAG9C,IAAME,YAAY,CAAG,SAAfA,YAAYA,EAAS,CACzB,GAAI,CAACC,aAAa,EAAE,CAAE,CACpB,OAAO,cAAc,CACvB,CAGA,IAAMC,SAAS,CAAG,CAChBC,MAAM,CAAE,oCAAoC,CAC5CC,OAAO,CAAE,8BACX,CAAU,CAEV,OAAOF,SAAS,CAACT,OAAO,CAAC,CAC3B,CAAC,CAED,OACEY,GAAA,CAACC,sBAAsB,CAAAC,MAAA,CAAAC,MAAA,CAAA,CACrBd,OAAO,CAAE,SAATA,OAAOA,CAAGe,CAAC,CAAK,CACd,GAAIA,CAAC,CAAE,CACLA,CAAC,CAACC,eAAe,EAAE,CACrB,CACAhB,QAAO,EAAPA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,QAAO,CAAGe,CAAC,CAAC,CACd,CAAE,CACFhB,OAAO,CAAEA,OAAQ,CAAA,CACbkB,aAAa,CAAC,CAAEC,IAAI,CAAE,kBAAmB,CAAC,CAAC,CAC3CC,cAAc,CAAC,CAAEC,KAAK,CAAEtB,IAAI,GAAK,UAAU,CAAG,gBAAgB,CAAG,YAAa,CAAC,CAAC,CAAAuB,CAAAA,QAAA,CAEnFvB,IAAI,GAAK,MAAM,CACda,GAAA,CAACW,gBAAgB,CAACC,CAAAA,IAAI,CAAElB,QAAS,CAACmB,KAAK,CAAElB,YAAY,EAAG,CAAE,CAAC,CAE3DK,GAAA,CAACc,eAAe,CAACF,CAAAA,IAAI,CAAElB,QAAS,CAACmB,KAAK,CAAElB,YAAY,EAAG,CAAE,CAC1D,CACqB,CAAA,CAAC,CAE7B;;;;"}
1
+ {"version":3,"file":"NavigationButton.js","sources":["../../../../../../src/components/Carousel/NavigationButton/NavigationButton.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React from 'react';\nimport type { NavigationButtonProps } from './types';\nimport { StyledNavigationButton } from './StyledNavigationButton';\nimport { isReactNative } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { ChevronLeftIcon, ChevronRightIcon } from '~components/Icons';\nimport { useTheme } from '~components/BladeProvider';\n\nconst NavigationButton = ({ type, variant, onClick }: NavigationButtonProps): ReactElement => {\n const { platform } = useTheme();\n const isMobile = platform === 'onMobile';\n const iconSize = isMobile ? 'small' : 'medium';\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n const getIconColor = () => {\n if (!isReactNative()) {\n return 'currentColor' as const;\n }\n\n // on react native we cannot rely on currentColor thus need to manually pass iconColor\n const iconColor = {\n filled: 'interactive.icon.staticBlack.muted',\n stroked: 'interactive.icon.gray.normal',\n } as const;\n\n return iconColor[variant];\n };\n\n return (\n <StyledNavigationButton\n onClick={(e) => {\n if (e) {\n e.stopPropagation();\n }\n onClick?.(e);\n }}\n variant={variant}\n {...metaAttribute({ name: 'NavigationButton' })}\n {...makeAccessible({ label: type === 'previous' ? 'Previous Slide' : 'Next Slide' })}\n >\n {type === 'next' ? (\n <ChevronRightIcon size={iconSize} color={getIconColor()} />\n ) : (\n <ChevronLeftIcon size={iconSize} color={getIconColor()} />\n )}\n </StyledNavigationButton>\n );\n};\n\nexport type { NavigationButtonProps };\nexport { NavigationButton };\n"],"names":["NavigationButton","_ref","type","variant","onClick","_useTheme","useTheme","platform","isMobile","iconSize","getIconColor","isReactNative","iconColor","filled","stroked","_jsx","StyledNavigationButton","Object","assign","e","stopPropagation","metaAttribute","name","makeAccessible","label","children","ChevronRightIcon","size","color","ChevronLeftIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,IAAAA,gBAAgB,CAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,CAAwE,CAAlE,IAAAC,IAAI,CAAAD,IAAA,CAAJC,IAAI,CAAEC,OAAO,CAAAF,IAAA,CAAPE,OAAO,CAAEC,QAAO,CAAAH,IAAA,CAAPG,OAAO,CAChD,IAAAC,SAAA,CAAqBC,QAAQ,EAAE,CAAvBC,QAAQ,CAAAF,SAAA,CAARE,QAAQ,CAChB,IAAMC,QAAQ,CAAGD,QAAQ,GAAK,UAAU,CACxC,IAAME,QAAQ,CAAGD,QAAQ,CAAG,OAAO,CAAG,QAAQ,CAG9C,IAAME,YAAY,CAAG,SAAfA,YAAYA,EAAS,CACzB,GAAI,CAACC,aAAa,EAAE,CAAE,CACpB,OAAO,cAAc,CACvB,CAGA,IAAMC,SAAS,CAAG,CAChBC,MAAM,CAAE,oCAAoC,CAC5CC,OAAO,CAAE,8BACX,CAAU,CAEV,OAAOF,SAAS,CAACT,OAAO,CAAC,CAC3B,CAAC,CAED,OACEY,GAAA,CAACC,sBAAsB,CAAAC,MAAA,CAAAC,MAAA,CAAA,CACrBd,OAAO,CAAE,SAATA,OAAOA,CAAGe,CAAC,CAAK,CACd,GAAIA,CAAC,CAAE,CACLA,CAAC,CAACC,eAAe,EAAE,CACrB,CACAhB,QAAO,EAAPA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,QAAO,CAAGe,CAAC,CAAC,CACd,CAAE,CACFhB,OAAO,CAAEA,OAAQ,CAAA,CACbkB,aAAa,CAAC,CAAEC,IAAI,CAAE,kBAAmB,CAAC,CAAC,CAC3CC,cAAc,CAAC,CAAEC,KAAK,CAAEtB,IAAI,GAAK,UAAU,CAAG,gBAAgB,CAAG,YAAa,CAAC,CAAC,CAAAuB,CAAAA,QAAA,CAEnFvB,IAAI,GAAK,MAAM,CACda,GAAA,CAACW,gBAAgB,CAACC,CAAAA,IAAI,CAAElB,QAAS,CAACmB,KAAK,CAAElB,YAAY,EAAG,CAAE,CAAC,CAE3DK,GAAA,CAACc,eAAe,CAACF,CAAAA,IAAI,CAAElB,QAAS,CAACmB,KAAK,CAAElB,YAAY,EAAG,CAAE,CAC1D,CACqB,CAAA,CAAC,CAE7B;;;;"}
@@ -326,6 +326,7 @@ import '../Icons/RefreshIcon/RefreshIcon.js';
326
326
  import '../Icons/RepeatIcon/RepeatIcon.js';
327
327
  import '../Icons/ReportsIcon/ReportsIcon.js';
328
328
  import '../Icons/ResizerIcon/ResizerIcon.js';
329
+ import '../Icons/ReticleIcon/ReticleIcon.js';
329
330
  import '../Icons/RewindIcon/RewindIcon.js';
330
331
  import '../Icons/RotateClockWiseIcon/RotateClockWiseIcon.js';
331
332
  import '../Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.js';
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleChevronIcon.native.js","sources":["../../../../../src/components/Collapsible/CollapsibleChevronIcon.native.tsx"],"sourcesContent":["import Animated, { useAnimatedStyle, useDerivedValue, withTiming } from 'react-native-reanimated';\nimport { useCollapsible } from './CollapsibleContext';\nimport {\n getCollapsibleChevronIconTransforms,\n getTransitionDuration,\n getTransitionEasing,\n} from './commonStyles';\nimport { castNativeType } from '~utils';\nimport type { IconComponent } from '~components/Icons';\nimport { ChevronDownIcon } from '~components/Icons';\nimport { useTheme } from '~components/BladeProvider';\nimport { makeAccessible } from '~utils/makeAccessible';\n\n// Not really an IconComponent, a wrapper is needed for animating the icon inside\nconst CollapsibleChevronIcon: IconComponent = (props) => {\n const { isExpanded } = useCollapsible();\n const { theme } = useTheme();\n\n const { transformExpanded, transformCollapsed } = getCollapsibleChevronIconTransforms();\n const duration = castNativeType(getTransitionDuration(theme));\n const easing = castNativeType(getTransitionEasing(theme));\n\n const rotateZ = useDerivedValue(() =>\n withTiming(isExpanded ? transformExpanded : transformCollapsed, { duration, easing }),\n );\n const animatedStyles = useAnimatedStyle(() => ({\n transform: [{ rotateZ: `${rotateZ.value}deg` }],\n }));\n\n return (\n <Animated.View style={animatedStyles} {...makeAccessible({ hidden: true })}>\n <ChevronDownIcon {...props} />\n </Animated.View>\n );\n};\n\nexport { CollapsibleChevronIcon };\n"],"names":["CollapsibleChevronIcon","props","_useCollapsible","useCollapsible","isExpanded","_useTheme","useTheme","theme","_getCollapsibleChevro","getCollapsibleChevronIconTransforms","transformExpanded","transformCollapsed","duration","castNativeType","getTransitionDuration","easing","getTransitionEasing","rotateZ","useDerivedValue","withTiming","animatedStyles","useAnimatedStyle","transform","value","_jsx","Animated","View","Object","assign","style","makeAccessible","hidden","children","ChevronDownIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcM,IAAAA,sBAAqC,CAAG,SAAxCA,sBAAqCA,CAAIC,KAAK,CAAK,CACvD,IAAAC,eAAA,CAAuBC,cAAc,EAAE,CAA/BC,UAAU,CAAAF,eAAA,CAAVE,UAAU,CAClB,IAAAC,SAAA,CAAkBC,QAAQ,EAAE,CAApBC,KAAK,CAAAF,SAAA,CAALE,KAAK,CAEb,IAAAC,qBAAA,CAAkDC,mCAAmC,EAAE,CAA/EC,iBAAiB,CAAAF,qBAAA,CAAjBE,iBAAiB,CAAEC,kBAAkB,CAAAH,qBAAA,CAAlBG,kBAAkB,CAC7C,IAAMC,QAAQ,CAAGC,cAAc,CAACC,qBAAqB,CAACP,KAAK,CAAC,CAAC,CAC7D,IAAMQ,MAAM,CAAGF,cAAc,CAACG,mBAAmB,CAACT,KAAK,CAAC,CAAC,CAEzD,IAAMU,OAAO,CAAGC,eAAe,CAAC,UAC9B,CAAA,OAAAC,UAAU,CAACf,UAAU,CAAGM,iBAAiB,CAAGC,kBAAkB,CAAE,CAAEC,QAAQ,CAARA,QAAQ,CAAEG,MAAM,CAANA,MAAO,CAAC,CAAC,CAAA,CACvF,CAAC,CACD,IAAMK,cAAc,CAAGC,gBAAgB,CAAC,UAAA,CAAA,OAAO,CAC7CC,SAAS,CAAE,CAAC,CAAEL,OAAO,CAAE,CAAGA,EAAAA,OAAO,CAACM,KAAK,CAAA,GAAA,CAAM,CAAC,CAChD,CAAC,EAAC,CAAC,CAEH,OACEC,GAAA,CAACC,QAAQ,CAACC,IAAI,CAAAC,MAAA,CAAAC,MAAA,EAACC,KAAK,CAAET,cAAe,CAAA,CAAKU,cAAc,CAAC,CAAEC,MAAM,CAAE,IAAK,CAAC,CAAC,CAAA,CAAAC,QAAA,CACxER,GAAA,CAACS,eAAe,CAAAN,MAAA,CAAAC,MAAA,CAAA,EAAA,CAAK3B,KAAK,CAAG,CAAC,CAAA,CACjB,CAAC,CAEpB;;;;"}
1
+ {"version":3,"file":"CollapsibleChevronIcon.native.js","sources":["../../../../../src/components/Collapsible/CollapsibleChevronIcon.native.tsx"],"sourcesContent":["import Animated, { useAnimatedStyle, useDerivedValue, withTiming } from 'react-native-reanimated';\nimport { useCollapsible } from './CollapsibleContext';\nimport {\n getCollapsibleChevronIconTransforms,\n getTransitionDuration,\n getTransitionEasing,\n} from './commonStyles';\nimport { castNativeType } from '~utils';\nimport type { IconComponent } from '~components/Icons';\nimport { ChevronDownIcon } from '~components/Icons';\nimport { useTheme } from '~components/BladeProvider';\nimport { makeAccessible } from '~utils/makeAccessible';\n\n// Not really an IconComponent, a wrapper is needed for animating the icon inside\nconst CollapsibleChevronIcon: IconComponent = (props) => {\n const { isExpanded } = useCollapsible();\n const { theme } = useTheme();\n\n const { transformExpanded, transformCollapsed } = getCollapsibleChevronIconTransforms();\n const duration = castNativeType(getTransitionDuration(theme));\n const easing = castNativeType(getTransitionEasing(theme));\n\n const rotateZ = useDerivedValue(() =>\n withTiming(isExpanded ? transformExpanded : transformCollapsed, { duration, easing }),\n );\n const animatedStyles = useAnimatedStyle(() => ({\n transform: [{ rotateZ: `${rotateZ.value}deg` }],\n }));\n\n return (\n <Animated.View style={animatedStyles} {...makeAccessible({ hidden: true })}>\n <ChevronDownIcon {...props} />\n </Animated.View>\n );\n};\n\nexport { CollapsibleChevronIcon };\n"],"names":["CollapsibleChevronIcon","props","_useCollapsible","useCollapsible","isExpanded","_useTheme","useTheme","theme","_getCollapsibleChevro","getCollapsibleChevronIconTransforms","transformExpanded","transformCollapsed","duration","castNativeType","getTransitionDuration","easing","getTransitionEasing","rotateZ","useDerivedValue","withTiming","animatedStyles","useAnimatedStyle","transform","value","_jsx","Animated","View","Object","assign","style","makeAccessible","hidden","children","ChevronDownIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcM,IAAAA,sBAAqC,CAAG,SAAxCA,sBAAqCA,CAAIC,KAAK,CAAK,CACvD,IAAAC,eAAA,CAAuBC,cAAc,EAAE,CAA/BC,UAAU,CAAAF,eAAA,CAAVE,UAAU,CAClB,IAAAC,SAAA,CAAkBC,QAAQ,EAAE,CAApBC,KAAK,CAAAF,SAAA,CAALE,KAAK,CAEb,IAAAC,qBAAA,CAAkDC,mCAAmC,EAAE,CAA/EC,iBAAiB,CAAAF,qBAAA,CAAjBE,iBAAiB,CAAEC,kBAAkB,CAAAH,qBAAA,CAAlBG,kBAAkB,CAC7C,IAAMC,QAAQ,CAAGC,cAAc,CAACC,qBAAqB,CAACP,KAAK,CAAC,CAAC,CAC7D,IAAMQ,MAAM,CAAGF,cAAc,CAACG,mBAAmB,CAACT,KAAK,CAAC,CAAC,CAEzD,IAAMU,OAAO,CAAGC,eAAe,CAAC,UAC9B,CAAA,OAAAC,UAAU,CAACf,UAAU,CAAGM,iBAAiB,CAAGC,kBAAkB,CAAE,CAAEC,QAAQ,CAARA,QAAQ,CAAEG,MAAM,CAANA,MAAO,CAAC,CAAC,CAAA,CACvF,CAAC,CACD,IAAMK,cAAc,CAAGC,gBAAgB,CAAC,UAAA,CAAA,OAAO,CAC7CC,SAAS,CAAE,CAAC,CAAEL,OAAO,CAAE,CAAGA,EAAAA,OAAO,CAACM,KAAK,CAAA,GAAA,CAAM,CAAC,CAChD,CAAC,EAAC,CAAC,CAEH,OACEC,GAAA,CAACC,QAAQ,CAACC,IAAI,CAAAC,MAAA,CAAAC,MAAA,EAACC,KAAK,CAAET,cAAe,CAAA,CAAKU,cAAc,CAAC,CAAEC,MAAM,CAAE,IAAK,CAAC,CAAC,CAAA,CAAAC,QAAA,CACxER,GAAA,CAACS,eAAe,CAAAN,MAAA,CAAAC,MAAA,CAAA,EAAA,CAAK3B,KAAK,CAAG,CAAC,CAAA,CACjB,CAAC,CAEpB;;;;"}
@@ -324,6 +324,7 @@ import '../Icons/RefreshIcon/RefreshIcon.js';
324
324
  import '../Icons/RepeatIcon/RepeatIcon.js';
325
325
  import '../Icons/ReportsIcon/ReportsIcon.js';
326
326
  import '../Icons/ResizerIcon/ResizerIcon.js';
327
+ import '../Icons/ReticleIcon/ReticleIcon.js';
327
328
  import '../Icons/RewindIcon/RewindIcon.js';
328
329
  import RotateClockWiseIcon from '../Icons/RotateClockWiseIcon/RotateClockWiseIcon.js';
329
330
  import '../Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.js';