@razorpay/blade 12.33.1 → 12.33.2

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 (170) 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/Typography/Text/Text.js +0 -1
  100. package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
  101. package/build/lib/web/development/components/index.js +2 -0
  102. package/build/lib/web/development/components/index.js.map +1 -1
  103. package/build/lib/web/development/utils/useControlledDropdownInput/index.js +2 -0
  104. package/build/lib/web/development/utils/useControlledDropdownInput/index.js.map +1 -0
  105. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
  106. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
  107. package/build/lib/web/production/components/Accordion/AccordionItemHeader.js +18 -2
  108. package/build/lib/web/production/components/Accordion/AccordionItemHeader.js.map +1 -1
  109. package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js +4 -3
  110. package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js.map +1 -1
  111. package/build/lib/web/production/components/Accordion/commonStyles.js +1 -11
  112. package/build/lib/web/production/components/Accordion/commonStyles.js.map +1 -1
  113. package/build/lib/web/production/components/ActionList/ActionListItem.js +2 -1
  114. package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
  115. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +6 -3
  116. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  117. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +24 -3
  118. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  119. package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js +14 -2
  120. package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js.map +1 -1
  121. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +19 -0
  122. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
  123. package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -1
  124. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  125. package/build/lib/web/production/components/Dropdown/DropdownButton.js +4 -1
  126. package/build/lib/web/production/components/Dropdown/DropdownButton.js.map +1 -1
  127. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +4 -2
  128. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  129. package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js +180 -0
  130. package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js.map +1 -0
  131. package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js +2 -1
  132. package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js.map +1 -1
  133. package/build/lib/web/production/components/Dropdown/index.js +1 -0
  134. package/build/lib/web/production/components/Dropdown/index.js.map +1 -1
  135. package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
  136. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +40 -0
  137. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
  138. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js +2 -0
  139. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js.map +1 -0
  140. package/build/lib/web/production/components/Icons/index.js +1 -0
  141. package/build/lib/web/production/components/Icons/index.js.map +1 -1
  142. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +10 -4
  143. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  144. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +32 -8
  145. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  146. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
  147. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  148. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +8 -4
  149. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  150. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +1 -1
  151. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  152. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +25 -124
  153. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  154. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +6 -4
  155. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
  156. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +97 -30
  157. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
  158. package/build/lib/web/production/components/Input/TextInput/TextInput.js +123 -31
  159. package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
  160. package/build/lib/web/production/components/Typography/Text/Text.js +0 -1
  161. package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
  162. package/build/lib/web/production/components/index.js +2 -0
  163. package/build/lib/web/production/components/index.js.map +1 -1
  164. package/build/lib/web/production/utils/useControlledDropdownInput/index.js +2 -0
  165. package/build/lib/web/production/utils/useControlledDropdownInput/index.js.map +1 -0
  166. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
  167. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
  168. package/build/types/components/index.d.ts +3098 -3001
  169. package/build/types/components/index.native.d.ts +2719 -2686
  170. package/package.json +1 -1
@@ -33,7 +33,7 @@ import { MetaConstants } from '../../../utils/metaAttribute/metaConstants.js';
33
33
  import { getStringFromReactText } from '../../../utils/getStringChildren/getStringChildren.js';
34
34
  import { makeAnalyticsAttribute } from '../../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
35
35
 
36
- var _excluded=["href","target","rel","tabIndex","id","variant","color","size","icon","iconPosition","isDisabled","isFullWidth","isLoading","onClick","onBlur","onKeyDown","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart"];var getRenderElement=function getRenderElement(href){if(isReactNative()){return undefined;}if(href){return 'a';}return 'button';};var getBackgroundColorToken=function getBackgroundColorToken(_ref){var property=_ref.property,variant=_ref.variant,state=_ref.state,color=_ref.color;var _state=state==='focus'||state==='hover'?'highlighted':state;var tokens=backgroundColor(property);if(color==='white'){return tokens.white[variant][_state];}if(color&&color!=='primary'){if(variant==='tertiary'){throw new Error(`Tertiary variant can only be used with color: "primary" or "white" but received "${color}"`);}return tokens.color(color)[variant][_state];}return tokens.base[variant][_state];};var getTextColorToken=function getTextColorToken(_ref2){var property=_ref2.property,variant=_ref2.variant,state=_ref2.state,color=_ref2.color;var tokens=textColor(property);var _state=state==='focus'||state==='hover'?'highlighted':state;if(color==='white'){return tokens.white[variant][_state];}if(color&&color!=='primary'){if(variant==='tertiary'){throw new Error(`Tertiary variant can only be used with color: "primary" or "white" but received "${color}"`);}return tokens.color(color)[variant][_state];}return tokens.base[variant][_state];};var getProps=function getProps(_ref3){var buttonTypographyTokens=_ref3.buttonTypographyTokens,childrenString=_ref3.childrenString,isDisabled=_ref3.isDisabled,size=_ref3.size,theme=_ref3.theme,variant=_ref3.variant,color=_ref3.color,hasIcon=_ref3.hasIcon;if(variant==='tertiary'&&color!=='primary'&&color!=='white'){throwBladeError({moduleName:'BaseButton',message:`Tertiary variant can only be used with color: "primary" or "white" but received "${color}"`});}var isIconOnly=hasIcon&&(!childrenString||(childrenString==null?void 0:childrenString.trim().length)===0);var props={iconSize:isIconOnly?buttonIconOnlySizeToIconSizeMap[size]:buttonSizeToIconSizeMap[size],spinnerSize:buttonSizeToSpinnerSizeMap[size],fontSize:buttonTypographyTokens.fonts.size[size],lineHeight:buttonTypographyTokens.lineHeights[size],minHeight:makeSize(minHeight[size]),height:isIconOnly?buttonIconOnlyHeightWidth[size]:undefined,width:isIconOnly?buttonIconOnlyHeightWidth[size]:undefined,iconPadding:hasIcon&&childrenString!=null&&childrenString.trim()?`spacing.${buttonIconPadding[size]}`:undefined,iconColor:getTextColorToken({property:'icon',variant:variant,color:color,state:'default'}),textColor:getTextColorToken({property:'text',variant:variant,color:color,state:'default'}),buttonPaddingTop:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].top]),buttonPaddingBottom:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].bottom]),buttonPaddingLeft:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].left]),buttonPaddingRight:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].right]),text:childrenString==null?void 0:childrenString.trim(),defaultBackgroundColor:getIn(theme.colors,getBackgroundColorToken({property:'background',variant:variant,color:color,state:'default'})),defaultBorderColor:getIn(theme.colors,getBackgroundColorToken({property:'border',variant:variant,color:color,state:'default'})),hoverBackgroundColor:getIn(theme.colors,getBackgroundColorToken({property:'background',variant:variant,color:color,state:'hover'})),hoverBorderColor:getIn(theme.colors,getBackgroundColorToken({property:'border',variant:variant,color:color,state:'hover'})),focusBackgroundColor:getIn(theme.colors,getBackgroundColorToken({property:'background',variant:variant,color:color,state:'focus'})),focusBorderColor:getIn(theme.colors,getBackgroundColorToken({property:'border',variant:variant,color:color,state:'focus'})),focusRingColor:getIn(theme.colors,'surface.border.primary.muted'),borderWidth:variant=='secondary'?makeBorderSize(theme.border.width.thin):'0px',borderRadius:makeBorderSize(theme.border.radius.medium),motionDuration:'duration.xquick',motionEasing:'easing.standard'};if(isDisabled){var disabledBackgroundColor=getIn(theme.colors,getBackgroundColorToken({property:'background',variant:variant,color:color,state:'disabled'}));var disabledBorderColor=getIn(theme.colors,getBackgroundColorToken({property:'border',variant:variant,color:color,state:'disabled'}));props.iconColor=getTextColorToken({property:'icon',variant:variant,color:color,state:'disabled'});props.textColor=getTextColorToken({property:'text',variant:variant,color:color,state:'disabled'});props.defaultBackgroundColor=disabledBackgroundColor;props.defaultBorderColor=disabledBorderColor;props.hoverBackgroundColor=disabledBackgroundColor;props.hoverBorderColor=disabledBorderColor;props.focusBackgroundColor=disabledBackgroundColor;props.focusBorderColor=disabledBorderColor;}return props;};var ButtonContent=styled(BaseBox)(function(_ref4){var isHidden=_ref4.isHidden;return {opacity:isHidden?0:1};});var _BaseButton=function _BaseButton(_ref5,ref){var _buttonGroupProps$siz,_buttonGroupProps$var,_buttonGroupProps$col,_accessibilityProps$r,_buttonGroupProps$isF;var href=_ref5.href,target=_ref5.target,rel=_ref5.rel,tabIndex=_ref5.tabIndex,id=_ref5.id,_ref5$variant=_ref5.variant,variant=_ref5$variant===void 0?'primary':_ref5$variant,_ref5$color=_ref5.color,color=_ref5$color===void 0?'primary':_ref5$color,_ref5$size=_ref5.size,size=_ref5$size===void 0?'medium':_ref5$size,Icon=_ref5.icon,_ref5$iconPosition=_ref5.iconPosition,iconPosition=_ref5$iconPosition===void 0?'left':_ref5$iconPosition,_ref5$isDisabled=_ref5.isDisabled,isDisabled=_ref5$isDisabled===void 0?false:_ref5$isDisabled,_ref5$isFullWidth=_ref5.isFullWidth,isFullWidth=_ref5$isFullWidth===void 0?false:_ref5$isFullWidth,_ref5$isLoading=_ref5.isLoading,isLoading=_ref5$isLoading===void 0?false:_ref5$isLoading,onClick=_ref5.onClick,onBlur=_ref5.onBlur,_onKeyDown=_ref5.onKeyDown,_ref5$type=_ref5.type,type=_ref5$type===void 0?'button':_ref5$type,children=_ref5.children,testID=_ref5.testID,onFocus=_ref5.onFocus,onMouseLeave=_ref5.onMouseLeave,onMouseMove=_ref5.onMouseMove,_onMouseDown=_ref5.onMouseDown,onPointerDown=_ref5.onPointerDown,onPointerEnter=_ref5.onPointerEnter,accessibilityProps=_ref5.accessibilityProps,_onTouchEnd=_ref5.onTouchEnd,_onTouchStart=_ref5.onTouchStart,rest=_objectWithoutProperties(_ref5,_excluded);var _useTheme=useTheme(),theme=_useTheme.theme;var buttonGroupProps=useButtonGroupContext();var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isPressed=_React$useState2[0],setIsPressed=_React$useState2[1];var isLink=Boolean(href);var childrenString=getStringFromReactText(children);var isChildrenComponent=React__default.isValidElement(children);var disabled=buttonGroupProps.isDisabled||isLoading||isDisabled&&!isLink;if(__DEV__){if(!Icon&&!(childrenString!=null&&childrenString.trim())){throwBladeError({message:'At least one of icon or text is required to render a button.',moduleName:'BaseButton'});}}var prevLoading=usePrevious(isLoading);React__default.useEffect(function(){if(isLoading)announce('Started loading');if(!isLoading&&prevLoading)announce('Stopped loading');},[isLoading,prevLoading]);var _getProps=getProps({buttonTypographyTokens:typography,childrenString:childrenString,isDisabled:disabled,size:(_buttonGroupProps$siz=buttonGroupProps.size)!=null?_buttonGroupProps$siz:size,variant:(_buttonGroupProps$var=buttonGroupProps.variant)!=null?_buttonGroupProps$var:variant,theme:theme,color:(_buttonGroupProps$col=buttonGroupProps.color)!=null?_buttonGroupProps$col:color,hasIcon:Boolean(Icon)}),defaultBorderColor=_getProps.defaultBorderColor,defaultBackgroundColor=_getProps.defaultBackgroundColor,minHeight=_getProps.minHeight,height=_getProps.height,width=_getProps.width,buttonPaddingTop=_getProps.buttonPaddingTop,buttonPaddingBottom=_getProps.buttonPaddingBottom,buttonPaddingLeft=_getProps.buttonPaddingLeft,buttonPaddingRight=_getProps.buttonPaddingRight,focusBorderColor=_getProps.focusBorderColor,focusBackgroundColor=_getProps.focusBackgroundColor,focusRingColor=_getProps.focusRingColor,fontSize=_getProps.fontSize,hoverBorderColor=_getProps.hoverBorderColor,hoverBackgroundColor=_getProps.hoverBackgroundColor,iconColor=_getProps.iconColor,iconSize=_getProps.iconSize,iconPadding=_getProps.iconPadding,spinnerSize=_getProps.spinnerSize,lineHeight=_getProps.lineHeight,text=_getProps.text,textColor=_getProps.textColor,borderWidth=_getProps.borderWidth,borderRadius=_getProps.borderRadius,motionDuration=_getProps.motionDuration,motionEasing=_getProps.motionEasing;var renderElement=React__default.useMemo(function(){return getRenderElement(href);},[href]);var defaultRole=isLink?'link':'button';var handlePointerPressedIn=React__default.useCallback(function(){if(disabled)return;setIsPressed(true);},[disabled]);var handlePointerPressedOut=React__default.useCallback(function(){if(disabled)return;setIsPressed(false);},[disabled]);var handleKeyboardPressedIn=React__default.useCallback(function(e){if(disabled)return;if(e.key===' '||e.key==='Enter'){setIsPressed(true);}},[disabled]);var handleKeyboardPressedOut=React__default.useCallback(function(e){if(disabled)return;if(e.key===' '||e.key==='Enter'){setIsPressed(false);}},[disabled]);return jsx(StyledBaseButton,Object.assign({ref:ref,id:id,as:renderElement,href:href,target:target,rel:rel,accessibilityProps:Object.assign({},makeAccessible(Object.assign({},accessibilityProps,{role:(_accessibilityProps$r=accessibilityProps==null?void 0:accessibilityProps.role)!=null?_accessibilityProps$r:defaultRole}))),variant:variant,isLoading:isLoading,disabled:disabled,defaultBorderColor:defaultBorderColor,minHeight:minHeight,buttonPaddingTop:buttonPaddingTop,buttonPaddingBottom:buttonPaddingBottom,buttonPaddingLeft:buttonPaddingLeft,buttonPaddingRight:buttonPaddingRight,defaultBackgroundColor:defaultBackgroundColor,focusBorderColor:focusBorderColor,focusBackgroundColor:focusBackgroundColor,focusRingColor:focusRingColor,hoverBorderColor:hoverBorderColor,hoverBackgroundColor:hoverBackgroundColor,isFullWidth:(_buttonGroupProps$isF=buttonGroupProps.isFullWidth)!=null?_buttonGroupProps$isF:isFullWidth,onClick:onClick,onBlur:onBlur,onFocus:onFocus,onMouseLeave:onMouseLeave,onMouseMove:onMouseMove,tabIndex:tabIndex,onPointerDown:onPointerDown,onPointerEnter:onPointerEnter,onKeyDown:function onKeyDown(event){handleKeyboardPressedIn(event);_onKeyDown==null?void 0:_onKeyDown(event);},onTouchStart:function onTouchStart(event){handlePointerPressedIn();_onTouchStart==null?void 0:_onTouchStart(event);},onTouchEnd:function onTouchEnd(event){handlePointerPressedOut();_onTouchEnd==null?void 0:_onTouchEnd(event);},type:type,borderWidth:borderWidth,borderRadius:borderRadius,motionDuration:motionDuration,motionEasing:motionEasing,height:height,width:width,isPressed:isPressed,onMouseDown:function onMouseDown(event){handlePointerPressedIn();_onMouseDown==null?void 0:_onMouseDown(event);},onMouseUp:handlePointerPressedOut,onMouseOut:handlePointerPressedOut,onKeyUp:handleKeyboardPressedOut},metaAttribute({name:MetaConstants.Button,testID:testID}),getStyledProps(rest),makeAnalyticsAttribute(rest),{children:jsxs(AnimatedButtonContent,{motionDuration:motionDuration,motionEasing:motionEasing,isPressed:isPressed,children:[isLoading?jsx(BaseBox,{display:"flex",justifyContent:"center",alignItems:"center",position:"absolute",top:"0px",left:"0px",bottom:"0px",right:"0px",zIndex:1,children:jsx(BaseSpinner,{accessibilityLabel:"Loading",size:spinnerSize,color:color})}):null,jsxs(ButtonContent,{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center",flex:1,isHidden:isLoading,zIndex:1,children:[Icon&&iconPosition=='left'?jsx(BaseBox,{paddingRight:iconPadding,display:"flex",justifyContent:"center",alignItems:"center",children:jsx(Icon,{size:iconSize,color:iconColor})}):null,text?isChildrenComponent?children:jsx(BaseText,{lineHeight:lineHeight,fontSize:fontSize,fontWeight:"medium",textAlign:"center",color:textColor,children:text}):null,Icon&&iconPosition=='right'?jsx(BaseBox,{paddingLeft:iconPadding,display:"flex",justifyContent:"center",alignItems:"center",children:jsx(Icon,{size:iconSize,color:iconColor})}):null]})]})}));};var BaseButton=assignWithoutSideEffects(React__default.forwardRef(_BaseButton),{displayName:'BaseButton'});
36
+ var _excluded=["href","target","rel","tabIndex","id","variant","color","size","icon","iconPosition","isDisabled","isFullWidth","isLoading","onClick","onBlur","onKeyDown","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart"];var getRenderElement=function getRenderElement(href){if(isReactNative()){return undefined;}if(href){return 'a';}return 'button';};var getBackgroundColorToken=function getBackgroundColorToken(_ref){var property=_ref.property,variant=_ref.variant,state=_ref.state,color=_ref.color;var _state=state==='focus'||state==='hover'?'highlighted':state;var tokens=backgroundColor(property);if(color==='white'){return tokens.white[variant][_state];}if(color==='transparent'){if(variant!=='tertiary'){throw new Error(`Transparent color can only be used with tertiary variant but received "${variant}"`);}return tokens.transparent.tertiary[_state];}if(color&&color!=='primary'){if(variant==='tertiary'){throw new Error(`Tertiary variant can only be used with color: "primary" or "white" but received "${color}"`);}return tokens.color(color)[variant][_state];}return tokens.base[variant][_state];};var getTextColorToken=function getTextColorToken(_ref2){var property=_ref2.property,variant=_ref2.variant,state=_ref2.state,color=_ref2.color;var tokens=textColor(property);var _state=state==='focus'||state==='hover'?'highlighted':state;if(color==='white'){return tokens.white[variant][_state];}if(color==='transparent'){if(variant!=='tertiary'){throw new Error(`Transparent color can only be used with tertiary variant but received "${variant}"`);}return tokens.transparent.tertiary[_state];}if(color&&color!=='primary'){if(variant==='tertiary'){throw new Error(`Tertiary variant can only be used with color: "primary" or "white" but received "${color}"`);}return tokens.color(color)[variant][_state];}return tokens.base[variant][_state];};var getProps=function getProps(_ref3){var buttonTypographyTokens=_ref3.buttonTypographyTokens,childrenString=_ref3.childrenString,isDisabled=_ref3.isDisabled,size=_ref3.size,theme=_ref3.theme,variant=_ref3.variant,color=_ref3.color,hasIcon=_ref3.hasIcon;if(variant==='tertiary'&&color!=='primary'&&color!=='white'&&color!=='transparent'){throwBladeError({moduleName:'BaseButton',message:`Tertiary variant can only be used with color: "primary" or "white" or "transparent" but received "${color}"`});}var isIconOnly=hasIcon&&(!childrenString||(childrenString==null?void 0:childrenString.trim().length)===0);var props={iconSize:isIconOnly?buttonIconOnlySizeToIconSizeMap[size]:buttonSizeToIconSizeMap[size],spinnerSize:buttonSizeToSpinnerSizeMap[size],fontSize:buttonTypographyTokens.fonts.size[size],lineHeight:buttonTypographyTokens.lineHeights[size],minHeight:makeSize(minHeight[size]),height:isIconOnly?buttonIconOnlyHeightWidth[size]:undefined,width:isIconOnly?buttonIconOnlyHeightWidth[size]:undefined,iconPadding:hasIcon&&childrenString!=null&&childrenString.trim()?`spacing.${buttonIconPadding[size]}`:undefined,iconColor:getTextColorToken({property:'icon',variant:variant,color:color,state:'default'}),textColor:getTextColorToken({property:'text',variant:variant,color:color,state:'default'}),buttonPaddingTop:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].top]),buttonPaddingBottom:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].bottom]),buttonPaddingLeft:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].left]),buttonPaddingRight:isIconOnly?makeSpace(0):makeSpace(theme.spacing[buttonPadding[size].right]),text:childrenString==null?void 0:childrenString.trim(),defaultBackgroundColor:getIn(theme.colors,getBackgroundColorToken({property:'background',variant:variant,color:color,state:'default'})),defaultBorderColor:getIn(theme.colors,getBackgroundColorToken({property:'border',variant:variant,color:color,state:'default'})),hoverBackgroundColor:getIn(theme.colors,getBackgroundColorToken({property:'background',variant:variant,color:color,state:'hover'})),hoverBorderColor:getIn(theme.colors,getBackgroundColorToken({property:'border',variant:variant,color:color,state:'hover'})),hoverIconColor:getIn(theme.colors,getTextColorToken({property:'icon',variant:variant,color:color,state:'hover'})),focusBackgroundColor:getIn(theme.colors,getBackgroundColorToken({property:'background',variant:variant,color:color,state:'focus'})),focusBorderColor:getIn(theme.colors,getBackgroundColorToken({property:'border',variant:variant,color:color,state:'focus'})),focusRingColor:getIn(theme.colors,'surface.border.primary.muted'),borderWidth:variant=='secondary'?makeBorderSize(theme.border.width.thin):'0px',borderRadius:makeBorderSize(theme.border.radius.medium),motionDuration:'duration.xquick',motionEasing:'easing.standard'};if(isDisabled){var disabledBackgroundColor=getIn(theme.colors,getBackgroundColorToken({property:'background',variant:variant,color:color,state:'disabled'}));var disabledBorderColor=getIn(theme.colors,getBackgroundColorToken({property:'border',variant:variant,color:color,state:'disabled'}));props.iconColor=getTextColorToken({property:'icon',variant:variant,color:color,state:'disabled'});props.textColor=getTextColorToken({property:'text',variant:variant,color:color,state:'disabled'});props.defaultBackgroundColor=disabledBackgroundColor;props.defaultBorderColor=disabledBorderColor;props.hoverBackgroundColor=disabledBackgroundColor;props.hoverBorderColor=disabledBorderColor;props.focusBackgroundColor=disabledBackgroundColor;props.focusBorderColor=disabledBorderColor;}return props;};var ButtonContent=styled(BaseBox)(function(_ref4){var isHidden=_ref4.isHidden;return {opacity:isHidden?0:1};});var _BaseButton=function _BaseButton(_ref5,ref){var _buttonGroupProps$siz,_buttonGroupProps$var,_buttonGroupProps$col,_accessibilityProps$r,_buttonGroupProps$isF;var href=_ref5.href,target=_ref5.target,rel=_ref5.rel,tabIndex=_ref5.tabIndex,id=_ref5.id,_ref5$variant=_ref5.variant,variant=_ref5$variant===void 0?'primary':_ref5$variant,_ref5$color=_ref5.color,color=_ref5$color===void 0?'primary':_ref5$color,_ref5$size=_ref5.size,size=_ref5$size===void 0?'medium':_ref5$size,Icon=_ref5.icon,_ref5$iconPosition=_ref5.iconPosition,iconPosition=_ref5$iconPosition===void 0?'left':_ref5$iconPosition,_ref5$isDisabled=_ref5.isDisabled,isDisabled=_ref5$isDisabled===void 0?false:_ref5$isDisabled,_ref5$isFullWidth=_ref5.isFullWidth,isFullWidth=_ref5$isFullWidth===void 0?false:_ref5$isFullWidth,_ref5$isLoading=_ref5.isLoading,isLoading=_ref5$isLoading===void 0?false:_ref5$isLoading,onClick=_ref5.onClick,onBlur=_ref5.onBlur,_onKeyDown=_ref5.onKeyDown,_ref5$type=_ref5.type,type=_ref5$type===void 0?'button':_ref5$type,children=_ref5.children,testID=_ref5.testID,onFocus=_ref5.onFocus,onMouseLeave=_ref5.onMouseLeave,onMouseMove=_ref5.onMouseMove,_onMouseDown=_ref5.onMouseDown,onPointerDown=_ref5.onPointerDown,onPointerEnter=_ref5.onPointerEnter,accessibilityProps=_ref5.accessibilityProps,_onTouchEnd=_ref5.onTouchEnd,_onTouchStart=_ref5.onTouchStart,rest=_objectWithoutProperties(_ref5,_excluded);var _useTheme=useTheme(),theme=_useTheme.theme;var buttonGroupProps=useButtonGroupContext();var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isPressed=_React$useState2[0],setIsPressed=_React$useState2[1];var isLink=Boolean(href);var childrenString=getStringFromReactText(children);var isChildrenComponent=React__default.isValidElement(children);var disabled=buttonGroupProps.isDisabled||isLoading||isDisabled&&!isLink;if(__DEV__){if(!Icon&&!(childrenString!=null&&childrenString.trim())){throwBladeError({message:'At least one of icon or text is required to render a button.',moduleName:'BaseButton'});}}var prevLoading=usePrevious(isLoading);React__default.useEffect(function(){if(isLoading)announce('Started loading');if(!isLoading&&prevLoading)announce('Stopped loading');},[isLoading,prevLoading]);var _getProps=getProps({buttonTypographyTokens:typography,childrenString:childrenString,isDisabled:disabled,size:(_buttonGroupProps$siz=buttonGroupProps.size)!=null?_buttonGroupProps$siz:size,variant:(_buttonGroupProps$var=buttonGroupProps.variant)!=null?_buttonGroupProps$var:variant,theme:theme,color:(_buttonGroupProps$col=buttonGroupProps.color)!=null?_buttonGroupProps$col:color,hasIcon:Boolean(Icon)}),defaultBorderColor=_getProps.defaultBorderColor,defaultBackgroundColor=_getProps.defaultBackgroundColor,minHeight=_getProps.minHeight,height=_getProps.height,width=_getProps.width,buttonPaddingTop=_getProps.buttonPaddingTop,buttonPaddingBottom=_getProps.buttonPaddingBottom,buttonPaddingLeft=_getProps.buttonPaddingLeft,buttonPaddingRight=_getProps.buttonPaddingRight,focusBorderColor=_getProps.focusBorderColor,focusBackgroundColor=_getProps.focusBackgroundColor,focusRingColor=_getProps.focusRingColor,fontSize=_getProps.fontSize,hoverBorderColor=_getProps.hoverBorderColor,hoverBackgroundColor=_getProps.hoverBackgroundColor,hoverIconColor=_getProps.hoverIconColor,iconColor=_getProps.iconColor,iconSize=_getProps.iconSize,iconPadding=_getProps.iconPadding,spinnerSize=_getProps.spinnerSize,lineHeight=_getProps.lineHeight,text=_getProps.text,textColor=_getProps.textColor,borderWidth=_getProps.borderWidth,borderRadius=_getProps.borderRadius,motionDuration=_getProps.motionDuration,motionEasing=_getProps.motionEasing;var renderElement=React__default.useMemo(function(){return getRenderElement(href);},[href]);var defaultRole=isLink?'link':'button';var handlePointerPressedIn=React__default.useCallback(function(){if(disabled)return;setIsPressed(true);},[disabled]);var handlePointerPressedOut=React__default.useCallback(function(){if(disabled)return;setIsPressed(false);},[disabled]);var handleKeyboardPressedIn=React__default.useCallback(function(e){if(disabled)return;if(e.key===' '||e.key==='Enter'){setIsPressed(true);}},[disabled]);var handleKeyboardPressedOut=React__default.useCallback(function(e){if(disabled)return;if(e.key===' '||e.key==='Enter'){setIsPressed(false);}},[disabled]);return jsx(StyledBaseButton,Object.assign({ref:ref,id:id,as:renderElement,href:href,target:target,rel:rel,accessibilityProps:Object.assign({},makeAccessible(Object.assign({},accessibilityProps,{role:(_accessibilityProps$r=accessibilityProps==null?void 0:accessibilityProps.role)!=null?_accessibilityProps$r:defaultRole}))),variant:variant,color:color,isLoading:isLoading,disabled:disabled,defaultBorderColor:defaultBorderColor,minHeight:minHeight,buttonPaddingTop:buttonPaddingTop,buttonPaddingBottom:buttonPaddingBottom,buttonPaddingLeft:buttonPaddingLeft,buttonPaddingRight:buttonPaddingRight,defaultBackgroundColor:defaultBackgroundColor,focusBorderColor:focusBorderColor,focusBackgroundColor:focusBackgroundColor,focusRingColor:focusRingColor,hoverBorderColor:hoverBorderColor,hoverBackgroundColor:hoverBackgroundColor,isFullWidth:(_buttonGroupProps$isF=buttonGroupProps.isFullWidth)!=null?_buttonGroupProps$isF:isFullWidth,onClick:onClick,onBlur:onBlur,onFocus:onFocus,onMouseLeave:onMouseLeave,onMouseMove:onMouseMove,tabIndex:tabIndex,onPointerDown:onPointerDown,onPointerEnter:onPointerEnter,onKeyDown:function onKeyDown(event){handleKeyboardPressedIn(event);_onKeyDown==null?void 0:_onKeyDown(event);},onTouchStart:function onTouchStart(event){handlePointerPressedIn();_onTouchStart==null?void 0:_onTouchStart(event);},onTouchEnd:function onTouchEnd(event){handlePointerPressedOut();_onTouchEnd==null?void 0:_onTouchEnd(event);},type:type,borderWidth:borderWidth,borderRadius:borderRadius,motionDuration:motionDuration,motionEasing:motionEasing,height:height,width:width,isPressed:isPressed,hoverIconColor:isDisabled?getIn(theme.colors,iconColor):hoverIconColor,onMouseDown:function onMouseDown(event){handlePointerPressedIn();_onMouseDown==null?void 0:_onMouseDown(event);},onMouseUp:handlePointerPressedOut,onMouseOut:handlePointerPressedOut,onKeyUp:handleKeyboardPressedOut},metaAttribute({name:MetaConstants.Button,testID:testID}),getStyledProps(rest),makeAnalyticsAttribute(rest),{children:jsxs(AnimatedButtonContent,{motionDuration:motionDuration,motionEasing:motionEasing,isPressed:isPressed,children:[isLoading?jsx(BaseBox,{display:"flex",justifyContent:"center",alignItems:"center",position:"absolute",top:"0px",left:"0px",bottom:"0px",right:"0px",zIndex:1,children:jsx(BaseSpinner,{accessibilityLabel:"Loading",size:spinnerSize,color:color==='transparent'?'primary':color})}):null,jsxs(ButtonContent,{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center",flex:1,isHidden:isLoading,zIndex:1,children:[Icon&&iconPosition=='left'?jsx(BaseBox,{paddingRight:iconPadding,display:"flex",justifyContent:"center",alignItems:"center",children:jsx(Icon,{size:iconSize,color:iconColor})}):null,text?isChildrenComponent?children:jsx(BaseText,{lineHeight:lineHeight,fontSize:fontSize,fontWeight:"medium",textAlign:"center",color:textColor,children:text}):null,Icon&&iconPosition=='right'?jsx(BaseBox,{paddingLeft:iconPadding,display:"flex",justifyContent:"center",alignItems:"center",children:jsx(Icon,{size:iconSize,color:iconColor})}):null]})]})}));};var BaseButton=assignWithoutSideEffects(React__default.forwardRef(_BaseButton),{displayName:'BaseButton'});
37
37
 
38
38
  export { BaseButton as default, getBackgroundColorToken, getTextColorToken };
39
39
  //# sourceMappingURL=BaseButton.js.map
@@ -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","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","_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","__DEV__","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","Object","assign","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","displayName"],"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","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","_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","__DEV__","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","Object","assign","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","displayName"],"mappings":"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"}
@@ -7,7 +7,7 @@ import 'react';
7
7
  import { makeSize } from '../../../utils/makeSize/makeSize.js';
8
8
  import '../../BladeProvider/useTheme.js';
9
9
 
10
- var backgroundColor=function backgroundColor(property){var isBorder=property==='border';return {base:{primary:{default:`interactive.${property}.primary.default`,highlighted:`interactive.${property}.primary.highlighted`,disabled:`interactive.${property}.primary.disabled`},secondary:{default:isBorder?'interactive.border.primary.default':'transparent',highlighted:isBorder?`interactive.border.primary.default`:`interactive.background.primary.faded`,disabled:isBorder?`interactive.border.primary.disabled`:`transparent`},tertiary:{default:`interactive.${property}.gray.default`,highlighted:`interactive.${property}.gray.highlighted`,disabled:`interactive.${property}.gray.disabled`}},white:{primary:{default:`interactive.${property}.staticWhite.default`,highlighted:`interactive.${property}.staticWhite.highlighted`,disabled:`interactive.${property}.staticWhite.disabled`},secondary:{default:isBorder?'interactive.border.staticWhite.highlighted':'transparent',highlighted:isBorder?'interactive.border.staticWhite.highlighted':'interactive.background.staticWhite.faded',disabled:isBorder?`interactive.border.staticWhite.disabled`:'transparent'},tertiary:{default:`interactive.background.staticWhite.faded`,highlighted:`interactive.background.staticWhite.fadedHighlighted`,disabled:`interactive.background.staticWhite.disabled`}},color:function color(_color){return {primary:{default:`interactive.${property}.${_color}.default`,highlighted:`interactive.${property}.${_color}.highlighted`,disabled:`interactive.${property}.${_color}.disabled`},secondary:{default:isBorder?`interactive.border.${_color}.default`:`interactive.background.${_color}.faded`,highlighted:isBorder?`interactive.border.${_color}.default`:`interactive.background.${_color}.fadedHighlighted`,disabled:`interactive.${property}.${_color}.disabled`}};}};};var textColor=function textColor(property){return {base:{primary:{default:`interactive.${property}.onPrimary.normal`,highlighted:`interactive.${property}.onPrimary.normal`,disabled:`interactive.${property}.primary.disabled`},secondary:{default:`interactive.${property}.primary.subtle`,highlighted:`interactive.${property}.primary.subtle`,disabled:`interactive.${property}.primary.disabled`},tertiary:{default:`interactive.${property}.gray.normal`,highlighted:`interactive.${property}.gray.normal`,disabled:`interactive.${property}.gray.disabled`}},white:{primary:{default:`interactive.${property}.staticBlack.muted`,highlighted:`interactive.${property}.staticBlack.muted`,disabled:`interactive.${property}.staticBlack.disabled`},secondary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`},tertiary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`}},color:function color(_color2){return {primary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.${_color2}.disabled`},secondary:{default:`interactive.${property}.${_color2}.normal`,highlighted:`interactive.${property}.${_color2}.normal`,disabled:`interactive.${property}.${_color2}.disabled`}};}};};var typography={fonts:{size:{xsmall:50,small:50,medium:100,large:200}},lineHeights:{xsmall:75,small:75,medium:100,large:200}};var minHeight={xsmall:size[28],small:size[32],medium:size[36],large:size[48]};var buttonPadding={xsmall:{top:0,bottom:0,left:3,right:3},small:{top:0,bottom:0,left:4,right:4},medium:{top:0,bottom:0,left:6,right:6},large:{top:0,bottom:0,left:6,right:6}};var buttonIconOnlyHeightWidth={xsmall:makeSize(size['28']),small:makeSize(size['32']),medium:makeSize(size['36']),large:makeSize(size['48'])};var buttonSizeToIconSizeMap={xsmall:'small',small:'small',medium:'medium',large:'medium'};var buttonIconOnlySizeToIconSizeMap={xsmall:'medium',small:'medium',medium:'medium',large:'medium'};var buttonSizeToSpinnerSizeMap={xsmall:'medium',small:'large',medium:'large',large:'xlarge'};var buttonIconPadding={xsmall:1,small:2,medium:3,large:3};
10
+ var backgroundColor=function backgroundColor(property){var isBorder=property==='border';return {base:{primary:{default:`interactive.${property}.primary.default`,highlighted:`interactive.${property}.primary.highlighted`,disabled:`interactive.${property}.primary.disabled`},secondary:{default:isBorder?'interactive.border.primary.default':'transparent',highlighted:isBorder?`interactive.border.primary.default`:`interactive.background.primary.faded`,disabled:isBorder?`interactive.border.primary.disabled`:`transparent`},tertiary:{default:`interactive.${property}.gray.default`,highlighted:`interactive.${property}.gray.highlighted`,disabled:`interactive.${property}.gray.disabled`},transparent:{default:'transparent',highlighted:`interactive.${property}.gray.faded`,disabled:`interactive.${property}.gray.disabled`}},white:{primary:{default:`interactive.${property}.staticWhite.default`,highlighted:`interactive.${property}.staticWhite.highlighted`,disabled:`interactive.${property}.staticWhite.disabled`},secondary:{default:isBorder?'interactive.border.staticWhite.highlighted':'transparent',highlighted:isBorder?'interactive.border.staticWhite.highlighted':'interactive.background.staticWhite.faded',disabled:isBorder?`interactive.border.staticWhite.disabled`:'transparent'},tertiary:{default:`interactive.background.staticWhite.faded`,highlighted:`interactive.background.staticWhite.fadedHighlighted`,disabled:`interactive.background.staticWhite.disabled`}},transparent:{tertiary:{default:'transparent',highlighted:'interactive.background.gray.faded',disabled:`interactive.background.staticWhite.disabled`}},color:function color(_color){return {primary:{default:`interactive.${property}.${_color}.default`,highlighted:`interactive.${property}.${_color}.highlighted`,disabled:`interactive.${property}.${_color}.disabled`},secondary:{default:isBorder?`interactive.border.${_color}.default`:`interactive.background.${_color}.faded`,highlighted:isBorder?`interactive.border.${_color}.default`:`interactive.background.${_color}.fadedHighlighted`,disabled:`interactive.${property}.${_color}.disabled`}};}};};var textColor=function textColor(property){return {base:{primary:{default:`interactive.${property}.onPrimary.normal`,highlighted:`interactive.${property}.onPrimary.normal`,disabled:`interactive.${property}.primary.disabled`},secondary:{default:`interactive.${property}.primary.subtle`,highlighted:`interactive.${property}.primary.subtle`,disabled:`interactive.${property}.primary.disabled`},tertiary:{default:`interactive.${property}.gray.normal`,highlighted:`interactive.${property}.gray.normal`,disabled:`interactive.${property}.gray.disabled`}},white:{primary:{default:`interactive.${property}.staticBlack.muted`,highlighted:`interactive.${property}.staticBlack.muted`,disabled:`interactive.${property}.staticBlack.disabled`},secondary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`},tertiary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`}},transparent:{tertiary:{default:property==='icon'?'interactive.icon.gray.muted':'surface.text.gray.normal',highlighted:property==='icon'?'interactive.icon.gray.subtle':'surface.text.gray.normal',disabled:`interactive.${property}.gray.disabled`}},color:function color(_color2){return {primary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.${_color2}.disabled`},secondary:{default:`interactive.${property}.${_color2}.normal`,highlighted:`interactive.${property}.${_color2}.normal`,disabled:`interactive.${property}.${_color2}.disabled`}};}};};var typography={fonts:{size:{xsmall:50,small:50,medium:100,large:200}},lineHeights:{xsmall:75,small:75,medium:100,large:200}};var minHeight={xsmall:size[28],small:size[32],medium:size[36],large:size[48]};var buttonPadding={xsmall:{top:0,bottom:0,left:3,right:3},small:{top:0,bottom:0,left:4,right:4},medium:{top:0,bottom:0,left:6,right:6},large:{top:0,bottom:0,left:6,right:6}};var buttonIconOnlyHeightWidth={xsmall:makeSize(size['28']),small:makeSize(size['32']),medium:makeSize(size['36']),large:makeSize(size['48'])};var buttonSizeToIconSizeMap={xsmall:'small',small:'small',medium:'medium',large:'medium'};var buttonIconOnlySizeToIconSizeMap={xsmall:'medium',small:'medium',medium:'medium',large:'medium'};var buttonSizeToSpinnerSizeMap={xsmall:'medium',small:'large',medium:'large',large:'xlarge'};var buttonIconPadding={xsmall:1,small:2,medium:3,large:3};
11
11
 
12
12
  export { backgroundColor, buttonIconOnlyHeightWidth, buttonIconOnlySizeToIconSizeMap, buttonIconPadding, buttonPadding, buttonSizeToIconSizeMap, buttonSizeToSpinnerSizeMap, minHeight, textColor, typography };
13
13
  //# sourceMappingURL=buttonTokens.js.map
@@ -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","default","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","default","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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"}
@@ -22,7 +22,7 @@ import { mergeRefs } from '../../utils/useMergeRefs.js';
22
22
  import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
23
23
  import { jsx } from 'react/jsx-runtime';
24
24
 
25
- var _excluded=["children","isOpen","onOpenChange","selectionType","testID","_width"];var validDropdownChildren=[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];var _Dropdown=function _Dropdown(_ref,ref){var children=_ref.children,isOpenControlled=_ref.isOpen,onOpenChange=_ref.onOpenChange,_ref$selectionType=_ref.selectionType,selectionType=_ref$selectionType===void 0?'single':_ref$selectionType,testID=_ref.testID,_width=_ref._width,rest=_objectWithoutProperties(_ref,_excluded);var _React$useState=React__default.useState([]),_React$useState2=_slicedToArray(_React$useState,2),options=_React$useState2[0],setOptions=_React$useState2[1];var _React$useState3=React__default.useState([]),_React$useState4=_slicedToArray(_React$useState3,2),filteredValues=_React$useState4[0],setFilteredValues=_React$useState4[1];var _React$useState5=React__default.useState([]),_React$useState6=_slicedToArray(_React$useState5,2),selectedIndices=_React$useState6[0],setSelectedIndices=_React$useState6[1];var _React$useState7=React__default.useState([]),_React$useState8=_slicedToArray(_React$useState7,2),controlledValueIndices=_React$useState8[0],setControlledValueIndices=_React$useState8[1];var _React$useState9=React__default.useState(-1),_React$useState10=_slicedToArray(_React$useState9,2),activeIndex=_React$useState10[0],setActiveIndex=_React$useState10[1];var _React$useState11=React__default.useState(-1),_React$useState12=_slicedToArray(_React$useState11,2),activeTagIndex=_React$useState12[0],setActiveTagIndex=_React$useState12[1];var _React$useState13=React__default.useState(false),_React$useState14=_slicedToArray(_React$useState13,2),shouldIgnoreBlurAnimation=_React$useState14[0],setShouldIgnoreBlurAnimation=_React$useState14[1];var _React$useState15=React__default.useState(false),_React$useState16=_slicedToArray(_React$useState15,2),hasFooterAction=_React$useState16[0],setHasFooterAction=_React$useState16[1];var _React$useState17=React__default.useState(false),_React$useState18=_slicedToArray(_React$useState17,2),hasAutoCompleteInHeader=_React$useState18[0],setHasAutoCompleteInHeader=_React$useState18[1];var _React$useState19=React__default.useState(false),_React$useState20=_slicedToArray(_React$useState19,2),isKeydownPressed=_React$useState20[0],setIsKeydownPressed=_React$useState20[1];var _React$useState21=React__default.useState(0),_React$useState22=_slicedToArray(_React$useState21,2),changeCallbackTriggerer=_React$useState22[0],setChangeCallbackTriggerer=_React$useState22[1];var _React$useState23=React__default.useState(false),_React$useState24=_slicedToArray(_React$useState23,2),isControlled=_React$useState24[0],setIsControlled=_React$useState24[1];var _React$useState25=React__default.useState(false),_React$useState26=_slicedToArray(_React$useState25,2),dropdownHasBottomSheet=_React$useState26[0],setDropdownHasBottomSheet=_React$useState26[1];var triggererWrapperRef=React__default.useRef(null);var triggererRef=React__default.useRef(null);var headerAutoCompleteRef=React__default.useRef(null);var actionListItemRef=React__default.useRef(null);var dropdownTriggerer=React__default.useRef();var isTagDismissedRef=React__default.useRef({value:false});var visibleTagsCountRef=React__default.useRef({value:0});var dropdownContainerRef=React__default.useRef(null);var dropdownBaseId=useId('dropdown');var isDropdownOpenRef=React__default.useRef(isOpenControlled);var _useControllableState=useControllableState({value:isOpenControlled,defaultValue:false,onChange:function onChange(isOpenControlledValue){isDropdownOpenRef.current=isOpenControlledValue;onOpenChange==null?void 0:onOpenChange(isOpenControlledValue);}}),_useControllableState2=_slicedToArray(_useControllableState,2),isDropdownOpen=_useControllableState2[0],setIsDropdownOpen=_useControllableState2[1];isDropdownOpenRef.current=isDropdownOpen;var setIsOpen=function setIsOpen(isOpenValue){isDropdownOpenRef.current=isOpenValue;setIsDropdownOpen(function(){return isOpenValue;});};var close=React__default.useCallback(function(){setActiveTagIndex(-1);setIsOpen(false);},[]);React__default.Children.map(children,function(child){if(React__default.isValidElement(child)){if(__DEV__){var _getComponentId;if(!validDropdownChildren.includes((_getComponentId=getComponentId(child))!=null?_getComponentId:'')){throwBladeError({message:`Dropdown can only have one of following elements as children - \n\n ${validDropdownChildren.join(', ')} \n\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,moduleName:'Dropdown'});}}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.SelectInput)){dropdownTriggerer.current='SelectInput';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.SearchInput)){dropdownTriggerer.current='SearchInput';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.DropdownButton)){dropdownTriggerer.current='DropdownButton';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.DropdownIconButton)){dropdownTriggerer.current='DropdownIconButton';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.AutoComplete)){dropdownTriggerer.current='AutoComplete';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.FilterChipSelectInput)){dropdownTriggerer.current='FilterChipSelectInput';}}});var contextValue=React__default.useMemo(function(){return {isOpen:isDropdownOpen,setIsOpen:setIsOpen,close:close,selectedIndices:selectedIndices,setSelectedIndices:setSelectedIndices,controlledValueIndices:controlledValueIndices,setControlledValueIndices:setControlledValueIndices,options:options,setOptions:setOptions,filteredValues:filteredValues,setFilteredValues:setFilteredValues,activeIndex:activeIndex,setActiveIndex:setActiveIndex,activeTagIndex:activeTagIndex,setActiveTagIndex:setActiveTagIndex,visibleTagsCountRef:visibleTagsCountRef,shouldIgnoreBlurAnimation:shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation:setShouldIgnoreBlurAnimation,isKeydownPressed:isKeydownPressed,setIsKeydownPressed:setIsKeydownPressed,dropdownBaseId:dropdownBaseId,triggererRef:triggererRef,headerAutoCompleteRef:headerAutoCompleteRef,triggererWrapperRef:triggererWrapperRef,actionListItemRef:actionListItemRef,selectionType:selectionType,hasFooterAction:hasFooterAction,setHasFooterAction:setHasFooterAction,hasAutoCompleteInHeader:hasAutoCompleteInHeader,setHasAutoCompleteInHeader:setHasAutoCompleteInHeader,dropdownTriggerer:dropdownTriggerer.current,changeCallbackTriggerer:changeCallbackTriggerer,setChangeCallbackTriggerer:setChangeCallbackTriggerer,isControlled:isControlled,setIsControlled:setIsControlled,isTagDismissedRef:isTagDismissedRef};},[isDropdownOpen,isOpenControlled,selectedIndices,controlledValueIndices,options,filteredValues,activeIndex,activeTagIndex,shouldIgnoreBlurAnimation,selectionType,hasFooterAction,isKeydownPressed,changeCallbackTriggerer,isControlled]);var BottomSheetAndDropdownGlueContextValue=React__default.useMemo(function(){return {isOpen:isDropdownOpen,dropdownHasBottomSheet:dropdownHasBottomSheet,hasAutoCompleteInHeader:hasAutoCompleteInHeader,setDropdownHasBottomSheet:setDropdownHasBottomSheet,onBottomSheetDismiss:close};},[dropdownHasBottomSheet,hasAutoCompleteInHeader,isDropdownOpen,close]);return jsx(BottomSheetAndDropdownGlueContext.Provider,{value:BottomSheetAndDropdownGlueContextValue,children:jsx(DropdownContext.Provider,{value:contextValue,children:jsx(BaseBox,Object.assign({ref:mergeRefs(ref,dropdownContainerRef)},metaAttribute({name:MetaConstants.Dropdown,testID:testID}),getStyledProps(rest),makeAnalyticsAttribute(rest),{width:_width,children:jsx(BaseBox,{position:"relative",textAlign:'left',children:children})}))})});};var Dropdown=assignWithoutSideEffects(React__default.forwardRef(_Dropdown),{componentId:dropdownComponentIds.Dropdown});
25
+ var _excluded=["children","isOpen","onOpenChange","selectionType","testID","_width"];var validDropdownChildren=[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];var _Dropdown=function _Dropdown(_ref,ref){var children=_ref.children,isOpenControlled=_ref.isOpen,onOpenChange=_ref.onOpenChange,_ref$selectionType=_ref.selectionType,selectionType=_ref$selectionType===void 0?'single':_ref$selectionType,testID=_ref.testID,_width=_ref._width,rest=_objectWithoutProperties(_ref,_excluded);var _React$useState=React__default.useState([]),_React$useState2=_slicedToArray(_React$useState,2),options=_React$useState2[0],setOptions=_React$useState2[1];var _React$useState3=React__default.useState([]),_React$useState4=_slicedToArray(_React$useState3,2),filteredValues=_React$useState4[0],setFilteredValues=_React$useState4[1];var _React$useState5=React__default.useState([]),_React$useState6=_slicedToArray(_React$useState5,2),selectedIndices=_React$useState6[0],setSelectedIndices=_React$useState6[1];var _React$useState7=React__default.useState([]),_React$useState8=_slicedToArray(_React$useState7,2),controlledValueIndices=_React$useState8[0],setControlledValueIndices=_React$useState8[1];var _React$useState9=React__default.useState(-1),_React$useState10=_slicedToArray(_React$useState9,2),activeIndex=_React$useState10[0],setActiveIndex=_React$useState10[1];var _React$useState11=React__default.useState(-1),_React$useState12=_slicedToArray(_React$useState11,2),activeTagIndex=_React$useState12[0],setActiveTagIndex=_React$useState12[1];var _React$useState13=React__default.useState(false),_React$useState14=_slicedToArray(_React$useState13,2),shouldIgnoreBlurAnimation=_React$useState14[0],setShouldIgnoreBlurAnimation=_React$useState14[1];var _React$useState15=React__default.useState(false),_React$useState16=_slicedToArray(_React$useState15,2),hasFooterAction=_React$useState16[0],setHasFooterAction=_React$useState16[1];var _React$useState17=React__default.useState(false),_React$useState18=_slicedToArray(_React$useState17,2),hasAutoCompleteInHeader=_React$useState18[0],setHasAutoCompleteInHeader=_React$useState18[1];var _React$useState19=React__default.useState(false),_React$useState20=_slicedToArray(_React$useState19,2),isKeydownPressed=_React$useState20[0],setIsKeydownPressed=_React$useState20[1];var _React$useState21=React__default.useState(0),_React$useState22=_slicedToArray(_React$useState21,2),changeCallbackTriggerer=_React$useState22[0],setChangeCallbackTriggerer=_React$useState22[1];var _React$useState23=React__default.useState(false),_React$useState24=_slicedToArray(_React$useState23,2),isControlled=_React$useState24[0],setIsControlled=_React$useState24[1];var _React$useState25=React__default.useState(false),_React$useState26=_slicedToArray(_React$useState25,2),dropdownHasBottomSheet=_React$useState26[0],setDropdownHasBottomSheet=_React$useState26[1];var triggererWrapperRef=React__default.useRef(null);var triggererRef=React__default.useRef(null);var headerAutoCompleteRef=React__default.useRef(null);var actionListItemRef=React__default.useRef(null);var dropdownTriggerer=React__default.useRef();var isTagDismissedRef=React__default.useRef({value:false});var visibleTagsCountRef=React__default.useRef({value:0});var dropdownContainerRef=React__default.useRef(null);var dropdownBaseId=useId('dropdown');var isDropdownOpenRef=React__default.useRef(isOpenControlled);var _useControllableState=useControllableState({value:isOpenControlled,defaultValue:false,onChange:function onChange(isOpenControlledValue){isDropdownOpenRef.current=isOpenControlledValue;onOpenChange==null?void 0:onOpenChange(isOpenControlledValue);}}),_useControllableState2=_slicedToArray(_useControllableState,2),isDropdownOpen=_useControllableState2[0],setIsDropdownOpen=_useControllableState2[1];isDropdownOpenRef.current=isDropdownOpen;var setIsOpen=function setIsOpen(isOpenValue){isDropdownOpenRef.current=isOpenValue;setIsDropdownOpen(function(){return isOpenValue;});};var close=React__default.useCallback(function(){setActiveTagIndex(-1);setIsOpen(false);},[]);React__default.Children.map(children,function(child){if(React__default.isValidElement(child)){if(__DEV__){var _getComponentId;if(!validDropdownChildren.includes((_getComponentId=getComponentId(child))!=null?_getComponentId:'')){throwBladeError({message:`Dropdown can only have one of following elements as children - \n\n ${validDropdownChildren.join(', ')} \n\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,moduleName:'Dropdown'});}}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.SelectInput)){dropdownTriggerer.current='SelectInput';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.SearchInput)){dropdownTriggerer.current='SearchInput';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.DropdownButton)){dropdownTriggerer.current='DropdownButton';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.DropdownIconButton)){dropdownTriggerer.current='DropdownIconButton';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.AutoComplete)){dropdownTriggerer.current='AutoComplete';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.FilterChipSelectInput)){dropdownTriggerer.current='FilterChipSelectInput';}if(isValidAllowedChildren(child,dropdownComponentIds.triggers.InputDropdownButton)){dropdownTriggerer.current='InputDropdownButton';}}});var contextValue=React__default.useMemo(function(){return {isOpen:isDropdownOpen,setIsOpen:setIsOpen,close:close,selectedIndices:selectedIndices,setSelectedIndices:setSelectedIndices,controlledValueIndices:controlledValueIndices,setControlledValueIndices:setControlledValueIndices,options:options,setOptions:setOptions,filteredValues:filteredValues,setFilteredValues:setFilteredValues,activeIndex:activeIndex,setActiveIndex:setActiveIndex,activeTagIndex:activeTagIndex,setActiveTagIndex:setActiveTagIndex,visibleTagsCountRef:visibleTagsCountRef,shouldIgnoreBlurAnimation:shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation:setShouldIgnoreBlurAnimation,isKeydownPressed:isKeydownPressed,setIsKeydownPressed:setIsKeydownPressed,dropdownBaseId:dropdownBaseId,triggererRef:triggererRef,headerAutoCompleteRef:headerAutoCompleteRef,triggererWrapperRef:triggererWrapperRef,actionListItemRef:actionListItemRef,selectionType:selectionType,hasFooterAction:hasFooterAction,setHasFooterAction:setHasFooterAction,hasAutoCompleteInHeader:hasAutoCompleteInHeader,setHasAutoCompleteInHeader:setHasAutoCompleteInHeader,dropdownTriggerer:dropdownTriggerer.current,changeCallbackTriggerer:changeCallbackTriggerer,setChangeCallbackTriggerer:setChangeCallbackTriggerer,isControlled:isControlled,setIsControlled:setIsControlled,isTagDismissedRef:isTagDismissedRef};},[isDropdownOpen,isOpenControlled,selectedIndices,controlledValueIndices,options,filteredValues,activeIndex,activeTagIndex,shouldIgnoreBlurAnimation,selectionType,hasFooterAction,isKeydownPressed,changeCallbackTriggerer,isControlled]);var BottomSheetAndDropdownGlueContextValue=React__default.useMemo(function(){return {isOpen:isDropdownOpen,dropdownHasBottomSheet:dropdownHasBottomSheet,hasAutoCompleteInHeader:hasAutoCompleteInHeader,setDropdownHasBottomSheet:setDropdownHasBottomSheet,onBottomSheetDismiss:close};},[dropdownHasBottomSheet,hasAutoCompleteInHeader,isDropdownOpen,close]);return jsx(BottomSheetAndDropdownGlueContext.Provider,{value:BottomSheetAndDropdownGlueContextValue,children:jsx(DropdownContext.Provider,{value:contextValue,children:jsx(BaseBox,Object.assign({ref:mergeRefs(ref,dropdownContainerRef)},metaAttribute({name:MetaConstants.Dropdown,testID:testID}),getStyledProps(rest),makeAnalyticsAttribute(rest),{width:_width,children:jsx(BaseBox,{position:"relative",textAlign:'left',children:children})}))})});};var Dropdown=assignWithoutSideEffects(React__default.forwardRef(_Dropdown),{componentId:dropdownComponentIds.Dropdown});
26
26
 
27
27
  export { Dropdown };
28
28
  //# sourceMappingURL=Dropdown.js.map
@@ -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","__DEV__","_getComponentId","includes","getComponentId","throwBladeError","message","join","moduleName","isValidAllowedChildren","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","Object","assign","mergeRefs","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","makeAnalyticsAttribute","width","position","textAlign","assignWithoutSideEffects","forwardRef","componentId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,SAAA,CAAA,CAAA,UAAA,CAAA,QAAA,CAAA,cAAA,CAAA,eAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAmBA,IAAMA,qBAAqB,CAAG,CAE5BC,oBAAoB,CAACC,OAAO,CAC5BD,oBAAoB,CAACE,QAAQ,CAACC,WAAW,CACzCH,oBAAoB,CAACE,QAAQ,CAACE,WAAW,CACzCJ,oBAAoB,CAACE,QAAQ,CAACG,cAAc,CAC5CL,oBAAoB,CAACE,QAAQ,CAACI,kBAAkB,CAChDN,oBAAoB,CAACE,QAAQ,CAACK,YAAY,CAC1CP,oBAAoB,CAACQ,eAAe,CACpCR,oBAAoB,CAACE,QAAQ,CAACO,YAAY,CAC1CC,YAAuB,CAACC,WAAW,CACnCX,oBAAoB,CAACE,QAAQ,CAACU,qBAAqB,CACpD,CA4BD,IAAMC,SAAS,CAAG,SAAZA,SAASA,CAAAC,IAAA,CAUbC,GAA+B,CACR,CATrB,IAAAC,QAAQ,CAAAF,IAAA,CAARE,QAAQ,CACAC,gBAAgB,CAAAH,IAAA,CAAxBI,MAAM,CACNC,YAAY,CAAAL,IAAA,CAAZK,YAAY,CAAAC,kBAAA,CAAAN,IAAA,CACZO,aAAa,CAAbA,aAAa,CAAAD,kBAAA,GAAA,KAAA,CAAA,CAAG,QAAQ,CAAAA,kBAAA,CACxBE,MAAM,CAAAR,IAAA,CAANQ,MAAM,CACNC,MAAM,CAAAT,IAAA,CAANS,MAAM,CACHC,IAAI,CAAAC,wBAAA,CAAAX,IAAA,CAAAY,SAAA,CAIT,CAAA,IAAAC,eAAA,CAA8BC,cAAK,CAACC,QAAQ,CAAiC,EAAE,CAAC,CAAAC,gBAAA,CAAAC,cAAA,CAAAJ,eAAA,CAAA,CAAA,CAAA,CAAzEK,OAAO,CAAAF,gBAAA,CAAEG,CAAAA,CAAAA,CAAAA,UAAU,CAAAH,gBAAA,IAC1B,IAAAI,gBAAA,CAA4CN,cAAK,CAACC,QAAQ,CAAW,EAAE,CAAC,CAAAM,gBAAA,CAAAJ,cAAA,CAAAG,gBAAA,CAAjEE,CAAAA,CAAAA,CAAAA,cAAc,CAAAD,gBAAA,IAAEE,iBAAiB,CAAAF,gBAAA,CAAA,CAAA,CAAA,CACxC,IAAAG,gBAAA,CAA8CV,cAAK,CAACC,QAAQ,CAE1D,EAAE,CAAC,CAAAU,gBAAA,CAAAR,cAAA,CAAAO,gBAAA,IAFEE,eAAe,CAAAD,gBAAA,CAAA,CAAA,CAAA,CAAEE,kBAAkB,CAAAF,gBAAA,CAG1C,CAAA,CAAA,CAAA,IAAAG,gBAAA,CAA4Dd,cAAK,CAACC,QAAQ,CAExE,EAAE,CAAC,CAAAc,gBAAA,CAAAZ,cAAA,CAAAW,gBAAA,CAAA,CAAA,CAAA,CAFEE,sBAAsB,CAAAD,gBAAA,CAAEE,CAAAA,CAAAA,CAAAA,yBAAyB,CAAAF,gBAAA,CAAA,CAAA,CAAA,CAGxD,IAAAG,gBAAA,CAAsClB,cAAK,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAAkB,iBAAA,CAAAhB,cAAA,CAAAe,gBAAA,CAAA,CAAA,CAAA,CAAjDE,WAAW,CAAAD,iBAAA,CAAEE,CAAAA,CAAAA,CAAAA,cAAc,CAAAF,iBAAA,CAAA,CAAA,CAAA,CAClC,IAAAG,iBAAA,CAA4CtB,cAAK,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAAsB,iBAAA,CAAApB,cAAA,CAAAmB,iBAAA,CAAA,CAAA,CAAA,CAAvDE,cAAc,CAAAD,iBAAA,CAAEE,CAAAA,CAAAA,CAAAA,iBAAiB,CAAAF,iBAAA,CAAA,CAAA,CAAA,CACxC,IAAAG,iBAAA,CAAkE1B,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC,CAAA0B,iBAAA,CAAAxB,cAAA,CAAAuB,iBAAA,CAAhFE,CAAAA,CAAAA,CAAAA,yBAAyB,CAAAD,iBAAA,CAAA,CAAA,CAAA,CAAEE,4BAA4B,CAAAF,iBAAA,CAC9D,CAAA,CAAA,CAAA,IAAAG,iBAAA,CAA8C9B,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC,CAAA8B,iBAAA,CAAA5B,cAAA,CAAA2B,iBAAA,CAAA,CAAA,CAAA,CAA5DE,eAAe,CAAAD,iBAAA,CAAEE,CAAAA,CAAAA,CAAAA,kBAAkB,CAAAF,iBAAA,IAC1C,IAAAG,iBAAA,CAA8DlC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC,CAAAkC,iBAAA,CAAAhC,cAAA,CAAA+B,iBAAA,CAA5EE,CAAAA,CAAAA,CAAAA,uBAAuB,CAAAD,iBAAA,IAAEE,0BAA0B,CAAAF,iBAAA,CAAA,CAAA,CAAA,CAC1D,IAAAG,iBAAA,CAAgDtC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC,CAAAsC,iBAAA,CAAApC,cAAA,CAAAmC,iBAAA,IAA9DE,gBAAgB,CAAAD,iBAAA,CAAA,CAAA,CAAA,CAAEE,mBAAmB,CAAAF,iBAAA,CAC5C,CAAA,CAAA,CAAA,IAAAG,iBAAA,CAA8D1C,cAAK,CAACC,QAAQ,CAE1E,CAAC,CAAC,CAAA0C,iBAAA,CAAAxC,cAAA,CAAAuC,iBAAA,CAAA,CAAA,CAAA,CAFGE,uBAAuB,CAAAD,iBAAA,CAAEE,CAAAA,CAAAA,CAAAA,0BAA0B,CAAAF,iBAAA,CAAA,CAAA,CAAA,CAG1D,IAAAG,iBAAA,CAAwC9C,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC,CAAA8C,iBAAA,CAAA5C,cAAA,CAAA2C,iBAAA,CAAtDE,CAAAA,CAAAA,CAAAA,YAAY,CAAAD,iBAAA,CAAA,CAAA,CAAA,CAAEE,eAAe,CAAAF,iBAAA,CAEpC,CAAA,CAAA,CAAA,IAAAG,iBAAA,CAA4DlD,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC,CAAAkD,iBAAA,CAAAhD,cAAA,CAAA+C,iBAAA,CAAA,CAAA,CAAA,CAA1EE,sBAAsB,CAAAD,iBAAA,CAAEE,CAAAA,CAAAA,CAAAA,yBAAyB,CAAAF,iBAAA,IAMxD,IAAMG,mBAAmB,CAAGtD,cAAK,CAACuD,MAAM,CAAuB,IAAI,CAAC,CACpE,IAAMC,YAAY,CAAGxD,cAAK,CAACuD,MAAM,CAAoB,IAAI,CAAC,CAC1D,IAAME,qBAAqB,CAAGzD,cAAK,CAACuD,MAAM,CAAoB,IAAI,CAAC,CACnE,IAAMG,iBAAiB,CAAG1D,cAAK,CAACuD,MAAM,CAAiB,IAAI,CAAC,CAC5D,IAAMI,iBAAiB,CAAG3D,cAAK,CAACuD,MAAM,EAA4C,CAClF,IAAMK,iBAAiB,CAAG5D,cAAK,CAACuD,MAAM,CAA4B,CAAEM,KAAK,CAAE,KAAM,CAAC,CAAC,CACnF,IAAMC,mBAAmB,CAAG9D,cAAK,CAACuD,MAAM,CAAoB,CAAEM,KAAK,CAAE,CAAE,CAAC,CAAC,CACzE,IAAME,oBAAoB,CAAG/D,cAAK,CAACuD,MAAM,CAAiB,IAAI,CAAC,CAE/D,IAAMS,cAAc,CAAGC,KAAK,CAAC,UAAU,CAAC,CACxC,IAAMC,iBAAiB,CAAGlE,cAAK,CAACuD,MAAM,CAAClE,gBAAgB,CAAC,CAExD,IAAA8E,qBAAA,CAA4CC,oBAAoB,CAAC,CAC/DP,KAAK,CAAExE,gBAAgB,CACvBgF,YAAY,CAAE,KAAK,CACnBC,QAAQ,CAAE,SAAAA,QAACC,CAAAA,qBAAqB,CAAK,CACnCL,iBAAiB,CAACM,OAAO,CAAGD,qBAAqB,CACjDhF,YAAY,EAAA,IAAA,CAAA,KAAA,CAAA,CAAZA,YAAY,CAAGgF,qBAAqB,CAAC,CACvC,CACF,CAAC,CAAC,CAAAE,sBAAA,CAAAtE,cAAA,CAAAgE,qBAAA,CAAA,CAAA,CAAA,CAPKO,cAAc,CAAAD,sBAAA,CAAEE,CAAAA,CAAAA,CAAAA,iBAAiB,CAAAF,sBAAA,CAAA,CAAA,CAAA,CASxCP,iBAAiB,CAACM,OAAO,CAAGE,cAAc,CAE1C,IAAME,SAAS,CAAG,SAAZA,SAASA,CAAIC,WAAoB,CAAW,CAChDX,iBAAiB,CAACM,OAAO,CAAGK,WAAW,CACvCF,iBAAiB,CAAC,UAAM,CAAA,OAAAE,WAAW,CAAC,CAAA,CAAA,CACtC,CAAC,CAED,IAAMC,KAAK,CAAG9E,cAAK,CAAC+E,WAAW,CAAC,UAAM,CACpCtD,iBAAiB,CAAC,CAAC,CAAC,CAAC,CACrBmD,SAAS,CAAC,KAAK,CAAC,CAElB,CAAC,CAAE,EAAE,CAAC,CAEN5E,cAAK,CAACgF,QAAQ,CAACC,GAAG,CAAC7F,QAAQ,CAAE,SAAC8F,KAAK,CAAK,CACtC,GAAIlF,cAAK,CAACmF,cAAc,CAACD,KAAK,CAAC,CAAE,CAC/B,GAAIE,OAAO,CAAE,KAAAC,eAAA,CACX,GAAI,CAAClH,qBAAqB,CAACmH,QAAQ,CAAAD,CAAAA,eAAA,CAACE,cAAc,CAACL,KAAK,CAAC,QAAAG,eAAA,CAAI,EAAE,CAAC,CAAE,CAChEG,eAAe,CAAC,CACdC,OAAO,CAAG,CAAA,oEAAA,EAAsEtH,qBAAqB,CAACuH,IAAI,CACxG,IACF,CAAE,CAAA,4EAAA,CAA6E,CAC/EC,UAAU,CAAE,UACd,CAAC,CAAC,CACJ,CACF,CAEA,GAAIC,sBAAsB,CAACV,KAAK,CAAE9G,oBAAoB,CAACE,QAAQ,CAACC,WAAW,CAAC,CAAE,CAC5EoF,iBAAiB,CAACa,OAAO,CAAG,aAAa,CAC3C,CAEA,GAAIoB,sBAAsB,CAACV,KAAK,CAAE9G,oBAAoB,CAACE,QAAQ,CAACE,WAAW,CAAC,CAAE,CAC5EmF,iBAAiB,CAACa,OAAO,CAAG,aAAa,CAC3C,CAEA,GAAIoB,sBAAsB,CAACV,KAAK,CAAE9G,oBAAoB,CAACE,QAAQ,CAACG,cAAc,CAAC,CAAE,CAC/EkF,iBAAiB,CAACa,OAAO,CAAG,gBAAgB,CAC9C,CAEA,GAAIoB,sBAAsB,CAACV,KAAK,CAAE9G,oBAAoB,CAACE,QAAQ,CAACI,kBAAkB,CAAC,CAAE,CACnFiF,iBAAiB,CAACa,OAAO,CAAG,oBAAoB,CAClD,CAEA,GAAIoB,sBAAsB,CAACV,KAAK,CAAE9G,oBAAoB,CAACE,QAAQ,CAACO,YAAY,CAAC,CAAE,CAC7E8E,iBAAiB,CAACa,OAAO,CAAG,cAAc,CAC5C,CACA,GAAIoB,sBAAsB,CAACV,KAAK,CAAE9G,oBAAoB,CAACE,QAAQ,CAACU,qBAAqB,CAAC,CAAE,CACtF2E,iBAAiB,CAACa,OAAO,CAAG,uBAAuB,CACrD,CACF,CACF,CAAC,CAAC,CAEF,IAAMqB,YAAY,CAAG7F,cAAK,CAAC8F,OAAO,CAChC,UAAO,CAAA,OAAA,CACLxG,MAAM,CAAEoF,cAAc,CACtBE,SAAS,CAATA,SAAS,CACTE,KAAK,CAALA,KAAK,CACLlE,eAAe,CAAfA,eAAe,CACfC,kBAAkB,CAAlBA,kBAAkB,CAClBG,sBAAsB,CAAtBA,sBAAsB,CACtBC,yBAAyB,CAAzBA,yBAAyB,CACzBb,OAAO,CAAPA,OAAO,CACPC,UAAU,CAAVA,UAAU,CACVG,cAAc,CAAdA,cAAc,CACdC,iBAAiB,CAAjBA,iBAAiB,CACjBW,WAAW,CAAXA,WAAW,CACXC,cAAc,CAAdA,cAAc,CACdG,cAAc,CAAdA,cAAc,CACdC,iBAAiB,CAAjBA,iBAAiB,CACjBqC,mBAAmB,CAAnBA,mBAAmB,CACnBlC,yBAAyB,CAAzBA,yBAAyB,CACzBC,4BAA4B,CAA5BA,4BAA4B,CAC5BW,gBAAgB,CAAhBA,gBAAgB,CAChBC,mBAAmB,CAAnBA,mBAAmB,CACnBuB,cAAc,CAAdA,cAAc,CACdR,YAAY,CAAZA,YAAY,CACZC,qBAAqB,CAArBA,qBAAqB,CACrBH,mBAAmB,CAAnBA,mBAAmB,CACnBI,iBAAiB,CAAjBA,iBAAiB,CACjBjE,aAAa,CAAbA,aAAa,CACbuC,eAAe,CAAfA,eAAe,CACfC,kBAAkB,CAAlBA,kBAAkB,CAClBG,uBAAuB,CAAvBA,uBAAuB,CACvBC,0BAA0B,CAA1BA,0BAA0B,CAC1BsB,iBAAiB,CAAEA,iBAAiB,CAACa,OAAO,CAC5C5B,uBAAuB,CAAvBA,uBAAuB,CACvBC,0BAA0B,CAA1BA,0BAA0B,CAC1BG,YAAY,CAAZA,YAAY,CACZC,eAAe,CAAfA,eAAe,CACfW,iBAAiB,CAAjBA,iBACF,CAAC,CAAA,CAAC,CAEF,CACEc,cAAc,CACdrF,gBAAgB,CAChBuB,eAAe,CACfI,sBAAsB,CACtBZ,OAAO,CACPI,cAAc,CACdY,WAAW,CACXI,cAAc,CACdI,yBAAyB,CACzBnC,aAAa,CACbuC,eAAe,CACfQ,gBAAgB,CAChBI,uBAAuB,CACvBI,YAAY,CAEhB,CAAC,CAED,IAAM+C,sCAAsC,CAAG/F,cAAK,CAAC8F,OAAO,CAAC,UAAyC,CACpG,OAAO,CACLxG,MAAM,CAAEoF,cAAc,CACtBtB,sBAAsB,CAAtBA,sBAAsB,CACtBhB,uBAAuB,CAAvBA,uBAAuB,CACvBiB,yBAAyB,CAAzBA,yBAAyB,CAGzB2C,oBAAoB,CAAElB,KACxB,CAAC,CACH,CAAC,CAAE,CAAC1B,sBAAsB,CAAEhB,uBAAuB,CAAEsC,cAAc,CAAEI,KAAK,CAAC,CAAC,CAE5E,OACEmB,GAAA,CAACC,iCAAiC,CAACC,QAAQ,EAACtC,KAAK,CAAEkC,sCAAuC,CAAA3G,QAAA,CACxF6G,GAAA,CAACG,eAAe,CAACD,QAAQ,CAAA,CAACtC,KAAK,CAAEgC,YAAa,CAAAzG,QAAA,CAC5C6G,GAAA,CAAC5H,OAAO,CAAAgI,MAAA,CAAAC,MAAA,CAENnH,CAAAA,GAAG,CAAEoH,SAAS,CAACpH,GAAG,CAAE4E,oBAA2B,CAAE,EAC7CyC,aAAa,CAAC,CAAEC,IAAI,CAAEC,aAAa,CAACC,QAAQ,CAAEjH,MAAM,CAANA,MAAO,CAAC,CAAC,CACvDkH,cAAc,CAAChH,IAAI,CAAC,CACpBiH,sBAAsB,CAACjH,IAAI,CAAC,EAChCkH,KAAK,CAAEnH,MAAO,CAAAP,QAAA,CAEd6G,GAAA,CAAC5H,OAAO,EAAC0I,QAAQ,CAAC,UAAU,CAACC,SAAS,CAAE,MAAgB,CAAA5H,QAAA,CACrDA,QAAQ,CACF,CAAC,CAAA,CACH,CAAC,CACc,CAAC,CACe,CAAC,CAEjD,CAAC,CAEK,IAAAuH,QAAQ,CAAGM,wBAAwB,CAACjH,cAAK,CAACkH,UAAU,CAACjI,SAAS,CAAC,CAAE,CACrEkI,WAAW,CAAE/I,oBAAoB,CAACuI,QACpC,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","__DEV__","_getComponentId","includes","getComponentId","throwBladeError","message","join","moduleName","isValidAllowedChildren","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","Object","assign","mergeRefs","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","makeAnalyticsAttribute","width","position","textAlign","assignWithoutSideEffects","forwardRef","componentId"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { getActionListContainerRole } from '../ActionList/getA11yRoles.js';
7
7
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
8
8
  import { jsx } from 'react/jsx-runtime';
9
9
 
10
- var _excluded=["children","icon","iconPosition","isDisabled","isFullWidth","isLoading","onClick","onBlur","onKeyDown","size","type","variant","accessibilityLabel","testID"];var _DropdownButton=function _DropdownButton(_ref){var children=_ref.children,icon=_ref.icon,_ref$iconPosition=_ref.iconPosition,iconPosition=_ref$iconPosition===void 0?'left':_ref$iconPosition,_ref$isDisabled=_ref.isDisabled,isDisabled=_ref$isDisabled===void 0?false:_ref$isDisabled,_ref$isFullWidth=_ref.isFullWidth,isFullWidth=_ref$isFullWidth===void 0?false:_ref$isFullWidth,_ref$isLoading=_ref.isLoading,isLoading=_ref$isLoading===void 0?false:_ref$isLoading,_onClick=_ref.onClick,_onBlur=_ref.onBlur,_onKeyDown=_ref.onKeyDown,_ref$size=_ref.size,size=_ref$size===void 0?'medium':_ref$size,_ref$type=_ref.type,type=_ref$type===void 0?'button':_ref$type,_ref$variant=_ref.variant,variant=_ref$variant===void 0?'primary':_ref$variant,accessibilityLabel=_ref.accessibilityLabel,testID=_ref.testID,rest=_objectWithoutProperties(_ref,_excluded);var _useDropdown=useDropdown(),onTriggerClick=_useDropdown.onTriggerClick,onTriggerKeydown=_useDropdown.onTriggerKeydown,dropdownBaseId=_useDropdown.dropdownBaseId,isOpen=_useDropdown.isOpen,activeIndex=_useDropdown.activeIndex,hasFooterAction=_useDropdown.hasFooterAction,triggererRef=_useDropdown.triggererRef;return jsx(BaseButton,Object.assign({},rest,icon?{icon:icon,children:children}:{children:children},{iconPosition:iconPosition,isDisabled:isDisabled,isFullWidth:isFullWidth,isLoading:isLoading,size:size,type:type,variant:variant,testID:testID,ref:triggererRef,accessibilityProps:{label:accessibilityLabel,hasPopup:getActionListContainerRole(hasFooterAction,'DropdownButton'),expanded:isOpen,controls:`${dropdownBaseId}-actionlist`,activeDescendant:activeIndex>=0?`${dropdownBaseId}-${activeIndex}`:undefined},onClick:function onClick(e){onTriggerClick();_onClick==null?void 0:_onClick(e);},onBlur:function onBlur(e){_onBlur==null?void 0:_onBlur(e);},onKeyDown:function onKeyDown(e){onTriggerKeydown==null?void 0:onTriggerKeydown({event:e});_onKeyDown==null?void 0:_onKeyDown(e);}}));};var DropdownButton=assignWithoutSideEffects(_DropdownButton,{componentId:dropdownComponentIds.triggers.DropdownButton});
10
+ var _excluded=["children","icon","iconPosition","isDisabled","isFullWidth","isLoading","onClick","onBlur","onKeyDown","size","type","variant","color","accessibilityLabel","testID"];var _DropdownButton=function _DropdownButton(_ref){var children=_ref.children,icon=_ref.icon,_ref$iconPosition=_ref.iconPosition,iconPosition=_ref$iconPosition===void 0?'left':_ref$iconPosition,_ref$isDisabled=_ref.isDisabled,isDisabled=_ref$isDisabled===void 0?false:_ref$isDisabled,_ref$isFullWidth=_ref.isFullWidth,isFullWidth=_ref$isFullWidth===void 0?false:_ref$isFullWidth,_ref$isLoading=_ref.isLoading,isLoading=_ref$isLoading===void 0?false:_ref$isLoading,_onClick=_ref.onClick,_onBlur=_ref.onBlur,_onKeyDown=_ref.onKeyDown,_ref$size=_ref.size,size=_ref$size===void 0?'medium':_ref$size,_ref$type=_ref.type,type=_ref$type===void 0?'button':_ref$type,_ref$variant=_ref.variant,variant=_ref$variant===void 0?'primary':_ref$variant,_ref$color=_ref.color,color=_ref$color===void 0?'primary':_ref$color,accessibilityLabel=_ref.accessibilityLabel,testID=_ref.testID,rest=_objectWithoutProperties(_ref,_excluded);var _useDropdown=useDropdown(),onTriggerClick=_useDropdown.onTriggerClick,onTriggerKeydown=_useDropdown.onTriggerKeydown,dropdownBaseId=_useDropdown.dropdownBaseId,isOpen=_useDropdown.isOpen,activeIndex=_useDropdown.activeIndex,hasFooterAction=_useDropdown.hasFooterAction,triggererRef=_useDropdown.triggererRef;return jsx(BaseButton,Object.assign({},rest,icon?{icon:icon,children:children}:{children:children},{iconPosition:iconPosition,isDisabled:isDisabled,isFullWidth:isFullWidth,isLoading:isLoading,size:size,type:type,variant:variant,testID:testID,ref:triggererRef,color:color,accessibilityProps:{label:accessibilityLabel,hasPopup:getActionListContainerRole(hasFooterAction,'DropdownButton'),expanded:isOpen,controls:`${dropdownBaseId}-actionlist`,activeDescendant:activeIndex>=0?`${dropdownBaseId}-${activeIndex}`:undefined},onClick:function onClick(e){onTriggerClick();_onClick==null?void 0:_onClick(e);},onBlur:function onBlur(e){_onBlur==null?void 0:_onBlur(e);},onKeyDown:function onKeyDown(e){onTriggerKeydown==null?void 0:onTriggerKeydown({event:e});_onKeyDown==null?void 0:_onKeyDown(e);}}));};var DropdownButton=assignWithoutSideEffects(_DropdownButton,{componentId:dropdownComponentIds.triggers.DropdownButton});
11
11
 
12
12
  export { DropdownButton };
13
13
  //# sourceMappingURL=DropdownButton.js.map