@razorpay/blade 12.33.1 → 12.34.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 (174) hide show
  1. package/build/lib/native/components/Accordion/AccordionButton.native.js +1 -1
  2. package/build/lib/native/components/Accordion/AccordionButton.native.js.map +1 -1
  3. package/build/lib/native/components/Accordion/AccordionItemHeader.js +2 -1
  4. package/build/lib/native/components/Accordion/AccordionItemHeader.js.map +1 -1
  5. package/build/lib/native/components/Accordion/commonStyles.js +1 -1
  6. package/build/lib/native/components/Accordion/commonStyles.js.map +1 -1
  7. package/build/lib/native/components/ActionList/ActionListItem.js +1 -1
  8. package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
  9. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +1 -1
  10. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  11. package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
  12. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  13. package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
  14. package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
  15. package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
  16. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  17. package/build/lib/native/components/Dropdown/DropdownButton.js +1 -1
  18. package/build/lib/native/components/Dropdown/DropdownButton.js.map +1 -1
  19. package/build/lib/native/components/Dropdown/InputDropdownButton.native.js +7 -0
  20. package/build/lib/native/components/Dropdown/InputDropdownButton.native.js.map +1 -0
  21. package/build/lib/native/components/Dropdown/dropdownComponentIds.js +1 -1
  22. package/build/lib/native/components/Dropdown/dropdownComponentIds.js.map +1 -1
  23. package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
  24. package/build/lib/native/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +12 -0
  25. package/build/lib/native/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
  26. package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
  27. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  28. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +1 -1
  29. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  30. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +1 -1
  31. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  32. package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +1 -1
  33. package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  34. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +2 -5
  35. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  36. package/build/lib/native/components/Input/SearchInput/SearchInput.js +12 -3
  37. package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
  38. package/build/lib/native/components/Input/TextInput/TextInput.js +11 -3
  39. package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
  40. package/build/lib/native/components/Typography/Text/Text.js +1 -1
  41. package/build/lib/native/components/Typography/Text/Text.js.map +1 -1
  42. package/build/lib/native/components/index.js +2 -0
  43. package/build/lib/native/components/index.js.map +1 -1
  44. package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js +14 -0
  45. package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
  46. package/build/lib/web/development/components/Accordion/AccordionItemHeader.js +18 -2
  47. package/build/lib/web/development/components/Accordion/AccordionItemHeader.js.map +1 -1
  48. package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js +4 -3
  49. package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js.map +1 -1
  50. package/build/lib/web/development/components/Accordion/commonStyles.js +1 -11
  51. package/build/lib/web/development/components/Accordion/commonStyles.js.map +1 -1
  52. package/build/lib/web/development/components/ActionList/ActionListItem.js +2 -1
  53. package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
  54. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +6 -3
  55. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  56. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +24 -3
  57. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  58. package/build/lib/web/development/components/Button/BaseButton/StyledBaseButton.web.js +14 -2
  59. package/build/lib/web/development/components/Button/BaseButton/StyledBaseButton.web.js.map +1 -1
  60. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +19 -0
  61. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
  62. package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -1
  63. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  64. package/build/lib/web/development/components/Dropdown/DropdownButton.js +4 -1
  65. package/build/lib/web/development/components/Dropdown/DropdownButton.js.map +1 -1
  66. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +4 -2
  67. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  68. package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js +180 -0
  69. package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js.map +1 -0
  70. package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js +2 -1
  71. package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js.map +1 -1
  72. package/build/lib/web/development/components/Dropdown/index.js +1 -0
  73. package/build/lib/web/development/components/Dropdown/index.js.map +1 -1
  74. package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
  75. package/build/lib/web/development/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +40 -0
  76. package/build/lib/web/development/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
  77. package/build/lib/web/development/components/Icons/ChevronUpDownIcon/index.js +2 -0
  78. package/build/lib/web/development/components/Icons/ChevronUpDownIcon/index.js.map +1 -0
  79. package/build/lib/web/development/components/Icons/index.js +1 -0
  80. package/build/lib/web/development/components/Icons/index.js.map +1 -1
  81. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +10 -4
  82. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  83. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +32 -8
  84. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  85. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
  86. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  87. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +8 -4
  88. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  89. package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +1 -1
  90. package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  91. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +25 -124
  92. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  93. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js +6 -4
  94. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
  95. package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +97 -30
  96. package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
  97. package/build/lib/web/development/components/Input/TextInput/TextInput.js +123 -31
  98. package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
  99. package/build/lib/web/development/components/Toast/ToastContainer.web.js +12 -8
  100. package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -1
  101. package/build/lib/web/development/components/Typography/Text/Text.js +0 -1
  102. package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
  103. package/build/lib/web/development/components/index.js +2 -0
  104. package/build/lib/web/development/components/index.js.map +1 -1
  105. package/build/lib/web/development/utils/useControlledDropdownInput/index.js +2 -0
  106. package/build/lib/web/development/utils/useControlledDropdownInput/index.js.map +1 -0
  107. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
  108. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
  109. package/build/lib/web/production/components/Accordion/AccordionItemHeader.js +18 -2
  110. package/build/lib/web/production/components/Accordion/AccordionItemHeader.js.map +1 -1
  111. package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js +4 -3
  112. package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js.map +1 -1
  113. package/build/lib/web/production/components/Accordion/commonStyles.js +1 -11
  114. package/build/lib/web/production/components/Accordion/commonStyles.js.map +1 -1
  115. package/build/lib/web/production/components/ActionList/ActionListItem.js +2 -1
  116. package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
  117. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +6 -3
  118. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  119. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +24 -3
  120. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  121. package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js +14 -2
  122. package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js.map +1 -1
  123. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +19 -0
  124. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
  125. package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -1
  126. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  127. package/build/lib/web/production/components/Dropdown/DropdownButton.js +4 -1
  128. package/build/lib/web/production/components/Dropdown/DropdownButton.js.map +1 -1
  129. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +4 -2
  130. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  131. package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js +180 -0
  132. package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js.map +1 -0
  133. package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js +2 -1
  134. package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js.map +1 -1
  135. package/build/lib/web/production/components/Dropdown/index.js +1 -0
  136. package/build/lib/web/production/components/Dropdown/index.js.map +1 -1
  137. package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
  138. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +40 -0
  139. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
  140. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js +2 -0
  141. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js.map +1 -0
  142. package/build/lib/web/production/components/Icons/index.js +1 -0
  143. package/build/lib/web/production/components/Icons/index.js.map +1 -1
  144. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +10 -4
  145. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  146. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +32 -8
  147. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  148. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
  149. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  150. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +8 -4
  151. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  152. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +1 -1
  153. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  154. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +25 -124
  155. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  156. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +6 -4
  157. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
  158. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +97 -30
  159. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
  160. package/build/lib/web/production/components/Input/TextInput/TextInput.js +123 -31
  161. package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
  162. package/build/lib/web/production/components/Toast/ToastContainer.web.js +12 -8
  163. package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -1
  164. package/build/lib/web/production/components/Typography/Text/Text.js +0 -1
  165. package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
  166. package/build/lib/web/production/components/index.js +2 -0
  167. package/build/lib/web/production/components/index.js.map +1 -1
  168. package/build/lib/web/production/utils/useControlledDropdownInput/index.js +2 -0
  169. package/build/lib/web/production/utils/useControlledDropdownInput/index.js.map +1 -0
  170. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
  171. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
  172. package/build/types/components/index.d.ts +2875 -2768
  173. package/build/types/components/index.native.d.ts +2719 -2686
  174. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"BaseButton.js","sources":["../../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography } from './buttonTokens';\nimport {\n textColor,\n backgroundColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?: 'primary' | 'white' | 'positive' | 'negative' | 'notice' | 'information' | 'neutral';\n} & TestID &\n StyledPropsBlade &\n BladeCommonEvents;\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'focus' | 'disabled';\n color: BaseButtonProps['color'];\n};\n\nconst getRenderElement = (href?: string): 'a' | 'button' | undefined => {\n if (isReactNative()) {\n return undefined; // as property doesn't work with react native\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n};\n\nexport const getBackgroundColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'background' | 'border';\n}): DotNotationToken<Theme['colors']> => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokens = backgroundColor(property);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getTextColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'icon' | 'text';\n}): DotNotationToken<Theme['colors']> => {\n const tokens = textColor(property);\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n childrenString?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n color: BaseButtonProps['color'];\n}): BaseButtonStyleProps => {\n if (variant === 'tertiary' && color !== 'primary' && color !== 'white') {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n const props: BaseButtonStyleProps = {\n iconSize: isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size],\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n height: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n width: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n iconPadding:\n hasIcon && childrenString?.trim() ? `spacing.${buttonIconPadding[size]}` : undefined,\n iconColor: getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'default',\n }) as IconColor,\n textColor: getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly ? makeSpace(0) : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: childrenString?.trim(),\n defaultBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'default' }),\n ),\n defaultBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'default' }),\n ),\n hoverBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'hover' }),\n ),\n hoverBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'hover' }),\n ),\n focusBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'focus' }),\n ),\n focusBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'focus' }),\n ),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderWidth: variant == 'secondary' ? makeBorderSize(theme.border.width.thin) : '0px',\n borderRadius: makeBorderSize(theme.border.radius.medium),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard',\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'disabled' }),\n );\n const disabledBorderColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'disabled' }),\n );\n props.iconColor = getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBorderColor = disabledBorderColor;\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBorderColor = disabledBorderColor;\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBorderColor = disabledBorderColor;\n }\n\n return props;\n};\n\nconst ButtonContent = styled(BaseBox)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst _BaseButton: React.ForwardRefRenderFunction<BladeElementRef, BaseButtonProps> = (\n {\n href,\n target,\n rel,\n tabIndex,\n id,\n variant = 'primary',\n color = 'primary',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n type = 'button',\n children,\n testID,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n accessibilityProps,\n onTouchEnd,\n onTouchStart,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n // button should be allowed to be disabled in any case...\n // either through button group or we should allow to disable an individual button\n const disabled = buttonGroupProps.isDisabled || isLoading || (isDisabled && !isLink);\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={variant}\n isLoading={isLoading}\n disabled={disabled}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner accessibilityLabel=\"Loading\" size={spinnerSize} color={color} />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox\n paddingLeft={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref","property","variant","state","color","_state","tokens","backgroundColor","white","Error","concat","base","getTextColorToken","_ref2","textColor","getProps","_ref3","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","props","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconPadding","buttonIconPadding","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","getIn","colors","defaultBorderColor","hoverBackgroundColor","hoverBorderColor","focusBackgroundColor","focusBorderColor","focusRingColor","borderWidth","makeBorderSize","border","thin","borderRadius","radius","medium","motionDuration","motionEasing","disabledBackgroundColor","disabledBorderColor","ButtonContent","styled","BaseBox","withConfig","displayName","componentId","_ref4","isHidden","opacity","_BaseButton","_ref5","ref","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_accessibilityProps$r","_buttonGroupProps$isF","target","rel","tabIndex","id","_ref5$variant","_ref5$color","_ref5$size","Icon","icon","_ref5$iconPosition","iconPosition","_ref5$isDisabled","_ref5$isFullWidth","isFullWidth","_ref5$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref5$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","_objectSpread","as","makeAccessible","role","event","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","paddingRight","BaseText","fontWeight","textAlign","paddingLeft","BaseButton","assignWithoutSideEffects","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"BaseButton.js","sources":["../../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography } from './buttonTokens';\nimport {\n textColor,\n backgroundColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?:\n | 'primary'\n | 'white'\n | 'positive'\n | 'negative'\n | 'notice'\n | 'information'\n | 'neutral'\n | 'transparent';\n} & TestID &\n StyledPropsBlade &\n BladeCommonEvents;\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'focus' | 'disabled';\n color: BaseButtonProps['color'];\n};\n\nconst getRenderElement = (href?: string): 'a' | 'button' | undefined => {\n if (isReactNative()) {\n return undefined; // as property doesn't work with react native\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n};\n\nexport const getBackgroundColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'background' | 'border';\n}): DotNotationToken<Theme['colors']> => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokens = backgroundColor(property);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.transparent.tertiary[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getTextColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'icon' | 'text';\n}): DotNotationToken<Theme['colors']> => {\n const tokens = textColor(property);\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.transparent.tertiary[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n childrenString?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n color: BaseButtonProps['color'];\n}): BaseButtonStyleProps => {\n if (\n variant === 'tertiary' &&\n color !== 'primary' &&\n color !== 'white' &&\n color !== 'transparent'\n ) {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" or \"transparent\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n const props: BaseButtonStyleProps = {\n iconSize: isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size],\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n height: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n width: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n iconPadding:\n hasIcon && childrenString?.trim() ? `spacing.${buttonIconPadding[size]}` : undefined,\n iconColor: getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'default',\n }) as IconColor,\n textColor: getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly ? makeSpace(0) : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: childrenString?.trim(),\n defaultBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'default' }),\n ),\n defaultBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'default' }),\n ),\n hoverBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'hover' }),\n ),\n hoverBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'hover' }),\n ),\n hoverIconColor: getIn(\n theme.colors,\n getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'hover',\n }),\n ),\n focusBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'focus' }),\n ),\n focusBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'focus' }),\n ),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderWidth: variant == 'secondary' ? makeBorderSize(theme.border.width.thin) : '0px',\n borderRadius: makeBorderSize(theme.border.radius.medium),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard',\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'disabled' }),\n );\n const disabledBorderColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'disabled' }),\n );\n props.iconColor = getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBorderColor = disabledBorderColor;\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBorderColor = disabledBorderColor;\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBorderColor = disabledBorderColor;\n }\n\n return props;\n};\n\nconst ButtonContent = styled(BaseBox)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst _BaseButton: React.ForwardRefRenderFunction<BladeElementRef, BaseButtonProps> = (\n {\n href,\n target,\n rel,\n tabIndex,\n id,\n variant = 'primary',\n color = 'primary',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n type = 'button',\n children,\n testID,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n accessibilityProps,\n onTouchEnd,\n onTouchStart,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n // button should be allowed to be disabled in any case...\n // either through button group or we should allow to disable an individual button\n const disabled = buttonGroupProps.isDisabled || isLoading || (isDisabled && !isLink);\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n hoverIconColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={variant}\n color={color}\n isLoading={isLoading}\n disabled={disabled}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n hoverIconColor={\n isDisabled\n ? getIn(theme.colors, iconColor as DotNotationToken<Theme['colors']>)\n : hoverIconColor\n }\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner\n accessibilityLabel=\"Loading\"\n size={spinnerSize}\n color={color === 'transparent' ? 'primary' : color}\n />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox\n paddingLeft={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref","property","variant","state","color","_state","tokens","backgroundColor","white","Error","concat","transparent","tertiary","base","getTextColorToken","_ref2","textColor","getProps","_ref3","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","props","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconPadding","buttonIconPadding","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","getIn","colors","defaultBorderColor","hoverBackgroundColor","hoverBorderColor","hoverIconColor","focusBackgroundColor","focusBorderColor","focusRingColor","borderWidth","makeBorderSize","border","thin","borderRadius","radius","medium","motionDuration","motionEasing","disabledBackgroundColor","disabledBorderColor","ButtonContent","styled","BaseBox","withConfig","displayName","componentId","_ref4","isHidden","opacity","_BaseButton","_ref5","ref","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_accessibilityProps$r","_buttonGroupProps$isF","target","rel","tabIndex","id","_ref5$variant","_ref5$color","_ref5$size","Icon","icon","_ref5$iconPosition","iconPosition","_ref5$isDisabled","_ref5$isFullWidth","isFullWidth","_ref5$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref5$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","_objectSpread","as","makeAccessible","role","event","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","paddingRight","BaseText","fontWeight","textAlign","paddingLeft","BaseButton","assignWithoutSideEffects","forwardRef"],"mappings":"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"}
@@ -28,15 +28,23 @@ var StyledBaseButton = /*#__PURE__*/styled.button.withConfig({
28
28
  transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),
29
29
  transitionDuration: castWebType(makeMotionTime(getIn(props.theme.motion, props.motionDuration))),
30
30
  position: 'relative',
31
- '&:hover': _objectSpread({
31
+ '&:hover': _objectSpread(_objectSpread({
32
32
  backgroundColor: props.hoverBackgroundColor
33
33
  }, props.variant !== 'tertiary' && {
34
34
  borderColor: props.hoverBorderColor
35
+ }), props.variant === 'tertiary' && props.color === 'transparent' && {
36
+ '&& [data-blade-component="svg-path"]': {
37
+ fill: props.hoverIconColor
38
+ }
35
39
  }),
36
- '&:active': _objectSpread({
40
+ '&:active': _objectSpread(_objectSpread({
37
41
  backgroundColor: props.focusBackgroundColor
38
42
  }, props.variant !== 'tertiary' && {
39
43
  borderColor: props.focusBorderColor
44
+ }), props.variant === 'tertiary' && props.color === 'transparent' && {
45
+ '&& [data-blade-component="svg-path"]': {
46
+ fill: props.hoverIconColor
47
+ }
40
48
  }),
41
49
  '&:focus-visible': _objectSpread(_objectSpread({
42
50
  backgroundColor: props.focusBackgroundColor
@@ -45,6 +53,10 @@ var StyledBaseButton = /*#__PURE__*/styled.button.withConfig({
45
53
  }), {}, {
46
54
  outline: "1px solid ".concat(props.theme.colors.surface.background.primary.subtle),
47
55
  boxShadow: "0px 0px 0px 4px ".concat(props.focusRingColor)
56
+ }, props.variant === 'tertiary' && props.color === 'transparent' && {
57
+ '&& [data-blade-component="svg-path"]': {
58
+ fill: props.hoverIconColor
59
+ }
48
60
  }),
49
61
  '*': {
50
62
  transitionProperty: 'color, fill, opacity',
@@ -1 +1 @@
1
- {"version":3,"file":"StyledBaseButton.web.js","sources":["../../../../../../../src/components/Button/BaseButton/StyledBaseButton.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport getStyledBaseButtonStyles from './getStyledBaseButtonStyles';\nimport type { StyledBaseButtonProps } from './types';\nimport getIn from '~utils/lodashButBetter/get';\nimport { useStyledProps } from '~components/Box/styledProps';\nimport { makeMotionTime } from '~utils/makeMotionTime';\nimport { omitPropsFromHTML } from '~utils/omitPropsFromHTML';\nimport { castWebType } from '~utils';\n\nconst StyledBaseButton = styled.button\n .withConfig({\n shouldForwardProp: omitPropsFromHTML,\n displayName: 'StyledBaseButton',\n })\n .attrs((props: StyledBaseButtonProps) => ({\n ...props.accessibilityProps,\n }))<Omit<StyledBaseButtonProps, 'onClick'>>((props) => {\n const styledPropsCSSObject = useStyledProps(props);\n return {\n ...getStyledBaseButtonStyles(props),\n display: 'inline-flex',\n transitionProperty: 'background-color, border-color, box-shadow',\n transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),\n transitionDuration: castWebType(\n makeMotionTime(getIn(props.theme.motion, props.motionDuration)),\n ),\n position: 'relative',\n '&:hover': {\n backgroundColor: props.hoverBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.hoverBorderColor,\n }),\n },\n '&:active': {\n backgroundColor: props.focusBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.focusBorderColor,\n }),\n },\n '&:focus-visible': {\n backgroundColor: props.focusBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.focusBorderColor,\n }),\n outline: `1px solid ${props.theme.colors.surface.background.primary.subtle}`,\n boxShadow: `0px 0px 0px 4px ${props.focusRingColor}`,\n },\n '*': {\n transitionProperty: 'color, fill, opacity',\n transitionDuration: castWebType(\n makeMotionTime(getIn(props.theme.motion, props.motionDuration)),\n ),\n transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),\n },\n ...styledPropsCSSObject,\n };\n});\n\nexport default StyledBaseButton;\n"],"names":["StyledBaseButton","styled","button","withConfig","shouldForwardProp","omitPropsFromHTML","displayName","attrs","props","_objectSpread","accessibilityProps","componentId","styledPropsCSSObject","useStyledProps","getStyledBaseButtonStyles","display","transitionProperty","transitionTimingFunction","getIn","theme","motion","motionEasing","transitionDuration","castWebType","makeMotionTime","motionDuration","position","backgroundColor","hoverBackgroundColor","variant","borderColor","hoverBorderColor","focusBackgroundColor","focusBorderColor","outline","concat","colors","surface","background","primary","subtle","boxShadow","focusRingColor"],"mappings":";;;;;;;;;;;;;;AASA,IAAMA,gBAAgB,gBAAGC,MAAM,CAACC,MAAM,CACnCC,UAAU,CAAC;AACVC,EAAAA,iBAAiB,EAAEC,iBAAiB;AACpCC,EAAAA,WAAW,EAAE,kBAAA;AACf,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,KAA4B,EAAA;AAAA,EAAA,OAAAC,aAAA,CAAA,EAAA,EAC/BD,KAAK,CAACE,kBAAkB,CAAA,CAAA;AAAA,CAC3B,CAAC,CAAAP,UAAA,CAAA;EAAAG,WAAA,EAAA,uCAAA;EAAAK,WAAA,EAAA,aAAA;AAAA,CAAyC,CAAA,CAAA,UAACH,KAAK,EAAK;AACvD,EAAA,IAAMI,oBAAoB,GAAGC,cAAc,CAACL,KAAK,CAAC,CAAA;AAClD,EAAA,OAAAC,aAAA,CAAAA,aAAA,KACKK,mBAAyB,CAACN,KAAK,CAAC,CAAA,EAAA,EAAA,EAAA;AACnCO,IAAAA,OAAO,EAAE,aAAa;AACtBC,IAAAA,kBAAkB,EAAE,4CAA4C;AAChEC,IAAAA,wBAAwB,EAAEC,KAAK,CAACV,KAAK,CAACW,KAAK,CAACC,MAAM,EAAEZ,KAAK,CAACa,YAAY,CAAC;AACvEC,IAAAA,kBAAkB,EAAEC,WAAW,CAC7BC,cAAc,CAACN,KAAK,CAACV,KAAK,CAACW,KAAK,CAACC,MAAM,EAAEZ,KAAK,CAACiB,cAAc,CAAC,CAChE,CAAC;AACDC,IAAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,SAAS,EAAAjB,aAAA,CAAA;MACPkB,eAAe,EAAEnB,KAAK,CAACoB,oBAAAA;AAAoB,KAAA,EACvCpB,KAAK,CAACqB,OAAO,KAAK,UAAU,IAAI;MAClCC,WAAW,EAAEtB,KAAK,CAACuB,gBAAAA;AACrB,KAAC,CACF;AACD,IAAA,UAAU,EAAAtB,aAAA,CAAA;MACRkB,eAAe,EAAEnB,KAAK,CAACwB,oBAAAA;AAAoB,KAAA,EACvCxB,KAAK,CAACqB,OAAO,KAAK,UAAU,IAAI;MAClCC,WAAW,EAAEtB,KAAK,CAACyB,gBAAAA;AACrB,KAAC,CACF;IACD,iBAAiB,EAAAxB,aAAA,CAAAA,aAAA,CAAA;MACfkB,eAAe,EAAEnB,KAAK,CAACwB,oBAAAA;AAAoB,KAAA,EACvCxB,KAAK,CAACqB,OAAO,KAAK,UAAU,IAAI;MAClCC,WAAW,EAAEtB,KAAK,CAACyB,gBAAAA;KACpB,CAAA,EAAA,EAAA,EAAA;AACDC,MAAAA,OAAO,eAAAC,MAAA,CAAe3B,KAAK,CAACW,KAAK,CAACiB,MAAM,CAACC,OAAO,CAACC,UAAU,CAACC,OAAO,CAACC,MAAM,CAAE;AAC5EC,MAAAA,SAAS,EAAAN,kBAAAA,CAAAA,MAAA,CAAqB3B,KAAK,CAACkC,cAAc,CAAA;KACnD,CAAA;AACD,IAAA,GAAG,EAAE;AACH1B,MAAAA,kBAAkB,EAAE,sBAAsB;AAC1CM,MAAAA,kBAAkB,EAAEC,WAAW,CAC7BC,cAAc,CAACN,KAAK,CAACV,KAAK,CAACW,KAAK,CAACC,MAAM,EAAEZ,KAAK,CAACiB,cAAc,CAAC,CAChE,CAAC;MACDR,wBAAwB,EAAEC,KAAK,CAACV,KAAK,CAACW,KAAK,CAACC,MAAM,EAAEZ,KAAK,CAACa,YAAY,CAAA;AACxE,KAAA;AAAC,GAAA,EACET,oBAAoB,CAAA,CAAA;AAE3B,CAAC;;;;"}
1
+ {"version":3,"file":"StyledBaseButton.web.js","sources":["../../../../../../../src/components/Button/BaseButton/StyledBaseButton.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport getStyledBaseButtonStyles from './getStyledBaseButtonStyles';\nimport type { StyledBaseButtonProps } from './types';\nimport getIn from '~utils/lodashButBetter/get';\nimport { useStyledProps } from '~components/Box/styledProps';\nimport { makeMotionTime } from '~utils/makeMotionTime';\nimport { omitPropsFromHTML } from '~utils/omitPropsFromHTML';\nimport { castWebType } from '~utils';\n\nconst StyledBaseButton = styled.button\n .withConfig({\n shouldForwardProp: omitPropsFromHTML,\n displayName: 'StyledBaseButton',\n })\n .attrs((props: StyledBaseButtonProps) => ({\n ...props.accessibilityProps,\n }))<Omit<StyledBaseButtonProps, 'onClick'>>((props) => {\n const styledPropsCSSObject = useStyledProps(props);\n return {\n ...getStyledBaseButtonStyles(props),\n display: 'inline-flex',\n transitionProperty: 'background-color, border-color, box-shadow',\n transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),\n transitionDuration: castWebType(\n makeMotionTime(getIn(props.theme.motion, props.motionDuration)),\n ),\n position: 'relative',\n '&:hover': {\n backgroundColor: props.hoverBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.hoverBorderColor,\n }),\n ...(props.variant === 'tertiary' &&\n props.color === 'transparent' && {\n '&& [data-blade-component=\"svg-path\"]': {\n fill: props.hoverIconColor,\n },\n }),\n },\n '&:active': {\n backgroundColor: props.focusBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.focusBorderColor,\n }),\n ...(props.variant === 'tertiary' &&\n props.color === 'transparent' && {\n '&& [data-blade-component=\"svg-path\"]': {\n fill: props.hoverIconColor,\n },\n }),\n },\n '&:focus-visible': {\n backgroundColor: props.focusBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.focusBorderColor,\n }),\n outline: `1px solid ${props.theme.colors.surface.background.primary.subtle}`,\n boxShadow: `0px 0px 0px 4px ${props.focusRingColor}`,\n ...(props.variant === 'tertiary' &&\n props.color === 'transparent' && {\n '&& [data-blade-component=\"svg-path\"]': {\n fill: props.hoverIconColor,\n },\n }),\n },\n '*': {\n transitionProperty: 'color, fill, opacity',\n transitionDuration: castWebType(\n makeMotionTime(getIn(props.theme.motion, props.motionDuration)),\n ),\n transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),\n },\n ...styledPropsCSSObject,\n };\n});\n\nexport default StyledBaseButton;\n"],"names":["StyledBaseButton","styled","button","withConfig","shouldForwardProp","omitPropsFromHTML","displayName","attrs","props","_objectSpread","accessibilityProps","componentId","styledPropsCSSObject","useStyledProps","getStyledBaseButtonStyles","display","transitionProperty","transitionTimingFunction","getIn","theme","motion","motionEasing","transitionDuration","castWebType","makeMotionTime","motionDuration","position","backgroundColor","hoverBackgroundColor","variant","borderColor","hoverBorderColor","color","fill","hoverIconColor","focusBackgroundColor","focusBorderColor","outline","concat","colors","surface","background","primary","subtle","boxShadow","focusRingColor"],"mappings":"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"}
@@ -23,6 +23,11 @@ var backgroundColor = function backgroundColor(property) {
23
23
  "default": "interactive.".concat(property, ".gray.default"),
24
24
  highlighted: "interactive.".concat(property, ".gray.highlighted"),
25
25
  disabled: "interactive.".concat(property, ".gray.disabled")
26
+ },
27
+ transparent: {
28
+ "default": 'transparent',
29
+ highlighted: "interactive.".concat(property, ".gray.faded"),
30
+ disabled: "interactive.".concat(property, ".gray.disabled")
26
31
  }
27
32
  },
28
33
  white: {
@@ -42,6 +47,13 @@ var backgroundColor = function backgroundColor(property) {
42
47
  disabled: "interactive.background.staticWhite.disabled"
43
48
  }
44
49
  },
50
+ transparent: {
51
+ tertiary: {
52
+ "default": 'transparent',
53
+ highlighted: 'interactive.background.gray.faded',
54
+ disabled: "interactive.background.staticWhite.disabled"
55
+ }
56
+ },
45
57
  color: function color(_color) {
46
58
  return {
47
59
  primary: {
@@ -94,6 +106,13 @@ var textColor = function textColor(property) {
94
106
  disabled: "interactive.".concat(property, ".staticWhite.disabled")
95
107
  }
96
108
  },
109
+ transparent: {
110
+ tertiary: {
111
+ "default": property === 'icon' ? 'interactive.icon.gray.muted' : 'surface.text.gray.normal',
112
+ highlighted: property === 'icon' ? 'interactive.icon.gray.subtle' : 'surface.text.gray.normal',
113
+ disabled: "interactive.".concat(property, ".gray.disabled")
114
+ }
115
+ },
97
116
  color: function color(_color2) {
98
117
  return {
99
118
  primary: {
@@ -1 +1 @@
1
- {"version":3,"file":"buttonTokens.js","sources":["../../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundColor = (property: 'background' | 'border') => {\n const isBorder = property === 'border';\n return {\n base: {\n primary: {\n default: `interactive.${property}.primary.default`,\n highlighted: `interactive.${property}.primary.highlighted`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.primary.default' : 'transparent',\n highlighted: isBorder\n ? `interactive.border.primary.default`\n : `interactive.background.primary.faded`,\n disabled: isBorder ? `interactive.border.primary.disabled` : `transparent`,\n },\n tertiary: {\n default: `interactive.${property}.gray.default`,\n highlighted: `interactive.${property}.gray.highlighted`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticWhite.default`,\n highlighted: `interactive.${property}.staticWhite.highlighted`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.staticWhite.highlighted' : 'transparent',\n highlighted: isBorder\n ? 'interactive.border.staticWhite.highlighted'\n : 'interactive.background.staticWhite.faded',\n disabled: isBorder ? `interactive.border.staticWhite.disabled` : 'transparent',\n },\n tertiary: {\n default: `interactive.background.staticWhite.faded`,\n highlighted: `interactive.background.staticWhite.fadedHighlighted`,\n disabled: `interactive.background.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.${color}.default`,\n highlighted: `interactive.${property}.${color}.highlighted`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.faded` as const),\n highlighted: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.fadedHighlighted` as const),\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.primary.subtle`,\n highlighted: `interactive.${property}.primary.subtle`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 50,\n small: 50,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n};\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'large',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst buttonIconPadding: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['spacing']> = {\n xsmall: 1,\n small: 2,\n medium: 3,\n large: 3,\n};\n\nexport {\n backgroundColor,\n textColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n};\n"],"names":["backgroundColor","property","isBorder","base","primary","concat","highlighted","disabled","secondary","tertiary","white","color","textColor","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","buttonIconPadding"],"mappings":"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"}
1
+ {"version":3,"file":"buttonTokens.js","sources":["../../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundColor = (property: 'background' | 'border') => {\n const isBorder = property === 'border';\n return {\n base: {\n primary: {\n default: `interactive.${property}.primary.default`,\n highlighted: `interactive.${property}.primary.highlighted`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.primary.default' : 'transparent',\n highlighted: isBorder\n ? `interactive.border.primary.default`\n : `interactive.background.primary.faded`,\n disabled: isBorder ? `interactive.border.primary.disabled` : `transparent`,\n },\n tertiary: {\n default: `interactive.${property}.gray.default`,\n highlighted: `interactive.${property}.gray.highlighted`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n transparent: {\n default: 'transparent',\n highlighted: `interactive.${property}.gray.faded`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticWhite.default`,\n highlighted: `interactive.${property}.staticWhite.highlighted`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.staticWhite.highlighted' : 'transparent',\n highlighted: isBorder\n ? 'interactive.border.staticWhite.highlighted'\n : 'interactive.background.staticWhite.faded',\n disabled: isBorder ? `interactive.border.staticWhite.disabled` : 'transparent',\n },\n tertiary: {\n default: `interactive.background.staticWhite.faded`,\n highlighted: `interactive.background.staticWhite.fadedHighlighted`,\n disabled: `interactive.background.staticWhite.disabled`,\n },\n },\n transparent: {\n tertiary: {\n default: 'transparent',\n highlighted: 'interactive.background.gray.faded',\n disabled: `interactive.background.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.${color}.default`,\n highlighted: `interactive.${property}.${color}.highlighted`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.faded` as const),\n highlighted: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.fadedHighlighted` as const),\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.primary.subtle`,\n highlighted: `interactive.${property}.primary.subtle`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n transparent: {\n tertiary: {\n default: property === 'icon' ? 'interactive.icon.gray.muted' : 'surface.text.gray.normal',\n highlighted:\n property === 'icon' ? 'interactive.icon.gray.subtle' : 'surface.text.gray.normal',\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 50,\n small: 50,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n};\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'large',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst buttonIconPadding: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['spacing']> = {\n xsmall: 1,\n small: 2,\n medium: 3,\n large: 3,\n};\n\nexport {\n backgroundColor,\n textColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n};\n"],"names":["backgroundColor","property","isBorder","base","primary","concat","highlighted","disabled","secondary","tertiary","transparent","white","color","textColor","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","buttonIconPadding"],"mappings":"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"}
@@ -31,7 +31,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
31
31
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32
32
  var validDropdownChildren = [
33
33
  // TODO: Remove Box once CountrySelector's button sizing is fixed
34
- dropdownComponentIds.BaseBox, dropdownComponentIds.triggers.SelectInput, dropdownComponentIds.triggers.SearchInput, dropdownComponentIds.triggers.DropdownButton, dropdownComponentIds.triggers.DropdownIconButton, dropdownComponentIds.triggers.DropdownLink, dropdownComponentIds.DropdownOverlay, dropdownComponentIds.triggers.AutoComplete, ComponentIds.BottomSheet, dropdownComponentIds.triggers.FilterChipSelectInput];
34
+ dropdownComponentIds.BaseBox, dropdownComponentIds.triggers.SelectInput, dropdownComponentIds.triggers.SearchInput, dropdownComponentIds.triggers.DropdownButton, dropdownComponentIds.triggers.DropdownIconButton, dropdownComponentIds.triggers.DropdownLink, dropdownComponentIds.DropdownOverlay, dropdownComponentIds.triggers.AutoComplete, ComponentIds.BottomSheet, dropdownComponentIds.triggers.FilterChipSelectInput, dropdownComponentIds.triggers.InputDropdownButton];
35
35
 
36
36
  /**
37
37
  * ### Dropdown component
@@ -192,6 +192,9 @@ var _Dropdown = function _Dropdown(_ref, ref) {
192
192
  if (isValidAllowedChildren(child, dropdownComponentIds.triggers.FilterChipSelectInput)) {
193
193
  dropdownTriggerer.current = 'FilterChipSelectInput';
194
194
  }
195
+ if (isValidAllowedChildren(child, dropdownComponentIds.triggers.InputDropdownButton)) {
196
+ dropdownTriggerer.current = 'InputDropdownButton';
197
+ }
195
198
  }
196
199
  });
197
200
  var contextValue = React__default.useMemo(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownContext } from './useDropdown';\nimport type { DropdownContextType } from './useDropdown';\nimport type { DropdownProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useId } from '~utils/useId';\nimport { ComponentIds as bottomSheetComponentIds } from '~components/BottomSheet/componentIds';\nimport { BottomSheetAndDropdownGlueContext } from '~components/BottomSheet/BottomSheetContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { throwBladeError } from '~utils/logger';\nimport type { BladeElementRef, ContainerElementType } from '~utils/types';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeRefs } from '~utils/useMergeRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validDropdownChildren = [\n // TODO: Remove Box once CountrySelector's button sizing is fixed\n dropdownComponentIds.BaseBox,\n dropdownComponentIds.triggers.SelectInput,\n dropdownComponentIds.triggers.SearchInput,\n dropdownComponentIds.triggers.DropdownButton,\n dropdownComponentIds.triggers.DropdownIconButton,\n dropdownComponentIds.triggers.DropdownLink,\n dropdownComponentIds.DropdownOverlay,\n dropdownComponentIds.triggers.AutoComplete,\n bottomSheetComponentIds.BottomSheet,\n dropdownComponentIds.triggers.FilterChipSelectInput,\n];\n\n/**\n * ### Dropdown component\n *\n * Dropdown component is generic component that controls the dropdown functionality.\n * It can be used with multiple triggers and mostly contains ActionList component inside it\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * <Dropdown selectionType=\"single\">\n * <SelectInput />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem />\n * <ActionListItem />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select Dropdown Documentation}\n */\nconst _Dropdown = (\n {\n children,\n isOpen: isOpenControlled,\n onOpenChange,\n selectionType = 'single',\n testID,\n _width,\n ...rest\n }: DropdownProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const [options, setOptions] = React.useState<DropdownContextType['options']>([]);\n const [filteredValues, setFilteredValues] = React.useState<string[]>([]);\n const [selectedIndices, setSelectedIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [controlledValueIndices, setControlledValueIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [activeIndex, setActiveIndex] = React.useState(-1);\n const [activeTagIndex, setActiveTagIndex] = React.useState(-1);\n const [shouldIgnoreBlurAnimation, setShouldIgnoreBlurAnimation] = React.useState(false);\n const [hasFooterAction, setHasFooterAction] = React.useState(false);\n const [hasAutoCompleteInHeader, setHasAutoCompleteInHeader] = React.useState(false);\n const [isKeydownPressed, setIsKeydownPressed] = React.useState(false);\n const [changeCallbackTriggerer, setChangeCallbackTriggerer] = React.useState<\n DropdownContextType['changeCallbackTriggerer']\n >(0);\n const [isControlled, setIsControlled] = React.useState(false);\n // keep track if dropdown contains bottomsheet\n const [dropdownHasBottomSheet, setDropdownHasBottomSheet] = React.useState(false);\n\n /**\n * In inputs, actual input is smaller than the visible input wrapper.\n * You can set this reference in such cases so floating ui calculations happen correctly\n * */\n const triggererWrapperRef = React.useRef<ContainerElementType>(null);\n const triggererRef = React.useRef<HTMLButtonElement>(null);\n const headerAutoCompleteRef = React.useRef<HTMLButtonElement>(null);\n const actionListItemRef = React.useRef<HTMLDivElement>(null);\n const dropdownTriggerer = React.useRef<DropdownContextType['dropdownTriggerer']>();\n const isTagDismissedRef = React.useRef<{ value: boolean } | null>({ value: false });\n const visibleTagsCountRef = React.useRef<{ value: number }>({ value: 0 });\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n\n const dropdownBaseId = useId('dropdown');\n const isDropdownOpenRef = React.useRef(isOpenControlled);\n\n const [isDropdownOpen, setIsDropdownOpen] = useControllableState({\n value: isOpenControlled,\n defaultValue: false,\n onChange: (isOpenControlledValue) => {\n isDropdownOpenRef.current = isOpenControlledValue;\n onOpenChange?.(isOpenControlledValue);\n },\n });\n\n isDropdownOpenRef.current = isDropdownOpen;\n\n const setIsOpen = (isOpenValue: boolean): void => {\n isDropdownOpenRef.current = isOpenValue;\n setIsDropdownOpen(() => isOpenValue);\n };\n\n const close = React.useCallback(() => {\n setActiveTagIndex(-1);\n setIsOpen(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (__DEV__) {\n if (!validDropdownChildren.includes(getComponentId(child) ?? '')) {\n throwBladeError({\n message: `Dropdown can only have one of following elements as children - \\n\\n ${validDropdownChildren.join(\n ', ',\n )} \\n\\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,\n moduleName: 'Dropdown',\n });\n }\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SelectInput)) {\n dropdownTriggerer.current = 'SelectInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SearchInput)) {\n dropdownTriggerer.current = 'SearchInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownButton)) {\n dropdownTriggerer.current = 'DropdownButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownIconButton)) {\n dropdownTriggerer.current = 'DropdownIconButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.AutoComplete)) {\n dropdownTriggerer.current = 'AutoComplete';\n }\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.FilterChipSelectInput)) {\n dropdownTriggerer.current = 'FilterChipSelectInput';\n }\n }\n });\n\n const contextValue = React.useMemo<DropdownContextType>(\n () => ({\n isOpen: isDropdownOpen,\n setIsOpen,\n close,\n selectedIndices,\n setSelectedIndices,\n controlledValueIndices,\n setControlledValueIndices,\n options,\n setOptions,\n filteredValues,\n setFilteredValues,\n activeIndex,\n setActiveIndex,\n activeTagIndex,\n setActiveTagIndex,\n visibleTagsCountRef,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n isKeydownPressed,\n setIsKeydownPressed,\n dropdownBaseId,\n triggererRef,\n headerAutoCompleteRef,\n triggererWrapperRef,\n actionListItemRef,\n selectionType,\n hasFooterAction,\n setHasFooterAction,\n hasAutoCompleteInHeader,\n setHasAutoCompleteInHeader,\n dropdownTriggerer: dropdownTriggerer.current,\n changeCallbackTriggerer,\n setChangeCallbackTriggerer,\n isControlled,\n setIsControlled,\n isTagDismissedRef,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isDropdownOpen,\n isOpenControlled,\n selectedIndices,\n controlledValueIndices,\n options,\n filteredValues,\n activeIndex,\n activeTagIndex,\n shouldIgnoreBlurAnimation,\n selectionType,\n hasFooterAction,\n isKeydownPressed,\n changeCallbackTriggerer,\n isControlled,\n ],\n );\n\n const BottomSheetAndDropdownGlueContextValue = React.useMemo((): BottomSheetAndDropdownGlueContext => {\n return {\n isOpen: isDropdownOpen,\n dropdownHasBottomSheet,\n hasAutoCompleteInHeader,\n setDropdownHasBottomSheet,\n // This is the dismiss function which will be injected into the BottomSheet\n // Basically <BottomSheet onDismiss={onBottomSheetDismiss} />\n onBottomSheetDismiss: close,\n };\n }, [dropdownHasBottomSheet, hasAutoCompleteInHeader, isDropdownOpen, close]);\n\n return (\n <BottomSheetAndDropdownGlueContext.Provider value={BottomSheetAndDropdownGlueContextValue}>\n <DropdownContext.Provider value={contextValue}>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={mergeRefs(ref, dropdownContainerRef as any)}\n {...metaAttribute({ name: MetaConstants.Dropdown, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n width={_width}\n >\n <BaseBox position=\"relative\" textAlign={'left' as never}>\n {children}\n </BaseBox>\n </BaseBox>\n </DropdownContext.Provider>\n </BottomSheetAndDropdownGlueContext.Provider>\n );\n};\n\nconst Dropdown = assignWithoutSideEffects(React.forwardRef(_Dropdown), {\n componentId: dropdownComponentIds.Dropdown,\n});\n\nexport { Dropdown };\n"],"names":["validDropdownChildren","dropdownComponentIds","BaseBox","triggers","SelectInput","SearchInput","DropdownButton","DropdownIconButton","DropdownLink","DropdownOverlay","AutoComplete","bottomSheetComponentIds","BottomSheet","FilterChipSelectInput","_Dropdown","_ref","ref","children","isOpenControlled","isOpen","onOpenChange","_ref$selectionType","selectionType","testID","_width","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","options","setOptions","_React$useState3","_React$useState4","filteredValues","setFilteredValues","_React$useState5","_React$useState6","selectedIndices","setSelectedIndices","_React$useState7","_React$useState8","controlledValueIndices","setControlledValueIndices","_React$useState9","_React$useState10","activeIndex","setActiveIndex","_React$useState11","_React$useState12","activeTagIndex","setActiveTagIndex","_React$useState13","_React$useState14","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","_React$useState15","_React$useState16","hasFooterAction","setHasFooterAction","_React$useState17","_React$useState18","hasAutoCompleteInHeader","setHasAutoCompleteInHeader","_React$useState19","_React$useState20","isKeydownPressed","setIsKeydownPressed","_React$useState21","_React$useState22","changeCallbackTriggerer","setChangeCallbackTriggerer","_React$useState23","_React$useState24","isControlled","setIsControlled","_React$useState25","_React$useState26","dropdownHasBottomSheet","setDropdownHasBottomSheet","triggererWrapperRef","useRef","triggererRef","headerAutoCompleteRef","actionListItemRef","dropdownTriggerer","isTagDismissedRef","value","visibleTagsCountRef","dropdownContainerRef","dropdownBaseId","useId","isDropdownOpenRef","_useControllableState","useControllableState","defaultValue","onChange","isOpenControlledValue","current","_useControllableState2","isDropdownOpen","setIsDropdownOpen","setIsOpen","isOpenValue","close","useCallback","Children","map","child","isValidElement","_getComponentId","includes","getComponentId","throwBladeError","message","concat","join","moduleName","isValidAllowedChildren","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","_objectSpread","mergeRefs","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","makeAnalyticsAttribute","width","position","textAlign","assignWithoutSideEffects","forwardRef","componentId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAMA,qBAAqB,GAAG;AAC5B;AACAC,oBAAoB,CAACC,OAAO,EAC5BD,oBAAoB,CAACE,QAAQ,CAACC,WAAW,EACzCH,oBAAoB,CAACE,QAAQ,CAACE,WAAW,EACzCJ,oBAAoB,CAACE,QAAQ,CAACG,cAAc,EAC5CL,oBAAoB,CAACE,QAAQ,CAACI,kBAAkB,EAChDN,oBAAoB,CAACE,QAAQ,CAACK,YAAY,EAC1CP,oBAAoB,CAACQ,eAAe,EACpCR,oBAAoB,CAACE,QAAQ,CAACO,YAAY,EAC1CC,YAAuB,CAACC,WAAW,EACnCX,oBAAoB,CAACE,QAAQ,CAACU,qBAAqB,CACpD,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAUbC,GAA+B,EACR;AAAA,EAAA,IATrBC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACAC,gBAAgB,GAAAH,IAAA,CAAxBI,MAAM;IACNC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IAAAC,kBAAA,GAAAN,IAAA,CACZO,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,kBAAA;IACxBE,MAAM,GAAAR,IAAA,CAANQ,MAAM;IACNC,MAAM,GAAAT,IAAA,CAANS,MAAM;AACHC,IAAAA,IAAI,GAAAC,wBAAA,CAAAX,IAAA,EAAAY,SAAA,CAAA,CAAA;AAIT,EAAA,IAAAC,eAAA,GAA8BC,cAAK,CAACC,QAAQ,CAAiC,EAAE,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAJ,eAAA,EAAA,CAAA,CAAA;AAAzEK,IAAAA,OAAO,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,UAAU,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAAI,gBAAA,GAA4CN,cAAK,CAACC,QAAQ,CAAW,EAAE,CAAC;IAAAM,gBAAA,GAAAJ,cAAA,CAAAG,gBAAA,EAAA,CAAA,CAAA;AAAjEE,IAAAA,cAAc,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,gBAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAG,gBAAA,GAA8CV,cAAK,CAACC,QAAQ,CAE1D,EAAE,CAAC;IAAAU,gBAAA,GAAAR,cAAA,CAAAO,gBAAA,EAAA,CAAA,CAAA;AAFEE,IAAAA,eAAe,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,gBAAA,CAAA,CAAA,CAAA,CAAA;AAG1C,EAAA,IAAAG,gBAAA,GAA4Dd,cAAK,CAACC,QAAQ,CAExE,EAAE,CAAC;IAAAc,gBAAA,GAAAZ,cAAA,CAAAW,gBAAA,EAAA,CAAA,CAAA;AAFEE,IAAAA,sBAAsB,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,yBAAyB,GAAAF,gBAAA,CAAA,CAAA,CAAA,CAAA;EAGxD,IAAAG,gBAAA,GAAsClB,cAAK,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAAAkB,iBAAA,GAAAhB,cAAA,CAAAe,gBAAA,EAAA,CAAA,CAAA;AAAjDE,IAAAA,WAAW,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;EAClC,IAAAG,iBAAA,GAA4CtB,cAAK,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAAAsB,iBAAA,GAAApB,cAAA,CAAAmB,iBAAA,EAAA,CAAA,CAAA;AAAvDE,IAAAA,cAAc,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAG,iBAAA,GAAkE1B,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAA0B,iBAAA,GAAAxB,cAAA,CAAAuB,iBAAA,EAAA,CAAA,CAAA;AAAhFE,IAAAA,yBAAyB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,4BAA4B,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AAC9D,EAAA,IAAAG,iBAAA,GAA8C9B,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAA8B,iBAAA,GAAA5B,cAAA,CAAA2B,iBAAA,EAAA,CAAA,CAAA;AAA5DE,IAAAA,eAAe,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAG,iBAAA,GAA8DlC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAAkC,iBAAA,GAAAhC,cAAA,CAAA+B,iBAAA,EAAA,CAAA,CAAA;AAA5EE,IAAAA,uBAAuB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,0BAA0B,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AAC1D,EAAA,IAAAG,iBAAA,GAAgDtC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAAsC,iBAAA,GAAApC,cAAA,CAAAmC,iBAAA,EAAA,CAAA,CAAA;AAA9DE,IAAAA,gBAAgB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,mBAAmB,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAG,iBAAA,GAA8D1C,cAAK,CAACC,QAAQ,CAE1E,CAAC,CAAC;IAAA0C,iBAAA,GAAAxC,cAAA,CAAAuC,iBAAA,EAAA,CAAA,CAAA;AAFGE,IAAAA,uBAAuB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,0BAA0B,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AAG1D,EAAA,IAAAG,iBAAA,GAAwC9C,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAA8C,iBAAA,GAAA5C,cAAA,CAAA2C,iBAAA,EAAA,CAAA,CAAA;AAAtDE,IAAAA,YAAY,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AACpC;AACA,EAAA,IAAAG,iBAAA,GAA4DlD,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAAkD,iBAAA,GAAAhD,cAAA,CAAA+C,iBAAA,EAAA,CAAA,CAAA;AAA1EE,IAAAA,sBAAsB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,yBAAyB,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;;AAExD;AACF;AACA;AACA;AACE,EAAA,IAAMG,mBAAmB,GAAGtD,cAAK,CAACuD,MAAM,CAAuB,IAAI,CAAC,CAAA;AACpE,EAAA,IAAMC,YAAY,GAAGxD,cAAK,CAACuD,MAAM,CAAoB,IAAI,CAAC,CAAA;AAC1D,EAAA,IAAME,qBAAqB,GAAGzD,cAAK,CAACuD,MAAM,CAAoB,IAAI,CAAC,CAAA;AACnE,EAAA,IAAMG,iBAAiB,GAAG1D,cAAK,CAACuD,MAAM,CAAiB,IAAI,CAAC,CAAA;AAC5D,EAAA,IAAMI,iBAAiB,GAAG3D,cAAK,CAACuD,MAAM,EAA4C,CAAA;AAClF,EAAA,IAAMK,iBAAiB,GAAG5D,cAAK,CAACuD,MAAM,CAA4B;AAAEM,IAAAA,KAAK,EAAE,KAAA;AAAM,GAAC,CAAC,CAAA;AACnF,EAAA,IAAMC,mBAAmB,GAAG9D,cAAK,CAACuD,MAAM,CAAoB;AAAEM,IAAAA,KAAK,EAAE,CAAA;AAAE,GAAC,CAAC,CAAA;AACzE,EAAA,IAAME,oBAAoB,GAAG/D,cAAK,CAACuD,MAAM,CAAiB,IAAI,CAAC,CAAA;AAE/D,EAAA,IAAMS,cAAc,GAAGC,KAAK,CAAC,UAAU,CAAC,CAAA;AACxC,EAAA,IAAMC,iBAAiB,GAAGlE,cAAK,CAACuD,MAAM,CAAClE,gBAAgB,CAAC,CAAA;EAExD,IAAA8E,qBAAA,GAA4CC,oBAAoB,CAAC;AAC/DP,MAAAA,KAAK,EAAExE,gBAAgB;AACvBgF,MAAAA,YAAY,EAAE,KAAK;AACnBC,MAAAA,QAAQ,EAAE,SAAAA,QAACC,CAAAA,qBAAqB,EAAK;QACnCL,iBAAiB,CAACM,OAAO,GAAGD,qBAAqB,CAAA;AACjDhF,QAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAGgF,qBAAqB,CAAC,CAAA;AACvC,OAAA;AACF,KAAC,CAAC;IAAAE,sBAAA,GAAAtE,cAAA,CAAAgE,qBAAA,EAAA,CAAA,CAAA;AAPKO,IAAAA,cAAc,GAAAD,sBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,sBAAA,CAAA,CAAA,CAAA,CAAA;EASxCP,iBAAiB,CAACM,OAAO,GAAGE,cAAc,CAAA;AAE1C,EAAA,IAAME,SAAS,GAAG,SAAZA,SAASA,CAAIC,WAAoB,EAAW;IAChDX,iBAAiB,CAACM,OAAO,GAAGK,WAAW,CAAA;AACvCF,IAAAA,iBAAiB,CAAC,YAAA;AAAA,MAAA,OAAME,WAAW,CAAA;KAAC,CAAA,CAAA;GACrC,CAAA;AAED,EAAA,IAAMC,KAAK,GAAG9E,cAAK,CAAC+E,WAAW,CAAC,YAAM;IACpCtD,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACrBmD,SAAS,CAAC,KAAK,CAAC,CAAA;AAChB;GACD,EAAE,EAAE,CAAC,CAAA;EAEN5E,cAAK,CAACgF,QAAQ,CAACC,GAAG,CAAC7F,QAAQ,EAAE,UAAC8F,KAAK,EAAK;AACtC,IAAA,kBAAIlF,cAAK,CAACmF,cAAc,CAACD,KAAK,CAAC,EAAE;AAC/B,MAAA,IAAI,KAAO,EAAE;AAAA,QAAA,IAAAE,eAAA,CAAA;AACX,QAAA,IAAI,CAACjH,qBAAqB,CAACkH,QAAQ,CAAAD,CAAAA,eAAA,GAACE,cAAc,CAACJ,KAAK,CAAC,cAAAE,eAAA,KAAA,KAAA,CAAA,GAAAA,eAAA,GAAI,EAAE,CAAC,EAAE;AAChEG,UAAAA,eAAe,CAAC;YACdC,OAAO,EAAA,sEAAA,CAAAC,MAAA,CAAyEtH,qBAAqB,CAACuH,IAAI,CACxG,IACF,CAAC,EAA8E,8EAAA,CAAA;AAC/EC,YAAAA,UAAU,EAAE,UAAA;AACd,WAAC,CAAC,CAAA;AACJ,SAAA;AACF,OAAA;MAEA,IAAIC,sBAAsB,CAACV,KAAK,EAAE9G,oBAAoB,CAACE,QAAQ,CAACC,WAAW,CAAC,EAAE;QAC5EoF,iBAAiB,CAACa,OAAO,GAAG,aAAa,CAAA;AAC3C,OAAA;MAEA,IAAIoB,sBAAsB,CAACV,KAAK,EAAE9G,oBAAoB,CAACE,QAAQ,CAACE,WAAW,CAAC,EAAE;QAC5EmF,iBAAiB,CAACa,OAAO,GAAG,aAAa,CAAA;AAC3C,OAAA;MAEA,IAAIoB,sBAAsB,CAACV,KAAK,EAAE9G,oBAAoB,CAACE,QAAQ,CAACG,cAAc,CAAC,EAAE;QAC/EkF,iBAAiB,CAACa,OAAO,GAAG,gBAAgB,CAAA;AAC9C,OAAA;MAEA,IAAIoB,sBAAsB,CAACV,KAAK,EAAE9G,oBAAoB,CAACE,QAAQ,CAACI,kBAAkB,CAAC,EAAE;QACnFiF,iBAAiB,CAACa,OAAO,GAAG,oBAAoB,CAAA;AAClD,OAAA;MAEA,IAAIoB,sBAAsB,CAACV,KAAK,EAAE9G,oBAAoB,CAACE,QAAQ,CAACO,YAAY,CAAC,EAAE;QAC7E8E,iBAAiB,CAACa,OAAO,GAAG,cAAc,CAAA;AAC5C,OAAA;MACA,IAAIoB,sBAAsB,CAACV,KAAK,EAAE9G,oBAAoB,CAACE,QAAQ,CAACU,qBAAqB,CAAC,EAAE;QACtF2E,iBAAiB,CAACa,OAAO,GAAG,uBAAuB,CAAA;AACrD,OAAA;AACF,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMqB,YAAY,GAAG7F,cAAK,CAAC8F,OAAO,CAChC,YAAA;IAAA,OAAO;AACLxG,MAAAA,MAAM,EAAEoF,cAAc;AACtBE,MAAAA,SAAS,EAATA,SAAS;AACTE,MAAAA,KAAK,EAALA,KAAK;AACLlE,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBG,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBC,MAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBb,MAAAA,OAAO,EAAPA,OAAO;AACPC,MAAAA,UAAU,EAAVA,UAAU;AACVG,MAAAA,cAAc,EAAdA,cAAc;AACdC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBW,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,cAAc,EAAdA,cAAc;AACdG,MAAAA,cAAc,EAAdA,cAAc;AACdC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBqC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBlC,MAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBC,MAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5BW,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBuB,MAAAA,cAAc,EAAdA,cAAc;AACdR,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,qBAAqB,EAArBA,qBAAqB;AACrBH,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBI,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBjE,MAAAA,aAAa,EAAbA,aAAa;AACbuC,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBG,MAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBC,MAAAA,0BAA0B,EAA1BA,0BAA0B;MAC1BsB,iBAAiB,EAAEA,iBAAiB,CAACa,OAAO;AAC5C5B,MAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBC,MAAAA,0BAA0B,EAA1BA,0BAA0B;AAC1BG,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,eAAe,EAAfA,eAAe;AACfW,MAAAA,iBAAiB,EAAjBA,iBAAAA;KACD,CAAA;GAAC;AACF;AACA,EAAA,CACEc,cAAc,EACdrF,gBAAgB,EAChBuB,eAAe,EACfI,sBAAsB,EACtBZ,OAAO,EACPI,cAAc,EACdY,WAAW,EACXI,cAAc,EACdI,yBAAyB,EACzBnC,aAAa,EACbuC,eAAe,EACfQ,gBAAgB,EAChBI,uBAAuB,EACvBI,YAAY,CAEhB,CAAC,CAAA;AAED,EAAA,IAAM+C,sCAAsC,GAAG/F,cAAK,CAAC8F,OAAO,CAAC,YAAyC;IACpG,OAAO;AACLxG,MAAAA,MAAM,EAAEoF,cAAc;AACtBtB,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBhB,MAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBiB,MAAAA,yBAAyB,EAAzBA,yBAAyB;AACzB;AACA;AACA2C,MAAAA,oBAAoB,EAAElB,KAAAA;KACvB,CAAA;GACF,EAAE,CAAC1B,sBAAsB,EAAEhB,uBAAuB,EAAEsC,cAAc,EAAEI,KAAK,CAAC,CAAC,CAAA;AAE5E,EAAA,oBACEmB,GAAA,CAACC,iCAAiC,CAACC,QAAQ,EAAA;AAACtC,IAAAA,KAAK,EAAEkC,sCAAuC;AAAA3G,IAAAA,QAAA,eACxF6G,GAAA,CAACG,eAAe,CAACD,QAAQ,EAAA;AAACtC,MAAAA,KAAK,EAAEgC,YAAa;MAAAzG,QAAA,eAC5C6G,GAAA,CAAC5H,OAAAA;AACC;AAAA,QAAAgI,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACAlH,QAAAA,GAAG,EAAEmH,SAAS,CAACnH,GAAG,EAAE4E,oBAA2B,CAAA;AAAE,OAAA,EAC7CwC,aAAa,CAAC;QAAEC,IAAI,EAAEC,aAAa,CAACC,QAAQ;AAAEhH,QAAAA,MAAM,EAANA,MAAAA;OAAQ,CAAC,CACvDiH,EAAAA,cAAc,CAAC/G,IAAI,CAAC,CACpBgH,EAAAA,sBAAsB,CAAChH,IAAI,CAAC,CAAA,EAAA,EAAA,EAAA;AAChCiH,QAAAA,KAAK,EAAElH,MAAO;QAAAP,QAAA,eAEd6G,GAAA,CAAC5H,OAAO,EAAA;AAACyI,UAAAA,QAAQ,EAAC,UAAU;AAACC,UAAAA,SAAS,EAAE,MAAgB;AAAA3H,UAAAA,QAAA,EACrDA,QAAAA;SACM,CAAA;OACF,CAAA,CAAA;KACe,CAAA;AAAC,GACe,CAAC,CAAA;AAEjD,CAAC,CAAA;AAEKsH,IAAAA,QAAQ,gBAAGM,wBAAwB,eAAChH,cAAK,CAACiH,UAAU,CAAChI,SAAS,CAAC,EAAE;EACrEiI,WAAW,EAAE9I,oBAAoB,CAACsI,QAAAA;AACpC,CAAC;;;;"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownContext } from './useDropdown';\nimport type { DropdownContextType } from './useDropdown';\nimport type { DropdownProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useId } from '~utils/useId';\nimport { ComponentIds as bottomSheetComponentIds } from '~components/BottomSheet/componentIds';\nimport { BottomSheetAndDropdownGlueContext } from '~components/BottomSheet/BottomSheetContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { throwBladeError } from '~utils/logger';\nimport type { BladeElementRef, ContainerElementType } from '~utils/types';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeRefs } from '~utils/useMergeRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validDropdownChildren = [\n // TODO: Remove Box once CountrySelector's button sizing is fixed\n dropdownComponentIds.BaseBox,\n dropdownComponentIds.triggers.SelectInput,\n dropdownComponentIds.triggers.SearchInput,\n dropdownComponentIds.triggers.DropdownButton,\n dropdownComponentIds.triggers.DropdownIconButton,\n dropdownComponentIds.triggers.DropdownLink,\n dropdownComponentIds.DropdownOverlay,\n dropdownComponentIds.triggers.AutoComplete,\n bottomSheetComponentIds.BottomSheet,\n dropdownComponentIds.triggers.FilterChipSelectInput,\n dropdownComponentIds.triggers.InputDropdownButton,\n];\n\n/**\n * ### Dropdown component\n *\n * Dropdown component is generic component that controls the dropdown functionality.\n * It can be used with multiple triggers and mostly contains ActionList component inside it\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * <Dropdown selectionType=\"single\">\n * <SelectInput />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem />\n * <ActionListItem />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select Dropdown Documentation}\n */\nconst _Dropdown = (\n {\n children,\n isOpen: isOpenControlled,\n onOpenChange,\n selectionType = 'single',\n testID,\n _width,\n ...rest\n }: DropdownProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const [options, setOptions] = React.useState<DropdownContextType['options']>([]);\n const [filteredValues, setFilteredValues] = React.useState<string[]>([]);\n const [selectedIndices, setSelectedIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [controlledValueIndices, setControlledValueIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [activeIndex, setActiveIndex] = React.useState(-1);\n const [activeTagIndex, setActiveTagIndex] = React.useState(-1);\n const [shouldIgnoreBlurAnimation, setShouldIgnoreBlurAnimation] = React.useState(false);\n const [hasFooterAction, setHasFooterAction] = React.useState(false);\n const [hasAutoCompleteInHeader, setHasAutoCompleteInHeader] = React.useState(false);\n const [isKeydownPressed, setIsKeydownPressed] = React.useState(false);\n const [changeCallbackTriggerer, setChangeCallbackTriggerer] = React.useState<\n DropdownContextType['changeCallbackTriggerer']\n >(0);\n const [isControlled, setIsControlled] = React.useState(false);\n // keep track if dropdown contains bottomsheet\n const [dropdownHasBottomSheet, setDropdownHasBottomSheet] = React.useState(false);\n\n /**\n * In inputs, actual input is smaller than the visible input wrapper.\n * You can set this reference in such cases so floating ui calculations happen correctly\n * */\n const triggererWrapperRef = React.useRef<ContainerElementType>(null);\n const triggererRef = React.useRef<HTMLButtonElement>(null);\n const headerAutoCompleteRef = React.useRef<HTMLButtonElement>(null);\n const actionListItemRef = React.useRef<HTMLDivElement>(null);\n const dropdownTriggerer = React.useRef<DropdownContextType['dropdownTriggerer']>();\n const isTagDismissedRef = React.useRef<{ value: boolean } | null>({ value: false });\n const visibleTagsCountRef = React.useRef<{ value: number }>({ value: 0 });\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n\n const dropdownBaseId = useId('dropdown');\n const isDropdownOpenRef = React.useRef(isOpenControlled);\n\n const [isDropdownOpen, setIsDropdownOpen] = useControllableState({\n value: isOpenControlled,\n defaultValue: false,\n onChange: (isOpenControlledValue) => {\n isDropdownOpenRef.current = isOpenControlledValue;\n onOpenChange?.(isOpenControlledValue);\n },\n });\n\n isDropdownOpenRef.current = isDropdownOpen;\n\n const setIsOpen = (isOpenValue: boolean): void => {\n isDropdownOpenRef.current = isOpenValue;\n setIsDropdownOpen(() => isOpenValue);\n };\n\n const close = React.useCallback(() => {\n setActiveTagIndex(-1);\n setIsOpen(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (__DEV__) {\n if (!validDropdownChildren.includes(getComponentId(child) ?? '')) {\n throwBladeError({\n message: `Dropdown can only have one of following elements as children - \\n\\n ${validDropdownChildren.join(\n ', ',\n )} \\n\\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,\n moduleName: 'Dropdown',\n });\n }\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SelectInput)) {\n dropdownTriggerer.current = 'SelectInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SearchInput)) {\n dropdownTriggerer.current = 'SearchInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownButton)) {\n dropdownTriggerer.current = 'DropdownButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownIconButton)) {\n dropdownTriggerer.current = 'DropdownIconButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.AutoComplete)) {\n dropdownTriggerer.current = 'AutoComplete';\n }\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.FilterChipSelectInput)) {\n dropdownTriggerer.current = 'FilterChipSelectInput';\n }\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.InputDropdownButton)) {\n dropdownTriggerer.current = 'InputDropdownButton';\n }\n }\n });\n\n const contextValue = React.useMemo<DropdownContextType>(\n () => ({\n isOpen: isDropdownOpen,\n setIsOpen,\n close,\n selectedIndices,\n setSelectedIndices,\n controlledValueIndices,\n setControlledValueIndices,\n options,\n setOptions,\n filteredValues,\n setFilteredValues,\n activeIndex,\n setActiveIndex,\n activeTagIndex,\n setActiveTagIndex,\n visibleTagsCountRef,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n isKeydownPressed,\n setIsKeydownPressed,\n dropdownBaseId,\n triggererRef,\n headerAutoCompleteRef,\n triggererWrapperRef,\n actionListItemRef,\n selectionType,\n hasFooterAction,\n setHasFooterAction,\n hasAutoCompleteInHeader,\n setHasAutoCompleteInHeader,\n dropdownTriggerer: dropdownTriggerer.current,\n changeCallbackTriggerer,\n setChangeCallbackTriggerer,\n isControlled,\n setIsControlled,\n isTagDismissedRef,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isDropdownOpen,\n isOpenControlled,\n selectedIndices,\n controlledValueIndices,\n options,\n filteredValues,\n activeIndex,\n activeTagIndex,\n shouldIgnoreBlurAnimation,\n selectionType,\n hasFooterAction,\n isKeydownPressed,\n changeCallbackTriggerer,\n isControlled,\n ],\n );\n\n const BottomSheetAndDropdownGlueContextValue = React.useMemo((): BottomSheetAndDropdownGlueContext => {\n return {\n isOpen: isDropdownOpen,\n dropdownHasBottomSheet,\n hasAutoCompleteInHeader,\n setDropdownHasBottomSheet,\n // This is the dismiss function which will be injected into the BottomSheet\n // Basically <BottomSheet onDismiss={onBottomSheetDismiss} />\n onBottomSheetDismiss: close,\n };\n }, [dropdownHasBottomSheet, hasAutoCompleteInHeader, isDropdownOpen, close]);\n\n return (\n <BottomSheetAndDropdownGlueContext.Provider value={BottomSheetAndDropdownGlueContextValue}>\n <DropdownContext.Provider value={contextValue}>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={mergeRefs(ref, dropdownContainerRef as any)}\n {...metaAttribute({ name: MetaConstants.Dropdown, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n width={_width}\n >\n <BaseBox position=\"relative\" textAlign={'left' as never}>\n {children}\n </BaseBox>\n </BaseBox>\n </DropdownContext.Provider>\n </BottomSheetAndDropdownGlueContext.Provider>\n );\n};\n\nconst Dropdown = assignWithoutSideEffects(React.forwardRef(_Dropdown), {\n componentId: dropdownComponentIds.Dropdown,\n});\n\nexport { Dropdown };\n"],"names":["validDropdownChildren","dropdownComponentIds","BaseBox","triggers","SelectInput","SearchInput","DropdownButton","DropdownIconButton","DropdownLink","DropdownOverlay","AutoComplete","bottomSheetComponentIds","BottomSheet","FilterChipSelectInput","InputDropdownButton","_Dropdown","_ref","ref","children","isOpenControlled","isOpen","onOpenChange","_ref$selectionType","selectionType","testID","_width","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","options","setOptions","_React$useState3","_React$useState4","filteredValues","setFilteredValues","_React$useState5","_React$useState6","selectedIndices","setSelectedIndices","_React$useState7","_React$useState8","controlledValueIndices","setControlledValueIndices","_React$useState9","_React$useState10","activeIndex","setActiveIndex","_React$useState11","_React$useState12","activeTagIndex","setActiveTagIndex","_React$useState13","_React$useState14","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","_React$useState15","_React$useState16","hasFooterAction","setHasFooterAction","_React$useState17","_React$useState18","hasAutoCompleteInHeader","setHasAutoCompleteInHeader","_React$useState19","_React$useState20","isKeydownPressed","setIsKeydownPressed","_React$useState21","_React$useState22","changeCallbackTriggerer","setChangeCallbackTriggerer","_React$useState23","_React$useState24","isControlled","setIsControlled","_React$useState25","_React$useState26","dropdownHasBottomSheet","setDropdownHasBottomSheet","triggererWrapperRef","useRef","triggererRef","headerAutoCompleteRef","actionListItemRef","dropdownTriggerer","isTagDismissedRef","value","visibleTagsCountRef","dropdownContainerRef","dropdownBaseId","useId","isDropdownOpenRef","_useControllableState","useControllableState","defaultValue","onChange","isOpenControlledValue","current","_useControllableState2","isDropdownOpen","setIsDropdownOpen","setIsOpen","isOpenValue","close","useCallback","Children","map","child","isValidElement","_getComponentId","includes","getComponentId","throwBladeError","message","concat","join","moduleName","isValidAllowedChildren","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","_objectSpread","mergeRefs","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","makeAnalyticsAttribute","width","position","textAlign","assignWithoutSideEffects","forwardRef","componentId"],"mappings":"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"}
@@ -10,7 +10,7 @@ import { jsx } from 'react/jsx-runtime';
10
10
  import BaseButton from '../Button/BaseButton/BaseButton.js';
11
11
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
12
12
 
13
- var _excluded = ["children", "icon", "iconPosition", "isDisabled", "isFullWidth", "isLoading", "onClick", "onBlur", "onKeyDown", "size", "type", "variant", "accessibilityLabel", "testID"];
13
+ var _excluded = ["children", "icon", "iconPosition", "isDisabled", "isFullWidth", "isLoading", "onClick", "onBlur", "onKeyDown", "size", "type", "variant", "color", "accessibilityLabel", "testID"];
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
16
  var _DropdownButton = function _DropdownButton(_ref) {
@@ -33,6 +33,8 @@ var _DropdownButton = function _DropdownButton(_ref) {
33
33
  type = _ref$type === void 0 ? 'button' : _ref$type,
34
34
  _ref$variant = _ref.variant,
35
35
  variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
36
+ _ref$color = _ref.color,
37
+ color = _ref$color === void 0 ? 'primary' : _ref$color,
36
38
  accessibilityLabel = _ref.accessibilityLabel,
37
39
  testID = _ref.testID,
38
40
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -63,6 +65,7 @@ var _DropdownButton = function _DropdownButton(_ref) {
63
65
  variant: variant,
64
66
  testID: testID,
65
67
  ref: triggererRef,
68
+ color: color,
66
69
  accessibilityProps: {
67
70
  label: accessibilityLabel,
68
71
  hasPopup: getActionListContainerRole(hasFooterAction, 'DropdownButton'),